diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 632953254..2aea85bb8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -112,6 +112,9 @@ jobs: days: 7 # check for newer package versions in past X days run: | python3 ./.github/workflows/scripts/fetch_packages_metadata.py $days + - name: Upload coverage reports to Codecov + if: ${{ matrix.python-version == env.PYTHON_VERSION }} + uses: codecov/codecov-action@v5 test-ui: name: Test UI @@ -146,6 +149,8 @@ jobs: run: make install-server - name: Test run: make test-ui-unit + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v5 test-integration: name: Run Integration Tests @@ -176,6 +181,7 @@ jobs: run: | make build-dependencies make yarn-install + make test-instrument make build-ui-prod - name: Install run: | @@ -183,6 +189,10 @@ jobs: make install-examples - name: Cypress run: make test-integration + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v5 + with: + files: ./coverage/cobertura-coverage.xml - name: Collect logs uses: actions/upload-artifact@v4 if: failure() diff --git a/.gitignore b/.gitignore index 805271194..6f7d13484 100644 --- a/.gitignore +++ b/.gitignore @@ -63,6 +63,7 @@ nosetests.xml coverage.xml *,cover **/coverage/ +.nyc_output/ # Translations *.mo diff --git a/.nycrc b/.nycrc new file mode 100644 index 000000000..57dd8184d --- /dev/null +++ b/.nycrc @@ -0,0 +1,12 @@ +{ + "extends": "nyc-config-tsx", + "all": true, + "include": ["**/src/**/*.{ts,tsx}"], + "exclude": ["**/*.spec.ts", "tests/**/*"], + "reporter": ["text-summary", "cobertura"], + "check-coverage": true, + "lines": 70, + "functions": 60, + "branches": 50, + "statements": 70 +} diff --git a/Makefile b/Makefile index 53814e16f..c8bf0b214 100644 --- a/Makefile +++ b/Makefile @@ -210,13 +210,16 @@ test-dependencies: @$(PYTHON_PIP) install -q -r test_requirements.txt pytest: - $(PYTHON) -m pytest -v --durations=0 --durations-min=60 elyra + $(PYTHON) -m pytest -v --durations=0 --durations-min=60 elyra --cov --cov-report=xml test-server: test-dependencies pytest # Run python unit tests test-ui-unit: # Run frontend jest unit tests yarn test:unit +test-instrument: # Prepare code coverage instrumentation + yarn lerna run cy:instrument --stream + test-integration: # Run frontend cypress integration tests jupyter labextension disable "@jupyterlab/apputils-extension:announcements" yarn test:integration diff --git a/cypress.config.ts b/cypress.config.ts index b9ef7792f..89ba66592 100644 --- a/cypress.config.ts +++ b/cypress.config.ts @@ -14,6 +14,8 @@ * limitations under the License. */ +import coverage from '@cypress/code-coverage/task'; + import { defineConfig } from 'cypress'; import { register } from './cypress/utils/snapshots/plugin'; @@ -33,6 +35,7 @@ export default defineConfig({ testIsolation: false, setupNodeEvents(on, config) { register(on, config); + coverage(on, config); return config; }, retries: { diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts index 1533d5bcf..8ac941de8 100644 --- a/cypress/support/commands.ts +++ b/cypress/support/commands.ts @@ -14,6 +14,8 @@ * limitations under the License. */ +import '@cypress/code-coverage/support'; + import '@testing-library/cypress/add-commands'; import 'cypress-real-events/support'; diff --git a/cypress/support/index.d.ts b/cypress/support/index.d.ts index f657c3536..ea0ff2b07 100644 --- a/cypress/support/index.d.ts +++ b/cypress/support/index.d.ts @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + declare namespace Cypress { // eslint-disable-next-line @typescript-eslint/naming-convention interface Chainable { diff --git a/cypress/tests/reditor.ts b/cypress/tests/reditor.cy.ts similarity index 100% rename from cypress/tests/reditor.ts rename to cypress/tests/reditor.cy.ts diff --git a/package.json b/package.json index d83fc80c7..95d6dda87 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "scripts": { "graph": "ts-node etc/scripts/generate-make-graph.ts", "cy:open": "npx cypress open", - "cy:run": "npx cypress run --headed", + "cy:run": "npx nyc npx cypress run --headed", "eslint": "eslint . --fix --ignore-path .gitignore --ext .ts,.tsx,.js", "eslint:check": "eslint . --ignore-path .gitignore --ext .ts,.tsx,.js", "prettier": "prettier --ignore-path .gitignore --write \"**/*{.ts,.tsx,.js,.jsx,.css,.json}\"", @@ -44,6 +44,7 @@ "yjs": "^13.5.40" }, "devDependencies": { + "@cypress/code-coverage": "^3.13.8", "@cypress/webpack-preprocessor": "^6.0.2", "@glen/jest-raw-loader": "^2.0.0", "@jupyterlab/testutils": "^4.2.5", @@ -72,6 +73,8 @@ "lerna": "^8.0.1", "lint-staged": "^15.2.0", "npm-run-all": "^4.1.5", + "nyc": "^17.1.0", + "nyc-config-tsx": "^0.1.0", "prettier": "^3.1.1", "rimraf": "~5.0.5", "start-server-and-test": "^2.0.3", diff --git a/packages/code-snippet/package.json b/packages/code-snippet/package.json index eebcf1bc5..df04edd17 100644 --- a/packages/code-snippet/package.json +++ b/packages/code-snippet/package.json @@ -36,6 +36,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_code_snippet_extension/labextension ../../../../labextensions/elyra_code_snippet_extension/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/code-viewer/package.json b/packages/code-viewer/package.json index 1ab40f782..db1944943 100644 --- a/packages/code-viewer/package.json +++ b/packages/code-viewer/package.json @@ -36,6 +36,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_code_viewer_extension/labextension ../../../../labextensions/elyra_code_viewer_extension/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/metadata-common/package.json b/packages/metadata-common/package.json index 04148d435..75036ae6f 100644 --- a/packages/metadata-common/package.json +++ b/packages/metadata-common/package.json @@ -35,6 +35,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_metadata_common/labextension ../../../../labextensions/elyra_metadata_common/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/metadata/package.json b/packages/metadata/package.json index 5ad318f51..20a43d186 100644 --- a/packages/metadata/package.json +++ b/packages/metadata/package.json @@ -36,6 +36,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_metadata_extension/labextension ../../../../labextensions/elyra_metadata_extension/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/pipeline-editor/package.json b/packages/pipeline-editor/package.json index c03123ddf..b08a2f17d 100644 --- a/packages/pipeline-editor/package.json +++ b/packages/pipeline-editor/package.json @@ -37,6 +37,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_pipeline_editor_extension/labextension ../../../../labextensions/elyra_pipeline_editor_extension/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/python-editor/package.json b/packages/python-editor/package.json index 82060bd38..f31c388a7 100644 --- a/packages/python-editor/package.json +++ b/packages/python-editor/package.json @@ -36,6 +36,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_python_editor_extension/labextension ../../../../labextensions/elyra_python_editor_extension/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/r-editor/package.json b/packages/r-editor/package.json index aace44d20..d56d084e1 100644 --- a/packages/r-editor/package.json +++ b/packages/r-editor/package.json @@ -36,6 +36,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_r_editor_extension/labextension ../../../../labextensions/elyra_r_editor_extension/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/scala-editor/package.json b/packages/scala-editor/package.json index c871afa23..5f8b14e08 100644 --- a/packages/scala-editor/package.json +++ b/packages/scala-editor/package.json @@ -36,6 +36,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_scala_editor_extension/labextension ../../../../labextensions/elyra_scala_editor_extension/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/script-debugger/package.json b/packages/script-debugger/package.json index 2ab79292e..a220ab45d 100644 --- a/packages/script-debugger/package.json +++ b/packages/script-debugger/package.json @@ -36,6 +36,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_script_debugger_extension/labextension ../../../../labextensions/elyra_script_debugger_extension/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/script-editor/package.json b/packages/script-editor/package.json index 0cde3b79c..a5bc99d3b 100644 --- a/packages/script-editor/package.json +++ b/packages/script-editor/package.json @@ -35,6 +35,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_script_editor/labextension ../../../../labextensions/elyra_script_editor/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/services/package.json b/packages/services/package.json index 27c07d34b..73b9b0cf5 100644 --- a/packages/services/package.json +++ b/packages/services/package.json @@ -35,6 +35,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_services/labextension ../../../../labextensions/elyra_services/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/theme/package.json b/packages/theme/package.json index 9adb35dfd..31044c1ea 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -36,6 +36,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensionselyra_theme_extension/labextension ../../../../labextensionselyra_theme_extension/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/packages/ui-components/package.json b/packages/ui-components/package.json index 943e3ab12..74f6f3ddc 100644 --- a/packages/ui-components/package.json +++ b/packages/ui-components/package.json @@ -35,6 +35,7 @@ "clean:lintcache": "rimraf .eslintcache .stylelintcache", "clean:labextension": "rimraf ../../../../labextensions/elyra_ui_components/labextension ../../../../labextensions/elyra_ui_components/_version.py", "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache", + "cy:instrument": "npx nyc instrument --compact=false --in-place src/ src/", "eslint": "jlpm eslint:check --fix", "eslint:check": "eslint . --cache --ext .ts,.tsx", "install:extension": "jlpm build", diff --git a/pyproject.toml b/pyproject.toml index a314d11f7..1ee46ce42 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,6 +79,7 @@ test = [ "git-python", "importlib-resources", "pytest>=5.4.1", + "pytest-cov", "pytest-console-scripts", "pytest_jupyter", "pytest-tornasync", diff --git a/test_requirements.txt b/test_requirements.txt index 81e2cdad5..206edfc4a 100644 --- a/test_requirements.txt +++ b/test_requirements.txt @@ -3,6 +3,7 @@ git-python importlib-resources PyGithub==1.58.1 # Github actions with Python 3.11 is having newer versions causing test failures pytest>=5.4.1 +pytest-cov pytest-console-scripts pytest_jupyter pytest-tornasync diff --git a/tsconfig.base.json b/tsconfig.base.json index 82cf4f4ff..ce69f38e1 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -16,7 +16,7 @@ /* Additional Checks */ "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, + "noFallthroughCasesInSwitch": false, "forceConsistentCasingInFileNames": true, "isolatedModules": true, diff --git a/yarn.lock b/yarn.lock index 45b33c1fd..c14ba1ab0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3044,6 +3044,29 @@ __metadata: languageName: node linkType: hard +"@cypress/code-coverage@npm:^3.13.8": + version: 3.13.10 + resolution: "@cypress/code-coverage@npm:3.13.10" + dependencies: + "@cypress/webpack-preprocessor": ^6.0.0 + chalk: 4.1.2 + dayjs: 1.11.13 + debug: 4.3.7 + execa: 4.1.0 + globby: 11.1.0 + istanbul-lib-coverage: ^3.0.0 + js-yaml: 4.1.0 + nyc: 15.1.0 + peerDependencies: + "@babel/core": ^7.0.1 + "@babel/preset-env": ^7.0.0 + babel-loader: ^8.3 || ^9 + cypress: "*" + webpack: ^4 || ^5 + checksum: e2bac70d83e0b6cc61182366b34319d25d7d9cbcffe35b03f34e77fadf3f578967a5f88c7bd090b3f6502188852eb41e29eeaa17923a7916f905ebc7dcc33f19 + languageName: node + linkType: hard + "@cypress/request@npm:^3.0.6": version: 3.0.7 resolution: "@cypress/request@npm:3.0.7" @@ -3070,7 +3093,7 @@ __metadata: languageName: node linkType: hard -"@cypress/webpack-preprocessor@npm:^6.0.2": +"@cypress/webpack-preprocessor@npm:^6.0.0, @cypress/webpack-preprocessor@npm:^6.0.2": version: 6.0.2 resolution: "@cypress/webpack-preprocessor@npm:6.0.2" dependencies: @@ -8457,6 +8480,15 @@ __metadata: languageName: node linkType: hard +"append-transform@npm:^2.0.0": + version: 2.0.0 + resolution: "append-transform@npm:2.0.0" + dependencies: + default-require-extensions: ^3.0.0 + checksum: f26f393bf7a428fd1bb18f2758a819830a582243310c5170edb3f98fdc5a535333d02b952f7c2d9b14522bd8ead5b132a0b15000eca18fa9f49172963ebbc231 + languageName: node + linkType: hard + "aproba@npm:2.0.0": version: 2.0.0 resolution: "aproba@npm:2.0.0" @@ -8478,6 +8510,13 @@ __metadata: languageName: node linkType: hard +"archy@npm:^1.0.0": + version: 1.0.0 + resolution: "archy@npm:1.0.0" + checksum: 504ae7af655130bab9f471343cfdb054feaec7d8e300e13348bc9fe9e660f83d422e473069584f73233c701ae37d1c8452ff2522f2a20c38849e0f406f1732ac + languageName: node + linkType: hard + "arg@npm:^4.1.0": version: 4.1.3 resolution: "arg@npm:4.1.3" @@ -9866,6 +9905,18 @@ __metadata: languageName: node linkType: hard +"caching-transform@npm:^4.0.0": + version: 4.0.0 + resolution: "caching-transform@npm:4.0.0" + dependencies: + hasha: ^5.0.0 + make-dir: ^3.0.0 + package-hash: ^4.0.0 + write-file-atomic: ^3.0.0 + checksum: c4db6939533b677866808de67c32f0aaf8bf4fd3e3b8dc957e5d630c007c06b7f11512d44c38a38287fb068e931067e8da9019c34d787259a44121c9a6b87a1f + languageName: node + linkType: hard + "call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": version: 1.0.2 resolution: "call-bind@npm:1.0.2" @@ -10086,6 +10137,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc + languageName: node + linkType: hard + "chalk@npm:^2.0.0, chalk@npm:^2.3.0, chalk@npm:^2.4.1, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -10097,16 +10158,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc - languageName: node - linkType: hard - "chalk@npm:~5.3.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" @@ -12095,7 +12146,7 @@ __metadata: languageName: node linkType: hard -"dayjs@npm:^1.10.4": +"dayjs@npm:1.11.13, dayjs@npm:^1.10.4": version: 1.11.13 resolution: "dayjs@npm:1.11.13" checksum: f388db88a6aa93956c1f6121644e783391c7b738b73dbc54485578736565c8931bdfba4bb94e9b1535c6e509c97d5deb918bbe1ae6b34358d994de735055cca9 @@ -12135,6 +12186,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:4.3.7": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: ^2.1.3 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 822d74e209cd910ef0802d261b150314bbcf36c582ccdbb3e70f0894823c17e49a50d3e66d96b633524263975ca16b6a833f3e3b7e030c157169a5fabac63160 + languageName: node + linkType: hard + "debug@npm:^3.1.0, debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" @@ -12239,6 +12302,15 @@ __metadata: languageName: node linkType: hard +"default-require-extensions@npm:^3.0.0": + version: 3.0.1 + resolution: "default-require-extensions@npm:3.0.1" + dependencies: + strip-bom: ^4.0.0 + checksum: 45882fc971dd157faf6716ced04c15cf252c0a2d6f5c5844b66ca49f46ed03396a26cd940771aa569927aee22923a961bab789e74b25aabc94d90742c9dd1217 + languageName: node + linkType: hard + "defaults@npm:^1.0.3": version: 1.0.3 resolution: "defaults@npm:1.0.3" @@ -12841,6 +12913,7 @@ __metadata: version: 0.0.0-use.local resolution: "elyra@workspace:." dependencies: + "@cypress/code-coverage": ^3.13.8 "@cypress/webpack-preprocessor": ^6.0.2 "@glen/jest-raw-loader": ^2.0.0 "@jupyterlab/testutils": ^4.2.5 @@ -12869,6 +12942,8 @@ __metadata: lerna: ^8.0.1 lint-staged: ^15.2.0 npm-run-all: ^4.1.5 + nyc: ^17.1.0 + nyc-config-tsx: ^0.1.0 prettier: ^3.1.1 rimraf: ~5.0.5 start-server-and-test: ^2.0.3 @@ -13290,6 +13365,13 @@ __metadata: languageName: node linkType: hard +"es6-error@npm:^4.0.1": + version: 4.1.1 + resolution: "es6-error@npm:4.1.1" + checksum: ae41332a51ec1323da6bbc5d75b7803ccdeddfae17c41b6166ebbafc8e8beb7a7b80b884b7fab1cc80df485860ac3c59d78605e860bb4f8cd816b3d6ade0d010 + languageName: node + linkType: hard + "es6-iterator@npm:2.0.3, es6-iterator@npm:^2.0.3": version: 2.0.3 resolution: "es6-iterator@npm:2.0.3" @@ -14566,7 +14648,7 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^3.3.1": +"find-cache-dir@npm:^3.2.0, find-cache-dir@npm:^3.3.1": version: 3.3.2 resolution: "find-cache-dir@npm:3.3.2" dependencies: @@ -14715,7 +14797,17 @@ __metadata: languageName: node linkType: hard -"foreground-child@npm:^3.1.0": +"foreground-child@npm:^2.0.0": + version: 2.0.0 + resolution: "foreground-child@npm:2.0.0" + dependencies: + cross-spawn: ^7.0.0 + signal-exit: ^3.0.2 + checksum: f77ec9aff621abd6b754cb59e690743e7639328301fbea6ff09df27d2befaf7dd5b77cec51c32323d73a81a7d91caaf9413990d305cbe3d873eec4fe58960956 + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0, foreground-child@npm:^3.3.0": version: 3.3.0 resolution: "foreground-child@npm:3.3.0" dependencies: @@ -14843,6 +14935,13 @@ __metadata: languageName: node linkType: hard +"fromentries@npm:^1.2.0": + version: 1.3.2 + resolution: "fromentries@npm:1.3.2" + checksum: 33729c529ce19f5494f846f0dd4945078f4e37f4e8955f4ae8cc7385c218f600e9d93a7d225d17636c20d1889106fd87061f911550861b7072f53bf891e6b341 + languageName: node + linkType: hard + "front-matter@npm:^4.0.2": version: 4.0.2 resolution: "front-matter@npm:4.0.2" @@ -15709,6 +15808,16 @@ __metadata: languageName: node linkType: hard +"hasha@npm:^5.0.0": + version: 5.2.2 + resolution: "hasha@npm:5.2.2" + dependencies: + is-stream: ^2.0.0 + type-fest: ^0.8.0 + checksum: 06cc474bed246761ff61c19d629977eb5f53fa817be4313a255a64ae0f433e831a29e83acb6555e3f4592b348497596f1d1653751008dda4f21c9c21ca60ac5a + languageName: node + linkType: hard + "hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" @@ -17234,7 +17343,16 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-instrument@npm:^4.0.3": +"istanbul-lib-hook@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-hook@npm:3.0.0" + dependencies: + append-transform: ^2.0.0 + checksum: ac4d0a0751e959cfe4c95d817df5f1f573f9b0cf892552e60d81785654291391fac1ceb667f13bb17fcc2ef23b74c89ed8cf1c6148c833c8596a2b920b079101 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^4.0.0, istanbul-lib-instrument@npm:^4.0.3": version: 4.0.3 resolution: "istanbul-lib-instrument@npm:4.0.3" dependencies: @@ -17259,7 +17377,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-instrument@npm:^6.0.0": +"istanbul-lib-instrument@npm:^6.0.0, istanbul-lib-instrument@npm:^6.0.2": version: 6.0.3 resolution: "istanbul-lib-instrument@npm:6.0.3" dependencies: @@ -17272,6 +17390,20 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-processinfo@npm:^2.0.2": + version: 2.0.3 + resolution: "istanbul-lib-processinfo@npm:2.0.3" + dependencies: + archy: ^1.0.0 + cross-spawn: ^7.0.3 + istanbul-lib-coverage: ^3.2.0 + p-map: ^3.0.0 + rimraf: ^3.0.0 + uuid: ^8.3.2 + checksum: 501729e809a4e98bbb9f62f89cae924be81655a7ff8118661f8834a10bb89ed5d3a5099ea0b6555e1a8ee15a0099cb64f7170b89aae155ab2afacfe8dd94421a + languageName: node + linkType: hard + "istanbul-lib-report@npm:^3.0.0": version: 3.0.0 resolution: "istanbul-lib-report@npm:3.0.0" @@ -19239,6 +19371,13 @@ __metadata: languageName: node linkType: hard +"lodash.flattendeep@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.flattendeep@npm:4.4.0" + checksum: 8521c919acac3d4bcf0aaf040c1ca9cb35d6c617e2d72e9b4d51c9a58b4366622cd6077441a18be626c3f7b28227502b3bf042903d447b056ee7e0b11d45c722 + languageName: node + linkType: hard + "lodash.flow@npm:^3.3.0": version: 3.5.0 resolution: "lodash.flow@npm:3.5.0" @@ -20145,7 +20284,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.1.1": +"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -20412,6 +20551,15 @@ __metadata: languageName: node linkType: hard +"node-preload@npm:^0.2.1": + version: 0.2.1 + resolution: "node-preload@npm:0.2.1" + dependencies: + process-on-spawn: ^1.0.0 + checksum: 4586f91ac7417b33accce0ac629fb60f642d0c8d212b3c536dc3dda37fe54f8a3b858273380e1036e41a65d85470332c358315d2288e6584260d620fb4b00fb3 + languageName: node + linkType: hard + "node-releases@npm:^2.0.18": version: 2.0.18 resolution: "node-releases@npm:2.0.18" @@ -20772,6 +20920,93 @@ __metadata: languageName: node linkType: hard +"nyc-config-tsx@npm:^0.1.0": + version: 0.1.0 + resolution: "nyc-config-tsx@npm:0.1.0" + dependencies: + "@istanbuljs/schema": ^0.1.2 + peerDependencies: + nyc: ">=15" + source-map-support: "*" + ts-node: "*" + checksum: 204c4c31bc9b102d2c7e3ddfb8c4f5ec114c4409fa709dabfd84931241eea20aa2ea33d7066f4b7ef91a8bfad768fd64f59742cea06cd15371500675679b4f66 + languageName: node + linkType: hard + +"nyc@npm:15.1.0": + version: 15.1.0 + resolution: "nyc@npm:15.1.0" + dependencies: + "@istanbuljs/load-nyc-config": ^1.0.0 + "@istanbuljs/schema": ^0.1.2 + caching-transform: ^4.0.0 + convert-source-map: ^1.7.0 + decamelize: ^1.2.0 + find-cache-dir: ^3.2.0 + find-up: ^4.1.0 + foreground-child: ^2.0.0 + get-package-type: ^0.1.0 + glob: ^7.1.6 + istanbul-lib-coverage: ^3.0.0 + istanbul-lib-hook: ^3.0.0 + istanbul-lib-instrument: ^4.0.0 + istanbul-lib-processinfo: ^2.0.2 + istanbul-lib-report: ^3.0.0 + istanbul-lib-source-maps: ^4.0.0 + istanbul-reports: ^3.0.2 + make-dir: ^3.0.0 + node-preload: ^0.2.1 + p-map: ^3.0.0 + process-on-spawn: ^1.0.0 + resolve-from: ^5.0.0 + rimraf: ^3.0.0 + signal-exit: ^3.0.2 + spawn-wrap: ^2.0.0 + test-exclude: ^6.0.0 + yargs: ^15.0.2 + bin: + nyc: bin/nyc.js + checksum: 82a7031982df2fd6ab185c9f1b5d032b6221846268007b45b5773c6582e776ab33e96cd22b4231520345942fcef69b4339bd967675b8483f3fa255b56326faef + languageName: node + linkType: hard + +"nyc@npm:^17.1.0": + version: 17.1.0 + resolution: "nyc@npm:17.1.0" + dependencies: + "@istanbuljs/load-nyc-config": ^1.0.0 + "@istanbuljs/schema": ^0.1.2 + caching-transform: ^4.0.0 + convert-source-map: ^1.7.0 + decamelize: ^1.2.0 + find-cache-dir: ^3.2.0 + find-up: ^4.1.0 + foreground-child: ^3.3.0 + get-package-type: ^0.1.0 + glob: ^7.1.6 + istanbul-lib-coverage: ^3.0.0 + istanbul-lib-hook: ^3.0.0 + istanbul-lib-instrument: ^6.0.2 + istanbul-lib-processinfo: ^2.0.2 + istanbul-lib-report: ^3.0.0 + istanbul-lib-source-maps: ^4.0.0 + istanbul-reports: ^3.0.2 + make-dir: ^3.0.0 + node-preload: ^0.2.1 + p-map: ^3.0.0 + process-on-spawn: ^1.0.0 + resolve-from: ^5.0.0 + rimraf: ^3.0.0 + signal-exit: ^3.0.2 + spawn-wrap: ^2.0.0 + test-exclude: ^6.0.0 + yargs: ^15.0.2 + bin: + nyc: bin/nyc.js + checksum: 725b396a1e2e35fc7c347090c80b48473e4da038c18bef9890c5c1bc42549de6b8400437c286caf8a0fc439f5e2b25327af7a878f121677084be30bc25bcbbbb + languageName: node + linkType: hard + "object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -21261,6 +21496,15 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^3.0.0": + version: 3.0.0 + resolution: "p-map@npm:3.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: 49b0fcbc66b1ef9cd379de1b4da07fa7a9f84b41509ea3f461c31903623aaba8a529d22f835e0d77c7cb9fcc16e4fae71e308fd40179aea514ba68f27032b5d5 + languageName: node + linkType: hard + "p-pipe@npm:3.1.0": version: 3.1.0 resolution: "p-pipe@npm:3.1.0" @@ -21326,6 +21570,18 @@ __metadata: languageName: node linkType: hard +"package-hash@npm:^4.0.0": + version: 4.0.0 + resolution: "package-hash@npm:4.0.0" + dependencies: + graceful-fs: ^4.1.15 + hasha: ^5.0.0 + lodash.flattendeep: ^4.4.0 + release-zalgo: ^1.0.0 + checksum: 32c49e3a0e1c4a33b086a04cdd6d6e570aee019cb8402ec16476d9b3564a40e38f91ce1a1f9bc88b08f8ef2917a11e0b786c08140373bdf609ea90749031e6fc + languageName: node + linkType: hard + "package-json-from-dist@npm:^1.0.0": version: 1.0.0 resolution: "package-json-from-dist@npm:1.0.0" @@ -22820,6 +23076,15 @@ __metadata: languageName: node linkType: hard +"process-on-spawn@npm:^1.0.0": + version: 1.1.0 + resolution: "process-on-spawn@npm:1.1.0" + dependencies: + fromentries: ^1.2.0 + checksum: 3621c774784f561879ff0ae52b1ad06465278e8fcaa7144fe4daab7f481edfa81c51894356d497c29c4026c5efe04540932400209fe53180f32c4743cd572069 + languageName: node + linkType: hard + "process@npm:^0.11.10": version: 0.11.10 resolution: "process@npm:0.11.10" @@ -23931,6 +24196,15 @@ __metadata: languageName: node linkType: hard +"release-zalgo@npm:^1.0.0": + version: 1.0.0 + resolution: "release-zalgo@npm:1.0.0" + dependencies: + es6-error: ^4.0.1 + checksum: b59849dc310f6c426f34e308c48ba83df3d034ddef75189951723bb2aac99d29d15f5e127edad951c4095fc9025aa582053907154d68fe0c5380cd6a75365e53 + languageName: node + linkType: hard + "remove-trailing-separator@npm:^1.0.1": version: 1.1.0 resolution: "remove-trailing-separator@npm:1.1.0" @@ -25323,6 +25597,20 @@ __metadata: languageName: node linkType: hard +"spawn-wrap@npm:^2.0.0": + version: 2.0.0 + resolution: "spawn-wrap@npm:2.0.0" + dependencies: + foreground-child: ^2.0.0 + is-windows: ^1.0.2 + make-dir: ^3.0.0 + rimraf: ^3.0.0 + signal-exit: ^3.0.2 + which: ^2.0.1 + checksum: 5a518e37620def6d516b86207482a4f76bcf3c37c57d8d886d9fa399b04e5668d11fd12817b178029b02002a5ebbd09010374307effa821ba39594042f0a2d96 + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.1.1 resolution: "spdx-correct@npm:3.1.1" @@ -26878,7 +27166,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.8.1": +"type-fest@npm:^0.8.0, type-fest@npm:^0.8.1": version: 0.8.1 resolution: "type-fest@npm:0.8.1" checksum: d61c4b2eba24009033ae4500d7d818a94fd6d1b481a8111612ee141400d5f1db46f199c014766b9fa9b31a6a7374d96fc748c6d688a78a3ce5a33123839becb7 @@ -28792,7 +29080,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^15.4.1": +"yargs@npm:^15.0.2, yargs@npm:^15.4.1": version: 15.4.1 resolution: "yargs@npm:15.4.1" dependencies: