-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Closed
Labels
internalExternal contributions not acceptedExternal contributions not accepted
Milestone
Description
Steps for this update. These are not necessarily in order, and some will be broken out as separate bugs.
Old Tracking List:
- Add a
tsconfig.json. (Set up typescript compilation #5892) - Wire the typescript compiler to output into the build directory such that the closure compiler picks up the correct files. (Set up typescript compilation #5892)
- Add gulp tasks and scripts in
package.jsonto run the ts compiler and then the closure compiler. (Set up typescript compilation #5892) - Add gulp tasks and scripts in
package.jsonto clean up generated files when needed. (Set up typescript compilation #5892) - Convert to ES Modules #5904
- Set up tsickle or similar to re-inject annotations for the closure compiler. #5960
Must happen pre merge:
- Check all
@enumsfor formatting issues. [beka]- Fix
KeyCodesincore/utils/keycodes.ts. [christopher]
- Fix
- Check all
@typedefs for lost JSDocs. [beka] - Export
@typedefs that were static properties on classes [beka] - Move comments that migrants put in the wrong place [beka]
- Remove remaining
declareLegacyNamespacecalls [christopher] - Migrate
blockly.jstoblockly.ts[christopher] - Get Blockly to pass CI. [TBD]
Can happen post merge:
- Fix any
@protectedproperties that have been changed to parameter properties [beka] - Check that public parameter properties are correct [beka]
- Investigate why
composeis commented out in BlockSvg [beka] -
Export interface types that were exported fromblockly.js[beka] - Redefine properties that were defined using
Object.defineProperties[christopher]- Check that we've properly deprecated all of the above properties, including any in blocks or generators. [beka]
- Find new places to put the properties that were defined using
Object.defineProperties[beka] - Implement piping sourcemaps from tsc to closure compiler [christopher]
- Get generating type defs working [beka]
- Rename instances of
AnyDuringMigrationin defs toany[beka]
- Rename instances of
- Fix packaging sources (.ts instead of .js) [beka]
- Get API Extractor Working
- Get Maribeth set up with a branch that builds [beka]
- Enable API Extractor. [maribeth]
- Migrate JSDoc to TSDoc. [TBD]
- Move any docs attached to property assignments to property definitions [TBD]
- Figure out how to pipe the results of API Extractor to devsite [maribeth]
- Update the Blockly style guide to document where we differ from the Google TS (or JS) styleguide
- E.g., using TSDoc, requiring blank line before
@params, listing all@params even when annotation adds no information, etc.
- E.g., using TSDoc, requiring blank line before
- Update the renamings script to handle the new import structure for blocks and generators [beka]
- Fix BlocklyOptions (which stopped actually defining anything during the goog.module migration) [beka]
- Make
block.workspacenot nullable [aaron] - Add type information to interfaces [aaron]
Optional niceties:
-
Deal withWe were actually doing this correctly.IRegistrableFieldtrying to include a static property in an interface - Remove unused JSDoc attributes
- Get ESLint to work with Typescript [maribeth]
- Fix CSS formatting. E.g. common/constants [beka]
- Look into DynamicShape in common/constants [beka]
- Update everything to conform to the ts styleguide
- Remove all instances of AnyDuringMigration [beka/aaron]
- Revert changes to the BlockDefinition type (in /blocks) Update BlockDefinition type import in block definition files #6248
Additional portions of the Blockly codebase (outside of core/ to migrate:
-
blocks/andgenerators/: Convertblocks/andgenerators/to TypeScript #6828 -
tests/or portions thereof? -
scripts/or portions thereof?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
internalExternal contributions not acceptedExternal contributions not accepted