4 Commits

Author SHA1 Message Date
Paul Gschwendtner 3922443827 build: bundle tests for karma web test suites (#48538)
Since Karma with Bazel does not support ESM natively, we bundle the
tests using ESBuild into a single AMD file. This not only solves the
ESM issue until we can run browser ESM tests natively (also pending
in the components repo - the esbuild generation follows ESM semantics
but since collapsed we don't rely on the real module system).

A benefit of bundling is also faster and more reliable Karma browser
tests since only a single file needs to be loaded- compared to hundreds
of individual files.

PR Close #48538
2022-12-19 20:12:35 +00:00
Paul Gschwendtner 92da3aae2c refactor(platform-server): use proper ESM-compatible import to domino (#48538)
Now that everything runs from within ESM, we need to use the proper
default-import variant to be able to load `domino` from ESM.

PR Close #48538
2022-12-19 20:12:35 +00:00
Paul Gschwendtner ef32a8967d build: remove unnecessary import to @bazel/jasmine (#48538)
Since we no properly initialize as part of the spec-entrypoint
the hacky logic starting Jasmine can be removed. The init
file now runs before tests run, but after Jasmine is initialized.

Calling `boot` while Jasmine is already initialized results in
tests executing in a different context and before other
initialization work completes.

PR Close #48538
2022-12-19 20:12:35 +00:00
Paul Gschwendtner 0326c3b4fc build: update jasmine_node_test macro to support ESM (#48538)
Note: `--require` does not work for ESM. `--import` does not exist
in the current Node versions. Started being available in NodeJS v19.

A custom entry-point script, already supported by dev-infra, simplifies
the whole logic and solves the ESM case.

PR Close #48538
2022-12-19 20:12:34 +00:00