diff --git a/generators/dart.js b/generators/dart.js index 964d9ae80..bff1476e6 100644 --- a/generators/dart.js +++ b/generators/dart.js @@ -8,17 +8,17 @@ * @fileoverview Helper functions for generating Dart for blocks. * @suppress {checkTypes|globalThis} */ -'use strict'; -goog.module('Blockly.Dart'); +import * as goog from '../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart'); -const Variables = goog.require('Blockly.Variables'); -const stringUtils = goog.require('Blockly.utils.string'); -const {Block} = goog.requireType('Blockly.Block'); -const {CodeGenerator} = goog.require('Blockly.CodeGenerator'); -const {Names, NameType} = goog.require('Blockly.Names'); -const {Workspace} = goog.requireType('Blockly.Workspace'); -const {inputTypes} = goog.require('Blockly.inputTypes'); +import * as Variables from '../core/variables.js'; +import * as stringUtils from '../core/utils/string.js'; +// import type {Block} from '../core/block.js'; +import {CodeGenerator} from '../core/generator.js'; +import {Names, NameType} from '../core/names.js'; +// import type {Workspace} from '../core/workspace.js'; +import {inputTypes} from '../core/inputs/input_types.js'; /** @@ -299,5 +299,4 @@ Dart.getAdjusted = function(block, atId, opt_delta, opt_negate, } return at; }; - -exports.dartGenerator = Dart; +export {Dart as dartGenerator}; diff --git a/generators/dart/all.js b/generators/dart/all.js index ffd726a26..6902d882b 100644 --- a/generators/dart/all.js +++ b/generators/dart/all.js @@ -9,19 +9,18 @@ * blocks. This is the entrypoint for dart_compressed.js. * @suppress {extraRequire} */ -'use strict'; -goog.module('Blockly.Dart.all'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart.all'); -const moduleExports = goog.require('Blockly.Dart'); -goog.require('Blockly.Dart.colour'); -goog.require('Blockly.Dart.lists'); -goog.require('Blockly.Dart.logic'); -goog.require('Blockly.Dart.loops'); -goog.require('Blockly.Dart.math'); -goog.require('Blockly.Dart.procedures'); -goog.require('Blockly.Dart.texts'); -goog.require('Blockly.Dart.variables'); -goog.require('Blockly.Dart.variablesDynamic'); +import './colour.js'; +import './lists.js'; +import './logic.js'; +import './loops.js'; +import './math.js'; +import './procedures.js'; +import './text.js'; +import './variables.js'; +import './variables_dynamic.js'; -exports = moduleExports; +export * from '../dart.js'; diff --git a/generators/dart/colour.js b/generators/dart/colour.js index 324fe65c4..b3bbc732a 100644 --- a/generators/dart/colour.js +++ b/generators/dart/colour.js @@ -7,11 +7,11 @@ /** * @fileoverview Generating Dart for colour blocks. */ -'use strict'; -goog.module('Blockly.Dart.colour'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart.colour'); -const {dartGenerator: Dart} = goog.require('Blockly.Dart'); +import {dartGenerator as Dart} from '../dart.js'; Dart.addReservedWords('Math'); diff --git a/generators/dart/lists.js b/generators/dart/lists.js index 28fc9bd89..97b3c1f18 100644 --- a/generators/dart/lists.js +++ b/generators/dart/lists.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Dart for list blocks. */ -'use strict'; -goog.module('Blockly.Dart.lists'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart.lists'); -const {NameType} = goog.require('Blockly.Names'); -const {dartGenerator: Dart} = goog.require('Blockly.Dart'); +import {NameType} from '../../core/names.js'; +import {dartGenerator as Dart} from '../dart.js'; Dart.addReservedWords('Math'); diff --git a/generators/dart/logic.js b/generators/dart/logic.js index 4fa117987..02c6ad7d6 100644 --- a/generators/dart/logic.js +++ b/generators/dart/logic.js @@ -7,11 +7,11 @@ /** * @fileoverview Generating Dart for logic blocks. */ -'use strict'; -goog.module('Blockly.Dart.logic'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart.logic'); -const {dartGenerator: Dart} = goog.require('Blockly.Dart'); +import {dartGenerator as Dart} from '../dart.js'; Dart['controls_if'] = function(block) { diff --git a/generators/dart/loops.js b/generators/dart/loops.js index ce66c2d33..fec90cda2 100644 --- a/generators/dart/loops.js +++ b/generators/dart/loops.js @@ -7,13 +7,13 @@ /** * @fileoverview Generating Dart for loop blocks. */ -'use strict'; -goog.module('Blockly.Dart.loops'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart.loops'); -const {dartGenerator: Dart} = goog.require('Blockly.Dart'); -const stringUtils = goog.require('Blockly.utils.string'); -const {NameType} = goog.require('Blockly.Names'); +import {dartGenerator as Dart} from '../dart.js'; +import * as stringUtils from '../../core/utils/string.js'; +import {NameType} from '../../core/names.js'; Dart['controls_repeat_ext'] = function(block) { diff --git a/generators/dart/math.js b/generators/dart/math.js index 81580c213..76c9001c0 100644 --- a/generators/dart/math.js +++ b/generators/dart/math.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Dart for math blocks. */ -'use strict'; -goog.module('Blockly.Dart.math'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart.math'); -const {NameType} = goog.require('Blockly.Names'); -const {dartGenerator: Dart} = goog.require('Blockly.Dart'); +import {NameType} from '../../core/names.js'; +import {dartGenerator as Dart} from '../dart.js'; Dart.addReservedWords('Math'); diff --git a/generators/dart/procedures.js b/generators/dart/procedures.js index bf877277e..c9d9f2958 100644 --- a/generators/dart/procedures.js +++ b/generators/dart/procedures.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Dart for procedure blocks. */ -'use strict'; -goog.module('Blockly.Dart.procedures'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart.procedures'); -const {NameType} = goog.require('Blockly.Names'); -const {dartGenerator: Dart} = goog.require('Blockly.Dart'); +import {NameType} from '../../core/names.js'; +import {dartGenerator as Dart} from '../dart.js'; Dart['procedures_defreturn'] = function(block) { diff --git a/generators/dart/text.js b/generators/dart/text.js index b611f0d8b..74966daf8 100644 --- a/generators/dart/text.js +++ b/generators/dart/text.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Dart for text blocks. */ -'use strict'; -goog.module('Blockly.Dart.texts'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart.texts'); -const {NameType} = goog.require('Blockly.Names'); -const {dartGenerator: Dart} = goog.require('Blockly.Dart'); +import {NameType} from '../../core/names.js'; +import {dartGenerator as Dart} from '../dart.js'; Dart.addReservedWords('Html,Math'); diff --git a/generators/dart/variables.js b/generators/dart/variables.js index 33e314764..462ba0d4f 100644 --- a/generators/dart/variables.js +++ b/generators/dart/variables.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Dart for variable blocks. */ -'use strict'; -goog.module('Blockly.Dart.variables'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart.variables'); -const {NameType} = goog.require('Blockly.Names'); -const {dartGenerator: Dart} = goog.require('Blockly.Dart'); +import {NameType} from '../../core/names.js'; +import {dartGenerator as Dart} from '../dart.js'; Dart['variables_get'] = function(block) { diff --git a/generators/dart/variables_dynamic.js b/generators/dart/variables_dynamic.js index 50bfdb620..9fe63c476 100644 --- a/generators/dart/variables_dynamic.js +++ b/generators/dart/variables_dynamic.js @@ -7,13 +7,12 @@ /** * @fileoverview Generating Dart for dynamic variable blocks. */ -'use strict'; -goog.module('Blockly.Dart.variablesDynamic'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Dart.variablesDynamic'); -const {dartGenerator: Dart} = goog.require('Blockly.Dart'); -/** @suppress {extraRequire} */ -goog.require('Blockly.Dart.variables'); +import {dartGenerator as Dart} from '../dart.js'; +import './variables.js'; // Dart is dynamically typed. diff --git a/generators/javascript.js b/generators/javascript.js index c3e6aa90e..ce259657f 100644 --- a/generators/javascript.js +++ b/generators/javascript.js @@ -8,17 +8,17 @@ * @fileoverview Helper functions for generating JavaScript for blocks. * @suppress {checkTypes|globalThis} */ -'use strict'; -goog.module('Blockly.JavaScript'); +import * as goog from '../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript'); -const Variables = goog.require('Blockly.Variables'); -const stringUtils = goog.require('Blockly.utils.string'); -const {Block} = goog.requireType('Blockly.Block'); -const {CodeGenerator} = goog.require('Blockly.CodeGenerator'); -const {inputTypes} = goog.require('Blockly.inputTypes'); -const {Names, NameType} = goog.require('Blockly.Names'); -const {Workspace} = goog.requireType('Blockly.Workspace'); +import * as Variables from '../core/variables.js'; +import * as stringUtils from '../core/utils/string.js'; +// import type {Block} from '../core/block.js'; +import {CodeGenerator} from '../core/generator.js'; +import {inputTypes} from '../core/inputs/input_types.js'; +import {Names, NameType} from '../core/names.js'; +// import type {Workspace} from '../core/workspace.js'; /** @@ -317,5 +317,4 @@ JavaScript.getAdjusted = function( } return at; }; - -exports.javascriptGenerator = JavaScript; +export {JavaScript as javascriptGenerator}; diff --git a/generators/javascript/all.js b/generators/javascript/all.js index 1ffbd3de8..430a8d86f 100644 --- a/generators/javascript/all.js +++ b/generators/javascript/all.js @@ -9,19 +9,18 @@ * blocks. This is the entrypoint for javascript_compressed.js. * @suppress {extraRequire} */ -'use strict'; -goog.module('Blockly.JavaScript.all'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript.all'); -const moduleExports = goog.require('Blockly.JavaScript'); -goog.require('Blockly.JavaScript.colour'); -goog.require('Blockly.JavaScript.lists'); -goog.require('Blockly.JavaScript.logic'); -goog.require('Blockly.JavaScript.loops'); -goog.require('Blockly.JavaScript.math'); -goog.require('Blockly.JavaScript.procedures'); -goog.require('Blockly.JavaScript.texts'); -goog.require('Blockly.JavaScript.variables'); -goog.require('Blockly.JavaScript.variablesDynamic'); +import './colour.js'; +import './lists.js'; +import './logic.js'; +import './loops.js'; +import './math.js'; +import './procedures.js'; +import './text.js'; +import './variables.js'; +import './variables_dynamic.js'; -exports = moduleExports; +export * from '../javascript.js'; diff --git a/generators/javascript/colour.js b/generators/javascript/colour.js index 944a4bb1a..e4c0c5598 100644 --- a/generators/javascript/colour.js +++ b/generators/javascript/colour.js @@ -7,11 +7,11 @@ /** * @fileoverview Generating JavaScript for colour blocks. */ -'use strict'; -goog.module('Blockly.JavaScript.colour'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript.colour'); -const {javascriptGenerator: JavaScript} = goog.require('Blockly.JavaScript'); +import {javascriptGenerator as JavaScript} from '../javascript.js'; JavaScript['colour_picker'] = function(block) { diff --git a/generators/javascript/lists.js b/generators/javascript/lists.js index c2845d439..2dbdb62b8 100644 --- a/generators/javascript/lists.js +++ b/generators/javascript/lists.js @@ -8,12 +8,12 @@ * @fileoverview Generating JavaScript for list blocks. * @suppress {missingRequire} */ -'use strict'; -goog.module('Blockly.JavaScript.lists'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript.lists'); -const {NameType} = goog.require('Blockly.Names'); -const {javascriptGenerator: JavaScript} = goog.require('Blockly.JavaScript'); +import {NameType} from '../../core/names.js'; +import {javascriptGenerator as JavaScript} from '../javascript.js'; JavaScript['lists_create_empty'] = function(block) { diff --git a/generators/javascript/logic.js b/generators/javascript/logic.js index 0933b0d7c..fa944dee2 100644 --- a/generators/javascript/logic.js +++ b/generators/javascript/logic.js @@ -7,11 +7,11 @@ /** * @fileoverview Generating JavaScript for logic blocks. */ -'use strict'; -goog.module('Blockly.JavaScript.logic'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript.logic'); -const {javascriptGenerator: JavaScript} = goog.require('Blockly.JavaScript'); +import {javascriptGenerator as JavaScript} from '../javascript.js'; JavaScript['controls_if'] = function(block) { diff --git a/generators/javascript/loops.js b/generators/javascript/loops.js index dd710cbeb..76ef6ec7e 100644 --- a/generators/javascript/loops.js +++ b/generators/javascript/loops.js @@ -7,13 +7,13 @@ /** * @fileoverview Generating JavaScript for loop blocks. */ -'use strict'; -goog.module('Blockly.JavaScript.loops'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript.loops'); -const stringUtils = goog.require('Blockly.utils.string'); -const {NameType} = goog.require('Blockly.Names'); -const {javascriptGenerator: JavaScript} = goog.require('Blockly.JavaScript'); +import * as stringUtils from '../../core/utils/string.js'; +import {NameType} from '../../core/names.js'; +import {javascriptGenerator as JavaScript} from '../javascript.js'; JavaScript['controls_repeat_ext'] = function(block) { diff --git a/generators/javascript/math.js b/generators/javascript/math.js index ba4a1a129..0007bf14c 100644 --- a/generators/javascript/math.js +++ b/generators/javascript/math.js @@ -8,12 +8,12 @@ * @fileoverview Generating JavaScript for math blocks. * @suppress {missingRequire} */ -'use strict'; -goog.module('Blockly.JavaScript.math'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript.math'); -const {NameType} = goog.require('Blockly.Names'); -const {javascriptGenerator: JavaScript} = goog.require('Blockly.JavaScript'); +import {NameType} from '../../core/names.js'; +import {javascriptGenerator as JavaScript} from '../javascript.js'; JavaScript['math_number'] = function(block) { diff --git a/generators/javascript/procedures.js b/generators/javascript/procedures.js index e47e490f4..2e9fa91a0 100644 --- a/generators/javascript/procedures.js +++ b/generators/javascript/procedures.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating JavaScript for procedure blocks. */ -'use strict'; -goog.module('Blockly.JavaScript.procedures'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript.procedures'); -const {NameType} = goog.require('Blockly.Names'); -const {javascriptGenerator: JavaScript} = goog.require('Blockly.JavaScript'); +import {NameType} from '../../core/names.js'; +import {javascriptGenerator as JavaScript} from '../javascript.js'; JavaScript['procedures_defreturn'] = function(block) { diff --git a/generators/javascript/text.js b/generators/javascript/text.js index 270c51368..9e2cb43e1 100644 --- a/generators/javascript/text.js +++ b/generators/javascript/text.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating JavaScript for text blocks. */ -'use strict'; -goog.module('Blockly.JavaScript.texts'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript.texts'); -const {NameType} = goog.require('Blockly.Names'); -const {javascriptGenerator: JavaScript} = goog.require('Blockly.JavaScript'); +import {NameType} from '../../core/names.js'; +import {javascriptGenerator as JavaScript} from '../javascript.js'; /** diff --git a/generators/javascript/variables.js b/generators/javascript/variables.js index 8ade01244..14e9b004b 100644 --- a/generators/javascript/variables.js +++ b/generators/javascript/variables.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating JavaScript for variable blocks. */ -'use strict'; -goog.module('Blockly.JavaScript.variables'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript.variables'); -const {NameType} = goog.require('Blockly.Names'); -const {javascriptGenerator: JavaScript} = goog.require('Blockly.JavaScript'); +import {NameType} from '../../core/names.js'; +import {javascriptGenerator as JavaScript} from '../javascript.js'; JavaScript['variables_get'] = function(block) { diff --git a/generators/javascript/variables_dynamic.js b/generators/javascript/variables_dynamic.js index c84dfe58d..07c29cd26 100644 --- a/generators/javascript/variables_dynamic.js +++ b/generators/javascript/variables_dynamic.js @@ -7,13 +7,12 @@ /** * @fileoverview Generating JavaScript for dynamic variable blocks. */ -'use strict'; -goog.module('Blockly.JavaScript.variablesDynamic'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.JavaScript.variablesDynamic'); -const {javascriptGenerator: JavaScript} = goog.require('Blockly.JavaScript'); -/** @suppress {extraRequire} */ -goog.require('Blockly.JavaScript.variables'); +import {javascriptGenerator as JavaScript} from '../javascript.js'; +import './variables.js'; // JavaScript is dynamically typed. diff --git a/generators/lua.js b/generators/lua.js index 2409c3355..bee88de91 100644 --- a/generators/lua.js +++ b/generators/lua.js @@ -9,16 +9,16 @@ * Based on Ellen Spertus's blocky-lua project. * @suppress {checkTypes|globalThis} */ -'use strict'; -goog.module('Blockly.Lua'); +import * as goog from '../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua'); -const stringUtils = goog.require('Blockly.utils.string'); -const {Block} = goog.requireType('Blockly.Block'); -const {CodeGenerator} = goog.require('Blockly.CodeGenerator'); -const {inputTypes} = goog.require('Blockly.inputTypes'); -const {Names} = goog.require('Blockly.Names'); -const {Workspace} = goog.requireType('Blockly.Workspace'); +import * as stringUtils from '../core/utils/string.js'; +// import type {Block} from '../core/block.js'; +import {CodeGenerator} from '../core/generator.js'; +import {inputTypes} from '../core/inputs/input_types.js'; +import {Names} from '../core/names.js'; +// import type {Workspace} from '../core/workspace.js'; /** @@ -201,5 +201,4 @@ Lua.scrub_ = function(block, code, opt_thisOnly) { const nextCode = opt_thisOnly ? '' : this.blockToCode(nextBlock); return commentCode + code + nextCode; }; - -exports.luaGenerator = Lua; +export {Lua as luaGenerator}; diff --git a/generators/lua/all.js b/generators/lua/all.js index 7f3bc7581..0607d5c3e 100644 --- a/generators/lua/all.js +++ b/generators/lua/all.js @@ -9,19 +9,18 @@ * blocks. This is the entrypoint for lua_compressed.js. * @suppress {extraRequire} */ -'use strict'; -goog.module('Blockly.Lua.all'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua.all'); -const moduleExports = goog.require('Blockly.Lua'); -goog.require('Blockly.Lua.colour'); -goog.require('Blockly.Lua.lists'); -goog.require('Blockly.Lua.logic'); -goog.require('Blockly.Lua.loops'); -goog.require('Blockly.Lua.math'); -goog.require('Blockly.Lua.procedures'); -goog.require('Blockly.Lua.texts'); -goog.require('Blockly.Lua.variables'); -goog.require('Blockly.Lua.variablesDynamic'); +import './colour.js'; +import './lists.js'; +import './logic.js'; +import './loops.js'; +import './math.js'; +import './procedures.js'; +import './text.js'; +import './variables.js'; +import './variables_dynamic.js'; -exports = moduleExports; +export * from '../lua.js'; diff --git a/generators/lua/colour.js b/generators/lua/colour.js index be3825ae5..52ad3bd98 100644 --- a/generators/lua/colour.js +++ b/generators/lua/colour.js @@ -7,11 +7,11 @@ /** * @fileoverview Generating Lua for colour blocks. */ -'use strict'; -goog.module('Blockly.Lua.colour'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua.colour'); -const {luaGenerator: Lua} = goog.require('Blockly.Lua'); +import {luaGenerator as Lua} from '../lua.js'; Lua['colour_picker'] = function(block) { diff --git a/generators/lua/lists.js b/generators/lua/lists.js index b67f9033c..dd6e66ef5 100644 --- a/generators/lua/lists.js +++ b/generators/lua/lists.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Lua for list blocks. */ -'use strict'; -goog.module('Blockly.Lua.lists'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua.lists'); -const {NameType} = goog.require('Blockly.Names'); -const {luaGenerator: Lua} = goog.require('Blockly.Lua'); +import {NameType} from '../../core/names.js'; +import {luaGenerator as Lua} from '../lua.js'; Lua['lists_create_empty'] = function(block) { diff --git a/generators/lua/logic.js b/generators/lua/logic.js index 53adbeb2b..e0503052d 100644 --- a/generators/lua/logic.js +++ b/generators/lua/logic.js @@ -7,11 +7,11 @@ /** * @fileoverview Generating Lua for logic blocks. */ -'use strict'; -goog.module('Blockly.Lua.logic'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua.logic'); -const {luaGenerator: Lua} = goog.require('Blockly.Lua'); +import {luaGenerator as Lua} from '../lua.js'; Lua['controls_if'] = function(block) { diff --git a/generators/lua/loops.js b/generators/lua/loops.js index 525f1a7d3..7fb8536be 100644 --- a/generators/lua/loops.js +++ b/generators/lua/loops.js @@ -7,13 +7,13 @@ /** * @fileoverview Generating Lua for loop blocks. */ -'use strict'; -goog.module('Blockly.Lua.loops'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua.loops'); -const stringUtils = goog.require('Blockly.utils.string'); -const {NameType} = goog.require('Blockly.Names'); -const {luaGenerator: Lua} = goog.require('Blockly.Lua'); +import * as stringUtils from '../../core/utils/string.js'; +import {NameType} from '../../core/names.js'; +import {luaGenerator as Lua} from '../lua.js'; /** diff --git a/generators/lua/math.js b/generators/lua/math.js index e14243ed3..b613e9767 100644 --- a/generators/lua/math.js +++ b/generators/lua/math.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Lua for math blocks. */ -'use strict'; -goog.module('Blockly.Lua.math'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua.math'); -const {NameType} = goog.require('Blockly.Names'); -const {luaGenerator: Lua} = goog.require('Blockly.Lua'); +import {NameType} from '../../core/names.js'; +import {luaGenerator as Lua} from '../lua.js'; Lua['math_number'] = function(block) { diff --git a/generators/lua/procedures.js b/generators/lua/procedures.js index a204855a7..231c583cd 100644 --- a/generators/lua/procedures.js +++ b/generators/lua/procedures.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Lua for procedure blocks. */ -'use strict'; -goog.module('Blockly.Lua.procedures'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua.procedures'); -const {NameType} = goog.require('Blockly.Names'); -const {luaGenerator: Lua} = goog.require('Blockly.Lua'); +import {NameType} from '../../core/names.js'; +import {luaGenerator as Lua} from '../lua.js'; Lua['procedures_defreturn'] = function(block) { diff --git a/generators/lua/text.js b/generators/lua/text.js index 9dcc08b3b..5e3b05720 100644 --- a/generators/lua/text.js +++ b/generators/lua/text.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Lua for text blocks. */ -'use strict'; -goog.module('Blockly.Lua.texts'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua.texts'); -const {NameType} = goog.require('Blockly.Names'); -const {luaGenerator: Lua} = goog.require('Blockly.Lua'); +import {NameType} from '../../core/names.js'; +import {luaGenerator as Lua} from '../lua.js'; Lua['text'] = function(block) { diff --git a/generators/lua/variables.js b/generators/lua/variables.js index 8fa590945..56283cbcc 100644 --- a/generators/lua/variables.js +++ b/generators/lua/variables.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Lua for variable blocks. */ -'use strict'; -goog.module('Blockly.Lua.variables'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua.variables'); -const {NameType} = goog.require('Blockly.Names'); -const {luaGenerator: Lua} = goog.require('Blockly.Lua'); +import {NameType} from '../../core/names.js'; +import {luaGenerator as Lua} from '../lua.js'; Lua['variables_get'] = function(block) { diff --git a/generators/lua/variables_dynamic.js b/generators/lua/variables_dynamic.js index 78a92a354..075fadd82 100644 --- a/generators/lua/variables_dynamic.js +++ b/generators/lua/variables_dynamic.js @@ -7,13 +7,12 @@ /** * @fileoverview Generating Lua for dynamic variable blocks. */ -'use strict'; -goog.module('Blockly.Lua.variablesDynamic'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Lua.variablesDynamic'); -const {luaGenerator: Lua} = goog.require('Blockly.Lua'); -/** @suppress {extraRequire} */ -goog.require('Blockly.Lua.variables'); +import {luaGenerator as Lua} from '../lua.js'; +import './variables.js'; // Lua is dynamically typed. diff --git a/generators/php.js b/generators/php.js index 043a3c6a7..479a53e77 100644 --- a/generators/php.js +++ b/generators/php.js @@ -8,16 +8,16 @@ * @fileoverview Helper functions for generating PHP for blocks. * @suppress {checkTypes|globalThis} */ -'use strict'; -goog.module('Blockly.PHP'); +import * as goog from '../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP'); -const stringUtils = goog.require('Blockly.utils.string'); -const {Block} = goog.requireType('Blockly.Block'); -const {CodeGenerator} = goog.require('Blockly.CodeGenerator'); -const {inputTypes} = goog.require('Blockly.inputTypes'); -const {Names} = goog.require('Blockly.Names'); -const {Workspace} = goog.requireType('Blockly.Workspace'); +import * as stringUtils from '../core/utils/string.js'; +// import type {Block} from '../core/block.js'; +import {CodeGenerator} from '../core/generator.js'; +import {inputTypes} from '../core/inputs/input_types.js'; +import {Names} from '../core/names.js'; +// import type {Workspace} from '../core/workspace.js'; /** @@ -298,5 +298,4 @@ PHP.getAdjusted = function(block, atId, opt_delta, opt_negate, opt_order) { } return at; }; - -exports.phpGenerator = PHP; +export {PHP as phpGenerator}; diff --git a/generators/php/all.js b/generators/php/all.js index 4f707814b..2fd3b505a 100644 --- a/generators/php/all.js +++ b/generators/php/all.js @@ -9,19 +9,18 @@ * blocks. This is the entrypoint for php_compressed.js. * @suppress {extraRequire} */ -'use strict'; -goog.module('Blockly.PHP.all'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP.all'); -const moduleExports = goog.require('Blockly.PHP'); -goog.require('Blockly.PHP.colour'); -goog.require('Blockly.PHP.lists'); -goog.require('Blockly.PHP.logic'); -goog.require('Blockly.PHP.loops'); -goog.require('Blockly.PHP.math'); -goog.require('Blockly.PHP.procedures'); -goog.require('Blockly.PHP.texts'); -goog.require('Blockly.PHP.variables'); -goog.require('Blockly.PHP.variablesDynamic'); +import './colour.js'; +import './lists.js'; +import './logic.js'; +import './loops.js'; +import './math.js'; +import './procedures.js'; +import './text.js'; +import './variables.js'; +import './variables_dynamic.js'; -exports = moduleExports; +export * from '../php.js'; diff --git a/generators/php/colour.js b/generators/php/colour.js index 09ac78bbb..53a076ee5 100644 --- a/generators/php/colour.js +++ b/generators/php/colour.js @@ -7,11 +7,11 @@ /** * @fileoverview Generating PHP for colour blocks. */ -'use strict'; -goog.module('Blockly.PHP.colour'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP.colour'); -const {phpGenerator: PHP} = goog.require('Blockly.PHP'); +import {phpGenerator as PHP} from '../php.js'; PHP['colour_picker'] = function(block) { diff --git a/generators/php/lists.js b/generators/php/lists.js index 95da17e69..e33ba63b7 100644 --- a/generators/php/lists.js +++ b/generators/php/lists.js @@ -18,13 +18,13 @@ * PHP (because only variables can be passed by reference). * ex: end(true ? list1 : list2) */ -'use strict'; -goog.module('Blockly.PHP.lists'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP.lists'); -const stringUtils = goog.require('Blockly.utils.string'); -const {NameType} = goog.require('Blockly.Names'); -const {phpGenerator: PHP} = goog.require('Blockly.PHP'); +import * as stringUtils from '../../core/utils/string.js'; +import {NameType} from '../../core/names.js'; +import {phpGenerator as PHP} from '../php.js'; PHP['lists_create_empty'] = function(block) { // Create an empty list. diff --git a/generators/php/logic.js b/generators/php/logic.js index 40bd33459..fe4a2f566 100644 --- a/generators/php/logic.js +++ b/generators/php/logic.js @@ -7,11 +7,11 @@ /** * @fileoverview Generating PHP for logic blocks. */ -'use strict'; -goog.module('Blockly.PHP.logic'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP.logic'); -const {phpGenerator: PHP} = goog.require('Blockly.PHP'); +import {phpGenerator as PHP} from '../php.js'; PHP['controls_if'] = function(block) { diff --git a/generators/php/loops.js b/generators/php/loops.js index b90e0f04e..fd8e1c219 100644 --- a/generators/php/loops.js +++ b/generators/php/loops.js @@ -7,13 +7,13 @@ /** * @fileoverview Generating PHP for loop blocks. */ -'use strict'; -goog.module('Blockly.PHP.loops'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP.loops'); -const stringUtils = goog.require('Blockly.utils.string'); -const {NameType} = goog.require('Blockly.Names'); -const {phpGenerator: PHP} = goog.require('Blockly.PHP'); +import * as stringUtils from '../../core/utils/string.js'; +import {NameType} from '../../core/names.js'; +import {phpGenerator as PHP} from '../php.js'; PHP['controls_repeat_ext'] = function(block) { diff --git a/generators/php/math.js b/generators/php/math.js index 972f4286f..8efcb5318 100644 --- a/generators/php/math.js +++ b/generators/php/math.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating PHP for math blocks. */ -'use strict'; -goog.module('Blockly.PHP.math'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP.math'); -const {NameType} = goog.require('Blockly.Names'); -const {phpGenerator: PHP} = goog.require('Blockly.PHP'); +import {NameType} from '../../core/names.js'; +import {phpGenerator as PHP} from '../php.js'; PHP['math_number'] = function(block) { diff --git a/generators/php/procedures.js b/generators/php/procedures.js index fc8e45dd9..7c77f90c3 100644 --- a/generators/php/procedures.js +++ b/generators/php/procedures.js @@ -7,13 +7,13 @@ /** * @fileoverview Generating PHP for procedure blocks. */ -'use strict'; -goog.module('Blockly.PHP.procedures'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP.procedures'); -const Variables = goog.require('Blockly.Variables'); -const {NameType} = goog.require('Blockly.Names'); -const {phpGenerator: PHP} = goog.require('Blockly.PHP'); +import * as Variables from '../../core/variables.js'; +import {NameType} from '../../core/names.js'; +import {phpGenerator as PHP} from '../php.js'; PHP['procedures_defreturn'] = function(block) { diff --git a/generators/php/text.js b/generators/php/text.js index 4b0998863..84254a30a 100644 --- a/generators/php/text.js +++ b/generators/php/text.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating PHP for text blocks. */ -'use strict'; -goog.module('Blockly.PHP.texts'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP.texts'); -const {NameType} = goog.require('Blockly.Names'); -const {phpGenerator: PHP} = goog.require('Blockly.PHP'); +import {NameType} from '../../core/names.js'; +import {phpGenerator as PHP} from '../php.js'; PHP['text'] = function(block) { diff --git a/generators/php/variables.js b/generators/php/variables.js index b919f266b..fb35d8c9c 100644 --- a/generators/php/variables.js +++ b/generators/php/variables.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating PHP for variable blocks. */ -'use strict'; -goog.module('Blockly.PHP.variables'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP.variables'); -const {NameType} = goog.require('Blockly.Names'); -const {phpGenerator: PHP} = goog.require('Blockly.PHP'); +import {NameType} from '../../core/names.js'; +import {phpGenerator as PHP} from '../php.js'; PHP['variables_get'] = function(block) { diff --git a/generators/php/variables_dynamic.js b/generators/php/variables_dynamic.js index f4d71f481..8116c69b2 100644 --- a/generators/php/variables_dynamic.js +++ b/generators/php/variables_dynamic.js @@ -7,13 +7,12 @@ /** * @fileoverview Generating PHP for dynamic variable blocks. */ -'use strict'; -goog.module('Blockly.PHP.variablesDynamic'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.PHP.variablesDynamic'); -const {phpGenerator: PHP} = goog.require('Blockly.PHP'); -/** @suppress {extraRequire} */ -goog.require('Blockly.PHP.variables'); +import {phpGenerator as PHP} from '../php.js'; +import './variables.js'; // PHP is dynamically typed. diff --git a/generators/python.js b/generators/python.js index 09d92d19d..527ade8f1 100644 --- a/generators/python.js +++ b/generators/python.js @@ -8,17 +8,17 @@ * @fileoverview Helper functions for generating Python for blocks. * @suppress {checkTypes|globalThis} */ -'use strict'; -goog.module('Blockly.Python'); +import * as goog from '../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python'); -const stringUtils = goog.require('Blockly.utils.string'); -const Variables = goog.require('Blockly.Variables'); -const {Block} = goog.requireType('Blockly.Block'); -const {CodeGenerator} = goog.require('Blockly.CodeGenerator'); -const {inputTypes} = goog.require('Blockly.inputTypes'); -const {Names, NameType} = goog.require('Blockly.Names'); -const {Workspace} = goog.requireType('Blockly.Workspace'); +import * as stringUtils from '../core/utils/string.js'; +import * as Variables from '../core/variables.js'; +// import type {Block} from '../core/block.js'; +import {CodeGenerator} from '../core/generator.js'; +import {inputTypes} from '../core/inputs/input_types.js'; +import {Names, NameType} from '../core/names.js'; +// import type {Workspace} from '../core/workspace.js'; /** @@ -329,5 +329,4 @@ Python.getAdjustedInt = function(block, atId, opt_delta, opt_negate) { } return at; }; - -exports.pythonGenerator = Python; +export {Python as pythonGenerator}; diff --git a/generators/python/all.js b/generators/python/all.js index b6727dc46..10c97e029 100644 --- a/generators/python/all.js +++ b/generators/python/all.js @@ -9,19 +9,18 @@ * blocks. This is the entrypoint for python_compressed.js. * @suppress {extraRequire} */ -'use strict'; -goog.module('Blockly.Python.all'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python.all'); -const moduleExports = goog.require('Blockly.Python'); -goog.require('Blockly.Python.colour'); -goog.require('Blockly.Python.lists'); -goog.require('Blockly.Python.logic'); -goog.require('Blockly.Python.loops'); -goog.require('Blockly.Python.math'); -goog.require('Blockly.Python.procedures'); -goog.require('Blockly.Python.texts'); -goog.require('Blockly.Python.variables'); -goog.require('Blockly.Python.variablesDynamic'); +import './colour.js'; +import './lists.js'; +import './logic.js'; +import './loops.js'; +import './math.js'; +import './procedures.js'; +import './text.js'; +import './variables.js'; +import './variables_dynamic.js'; -exports = moduleExports; +export * from '../python.js'; diff --git a/generators/python/colour.js b/generators/python/colour.js index 1cbc33747..7912cc7e2 100644 --- a/generators/python/colour.js +++ b/generators/python/colour.js @@ -7,11 +7,11 @@ /** * @fileoverview Generating Python for colour blocks. */ -'use strict'; -goog.module('Blockly.Python.colour'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python.colour'); -const {pythonGenerator: Python} = goog.require('Blockly.Python'); +import {pythonGenerator as Python} from '../python.js'; Python['colour_picker'] = function(block) { diff --git a/generators/python/lists.js b/generators/python/lists.js index e09127cfa..74a78e838 100644 --- a/generators/python/lists.js +++ b/generators/python/lists.js @@ -7,13 +7,13 @@ /** * @fileoverview Generating Python for list blocks. */ -'use strict'; -goog.module('Blockly.Python.lists'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python.lists'); -const stringUtils = goog.require('Blockly.utils.string'); -const {NameType} = goog.require('Blockly.Names'); -const {pythonGenerator: Python} = goog.require('Blockly.Python'); +import * as stringUtils from '../../core/utils/string.js'; +import {NameType} from '../../core/names.js'; +import {pythonGenerator as Python} from '../python.js'; Python['lists_create_empty'] = function(block) { diff --git a/generators/python/logic.js b/generators/python/logic.js index ca6ab2d02..8aa8476b8 100644 --- a/generators/python/logic.js +++ b/generators/python/logic.js @@ -7,11 +7,11 @@ /** * @fileoverview Generating Python for logic blocks. */ -'use strict'; -goog.module('Blockly.Python.logic'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python.logic'); -const {pythonGenerator: Python} = goog.require('Blockly.Python'); +import {pythonGenerator as Python} from '../python.js'; Python['controls_if'] = function(block) { diff --git a/generators/python/loops.js b/generators/python/loops.js index 99e1f6bbf..c554914b2 100644 --- a/generators/python/loops.js +++ b/generators/python/loops.js @@ -7,13 +7,13 @@ /** * @fileoverview Generating Python for loop blocks. */ -'use strict'; -goog.module('Blockly.Python.loops'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python.loops'); -const stringUtils = goog.require('Blockly.utils.string'); -const {NameType} = goog.require('Blockly.Names'); -const {pythonGenerator: Python} = goog.require('Blockly.Python'); +import * as stringUtils from '../../core/utils/string.js'; +import {NameType} from '../../core/names.js'; +import {pythonGenerator as Python} from '../python.js'; Python['controls_repeat_ext'] = function(block) { diff --git a/generators/python/math.js b/generators/python/math.js index 077f1acdd..8c1d0b8dd 100644 --- a/generators/python/math.js +++ b/generators/python/math.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Python for math blocks. */ -'use strict'; -goog.module('Blockly.Python.math'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python.math'); -const {NameType} = goog.require('Blockly.Names'); -const {pythonGenerator: Python} = goog.require('Blockly.Python'); +import {NameType} from '../../core/names.js'; +import {pythonGenerator as Python} from '../python.js'; // If any new block imports any library, add that library name here. diff --git a/generators/python/procedures.js b/generators/python/procedures.js index d3737566f..cd4a9d7ec 100644 --- a/generators/python/procedures.js +++ b/generators/python/procedures.js @@ -7,13 +7,13 @@ /** * @fileoverview Generating Python for procedure blocks. */ -'use strict'; -goog.module('Blockly.Python.procedures'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python.procedures'); -const Variables = goog.require('Blockly.Variables'); -const {NameType} = goog.require('Blockly.Names'); -const {pythonGenerator: Python} = goog.require('Blockly.Python'); +import * as Variables from '../../core/variables.js'; +import {NameType} from '../../core/names.js'; +import {pythonGenerator as Python} from '../python.js'; Python['procedures_defreturn'] = function(block) { diff --git a/generators/python/text.js b/generators/python/text.js index 3a378091c..e6ec889cd 100644 --- a/generators/python/text.js +++ b/generators/python/text.js @@ -7,13 +7,13 @@ /** * @fileoverview Generating Python for text blocks. */ -'use strict'; -goog.module('Blockly.Python.texts'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python.texts'); -const stringUtils = goog.require('Blockly.utils.string'); -const {NameType} = goog.require('Blockly.Names'); -const {pythonGenerator: Python} = goog.require('Blockly.Python'); +import * as stringUtils from '../../core/utils/string.js'; +import {NameType} from '../../core/names.js'; +import {pythonGenerator as Python} from '../python.js'; Python['text'] = function(block) { diff --git a/generators/python/variables.js b/generators/python/variables.js index 7abce6b42..58f0a3e1a 100644 --- a/generators/python/variables.js +++ b/generators/python/variables.js @@ -7,12 +7,12 @@ /** * @fileoverview Generating Python for variable blocks. */ -'use strict'; -goog.module('Blockly.Python.variables'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python.variables'); -const {NameType} = goog.require('Blockly.Names'); -const {pythonGenerator: Python} = goog.require('Blockly.Python'); +import {NameType} from '../../core/names.js'; +import {pythonGenerator as Python} from '../python.js'; Python['variables_get'] = function(block) { diff --git a/generators/python/variables_dynamic.js b/generators/python/variables_dynamic.js index b2632eece..cfa6785e4 100644 --- a/generators/python/variables_dynamic.js +++ b/generators/python/variables_dynamic.js @@ -7,13 +7,12 @@ /** * @fileoverview Generating Python for dynamic variable blocks. */ -'use strict'; -goog.module('Blockly.Python.variablesDynamic'); +import * as goog from '../../closure/goog/goog.js'; +goog.declareModuleId('Blockly.Python.variablesDynamic'); -const {pythonGenerator: Python} = goog.require('Blockly.Python'); -/** @suppress {extraRequire} */ -goog.require('Blockly.Python.variables'); +import {pythonGenerator as Python} from '../python.js'; +import './variables.js'; // Python is dynamically typed. diff --git a/scripts/gulpfiles/build_tasks.js b/scripts/gulpfiles/build_tasks.js index db86818bb..64a402a1c 100644 --- a/scripts/gulpfiles/build_tasks.js +++ b/scripts/gulpfiles/build_tasks.js @@ -108,35 +108,35 @@ const chunks = [ { name: 'javascript', entry: path.join(TSC_OUTPUT_DIR, 'generators', 'javascript', 'all.js'), - exports: 'module$exports$Blockly$JavaScript', + exports: 'module$build$src$generators$javascript$all', reexport: 'Blockly.JavaScript', reexportOnly: 'javascriptGenerator', }, { name: 'python', entry: path.join(TSC_OUTPUT_DIR, 'generators', 'python', 'all.js'), - exports: 'module$exports$Blockly$Python', + exports: 'module$build$src$generators$python$all', reexport: 'Blockly.Python', reexportOnly: 'pythonGenerator', }, { name: 'php', entry: path.join(TSC_OUTPUT_DIR, 'generators', 'php', 'all.js'), - exports: 'module$exports$Blockly$PHP', + exports: 'module$build$src$generators$php$all', reexport: 'Blockly.PHP', reexportOnly: 'phpGenerator', }, { name: 'lua', entry: path.join(TSC_OUTPUT_DIR, 'generators', 'lua', 'all.js'), - exports: 'module$exports$Blockly$Lua', + exports: 'module$build$src$generators$lua$all', reexport: 'Blockly.Lua', reexportOnly: 'luaGenerator', }, { name: 'dart', entry: path.join(TSC_OUTPUT_DIR, 'generators', 'dart', 'all.js'), - exports: 'module$exports$Blockly$Dart', + exports: 'module$build$src$generators$dart$all', reexport: 'Blockly.Dart', reexportOnly: 'dartGenerator', } diff --git a/scripts/migration/js2ts b/scripts/migration/js2ts index 324a75086..4ddfd18ba 100755 --- a/scripts/migration/js2ts +++ b/scripts/migration/js2ts @@ -64,6 +64,9 @@ require(path.resolve(__dirname, '../../build/deps.mocha.js')); const requireRE = /(?:const\s+(?:([$\w]+)|(\{[^}]*\}))\s+=\s+)?goog.require(Type)?\('([^']+)'\);/mg; +/** RegExp matching key: value pairs in destructuring assignments. */ +const keyValueRE = /([$\w]+)\s*:\s*([$\w]+)\s*(?=,|})/g; + for (const filename of filenames) { let contents = null; try { @@ -102,11 +105,13 @@ for (const filename of filenames) { moduleId}') as no ES module path known.`); return orig; } - const relativePath = + let relativePath = path.relative(path.dirname(path.resolve(filename)), importPath); + if (relativePath[0] !== '.') relativePath = './' + relativePath; if (name) { return `import${type} * as ${name} from '${relativePath}';`; } else if (names) { + names = names.replace(keyValueRE, '$1 as $2'); return `import${type} ${names} from '${relativePath}';`; } else { // Side-effect only require. return `import${type} '${relativePath}';`;