* refactor(generators): Migrate javascript_generator.js to TypeScript
* refactor(generators): Simplify getAdjusted
Slightly simplify the implementation of getAdjusted, in part to
make it more readable. Also improve its JSDoc comment.
* refactor(generators): Migrate generators/javascript/* to TypeScript
First pass doing very mechanistic migration, not attempting to fix
all the resulting type errors.
* fix(generators): Fix type errors in generator functions
This consists almost entirely of adding casts, so the code output
by tsc should be as similar as possible to the pre-migration .js
source files.
* refactor(generators): Migrate generators/javascript.js to TypeScript
The way the generator functions are added to
javascriptGenerator.forBlock has been modified so that incorrect
generator function signatures will cause tsc to generate a type
error.
* chore(generator): Format
One block protected with // prettier-ignore to preserve careful
comment formatting.
Where there are repeated concatenations prettier has made a pretty
mess of things, but the correct fix is probably to use template
literals instead (rather than just locally disabling prettier).
This has been added to the to-do list in #7600.
* fix(generators): Fixes for PR #7602
* fix(generators): Fix syntax error
* fix(build): Restore erroneously-deleted filter function
This was deleted in PR #7406 as it was mainly being used to
filter core/ vs. test/mocha/ deps into separate deps files -
but it turns out also to be used for filtering error
messages too. Oops.
* refactor(tests): Migrate advanced compilation test to ES Modules
* refactor(build): Migrate main.js to TypeScript
This turns out to be pretty straight forward, even if it would
cause crashing if one actually tried to import this module
instead of just feeding it to Closure Compiler.
* chore(build): Remove goog.declareModuleId calls
Replace goog.declareModuleId calls with a comment recording the
former module ID for posterity (or at least until we decide
how to reformat the renamings file.
* chore(tests): Delete closure/goog/*
For the moment we still need something to serve as base.js for
the benefit of closure-make-deps, so we keep a vestigial
base.js around, containing only the @provideGoog declaration.
* refactor(build): Remove vestigial base.js
By changing slightly the command line arguments to
closure-make-deps and closure-calculate-chunks the need to have
any base.js is eliminated.
* chore: Typo fix for PR #7415
* chore: move input and input types into new directory
* feat: define and export new input types
* feat: modify blocks to construct individual inputs
* chore: transition code to use actual type checks
* chore: fixup input type type
* chore: format
* chore: fixup PR comments
* chore: fix build
* refactor: run js2ts on variables
* refactor: clean up conversion of variables blocks to typescript
* refactor: add types for custom context menu options
* refactor: run js2ts on blocks/variables_dynamic.js
* refactor: clean up types in variables_dynamic
* chore: respond to PR comments
* chore: format
* refactor(blocks): Auto-migration of blocks/loops.js to ts
* fix(blocks): Manually migrate types and fix imports in loops.ts
* chore: respond to PR comments