Skip to content

microsoft/pxt-blockly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blockly (Microsoft MakeCode fork)

This is a fork of Blockly, an open source visual programming environment. The fork is maintained by the Microsoft MakeCode team, and is used to power the blocks environment in PXT.

Major additions and changes in this fork:

Prerequisites

  • node, npm
  • python

Development

git clone https://github.com/google/closure-library
cd closure-library
git checkout v20180805
cd ../
git clone https://github.com/Microsoft/pxt-blockly
cd pxt-blockly
npm install .

Building

  • npm run build:core --closure-library to build blockly (install gulp if needed npm install -g gulp)

Update Blockly.d.ts

  • gulp typings to regenerate blockly.d.ts

Testing local changes in PXT

  • npm run pxt:test to generate the blockly-compressed, blocks-compressed, and typings files, and copy them to pxt-blockly
  • run gulp in pxt to rebuild the pxt blockly files
  • run pxt clean && pxt serve in the target directory (eg pxt-arcade, or pxt-minecraft)

This can be combined into one command (starting from the target directory):

cd ../pxt-blockly && npm run pxt:test && cd ../pxt && gulp && cd ../pxt-arcade && pxt clean && pxt serve --rb

Make sure you've checked out the correct closure-library (see above)

See more tips about pxt+pxt-blockly testing.

Updating pxt-blockly in PXT

  • gulp bump --closure-library to bump blockly version, commit, and tag.

  • After the Travis has deployed the package to npm, update the pxt-blockly version in package.json in the pxt repo.

Playground

There is a playground manual testing page at tests/playground.html, which requires no build step or server running.

License

The original Google/Blockly is licensed under Apache License (Version 2.0).

New code is licensed under MIT.