Commit Graph

7199 Commits

Author SHA1 Message Date
alschmiedt
364bf14ce6 fix: advanced playground and playground to work when hosted (#6021) 2022-03-23 11:08:55 -07:00
Beka Westberg
c7a359a842 fix: undo/redo for auto disabling if-return blocks (#6018)
* fix: undo/redo for auto disabling if-return blocks

* fix: update inline docs
2022-03-23 08:48:40 -07:00
Beka Westberg
c4308007bc fix: always rename caller to legal name (#6014)
* fix: always rename caller to legal name

* fix: enable tests for non-matching callers which overlap names getting renamed

* fix: remove TODOs
2022-03-21 15:38:23 -07:00
Beka Westberg
7abf3de910 fix: playground test blocks, text area listeners, and show/hide buttons (#6015) 2022-03-21 14:12:47 -07:00
Christopher Allen
9d62f92a2f refactor(build): Prepare UMD wrapper generation for transition to ES modules (#5993)
* fix(build): Correctly handle out-of-order chunks

It turns out that closure-calculate-chunks does not guarantee that
calculated chunks will be output in the same order as the
entrypoints, so modify getChunkOptions so that it no longer makes
that assumption.

* refactor(build): Introduce NAMESPACE_PROPERTY; rename NAMESPACE_OBJECT

Rename the constant NAMESPACE_OBJECT to NAMESPACE_VARIABLE to
better explain its actual meaning, and introduce
NAMESPACE_PROPERTY to specify what property the namespace object
will be stored in (and change the previous value, "internal_",
to "__namespace__" to reduce the chance of conflicts with
properties created by the output of Closure Compiler).

* refactor(build): Always save namespace object on chunk exports object

This is so that chunks whose parent chunk is not the root chunk
(chunks[0]) can obtain the namespace object.  (See following commit.)

* fix(build): Correct handling of chunk dependencies

Previously getChunkOptions and chunkWrapper incorrectly assumed
that a chunk could have more than one dependency.

In fact, each chunk can have only a single dependency, which is
its parent chunk.  It is used only to retrieve the namespace
object, which is saved on to the exports object for the chunk so
that any child chunk(s) can obtain it.

Update getChunkOptions and chunkWrapper (making the latter
longer but more readable) accordingly.

* refactor(build): Rename/repurpose chunk.exports -> .reexport

And remove chunk.importAs, since it was no longer being used
anywhere.

* fix: remove unnecessary s from reexports

Co-authored-by: alschmiedt <aschmiedt@google.com>
2022-03-21 13:10:48 -07:00
alschmiedt
243fc52a96 fix: opening/closing the mutators (#6000) 2022-03-21 08:43:46 -07:00
YAMADA Yutaka
85ce3b82c6 fix: comments not being restored when dragging (#6011)
* fix comment deserialization

* add restore comment test

* Fix comment.

* fix: Modify test structure.
2022-03-21 07:51:51 -07:00
Beka Westberg
e502eaa6e1 fix: incorrect module for event data in renamings database (#6012) 2022-03-18 11:06:24 -07:00
dependabot[bot]
cefb505536 chore(deps): bump @wdio/selenium-standalone-service (#6006)
Bumps [@wdio/selenium-standalone-service](https://github.com/webdriverio/webdriverio) from 7.16.16 to 7.18.0.
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/compare/v7.16.16...v7.18.0)

---
updated-dependencies:
- dependency-name: "@wdio/selenium-standalone-service"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-17 13:33:53 -07:00
dependabot[bot]
f344f9a89e chore(deps): bump @blockly/dev-tools from 3.0.6 to 3.0.7 (#5963)
Bumps [@blockly/dev-tools](https://github.com/google/blockly-samples/tree/HEAD/plugins/dev-tools) from 3.0.6 to 3.0.7.
- [Release notes](https://github.com/google/blockly-samples/releases)
- [Commits](https://github.com/google/blockly-samples/commits/@blockly/dev-tools@3.0.7/plugins/dev-tools)

---
updated-dependencies:
- dependency-name: "@blockly/dev-tools"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-17 11:02:16 -07:00
dependabot[bot]
152f017270 chore(deps): bump google-closure-deps from 20220104.0.0 to 20220202.0.0 (#5965)
Bumps [google-closure-deps](https://github.com/google/closure-library) from 20220104.0.0 to 20220202.0.0.
- [Release notes](https://github.com/google/closure-library/releases)
- [Commits](https://github.com/google/closure-library/compare/v20220104...v20220202)

---
updated-dependencies:
- dependency-name: google-closure-deps
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-17 10:59:00 -07:00
dependabot[bot]
5ee94e223b chore(deps): bump webdriverio from 7.16.16 to 7.17.4 (#5992)
Bumps [webdriverio](https://github.com/webdriverio/webdriverio) from 7.16.16 to 7.17.4.
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/compare/v7.16.16...v7.17.4)

---
updated-dependencies:
- dependency-name: webdriverio
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-17 10:58:00 -07:00
Maribeth Bottorff
0b2bf3ae9d feat: make mocha fail if it encounters 0 tests (#5981) 2022-03-16 17:16:06 -07:00
Aaron Dodson
1647a3299a fix: Move @alias onto classes instead of constructors (#6003)
* fix: Move @alias onto classes instead of constructors

* fix: Fix JSDoc for constructors.
2022-03-16 15:48:32 -07:00
Beka Westberg
e2eaebec47 fix: convert the Workspace class to an ES6 class (#5977)
* fix: run conversion script on workspace

* fix: cleanup from conversion script

* fix: make debug build happy

* fix: tests

* fix: format

* fix: format
2022-03-16 13:22:03 -07:00
alschmiedt
a65b895002 chore: remove deprecation console log for debug renderer (#5998) 2022-03-16 08:42:01 -07:00
Beka Westberg
20f1475afc fix!: change paste to return the pasted thing to support keyboard nav (#5996)
* fix: change paste to return the pasted thing

* fix: format

* fix: build

* fix: update the API for duplicate as well

* fix: change types to ICopyable
2022-03-15 11:58:14 -07:00
Mark Finn
fec44d917e fix: Change the truthy tests of width and height in WorkspaceSvg.setCachedParentSvgSize to actual comparisons with null so that zero value can be saved into the cache (#5997)
fixes #5930 and possibly #5404
2022-03-15 09:34:28 -07:00
Beka Westberg
9e1cda8f45 fix: playground access to Blockly 2022-03-14 11:53:27 -07:00
Aaron Dodson
5f822fdbd7 chore: Update to latest Closure compiler and remove our SVG externs (#5991) 2022-03-10 11:50:43 -08:00
Christopher Allen
afc4088ce2 feat(tests): Use official semver.org RegExp (#5990)
Use the official semantic versioning regexp from
https://semver.org/, rather than the shorter but sloppier one
we had previously found at
https://gist.github.com/jhorsman/62eeea161a13b80e39f5249281e17c39.
2022-03-09 22:10:42 +00:00
Christopher Allen
3c723f0199 feat(tests): Add a test to validate scripts/migration/renamings.js (#5980)
* feat(tests): Add a test script for the renamings file

* Make scripts/migration/renamings.js a valid JSON5 file.
* Add a schema for it in tests/migration/renamings-schema.json.
* Add a script to test one against the other, as
  tests/migration/validate-renamings.  It is a node.js script
  that will exit 0 if the renamings file is valid, or 1 if it
  is not (and print a not-very-helpful error message from which
  is possible, with some effort, to deduce what the error is.)

* fix: convert to JSON5 and refactor example

* fix: convert keys to new key names

* fix: change versions to arrays instead of objects

* fix: fix version numbers

* fix: associate renames with the version where they were added

* fix: fixup example

* fix: put older renames at the bottom, and newer renames at the top

* fix: enable renamings test in run_all_tests

* fix: put newer renames back at the bottom

This reverts commit efe070e344.

* fix(tests): add missing additionalProperties: false to schema

And fix the resulting validation error in the example entry.

* chore(tests): Improve wording of example entry; add extra examples

Tweaked line wrapping of some existing entries (example and
acutal) that were otherwise untouched.

* feat: add dropDownDiv renaming to new database

* feat(tests): Check for duplicate entries for the same module

Also fixed extraneous whitespace in run_all_tests.sh

* fix(tests): Make validate-renamings.js compatible with node.js v12

Also remove success message, to adhere to usual unix convention
(silence implies success) as eslint does, and reduce unecessary
npm test output clutter.

* fix(tests): Fixes for PR #5980

* Fix typos.
* Remove redundant check.

Co-authored-by: Beka Westberg <bwestberg@google.com>
2022-03-09 11:29:43 -08:00
Beka Westberg
01d45972d4 fix: revert converting test helpers to es modules (#5982)
* Revert "fix: lint"

This reverts commit 050956d105.

* Revert "fix: run mocha as a module"

This reverts commit 4dac25ae99.

* Revert "move to modules, but break mocha"

This reverts commit 220d7bbd1d.
2022-03-09 07:38:37 -08:00
Rachel Fenichel
3740d51089 chore: makes types of divs more specific (#5988)
* chore: cast to a more specific type when creating a div

* chore: make types more specific for divs

* chore: format
2022-03-08 16:00:31 -08:00
Christopher Allen
e11b5834e5 fix(tests): Enable --debug for test:compile:advanced; fix some errors (and demote the rest to warnings) (#5983)
* refactor(tests): Migrate tests/compile/main.js to goog.module

* feat(tests): Enable --debug for test:compile:advanced; demote errors

  * Enable the --debug flag when running the
    buildAdvancedCompilationTest gulp task.
  * Remove partialAlias diagnostic group from `JSC_ERROR`, demoting
    JSC_PARTIAL_NAMESPACE to warning.

  Reverts "Revert 'fix(tests): Enable --debug for test:compile:advanced;
  fix some errors (#5959)'".
2022-03-08 23:20:19 +00:00
Beka Westberg
c1004be1f2 fix: convert the common renderer to an ES6 class (#5978)
* fix: run conversion script on renderer

* fix: cleanup from conversion script

* fix: format
2022-03-08 07:21:06 -08:00
Maribeth Bottorff
7d250fa9cf feat: add mocha failure messages to console output (#5984)
* feat: add mocha failure messages to console output

* fix: line up the messages
2022-03-07 18:55:11 -08:00
Beka Westberg
543cb8e1b1 fix: move the dropdown div to a namespace instead of a class with only static properties (#5979)
* fix: remove drop down div class

* fix: change name and export for drop down div

* fix: make module-local variables conform to styleguide

* fix: format

* fix: shadowing
2022-03-07 13:29:23 -08:00
Beka Westberg
2edd228117 fix: move test helpers from samples into core (#5969)
* fix: move core test helpers into new directory

* fix: add test helpers to core and convert to goog modules

* fix: change tests to use local helpers

* fix: change local tests to use chai asserts

* fix: skip field tests in serializer b/c test blocks are unavailable

* fix: rename some helper files

* fix: rename some helper modules

* fix: split block helpers into code gen and serialization

* fix: split block defs into new helper file

* fix: split warning helpers into new file

* fix: split user input helpers into new file

* fix: split event helpers into a new file

* fix: split variable helper into new file

* fix: move remaining test helpers to new setup-teardown file

* fix: rename setup and teardown module

* fix: cleanup from rebase

* fix: undo accidental rename

* fix: lint?

* fix: bad toolbox definitions namespace

* fix: fixup warning helpers

* fix: remove inclusion of dev-tools in mocha tests

* move to modules, but break mocha

* fix: run mocha as a module

* fix: lint
2022-03-04 13:10:03 -08:00
Maribeth Bottorff
6841ccc99f feat: Allow developers to set a custom tooltip rendering function. (#5956)
* refactor: refactor tooltip show method

* refactor: make Tooltip a class that is accessed via a singleton

* revert: "refactor: make Tooltip a class that is accessed via a singleton"

This reverts commit b3d543cc35.

* feat: add the ability to set a custom tooltip function

* fix: check for null where it matters for types

* feat: Add a test for the custom tooltip function

* fix: fix formatting

* fix: format test

* fix: remove unnecessary teardown call in test
2022-03-03 17:23:02 -08:00
Beka Westberg
8058df2a71 fix: custom block context menus (#5976)
* fix: custom block context menus

* fix: move rendered-specific properties back into BlockSvg
2022-03-03 10:52:39 -08:00
gpfernandezflorio
b34db5bd01 fix(blocks): correct the callType_ of procedures_defreturn (#5974)
Fixes a bug introduced in PR #5736.
2022-03-03 12:48:03 +00:00
Beka Westberg
2a0e54759d Revert "fix(tests): Enable --debug for test:compile:advanced; fix some errors (#5959)"
This reverts commit 88334bea80.
2022-03-01 15:31:44 -08:00
Christopher Allen
88334bea80 fix(tests): Enable --debug for test:compile:advanced; fix some errors (#5959)
* Enable the --debug flag when running the
  buildAdvancedCompilationTest gulp task.
* Migrate test/compile/main.js to goog.module.
  * Use more selective goog.requires.
    * Reduces compiled size from ~400k to ~370k.
  * @suppress "extra" requires needed for side effects.
2022-03-01 16:30:58 +00:00
alschmiedt
9ba2571a38 deprecate: the debug renderer (#5961)
* deprecate: the debug renderer

* chore: run format

* chore: remove @deprecated for functions still used in core
2022-02-28 17:59:28 -08:00
Beka Westberg
fa14e9d6de refactor: convert blocksvg and block to ES6 classes (#5952)
* refact: move super call to top of block svg

* refact: run conversion script on block svg and block

* fix: make debug build happy

* fix: tests

* style: format

* fix: cleanup from rebase

* fix: use new.target instead of a new parameter

* fix: add more overridden casted methods to BlockSvg

* style: fix typos

* style: move override tags to the end of JSDoc

* fix: cleanup from rebase
2022-02-28 09:48:37 -08:00
Beka Westberg
cb4521b645 refactor: Convert fields to ES6 classes (#5943)
* refactor: Initial test at refactoring fields to ES6

* refact: reorganize text input and descendants to call super first

* refact: run conversion script on text input field and subclasses

* clean: cleanup fields post-conversion script

* refact: reorganize dropdown and variable fields to call super first

* refact: run class conversion script on dropdown and variable

* clean: clean fields post conversion script

* refact: reorganize misc fields to call super first

* refact: run conversion script on misc fields

* clean: cleanup misc fields after conversion

* fix: add setting the value and whatnot back to the base field. Pass sentinel conistently

* format

* refact: work on making debug compiler happy

* clean: finish making debug build happy

* fix: work on making tests happy

* fix: finish making tests happy

* Fix: fixup angle and multiline fields

* clean: format

* fix: move default value back to DEFAULT_VALUE

* fix: change SENTINEL to SKIP_SETUP

* fix: inline docs

* fix: some misc PR comments

* fix: format

* fix: make compiler hapy with new.target

* fix: types in FieldDropdown

* fix: add @final annotations to Field

* feat: move Sentinel to a utils file

* fix: remove ImageProperties from external API

* clean: cleanup chunks and deps
2022-02-28 08:59:33 -08:00
dependabot[bot]
4201d43d55 chore(deps): bump webdriverio from 7.16.15 to 7.16.16 (#5964)
Bumps [webdriverio](https://github.com/webdriverio/webdriverio) from 7.16.15 to 7.16.16.
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/compare/v7.16.15...v7.16.16)

---
updated-dependencies:
- dependency-name: webdriverio
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-28 16:39:11 +00:00
dependabot[bot]
4cbb4c4563 chore(deps): bump @wdio/selenium-standalone-service (#5962)
Bumps [@wdio/selenium-standalone-service](https://github.com/webdriverio/webdriverio) from 7.16.14 to 7.16.16.
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/compare/v7.16.14...v7.16.16)

---
updated-dependencies:
- dependency-name: "@wdio/selenium-standalone-service"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-28 08:05:51 -08:00
Beka Westberg
237e66cf29 refactor: convert row.js and base.js to ES6 classes (#5957)
* fix: remove unnecessary properties from rows

* refactor: run conversion script on measurables

* clean: cleanup from conversion

* fix: make debug build happy

* clean: format

* fix: remove widthWithConnectedBlocks assignment on element

* fix: add inline docs for statementEdge
2022-02-25 11:06:12 -08:00
Christopher Allen
00e1dade3a chore(build): Disable visibility warnings (#5958)
Because of our mis-use of @package, and the removal of the hack
that made it work reasonably (in PR #5918), compilation was
generating a large number of JSC_BAD_PACKAGE_PROPERTY_ACCESS
warnings, making it hard to see any other warnings/errors that
might be generated.

To make compiler diagnostics more useful, disable the visibility
diagnostic group entirely for the time being.

Also improve the documentation for JSCOMP_ERROR and the newly-
-introduced JSCOMP_WARNING and JSCOMP_OFF.
2022-02-24 00:04:32 +00:00
Beka Westberg
7e221c20de refactor: convert PathObject to an ES6 class (#5954)
* refactor: add super call to geras path_object

* refactor: run conversion script

* clean: cleanup from conversion script

* fix: make debug build happy

* clean: add clarifying comment

* clean: format
2022-02-23 14:12:32 -08:00
Christopher Allen
00a75ca048 refactor: Be more selective in eslint ignorance (#5955)
Rather than ignoring blockly_uncompressed.js, gulpfile.js and
core/utils/global.js entirely, add suitable eslint-disable directives
to those files so that they lint cleanly (and migrate gulpfile to
use const instead of var).
2022-02-23 22:12:15 +00:00
Christopher Allen
5078dcbc6d refactor(blocks)!: Rename Blockly.blocks.* modules to Blockly.libraryBlocks.* (#5953)
...and rename Blockly.blocks.all (blocks/all.js) to
Blockly.libraryBlocks (blocks/blocks.js

BREAKING CHANGE: (only) because the exports object from the
`blocks_compressed.js` chunk will be accessed as
`Blockly.libraryBlocks` instead of `Blockly.blocks.all` when the
chunk is loaded in a browser via a `<script>` tag.  There will
be no changes visible when the chunk is loaded via ES module
`import` or CJS `require`.
2022-02-23 21:25:52 +00:00
dependabot[bot]
0c1362ff1c chore(deps): bump webdriverio from 7.16.14 to 7.16.15 (#5935)
Bumps [webdriverio](https://github.com/webdriverio/webdriverio) from 7.16.14 to 7.16.15.
- [Release notes](https://github.com/webdriverio/webdriverio/releases)
- [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webdriverio/webdriverio/compare/v7.16.14...v7.16.15)

---
updated-dependencies:
- dependency-name: webdriverio
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-23 11:50:14 -08:00
Christopher Allen
b1f0a6a867 refactor(tests): Use goog.bootstrap to allow loading ES modules in playground (#5931)
* chore(deps): Update closure/goog/base.js, add goog.js

  * Update base.js from the latest version (20220104.0.0).
  * Also copy over goog.js, which provides access to asuitable subset
    of goog.* via an importable module).

* refactor(tests): Have playground.html load Blockly as a module

  N.B.:

  * We still need a preparation step, in order to load base.js and
    deps.js via <script> tags in uncompiled mode; in compiled mode
    it will instead load all the *_compressed.js files via <script>
    tags.

    Acess to the Blockly object is via:

        import Blockly from './playgrounds/blockly.mjs';

    (N.B: no "* as", since blockly.mjs has only a default export.)

  * There remain two serious defects when running in uncompiled mode:
    * It does not attempt to load msg/messages.js, causing startup to
      fail.
    * Module loading only works if there are no ES Modules; if there
      are, something goes wrong with base.js's attempt to sequence
      module loads causing goog.modules that import ES modules to get
      a null exports object for that import.  X-(

* fix(tests): Have playground.html load messages.js before generators

  This fixes the issue caused by missing messages when loading
  the generators.

* fix(tests): Move bootsrap calls to prepare.js

  Move the calls to goog.bootstrap from blockly.mjs to prepare.mjs.
  This is needed to work around a bug in the Cosure Library debug
  loader (https://github.com/google/closure-library/issues/1152).

  This gets a bit ugly because most of the code has to go in a
  <script> (because it needs goog.bootstrap, which was loaded by
  an earlier <script> tag).

* fix(documentation): Minor comment corrections for PR #5931
2022-02-23 10:30:21 +00:00
dependabot[bot]
4e64d0eba4 chore(deps): bump mocha from 9.2.0 to 9.2.1 (#5951)
Bumps [mocha](https://github.com/mochajs/mocha) from 9.2.0 to 9.2.1.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v9.2.0...v9.2.1)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-22 15:55:36 -08:00
Beka Westberg
be9ca98cdc refactor: convert toolbox items to ES6 classes (#5947)
* refact: convert toolbox items to ES6 classes

* fix: and SENTINEL so that contents can be parsed properly

* fix: fix types and whatnot related to new SENTINEL

* clean: format

* refactor: reorganize overridable calls into the init function, and remove sentinel

* clean: format

* fix: inline docs and organization
2022-02-22 15:21:23 -08:00
Christopher Allen
71ab146bc2 fix(build): Correctly handle deep export paths in UMD wrapper (#5945)
* fix(build): Correctly handle deep export paths

A problem can occur when loading chunks in a browser: although
factory() will create the full exported path on $, and thus the
assignment

    root.<path> = factory(...) { ...; return $.<path> }

will normally be a do-nothing in every chunk except the first, if
the exported path (e.g. Blockly.blocks.all) is more than one level
deeper than any previously-existing path (e.g. Blockly), this will
fail because root.<path> is evaluated before calling factory(), and
so the left hand side will will evaluate to a undefined reference
(e.g. undefined.all) and TypeError will be thrown before the call
to factory is evaluated.

To fix this, call factory first and store the exports object in a
variable before assigning it to the exported path.

Fixes #5932.
2022-02-22 22:04:49 +00:00
Rachel Fenichel
f1148f1732 refactor: convert registry files to es6 classes (#5940)
* refactor: convert shortcut registry to es6 class

* refactor: convert context menu registry to es6 class

* refactor: convert registry type to es6 class

* chore: format

* chore: respond to PR comments
2022-02-18 11:36:41 -08:00