Commit graph

91 commits

Author SHA1 Message Date
Christopher Willis-Ford
dd20e09774 Extensions: escape HTML entities in default values
This prevents generation of invalid XML due to characters like '<' or
'>' in fields' default values. Unfortunately the value comes back in its
escaped form, so there's still more work to be done.
2017-10-04 13:00:45 -07:00
Christopher Willis-Ford
7fb7f0dc7b WIP Extension Manager
When asked to load an extension, the Extension Manager starts up a new
Worker. That worker runs the message dispatch system as well as an
instance of the new `ExtensionWorker` class, which will load the desired
extension and register it with the extension system.

Extensions, placed in `./src/extensions/*.js`, are now processed by
Webpack as separate entry points and packed into an `extensions`
subdirectory in the output.

Still to do: query an extension's information, including the blocks it
provides, and register that information with the VM, GUI, etc.
2017-09-06 00:57:03 -06:00
Ray Schamp
a4d634d84d Update lint dependencies 2017-08-26 13:24:05 -04:00
Christopher Willis-Ford
0fcc248ac1 Add tests for message dispatch system; fix bugs
The tests run using TinyWorker, which emulates web workers on Node.
There are quite a few quirks in that situation due to the differences
between Node and Webpack as well as the differences between TinyWorker
and real Web Workers.

The tests also exposed a few bugs in the dispatch system, which have now
been fixed. Most notably, if a method called through the dispatch system
throws an exception that exception will now be passed back to the
caller. Previously the exception would escape the dispatch system and
the caller would never hear any response at all.
2017-07-21 13:23:52 -07:00
Ray Schamp
3431fb39c8 Don't run prepublish on install 2017-06-27 09:28:56 -04:00
Ray Schamp
28dae39ddd Use stages instead of travis-after-all
Also, parallelize tap tests
2017-06-27 09:26:40 -04:00
Ray Schamp
908c34bcf4 Merge branch 'develop' into bugfix/npm-install 2017-06-14 17:04:19 -04:00
Ray Schamp
ecf535f4c3 Merge pull request #579 from cwillisf/load-jpeg-backdrops
Specify dataFormat when loading asset for import
2017-06-02 09:06:37 -04:00
Ray Schamp
467b747283 Bump scratch-storage version
Now 0.2.0 is the lowest compatible version.
2017-06-02 08:57:21 -04:00
Ray Schamp
d3a4a7b81a Pin to latest for 3.0 modules
Reverts #551

Pinning to `^0.1.0.prerelease.0` is not equivalent to `latest`, since has the effect of not installing the latest version on `npm install`, you have to also do `npm update`. This hurts us ergonomically on `npm install`, and doesn't help us since we already are releasing breaking changes on `prerelease`.
2017-06-01 12:31:24 -04:00
DD Liu
809760b954 Merge branch 'develop' into immutableState 2017-05-26 13:50:50 -04:00
Chris Willis-Ford
3970883e45 Merge pull request #549 from cwillisf/device-manager-client
Device manager client
2017-05-24 14:43:28 -07:00
DD Liu
66c8d9550d add dep to package.json 2017-05-19 12:42:37 -04:00
Ray Schamp
6c9701f4b2 Merge branch 'develop' into feature/serialization 2017-05-11 13:04:27 -04:00
Ray Schamp
620a4bd57b Require scratch-storage minimum version of 0.1.0
This gives us the caching behavior required for serialization
2017-05-11 12:47:06 -04:00
Christopher Willis-Ford
35d0544ce0 Respond to review comments
- Pin `got` and `socket-io.client`
- Finish removing `removeSocket`-related code
2017-05-05 10:37:29 -07:00
Christopher Willis-Ford
44ae4fed54 Minor-pin all Scratch 3.0 prerelease modules
Pin these modules to 0.*-prerelease.* to avoid problems when we
eventually bump to 1.x
2017-05-01 15:24:07 -07:00
Christopher Willis-Ford
f3c6be2881 Add an I/O device to represent the Device Manager 2017-04-28 13:40:13 -07:00
greenkeeper[bot]
1cb4c33178 chore(package): update babel-loader to version 7.0.0
https://greenkeeper.io/
2017-04-21 20:25:30 +00:00
greenkeeper[bot]
306e62b8b1 chore(package): update webpack to version 2.4.1
Closes #509

