This is part of #5153 but is being prioritised because we want remove the declareLegacyNamespace calls from the core/utils/*.js modules and then reexport them explicitly via utils.js, and it turns out that doing so results in the exports object of this module being passed to Object.freeze - which fails on the global object, which can't be made non-extensible! The new name chosen for the former default export is globalThis, since it is intended to have the same value as the global variable of that name; see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis
Blockly
Google's Blockly is a web-based, visual programming editor. Users can drag blocks together to build programs. All code is free and open source.
The source for this module is in the Blockly repo.
Installation
You can install this package either via npm or unpkg.
npm
npm install blockly
unpkg
<script src="https://unpkg.com/blockly/blockly.min.js"></script>
Example Usage
import Blockly from 'blockly';
Blockly.inject('blocklyDiv', {
...
})
Samples
For samples on how to integrate Blockly into your project, view the list of samples at blockly-samples.
Importing Blockly
When you import Blockly with import * as Blockly from 'blockly'; you'll get the default modules:
Blockly core, Blockly built-in blocks, the JavaScript generator and the English lang files.
If you need more flexibility, you'll want to define your imports more carefully:
Blockly Core
import * as Blockly from 'blockly/core';
Blockly built in blocks
import 'blockly/blocks';
Blockly Generators
If your application needs to generate code from the Blockly blocks, you'll want to include a generator.
import 'blockly/python';
to include the Python generator, you can also import blockly/javascript, blockly/php, blockly/dart and blockly/lua.
Blockly Languages
import * as Fr from 'blockly/msg/fr';
Blockly.setLocale(Fr);
To import the French lang files. Once you've imported the specific lang module, you'll also want to set the locale in Blockly.
For a full list of supported Blockly locales, see: https://github.com/google/blockly/tree/master/msg/js
License
Apache 2.0