diff --git a/nx.json b/nx.json index f315972a194c..e2a7f5cb5b34 100644 --- a/nx.json +++ b/nx.json @@ -205,5 +205,5 @@ ] }, "analytics": false, - "codexCacheBust": "2026-03-23T12:57:22Z" + "codexCacheBust": "2026-03-26T08:49:19Z" } diff --git a/package.json b/package.json index d56fce979d06..2d5fbd89c425 100644 --- a/package.json +++ b/package.json @@ -64,13 +64,17 @@ "@nx/workspace": "^22.6.1", "@playwright/test": "^1.58.2", "@types/kill-port": "^2.0.3", + "@typescript/native-preview": "^7.0.0-dev.20260325.1", "http-server": "^14.1.1", "husky": "^9.1.7", "jiti": "^2.6.1", "kill-port": "^2.0.1", "lint-staged": "^16.4.0", "nx": "^22.6.1", + "oxc-transform": "0.121.0", "oxfmt": "^0.41.0", + "rolldown": "^1.0.0-rc.12", + "rolldown-plugin-dts": "^0.23.0", "std-env": "^4.0.0", "vite": "^7.0.4", "vitest": "^4.1.0" diff --git a/scripts/build/utils/dts-process.ts b/scripts/build/utils/dts-process.ts deleted file mode 100644 index 8fad650f2a4c..000000000000 --- a/scripts/build/utils/dts-process.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { writeFile } from 'node:fs/promises'; -import { dirname, join, sep } from 'node:path'; - -import { rollup } from 'rollup'; -import { dts } from 'rollup-plugin-dts'; -import { JsxEmit, ScriptTarget } from 'typescript'; - -import { getExternal } from './entry-utils'; - -async function run() { - const [entryPoint] = process.argv.slice(2); - - if (!entryPoint) { - throw new Error( - 'No entry point provided. Usage: jiti scripts/build/utils/dts-process.ts ' - ); - } - const { typesExternal: external } = await getExternal(process.cwd()); - - const dir = dirname(entryPoint).replace('src', 'dist'); - const outputFile = entryPoint.replace('src', 'dist').replace(/\.tsx?/, '.d.ts'); - const out = await rollup({ - input: entryPoint, - external: (id) => { - return external.some( - (dep) => - id === dep || - id.startsWith(`${dep}/`) || - id.includes(`${sep}node_modules${sep}${dep}${sep}`) - ); - }, - output: { file: outputFile, format: 'es' }, - plugins: [ - dts({ - respectExternal: true, - tsconfig: join(process.cwd(), 'tsconfig.json'), - compilerOptions: { - esModuleInterop: true, - baseUrl: '.', - jsx: JsxEmit.React, - declaration: true, - noEmit: false, - emitDeclarationOnly: true, - noEmitOnError: true, - checkJs: false, - declarationMap: false, - skipLibCheck: true, - preserveSymlinks: false, - target: ScriptTarget.ESNext, - }, - }), - ], - }); - const { output } = await out.generate({ - format: 'es', - file: outputFile, - }); - - await Promise.all( - output.map(async (o) => { - if (o.type === 'chunk') { - await writeFile(join(dir, o.fileName), o.code); - } else { - throw new Error(`Unexpected output type: ${o.type} for ${entryPoint} (${o.fileName})`); - } - }) - ); -} - -run(); diff --git a/scripts/build/utils/generate-types.ts b/scripts/build/utils/generate-types.ts index a4dd3d7398a7..c9bafcde212e 100644 --- a/scripts/build/utils/generate-types.ts +++ b/scripts/build/utils/generate-types.ts @@ -1,109 +1,67 @@ -import { spawn } from 'child_process'; -import limit from 'p-limit'; +import { sep } from 'node:path'; + import { join, relative } from 'pathe'; import picocolors from 'picocolors'; +import { rolldown } from 'rolldown'; +import { dts } from 'rolldown-plugin-dts'; -import { ROOT_DIRECTORY } from '../../utils/constants'; import type { BuildEntries } from './entry-utils'; +import { getExternal } from './entry-utils'; const DIR_CODE = join(import.meta.dirname, '..', '..', '..', 'code'); -const MAX_DTS_ATTEMPTS = 2; -const RETRY_DELAY_MS = 500; - export async function generateTypesFiles(cwd: string, data: BuildEntries) { - const DIR_CWD = cwd; - const DIR_REL = relative(DIR_CODE, DIR_CWD); + const DIR_REL = relative(DIR_CODE, cwd); const dtsEntries = Object.values(data.entries) .flat() .filter((entry) => entry.dts !== false) .map((e) => e.entryPoint); - // Spawn each entry in it's own separate process, because they are slow & synchronous - // ...this way we do not bog down the main process/esbuild and can run them in parallel - // we limit the number of concurrent processes to 3, because we don't want to overload the host machine - // by trial and error, 3 seems to be the sweet spot between perf and consistency - const limited = limit(5); - let processes: ReturnType[] = []; - - await Promise.all( - dtsEntries.map(async (entryPoint) => { - return limited(async () => { - for (let attempt = 1; attempt <= MAX_DTS_ATTEMPTS; attempt++) { - let timer: ReturnType | undefined; - const dtsProcess = spawn( - `"${join(ROOT_DIRECTORY, 'node_modules', '.bin', 'jiti')}"`, - [`"${join(import.meta.dirname, 'dts-process.ts')}"`, `"${entryPoint}"`], - { - shell: true, - cwd: DIR_CWD, - stdio: ['ignore', 'inherit', 'pipe'], - } - ); - processes.push(dtsProcess); + if (dtsEntries.length === 0) { + return; + } - // Filter stderr to exclude messages containing "are imported from external module", which is an ignorable warning from rollup - dtsProcess.stderr?.on('data', (data) => { - const message = data.toString(); - if (!message.includes('are imported from external module')) { - process.stderr.write(data); - } - }); + const { typesExternal: external } = await getExternal(cwd); - await Promise.race([ - new Promise((resolve) => { - dtsProcess.on('exit', () => { - resolve(void 0); - }); - dtsProcess.on('error', () => { - resolve(void 0); - }); - dtsProcess.on('close', () => { - resolve(void 0); - }); - }), - new Promise((resolve) => { - timer = setTimeout(() => { - console.log('⌛ Timed out generating d.ts files for', entryPoint); + const externalFn = (id: string) => + external.some( + (dep: string) => + id === dep || + id.startsWith(`${dep}/`) || + id.includes(`${sep}node_modules${sep}${dep}${sep}`) + ); - dtsProcess.kill(408); // timed out - resolve(void 0); - }, 120000); - }), - ]); + // Build entry map: { 'client-logger/index': '/absolute/path/src/client-logger/index.ts', ... } + const entryMap: Record = {}; + for (const entry of dtsEntries) { + // ./src/client-logger/index.ts -> client-logger/index + const name = entry.replace(/^\.\/src\//, '').replace(/\.tsx?$/, ''); + entryMap[name] = join(cwd, entry); + } - if (timer) { - clearTimeout(timer); - } + // Use rolldown + rolldown-plugin-dts with tsgo for fast d.ts generation. + // tsgo (Go-based TypeScript compiler) runs once for all entries (~7s), + // then rolldown bundles the declarations natively in Rust. + const out = await rolldown({ + input: entryMap, + external: externalFn, + plugins: [ + dts({ + cwd, + tsconfig: join(cwd, 'tsconfig.json'), + tsgo: true, + emitDtsOnly: true, + }), + ], + logLevel: 'warn', + }); - if (dtsProcess.exitCode !== 0) { - if (attempt < MAX_DTS_ATTEMPTS) { - // Race: parallel DTS can read a .d.ts another process is still writing → invalid. Retry + delay usually fixes (flake in core:compile:production since #33759). - console.warn( - `⚠️ DTS failed for ${picocolors.cyan(relative(cwd, entryPoint))}, retrying (${attempt}/${MAX_DTS_ATTEMPTS})...` - ); - processes = processes.filter((p) => p !== dtsProcess); - await new Promise((r) => setTimeout(r, RETRY_DELAY_MS)); - continue; - } - console.error( - '\n❌ Generating types for', - picocolors.cyan(relative(cwd, entryPoint)), - ' failed' - ); - // If any fail after all retries, kill all the other processes and exit (bail) - processes.forEach((p) => p.kill()); - processes = []; - process.exit(dtsProcess.exitCode || 1); - } + await out.write({ dir: join(cwd, 'dist'), format: 'es' }); - if (!process.env.CI) { - console.log('✅ Generated types for', picocolors.cyan(join(DIR_REL, entryPoint))); - } - break; - } - }); - }) - ); + if (!process.env.CI) { + for (const entry of dtsEntries) { + console.log('Generated types for', picocolors.cyan(join(DIR_REL, entry))); + } + } } diff --git a/yarn.lock b/yarn.lock index fd7c58c042a9..52f663acf7d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -547,6 +547,20 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:8.0.0-rc.3": + version: 8.0.0-rc.3 + resolution: "@babel/generator@npm:8.0.0-rc.3" + dependencies: + "@babel/parser": "npm:^8.0.0-rc.3" + "@babel/types": "npm:^8.0.0-rc.3" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + "@types/jsesc": "npm:^2.5.0" + jsesc: "npm:^3.0.2" + checksum: 10c0/43363ccd8c5e18ea4c1c198f17158acabb4074f12ae64c5772f97fe58b9a377de445d9fd0b403812bc10dadff44fe356a07f6017f25732b021bba3654241a78e + languageName: node + linkType: hard + "@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.26.10, @babel/generator@npm:^7.26.9, @babel/generator@npm:^7.28.5, @babel/generator@npm:^7.29.0": version: 7.29.1 resolution: "@babel/generator@npm:7.29.1" @@ -744,6 +758,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:8.0.0-rc.3": + version: 8.0.0-rc.3 + resolution: "@babel/helper-validator-identifier@npm:8.0.0-rc.3" + checksum: 10c0/03236675006da83b8530ef95896042d5246989e2fdc8283a60882a14c7ce86dc18db6a6b12f18b638d6722adc5f1e721142889a331e12a6f7c0fba3e307fdc7f + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.28.5": version: 7.28.5 resolution: "@babel/helper-validator-identifier@npm:7.28.5" @@ -779,6 +800,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:8.0.0-rc.3, @babel/parser@npm:^8.0.0-beta.4, @babel/parser@npm:^8.0.0-rc.3": + version: 8.0.0-rc.3 + resolution: "@babel/parser@npm:8.0.0-rc.3" + dependencies: + "@babel/types": "npm:^8.0.0-rc.3" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/666f954d5744261e4fbfa32170ca0034bb96d624d1c0936eb6a5a76e196773e93b480a99c87621cc35bee00015fd27318a5bd0542efd747cb0499ad5d3e58b75 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.26.9, @babel/parser@npm:^7.28.5, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0, @babel/parser@npm:^7.4.5, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": version: 7.29.2 resolution: "@babel/parser@npm:7.29.2" @@ -4679,6 +4711,13 @@ __metadata: languageName: node linkType: hard +"@oxc-project/types@npm:=0.122.0": + version: 0.122.0 + resolution: "@oxc-project/types@npm:0.122.0" + checksum: 10c0/2c64dd0db949426fd0c86d4f61eded5902e7b7b166356a825bd3a248aeaa29a495f78918f66ab78e99644b67bd7556096e2a8123cec74ca4141c604f424f4f74 + languageName: node + linkType: hard + "@oxc-resolver/binding-android-arm-eabi@npm:11.14.0": version: 11.14.0 resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.14.0" @@ -4814,6 +4853,148 @@ __metadata: languageName: node linkType: hard +"@oxc-transform/binding-android-arm-eabi@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-android-arm-eabi@npm:0.121.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxc-transform/binding-android-arm64@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-android-arm64@npm:0.121.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-transform/binding-darwin-arm64@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-darwin-arm64@npm:0.121.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-transform/binding-darwin-x64@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-darwin-x64@npm:0.121.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-transform/binding-freebsd-x64@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-freebsd-x64@npm:0.121.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-transform/binding-linux-arm-gnueabihf@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-linux-arm-gnueabihf@npm:0.121.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-transform/binding-linux-arm-musleabihf@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-linux-arm-musleabihf@npm:0.121.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-transform/binding-linux-arm64-gnu@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-linux-arm64-gnu@npm:0.121.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-transform/binding-linux-arm64-musl@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-linux-arm64-musl@npm:0.121.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-transform/binding-linux-ppc64-gnu@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-linux-ppc64-gnu@npm:0.121.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-transform/binding-linux-riscv64-gnu@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-linux-riscv64-gnu@npm:0.121.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-transform/binding-linux-riscv64-musl@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-linux-riscv64-musl@npm:0.121.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxc-transform/binding-linux-s390x-gnu@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-linux-s390x-gnu@npm:0.121.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxc-transform/binding-linux-x64-gnu@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-linux-x64-gnu@npm:0.121.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-transform/binding-linux-x64-musl@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-linux-x64-musl@npm:0.121.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-transform/binding-openharmony-arm64@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-openharmony-arm64@npm:0.121.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-transform/binding-wasm32-wasi@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-wasm32-wasi@npm:0.121.0" + dependencies: + "@napi-rs/wasm-runtime": "npm:^1.1.1" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@oxc-transform/binding-win32-arm64-msvc@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-win32-arm64-msvc@npm:0.121.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-transform/binding-win32-ia32-msvc@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-win32-ia32-msvc@npm:0.121.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxc-transform/binding-win32-x64-msvc@npm:0.121.0": + version: 0.121.0 + resolution: "@oxc-transform/binding-win32-x64-msvc@npm:0.121.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@oxfmt/binding-android-arm-eabi@npm:0.41.0": version: 0.41.0 resolution: "@oxfmt/binding-android-arm-eabi@npm:0.41.0" @@ -7322,6 +7503,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-android-arm64@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.12" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-android-arm64@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-android-arm64@npm:1.0.0-rc.9" @@ -7329,6 +7517,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-darwin-arm64@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-rc.9" @@ -7336,6 +7531,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-darwin-x64@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@rolldown/binding-darwin-x64@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-rc.9" @@ -7343,6 +7545,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-freebsd-x64@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.12" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-rc.9" @@ -7350,6 +7559,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.12" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-rc.9" @@ -7357,6 +7573,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.12" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-rc.9" @@ -7364,6 +7587,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.12" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-rc.9" @@ -7371,6 +7601,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.12" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.0-rc.9" @@ -7378,6 +7615,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.12" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.0-rc.9" @@ -7385,6 +7629,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.12" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-rc.9" @@ -7392,6 +7643,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.12" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-rc.9" @@ -7399,6 +7657,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.12" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-rc.9" @@ -7406,6 +7671,15 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.12" + dependencies: + "@napi-rs/wasm-runtime": "npm:^1.1.1" + conditions: cpu=wasm32 + languageName: node + linkType: hard + "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-rc.9" @@ -7415,6 +7689,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.12" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-rc.9" @@ -7422,6 +7703,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.12" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-rc.9" @@ -7443,6 +7731,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/pluginutils@npm:1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "@rolldown/pluginutils@npm:1.0.0-rc.12" + checksum: 10c0/f785d1180ea4876bf6a6a67135822808d1c07f902409524ff1088779f7d5318f6e603d281fb107a5145c1ca54b7cabebd359629ec474ebbc2812f2cf53db4023 + languageName: node + linkType: hard + "@rolldown/pluginutils@npm:1.0.0-rc.3": version: 1.0.0-rc.3 resolution: "@rolldown/pluginutils@npm:1.0.0-rc.3" @@ -8699,13 +8994,17 @@ __metadata: "@nx/workspace": "npm:^22.6.1" "@playwright/test": "npm:^1.58.2" "@types/kill-port": "npm:^2.0.3" + "@typescript/native-preview": "npm:^7.0.0-dev.20260325.1" http-server: "npm:^14.1.1" husky: "npm:^9.1.7" jiti: "npm:^2.6.1" kill-port: "npm:^2.0.1" lint-staged: "npm:^16.4.0" nx: "npm:^22.6.1" + oxc-transform: "npm:0.121.0" oxfmt: "npm:^0.41.0" + rolldown: "npm:^1.0.0-rc.12" + rolldown-plugin-dts: "npm:^0.23.0" std-env: "npm:^4.0.0" vite: "npm:^7.0.4" vitest: "npm:^4.1.0" @@ -9714,6 +10013,13 @@ __metadata: languageName: node linkType: hard +"@types/jsesc@npm:^2.5.0": + version: 2.5.1 + resolution: "@types/jsesc@npm:2.5.1" + checksum: 10c0/12ba7bf5968aeeb36408269f4b5a39718efc6411fa197cf0f5e967ba36ad7b7d555b78787fc480db43ce63ebe6ab0ffe5fd9f64b1ea3b0d073877f0747491b30 + languageName: node + linkType: hard + "@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" @@ -10407,6 +10713,87 @@ __metadata: languageName: node linkType: hard +"@typescript/native-preview-darwin-arm64@npm:7.0.0-dev.20260325.1": + version: 7.0.0-dev.20260325.1 + resolution: "@typescript/native-preview-darwin-arm64@npm:7.0.0-dev.20260325.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/native-preview-darwin-x64@npm:7.0.0-dev.20260325.1": + version: 7.0.0-dev.20260325.1 + resolution: "@typescript/native-preview-darwin-x64@npm:7.0.0-dev.20260325.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@typescript/native-preview-linux-arm64@npm:7.0.0-dev.20260325.1": + version: 7.0.0-dev.20260325.1 + resolution: "@typescript/native-preview-linux-arm64@npm:7.0.0-dev.20260325.1" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/native-preview-linux-arm@npm:7.0.0-dev.20260325.1": + version: 7.0.0-dev.20260325.1 + resolution: "@typescript/native-preview-linux-arm@npm:7.0.0-dev.20260325.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@typescript/native-preview-linux-x64@npm:7.0.0-dev.20260325.1": + version: 7.0.0-dev.20260325.1 + resolution: "@typescript/native-preview-linux-x64@npm:7.0.0-dev.20260325.1" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@typescript/native-preview-win32-arm64@npm:7.0.0-dev.20260325.1": + version: 7.0.0-dev.20260325.1 + resolution: "@typescript/native-preview-win32-arm64@npm:7.0.0-dev.20260325.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@typescript/native-preview-win32-x64@npm:7.0.0-dev.20260325.1": + version: 7.0.0-dev.20260325.1 + resolution: "@typescript/native-preview-win32-x64@npm:7.0.0-dev.20260325.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@typescript/native-preview@npm:^7.0.0-dev.20260325.1": + version: 7.0.0-dev.20260325.1 + resolution: "@typescript/native-preview@npm:7.0.0-dev.20260325.1" + dependencies: + "@typescript/native-preview-darwin-arm64": "npm:7.0.0-dev.20260325.1" + "@typescript/native-preview-darwin-x64": "npm:7.0.0-dev.20260325.1" + "@typescript/native-preview-linux-arm": "npm:7.0.0-dev.20260325.1" + "@typescript/native-preview-linux-arm64": "npm:7.0.0-dev.20260325.1" + "@typescript/native-preview-linux-x64": "npm:7.0.0-dev.20260325.1" + "@typescript/native-preview-win32-arm64": "npm:7.0.0-dev.20260325.1" + "@typescript/native-preview-win32-x64": "npm:7.0.0-dev.20260325.1" + dependenciesMeta: + "@typescript/native-preview-darwin-arm64": + optional: true + "@typescript/native-preview-darwin-x64": + optional: true + "@typescript/native-preview-linux-arm": + optional: true + "@typescript/native-preview-linux-arm64": + optional: true + "@typescript/native-preview-linux-x64": + optional: true + "@typescript/native-preview-win32-arm64": + optional: true + "@typescript/native-preview-win32-x64": + optional: true + bin: + tsgo: bin/tsgo.js + checksum: 10c0/3e835eb99fb1cd1389df77a20614de91a653b93ba96962b3f5349e922dd1c848bd72c64f4a715abeec5ec6f2e1a3b1c57e7289c7ba811c81ee6aefa68ccddf66 + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": version: 1.3.0 resolution: "@ungap/structured-clone@npm:1.3.0" @@ -12221,6 +12608,17 @@ __metadata: languageName: node linkType: hard +"ast-kit@npm:^3.0.0-beta.1": + version: 3.0.0-beta.1 + resolution: "ast-kit@npm:3.0.0-beta.1" + dependencies: + "@babel/parser": "npm:^8.0.0-beta.4" + estree-walker: "npm:^3.0.3" + pathe: "npm:^2.0.3" + checksum: 10c0/27a0309d495100e088c6aa6449e2bb79fdf6321c42bb73c196d646935ff788c2202d8dfc19e04499c623f0676cbe5d6baaeb645ede4b349fac2bd5c276419d5a + languageName: node + linkType: hard + "ast-metadata-inferer@npm:^0.8.1": version: 0.8.1 resolution: "ast-metadata-inferer@npm:0.8.1" @@ -12787,6 +13185,13 @@ __metadata: languageName: node linkType: hard +"birpc@npm:^4.0.0": + version: 4.0.0 + resolution: "birpc@npm:4.0.0" + checksum: 10c0/61f4e893ff4c5948b2c587c971c04883af0d8b2658d4632c8e77073db9f9e8b040402f985d56308021890b2ad32ef8392e36a8335cab1e3771d99e1b025d1af6 + languageName: node + linkType: hard + "bl@npm:^1.0.0": version: 1.2.3 resolution: "bl@npm:1.2.3" @@ -15414,6 +15819,18 @@ __metadata: languageName: node linkType: hard +"dts-resolver@npm:^2.1.3": + version: 2.1.3 + resolution: "dts-resolver@npm:2.1.3" + peerDependencies: + oxc-resolver: ">=11.0.0" + peerDependenciesMeta: + oxc-resolver: + optional: true + checksum: 10c0/bf589ba9bfacdb23ff9c075948175f5a21ae0bccb2ca36f8315bff2729358902256ee7aca972f5b259641f08a4b5973034e082a730113d5af76e64062e45fe3a + languageName: node + linkType: hard + "dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": version: 1.0.1 resolution: "dunder-proto@npm:1.0.1" @@ -18301,6 +18718,15 @@ __metadata: languageName: node linkType: hard +"get-tsconfig@npm:^4.13.7": + version: 4.13.7 + resolution: "get-tsconfig@npm:4.13.7" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10c0/1118eb7e9b27bce0b9b6f042e98f0d067e26dfa1ca32bc4b56e892b615b57a5a4af9e6f801c7b0611a4afef2e31c4941be4c6026e0e6a480aaf1ddaf261113d5 + languageName: node + linkType: hard + "getpass@npm:^0.1.1": version: 0.1.7 resolution: "getpass@npm:0.1.7" @@ -24079,6 +24505,75 @@ __metadata: languageName: node linkType: hard +"oxc-transform@npm:0.121.0": + version: 0.121.0 + resolution: "oxc-transform@npm:0.121.0" + dependencies: + "@oxc-transform/binding-android-arm-eabi": "npm:0.121.0" + "@oxc-transform/binding-android-arm64": "npm:0.121.0" + "@oxc-transform/binding-darwin-arm64": "npm:0.121.0" + "@oxc-transform/binding-darwin-x64": "npm:0.121.0" + "@oxc-transform/binding-freebsd-x64": "npm:0.121.0" + "@oxc-transform/binding-linux-arm-gnueabihf": "npm:0.121.0" + "@oxc-transform/binding-linux-arm-musleabihf": "npm:0.121.0" + "@oxc-transform/binding-linux-arm64-gnu": "npm:0.121.0" + "@oxc-transform/binding-linux-arm64-musl": "npm:0.121.0" + "@oxc-transform/binding-linux-ppc64-gnu": "npm:0.121.0" + "@oxc-transform/binding-linux-riscv64-gnu": "npm:0.121.0" + "@oxc-transform/binding-linux-riscv64-musl": "npm:0.121.0" + "@oxc-transform/binding-linux-s390x-gnu": "npm:0.121.0" + "@oxc-transform/binding-linux-x64-gnu": "npm:0.121.0" + "@oxc-transform/binding-linux-x64-musl": "npm:0.121.0" + "@oxc-transform/binding-openharmony-arm64": "npm:0.121.0" + "@oxc-transform/binding-wasm32-wasi": "npm:0.121.0" + "@oxc-transform/binding-win32-arm64-msvc": "npm:0.121.0" + "@oxc-transform/binding-win32-ia32-msvc": "npm:0.121.0" + "@oxc-transform/binding-win32-x64-msvc": "npm:0.121.0" + dependenciesMeta: + "@oxc-transform/binding-android-arm-eabi": + optional: true + "@oxc-transform/binding-android-arm64": + optional: true + "@oxc-transform/binding-darwin-arm64": + optional: true + "@oxc-transform/binding-darwin-x64": + optional: true + "@oxc-transform/binding-freebsd-x64": + optional: true + "@oxc-transform/binding-linux-arm-gnueabihf": + optional: true + "@oxc-transform/binding-linux-arm-musleabihf": + optional: true + "@oxc-transform/binding-linux-arm64-gnu": + optional: true + "@oxc-transform/binding-linux-arm64-musl": + optional: true + "@oxc-transform/binding-linux-ppc64-gnu": + optional: true + "@oxc-transform/binding-linux-riscv64-gnu": + optional: true + "@oxc-transform/binding-linux-riscv64-musl": + optional: true + "@oxc-transform/binding-linux-s390x-gnu": + optional: true + "@oxc-transform/binding-linux-x64-gnu": + optional: true + "@oxc-transform/binding-linux-x64-musl": + optional: true + "@oxc-transform/binding-openharmony-arm64": + optional: true + "@oxc-transform/binding-wasm32-wasi": + optional: true + "@oxc-transform/binding-win32-arm64-msvc": + optional: true + "@oxc-transform/binding-win32-ia32-msvc": + optional: true + "@oxc-transform/binding-win32-x64-msvc": + optional: true + checksum: 10c0/5e80bbaf1149db25a307e9b759b379632e790797a18be9dc255fec45270837d742875b9e5bda953fec243e15d5882ba4f7d85386106fe8c16cc0a0f715369874 + languageName: node + linkType: hard + "oxfmt@npm:^0.41.0": version: 0.41.0 resolution: "oxfmt@npm:0.41.0" @@ -27043,6 +27538,38 @@ __metadata: languageName: node linkType: hard +"rolldown-plugin-dts@npm:^0.23.0": + version: 0.23.0 + resolution: "rolldown-plugin-dts@npm:0.23.0" + dependencies: + "@babel/generator": "npm:8.0.0-rc.3" + "@babel/helper-validator-identifier": "npm:8.0.0-rc.3" + "@babel/parser": "npm:8.0.0-rc.3" + "@babel/types": "npm:8.0.0-rc.3" + ast-kit: "npm:^3.0.0-beta.1" + birpc: "npm:^4.0.0" + dts-resolver: "npm:^2.1.3" + get-tsconfig: "npm:^4.13.7" + obug: "npm:^2.1.1" + peerDependencies: + "@ts-macro/tsc": ^0.3.6 + "@typescript/native-preview": ">=7.0.0-dev.20260325.1" + rolldown: ^1.0.0-rc.12 + typescript: ^5.0.0 || ^6.0.0 + vue-tsc: ~3.2.0 + peerDependenciesMeta: + "@ts-macro/tsc": + optional: true + "@typescript/native-preview": + optional: true + typescript: + optional: true + vue-tsc: + optional: true + checksum: 10c0/5294f4d5f2e5ea02933a9239cd0bfd76223500e69cc7bfbea3fd1fdd0b1dd7d45da0945b5ba341e8bda8da12759f7e278ba6887109ebee563f27084c9dc323df + languageName: node + linkType: hard + "rolldown@npm:1.0.0-rc.9": version: 1.0.0-rc.9 resolution: "rolldown@npm:1.0.0-rc.9" @@ -27101,6 +27628,64 @@ __metadata: languageName: node linkType: hard +"rolldown@npm:^1.0.0-rc.12": + version: 1.0.0-rc.12 + resolution: "rolldown@npm:1.0.0-rc.12" + dependencies: + "@oxc-project/types": "npm:=0.122.0" + "@rolldown/binding-android-arm64": "npm:1.0.0-rc.12" + "@rolldown/binding-darwin-arm64": "npm:1.0.0-rc.12" + "@rolldown/binding-darwin-x64": "npm:1.0.0-rc.12" + "@rolldown/binding-freebsd-x64": "npm:1.0.0-rc.12" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.0-rc.12" + "@rolldown/binding-linux-arm64-gnu": "npm:1.0.0-rc.12" + "@rolldown/binding-linux-arm64-musl": "npm:1.0.0-rc.12" + "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.0-rc.12" + "@rolldown/binding-linux-s390x-gnu": "npm:1.0.0-rc.12" + "@rolldown/binding-linux-x64-gnu": "npm:1.0.0-rc.12" + "@rolldown/binding-linux-x64-musl": "npm:1.0.0-rc.12" + "@rolldown/binding-openharmony-arm64": "npm:1.0.0-rc.12" + "@rolldown/binding-wasm32-wasi": "npm:1.0.0-rc.12" + "@rolldown/binding-win32-arm64-msvc": "npm:1.0.0-rc.12" + "@rolldown/binding-win32-x64-msvc": "npm:1.0.0-rc.12" + "@rolldown/pluginutils": "npm:1.0.0-rc.12" + dependenciesMeta: + "@rolldown/binding-android-arm64": + optional: true + "@rolldown/binding-darwin-arm64": + optional: true + "@rolldown/binding-darwin-x64": + optional: true + "@rolldown/binding-freebsd-x64": + optional: true + "@rolldown/binding-linux-arm-gnueabihf": + optional: true + "@rolldown/binding-linux-arm64-gnu": + optional: true + "@rolldown/binding-linux-arm64-musl": + optional: true + "@rolldown/binding-linux-ppc64-gnu": + optional: true + "@rolldown/binding-linux-s390x-gnu": + optional: true + "@rolldown/binding-linux-x64-gnu": + optional: true + "@rolldown/binding-linux-x64-musl": + optional: true + "@rolldown/binding-openharmony-arm64": + optional: true + "@rolldown/binding-wasm32-wasi": + optional: true + "@rolldown/binding-win32-arm64-msvc": + optional: true + "@rolldown/binding-win32-x64-msvc": + optional: true + bin: + rolldown: bin/cli.mjs + checksum: 10c0/0c4e5e3cdcdddce282cb2d84e1c98d6ad8d4e452d5c1402e498b35ec1060026e552dd783efc9f4ba876d7c0863b5973edc79b6a546f565e9832dc1077ec18c2c + languageName: node + linkType: hard + "rollup-plugin-dts@npm:^6.1.1": version: 6.1.1 resolution: "rollup-plugin-dts@npm:6.1.1"