https://greenkeeper.io/
2017-04-20 19:26:03 -04:00
Ray Schamp
9be29439b1 Fix webpack for ES6 2017-04-17 19:55:34 -04:00
Chris Willis-Ford
3d7f1187e5 Merge branch 'develop' into use-scratch-storage 2017-03-13 15:48:21 -07:00
Ray Schamp
b03768cad6 Remove filter toolbox utility (#496)
* Revert "Merge pull request #486 from rschamp/fix-filter-tests"

This reverts commit ba00db897f, reversing
changes made to 739c5deb63.

* Revert "Show Categories that use custom code to load (variables, procedures) (#483)"

This reverts commit 739c5deb63.

* Revert "Merge pull request #461 from rschamp/filter-toolbox"

This reverts commit 343b5bfe8e, reversing
changes made to 370f2c6a47.
2017-03-09 16:41:06 -05:00
Christopher Willis-Ford
c23e9c6bf8 Load projects & costumes through scratch-storage
This also sets up the framework to load sounds through scratch-storage,
to be finished in a later change.
2017-03-09 11:25:55 -08:00
Ray Schamp
6ea9b54539 Add filterToolbox unit tests 2017-02-27 12:58:18 -05:00
Ray Schamp
ed4b0080b6 Use caret ranges for dev dependencies
These packages don't affect the output of the built package, so don't require a specific version. This should quiet Greenkeeper down a bit about our dependencies.
2017-02-20 17:15:50 -05:00
Ray Schamp
6fba4c61e3 Merge pull request #474 from LLK/greenkeeper/expose-loader-0.7.3
chore(package): update expose-loader to version 0.7.3
2017-02-20 16:45:05 -05:00
Ray Schamp
47953ab58f Merge pull request #475 from LLK/greenkeeper/webpack-dev-server-2.4.1
chore(package): update webpack-dev-server to version 2.4.1
2017-02-20 16:44:45 -05:00
Ray Schamp
bee8c8d50d Merge pull request #473 from LLK/greenkeeper/eslint-3.16.0
Update eslint to the latest version 🚀
2017-02-20 16:25:21 -05:00
greenkeeper[bot]
867d3c79f5 chore(package): update eslint to version 3.16.0
https://greenkeeper.io/
2017-02-20 16:37:01 +00:00
greenkeeper[bot]
0118a19cd5 chore(package): update webpack-dev-server to version 2.4.1
Closes #470

https://greenkeeper.io/
2017-02-19 22:15:28 +00:00
greenkeeper[bot]
d7bff34a66 chore(package): update tap to version 10.2.0
https://greenkeeper.io/
2017-02-19 01:19:16 +00:00
greenkeeper[bot]
9f364b93eb chore(package): update tap to version 10.1.2
https://greenkeeper.io/
2017-02-18 02:13:29 +00:00
greenkeeper[bot]
fba054cc68 chore(package): update tap to version 10.1.1
https://greenkeeper.io/
2017-02-14 19:26:13 +00:00
greenkeeper[bot]
a69950add4 chore(package): update expose-loader to version 0.7.3
Closes #454

https://greenkeeper.io/
2017-02-14 18:57:35 +00:00
Ray Schamp
292a930aa7 Merge pull request #429 from LLK/greenkeeper/webpack-dev-server-2.3.0
Update webpack-dev-server to the latest version 🚀
2017-02-09 16:30:05 -05:00
greenkeeper[bot]
c12cc25e5f chore(package): update tap to version 10.1.0
https://greenkeeper.io/
2017-02-07 23:35:36 +00:00
greenkeeper[bot]
284357941b chore(package): update eslint to version 3.15.0
https://greenkeeper.io/
2017-02-03 22:04:26 +00:00
greenkeeper[bot]
30cdef5782 chore(package): update webpack-dev-server to version 2.3.0
https://greenkeeper.io/
2017-02-03 15:13:39 +00:00
greenkeeper[bot]
7612a46c61 chore(package): update tap to version 10.0.2
https://greenkeeper.io/
2017-02-02 23:33:29 +00:00
greenkeeper[bot]
6ca8814a2f chore(package): update tap to version 10.0.1
https://greenkeeper.io/
2017-02-02 06:26:51 +00:00
Ray Schamp
a6568c4bf2 Update webpack config for webpack 2
* `module.loaders` -> `module.rules`
* loaders need `-loader` suffix
* `json-loader` is enabled by default
* `UglifyJsPlugin`'s `compress.warning` setting is false by default
2017-02-01 16:27:55 -05:00
greenkeeper[bot]
82acfddeb5 chore(package): update dependencies
https://greenkeeper.io/
2017-02-01 15:19:46 +00:00
Chris Willis-Ford
9b04392211 Move build outputs into a dist/ subdirectory (#375)
* Move Node output: /dist.js => /dist/node/scratch-vm.js
* Move web output: /vm{.js,.min.js} => /dist/web/scratch-vm{.js,.min.js}
* Update build output references in package.json and the playground's index.html
* Move the VirtualMachine class out of index.js into its own file, referenced by index.js. The VirtualMachine class is otherwise unchanged.
* Add .gitattributes rules for new file types which were added to this repository without specifying their text/binary attributes
* Turn on source maps in webpack and add corresponding .gitignore rule
2017-01-13 13:34:26 -08:00
Eric Rosenbaum
dc9126e067 Merge pull request #373 from ericrosenbaum/sound
Integrate audio engine
2017-01-06 16:28:09 -05:00
Eric Rosenbaum
e1b6479e67 fix name of scratch-audio dependency 2017-01-06 15:18:30 -05:00
Andrew Sliwinski
dfc6614a5b Build out integration test SB2 files 2016-12-23 21:08:13 -05:00
Eric Rosenbaum
f2793a1d59 Merge branch 'develop' of https://github.com/LLK/scratch-vm into sound
# Conflicts:
#	package.json
#	src/engine/runtime.js
#	src/sprites/clone.js
2016-12-21 15:29:57 -05:00
Ray Schamp
867c08b495 Include dotfiles in gh-pages, so .nojekyll works 2016-11-10 14:31:45 -05:00
Ray Schamp
084148e353 Fix path to .nojekyll
The path on scratch-gui which this was copied from is different than the one for scratch-vm.
2016-11-09 13:41:57 -05:00