diff --git a/src/mono/wasm/README.md b/src/mono/wasm/README.md index 2107138bfd4cc..bdc0ecda6877e 100644 --- a/src/mono/wasm/README.md +++ b/src/mono/wasm/README.md @@ -71,7 +71,7 @@ Add `~/.jsvu` to your `PATH`: * Install node/npm from https://nodejs.org/en/ and add its npm and nodejs directories to the `PATH` environment variable -* * Install jsvu with npm: +* Install jsvu with npm: `npm install jsvu -g` @@ -135,7 +135,7 @@ Exceptions thrown after the runtime starts get symbolicating from js itself. Exc If you need to symbolicate some traces manually, then you need the corresponding `dotnet.js.symbols` file. Then: -``` +```console src/mono/wasm/symbolicator$ dotnet run /path/to/dotnet.js.symbols /path/to/file/with/traces ``` @@ -155,7 +155,7 @@ To run a test with `FooBar` in the name: Additional arguments for `dotnet test` can be passed via `MSBUILD_ARGS` or `TEST_ARGS`. For example `MSBUILD_ARGS="/p:WasmDebugLevel=5"`. Though only one of `TEST_ARGS`, or `TEST_FILTER` can be used at a time. -- Chrome can be installed for testing by setting `InstallChromeForDebuggerTests=true` when building the tests. +Chrome can be installed for testing by setting `InstallChromeForDebuggerTests=true` when building the tests. ## Run samples @@ -189,13 +189,15 @@ To test changes in the templates, use `dotnet new install --force src/mono/wasm/ Example use of the `wasmconsole` template: - > dotnet new wasmconsole - > dotnet publish - > cd bin/Debug/net7.0/browser-wasm/AppBundle - > node main.mjs - mono_wasm_runtime_ready fe00e07a-5519-4dfe-b35a-f867dbaf2e28 - Hello World! - Args: +```console +> dotnet new wasmconsole +> dotnet publish +> cd bin/Debug/net7.0/browser-wasm/AppBundle +> node main.mjs +mono_wasm_runtime_ready fe00e07a-5519-4dfe-b35a-f867dbaf2e28 +Hello World! +Args: +``` ## Upgrading Emscripten @@ -210,23 +212,56 @@ Bumping Emscripten version involves these steps: * update packages in the workload manifest https://github.com/dotnet/runtime/blob/main/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Manifest/WorkloadManifest.json.in ## Upgrading NPM packages + +Two things to keep in mind: + +1. We use the Azure DevOps NPM registry (configured in `src/mono/wasm/runtime/.npmrc`). When + updating `package.json`, you will need to be logged in (see instructions for Windows and + mac/Linux, below) in order for the registry to populate with the correct package versions. + Otherwise, CI builds will fail. + +2. Currently the Emscripten SDK uses NPM version 6 which creates `package-lock.json` files in the + "v1" format. When updating NPM packages, it is important to use this older version of NPM (for + example by using the `emsdk_env.sh` script to set the right environment variables) or by using the + `--lockfile-format=1` option with more recent versions of NPM. + +### Windows + +The steps below will download the `vsts-npm-auth` tool from https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-public-npm/connect/npm + In folder `src\mono\wasm\runtime\` + ```sh rm -rf node_modules rm package-lock.json -npm install -g vsts-npm-aut` +npm install -g vsts-npm-auth` vsts-npm-auth -config .npmrc -npm npm cache clean --force +npm cache clean --force npm outdated -npm update +npm update --lockfile-version=1 +``` + +### mac/Linux + +Go to https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-public-npm/connect/npm and log in and click on the "Other" tab. +Follow the instructions to set up your `~/.npmrc` with a personal authentication token. + +In folder `src/mono/wasm/runtime/` + +```sh +rm -rf node_modules +rm package-lock.json +npm cache clean --force +npm outdated +npm update --lockfile-version=1 ``` ## Code style + * Is enforced via [eslint](https://eslint.org/) and rules are in `./.eslintrc.js` * You could check the style by running `npm run lint` in `src/mono/wasm/runtime` directory * You can install [plugin into your VS Code](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) to show you the errors as you type - ## Builds on CI * For PRs, tests are generally triggered based on path changes. But if you have a change which would not trigger the relevant builds, then you can run `runtime-wasm` pipeline manually to run all of them. Comment `/azp run runtime-wasm` on the PR. @@ -251,7 +286,6 @@ npm update | Debugger tests | linux+windows: only-pc | | Runtime tests | linux+windows: only-pc | - ### Run manually with `/azp run ..` * `runtime-wasm*` pipelines are triggered manually, and they only run the jobs that would not run on any default pipelines based on path changes. diff --git a/src/mono/wasm/runtime/http.ts b/src/mono/wasm/runtime/http.ts index d8249fad0b93e..7404cefcb304e 100644 --- a/src/mono/wasm/runtime/http.ts +++ b/src/mono/wasm/runtime/http.ts @@ -142,9 +142,9 @@ export async function http_wasm_get_streamed_response_bytes(res: ResponseExtensi interface ResponseExtension extends Response { __buffer?: ArrayBuffer __reader?: ReadableStreamDefaultReader - __chunk?: ReadableStreamDefaultReadResult + __chunk?: ReadableStreamReadResult __source_offset: number __abort_controller: AbortController __headerNames: string[]; __headerValues: string[]; -} \ No newline at end of file +} diff --git a/src/mono/wasm/runtime/package-lock.json b/src/mono/wasm/runtime/package-lock.json index ec323edade904..4455b87ca645a 100644 --- a/src/mono/wasm/runtime/package-lock.json +++ b/src/mono/wasm/runtime/package-lock.json @@ -9,21 +9,24 @@ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/code-frame/-/code-frame-7.18.6.tgz", "integrity": "sha1-OyXTjIlgC6otzCGe36iKdOssQno=", "dev": true, + "optional": true, "requires": { "@babel/highlight": "^7.18.6" } }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha1-nJfjDTGyuMcqHQiYTyyptXTXoHY=", - "dev": true + "version": "7.19.1", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha1-fuqDTPMpAf/cGn7lVeL5wn4knKI=", + "dev": true, + "optional": true }, "@babel/highlight": { "version": "7.18.6", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha1-gRWGAek+JWN5Wty/vfXWS+Py7N8=", "dev": true, + "optional": true, "requires": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -35,6 +38,7 @@ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", "dev": true, + "optional": true, "requires": { "color-convert": "^1.9.0" } @@ -44,6 +48,7 @@ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/chalk/-/chalk-2.4.2.tgz", "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", "dev": true, + "optional": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -55,6 +60,7 @@ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", "dev": true, + "optional": true, "requires": { "color-name": "1.1.3" } @@ -63,25 +69,29 @@ "version": "1.1.3", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "dev": true, + "optional": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "dev": true, + "optional": true }, "has-flag": { "version": "3.0.0", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "dev": true, + "optional": true }, "supports-color": { "version": "5.5.0", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, + "optional": true, "requires": { "has-flag": "^3.0.0" } @@ -89,14 +99,14 @@ } }, "@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha1-KfksMLs+dx5KIEjJX6aFU5LfrE8=", + "version": "1.3.3", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha1-KwRKs5/fp1tGiBhPnlc848Ww/5U=", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.2", + "espree": "^9.4.0", "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -106,16 +116,22 @@ } }, "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha1-LLr5qJRg2iS1ymUxuLv8I+HfUMc=", + "version": "0.11.7", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", + "integrity": "sha1-OK7ARMbIKPbtUdXXrj2bn69tuw8=", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" } }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha1-r1smkaIrRL6EewyoFkHF+2rQFyw=", + "dev": true + }, "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -162,13 +178,13 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha1-sjGggdj2Z5bkda1Yih70cxEnAe0=", + "version": "0.3.17", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha1-eTBBJ3r5BzsJUaf+Dw2MTJjDaYU=", "dev": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "@nodelib/fs.scandir": { @@ -197,31 +213,46 @@ "fastq": "^1.6.0" } }, + "@rollup/plugin-terser": { + "version": "0.1.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@rollup/plugin-terser/-/plugin-terser-0.1.0.tgz", + "integrity": "sha1-dTDA8RZnY3QZ1xggRhZGxBhSYEE=", + "dev": true, + "requires": { + "terser": "^5.15.1" + } + }, "@rollup/plugin-typescript": { - "version": "8.3.3", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@rollup/plugin-typescript/-/plugin-typescript-8.3.3.tgz", - "integrity": "sha1-7uftq5z8Bk8c/RZXBJJpPPFDIhU=", + "version": "9.0.2", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@rollup/plugin-typescript/-/plugin-typescript-9.0.2.tgz", + "integrity": "sha1-wM36OeJn8wb/cxZAWjVAbVgh6qc=", "dev": true, "requires": { - "@rollup/pluginutils": "^3.1.0", - "resolve": "^1.17.0" + "@rollup/pluginutils": "^5.0.1", + "resolve": "^1.22.1" } }, + "@rollup/plugin-virtual": { + "version": "3.0.1", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@rollup/plugin-virtual/-/plugin-virtual-3.0.1.tgz", + "integrity": "sha1-zqfkiUgcwMqRUWwEf4xTwc+xrfY=", + "dev": true + }, "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha1-cGtFJO5tyLEDs8mVUz5a1oDAK5s=", + "version": "5.0.2", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha1-ASuPU8ceT2+csxfjEd8UBPVuejM=", "dev": true, "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" } }, "@types/estree": { - "version": "0.0.39", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha1-4Xfmme4bjCLSMXTKqnQiZEOJUJ8=", + "version": "1.0.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha1-X7LlNsGum/NTZu7Yeegn+lnKQcI=", "dev": true }, "@types/json-schema": { @@ -230,76 +261,77 @@ "integrity": "sha1-1CG2xSejA398hEM/0sQingFoY9M=", "dev": true }, - "@types/node": { - "version": "18.0.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-18.0.6.tgz", - "integrity": "sha1-C6SaxRetaavnoVCLybOlSD351dc=", + "@types/semver": { + "version": "7.3.13", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha1-2kv9c/Sb1UHSiSCrDivw7oD3HJE=", "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.30.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz", - "integrity": "sha1-FiHavBrkCEMQ4Z6e/IDf27l+dJM=", + "version": "5.44.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.44.0.tgz", + "integrity": "sha1-EFeI8pkFDJF+uFxNn9BLCJ43QN4=", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/type-utils": "5.30.7", - "@typescript-eslint/utils": "5.30.7", + "@typescript-eslint/scope-manager": "5.44.0", + "@typescript-eslint/type-utils": "5.44.0", + "@typescript-eslint/utils": "5.44.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" } }, "@typescript-eslint/parser": { - "version": "5.30.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/parser/-/parser-5.30.7.tgz", - "integrity": "sha1-mdCXKTkq7J5ksd5FzWPLgaTd2YA=", + "version": "5.44.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/parser/-/parser-5.44.0.tgz", + "integrity": "sha1-meLHEKIlIZHnp5ETJk9Dgzi4Rq0=", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/typescript-estree": "5.30.7", + "@typescript-eslint/scope-manager": "5.44.0", + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/typescript-estree": "5.44.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.30.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz", - "integrity": "sha1-gmmpMe8eWuaLXrgHQ8xRXE/+Pdc=", + "version": "5.44.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/scope-manager/-/scope-manager-5.44.0.tgz", + "integrity": "sha1-mIw/NLRbNHTrn/BnTBgwne38PgQ=", "dev": true, "requires": { - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/visitor-keys": "5.30.7" + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/visitor-keys": "5.44.0" } }, "@typescript-eslint/type-utils": { - "version": "5.30.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz", - "integrity": "sha1-VpPcPbbzE/MCdkKC1hTP28ip/P0=", + "version": "5.44.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/type-utils/-/type-utils-5.44.0.tgz", + "integrity": "sha1-vFpuigJphQcUqHDJJowDgVDfs8c=", "dev": true, "requires": { - "@typescript-eslint/utils": "5.30.7", + "@typescript-eslint/typescript-estree": "5.44.0", + "@typescript-eslint/utils": "5.44.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.30.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/types/-/types-5.30.7.tgz", - "integrity": "sha1-GDMUh8yS0PH7Gm9YDI7IMlKAedA=", + "version": "5.44.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/types/-/types-5.44.0.tgz", + "integrity": "sha1-8/C4mq/3jwl6KSf+VojAfnhqAkE=", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.30.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz", - "integrity": "sha1-BdqfGygZhb/tz2I0mEf40WjuzAc=", + "version": "5.44.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz", + "integrity": "sha1-BGGzhiA+jTg7sSaLHtHam8kFsEU=", "dev": true, "requires": { - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/visitor-keys": "5.30.7", + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/visitor-keys": "5.44.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -308,33 +340,35 @@ } }, "@typescript-eslint/utils": { - "version": "5.30.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/utils/-/utils-5.30.7.tgz", - "integrity": "sha1-cTW+BwNJ6ffKomKwylnclhIzUbs=", + "version": "5.44.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/utils/-/utils-5.44.0.tgz", + "integrity": "sha1-1zPaTXnWww8aaLUxzdoeDB8A1S0=", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/typescript-estree": "5.30.7", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.44.0", + "@typescript-eslint/types": "5.44.0", + "@typescript-eslint/typescript-estree": "5.44.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.30.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz", - "integrity": "sha1-wJOrrnW0/YIr+62fwzfzinoUkJo=", + "version": "5.44.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz", + "integrity": "sha1-EHQNwokCu5A9Eu46AFzDpwIH1DM=", "dev": true, "requires": { - "@typescript-eslint/types": "5.30.7", + "@typescript-eslint/types": "5.44.0", "eslint-visitor-keys": "^3.3.0" } }, "acorn": { - "version": "8.8.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha1-iMAYdiBDXH9gFYA/VTna4Fqdvqg=", + "version": "8.8.1", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha1-Cj+cvsxOw76m8KgLZq6N0tolC3M=", "dev": true }, "acorn-jsx": { @@ -452,7 +486,7 @@ }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, @@ -516,13 +550,15 @@ "dev": true }, "eslint": { - "version": "8.20.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint/-/eslint-8.20.0.tgz", - "integrity": "sha1-BIrFaqGFKZZ9qDVKR4vk7AoryBs=", + "version": "8.28.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/eslint/-/eslint-8.28.0.tgz", + "integrity": "sha1-gaaAcyY0Z3zIkBNLzdn9/qjmPW4=", "dev": true, "requires": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.11.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -532,18 +568,21 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", + "espree": "^9.4.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", "globals": "^13.15.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -554,8 +593,7 @@ "regexpp": "^3.2.0", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "dependencies": { "eslint-scope": { @@ -573,6 +611,15 @@ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=", "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha1-bSN9mQg5UMeSkPJMdkKj3poo+eM=", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } } } }, @@ -610,12 +657,12 @@ "dev": true }, "espree": { - "version": "9.3.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/espree/-/espree-9.3.2.tgz", - "integrity": "sha1-9Y93vTNHMRgoAc7TOAqMyFkJFZY=", + "version": "9.4.1", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/espree/-/espree-9.4.1.tgz", + "integrity": "sha1-UdYJJhVWeiws/3gzRF43wowAZb0=", "dev": true, "requires": { - "acorn": "^8.7.1", + "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" } @@ -661,9 +708,9 @@ "dev": true }, "estree-walker": { - "version": "1.0.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha1-MbxdYSyWtwQQa0d+bdXYqhOMtwA=", + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw=", "dev": true }, "esutils": { @@ -696,9 +743,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.11", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha1-oRcq2VzrihbiDKpcXlZIDlEpwdk=", + "version": "3.2.12", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha1-fznsmcLmqwMDNxQtqeDBjzevroA=", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -706,17 +753,6 @@ "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } } }, "fast-json-stable-stringify": { @@ -727,7 +763,7 @@ }, "fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, @@ -758,6 +794,16 @@ "to-regex-range": "^5.0.1" } }, + "find-up": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, "flat-cache": { "version": "3.0.4", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flat-cache/-/flat-cache-3.0.4.tgz", @@ -769,14 +815,14 @@ } }, "flatted": { - "version": "3.2.6", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flatted/-/flatted-3.2.6.tgz", - "integrity": "sha1-Ai6SGMY3+fP8nDWrnJGT8FrdYLI=", + "version": "3.2.7", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha1-YJ85IHy2FLidB2W0d8stQ3+/l4c=", "dev": true }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, @@ -793,12 +839,6 @@ "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", "dev": true }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, "get-stream": { "version": "5.2.0", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/get-stream/-/get-stream-5.2.0.tgz", @@ -834,18 +874,18 @@ } }, "glob-parent": { - "version": "6.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha1-bSN9mQg5UMeSkPJMdkKj3poo+eM=", + "version": "5.1.2", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", "dev": true, "requires": { - "is-glob": "^4.0.3" + "is-glob": "^4.0.1" } }, "globals": { - "version": "13.17.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/globals/-/globals-13.17.0.tgz", - "integrity": "sha1-kC6x5oCkHak5Ra29y1qfNhumm9Q=", + "version": "13.18.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/globals/-/globals-13.18.0.tgz", + "integrity": "sha1-+yJNrusrt9JUzSxkDwA1KLjQwdw=", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -865,6 +905,12 @@ "slash": "^3.0.0" } }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha1-nPOmZcYkdHmJaDSvNc8du0QAdn4=", + "dev": true + }, "has": { "version": "1.0.3", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/has/-/has-1.0.3.tgz", @@ -904,13 +950,13 @@ }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { @@ -925,9 +971,9 @@ "dev": true }, "is-core-module": { - "version": "2.9.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha1-4cNEKc1Rxt2eCeB5njluJ7GanGk=", + "version": "2.11.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha1-rUyz44Y+gUUjyW8/WNJsxXD/AUQ=", "dev": true, "requires": { "has": "^1.0.3" @@ -935,7 +981,7 @@ }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, @@ -1059,6 +1105,12 @@ "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", "dev": true }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha1-0jE2LlOgf/Kw4Op/7QSRYf/RYoM=", + "dev": true + }, "is-stream": { "version": "2.0.1", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/is-stream/-/is-stream-2.0.1.tgz", @@ -1067,26 +1119,22 @@ }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha1-f3LLxNZDw2Xie5/XdfnQ6qnHqO0=", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } + "js-sdsl": { + "version": "4.2.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha1-J46Yt76libi6rwSMIK6xnretCdA=", + "dev": true }, "js-tokens": { "version": "4.0.0", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", - "dev": true + "dev": true, + "optional": true }, "js-yaml": { "version": "4.1.0", @@ -1105,7 +1153,7 @@ }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, @@ -1119,6 +1167,15 @@ "type-check": "~0.4.0" } }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -1135,9 +1192,9 @@ } }, "magic-string": { - "version": "0.26.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/magic-string/-/magic-string-0.26.2.tgz", - "integrity": "sha1-UzFwDkFYzWvv2nOLtrDHuTwNRDI=", + "version": "0.26.7", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha1-yvfa9hs06ZgvgijEUnR02siYHW8=", "dev": true, "requires": { "sourcemap-codec": "^1.4.8" @@ -1188,10 +1245,16 @@ }, "natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha1-F7CVgZiJef3a/gIB6TG6kzyWy7Q=", + "dev": true + }, "npm-run-path": { "version": "4.0.1", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -1203,7 +1266,7 @@ }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { @@ -1239,6 +1302,24 @@ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, "parent-module": { "version": "1.0.1", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/parent-module/-/parent-module-1.0.1.tgz", @@ -1248,9 +1329,15 @@ "callsites": "^3.0.0" } }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, @@ -1312,15 +1399,6 @@ "integrity": "sha1-SSkii7xyTfrEPg77BYyve2z7YkM=", "dev": true }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, "regexpp": { "version": "3.2.0", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/regexpp/-/regexpp-3.2.0.tgz", @@ -1360,40 +1438,22 @@ } }, "rollup": { - "version": "2.77.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rollup/-/rollup-2.77.0.tgz", - "integrity": "sha1-dJ6qWsCba6pSrMB2vEZhPt39U/Q=", + "version": "3.4.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rollup/-/rollup-3.4.0.tgz", + "integrity": "sha1-PzY9RkdN61Tm2jjTmMOvhFwbfUM=", "dev": true, "requires": { "fsevents": "~2.3.2" } }, - "rollup-plugin-consts": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rollup-plugin-consts/-/rollup-plugin-consts-1.1.0.tgz", - "integrity": "sha1-EL2UBh1+LW4G0BWAaIYLo8E3W7w=", - "dev": true - }, "rollup-plugin-dts": { - "version": "4.2.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rollup-plugin-dts/-/rollup-plugin-dts-4.2.2.tgz", - "integrity": "sha1-godrh4QhOvKbAs8mC0XkBP+DXOE=", + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rollup-plugin-dts/-/rollup-plugin-dts-5.0.0.tgz", + "integrity": "sha1-1kXyIupvfWt9236pjEWg5aOlaew=", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "magic-string": "^0.26.1" - } - }, - "rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha1-6Pu6SGmYGy3DWufopQLVxsBNMk0=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" + "@babel/code-frame": "^7.18.6", + "magic-string": "^0.26.7" } }, "run-parallel": { @@ -1405,30 +1465,15 @@ "queue-microtask": "^1.2.2" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "dev": true - }, "semver": { - "version": "7.3.7", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-7.3.7.tgz", - "integrity": "sha1-EsW2Sa/b+QSXB3luIqQCiBTOUj8=", + "version": "7.3.8", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/semver/-/semver-7.3.8.tgz", + "integrity": "sha1-B6eP6vs/ezI0fXJeM95+Ki32d5g=", "dev": true, "requires": { "lru-cache": "^6.0.0" } }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, "shebang-command": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/shebang-command/-/shebang-command-2.0.0.tgz", @@ -1521,9 +1566,9 @@ "dev": true }, "terser": { - "version": "5.14.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/terser/-/terser-5.14.2.tgz", - "integrity": "sha1-msnyKwaZTXNhdPQJGqNo24lvHBA=", + "version": "5.15.1", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/terser/-/terser-5.15.1.tgz", + "integrity": "sha1-hWGvbg/W2DlmnHO5K91Xd9hw7Ww=", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -1534,7 +1579,7 @@ }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, @@ -1548,9 +1593,9 @@ } }, "tslib": { - "version": "2.4.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha1-fOyqfwc85oCgWEeqd76UEJjzbcM=", + "version": "2.4.1", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha1-DQv7qsKIC5HiLfB2jlW+l1OlsX4=", "dev": true }, "tsutils": { @@ -1586,9 +1631,9 @@ "dev": true }, "typescript": { - "version": "4.7.4", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha1-GohZbRz0fVlQehvN+1ud/k1IgjU=", + "version": "4.9.3", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha1-OuowfBdGuMOEQ12Kw2uKLlgNhds=", "dev": true }, "uri-js": { @@ -1600,12 +1645,6 @@ "punycode": "^2.1.0" } }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", - "dev": true - }, "which": { "version": "2.0.2", "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/which/-/which-2.0.2.tgz", @@ -1623,7 +1662,7 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, @@ -1632,6 +1671,12 @@ "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yallist/-/yallist-4.0.0.tgz", "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", + "dev": true } } } diff --git a/src/mono/wasm/runtime/package.json b/src/mono/wasm/runtime/package.json index 1401aea4aca16..96adfde687dd3 100644 --- a/src/mono/wasm/runtime/package.json +++ b/src/mono/wasm/runtime/package.json @@ -21,18 +21,18 @@ "author": "Microsoft", "license": "MIT", "devDependencies": { - "@rollup/plugin-typescript": "8.3.3", - "@typescript-eslint/eslint-plugin": "5.30.7", - "@typescript-eslint/parser": "5.30.7", - "eslint": "8.20.0", - "fast-glob": "3.2.11", + "@rollup/plugin-typescript": "9.0.2", + "@rollup/plugin-virtual": "3.0.1", + "@rollup/plugin-terser": "0.1.0", + "@typescript-eslint/eslint-plugin": "5.44.0", + "@typescript-eslint/parser": "5.44.0", + "eslint": "8.28.0", + "fast-glob": "3.2.12", "git-commit-info": "2.0.1", - "rollup": "2.77.0", - "rollup-plugin-consts": "1.1.0", - "rollup-plugin-dts": "4.2.2", - "rollup-plugin-terser": "7.0.2", - "terser": "5.14.2", - "tslib": "2.4.0", - "typescript": "4.7.4" + "rollup": "3.4.0", + "rollup-plugin-dts": "5.0.0", + "terser": "5.15.1", + "tslib": "2.4.1", + "typescript": "4.9.3" } } diff --git a/src/mono/wasm/runtime/rollup.config.js b/src/mono/wasm/runtime/rollup.config.js index 6d071cd9b638d..69d8a5c7b4854 100644 --- a/src/mono/wasm/runtime/rollup.config.js +++ b/src/mono/wasm/runtime/rollup.config.js @@ -1,14 +1,14 @@ import { defineConfig } from "rollup"; import typescript from "@rollup/plugin-typescript"; -import { terser } from "rollup-plugin-terser"; +import terser from "@rollup/plugin-terser"; +import virtual from "@rollup/plugin-virtual"; import { readFile, writeFile, mkdir } from "fs/promises"; import * as fs from "fs"; import * as path from "path"; import { createHash } from "crypto"; import dts from "rollup-plugin-dts"; -import consts from "rollup-plugin-consts"; import { createFilter } from "@rollup/pluginutils"; -import * as fast_glob from "fast-glob"; +import fast_glob from "fast-glob"; import gitCommitInfo from "git-commit-info"; const configuration = process.env.Configuration; @@ -73,6 +73,20 @@ try { gitHash = "unknown"; } +function consts(dict) { + /// implement rollup-plugin-const in terms of @rollup/plugin-virtual + /// It's basically the same thing except "consts" names all its modules with a "consts:" prefix, + /// and the virtual module always exports a single default binding (the const value). + + let newDict = {}; + for (const k in dict) { + const newKey = "consts:" + k; + const newVal = JSON.stringify (dict[k]); + newDict[newKey] = `export default ${newVal}`; + } + return virtual(newDict); +} + // set tsconfig.json options note exclude comes from tsconfig.json // (which gets it from tsconfig.shared.json) to exclude node_modules, // for example