* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* feat: Added basic example test for Blockly Playground and Blockly Demo
* chore: remove render call from procedure blocks
* chore: have workspace queue renders when unhiding
* chore: remove forced rendering from flyouts
* chore: change mutators to use queueing
* chore: change shadows to use queueing
* chore: add comments about icon rendering
* chore: rename icon to old icon
* feat: add abstract icon class
* chore: format
* chore: move icon class to icons directory
* chore: switch imports to import type
* 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(blocks): auto-migration of blocks/text.js to ts
* refactor(blocks): fix up some types in blocks/text.ts
* refactor(blocks): improve some types in text.ts
* refactor(blocks): additional type cleanups
* chore: format
* chore: fix typo
* chore: respond to PR comments
* chore: respond to PR comments
* feat: Add 'reason' field to move event
There are many types of move. This addition allows one to detect what the reason for each move is.
* Clang formatting.
And unsaved editor tabs.
* Change reason string to array.
* 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
* chores(deps): Update eslint-plugin-jsdoc to 43.0.7 to fix issue
- This resolves npm install error messages reporting incompatibility
of the previous version (and one of its dependencies) with
node.js version other than 14, 16, 18, and 19 (i.e. notably
excluding v20).
- It also pulls in a fix to a bug in 43.0.6 which caused the
jsdoc/tag-lines startLines option (which replaces the former
jsdoc/newline-after-description rule) to incorrectly error
when linting single-line JSDocs containing tags.
- Update .eslintrc.js appropriately to use the new rule.
* chore(tests): Add node.js v20 to CI test matrix
* chore(tests): Update lint job to also use node.js v20
* 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
* refactor(blocks): Auto-migration of blocks/lists.js to ts
* fix(blocks): Manually migrate & fix types in lists.ts
* chore(blocks): format lists.ts
Not running clang-format on this as for some reason it decides
half way through the file to indent everything after that by
an extra four spaces (and then has to re-wrap a bunch of lines
that are consequently too long).
* refactor(blocks): Improve types in lists.ts
It turns out that the way I originally specified the types for
the mixins meant that they were all 'any', which is a bit
useless. Change them so that tsc actually typechecks
properties (including method calls) on the mixed-in blocks,
and then fix the numerous additional type errors which
doing this revealed.
(By "fix", I mean apply "as" casts and "!"s as required to
suppress type errors from tsc. Actually fixing the code in a
way that makes the blocks meaningfully more bulletproof is
left as an exercise to the reader - sorry, I mean: will be
dealt with in a future PR.)
* fix(blocks): Additional fixes for comments PR #6902
The 'compareDocumentPosition' call was inherited from Closure Library, in order to work with IE 8 and earlier. Use the more modern 'contains' call instead.
This change was originally added here:
https://github.com/google/blockly/pull/1991
Remove the DOCUMENT_POSITION_CONTAINED_BY constant which is not a NodeType and should never have been part of that enum.
This change was originally added here:
https://github.com/google/blockly/pull/2736