Commit Graph
11390 Commits
Author SHA1 Message Date
Ray Schamp dc626b13c0 Adjust env for root vs src
node relevant at the root, but not in src. Broser relevant in src, but not in root.
2016-10-23 16:29:22 -04:00
Ray Schamp 5b7c557f89 Fix JSDoc return statements
null !== undefined
2016-10-23 16:25:33 -04:00
Ray Schamp 0bc0f3ae39 Only lint for React/ES6 in src 2016-10-23 11:53:17 -04:00
Ray Schamp 3113f31f46 Add shapeFromPropTypes utility for passed props 2016-10-22 11:44:26 -04:00
Ray Schamp 767721be14 All the rest of the linting 2016-10-22 11:44:23 -04:00
Ray Schamp 7f9d9729c6 Lint: JS -> JSX 2016-10-22 11:07:29 -04:00
Ray Schamp ed63d5250b Update eslint to use shared eslint-config-scratch 2016-10-22 10:58:51 -04:00
Ray Schamp 547ed5599e Merge pull request #8 from rschamp/react-peers
Pin React devDependencies, add peerDependencies
2016-10-21 12:14:02 -04:00
Ray Schamp 534feb9fc2 Pin React devDependencies, add peerDependencies
When the package is installed as a dependency, it should warn the installer that React is a peerDependency.  When installed this way, the devDependencies won't be installed, so only one version of React will be present. However when it's installed as a standalone project, React should be installed automatically as a devDependency.

I think this gives us the best of both worlds — simple development setup as well as supporting usage as an installed package.
2016-10-21 10:57:37 -04:00
Tim Mickel 13efe77bcb Merge pull request #7 from tmickel/feature/libraries
Initial rough sprite/costume/backdrop libraries
2016-10-21 09:54:41 -04:00
Tim Mickel 7fcf71ddea NL for library item 2016-10-20 13:47:43 -04:00
Tim Mickel bd900a937c Fix merge duplication of package.json 2016-10-20 13:46:52 -04:00
Tim Mickel 9cc4dcf48f Fix id for selected item, return when CostumeCanvas draw fails 2016-10-20 13:44:16 -04:00
Tim Mickel bd22602aa7 Fix the props situation 2016-10-20 13:41:14 -04:00
Tim Mickel 7d36701998 Add defaults for library props 2016-10-20 13:34:06 -04:00
Tim Mickel 7c5cecb67f Return the library item object 2016-10-20 13:32:37 -04:00
Tim Mickel 14afd85197 bindAll throughout 2016-10-20 13:31:48 -04:00
Tim Mickel a6bdf09ba6 Various nits 2016-10-20 13:29:00 -04:00
Tim Mickel ee72f23f7b Idiomatic "map" 2016-10-20 13:26:09 -04:00
Tim Mickel 93645ea7e6 CostumeCanvas nits 2016-10-20 13:24:27 -04:00
Tim Mickel 7a675cd82f Merge branch 'master' into feature/libraries
# Conflicts:
#	package.json
#	src/containers/gui.js
2016-10-20 13:10:23 -04:00
Tim Mickel 41c1765242 Initial rough sprite/costume/backdrop libraries 2016-10-19 18:03:42 -04:00
Ray Schamp b1c14cc329 Apply props-passing pattern to all components 2016-10-19 10:23:25 -04:00
Ray Schamp 91e149d51b Allow overriding GUI children 2016-10-19 10:22:06 -04:00
Ray Schamp c1aa2a7e24 Omit projectData from passed props in GUI 2016-10-19 10:21:11 -04:00
Ray Schamp a608d4a23f Update deploy script to match vm
Makes local deployment easier
2016-10-19 09:31:46 -04:00
Ray Schamp 8e5fe959ff Allow configuration of GUI subcomponent props
So that you can adjust them without redefining the entire GUI.
Also allow adjusting props passed to GUIComponent.
2016-10-19 09:26:30 -04:00
Ray Schamp 5fdfdfd56c Allow Blocks and Stage to provide a default VM
So that it's easier to use these standalone.
2016-10-19 09:25:10 -04:00
Ray Schamp 07f5cb4995 Fix scratch-* dependency version updates
`npm update` does what we want and is less hacky than removing the packages entirely first.  Specify latest as the version so we always get the latest version even though I erroneously installed scratch-blocks@0.1.0.
2016-10-19 08:36:23 -04:00
Ray Schamp 111209acd4 Add .gitattributes so eslint can run on Windows 2016-10-18 09:40:17 -04:00
Ray Schamp c2b5c10a33 Move animate timer to Stage component
And use instanceOf for the vm prop type
2016-10-17 16:06:57 -04:00
Ray Schamp 68c0adf90b Account for null editingTarget 2016-10-17 13:58:34 -04:00
Ray Schamp 977aab8218 Fix SpriteSelector value propType 2016-10-17 13:57:41 -04:00
Ray Schamp 8a083cd658 Fix default port config 2016-10-17 11:04:54 -04:00
Ray Schamp 4ba4f21bac Opt in to git hooks 2016-10-17 00:07:46 -04:00
Ray Schamp 49d00636e7 Add git hooks to avoid pushing broken builds 2016-10-16 23:53:05 -04:00
Ray Schamp 75291e4ffe Move Makefile into npm scripts 2016-10-16 23:47:20 -04:00
Ray Schamp 46ded31280 Lint 2016-10-16 23:34:14 -04:00
Ray Schamp fa52102b77 Container/presentation refactor
Move behavior-related components to "containers", leave presentation components in "components".
2016-10-16 20:18:22 -04:00
Ray Schamp 716c979d0f Recoupling refactor
Confine the logic for adding/removing event listeners between the VM and the components to the relevant components.  While this tightens the coupling between the component and the environment, it makes using the individual components more self-contained.
2016-10-16 19:03:54 -04:00
Ray Schamp 51d5b7a992 Decoupling refactor
Use fewer refs, these had weird behavior that caused the order of components to matter.
Attach events eagerly, as soon as the necessary objects are available.
Make VMManager an actual class instantiated with a VM so we don't have to pass it to every method.
Use bindAll everywhere for convenience.
2016-10-14 00:37:48 -04:00
Tim Mickel 571eaa050a Merge pull request #4 from tmickel/feature/attach-flyout-listeners
Attach flyout listeners to GUI workspace
2016-10-13 17:57:01 -04:00
Tim Mickel 28e90eb914 Attach flyout listeners to GUI workspace 2016-10-13 17:27:47 -04:00
Tim Mickel 2677e221bb Merge pull request #3 from tmickel/feature/toolbox-default
Use default toolbox from scratch-blocks
2016-10-13 17:05:39 -04:00
Ray Schamp edd09fa48a Install React as a dev dependency
Once another project uses this package, these should become peerDependencies.  Until then install automatically.
2016-10-13 16:48:40 -04:00
Tim Mickel ea8dc56a2a Use default toolbox from scratch-blocks 2016-10-13 14:45:59 -04:00
Ray Schamp 7f51b9bfd4 Build with latest scratch-* dependencies 2016-10-13 11:23:53 -04:00
Ray Schamp 54548b5c0b Update project on hash change
While doing so:
- Use ProjectLoader for loading projects
- Stop using loadEmptyProject and supply empty project data
- Move project loading to App, GUI now receives data (as a string - the vm should receive an object eventually)
- Add logging
2016-10-12 23:22:15 -04:00
Eric Rosenbaum c17709a765 lint 2016-10-12 17:00:20 -04:00
Eric Rosenbaum dbce6507a8 update toolbox for new scratch-blocks 2016-10-12 16:41:05 -04:00