Commit Graph

7189 Commits

Author SHA1 Message Date
Beka Westberg
220d7bbd1d move to modules, but break mocha 2022-03-03 18:40:40 +00:00
Beka Westberg
1f8eb8f356 fix: remove inclusion of dev-tools in mocha tests 2022-03-02 23:25:26 +00:00
Beka Westberg
0e391538aa fix: fixup warning helpers 2022-03-02 23:25:26 +00:00
Beka Westberg
9c13a36ad8 fix: bad toolbox definitions namespace 2022-03-02 23:12:56 +00:00
Beka Westberg
39db79b52b fix: lint? 2022-03-02 15:45:15 +00:00
Beka Westberg
acb3e3bcab fix: undo accidental rename 2022-03-02 15:45:15 +00:00
Beka Westberg
a72953c8a2 fix: cleanup from rebase 2022-03-02 15:45:15 +00:00
Beka Westberg
e2dd397201 fix: rename setup and teardown module 2022-03-02 15:45:15 +00:00
Beka Westberg
b332bdfa06 fix: move remaining test helpers to new setup-teardown file 2022-03-02 15:45:15 +00:00
Beka Westberg
07663706ee fix: split variable helper into new file 2022-03-02 15:45:15 +00:00
Beka Westberg
e1ad627430 fix: split event helpers into a new file 2022-03-02 15:45:14 +00:00
Beka Westberg
ccfd8882b8 fix: split user input helpers into new file 2022-03-02 15:45:14 +00:00
Beka Westberg
e084e91942 fix: split warning helpers into new file 2022-03-02 15:45:14 +00:00
Beka Westberg
8a78f680a8 fix: split block defs into new helper file 2022-03-02 15:45:14 +00:00
Beka Westberg
6d47b07dc3 fix: split block helpers into code gen and serialization 2022-03-02 15:45:14 +00:00
Beka Westberg
08cddc8a67 fix: rename some helper modules 2022-03-02 15:45:14 +00:00
Beka Westberg
0ded768aa3 fix: rename some helper files 2022-03-02 15:45:14 +00:00
Beka Westberg
3a655c5a67 fix: skip field tests in serializer b/c test blocks are unavailable 2022-03-02 15:45:14 +00:00
Beka Westberg
fb57f18f90 fix: change local tests to use chai asserts 2022-03-02 15:45:14 +00:00
Beka Westberg
e276745b6b fix: change tests to use local helpers 2022-03-02 15:45:14 +00:00
Beka Westberg
eff84af8ee fix: add test helpers to core and convert to goog modules 2022-03-02 15:45:14 +00:00
Beka Westberg
99af0643ff fix: move core test helpers into new directory 2022-03-02 15:45:14 +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
Rachel Fenichel
b52c65c810 refactor: convert some classes to ES6 classes (#5928)
* refactor: move optional function declarations into the constructor

* refactor: convert options.js to es6 class

* refactor: convert generator.js to es6 class

* refactor: convert workspace_events.js to es6 class

* refactor: convert events_abstract.js to an es6 class

* chore: format

* chore: fix lint

* chore: rebuild

* chore: respond to PR feedback
2022-02-16 13:48:18 -08:00
dependabot[bot]
556de8b380 chore(deps): bump eslint from 8.8.0 to 8.9.0 (#5934)
Bumps [eslint](https://github.com/eslint/eslint) from 8.8.0 to 8.9.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.8.0...v8.9.0)

---
updated-dependencies:
- dependency-name: eslint
  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-02-15 21:41:06 +00:00
Neil Fraser
bce4c5e2c6 Delete events should animate when played (#5919)
Same as PR #5640, except for the addition of a parameter in the JSON to turn this on or off.  While one would normally want animations/sounds on (e.g. undo/redo stack) sometimes they'd be annoying (e.g. events from realtime collaborators).
2022-02-11 14:20:10 -08:00
dependabot[bot]
60ee40014e chore(deps): bump google-closure-compiler (#5923)
Bumps [google-closure-compiler](https://github.com/google/closure-compiler-npm) from 20220104.0.0 to 20220202.0.0.
- [Release notes](https://github.com/google/closure-compiler-npm/releases)
- [Commits](https://github.com/google/closure-compiler-npm/compare/v20220104.0.0...v20220202.0.0)

---
updated-dependencies:
- dependency-name: google-closure-compiler
  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-02-10 18:42:48 +00:00
dependabot[bot]
02c556c47c chore(deps): bump google-closure-deps from 20211201.0.0 to 20220104.0.0 (#5896)
Bumps [google-closure-deps](https://github.com/google/closure-library) from 20211201.0.0 to 20220104.0.0.
- [Release notes](https://github.com/google/closure-library/releases)
- [Commits](https://github.com/google/closure-library/compare/v20211201...v20220104)

---
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-02-10 18:25:11 +00:00
dependabot[bot]
ec34954015 chore(deps): bump chai from 4.3.4 to 4.3.6 (#5915)
Bumps [chai](https://github.com/chaijs/chai) from 4.3.4 to 4.3.6.
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/4.x.x/History.md)
- [Commits](https://github.com/chaijs/chai/compare/v4.3.4...v4.3.6)

---
updated-dependencies:
- dependency-name: chai
  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-09 14:23:34 -08:00
dependabot[bot]
b9453a5116 chore(deps): bump @blockly/dev-tools from 3.0.5 to 3.0.6 (#5922)
Bumps [@blockly/dev-tools](https://github.com/google/blockly-samples/tree/HEAD/plugins/dev-tools) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/google/blockly-samples/releases)
- [Commits](https://github.com/google/blockly-samples/commits/@blockly/dev-tools@3.0.6/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-02-09 11:03:21 -08:00
dependabot[bot]
8ae8f316b6 chore(deps): bump @blockly/theme-modern from 2.1.27 to 2.1.28 (#5921)
Bumps [@blockly/theme-modern](https://github.com/google/blockly-samples/tree/HEAD/plugins/theme-modern) from 2.1.27 to 2.1.28.
- [Release notes](https://github.com/google/blockly-samples/releases)
- [Commits](https://github.com/google/blockly-samples/commits/@blockly/theme-modern@2.1.28/plugins/theme-modern)

---
updated-dependencies:
- dependency-name: "@blockly/theme-modern"
  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-09 10:58:28 -08:00
dependabot[bot]
45be541621 chore(deps): bump @blockly/block-test from 2.0.3 to 2.0.4 (#5920)
Bumps [@blockly/block-test](https://github.com/google/blockly-samples/tree/HEAD/plugins/block-test) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/google/blockly-samples/releases)
- [Commits](https://github.com/google/blockly-samples/commits/@blockly/block-test@2.0.4/plugins/block-test)

---
updated-dependencies:
- dependency-name: "@blockly/block-test"
  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-09 10:58:13 -08:00
dependabot[bot]
b266969d05 chore(deps): bump webdriverio from 7.16.13 to 7.16.14 (#5909)
Bumps [webdriverio](https://github.com/webdriverio/webdriverio) from 7.16.13 to 7.16.14.
- [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.13...v7.16.14)

---
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-09 10:49:02 -08:00