diff --git a/.github/workflows/extension-release.yml b/.github/workflows/extension-release.yml index 6102269aa7..175f6b309d 100644 --- a/.github/workflows/extension-release.yml +++ b/.github/workflows/extension-release.yml @@ -21,11 +21,7 @@ jobs: - run: pnpm install -g ovsx - run: pnpm install --frozen-lockfile - - run: pnpm run build:minify && pnpm ovsx publish + - run: pnpm run build:prod && pnpm ovsx publish working-directory: extensions/vscode env: OVSX_PAT: ${{ secrets.OVSX_PAT }} - # - run: pnpm ovsx publish - # working-directory: extensions/vscode-typescript-plugin - # env: - # OVSX_PAT: ${{ secrets.OVSX_PAT }} diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 070d88eb16..00b138e8a6 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -25,9 +25,16 @@ "panel": "dedicated", "reveal": "never" }, - "problemMatcher": [ - "$tsc-watch" - ] + "problemMatcher": { + "pattern": { + "regexp": "__________" + }, + "background": { + "activeOnStart": true, + "beginsPattern": " ", + "endsPattern": "Waiting for changes..." + } + } } ] } \ No newline at end of file diff --git a/extensions/vscode/client.js b/extensions/vscode/client.js deleted file mode 100644 index 297ee3763a..0000000000 --- a/extensions/vscode/client.js +++ /dev/null @@ -1,5 +0,0 @@ -try { - module.exports = require('./out/nodeClientMain'); -} catch { - module.exports = require('./dist/client'); -} diff --git a/extensions/vscode/package.json b/extensions/vscode/package.json index c75d03a4e0..e05222f65f 100644 --- a/extensions/vscode/package.json +++ b/extensions/vscode/package.json @@ -26,7 +26,7 @@ "onLanguage:markdown", "onLanguage:html" ], - "main": "./client.js", + "main": "./dist/client.js", "browser": "./web.js", "capabilities": { "virtualWorkspaces": { @@ -485,18 +485,15 @@ ] }, "scripts": { - "prebuild": "pnpm run postinstall && pnpm -C ../.. run build", - "build": "node scripts/build", - "build:minify": "pnpm run build -- --minify", - "watch": "pnpm run build -- --watch", - "pack": "pnpm run build:minify && vsce package", - "pack:next": "pnpm run build && vsce package", - "release": "pnpm run build:minify && vsce publish", - "release:next": "pnpm run build && vsce publish --pre-release", - "size": "pnpm run build:minify -- --metafile && esbuild-visualizer --metadata ./meta.json && open ./stats.html", + "build:dev": "rolldown --config", + "build:prod": "rolldown --minify --config", + "watch": "rolldown --watch --config", + "pack": "pnpm run build:prod && vsce package", + "release": "pnpm run build:prod && vsce publish", "postinstall": "vscode-ext-gen --scope vue" }, "devDependencies": { + "@types/node": "^22.10.4", "@types/semver": "^7.5.3", "@types/vscode": "^1.82.0", "@volar/vscode": "~2.4.13", @@ -504,9 +501,8 @@ "@vue/language-core": "3.0.0-alpha.4", "@vue/language-server": "3.0.0-alpha.4", "@vue/typescript-plugin": "3.0.0-alpha.4", - "esbuild": "^0.25.0", - "esbuild-visualizer": "^0.7.0", "reactive-vscode": "^0.2.9", + "rolldown": "1.0.0-beta.8", "semver": "^7.5.4", "vscode-ext-gen": "^0.5.0", "vscode-tmlanguage-snapshot": "^0.1.3" diff --git a/extensions/vscode/rolldown.config.ts b/extensions/vscode/rolldown.config.ts new file mode 100644 index 0000000000..a9e114bc26 --- /dev/null +++ b/extensions/vscode/rolldown.config.ts @@ -0,0 +1,61 @@ +import * as fs from 'node:fs'; +import * as path from 'node:path'; +import { defineConfig } from 'rolldown'; + +const resolve = (...paths: string[]) => path.resolve(__dirname, ...paths); + +export default defineConfig({ + input: { + 'client': './src/nodeClientMain.ts', + 'server': './node_modules/@vue/language-server/node.ts', + 'plugin': './node_modules/@vue/typescript-plugin/index.ts', + }, + output: { + format: 'cjs', + sourcemap: !process.argv.includes('--minify'), + }, + define: { + 'process.env.NODE_ENV': '"production"', + }, + external: ['vscode'], + plugins: [ + { + name: 'umd2esm', + resolveId: { + filter: { + id: /^(vscode-.*-languageservice|vscode-languageserver-types|jsonc-parser)$/, + }, + handler(source, importer) { + const pathUmdMay = require.resolve(source, { paths: [importer!] }); + // Call twice the replace is to solve the problem of the path in Windows + const pathEsm = pathUmdMay.replace('/umd/', '/esm/').replace('\\umd\\', '\\esm\\'); + return { id: pathEsm }; + }, + }, + }, + { + name: 'clean', + buildStart() { + fs.rmSync(resolve('./dist'), { recursive: true, force: true }); + }, + }, + { + name: 'schemas', + buildEnd() { + fs.cpSync( + resolve('./node_modules/@vue/language-core/schemas/vue-tsconfig.schema.json'), + resolve('./dist/schemas/vue-tsconfig.schema.json'), + { recursive: true } + ); + }, + }, + { + name: 'typescript-plugin', + buildEnd() { + const dir = './node_modules/vue-typescript-plugin-pack'; + fs.mkdirSync(resolve(dir), { recursive: true }); + fs.writeFileSync(resolve(dir, 'index.js'), `module.exports = require('../../dist/plugin.js');`); + }, + }, + ], +}); diff --git a/extensions/vscode/scripts/build.js b/extensions/vscode/scripts/build.js deleted file mode 100644 index e37e4868de..0000000000 --- a/extensions/vscode/scripts/build.js +++ /dev/null @@ -1,106 +0,0 @@ -// @ts-check -const path = require('path'); -const fs = require('fs'); - -require('esbuild').context({ - entryPoints: { - 'dist/client': './out/nodeClientMain.js', - 'dist/server': './node_modules/@vue/language-server/bin/vue-language-server.js', - 'node_modules/vue-language-core-pack/index': './node_modules/@vue/language-core/index.js', - 'node_modules/vue-typescript-plugin-pack/index': './node_modules/@vue/typescript-plugin/index.js', - }, - bundle: true, - metafile: process.argv.includes('--metafile'), - outdir: '.', - external: ['vscode'], - format: 'cjs', - platform: 'node', - tsconfig: './tsconfig.json', - define: { 'process.env.NODE_ENV': '"production"' }, - minify: process.argv.includes('--minify'), - plugins: [ - { - name: 'umd2esm', - setup(build) { - build.onResolve({ filter: /^(vscode-.*-languageservice|vscode-languageserver-types|jsonc-parser)$/ }, args => { - const pathUmdMay = require.resolve(args.path, { paths: [args.resolveDir] }); - // Call twice the replace is to solve the problem of the path in Windows - const pathEsm = pathUmdMay.replace('/umd/', '/esm/').replace('\\umd\\', '\\esm\\'); - return { path: pathEsm }; - }); - build.onResolve({ filter: /^vscode-uri$/ }, args => { - const pathUmdMay = require.resolve(args.path, { paths: [args.resolveDir] }); - // v3 - let pathEsm = pathUmdMay.replace('/umd/index.js', '/esm/index.mjs').replace('\\umd\\index.js', '\\esm\\index.mjs'); - if (pathEsm !== pathUmdMay && fs.existsSync(pathEsm)) { - return { path: pathEsm }; - } - // v2 - pathEsm = pathUmdMay.replace('/umd/', '/esm/').replace('\\umd\\', '\\esm\\'); - return { path: pathEsm }; - }); - }, - }, - { - name: 'resolve-share-module', - setup(build) { - build.onResolve({ filter: /^@vue\/language-core$/ }, () => { - return { - path: 'vue-language-core-pack', - external: true, - }; - }); - }, - }, - { - name: 'typescript-plugin-development', - setup(build) { - build.onEnd(() => { - if (!process.argv.includes('--minify')) { - fs.writeFileSync( - path.resolve(__dirname, '../node_modules/vue-typescript-plugin-pack/index.js'), - 'module.exports = require(\'@vue/typescript-plugin\');' - ); - } - }); - }, - }, - { - name: 'schemas', - setup(build) { - build.onEnd(() => { - if (!fs.existsSync(path.resolve(__dirname, '../dist/schemas'))) { - fs.mkdirSync(path.resolve(__dirname, '../dist/schemas')); - } - fs.cpSync( - path.resolve(__dirname, '../node_modules/@vue/language-core/schemas/vue-tsconfig.schema.json'), - path.resolve(__dirname, '../dist/schemas/vue-tsconfig.schema.json'), - ); - }); - }, - }, - { - name: 'meta', - setup(build) { - build.onEnd((result) => { - if (result.metafile && result.errors.length === 0) { - fs.writeFileSync( - path.resolve(__dirname, '../meta.json'), - JSON.stringify(result.metafile), - ); - } - }); - }, - }, - ], -}).then(async ctx => { - console.log('building...'); - if (process.argv.includes('--watch')) { - await ctx.watch(); - console.log('watching...'); - } else { - await ctx.rebuild(); - await ctx.dispose(); - console.log('finished.'); - } -}); diff --git a/extensions/vscode/server.js b/extensions/vscode/server.js deleted file mode 100644 index 9e69eb2101..0000000000 --- a/extensions/vscode/server.js +++ /dev/null @@ -1,5 +0,0 @@ -try { - module.exports = require('@vue/language-server/bin/vue-language-server'); -} catch { - module.exports = require('./dist/server'); -} diff --git a/extensions/vscode/src/nodeClientMain.ts b/extensions/vscode/src/nodeClientMain.ts index 36f3d92551..a1e9545e97 100644 --- a/extensions/vscode/src/nodeClientMain.ts +++ b/extensions/vscode/src/nodeClientMain.ts @@ -1,7 +1,6 @@ import { createLabsInfo } from '@volar/vscode'; import * as lsp from '@volar/vscode/node'; import * as protocol from '@vue/language-server/protocol'; -import * as fs from 'node:fs'; import { defineExtension, executeCommand, extensionContext, onDeactivate } from 'reactive-vscode'; import * as vscode from 'vscode'; import { config } from './config'; @@ -50,7 +49,7 @@ export const { activate, deactivate } = defineExtension(async () => { } } - let serverModule = vscode.Uri.joinPath(context.extensionUri, 'server.js'); + let serverModule = vscode.Uri.joinPath(context.extensionUri, 'dist', 'server.js'); const serverOptions: lsp.ServerOptions = { run: { @@ -134,6 +133,7 @@ function updateProviders(client: lsp.LanguageClient) { } try { + const fs = require('node:fs'); const tsExtension = vscode.extensions.getExtension('vscode.typescript-language-features')!; const readFileSync = fs.readFileSync; const extensionJsPath = require.resolve('./dist/extension.js', { @@ -143,7 +143,6 @@ try { // @ts-expect-error fs.readFileSync = (...args) => { if (args[0] === extensionJsPath) { - // @ts-expect-error let text = readFileSync(...args) as string; // patch readPlugins @@ -196,7 +195,6 @@ try { return text; } - // @ts-expect-error return readFileSync(...args); }; diff --git a/extensions/vscode/tsconfig.json b/extensions/vscode/tsconfig.json index 72039a705b..a1ce8af2b6 100644 --- a/extensions/vscode/tsconfig.json +++ b/extensions/vscode/tsconfig.json @@ -1,14 +1,9 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "outDir": "out", - "rootDir": "src", + "noEmit": true, "module": "CommonJS", "moduleResolution": "Node" }, - "include": [ "src" ], - "references": [ - { "path": "../../packages/language-server/tsconfig.json" }, - { "path": "../../packages/typescript-plugin/tsconfig.json" }, - ], + "include": [ "src", "rolldown.config.ts" ] } \ No newline at end of file diff --git a/package.json b/package.json index b493a8363e..2affa66603 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,7 @@ "packageManager": "pnpm@10.4.1", "scripts": { "build": "tsc -b", - "watch": "pnpm run build && pnpm run \"/^watch:.*/\"", - "watch:base": "tsc -b -w", - "watch:vue": "cd ./extensions/vscode && pnpm run watch", + "watch": "cd ./extensions/vscode && pnpm run watch", "prerelease": "pnpm run build && pnpm run test", "release": "pnpm run release:base && pnpm run release:vue", "release:base": "lerna publish --exact --force-publish --yes --sync-workspace-lock --no-git-tag-version", @@ -34,7 +32,8 @@ "@tsslint/core", "@vscode/vsce-sign", "esbuild", - "keytar" + "keytar", + "rolldown" ] } } diff --git a/packages/language-server/tsconfig.json b/packages/language-server/tsconfig.json index 6ef22a3ffe..c66ba78bd0 100644 --- a/packages/language-server/tsconfig.json +++ b/packages/language-server/tsconfig.json @@ -3,8 +3,8 @@ "include": [ "*", "lib/**/*" ], "exclude": [ "tests" ], "references": [ + { "path": "../component-meta/tsconfig.json" }, { "path": "../language-core/tsconfig.json" }, { "path": "../language-service/tsconfig.json" }, - { "path": "../component-meta/tsconfig.json" }, ], } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d958319849..fe1487f807 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,6 +35,9 @@ importers: extensions/vscode: devDependencies: + '@types/node': + specifier: ^22.10.4 + version: 22.15.2 '@types/semver': specifier: ^7.5.3 version: 7.7.0 @@ -56,15 +59,12 @@ importers: '@vue/typescript-plugin': specifier: 3.0.0-alpha.4 version: link:../../packages/typescript-plugin - esbuild: - specifier: ^0.25.0 - version: 0.25.3 - esbuild-visualizer: - specifier: ^0.7.0 - version: 0.7.0 reactive-vscode: specifier: ^0.2.9 version: 0.2.14(@types/vscode@1.99.1) + rolldown: + specifier: 1.0.0-beta.8 + version: 1.0.0-beta.8(typescript@5.8.3) semver: specifier: ^7.5.4 version: 7.7.1 @@ -431,6 +431,15 @@ packages: '@emmetio/stream-reader@2.2.0': resolution: {integrity: sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==} + '@emnapi/core@1.4.3': + resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} + + '@emnapi/runtime@1.4.3': + resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + + '@emnapi/wasi-threads@1.0.2': + resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} + '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -888,6 +897,9 @@ packages: resolution: {integrity: sha512-VxP+PLlw62B14hP5g19RA6svqZHNN4J1P2eIzDpwQb2RNeBMuZMUveJMgiZVKF5nNjCh2mm4mKk11wcTr+v+vw==} engines: {node: ^18.0.0 || >=20.0.0} + '@napi-rs/wasm-runtime@0.2.9': + resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1019,6 +1031,9 @@ packages: '@octokit/types@14.0.0': resolution: {integrity: sha512-VVmZP0lEhbo2O1pdq63gZFiGCKkm8PPp8AUOijlwPO6hojEVjspA0MWKP7E4hbvGxzFKNqKr6p0IYtOH/Wf/zA==} + '@oxc-project/types@0.65.0': + resolution: {integrity: sha512-7MpMzyXCcwxrTxJ4L0siy63Ds/LA8LAM4szumTFiynxTJkfrIZEV4PyR4Th0CqFZQ+oNi8WvW3Dr1MLy7o9qPQ==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1026,6 +1041,66 @@ packages: '@reactive-vscode/reactivity@0.2.14': resolution: {integrity: sha512-Rb3+kBX9A55C+4OKqVe4XGWtG7eGWo+E/8n0eSmbpmOEdZq3r5+SNEfEe3U0OdaCMT2r59R6kkK2QVfZpdBKhA==} + '@rolldown/binding-darwin-arm64@1.0.0-beta.8': + resolution: {integrity: sha512-4cwzBnUvPUVdjUMo9uFkcTvj+Z6IXaN/YJSz1RuI/DG5+vlQ9wYfKeDkvb1nsrhi4ZJ99OInOw1Vh/n2ReX8rA==} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.0-beta.8': + resolution: {integrity: sha512-BYI7UXc0UqjdpmEyNpxulv8cYbTdL7zLzIr6GDdIvHH7fe/pKTmC9GpvkpF/j2cyP0SUKTd6ExX7nFDNDqKMBw==} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.0.0-beta.8': + resolution: {integrity: sha512-KsX/nuGiuNugIeBelN7M7c/8kzcAW6IfH080z9IrIrlCaGa+xwjqMAf7JuYLZo82uokFq8nql0YpQIazFwFR0Q==} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.8': + resolution: {integrity: sha512-IzmoAB9J9iOnoC2Nb6AlyIPPULcbLb0qtJDq21+95u/qiE2GYtI5M4aNudbAIdyv0MU4SAdhkG2sXjMo79H/Zg==} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.8': + resolution: {integrity: sha512-nGtOvVKMywOlqoFiMJgILgCpdVcPe0psH1oCWtieMyFFU/v2h2ucjstAEeCOe+JfMVVA7OpdNoWKc54Y1V7gGw==} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.8': + resolution: {integrity: sha512-paTZphpweKHNwlIu0JTAJCddn/psFzNUaKeGEY4vTQEqDcewKp9SsxN7240ao1eqTYy6TMFJiX6Ej2ym93MkSQ==} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.8': + resolution: {integrity: sha512-Pdt5iaG/wlWTvEz1lZ3kDkmVXM7DxQXPFZUX/UjDnUyxf4vSgxszbSx1tiNdU0D9v1IISgBapANSwJOGtF1lWw==} + cpu: [x64] + os: [linux] + + '@rolldown/binding-linux-x64-musl@1.0.0-beta.8': + resolution: {integrity: sha512-8LoLgKq+Wb030p+tzw0JrOrbJrR2wmqfARX1CHIhge8LBoxd2lfHtWfkg23qRa1S8So/nBZBhrQsg2kXUkpwxw==} + cpu: [x64] + os: [linux] + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.8': + resolution: {integrity: sha512-+2y9Omf9tZRR44Y4EYqm3/Zq2f4Tv+Gh8NsExFWM6WpQZI3HyIB07lrTNQfOJgKSsAiUisnbjiPVTkiH5miy1w==} + engines: {node: '>=14.21.3'} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.8': + resolution: {integrity: sha512-bt5AOleb2yp+Br9Yzew+jbSEGjLoqGwknH0xhK8QkhXKx31sJLseaP7nFXr6JaEbmL4DVmAVgrOcyLzLbR6+Mw==} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.8': + resolution: {integrity: sha512-Fa1OH6eUWtjBNNkKiSSq1fHVMuiqQ+Bi9uMNJz7gBFgjNiAB9k9rQr0j9eF1k4H6lXFkuoN5P7pXty6aBh93Cw==} + cpu: [ia32] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.8': + resolution: {integrity: sha512-hR81d84Poe6oIxaz4PnWBLVF0VuqtRfISIyXQAgk2etu2udrKnWKr3A+xqXe9ELjbLlRYGvEm2dlw/cldO9Kxg==} + cpu: [x64] + os: [win32] + '@rollup/rollup-android-arm-eabi@4.40.0': resolution: {integrity: sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg==} cpu: [arm] @@ -1179,6 +1254,9 @@ packages: resolution: {integrity: sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==} engines: {node: ^16.14.0 || >=18.0.0} + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} @@ -1256,6 +1334,11 @@ packages: '@typescript/server-harness@0.3.5': resolution: {integrity: sha512-YT9oe27zm7HdGXYad5SZrdJzVe9eavG3F6YplsWvAraowGtuDeY7FHPVuQPtQj6GxG097Us4JDkA8n5I4iQovQ==} + '@valibot/to-json-schema@1.0.0': + resolution: {integrity: sha512-/9crJgPptVsGCL6X+JPDQyaJwkalSZ/52WuF8DiRUxJgcmpNdzYRfZ+gqMEP8W3CTVfuMWPqqvIgfwJ97f9Etw==} + peerDependencies: + valibot: ^1.0.0 + '@vitest/expect@2.1.9': resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==} @@ -1523,6 +1606,10 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + ansis@3.17.0: + resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} + engines: {node: '>=14'} + aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} @@ -1847,10 +1934,6 @@ packages: defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} @@ -1962,11 +2045,6 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - esbuild-visualizer@0.7.0: - resolution: {integrity: sha512-Vz22k+G2WT7GuCo7rbhaQwGbZ26lEhwzsctkEdQlu2SVrshoM4hzQeRpu/3DP596a9+9K2JyYsinuC6AC896Og==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -2340,11 +2418,6 @@ packages: resolution: {integrity: sha512-Ab9bQDQ11lWootZUI5qxgN2ZXwxNI5hTwnsvOc1wyxQ7zQ8OkEDw79mI0+9jI3x432NfwbVRru+3noJfXF6lSQ==} hasBin: true - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2408,10 +2481,6 @@ packages: resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} engines: {node: '>=8'} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - is-wsl@3.1.0: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} @@ -2836,10 +2905,6 @@ packages: resolution: {integrity: sha512-zy1wx4+P3PfhXSEPJNtZmJXfhkkIaxU1VauWIrDZw1O7uJRDRJtKr9n3Ic4NgbA16KyOxOXO2ng9gYwCdXuSXA==} engines: {node: '>=18'} - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -3148,6 +3213,15 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rolldown@1.0.0-beta.8: + resolution: {integrity: sha512-lwctoQjonOosxGhVbuoIARk8TNO2roqAh/ArhNmT/e/INMN+fzO0++yCypVZLZczOdgTARrYmsOEnTgMOt9sSg==} + hasBin: true + peerDependencies: + '@oxc-project/runtime': 0.65.0 + peerDependenciesMeta: + '@oxc-project/runtime': + optional: true + rollup@4.40.0: resolution: {integrity: sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -3520,6 +3594,14 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + valibot@1.0.0: + resolution: {integrity: sha512-1Hc0ihzWxBar6NGeZv7fPLY0QuxFMyxwYR2sF1Blu7Wq7EnremwY2W02tit2ij2VJT8HcSkHAQqmFfl77f73Yw==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -3964,6 +4046,22 @@ snapshots: '@emmetio/stream-reader@2.2.0': {} + '@emnapi/core@1.4.3': + dependencies: + '@emnapi/wasi-threads': 1.0.2 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.4.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.0.2': + dependencies: + tslib: 2.8.1 + optional: true + '@esbuild/aix-ppc64@0.21.5': optional: true @@ -4395,6 +4493,13 @@ snapshots: - supports-color - typescript + '@napi-rs/wasm-runtime@0.2.9': + dependencies: + '@emnapi/core': 1.4.3 + '@emnapi/runtime': 1.4.3 + '@tybys/wasm-util': 0.9.0 + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -4607,11 +4712,51 @@ snapshots: dependencies: '@octokit/openapi-types': 25.0.0 + '@oxc-project/types@0.65.0': {} + '@pkgjs/parseargs@0.11.0': optional: true '@reactive-vscode/reactivity@0.2.14': {} + '@rolldown/binding-darwin-arm64@1.0.0-beta.8': + optional: true + + '@rolldown/binding-darwin-x64@1.0.0-beta.8': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.0-beta.8': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.8': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.8': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.8': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.8': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.0-beta.8': + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.8': + dependencies: + '@napi-rs/wasm-runtime': 0.2.9 + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.8': + optional: true + + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.8': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.8': + optional: true + '@rollup/rollup-android-arm-eabi@4.40.0': optional: true @@ -4750,6 +4895,11 @@ snapshots: '@tufjs/canonical-json': 2.0.0 minimatch: 9.0.5 + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.8.1 + optional: true + '@types/estree@1.0.7': {} '@types/json-schema@7.0.15': {} @@ -4849,6 +4999,10 @@ snapshots: '@typescript/server-harness@0.3.5': {} + '@valibot/to-json-schema@1.0.0(valibot@1.0.0(typescript@5.8.3))': + dependencies: + valibot: 1.0.0(typescript@5.8.3) + '@vitest/expect@2.1.9': dependencies: '@vitest/spy': 2.1.9 @@ -5227,6 +5381,8 @@ snapshots: ansi-styles@6.2.1: {} + ansis@3.17.0: {} + aproba@2.0.0: {} argparse@2.0.1: {} @@ -5557,8 +5713,6 @@ snapshots: dependencies: clone: 1.0.4 - define-lazy-prop@2.0.0: {} - define-lazy-prop@3.0.0: {} delayed-stream@1.0.0: {} @@ -5665,12 +5819,6 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - esbuild-visualizer@0.7.0: - dependencies: - open: 8.4.2 - picomatch: 4.0.2 - yargs: 17.7.2 - esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -6119,8 +6267,6 @@ snapshots: dependencies: ci-info: 4.2.0 - is-docker@2.2.1: {} - is-docker@3.0.0: {} is-expression@4.0.0: @@ -6171,10 +6317,6 @@ snapshots: dependencies: text-extensions: 2.4.0 - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 @@ -6607,12 +6749,6 @@ snapshots: is-inside-container: 1.0.0 is-wsl: 3.1.0 - open@8.4.2: - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -6937,6 +7073,28 @@ snapshots: reusify@1.1.0: {} + rolldown@1.0.0-beta.8(typescript@5.8.3): + dependencies: + '@oxc-project/types': 0.65.0 + '@valibot/to-json-schema': 1.0.0(valibot@1.0.0(typescript@5.8.3)) + ansis: 3.17.0 + valibot: 1.0.0(typescript@5.8.3) + optionalDependencies: + '@rolldown/binding-darwin-arm64': 1.0.0-beta.8 + '@rolldown/binding-darwin-x64': 1.0.0-beta.8 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.8 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.8 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.8 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.8 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.8 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.8 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.8 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.8 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.8 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.8 + transitivePeerDependencies: + - typescript + rollup@4.40.0: dependencies: '@types/estree': 1.0.7 @@ -7302,6 +7460,10 @@ snapshots: uuid@8.3.2: {} + valibot@1.0.0(typescript@5.8.3): + optionalDependencies: + typescript: 5.8.3 + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 diff --git a/tsconfig.json b/tsconfig.json index a273185343..b6e1e26651 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,10 +5,9 @@ }, "include": [ "packages/*/tests" ], "references": [ - { "path": "./extensions/vscode/tsconfig.json" }, + { "path": "./packages/language-server/tsconfig.json" }, { "path": "./packages/language-plugin-pug/tsconfig.json" }, - { "path": "./packages/typescript-plugin/tsconfig.json" }, { "path": "./packages/tsc/tsconfig.json" }, - { "path": "./packages/component-meta/tsconfig.json" }, + { "path": "./packages/typescript-plugin/tsconfig.json" }, ], } \ No newline at end of file