diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 1d88f7be4..6a4d5417e 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -71,6 +71,10 @@ groupName: "Yuku parser", matchPackageNames: ["yuku-parser", "@yuku-parser/*"], }, + { + groupName: "Oxc parser", + matchPackageNames: ["oxc-parser", "@oxc-parser/*"], + }, { groupName: "Regex related dependencies", matchPackageNames: ["regexp-util", "unicode-regex", "cjk-regex"], diff --git a/cspell.json b/cspell.json index f5f2be92d..7c4023eea 100644 --- a/cspell.json +++ b/cspell.json @@ -72,6 +72,7 @@ "Eemeli", "ekkhus", "elektronik", + "emnapi", "Eneman", "ENOENT", "EOTP", @@ -274,6 +275,7 @@ "tshirt", "tshirts", "TSJS", + "tybys", "typecasted", "TYPELESS", "Ubie", @@ -296,6 +298,7 @@ "Voyer", "Wadler", "Wadler's", + "wasip", "wcwidth", "webcompat", "webstorm", diff --git a/knip.config.js b/knip.config.js index aa21a9ab9..8ebb13db1 100644 --- a/knip.config.js +++ b/knip.config.js @@ -35,6 +35,7 @@ const config = { "buffer", "base64-arraybuffer-es6", "@yuku-parser/wasm", + "@oxc-parser/binding-wasm32-wasip1", ], ignoreBinaries: [], }, diff --git a/package.json b/package.json index a558d6985..332a07bb7 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "n-readlines": "3.4.1", "narrow-emojis": "0.0.3", "outdent": "0.8.0", - "oxc-parser": "0.151.0", + "oxc-parser": "0.152.0", "parse-json": "8.3.0", "picocolors": "1.1.1", "postcss": "8.5.28", @@ -137,6 +137,7 @@ "@babel/generator": "8.0.6", "@clack/prompts": "1.8.1", "@eslint/js": "10.0.1", + "@oxc-parser/binding-wasm32-wasip1": "0.152.0", "@stylistic/eslint-plugin": "5.10.0", "@types/jsesc": "3.0.3", "@typescript-eslint/eslint-plugin": "8.70.1", diff --git a/scripts/build/builders/javascript-module.js b/scripts/build/builders/javascript-module.js index 4c1b56673..bdefb8b57 100644 --- a/scripts/build/builders/javascript-module.js +++ b/scripts/build/builders/javascript-module.js @@ -194,7 +194,7 @@ function getEsbuildOptions({ packageConfig, file, cliOptions, buildOptions }) { esbuildPluginThrowWarnings({ allowDynamicRequire: buildOptions.platform === "node", allowDynamicImport: buildOptions.platform === "node", - allowedWarnings: buildOptions.allowedWarnings, + isAllowedWarning: buildOptions.isAllowedWarning, }), buildOptions.addDefaultExport && esbuildPluginAddDefaultExport(), ].filter(Boolean), diff --git a/scripts/build/esbuild-plugins/throw-warnings.js b/scripts/build/esbuild-plugins/throw-warnings.js index a901cea04..1c20c1cce 100644 --- a/scripts/build/esbuild-plugins/throw-warnings.js +++ b/scripts/build/esbuild-plugins/throw-warnings.js @@ -71,10 +71,8 @@ const logOverride = Object.fromEntries( export default function esbuildPluginThrowWarnings({ allowDynamicRequire, allowDynamicImport, - allowedWarnings, + isAllowedWarning, }) { - allowedWarnings = new Set(allowedWarnings); - return { name: "throw-warnings", setup(build) { @@ -90,7 +88,7 @@ export default function esbuildPluginThrowWarnings({ } for (const warning of result.warnings) { - if (allowedWarnings.has(warning.id)) { + if (isAllowedWarning?.(warning)) { continue; } diff --git a/scripts/build/hacks/build-oxc-wasm-parser.js b/scripts/build/hacks/build-oxc-wasm-parser.js deleted file mode 100644 index d6d84142e..000000000 --- a/scripts/build/hacks/build-oxc-wasm-parser.js +++ /dev/null @@ -1,134 +0,0 @@ -import assert from "node:assert/strict"; -import { existsSync, promises as fs } from "node:fs"; -import url from "node:url"; -import spawn from "nano-spawn"; -import { outdent } from "outdent"; -import packageJson from "../../../package.json" with { type: "json" }; - -const TEMPORARY_DIRECTORY = new URL("../../../.tmp/", import.meta.url); -const DIRECTORY_NAME = "prettier-oxc-wasm-parser"; -const PACKAGE_NAME = "@oxc-parser/binding-wasm32-wasi"; - -const runYarn = (command, options) => - spawn("yarn", command.split(" "), options); - -async function install(version) { - const directory = new URL(`./working.${Date.now()}/`, TEMPORARY_DIRECTORY); - - await fs.rm(directory, { force: true, recursive: true }); - await fs.mkdir(directory, { recursive: true }); - await runYarn("init", { cwd: directory }); - await fs.writeFile(new URL("./yarn.lock", directory), ""); - await fs.writeFile(new URL(".yarnrc.yml", directory), ""); - await runYarn("config set supportedArchitectures.cpu wasm32", { - cwd: directory, - }); - - await runYarn(`add ${PACKAGE_NAME}@${version}`, { cwd: directory }); - - assert.ok(existsSync(new URL(`./node_modules/${PACKAGE_NAME}/`, directory))); - - const { version: installedVersion } = JSON.parse( - await fs.readFile( - new URL(`./node_modules/${PACKAGE_NAME}/package.json`, directory), - ), - ); - - assert.equal(installedVersion, version); - - return directory; -} - -const wasmUrlPattern = - /const __wasmUrl = new URL\("(?.\/[a-z0-9.-]+\.wasm)", import\.meta\.url\)\.href;/; -async function buildEntry(directory) { - const packageDirectory = new URL( - "./node_modules/@oxc-parser/binding-wasm32-wasi/", - directory, - ); - const entryFile = new URL("./browser-bundle.js", packageDirectory); - let text = await fs.readFile(entryFile, "utf8"); - - // Remove useless `visitorKeys` - const moduleStartMark = "\n//#region src-js/generated/visit/keys.js\n"; - const moduleEndMark = "\n//#endregion\n"; - const moduleStart = text.indexOf(moduleStartMark); - if (moduleStart === -1) { - throw new Error("Unexpected source"); - } - const moduleEnd = text.indexOf( - moduleEndMark, - moduleStart + moduleStartMark.length, - ); - if (moduleEnd === -1) { - throw new Error("Unexpected source"); - } - - text = outdent` - ${text.slice(0, moduleStart + moduleStartMark.length)} - var keys_default; - ${text.slice(moduleEnd)} - `; - - const { wasmUrl } = text.match(wasmUrlPattern).groups; - const wasmFile = new URL(wasmUrl, entryFile); - - const wasmBase64String = await fs.readFile(wasmFile, "base64"); - - text = outdent` - import { decode as __decode } from "base64-arraybuffer-es6"; - - const __base64ToArrayBuffer = Uint8Array.fromBase64 - ? (string) => Uint8Array.fromBase64(string).buffer - : __decode; - - ${text} - `; - - text = text.replace(wasmUrlPattern, ""); - text = text.replace( - "const __wasmResponse = await globalThis.fetch(__wasmUrl);", - "const __wasmResponse = {ok: true};", - ); - text = text.replace( - "await __wasmResponse.arrayBuffer();", - outdent` - __base64ToArrayBuffer( - /* "${wasmUrl}" */ ${JSON.stringify(wasmBase64String)} - ) - `, - ); - - text = text.replace("await __rollbackWasiInitialization()", "[]"); - - text = text.replace( - "await instantiateNapiModule(", - "instantiateNapiModuleSync(", - ); - - text = text.replaceAll( - /new URL\((?".*?"), import\.meta\.url\)/g, - "{/* $ */}", - ); - - return { entry: url.fileURLToPath(entryFile), text, directory }; -} - -async function buildOxcWasmParser() { - const version = packageJson.dependencies["oxc-parser"]; - const directory = new URL( - `./${DIRECTORY_NAME}@${version}/`, - TEMPORARY_DIRECTORY, - ); - - if (!existsSync(directory)) { - await fs.rm(directory, { recursive: true, force: true }); - - const installDirectory = await install(version); - await fs.rename(installDirectory, directory); - } - - return await buildEntry(directory); -} - -export default buildOxcWasmParser; diff --git a/scripts/build/packages/plugin-oxc.js b/scripts/build/packages/plugin-oxc.js index dafed5a67..3ef8a4c5e 100644 --- a/scripts/build/packages/plugin-oxc.js +++ b/scripts/build/packages/plugin-oxc.js @@ -1,7 +1,8 @@ +import fs from "node:fs/promises"; import path from "node:path"; +import { outdent } from "outdent"; import { DIST_DIR, PACKAGES_DIRECTORY } from "../../utilities/index.js"; import { createJavascriptModuleBuilder } from "../builders/javascript-module.js"; -import buildOxcWasmParser from "../hacks/build-oxc-wasm-parser.js"; import { getPackageFile } from "../utilities.js"; import { createPackageMetaFilesConfig, @@ -33,24 +34,85 @@ const mainModule = { { input: "index.js", output: "index.browser.mjs", - build: createJavascriptModuleBuilder(async () => { - const { entry, text } = await buildOxcWasmParser(); - return { - format: "esm", - platform: "universal", - addDefaultExport: true, - replaceModule: [ - { - module: getPackageFile("oxc-parser/src-js/wasm.js"), - path: entry, + build: createJavascriptModuleBuilder({ + format: "esm", + platform: "universal", + addDefaultExport: true, + replaceModule: [ + { + module: getPackageFile("oxc-parser/src-js/wasm.js"), + process(text) { + text = text.replace( + 'export * from "@oxc-parser/binding-wasm32-wasip1";', + "", + ); + + text = text.replace( + 'export { default as visitorKeys } from "./generated/visit/keys.js";', + "", + ); + + return text; }, - { - module: entry, - text, + }, + { + module: getPackageFile( + "@oxc-parser/binding-wasm32-wasip1/parser.wasip1-browser.js", + ), + async process(text, file) { + const wasmUrlPattern = + /const __wasmUrl = new URL\('(?.\/[a-z0-9.-]+\.wasm)', import\.meta\.url\)\.href(?=\n)/; + const { wasmUrl } = text.match(wasmUrlPattern).groups; + const wasmFile = path.join(path.dirname(file), wasmUrl); + const wasmBase64String = await fs.readFile(wasmFile, "base64"); + + text = outdent` + import { decode as __decode } from "base64-arraybuffer-es6"; + + const __base64ToArrayBuffer = Uint8Array.fromBase64 + ? (string) => Uint8Array.fromBase64(string).buffer + : __decode; + + ${text} + `; + + text = text.replace(wasmUrlPattern, ""); + text = text.replace( + "const __wasmResponse = await globalThis.fetch(__wasmUrl)", + "const __wasmResponse = {ok: true}", + ); + text = text.replace( + "await __wasmResponse.arrayBuffer()", + outdent` + __base64ToArrayBuffer( + /* "${wasmUrl}" */ ${JSON.stringify(wasmBase64String)} + ) + `, + ); + + text = text.replace("await __rollbackWasiInitialization()", "[]"); + + text = text.replace( + "await instantiateNapiModule(", + "instantiateNapiModuleSync(", + ); + + text = text.replaceAll( + /new URL\((?".*?"), import\.meta\.url\)/g, + "{/* $ */}", + ); + + return text; }, - ], - allowedWarnings: ["indirect-require", "package.json"], - }; + }, + ], + isAllowedWarning: (warning) => + (warning.id === "package.json" && + warning.location.file === + "node_modules/@tybys/wasm-util/package.json") || + (warning.id === "indirect-require" && + warning.location.file === + "node_modules/@emnapi/runtime/dist/emnapi.js"), }), playground: true, }, diff --git a/scripts/build/packages/plugin-yuku.js b/scripts/build/packages/plugin-yuku.js index d70060c3b..610535fe2 100644 --- a/scripts/build/packages/plugin-yuku.js +++ b/scripts/build/packages/plugin-yuku.js @@ -1,6 +1,5 @@ import fs from "node:fs/promises"; import path from "node:path"; -import { pathToFileURL } from "node:url"; import { outdent } from "outdent"; import { DIST_DIR, PACKAGES_DIRECTORY } from "../../utilities/index.js"; import { createJavascriptModuleBuilder } from "../builders/javascript-module.js"; @@ -50,7 +49,7 @@ const mainModule = { const wasmUrlPattern = /const wasmUrl = new URL\("(?.\/[a-z0-9.-]+\.wasm)", import\.meta\.url\);/; const { wasmUrl } = text.match(wasmUrlPattern).groups; - const wasmFile = new URL(wasmUrl, pathToFileURL(file)); + const wasmFile = path.join(path.dirname(file), wasmUrl); const wasmBase64String = await fs.readFile(wasmFile, "base64"); text = outdent` diff --git a/yarn.lock b/yarn.lock index 675038719..15b18d652 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1131,6 +1131,16 @@ __metadata: languageName: node linkType: hard +"@emnapi/core@npm:2.0.0-alpha.3": + version: 2.0.0-alpha.3 + resolution: "@emnapi/core@npm:2.0.0-alpha.3" + dependencies: + "@emnapi/wasi-threads": "npm:2.0.1" + tslib: "npm:^2.4.0" + checksum: 10/cd71d0af78c858daf14d378d960922ac9a00e108401c76d852fe467916fd5ac8d5575303a14c73d24eaed8dc626464f2a29f2905542b9a457e4b90a6ed519008 + languageName: node + linkType: hard + "@emnapi/runtime@npm:1.10.0": version: 1.10.0 resolution: "@emnapi/runtime@npm:1.10.0" @@ -1149,6 +1159,15 @@ __metadata: languageName: node linkType: hard +"@emnapi/runtime@npm:2.0.0-alpha.3": + version: 2.0.0-alpha.3 + resolution: "@emnapi/runtime@npm:2.0.0-alpha.3" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/f5acb0f51e225b18f4aba6223016e3628d23a05f90ef4be11f7a25b09e0c8b285350f095818e087946945b696127286a50a57f7aaf94d420e6116f5e2101c531 + languageName: node + linkType: hard + "@emnapi/wasi-threads@npm:1.2.1": version: 1.2.1 resolution: "@emnapi/wasi-threads@npm:1.2.1" @@ -1167,6 +1186,15 @@ __metadata: languageName: node linkType: hard +"@emnapi/wasi-threads@npm:2.0.1": + version: 2.0.1 + resolution: "@emnapi/wasi-threads@npm:2.0.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/91dbd7d2ec4ebe01e0e889d9d4d6b79a2a3180ed61e2bdc537c2f7dcb026ac2f8d54126a0966bbcf6fc714f834638d40462c6c9a9bcfb35ee2a7b9897cd06877 + languageName: node + linkType: hard + "@epic-web/invariant@npm:^1.0.0": version: 1.0.0 resolution: "@epic-web/invariant@npm:1.0.0" @@ -1941,7 +1969,7 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^1.1.4, @napi-rs/wasm-runtime@npm:^1.1.6": +"@napi-rs/wasm-runtime@npm:^1.1.4, @napi-rs/wasm-runtime@npm:^1.1.6, @napi-rs/wasm-runtime@npm:~1.2.4": version: 1.2.4 resolution: "@napi-rs/wasm-runtime@npm:1.2.4" dependencies: @@ -1987,9 +2015,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-android-arm-eabi@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.151.0" +"@oxc-parser/binding-android-arm-eabi@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-android-arm-eabi@npm:0.152.0" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2001,9 +2029,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-android-arm64@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-android-arm64@npm:0.151.0" +"@oxc-parser/binding-android-arm64@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-android-arm64@npm:0.152.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2015,9 +2043,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-darwin-arm64@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-darwin-arm64@npm:0.151.0" +"@oxc-parser/binding-darwin-arm64@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-darwin-arm64@npm:0.152.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2029,9 +2057,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-darwin-x64@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-darwin-x64@npm:0.151.0" +"@oxc-parser/binding-darwin-x64@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-darwin-x64@npm:0.152.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2043,9 +2071,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-freebsd-x64@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-freebsd-x64@npm:0.151.0" +"@oxc-parser/binding-freebsd-x64@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-freebsd-x64@npm:0.152.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -2057,9 +2085,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.151.0" +"@oxc-parser/binding-linux-arm-gnueabihf@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-linux-arm-gnueabihf@npm:0.152.0" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2071,9 +2099,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-linux-arm-musleabihf@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.151.0" +"@oxc-parser/binding-linux-arm-musleabihf@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-linux-arm-musleabihf@npm:0.152.0" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2085,9 +2113,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-linux-arm64-gnu@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.151.0" +"@oxc-parser/binding-linux-arm64-gnu@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-linux-arm64-gnu@npm:0.152.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -2099,9 +2127,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-linux-arm64-musl@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.151.0" +"@oxc-parser/binding-linux-arm64-musl@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-linux-arm64-musl@npm:0.152.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -2113,9 +2141,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-linux-ppc64-gnu@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.151.0" +"@oxc-parser/binding-linux-ppc64-gnu@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-linux-ppc64-gnu@npm:0.152.0" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard @@ -2127,9 +2155,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-linux-riscv64-gnu@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.151.0" +"@oxc-parser/binding-linux-riscv64-gnu@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-linux-riscv64-gnu@npm:0.152.0" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard @@ -2141,9 +2169,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-linux-riscv64-musl@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.151.0" +"@oxc-parser/binding-linux-riscv64-musl@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-linux-riscv64-musl@npm:0.152.0" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard @@ -2155,9 +2183,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-linux-s390x-gnu@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.151.0" +"@oxc-parser/binding-linux-s390x-gnu@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-linux-s390x-gnu@npm:0.152.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard @@ -2169,9 +2197,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-linux-x64-gnu@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.151.0" +"@oxc-parser/binding-linux-x64-gnu@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-linux-x64-gnu@npm:0.152.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -2183,9 +2211,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-linux-x64-musl@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.151.0" +"@oxc-parser/binding-linux-x64-musl@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-linux-x64-musl@npm:0.152.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -2197,13 +2225,24 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-openharmony-arm64@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.151.0" +"@oxc-parser/binding-openharmony-arm64@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-openharmony-arm64@npm:0.152.0" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard +"@oxc-parser/binding-wasm32-wasip1@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-wasm32-wasip1@npm:0.152.0" + dependencies: + "@emnapi/core": "npm:2.0.0-alpha.3" + "@emnapi/runtime": "npm:2.0.0-alpha.3" + "@napi-rs/wasm-runtime": "npm:~1.2.4" + checksum: 10/b5b571cf3694fe1bf91e1fd0025a89fedf9b294b80ad8a62c6d0a8acef11fe97e0bc1cbe17eb709cc7e8467538d117fdb640deabb083fd9fa748a8e729d109f3 + languageName: node + linkType: hard + "@oxc-parser/binding-win32-arm64-msvc@npm:0.150.0": version: 0.150.0 resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.150.0" @@ -2211,9 +2250,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-win32-arm64-msvc@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.151.0" +"@oxc-parser/binding-win32-arm64-msvc@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-win32-arm64-msvc@npm:0.152.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -2225,9 +2264,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-win32-ia32-msvc@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.151.0" +"@oxc-parser/binding-win32-ia32-msvc@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-win32-ia32-msvc@npm:0.152.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -2239,9 +2278,9 @@ __metadata: languageName: node linkType: hard -"@oxc-parser/binding-win32-x64-msvc@npm:0.151.0": - version: 0.151.0 - resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.151.0" +"@oxc-parser/binding-win32-x64-msvc@npm:0.152.0": + version: 0.152.0 + resolution: "@oxc-parser/binding-win32-x64-msvc@npm:0.152.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2253,10 +2292,10 @@ __metadata: languageName: node linkType: hard -"@oxc-project/types@npm:^0.151.0": - version: 0.151.0 - resolution: "@oxc-project/types@npm:0.151.0" - checksum: 10/3c337e500aab16a8aa395ad2caae1323f44ece5d995c70f79f06c634f5d2d0edb8cbc832842852fc9b58a10852f5d1fe52a7f9f1cc8da99dc97f29ce1663f654 +"@oxc-project/types@npm:^0.152.0": + version: 0.152.0 + resolution: "@oxc-project/types@npm:0.152.0" + checksum: 10/67215ef6947877a022c472fdf11e9f62f4708379555b75a62a0b206fd84074060e8a39a5317bf51c6ced8c4894cc75964bcb2c32a68a04cd61e34113a865e95f languageName: node linkType: hard @@ -7714,30 +7753,30 @@ __metadata: languageName: node linkType: hard -"oxc-parser@npm:0.151.0": - version: 0.151.0 - resolution: "oxc-parser@npm:0.151.0" +"oxc-parser@npm:0.152.0": + version: 0.152.0 + resolution: "oxc-parser@npm:0.152.0" dependencies: - "@oxc-parser/binding-android-arm-eabi": "npm:0.151.0" - "@oxc-parser/binding-android-arm64": "npm:0.151.0" - "@oxc-parser/binding-darwin-arm64": "npm:0.151.0" - "@oxc-parser/binding-darwin-x64": "npm:0.151.0" - "@oxc-parser/binding-freebsd-x64": "npm:0.151.0" - "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.151.0" - "@oxc-parser/binding-linux-arm-musleabihf": "npm:0.151.0" - "@oxc-parser/binding-linux-arm64-gnu": "npm:0.151.0" - "@oxc-parser/binding-linux-arm64-musl": "npm:0.151.0" - "@oxc-parser/binding-linux-ppc64-gnu": "npm:0.151.0" - "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.151.0" - "@oxc-parser/binding-linux-riscv64-musl": "npm:0.151.0" - "@oxc-parser/binding-linux-s390x-gnu": "npm:0.151.0" - "@oxc-parser/binding-linux-x64-gnu": "npm:0.151.0" - "@oxc-parser/binding-linux-x64-musl": "npm:0.151.0" - "@oxc-parser/binding-openharmony-arm64": "npm:0.151.0" - "@oxc-parser/binding-win32-arm64-msvc": "npm:0.151.0" - "@oxc-parser/binding-win32-ia32-msvc": "npm:0.151.0" - "@oxc-parser/binding-win32-x64-msvc": "npm:0.151.0" - "@oxc-project/types": "npm:^0.151.0" + "@oxc-parser/binding-android-arm-eabi": "npm:0.152.0" + "@oxc-parser/binding-android-arm64": "npm:0.152.0" + "@oxc-parser/binding-darwin-arm64": "npm:0.152.0" + "@oxc-parser/binding-darwin-x64": "npm:0.152.0" + "@oxc-parser/binding-freebsd-x64": "npm:0.152.0" + "@oxc-parser/binding-linux-arm-gnueabihf": "npm:0.152.0" + "@oxc-parser/binding-linux-arm-musleabihf": "npm:0.152.0" + "@oxc-parser/binding-linux-arm64-gnu": "npm:0.152.0" + "@oxc-parser/binding-linux-arm64-musl": "npm:0.152.0" + "@oxc-parser/binding-linux-ppc64-gnu": "npm:0.152.0" + "@oxc-parser/binding-linux-riscv64-gnu": "npm:0.152.0" + "@oxc-parser/binding-linux-riscv64-musl": "npm:0.152.0" + "@oxc-parser/binding-linux-s390x-gnu": "npm:0.152.0" + "@oxc-parser/binding-linux-x64-gnu": "npm:0.152.0" + "@oxc-parser/binding-linux-x64-musl": "npm:0.152.0" + "@oxc-parser/binding-openharmony-arm64": "npm:0.152.0" + "@oxc-parser/binding-win32-arm64-msvc": "npm:0.152.0" + "@oxc-parser/binding-win32-ia32-msvc": "npm:0.152.0" + "@oxc-parser/binding-win32-x64-msvc": "npm:0.152.0" + "@oxc-project/types": "npm:^0.152.0" dependenciesMeta: "@oxc-parser/binding-android-arm-eabi": optional: true @@ -7777,7 +7816,7 @@ __metadata: optional: true "@oxc-parser/binding-win32-x64-msvc": optional: true - checksum: 10/65b26842fe8ba712f6dc4e1557c01509254209e991abafa71a88d5f28c93ba7419878129f32df5414b935745dbe6775fc9b2729a5218ac02c63fdc721af5fcfd + checksum: 10/ae5b6f634f343e2885de2af3459840b277ddc72bd34c8b0feeedbfde9192b7da4fb4aeb44f6b7dc10276494ef793d8cb007231892596aea06c83404682ace5c7 languageName: node linkType: hard @@ -8247,6 +8286,7 @@ __metadata: "@clack/prompts": "npm:1.8.1" "@eslint/js": "npm:10.0.1" "@glimmer/syntax": "npm:0.95.0" + "@oxc-parser/binding-wasm32-wasip1": "npm:0.152.0" "@prettier/cli": "npm:0.12.0" "@prettier/html-attributes": "npm:0.1.0" "@prettier/html-event-attributes": "npm:0.0.2" @@ -8347,7 +8387,7 @@ __metadata: npm-run-all2: "npm:9.0.3" open-editor: "npm:6.0.0" outdent: "npm:0.8.0" - oxc-parser: "npm:0.151.0" + oxc-parser: "npm:0.152.0" parse-json: "npm:8.3.0" picocolors: "npm:1.1.1" postcss: "npm:8.5.28"