From d7575583989f51c187fc209888b57ac5d20dade4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0?= Date: Thu, 14 May 2026 11:30:00 +0900 Subject: [PATCH 1/4] ci: add zizmor (#22442) --- .github/workflows/ci.yml | 5 ++++ .github/workflows/copilot-setup-steps.yml | 2 ++ .github/workflows/ecosystem-ci-trigger.yml | 4 ++- .github/workflows/issue-template-check.yml | 2 ++ .github/workflows/preview-release.yml | 6 +++- .github/workflows/publish.yml | 2 ++ .../workflows/pull-request-template-check.yml | 11 ++++--- .github/workflows/release-tag.yml | 2 ++ .github/workflows/semantic-pull-request.yml | 5 ++++ .github/workflows/zizmor.yml | 30 +++++++++++++++++++ .github/zizmor.yml | 9 ++++++ 11 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/zizmor.yml create mode 100644 .github/zizmor.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f30bbb478b2b56..a31d8d0ebd0f23 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,6 +43,7 @@ jobs: with: # Assume PRs are less than 50 commits fetch-depth: 50 + persist-credentials: false - name: Get changed files id: changed-files @@ -76,6 +77,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v6 + with: + persist-credentials: false - name: Install pnpm uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6 @@ -149,6 +152,8 @@ jobs: name: "Lint: node-24, ubuntu-latest" steps: - uses: actions/checkout@v6 + with: + persist-credentials: false - name: Install pnpm uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6 diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 63e272b0fd7e31..4206f5907ebe8e 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -15,6 +15,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v6 + with: + persist-credentials: false - name: Install pnpm uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6 diff --git a/.github/workflows/ecosystem-ci-trigger.yml b/.github/workflows/ecosystem-ci-trigger.yml index c0bbb2aa3355df..2fbe5782952832 100644 --- a/.github/workflows/ecosystem-ci-trigger.yml +++ b/.github/workflows/ecosystem-ci-trigger.yml @@ -107,9 +107,11 @@ jobs: - name: Check Package Existence uses: actions/github-script@v9 id: check-package + env: + PR_DATA: ${{ steps.get-pr-data.outputs.result }} with: script: | - const prData = ${{ steps.get-pr-data.outputs.result }} + const prData = JSON.parse(process.env.PR_DATA) const url = `https://pkg.pr.new/vite@${prData.commit}` const response = await fetch(url) console.log(`Package check URL: ${url}, Status: ${response.status}`) diff --git a/.github/workflows/issue-template-check.yml b/.github/workflows/issue-template-check.yml index 50b723d612c550..82d3677bce3da0 100644 --- a/.github/workflows/issue-template-check.yml +++ b/.github/workflows/issue-template-check.yml @@ -18,6 +18,8 @@ jobs: skip: ${{ steps.detect.outputs.skip }} steps: - uses: actions/checkout@v6 + with: + persist-credentials: false - name: Detect issue type id: detect diff --git a/.github/workflows/preview-release.yml b/.github/workflows/preview-release.yml index 46ce6cf9639994..b68f3b4b9bc925 100644 --- a/.github/workflows/preview-release.yml +++ b/.github/workflows/preview-release.yml @@ -24,6 +24,8 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v6 + with: + persist-credentials: false - name: Install pnpm uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6 @@ -52,4 +54,6 @@ jobs: working-directory: ./packages/plugin-legacy run: pnpm build - - run: pnpm dlx pkg-pr-new@0.0 publish --pnpm './packages/vite' './packages/plugin-legacy' --packageManager=pnpm,npm,yarn --commentWithDev + - name: Publish preview release + # zizmor: ignore[use-trusted-publishing] + run: pnpm dlx pkg-pr-new@0.0 publish --pnpm './packages/vite' './packages/plugin-legacy' --packageManager=pnpm,npm,yarn --commentWithDev diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 348b85f3852aaa..d1a552f47025a5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,6 +19,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v6 + with: + persist-credentials: false - name: Install pnpm uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6 diff --git a/.github/workflows/pull-request-template-check.yml b/.github/workflows/pull-request-template-check.yml index 93fff4b24f6697..40416bad753623 100644 --- a/.github/workflows/pull-request-template-check.yml +++ b/.github/workflows/pull-request-template-check.yml @@ -1,10 +1,11 @@ name: Pull Request Template Check -# SAFETY: pull_request_target is used here because: -# - The workflow does NOT check out PR code (actions/checkout checks out the base branch) -# - Only PR metadata (title, body) from the event payload is read -# - No PR-supplied code is executed on: + # zizmor: ignore[dangerous-triggers] + # SAFETY: pull_request_target is used here because: + # - The workflow does NOT check out PR code (actions/checkout checks out the base branch) + # - Only PR metadata (title, body) from the event payload is read + # - No PR-supplied code is executed pull_request_target: types: [opened] @@ -20,6 +21,8 @@ jobs: agent_output: ${{ steps.agent.outputs.agent_output }} steps: - uses: actions/checkout@v6 + with: + persist-credentials: false - uses: warpdotdev/oz-agent-action@ce1621abf6a8ed8afdd4e4cc994545ede8fe1c6f # v1 id: agent diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index dc5356ca75e44a..ae75bca513d56d 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -17,6 +17,8 @@ jobs: contents: write # for yyx990803/release-tag to create a release tag steps: - uses: actions/checkout@v6 + with: + persist-credentials: false - name: Get pkgName for tag id: tag diff --git a/.github/workflows/semantic-pull-request.yml b/.github/workflows/semantic-pull-request.yml index 24326e39aee9b5..e00d219ed3684e 100644 --- a/.github/workflows/semantic-pull-request.yml +++ b/.github/workflows/semantic-pull-request.yml @@ -1,6 +1,11 @@ name: Semantic Pull Request on: + # zizmor: ignore[dangerous-triggers] + # SAFETY: pull_request_target is used here because: + # - The workflow does NOT check out PR code + # - Only PR title is read + # - No PR-supplied code is executed pull_request_target: types: - opened diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml new file mode 100644 index 00000000000000..1bf32d820220cc --- /dev/null +++ b/.github/workflows/zizmor.yml @@ -0,0 +1,30 @@ +name: Zizmor + +on: + workflow_dispatch: + pull_request: + push: + branches: + - main + paths: + - ".github/workflows/**" + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} + cancel-in-progress: ${{ github.ref_name != 'main' }} + +jobs: + zizmor: + name: Run zizmor + runs-on: ubuntu-latest + permissions: + security-events: write # Required for upload-sarif (used by zizmor-action) to upload SARIF files. + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Run zizmor 🌈 + uses: zizmorcore/zizmor-action@b1d7e1fb5de872772f31590499237e7cce841e8e # v0.5.3 diff --git a/.github/zizmor.yml b/.github/zizmor.yml new file mode 100644 index 00000000000000..63cf5eef8034b7 --- /dev/null +++ b/.github/zizmor.yml @@ -0,0 +1,9 @@ +rules: + unpinned-uses: + config: + policies: + actions/*: ref-pin + github/*: ref-pin + cache-poisoning: + ignore: + - ci.yml # it is not used for publishing From 8c766a6c5ee014969c4e32f29cc265e8e2c96e18 Mon Sep 17 00:00:00 2001 From: dalaoshu <165626830+shulaoda@users.noreply.github.com> Date: Thu, 14 May 2026 10:31:18 +0800 Subject: [PATCH 2/4] feat: update rolldown to 1.0.1 (#22444) --- docs/package.json | 2 +- package.json | 2 +- packages/vite/package.json | 2 +- .../__tests__/js-sourcemap.spec.ts | 12 +- playground/package.json | 2 +- .../worker/__tests__/iife/worker-iife.spec.ts | 4 +- pnpm-lock.yaml | 342 +++++++++--------- 7 files changed, 183 insertions(+), 183 deletions(-) diff --git a/docs/package.json b/docs/package.json index e264aebb495cf7..85e2d7d7c1fb5a 100644 --- a/docs/package.json +++ b/docs/package.json @@ -14,7 +14,7 @@ "@voidzero-dev/vitepress-theme": "^4.8.4", "feed": "^5.2.1", "markdown-it-image-size": "^15.0.1", - "oxc-minify": "^0.129.0", + "oxc-minify": "^0.130.0", "vitepress": "^2.0.0-alpha.17", "vitepress-plugin-graphviz": "^0.1.0", "vitepress-plugin-group-icons": "^1.7.5", diff --git a/package.json b/package.json index c7af4e2ac8bdd9..a5ba4d9ea10b62 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "oxfmt": "^0.48.0", "picocolors": "^1.1.1", "playwright-chromium": "^1.59.1", - "rolldown": "1.0.0", + "rolldown": "1.0.1", "rollup": "^4.59.0", "simple-git-hooks": "^2.13.1", "tsx": "^4.21.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index 5db319c282880f..ba6a1f2c7598f8 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -76,7 +76,7 @@ "lightningcss": "^1.32.0", "picomatch": "^4.0.4", "postcss": "^8.5.14", - "rolldown": "1.0.0", + "rolldown": "1.0.1", "tinyglobby": "^0.2.16" }, "optionalDependencies": { diff --git a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts index a7d96c234aeaa7..4a0ab2f7400162 100644 --- a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts +++ b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts @@ -127,7 +127,7 @@ if (!isBuild) { expect(formatSourcemapForSnapshot(map, js)).toMatchInlineSnapshot(` SourceMap { content: { - "mappings": ";AACA,SACE,WACK;AAEP,QAAQ,IAAI,yBAAyB,IAAI", + "mappings": ";AACA,SACE,WACK;AAEP,QAAQ,IAAI,yBAAyB,GAAG", "sources": [ "with-multiline-import.ts", ], @@ -142,7 +142,7 @@ if (!isBuild) { ], "version": 3, }, - visualization: "https://evanw.github.io/source-map-visualization/#MjQ3AGNvbnN0IGZvbyA9IF9fdml0ZV9fY2pzSW1wb3J0MF9fdml0ZWpzX3Rlc3RJbXBvcnRlZVBrZ1siZm9vIl07Ly8gcHJldHRpZXItaWdub3JlCmltcG9ydCBfX3ZpdGVfX2Nqc0ltcG9ydDBfX3ZpdGVqc190ZXN0SW1wb3J0ZWVQa2cgZnJvbSAiL25vZGVfbW9kdWxlcy8udml0ZS9kZXBzL0B2aXRlanNfdGVzdC1pbXBvcnRlZS1wa2cuanM/dj0wMDAwMDAwMCI7CmNvbnNvbGUubG9nKCJ3aXRoLW11bHRpbGluZS1pbXBvcnQiLCBmb28pOwoyNDgAeyJtYXBwaW5ncyI6IjtBQUNBLFNBQ0UsV0FDSztBQUVQLFFBQVEsSUFBSSx5QkFBeUIsSUFBSSIsInNvdXJjZXMiOlsid2l0aC1tdWx0aWxpbmUtaW1wb3J0LnRzIl0sInZlcnNpb24iOjMsInNvdXJjZXNDb250ZW50IjpbIi8vIHByZXR0aWVyLWlnbm9yZVxuaW1wb3J0IHtcbiAgZm9vXG59IGZyb20gJ0B2aXRlanMvdGVzdC1pbXBvcnRlZS1wa2cnXG5cbmNvbnNvbGUubG9nKCd3aXRoLW11bHRpbGluZS1pbXBvcnQnLCBmb28pXG4iXX0=" + visualization: "https://evanw.github.io/source-map-visualization/#MjQ3AGNvbnN0IGZvbyA9IF9fdml0ZV9fY2pzSW1wb3J0MF9fdml0ZWpzX3Rlc3RJbXBvcnRlZVBrZ1siZm9vIl07Ly8gcHJldHRpZXItaWdub3JlCmltcG9ydCBfX3ZpdGVfX2Nqc0ltcG9ydDBfX3ZpdGVqc190ZXN0SW1wb3J0ZWVQa2cgZnJvbSAiL25vZGVfbW9kdWxlcy8udml0ZS9kZXBzL0B2aXRlanNfdGVzdC1pbXBvcnRlZS1wa2cuanM/dj0wMDAwMDAwMCI7CmNvbnNvbGUubG9nKCJ3aXRoLW11bHRpbGluZS1pbXBvcnQiLCBmb28pOwoyNDgAeyJtYXBwaW5ncyI6IjtBQUNBLFNBQ0UsV0FDSztBQUVQLFFBQVEsSUFBSSx5QkFBeUIsR0FBRyIsInNvdXJjZXMiOlsid2l0aC1tdWx0aWxpbmUtaW1wb3J0LnRzIl0sInZlcnNpb24iOjMsInNvdXJjZXNDb250ZW50IjpbIi8vIHByZXR0aWVyLWlnbm9yZVxuaW1wb3J0IHtcbiAgZm9vXG59IGZyb20gJ0B2aXRlanMvdGVzdC1pbXBvcnRlZS1wa2cnXG5cbmNvbnNvbGUubG9nKCd3aXRoLW11bHRpbGluZS1pbXBvcnQnLCBmb28pXG4iXX0=" } `) }) @@ -208,7 +208,7 @@ describe.runIf(isBuild)('build tests', () => { content: { "debugId": "00000000-0000-0000-0000-000000000000", "ignoreList": [], - "mappings": ";gqCAAA,OAAO,qDAEP,QAAQ,IAAI,wBAAwB", + "mappings": ";gqCAAA,OAAO,qDAEP,QAAQ,IAAI,uBAAuB", "sources": [ "../../after-preload-dynamic.js", ], @@ -220,7 +220,7 @@ describe.runIf(isBuild)('build tests', () => { ], "version": 3, }, - visualization: "https://evanw.github.io/source-map-visualization/#MTU0OQBjb25zdCBfX3ZpdGVfX21hcERlcHM9KGksbT1fX3ZpdGVfX21hcERlcHMsZD0obS5mfHwobS5mPVsiYXNzZXRzL2R5bmFtaWMtZm9vLUI0SmtWTWJvLmpzIiwiYXNzZXRzL2R5bmFtaWMtZm9vLURzcUtSckV5LmNzcyJdKSkpPT5pLm1hcChpPT5kW2ldKTsKdmFyIGU9YG1vZHVsZXByZWxvYWRgLHQ9ZnVuY3Rpb24oZSl7cmV0dXJuYC9gK2V9LG49e30scj1mdW5jdGlvbihyLGksYSl7bGV0IG89UHJvbWlzZS5yZXNvbHZlKCk7aWYoaSYmaS5sZW5ndGg+MCl7bGV0IHI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYGxpbmtgKSxzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYG1ldGFbcHJvcGVydHk9Y3NwLW5vbmNlXWApLGM9cz8ubm9uY2V8fHM/LmdldEF0dHJpYnV0ZShgbm9uY2VgKTtmdW5jdGlvbiBsKGUpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcChlPT5Qcm9taXNlLnJlc29sdmUoZSkudGhlbihlPT4oe3N0YXR1czpgZnVsZmlsbGVkYCx2YWx1ZTplfSksZT0+KHtzdGF0dXM6YHJlamVjdGVkYCxyZWFzb246ZX0pKSkpfW89bChpLm1hcChpPT57aWYoaT10KGksYSksaSBpbiBuKXJldHVybjtuW2ldPSEwO2xldCBvPWkuZW5kc1dpdGgoYC5jc3NgKSxzPW8/YFtyZWw9InN0eWxlc2hlZXQiXWA6YGA7aWYoYSlmb3IobGV0IGU9ci5sZW5ndGgtMTtlPj0wO2UtLSl7bGV0IHQ9cltlXTtpZih0LmhyZWY9PT1pJiYoIW98fHQucmVsPT09YHN0eWxlc2hlZXRgKSlyZXR1cm59ZWxzZSBpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9IiR7aX0iXSR7c31gKSlyZXR1cm47bGV0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgbGlua2ApO2lmKGwucmVsPW8/YHN0eWxlc2hlZXRgOmUsb3x8KGwuYXM9YHNjcmlwdGApLGwuY3Jvc3NPcmlnaW49YGAsbC5ocmVmPWksYyYmbC5zZXRBdHRyaWJ1dGUoYG5vbmNlYCxjKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGwpLG8pcmV0dXJuIG5ldyBQcm9taXNlKChlLHQpPT57bC5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxlKSxsLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCwoKT0+dChFcnJvcihgVW5hYmxlIHRvIHByZWxvYWQgQ1NTIGZvciAke2l9YCkpKX0pfSkpfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9bmV3IEV2ZW50KGB2aXRlOnByZWxvYWRFcnJvcmAse2NhbmNlbGFibGU6ITB9KTtpZih0LnBheWxvYWQ9ZSx3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSwhdC5kZWZhdWx0UHJldmVudGVkKXRocm93IGV9cmV0dXJuIG8udGhlbihlPT57Zm9yKGxldCB0IG9mIGV8fFtdKXQuc3RhdHVzPT09YHJlamVjdGVkYCYmcyh0LnJlYXNvbik7cmV0dXJuIHIoKS5jYXRjaChzKX0pfTtyKCgpPT5pbXBvcnQoYC4vZHluYW1pYy1mb28tQjRKa1ZNYm8uanNgKSxfX3ZpdGVfX21hcERlcHMoWzAsMV0pKSxjb25zb2xlLmxvZyhgYWZ0ZXIgcHJlbG9hZCBkeW5hbWljYCk7ZXhwb3J0e3IgYXMgdH07Ci8vIyBkZWJ1Z0lkPWYxYjI2YTNiLTc0YzQtNDUwMC04ZjI1LWIyODY2OTk1MmQ0YgovLyMgc291cmNlTWFwcGluZ1VSTD1hZnRlci1wcmVsb2FkLWR5bmFtaWMtRHhzbW83ZE0uanMubWFwMjY3AHsidmVyc2lvbiI6MywibWFwcGluZ3MiOiI7Z3FDQUFBLE9BQU8scURBRVAsUUFBUSxJQUFJLHdCQUF3QiIsImlnbm9yZUxpc3QiOltdLCJzb3VyY2VzIjpbIi4uLy4uL2FmdGVyLXByZWxvYWQtZHluYW1pYy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoJy4vZHluYW1pYy9keW5hbWljLWZvbycpXG5cbmNvbnNvbGUubG9nKCdhZnRlciBwcmVsb2FkIGR5bmFtaWMnKVxuIl0sImRlYnVnSWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAifQ==" + visualization: "https://evanw.github.io/source-map-visualization/#MTU0OQBjb25zdCBfX3ZpdGVfX21hcERlcHM9KGksbT1fX3ZpdGVfX21hcERlcHMsZD0obS5mfHwobS5mPVsiYXNzZXRzL2R5bmFtaWMtZm9vLUI0SmtWTWJvLmpzIiwiYXNzZXRzL2R5bmFtaWMtZm9vLURzcUtSckV5LmNzcyJdKSkpPT5pLm1hcChpPT5kW2ldKTsKdmFyIGU9YG1vZHVsZXByZWxvYWRgLHQ9ZnVuY3Rpb24oZSl7cmV0dXJuYC9gK2V9LG49e30scj1mdW5jdGlvbihyLGksYSl7bGV0IG89UHJvbWlzZS5yZXNvbHZlKCk7aWYoaSYmaS5sZW5ndGg+MCl7bGV0IHI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYGxpbmtgKSxzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYG1ldGFbcHJvcGVydHk9Y3NwLW5vbmNlXWApLGM9cz8ubm9uY2V8fHM/LmdldEF0dHJpYnV0ZShgbm9uY2VgKTtmdW5jdGlvbiBsKGUpe3JldHVybiBQcm9taXNlLmFsbChlLm1hcChlPT5Qcm9taXNlLnJlc29sdmUoZSkudGhlbihlPT4oe3N0YXR1czpgZnVsZmlsbGVkYCx2YWx1ZTplfSksZT0+KHtzdGF0dXM6YHJlamVjdGVkYCxyZWFzb246ZX0pKSkpfW89bChpLm1hcChpPT57aWYoaT10KGksYSksaSBpbiBuKXJldHVybjtuW2ldPSEwO2xldCBvPWkuZW5kc1dpdGgoYC5jc3NgKSxzPW8/YFtyZWw9InN0eWxlc2hlZXQiXWA6YGA7aWYoYSlmb3IobGV0IGU9ci5sZW5ndGgtMTtlPj0wO2UtLSl7bGV0IHQ9cltlXTtpZih0LmhyZWY9PT1pJiYoIW98fHQucmVsPT09YHN0eWxlc2hlZXRgKSlyZXR1cm59ZWxzZSBpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9IiR7aX0iXSR7c31gKSlyZXR1cm47bGV0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgbGlua2ApO2lmKGwucmVsPW8/YHN0eWxlc2hlZXRgOmUsb3x8KGwuYXM9YHNjcmlwdGApLGwuY3Jvc3NPcmlnaW49YGAsbC5ocmVmPWksYyYmbC5zZXRBdHRyaWJ1dGUoYG5vbmNlYCxjKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGwpLG8pcmV0dXJuIG5ldyBQcm9taXNlKChlLHQpPT57bC5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxlKSxsLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCwoKT0+dChFcnJvcihgVW5hYmxlIHRvIHByZWxvYWQgQ1NTIGZvciAke2l9YCkpKX0pfSkpfWZ1bmN0aW9uIHMoZSl7bGV0IHQ9bmV3IEV2ZW50KGB2aXRlOnByZWxvYWRFcnJvcmAse2NhbmNlbGFibGU6ITB9KTtpZih0LnBheWxvYWQ9ZSx3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSwhdC5kZWZhdWx0UHJldmVudGVkKXRocm93IGV9cmV0dXJuIG8udGhlbihlPT57Zm9yKGxldCB0IG9mIGV8fFtdKXQuc3RhdHVzPT09YHJlamVjdGVkYCYmcyh0LnJlYXNvbik7cmV0dXJuIHIoKS5jYXRjaChzKX0pfTtyKCgpPT5pbXBvcnQoYC4vZHluYW1pYy1mb28tQjRKa1ZNYm8uanNgKSxfX3ZpdGVfX21hcERlcHMoWzAsMV0pKSxjb25zb2xlLmxvZyhgYWZ0ZXIgcHJlbG9hZCBkeW5hbWljYCk7ZXhwb3J0e3IgYXMgdH07Ci8vIyBkZWJ1Z0lkPWYxYjI2YTNiLTc0YzQtNDUwMC04ZjI1LWIyODY2OTk1MmQ0YgovLyMgc291cmNlTWFwcGluZ1VSTD1hZnRlci1wcmVsb2FkLWR5bmFtaWMtRHhzbW83ZE0uanMubWFwMjY3AHsidmVyc2lvbiI6MywibWFwcGluZ3MiOiI7Z3FDQUFBLE9BQU8scURBRVAsUUFBUSxJQUFJLHVCQUF1QiIsImlnbm9yZUxpc3QiOltdLCJzb3VyY2VzIjpbIi4uLy4uL2FmdGVyLXByZWxvYWQtZHluYW1pYy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoJy4vZHluYW1pYy9keW5hbWljLWZvbycpXG5cbmNvbnNvbGUubG9nKCdhZnRlciBwcmVsb2FkIGR5bmFtaWMnKVxuIl0sImRlYnVnSWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAifQ==" } `) // verify sourcemap comment is preserved at the last line @@ -267,7 +267,7 @@ describe.runIf(isBuild)('build tests', () => { SourceMap { content: { "debugId": "00000000-0000-0000-0000-000000000000", - "mappings": "AAEA,SAAS,GAAO,CACd,GAAW,CAGb,SAAS,GAAY,CAEnB,QAAQ,MAAM,qBAAA,CAAA,MAAA,OAAA,CAAyC,CAGzD,GAAM", + "mappings": "AAEA,SAAS,GAAO,CACd,EAAU,CACZ,CAEA,SAAS,GAAY,CAEnB,QAAQ,MAAM,qBAAA,CAAA,MAAA,MAAA,CAAwC,CACxD,CAEA,EAAK", "sources": [ "../../with-define-object.ts", ], @@ -288,7 +288,7 @@ describe.runIf(isBuild)('build tests', () => { ], "version": 3, }, - visualization: "https://evanw.github.io/source-map-visualization/#MTkwAGZ1bmN0aW9uIGUoKXt0KCl9ZnVuY3Rpb24gdCgpe2NvbnNvbGUudHJhY2UoYHdpdGgtZGVmaW5lLW9iamVjdGAse2hlbGxvOmB0ZXN0YH0pfWUoKTsKLy8jIGRlYnVnSWQ9ZmVmMjQxOWEtZmZmOC00MzMwLTgzZTktMWRkNTVlYmNmOTBkCi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdpdGgtZGVmaW5lLW9iamVjdC1ELThrR2FfXy5qcy5tYXA1MDAAeyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3dpdGgtZGVmaW5lLW9iamVjdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0ZXN0IGNvbXBsaWNhdGVkIHN0YWNrIHNpbmNlIGJyb2tlbiBzb3VyY2VtYXBcbi8vIG1pZ2h0IHN0aWxsIGxvb2sgY29ycmVjdCB3aXRoIGEgc2ltcGxlIGNhc2VcbmZ1bmN0aW9uIG1haW4oKSB7XG4gIG1haW5Jbm5lcigpXG59XG5cbmZ1bmN0aW9uIG1haW5Jbm5lcigpIHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBcImRlZmluZVwiXG4gIGNvbnNvbGUudHJhY2UoJ3dpdGgtZGVmaW5lLW9iamVjdCcsIF9fdGVzdERlZmluZU9iamVjdClcbn1cblxubWFpbigpXG4iXSwibWFwcGluZ3MiOiJBQUVBLFNBQVMsR0FBTyxDQUNkLEdBQVcsQ0FHYixTQUFTLEdBQVksQ0FFbkIsUUFBUSxNQUFNLHFCQUFBLENBQUEsTUFBQSxPQUFBLENBQXlDLENBR3pELEdBQU0iLCJkZWJ1Z0lkIjoiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIn0=" + visualization: "https://evanw.github.io/source-map-visualization/#MTkwAGZ1bmN0aW9uIGUoKXt0KCl9ZnVuY3Rpb24gdCgpe2NvbnNvbGUudHJhY2UoYHdpdGgtZGVmaW5lLW9iamVjdGAse2hlbGxvOmB0ZXN0YH0pfWUoKTsKLy8jIGRlYnVnSWQ9ZmVmMjQxOWEtZmZmOC00MzMwLTgzZTktMWRkNTVlYmNmOTBkCi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdpdGgtZGVmaW5lLW9iamVjdC1ELThrR2FfXy5qcy5tYXA1MTAAeyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3dpdGgtZGVmaW5lLW9iamVjdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0ZXN0IGNvbXBsaWNhdGVkIHN0YWNrIHNpbmNlIGJyb2tlbiBzb3VyY2VtYXBcbi8vIG1pZ2h0IHN0aWxsIGxvb2sgY29ycmVjdCB3aXRoIGEgc2ltcGxlIGNhc2VcbmZ1bmN0aW9uIG1haW4oKSB7XG4gIG1haW5Jbm5lcigpXG59XG5cbmZ1bmN0aW9uIG1haW5Jbm5lcigpIHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBcImRlZmluZVwiXG4gIGNvbnNvbGUudHJhY2UoJ3dpdGgtZGVmaW5lLW9iamVjdCcsIF9fdGVzdERlZmluZU9iamVjdClcbn1cblxubWFpbigpXG4iXSwibWFwcGluZ3MiOiJBQUVBLFNBQVMsR0FBTyxDQUNkLEVBQVUsQ0FDWixDQUVBLFNBQVMsR0FBWSxDQUVuQixRQUFRLE1BQU0scUJBQUEsQ0FBQSxNQUFBLE1BQUEsQ0FBd0MsQ0FDeEQsQ0FFQSxFQUFLIiwiZGVidWdJZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCJ9" } `) }) diff --git a/playground/package.json b/playground/package.json index 3d4a278cea532e..907823cc0fbaa7 100644 --- a/playground/package.json +++ b/playground/package.json @@ -10,6 +10,6 @@ "convert-source-map": "^2.0.0", "css-color-names": "^1.0.1", "kill-port": "^1.6.1", - "rolldown": "1.0.0" + "rolldown": "1.0.1" } } diff --git a/playground/worker/__tests__/iife/worker-iife.spec.ts b/playground/worker/__tests__/iife/worker-iife.spec.ts index f1454db7bdbe1b..12595b04245c20 100644 --- a/playground/worker/__tests__/iife/worker-iife.spec.ts +++ b/playground/worker/__tests__/iife/worker-iife.spec.ts @@ -207,13 +207,13 @@ test.runIf(isServe)('sourcemap is correct after env is injected', async () => { SourceMap { content: { "ignoreList": [], - "mappings": ";;AAAA,SAAS,OAAO,kBAAkB;AAClC,OAAO,YAAY;AACnB,SAAS,MAAM,WAAW;AAC1B,SAAS,wBAAwB;AACjC,OAAO,aAAa;AACpB,MAAM,UAAU,OAAO,KAAK;AAE5B,KAAK,aAAa,MAAM;CACtB,IAAI,EAAE,SAAS,QAAQ;EACrB,KAAK,YAAY;GACf;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC;;CAEJ,IAAI,EAAE,SAAS,gBAAgB;EAC7B,KAAK,YAAY;GACf,KAAK;GACL;GACA;GACA;GACA;GACA;GACA;GACD,CAAC;;;AAGN,KAAK,YAAY;CACf;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;;AAGF,QAAQ,IAAI,eAAe", + "mappings": ";;AAAA,SAAS,OAAO,kBAAkB;AAClC,OAAO,YAAY;AACnB,SAAS,MAAM,WAAW;AAC1B,SAAS,wBAAwB;AACjC,OAAO,aAAa;AACpB,MAAM,UAAU,OAAO,KAAK;AAE5B,KAAK,aAAa,MAAM;CACtB,IAAI,EAAE,SAAS,QAAQ;EACrB,KAAK,YAAY;GACf;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAAC;CACH;CACA,IAAI,EAAE,SAAS,gBAAgB;EAC7B,KAAK,YAAY;GACf,KAAK;GACL;GACA;GACA;GACA;GACA;GACA;EACF,CAAC;CACH;AACF;AACA,KAAK,YAAY;CACf;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;AAGD,QAAQ,IAAI,cAAc", "sources": [ "my-worker.ts?worker_file&type=module", ], "version": 3, }, - visualization: "https://evanw.github.io/source-map-visualization/#OTg5AGNvbnN0IGRlcENqcyA9IF9fdml0ZV9fY2pzSW1wb3J0Ml9fdml0ZWpzX3Rlc3RXb3JrZXJEZXBDanM7CjsKaW1wb3J0IHsgbXNnIGFzIG1zZ0Zyb21EZXAgfSBmcm9tICIvaWlmZS9ub2RlX21vZHVsZXMvLnZpdGUtaWlmZS9kZXBzL0B2aXRlanNfdGVzdC1kZXAtdG8tb3B0aW1pemUuanM/dj0wMDAwMDAwMCI7CmltcG9ydCBfX3ZpdGVfX2Nqc0ltcG9ydDJfX3ZpdGVqc190ZXN0V29ya2VyRGVwQ2pzIGZyb20gIi9paWZlL25vZGVfbW9kdWxlcy8udml0ZS1paWZlL2RlcHMvQHZpdGVqc190ZXN0LXdvcmtlci1kZXAtY2pzLmpzP3Y9MDAwMDAwMDAiOwppbXBvcnQgeyBtb2RlLCBtc2cgfSBmcm9tICIvaWlmZS9tb2R1bGVzL3dvcmtlckltcG9ydC50cyI7CmltcG9ydCB7IGJ1bmRsZVdpdGhQbHVnaW4gfSBmcm9tICIvaWlmZS9tb2R1bGVzL3Rlc3QtcGx1Z2luLmpzIjsKaW1wb3J0IHZpdGVTdmcgZnJvbSAiL2lpZmUvdml0ZS5zdmc/aW1wb3J0IjsKY29uc3QgbWV0YVVybCA9IGltcG9ydC5tZXRhLnVybDsKc2VsZi5vbm1lc3NhZ2UgPSAoZSkgPT4gewoJaWYgKGUuZGF0YSA9PT0gInBpbmciKSB7CgkJc2VsZi5wb3N0TWVzc2FnZSh7CgkJCW1zZywKCQkJbW9kZSwKCQkJYnVuZGxlV2l0aFBsdWdpbiwKCQkJdml0ZVN2ZywKCQkJbWV0YVVybCwKCQkJbmFtZSwKCQkJZGVwQ2pzCgkJfSk7Cgl9CglpZiAoZS5kYXRhID09PSAicGluZy11bmljb2RlIikgewoJCXNlbGYucG9zdE1lc3NhZ2UoewoJCQltc2c6ICLigKJwb25n4oCiIiwKCQkJbW9kZSwKCQkJYnVuZGxlV2l0aFBsdWdpbiwKCQkJdml0ZVN2ZywKCQkJbWV0YVVybCwKCQkJbmFtZSwKCQkJZGVwQ2pzCgkJfSk7Cgl9Cn07CnNlbGYucG9zdE1lc3NhZ2UoewoJbXNnLAoJbW9kZSwKCWJ1bmRsZVdpdGhQbHVnaW4sCgltc2dGcm9tRGVwLAoJdml0ZVN2ZywKCW1ldGFVcmwsCgluYW1lLAoJZGVwQ2pzCn0pOwovLyBmb3Igc291cmNlbWFwCmNvbnNvbGUubG9nKCJteS13b3JrZXIuanMiKTsKMTM5NgB7InZlcnNpb24iOjMsIm1hcHBpbmdzIjoiOztBQUFBLFNBQVMsT0FBTyxrQkFBa0I7QUFDbEMsT0FBTyxZQUFZO0FBQ25CLFNBQVMsTUFBTSxXQUFXO0FBQzFCLFNBQVMsd0JBQXdCO0FBQ2pDLE9BQU8sYUFBYTtBQUNwQixNQUFNLFVBQVUsT0FBTyxLQUFLO0FBRTVCLEtBQUssYUFBYSxNQUFNO0NBQ3RCLElBQUksRUFBRSxTQUFTLFFBQVE7RUFDckIsS0FBSyxZQUFZO0dBQ2Y7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDRCxDQUFDOztDQUVKLElBQUksRUFBRSxTQUFTLGdCQUFnQjtFQUM3QixLQUFLLFlBQVk7R0FDZixLQUFLO0dBQ0w7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0QsQ0FBQzs7O0FBR04sS0FBSyxZQUFZO0NBQ2Y7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNELENBQUM7O0FBR0YsUUFBUSxJQUFJLGVBQWUiLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJteS13b3JrZXIudHM/d29ya2VyX2ZpbGUmdHlwZT1tb2R1bGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbXNnIGFzIG1zZ0Zyb21EZXAgfSBmcm9tICdAdml0ZWpzL3Rlc3QtZGVwLXRvLW9wdGltaXplJ1xuaW1wb3J0IGRlcENqcyBmcm9tICdAdml0ZWpzL3Rlc3Qtd29ya2VyLWRlcC1janMnXG5pbXBvcnQgeyBtb2RlLCBtc2cgfSBmcm9tICcuL21vZHVsZXMvd29ya2VySW1wb3J0LmpzJ1xuaW1wb3J0IHsgYnVuZGxlV2l0aFBsdWdpbiB9IGZyb20gJy4vbW9kdWxlcy90ZXN0LXBsdWdpbidcbmltcG9ydCB2aXRlU3ZnIGZyb20gJy4vdml0ZS5zdmcnXG5jb25zdCBtZXRhVXJsID0gaW1wb3J0Lm1ldGEudXJsXG5cbnNlbGYub25tZXNzYWdlID0gKGUpID0+IHtcbiAgaWYgKGUuZGF0YSA9PT0gJ3BpbmcnKSB7XG4gICAgc2VsZi5wb3N0TWVzc2FnZSh7XG4gICAgICBtc2csXG4gICAgICBtb2RlLFxuICAgICAgYnVuZGxlV2l0aFBsdWdpbixcbiAgICAgIHZpdGVTdmcsXG4gICAgICBtZXRhVXJsLFxuICAgICAgbmFtZSxcbiAgICAgIGRlcENqcyxcbiAgICB9KVxuICB9XG4gIGlmIChlLmRhdGEgPT09ICdwaW5nLXVuaWNvZGUnKSB7XG4gICAgc2VsZi5wb3N0TWVzc2FnZSh7XG4gICAgICBtc2c6ICfigKJwb25n4oCiJyxcbiAgICAgIG1vZGUsXG4gICAgICBidW5kbGVXaXRoUGx1Z2luLFxuICAgICAgdml0ZVN2ZyxcbiAgICAgIG1ldGFVcmwsXG4gICAgICBuYW1lLFxuICAgICAgZGVwQ2pzLFxuICAgIH0pXG4gIH1cbn1cbnNlbGYucG9zdE1lc3NhZ2Uoe1xuICBtc2csXG4gIG1vZGUsXG4gIGJ1bmRsZVdpdGhQbHVnaW4sXG4gIG1zZ0Zyb21EZXAsXG4gIHZpdGVTdmcsXG4gIG1ldGFVcmwsXG4gIG5hbWUsXG4gIGRlcENqcyxcbn0pXG5cbi8vIGZvciBzb3VyY2VtYXBcbmNvbnNvbGUubG9nKCdteS13b3JrZXIuanMnKVxuIl19" + visualization: "https://evanw.github.io/source-map-visualization/#OTg5AGNvbnN0IGRlcENqcyA9IF9fdml0ZV9fY2pzSW1wb3J0Ml9fdml0ZWpzX3Rlc3RXb3JrZXJEZXBDanM7CjsKaW1wb3J0IHsgbXNnIGFzIG1zZ0Zyb21EZXAgfSBmcm9tICIvaWlmZS9ub2RlX21vZHVsZXMvLnZpdGUtaWlmZS9kZXBzL0B2aXRlanNfdGVzdC1kZXAtdG8tb3B0aW1pemUuanM/dj0wMDAwMDAwMCI7CmltcG9ydCBfX3ZpdGVfX2Nqc0ltcG9ydDJfX3ZpdGVqc190ZXN0V29ya2VyRGVwQ2pzIGZyb20gIi9paWZlL25vZGVfbW9kdWxlcy8udml0ZS1paWZlL2RlcHMvQHZpdGVqc190ZXN0LXdvcmtlci1kZXAtY2pzLmpzP3Y9MDAwMDAwMDAiOwppbXBvcnQgeyBtb2RlLCBtc2cgfSBmcm9tICIvaWlmZS9tb2R1bGVzL3dvcmtlckltcG9ydC50cyI7CmltcG9ydCB7IGJ1bmRsZVdpdGhQbHVnaW4gfSBmcm9tICIvaWlmZS9tb2R1bGVzL3Rlc3QtcGx1Z2luLmpzIjsKaW1wb3J0IHZpdGVTdmcgZnJvbSAiL2lpZmUvdml0ZS5zdmc/aW1wb3J0IjsKY29uc3QgbWV0YVVybCA9IGltcG9ydC5tZXRhLnVybDsKc2VsZi5vbm1lc3NhZ2UgPSAoZSkgPT4gewoJaWYgKGUuZGF0YSA9PT0gInBpbmciKSB7CgkJc2VsZi5wb3N0TWVzc2FnZSh7CgkJCW1zZywKCQkJbW9kZSwKCQkJYnVuZGxlV2l0aFBsdWdpbiwKCQkJdml0ZVN2ZywKCQkJbWV0YVVybCwKCQkJbmFtZSwKCQkJZGVwQ2pzCgkJfSk7Cgl9CglpZiAoZS5kYXRhID09PSAicGluZy11bmljb2RlIikgewoJCXNlbGYucG9zdE1lc3NhZ2UoewoJCQltc2c6ICLigKJwb25n4oCiIiwKCQkJbW9kZSwKCQkJYnVuZGxlV2l0aFBsdWdpbiwKCQkJdml0ZVN2ZywKCQkJbWV0YVVybCwKCQkJbmFtZSwKCQkJZGVwQ2pzCgkJfSk7Cgl9Cn07CnNlbGYucG9zdE1lc3NhZ2UoewoJbXNnLAoJbW9kZSwKCWJ1bmRsZVdpdGhQbHVnaW4sCgltc2dGcm9tRGVwLAoJdml0ZVN2ZywKCW1ldGFVcmwsCgluYW1lLAoJZGVwQ2pzCn0pOwovLyBmb3Igc291cmNlbWFwCmNvbnNvbGUubG9nKCJteS13b3JrZXIuanMiKTsKMTQwOAB7InZlcnNpb24iOjMsIm1hcHBpbmdzIjoiOztBQUFBLFNBQVMsT0FBTyxrQkFBa0I7QUFDbEMsT0FBTyxZQUFZO0FBQ25CLFNBQVMsTUFBTSxXQUFXO0FBQzFCLFNBQVMsd0JBQXdCO0FBQ2pDLE9BQU8sYUFBYTtBQUNwQixNQUFNLFVBQVUsT0FBTyxLQUFLO0FBRTVCLEtBQUssYUFBYSxNQUFNO0NBQ3RCLElBQUksRUFBRSxTQUFTLFFBQVE7RUFDckIsS0FBSyxZQUFZO0dBQ2Y7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7RUFDRixDQUFDO0NBQ0g7Q0FDQSxJQUFJLEVBQUUsU0FBUyxnQkFBZ0I7RUFDN0IsS0FBSyxZQUFZO0dBQ2YsS0FBSztHQUNMO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtFQUNGLENBQUM7Q0FDSDtBQUNGO0FBQ0EsS0FBSyxZQUFZO0NBQ2Y7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQUNGLENBQUM7O0FBR0QsUUFBUSxJQUFJLGNBQWMiLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJteS13b3JrZXIudHM/d29ya2VyX2ZpbGUmdHlwZT1tb2R1bGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbXNnIGFzIG1zZ0Zyb21EZXAgfSBmcm9tICdAdml0ZWpzL3Rlc3QtZGVwLXRvLW9wdGltaXplJ1xuaW1wb3J0IGRlcENqcyBmcm9tICdAdml0ZWpzL3Rlc3Qtd29ya2VyLWRlcC1janMnXG5pbXBvcnQgeyBtb2RlLCBtc2cgfSBmcm9tICcuL21vZHVsZXMvd29ya2VySW1wb3J0LmpzJ1xuaW1wb3J0IHsgYnVuZGxlV2l0aFBsdWdpbiB9IGZyb20gJy4vbW9kdWxlcy90ZXN0LXBsdWdpbidcbmltcG9ydCB2aXRlU3ZnIGZyb20gJy4vdml0ZS5zdmcnXG5jb25zdCBtZXRhVXJsID0gaW1wb3J0Lm1ldGEudXJsXG5cbnNlbGYub25tZXNzYWdlID0gKGUpID0+IHtcbiAgaWYgKGUuZGF0YSA9PT0gJ3BpbmcnKSB7XG4gICAgc2VsZi5wb3N0TWVzc2FnZSh7XG4gICAgICBtc2csXG4gICAgICBtb2RlLFxuICAgICAgYnVuZGxlV2l0aFBsdWdpbixcbiAgICAgIHZpdGVTdmcsXG4gICAgICBtZXRhVXJsLFxuICAgICAgbmFtZSxcbiAgICAgIGRlcENqcyxcbiAgICB9KVxuICB9XG4gIGlmIChlLmRhdGEgPT09ICdwaW5nLXVuaWNvZGUnKSB7XG4gICAgc2VsZi5wb3N0TWVzc2FnZSh7XG4gICAgICBtc2c6ICfigKJwb25n4oCiJyxcbiAgICAgIG1vZGUsXG4gICAgICBidW5kbGVXaXRoUGx1Z2luLFxuICAgICAgdml0ZVN2ZyxcbiAgICAgIG1ldGFVcmwsXG4gICAgICBuYW1lLFxuICAgICAgZGVwQ2pzLFxuICAgIH0pXG4gIH1cbn1cbnNlbGYucG9zdE1lc3NhZ2Uoe1xuICBtc2csXG4gIG1vZGUsXG4gIGJ1bmRsZVdpdGhQbHVnaW4sXG4gIG1zZ0Zyb21EZXAsXG4gIHZpdGVTdmcsXG4gIG1ldGFVcmwsXG4gIG5hbWUsXG4gIGRlcENqcyxcbn0pXG5cbi8vIGZvciBzb3VyY2VtYXBcbmNvbnNvbGUubG9nKCdteS13b3JrZXIuanMnKVxuIl19" } `) }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9af8c890fccf02..b86df33c6d3e43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: excludeLinksFromLockfile: false overrides: - rolldown: 1.0.0 + rolldown: 1.0.1 vite: workspace:* debug: npm:obug@^1.0.2 @@ -97,8 +97,8 @@ importers: specifier: ^1.59.1 version: 1.59.1 rolldown: - specifier: 1.0.0 - version: 1.0.0 + specifier: 1.0.1 + version: 1.0.1 rollup: specifier: ^4.59.0 version: 4.59.0 @@ -142,11 +142,11 @@ importers: specifier: ^15.0.1 version: 15.0.1(markdown-it@14.1.1) oxc-minify: - specifier: ^0.129.0 - version: 0.129.0 + specifier: ^0.130.0 + version: 0.130.0 vitepress: specifier: ^2.0.0-alpha.17 - version: 2.0.0-alpha.17(oxc-minify@0.129.0)(postcss@8.5.14)(typescript@6.0.2) + version: 2.0.0-alpha.17(oxc-minify@0.130.0)(postcss@8.5.14)(typescript@6.0.2) vitepress-plugin-graphviz: specifier: ^0.1.0 version: 0.1.0(vitepress@2.0.0-alpha.17) @@ -251,8 +251,8 @@ importers: specifier: ^8.5.14 version: 8.5.14 rolldown: - specifier: 1.0.0 - version: 1.0.0 + specifier: 1.0.1 + version: 1.0.1 tinyglobby: specifier: ^0.2.16 version: 0.2.16 @@ -391,7 +391,7 @@ importers: version: 2.0.3 rolldown-plugin-dts: specifier: ^0.25.0 - version: 0.25.0(rolldown@1.0.0)(typescript@6.0.2)(vue-tsc@3.2.8) + version: 0.25.0(rolldown@1.0.1)(typescript@6.0.2)(vue-tsc@3.2.8) rollup: specifier: ^4.59.0 version: 4.59.0 @@ -559,8 +559,8 @@ importers: specifier: ^1.6.1 version: 1.6.1 rolldown: - specifier: 1.0.0 - version: 1.0.0 + specifier: 1.0.1 + version: 1.0.1 playground/alias: dependencies: @@ -3165,129 +3165,129 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-minify/binding-android-arm-eabi@0.129.0': - resolution: {integrity: sha512-GYYEIk/Lov3iaFyZuVvqeYqUefGvwtb068hQz1P7LAsZeO/saPxQDkKhdxWYmWPy/sP4TQ454/RZtbPsxId0+Q==} + '@oxc-minify/binding-android-arm-eabi@0.130.0': + resolution: {integrity: sha512-9wuVRdldkToDVpXvsqDDSz8hynihsXF3C/f1kQJR9KWFhNAzJLtmR74HPl/dC/0ub3LOtRaEWiphVO0QA00ABA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxc-minify/binding-android-arm64@0.129.0': - resolution: {integrity: sha512-MmciIqdn5GrHRqZJeoWjjJxPjWCIFSVqERHKQwczrKIfA0M49MobMnxcU/ChFTI2Z+vYhsRi8ecBefKEpKanzQ==} + '@oxc-minify/binding-android-arm64@0.130.0': + resolution: {integrity: sha512-MxcY70YyJIn/uc0Z1ddEJinolEs/arrdJGFMnFWK9svvbhVZ/QqXtk2rXNFAoJ3qjOblsit4HT/6AGJBybLecw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-minify/binding-darwin-arm64@0.129.0': - resolution: {integrity: sha512-Zo8a6Vk73Pom5OgdEHVmeOXzeMSNZpBPL+S9113WZUIXCPlJsM0H5AfCw42lpGvCFJEtwTbzbTq2xOJRjsVnmg==} + '@oxc-minify/binding-darwin-arm64@0.130.0': + resolution: {integrity: sha512-oppzwoy88ScdPm+Zu9w+OxzGkhYb8Xazvv5furJztEOFd8dfizCUKHxgcc/pPuUCIfNWRJeaWVmcVjDhjppO6g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-minify/binding-darwin-x64@0.129.0': - resolution: {integrity: sha512-LXNxjhegUOPO6ym1N//h0aauYJEsRO1QqCQCmXCA9ocmLxr6A0ZrM+VtPPdfMy/WnTRfC6jhW5iib6qVA2jJkg==} + '@oxc-minify/binding-darwin-x64@0.130.0': + resolution: {integrity: sha512-LIwUlxKctLzuifO6STum0ldVun8FPLhmei/+Dxlh5FULLjiFDc/sRJNOfi9iTQRAh4Z6hL2PKghf3GObkTwpoQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-minify/binding-freebsd-x64@0.129.0': - resolution: {integrity: sha512-vAv1p29U7euLf65sk0ahAP285u1ssyT4RAgB05kXgarXCsWKLsFpr8ke4c3EZn090+NXETNh/UmXlzH+S7wxSQ==} + '@oxc-minify/binding-freebsd-x64@0.130.0': + resolution: {integrity: sha512-7o1jwAXQnOyip3zXNoKuDLgaOfwE5F8AhrwgnVkgySRNx5oDVU8oEg0cWDDGi/AhPFijMoJOSQtKCncku13rHQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-minify/binding-linux-arm-gnueabihf@0.129.0': - resolution: {integrity: sha512-CzzpAlpt5NQpsK1Zag4pympq+knr6QkeE+EAru2s5hX2c3JohA/nMofPLE8WGCn+aOWyCnaM+LL3gDU9FoBQEA==} + '@oxc-minify/binding-linux-arm-gnueabihf@0.130.0': + resolution: {integrity: sha512-K9v8Vck4F42MsS1QB0mmz3I//wHI0D+DQ8BdgJvu5ryHwCsNPUMH3HwONsiWx4D883pG9ggDQO0FDfc/6p1sIw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm-musleabihf@0.129.0': - resolution: {integrity: sha512-x+HTTmyz/8h3URNTJRpCvwxC1cWAhLy/+YhWKj7DBH7Fb6GFTBx10lxeojXvaz+A9W9hFEZoyYSDNJVtGsGxmQ==} + '@oxc-minify/binding-linux-arm-musleabihf@0.130.0': + resolution: {integrity: sha512-EmxC7tlAwpBhNIc0xm2dple6rBQ72wN8YKM1pYkLga2PF9QFXkN15aBlmRz9C/zlLGsMEVHA92Y9Cheiei2Rug==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm64-gnu@0.129.0': - resolution: {integrity: sha512-MKtTM6eQqmciMYaJ7pdal3qgcbefWX3s2NPc0R+eEnMryIA+xyG9Q1wjiV/bcXdHMC0oSurBT7VLwKEJjhLwzw==} + '@oxc-minify/binding-linux-arm64-gnu@0.130.0': + resolution: {integrity: sha512-x/VS9Bcoe7qhiIQZ3sG9jyzQPT4NF7ElipRzd7FfZKS+iNCA65XS4XybS20A7bMbsHMm1RjkwRMqCP58gyArxw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-arm64-musl@0.129.0': - resolution: {integrity: sha512-JIKLdH7CAB8DB728A4fcfvOOCBXJHWpw1mlHdAB7VIhOpLEskOENVTNINfkC+fQsWUzaJH8LlJ0UDiQ6Kif0vw==} + '@oxc-minify/binding-linux-arm64-musl@0.130.0': + resolution: {integrity: sha512-VGR1sSZ07zrvqdMf3+ePGPadq/dQn2nGkrwGWOanP4e9QVpjOuvF0tfLWf6sGi+pWlZLTTl9VCsCY13/5/JohQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-minify/binding-linux-ppc64-gnu@0.129.0': - resolution: {integrity: sha512-wj8AIXXF6wBPHtWPP2Jd1w2rmnCpbWxDpTpIkNB3yWyvox/m0TJvalJZtC3bOn6mMupiUnPWwoG/MB5cgdjFow==} + '@oxc-minify/binding-linux-ppc64-gnu@0.130.0': + resolution: {integrity: sha512-ZapH+MAqvisPhzhHdR5MkJwMyuhSoCl6UX+OT0QC6JJPXusBiS/4xzwtyAAhLWp9UveDGfu5nK41BaLJJZkHAw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-riscv64-gnu@0.129.0': - resolution: {integrity: sha512-/PqpKUszh46ox642AG3gINuVRCL74+SHbC5O94oMWtlyCsYN2By6f8nnBYXUoZ9EDi9/AdqGskaKb6Ba/hcTOw==} + '@oxc-minify/binding-linux-riscv64-gnu@0.130.0': + resolution: {integrity: sha512-u0DbWGeRdMOLDj/uw/DC5kiBVHgTSYFNoX/IPizSesrZis2+5kEq+unSJHTByuRWYbw6bmsToiA0uXpC2Yuy6g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-riscv64-musl@0.129.0': - resolution: {integrity: sha512-YK8FQhWMkAF2vJcddB5PlxZpN5ZJC6z07F1C9vm6gKudYFf8RJwgowYyUjn/2fAnC3kCf7dUYPiZcfa7FLUSbA==} + '@oxc-minify/binding-linux-riscv64-musl@0.130.0': + resolution: {integrity: sha512-sIjIo+KF7zs2pDpz9sumI7EdLn/CcxuhsG+scdhjB4t01xY2oI/VHErrMQlqTTHMzWYIGtSWjFoaTLLDRG6BWA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-minify/binding-linux-s390x-gnu@0.129.0': - resolution: {integrity: sha512-2fAfaZIaWZX25fsnnQ4AmMjmQZ2dsPbiJLtjc82SwqCvc64wp8zn39AkPSqd7mf7NFR4yZrGVWB4flT+DY+R5g==} + '@oxc-minify/binding-linux-s390x-gnu@0.130.0': + resolution: {integrity: sha512-oAw93U8rjszET+d9jDeM7Yn4VqEaqYXjIjeqqMcsY6/RTDStHAWtwo6GTSQK6IlJw+kgCu5K3NeyA6W/OX9zrw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-x64-gnu@0.129.0': - resolution: {integrity: sha512-bhzSBIrCy0+Qj2v4sXzumnEc4OArO/cLxUo55OOciXKz4EPbGJoFlIoVG1r0seNZHTcyO7gPIymenJNT3IqR5Q==} + '@oxc-minify/binding-linux-x64-gnu@0.130.0': + resolution: {integrity: sha512-F41i0t1EBq/qUtiLB1z0Fwq1Ogq1E9h/69Ec00QNstSq3pe1BPnd1QeL5rxrDrEJn89NLAKmLUdiBUFaAU2u5Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-minify/binding-linux-x64-musl@0.129.0': - resolution: {integrity: sha512-ZK8i0UGB9GepFZEOJJnZE/ZNOTSCiQ5Q7XFZM89rgWfncwDRPOGufEgrP93T+NKDxcf0gZYjMqdbnYSEk9r3ow==} + '@oxc-minify/binding-linux-x64-musl@0.130.0': + resolution: {integrity: sha512-soZVVgG/7bQtao6ew4J2mXN1WE5axnuQFW93BEItwSBjTbLdMQuWGyWTr3ZRFGW9yjvBXKmKoURQUEuVBUHFhg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-minify/binding-openharmony-arm64@0.129.0': - resolution: {integrity: sha512-gAMAyKCwFgKQpw/OMdp/0AUQh4ctGMELerrh6J4x+K8NsiVbi0I5aSedPKjY3odqb02zTkLxIdX1KeUpRR0dYQ==} + '@oxc-minify/binding-openharmony-arm64@0.130.0': + resolution: {integrity: sha512-22Q2EVxswmpWPgvwun5TnYKbqegXFbf/NSpbYWElM9U496+mSrP/CuAZTEpCV/Ldpi4JCXycv0g+PXJURm7U7Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxc-minify/binding-wasm32-wasi@0.129.0': - resolution: {integrity: sha512-T78LBwOIx4EO2m20SnUOhOgLvCke2pOjnVSF2c3Z+yxmIbRjXu/oWZAr5Fl4+SHj4IPdovarwX8rAXbZKlkv7g==} + '@oxc-minify/binding-wasm32-wasi@0.130.0': + resolution: {integrity: sha512-l/KJkQIIB3rmrv8Fn5clThOXRjHOBm8cUDNziGmWaPLt2UKaNcQNeYks+3rItqhZGwB6felW45+OOkt/jY+u2w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@oxc-minify/binding-win32-arm64-msvc@0.129.0': - resolution: {integrity: sha512-29b3SZmBzIAG06ARmIW9Q3yx8pHAn5zhIHshcfK+Ghbx063DKwEfW0X2RA3XzVPzGQTOcptYslcdV8OkzSf/KA==} + '@oxc-minify/binding-win32-arm64-msvc@0.130.0': + resolution: {integrity: sha512-cUQ5N+InhhKWoJPSP00YbKyq9PJ1nZ+ZkFbgfbPmf3FSgMvXh+NnXhvZeTk/0DmKGA8LA0o0uvg+WyWRppp1wA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-minify/binding-win32-ia32-msvc@0.129.0': - resolution: {integrity: sha512-yyjdlKWb/mvexhHj/8NnPJ5c27lGBZ3BvkJE8k+AmlTXn0/fxdHJBO3scDtMhhG5eJbgkqWZJsOajqgKUEI7Jg==} + '@oxc-minify/binding-win32-ia32-msvc@0.130.0': + resolution: {integrity: sha512-WgXF91N+iYMGOGYbl0zuyMlaSVeVoP3l7+85FyB6mk6HTnni28csTo3MA9kJ0WKniqS0zLhS4gdmVY2oXihnOg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxc-minify/binding-win32-x64-msvc@0.129.0': - resolution: {integrity: sha512-4np00rmsZHwfMjWa3GP3D+jFXpGpxxvHuCG/upgRKlAvtMaP+ZgpSOBjtlmmBHi6jd3TMha2LfG5L31F1eQuEw==} + '@oxc-minify/binding-win32-x64-msvc@0.130.0': + resolution: {integrity: sha512-gwyLRToAVoFjzzr90TEie1etfCZmKN8zMumtkZwswqd2seB+YF0GTyZvTaZCeEm2GX80DA8LXqocwuVksFVXeQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -3422,8 +3422,8 @@ packages: '@oxc-project/types@0.126.0': resolution: {integrity: sha512-oGfVtjAgwQVVpfBrbtk4e1XDyWHRFta6BS3GWVzrF8xYBT2VGQAk39yJS/wFSMrZqoiCU4oghT3Ch0HaHGIHcQ==} - '@oxc-project/types@0.129.0': - resolution: {integrity: sha512-3oz8m3FGdr2nDXVqmFUw7jolKliC4MoyXYIG2c7gpjBnzUWQpUGIYcXYKxTdTi+N2jusvt610ckTMkxdwHkYEg==} + '@oxc-project/types@0.130.0': + resolution: {integrity: sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==} '@oxfmt/binding-android-arm-eabi@0.48.0': resolution: {integrity: sha512-uwqk+/KhQvBIpULD8SMM/zAafMRC/+DV/xsEQjkkIsJ/kLmEI/2bxonVowcYTiXqqZ/a0FEW8DPkZY3VvwELDA==} @@ -3714,97 +3714,97 @@ packages: '@rive-app/canvas-lite@2.35.1': resolution: {integrity: sha512-Hm5dp9dmIj+3UoZiyTVi42QvO5bRtg5MrWIfidgZiX3L+oM/H94YfhPpX8Ktp6WXZtnHjh7zGy4v5hYkOlfiYA==} - '@rolldown/binding-android-arm64@1.0.0': - resolution: {integrity: sha512-TWMZnRLMe63C2Lhyicviu7ZHaU4kxa6PS3rofvc9GmcvptzNN11BcfQ4Sl7MwTOsisQoa2keB/EBdNCAnUo8vA==} + '@rolldown/binding-android-arm64@1.0.1': + resolution: {integrity: sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0': - resolution: {integrity: sha512-6XcD+8k0gPVItNagEw78/qqcBDwKcwDYS8V2hRmVsfUSIrd8cWe/CBvRDI5toqFyPfj+FJr6t8U6Xj2P2prEew==} + '@rolldown/binding-darwin-arm64@1.0.1': + resolution: {integrity: sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0': - resolution: {integrity: sha512-iN/tWVXRQDWvmZlKdceP1Dwug9GDpEymhb9p4xnEe6zvCg5lFmzVljl+1qR1NVx3yfGpr2Na+CuLmv5IU8uzfQ==} + '@rolldown/binding-darwin-x64@1.0.1': + resolution: {integrity: sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0': - resolution: {integrity: sha512-jjQMDvvwSOuhOwMszD/klSOjyWMM3zI64hWTj9KT5x4MxRbZAf+7vLQ6qouRhtsLVFHr3f0ILaJAfgENPiQdAQ==} + '@rolldown/binding-freebsd-x64@1.0.1': + resolution: {integrity: sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0': - resolution: {integrity: sha512-d//Dtg2x6/m3mbV64yUGNnDGNZaDGRpDLLNGerHQUVObuNaIQaaDp25yUiqGXtHEXX+NP2d0wAlmKgpYgIAJ2A==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.1': + resolution: {integrity: sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0': - resolution: {integrity: sha512-n7Ofp0mx+aB2cC+Sdy5YtMnXtY9lchnHbY+3Yt0uq9JsWQExf4f5Whu0tK0R8Jdc9S6RchTHjIFY7uc92puOVQ==} + '@rolldown/binding-linux-arm64-gnu@1.0.1': + resolution: {integrity: sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0': - resolution: {integrity: sha512-EIVjy2cgd7uuMMo94FVkBp7F6DhcZAUwNURkSG3RwUmvAXR6s0ISxM81U+IydcZByPG0pZIHsf1b6kTxoFDgJA==} + '@rolldown/binding-linux-arm64-musl@1.0.1': + resolution: {integrity: sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.0': - resolution: {integrity: sha512-JEwwOPcwTLAcpDQlqSmjEmfs63xJnSiUNIGvLcDLUHCWK4XowpS/7c7tUsUH6uT/ct6bMUTdXKfI8967FYj6mg==} + '@rolldown/binding-linux-ppc64-gnu@1.0.1': + resolution: {integrity: sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0': - resolution: {integrity: sha512-0wjCFhLrihtAubnT9iA0N++0pSV0z5Hg7tNGdNJ4RFaINceHadoF+kiFGyY1qSSNVIAZtLotG8Ju1bgDPkjnFA==} + '@rolldown/binding-linux-s390x-gnu@1.0.1': + resolution: {integrity: sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0': - resolution: {integrity: sha512-Dfn7iak9BcMMePxcoJfpSbWqnEyrp/dRF63/8qW/eHBdOZov6x5aShLLEYGYdIeSJ6vMLK/XCVB+lGIxm41bQA==} + '@rolldown/binding-linux-x64-gnu@1.0.1': + resolution: {integrity: sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.0': - resolution: {integrity: sha512-5/utzzDmD/pD/bmuaUcbTf/sZYy0aztwIVlfpoW1fTjCZ0BaPOMVWGZL1zvgxyi7ZIVYWlxKONHmSbHuiOh8Jw==} + '@rolldown/binding-linux-x64-musl@1.0.1': + resolution: {integrity: sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.0': - resolution: {integrity: sha512-ouJs8VcUomfLfpbUECqFMRqdV4x6aeAK3MA4m6vTrJJjKyWTV5KnxZx7Jd9G+GlDaQQxubcba00x16OyJ1meig==} + '@rolldown/binding-openharmony-arm64@1.0.1': + resolution: {integrity: sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0': - resolution: {integrity: sha512-E+oHKGiDA+lsKMmFtffDDw91EryDT7uJocrIuCHqhm6bCTM6xFK+3gaCkYOHfPwQr0cCNarSM2xaELoQDz9jJg==} + '@rolldown/binding-wasm32-wasi@1.0.1': + resolution: {integrity: sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0': - resolution: {integrity: sha512-yYK02n8Rngo+gbm1y6G0+7jk1sJ/2Wt7K0me0Y7k/ErBpyf+LJ2gFpqWVTcRV1rUepBlQRmpgWkTQCiiwrK0Ow==} + '@rolldown/binding-win32-arm64-msvc@1.0.1': + resolution: {integrity: sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0': - resolution: {integrity: sha512-14bpChMahXRRXiTwahSl+zzHPW6qQTXtkMuJBFlbo+pqSAews2d4BdCSHfrJ/MBsCZtpmTafsY+1QhBzitcmdg==} + '@rolldown/binding-win32-x64-msvc@1.0.1': + resolution: {integrity: sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -6804,8 +6804,8 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - oxc-minify@0.129.0: - resolution: {integrity: sha512-2lvl93ENf6WXFk1ZPZ3CBoxOVEHsK9x24x1Bo80oiePImkKGZDI4d+pUdCOhlFtbzWmOEmZaOml1OC5jqfCaxg==} + oxc-minify@0.130.0: + resolution: {integrity: sha512-hRB5Jo55CAoWJGz9pHajx5iPivNCCIHdT4R+K+Enc0wUjdbLjGIJPCCHzIctzmBGwDGhUNZlpverwHslIRne0g==} engines: {node: ^20.19.0 || >=22.12.0} oxc-parser@0.126.0: @@ -7269,7 +7269,7 @@ packages: peerDependencies: '@ts-macro/tsc': ^0.3.6 '@typescript/native-preview': '>=7.0.0-dev.20260325.1' - rolldown: 1.0.0 + rolldown: 1.0.1 typescript: ^6.0.0 vue-tsc: ~3.2.0 peerDependenciesMeta: @@ -7282,8 +7282,8 @@ packages: vue-tsc: optional: true - rolldown@1.0.0: - resolution: {integrity: sha512-yD986aXDESFGS95spT1LAv0jssywP4npMEjmMHyN2/5+eE8qQJUype2AaKkRiLgBgyD0LFlubwAht7VmY8rGoA==} + rolldown@1.0.1: + resolution: {integrity: sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -9673,68 +9673,68 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@oxc-minify/binding-android-arm-eabi@0.129.0': + '@oxc-minify/binding-android-arm-eabi@0.130.0': optional: true - '@oxc-minify/binding-android-arm64@0.129.0': + '@oxc-minify/binding-android-arm64@0.130.0': optional: true - '@oxc-minify/binding-darwin-arm64@0.129.0': + '@oxc-minify/binding-darwin-arm64@0.130.0': optional: true - '@oxc-minify/binding-darwin-x64@0.129.0': + '@oxc-minify/binding-darwin-x64@0.130.0': optional: true - '@oxc-minify/binding-freebsd-x64@0.129.0': + '@oxc-minify/binding-freebsd-x64@0.130.0': optional: true - '@oxc-minify/binding-linux-arm-gnueabihf@0.129.0': + '@oxc-minify/binding-linux-arm-gnueabihf@0.130.0': optional: true - '@oxc-minify/binding-linux-arm-musleabihf@0.129.0': + '@oxc-minify/binding-linux-arm-musleabihf@0.130.0': optional: true - '@oxc-minify/binding-linux-arm64-gnu@0.129.0': + '@oxc-minify/binding-linux-arm64-gnu@0.130.0': optional: true - '@oxc-minify/binding-linux-arm64-musl@0.129.0': + '@oxc-minify/binding-linux-arm64-musl@0.130.0': optional: true - '@oxc-minify/binding-linux-ppc64-gnu@0.129.0': + '@oxc-minify/binding-linux-ppc64-gnu@0.130.0': optional: true - '@oxc-minify/binding-linux-riscv64-gnu@0.129.0': + '@oxc-minify/binding-linux-riscv64-gnu@0.130.0': optional: true - '@oxc-minify/binding-linux-riscv64-musl@0.129.0': + '@oxc-minify/binding-linux-riscv64-musl@0.130.0': optional: true - '@oxc-minify/binding-linux-s390x-gnu@0.129.0': + '@oxc-minify/binding-linux-s390x-gnu@0.130.0': optional: true - '@oxc-minify/binding-linux-x64-gnu@0.129.0': + '@oxc-minify/binding-linux-x64-gnu@0.130.0': optional: true - '@oxc-minify/binding-linux-x64-musl@0.129.0': + '@oxc-minify/binding-linux-x64-musl@0.130.0': optional: true - '@oxc-minify/binding-openharmony-arm64@0.129.0': + '@oxc-minify/binding-openharmony-arm64@0.130.0': optional: true - '@oxc-minify/binding-wasm32-wasi@0.129.0': + '@oxc-minify/binding-wasm32-wasi@0.130.0': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@oxc-minify/binding-win32-arm64-msvc@0.129.0': + '@oxc-minify/binding-win32-arm64-msvc@0.130.0': optional: true - '@oxc-minify/binding-win32-ia32-msvc@0.129.0': + '@oxc-minify/binding-win32-ia32-msvc@0.130.0': optional: true - '@oxc-minify/binding-win32-x64-msvc@0.129.0': + '@oxc-minify/binding-win32-x64-msvc@0.130.0': optional: true '@oxc-parser/binding-android-arm-eabi@0.126.0': @@ -9803,7 +9803,7 @@ snapshots: '@oxc-project/types@0.126.0': {} - '@oxc-project/types@0.129.0': {} + '@oxc-project/types@0.130.0': {} '@oxfmt/binding-android-arm-eabi@0.48.0': optional: true @@ -10008,53 +10008,53 @@ snapshots: '@rive-app/canvas-lite@2.35.1': {} - '@rolldown/binding-android-arm64@1.0.0': + '@rolldown/binding-android-arm64@1.0.1': optional: true - '@rolldown/binding-darwin-arm64@1.0.0': + '@rolldown/binding-darwin-arm64@1.0.1': optional: true - '@rolldown/binding-darwin-x64@1.0.0': + '@rolldown/binding-darwin-x64@1.0.1': optional: true - '@rolldown/binding-freebsd-x64@1.0.0': + '@rolldown/binding-freebsd-x64@1.0.1': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0': + '@rolldown/binding-linux-arm-gnueabihf@1.0.1': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0': + '@rolldown/binding-linux-arm64-gnu@1.0.1': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0': + '@rolldown/binding-linux-arm64-musl@1.0.1': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0': + '@rolldown/binding-linux-ppc64-gnu@1.0.1': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0': + '@rolldown/binding-linux-s390x-gnu@1.0.1': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0': + '@rolldown/binding-linux-x64-gnu@1.0.1': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0': + '@rolldown/binding-linux-x64-musl@1.0.1': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0': + '@rolldown/binding-openharmony-arm64@1.0.1': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0': + '@rolldown/binding-wasm32-wasi@1.0.1': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0': + '@rolldown/binding-win32-arm64-msvc@1.0.1': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0': + '@rolldown/binding-win32-x64-msvc@1.0.1': optional: true '@rolldown/debug@1.0.0-rc.18': {} @@ -11150,7 +11150,7 @@ snapshots: minisearch: 7.2.0 reka-ui: 2.9.0(vue@3.5.34) tailwindcss: 4.3.0 - vitepress: 2.0.0-alpha.17(oxc-minify@0.129.0)(postcss@8.5.14)(typescript@6.0.2) + vitepress: 2.0.0-alpha.17(oxc-minify@0.130.0)(postcss@8.5.14)(typescript@6.0.2) vue: 3.5.34(typescript@6.0.2) transitivePeerDependencies: - '@vue/composition-api' @@ -13263,28 +13263,28 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - oxc-minify@0.129.0: + oxc-minify@0.130.0: optionalDependencies: - '@oxc-minify/binding-android-arm-eabi': 0.129.0 - '@oxc-minify/binding-android-arm64': 0.129.0 - '@oxc-minify/binding-darwin-arm64': 0.129.0 - '@oxc-minify/binding-darwin-x64': 0.129.0 - '@oxc-minify/binding-freebsd-x64': 0.129.0 - '@oxc-minify/binding-linux-arm-gnueabihf': 0.129.0 - '@oxc-minify/binding-linux-arm-musleabihf': 0.129.0 - '@oxc-minify/binding-linux-arm64-gnu': 0.129.0 - '@oxc-minify/binding-linux-arm64-musl': 0.129.0 - '@oxc-minify/binding-linux-ppc64-gnu': 0.129.0 - '@oxc-minify/binding-linux-riscv64-gnu': 0.129.0 - '@oxc-minify/binding-linux-riscv64-musl': 0.129.0 - '@oxc-minify/binding-linux-s390x-gnu': 0.129.0 - '@oxc-minify/binding-linux-x64-gnu': 0.129.0 - '@oxc-minify/binding-linux-x64-musl': 0.129.0 - '@oxc-minify/binding-openharmony-arm64': 0.129.0 - '@oxc-minify/binding-wasm32-wasi': 0.129.0 - '@oxc-minify/binding-win32-arm64-msvc': 0.129.0 - '@oxc-minify/binding-win32-ia32-msvc': 0.129.0 - '@oxc-minify/binding-win32-x64-msvc': 0.129.0 + '@oxc-minify/binding-android-arm-eabi': 0.130.0 + '@oxc-minify/binding-android-arm64': 0.130.0 + '@oxc-minify/binding-darwin-arm64': 0.130.0 + '@oxc-minify/binding-darwin-x64': 0.130.0 + '@oxc-minify/binding-freebsd-x64': 0.130.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.130.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.130.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.130.0 + '@oxc-minify/binding-linux-arm64-musl': 0.130.0 + '@oxc-minify/binding-linux-ppc64-gnu': 0.130.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.130.0 + '@oxc-minify/binding-linux-riscv64-musl': 0.130.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.130.0 + '@oxc-minify/binding-linux-x64-gnu': 0.130.0 + '@oxc-minify/binding-linux-x64-musl': 0.130.0 + '@oxc-minify/binding-openharmony-arm64': 0.130.0 + '@oxc-minify/binding-wasm32-wasi': 0.130.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.130.0 + '@oxc-minify/binding-win32-ia32-msvc': 0.130.0 + '@oxc-minify/binding-win32-x64-msvc': 0.130.0 oxc-parser@0.126.0: dependencies: @@ -13805,7 +13805,7 @@ snapshots: rfdc@1.4.1: {} - rolldown-plugin-dts@0.25.0(rolldown@1.0.0)(typescript@6.0.2)(vue-tsc@3.2.8): + rolldown-plugin-dts@0.25.0(rolldown@1.0.1)(typescript@6.0.2)(vue-tsc@3.2.8): dependencies: '@babel/generator': 8.0.0-rc.4 '@babel/helper-validator-identifier': 8.0.0-rc.4 @@ -13815,33 +13815,33 @@ snapshots: dts-resolver: 3.0.0 get-tsconfig: 5.0.0-beta.5 obug: 2.1.1 - rolldown: 1.0.0 + rolldown: 1.0.1 optionalDependencies: typescript: 6.0.2 vue-tsc: 3.2.8(typescript@6.0.2) transitivePeerDependencies: - oxc-resolver - rolldown@1.0.0: + rolldown@1.0.1: dependencies: - '@oxc-project/types': 0.129.0 + '@oxc-project/types': 0.130.0 '@rolldown/pluginutils': 1.0.0 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0 - '@rolldown/binding-darwin-arm64': 1.0.0 - '@rolldown/binding-darwin-x64': 1.0.0 - '@rolldown/binding-freebsd-x64': 1.0.0 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0 - '@rolldown/binding-linux-arm64-gnu': 1.0.0 - '@rolldown/binding-linux-arm64-musl': 1.0.0 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0 - '@rolldown/binding-linux-s390x-gnu': 1.0.0 - '@rolldown/binding-linux-x64-gnu': 1.0.0 - '@rolldown/binding-linux-x64-musl': 1.0.0 - '@rolldown/binding-openharmony-arm64': 1.0.0 - '@rolldown/binding-wasm32-wasi': 1.0.0 - '@rolldown/binding-win32-arm64-msvc': 1.0.0 - '@rolldown/binding-win32-x64-msvc': 1.0.0 + '@rolldown/binding-android-arm64': 1.0.1 + '@rolldown/binding-darwin-arm64': 1.0.1 + '@rolldown/binding-darwin-x64': 1.0.1 + '@rolldown/binding-freebsd-x64': 1.0.1 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.1 + '@rolldown/binding-linux-arm64-gnu': 1.0.1 + '@rolldown/binding-linux-arm64-musl': 1.0.1 + '@rolldown/binding-linux-ppc64-gnu': 1.0.1 + '@rolldown/binding-linux-s390x-gnu': 1.0.1 + '@rolldown/binding-linux-x64-gnu': 1.0.1 + '@rolldown/binding-linux-x64-musl': 1.0.1 + '@rolldown/binding-openharmony-arm64': 1.0.1 + '@rolldown/binding-wasm32-wasi': 1.0.1 + '@rolldown/binding-win32-arm64-msvc': 1.0.1 + '@rolldown/binding-win32-x64-msvc': 1.0.1 rollup-plugin-license@3.7.1(picomatch@4.0.4)(rollup@4.59.0): dependencies: @@ -14446,8 +14446,8 @@ snapshots: import-without-cache: 0.4.0 obug: 2.1.1 picomatch: 4.0.4 - rolldown: 1.0.0 - rolldown-plugin-dts: 0.25.0(rolldown@1.0.0)(typescript@6.0.2)(vue-tsc@3.2.8) + rolldown: 1.0.1 + rolldown-plugin-dts: 0.25.0(rolldown@1.0.1)(typescript@6.0.2)(vue-tsc@3.2.8) semver: 7.7.4 tinyexec: 1.1.2 tinyglobby: 0.2.16 @@ -14630,7 +14630,7 @@ snapshots: unrun@0.3.0: dependencies: - rolldown: 1.0.0 + rolldown: 1.0.1 unstorage@1.17.5: dependencies: @@ -14688,7 +14688,7 @@ snapshots: vitepress-plugin-graphviz@0.1.0(vitepress@2.0.0-alpha.17): dependencies: '@hpcc-js/wasm-graphviz': 1.21.2 - vitepress: 2.0.0-alpha.17(oxc-minify@0.129.0)(postcss@8.5.14)(typescript@6.0.2) + vitepress: 2.0.0-alpha.17(oxc-minify@0.130.0)(postcss@8.5.14)(typescript@6.0.2) vitepress-plugin-group-icons@1.7.5(vite@packages+vite): dependencies: @@ -14717,7 +14717,7 @@ snapshots: transitivePeerDependencies: - ms - vitepress@2.0.0-alpha.17(oxc-minify@0.129.0)(postcss@8.5.14)(typescript@6.0.2): + vitepress@2.0.0-alpha.17(oxc-minify@0.130.0)(postcss@8.5.14)(typescript@6.0.2): dependencies: '@docsearch/css': 4.5.4 '@docsearch/js': 4.5.4 @@ -14739,7 +14739,7 @@ snapshots: vite: link:packages/vite vue: 3.5.34(typescript@6.0.2) optionalDependencies: - oxc-minify: 0.129.0 + oxc-minify: 0.130.0 postcss: 8.5.14 transitivePeerDependencies: - async-validator From a5763266170f8606836da5c6f987b4b2fd6ddc55 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Thu, 14 May 2026 04:33:55 +0200 Subject: [PATCH 3/4] fix: make `isBundled` per environment (#22257) --- .../src/node/__tests__/plugins/define.spec.ts | 7 +- packages/vite/src/node/build.ts | 14 +++- packages/vite/src/node/config.ts | 29 +++++-- packages/vite/src/node/plugins/asset.ts | 2 +- .../vite/src/node/plugins/clientInjections.ts | 3 + packages/vite/src/node/plugins/css.ts | 6 +- packages/vite/src/node/plugins/define.ts | 71 ++++++++--------- .../src/node/plugins/dynamicImportVars.ts | 35 ++++----- packages/vite/src/node/plugins/html.ts | 4 + .../vite/src/node/plugins/importAnalysis.ts | 4 + .../vite/src/node/plugins/importMetaGlob.ts | 19 +++-- packages/vite/src/node/plugins/index.ts | 76 ++++++++++++------- .../src/node/plugins/modulePreloadPolyfill.ts | 20 ++--- .../vite/src/node/plugins/optimizedDeps.ts | 3 + packages/vite/src/node/plugins/oxc.ts | 60 +++++++-------- packages/vite/src/node/plugins/preAlias.ts | 3 + packages/vite/src/node/plugins/resolve.ts | 4 +- packages/vite/src/node/plugins/worker.ts | 31 ++++---- .../src/node/plugins/workerImportMetaUrl.ts | 7 +- 19 files changed, 231 insertions(+), 167 deletions(-) diff --git a/packages/vite/src/node/__tests__/plugins/define.spec.ts b/packages/vite/src/node/__tests__/plugins/define.spec.ts index 68bd23aaa92cde..a7c72e50241495 100644 --- a/packages/vite/src/node/__tests__/plugins/define.spec.ts +++ b/packages/vite/src/node/__tests__/plugins/define.spec.ts @@ -27,6 +27,9 @@ async function createDefinePluginTransform( ) return result?.code || result } else { + const nativeDefinePlugin = await ( + definePlugin(config) as any + ).applyToEnvironment(environment) const bundler = await rolldown({ input: 'entry.js', plugins: [ @@ -45,9 +48,7 @@ async function createDefinePluginTransform( }, { name: 'native:define', - options: (definePlugin(config).options! as any).bind({ - environment, - }), + options: nativeDefinePlugin.options.bind({ environment }), }, ], experimental: { diff --git a/packages/vite/src/node/build.ts b/packages/vite/src/node/build.ts index bb3fbedca05ddd..870c0eb1bafdec 100644 --- a/packages/vite/src/node/build.ts +++ b/packages/vite/src/node/build.ts @@ -512,18 +512,24 @@ export function resolveBuildPlugins(config: ResolvedConfig): { ...(isBuild && !config.isWorker ? [prepareOutDirPlugin()] : []), perEnvironmentPlugin( 'vite:rollup-options-plugins', - async (environment) => - ( + async (environment) => { + if (!isBuild && !environment.config.isBundled) { + return false + } + return ( await asyncFlatten( arraify(environment.config.build.rollupOptions.plugins), ) - ).filter(Boolean) as Plugin[], + ).filter(Boolean) as Plugin[] + }, ), ...(config.isWorker ? [webWorkerPostPlugin(config)] : []), ], post: [ ...(isBuild ? buildImportAnalysisPlugin(config) : []), - ...(config.build.minify === 'esbuild' ? [buildEsbuildPlugin()] : []), + ...(isBuild && config.build.minify === 'esbuild' + ? [buildEsbuildPlugin()] + : []), ...(isBuild ? [terserPlugin(config)] : []), ...(isBuild && !config.isWorker ? [ diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 56c50ccb271f81..b3a29711cd45cd 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -303,6 +303,17 @@ export interface SharedEnvironmentOptions { * Optimize deps config */ optimizeDeps?: DepOptimizationOptions + /** + * Whether this environment produces a bundled output. + * + * During `build`, this defaults to `true` for every environment. + * During `serve`, this defaults to `true` only for the client environment + * when `experimental.bundledDev` is enabled, and `false` otherwise. + * Setting this explicitly on an environment always overrides the default. + * + * @experimental + */ + isBundled?: boolean } export interface EnvironmentOptions extends SharedEnvironmentOptions { @@ -326,6 +337,7 @@ export type ResolvedEnvironmentOptions = { optimizeDeps: DepOptimizationOptions dev: ResolvedDevEnvironmentOptions build: ResolvedBuildEnvironmentOptions + isBundled: boolean plugins: readonly Plugin[] /** @internal */ optimizeDepsPluginNames: string[] @@ -568,7 +580,11 @@ export interface ExperimentalOptions { */ hmrPartialAccept?: boolean /** - * Enable full bundle mode. + * Enable full bundle mode during `serve`. + * + * This seeds the default for the client environment's `isBundled` option. + * Other environments default to `false` during `serve`. Any environment + * can override its `isBundled` value via `environments[name].isBundled`. * * This is highly experimental. * @@ -654,8 +670,6 @@ export interface ResolvedConfig extends Readonly< cacheDir: string command: 'build' | 'serve' mode: string - /** `true` when build or full-bundle mode dev */ - isBundled: boolean isWorker: boolean // in nested worker bundle to find the main config /** @internal */ @@ -907,6 +921,7 @@ function resolveEnvironmentOptions( forceOptimizeDeps: boolean | undefined, logger: Logger, environmentName: string, + isBuild: boolean, isBundledDev: boolean, // Backward compatibility isSsrTargetWebworkerSet?: boolean, @@ -918,6 +933,9 @@ function resolveEnvironmentOptions( const isSsrTargetWebworkerEnvironment = isSsrTargetWebworkerSet && environmentName === 'ssr' + const isBundled = + options.isBundled ?? (isBuild || (isClientEnvironment && isBundledDev)) + if (options.define?.['process.env']) { const processEnvDefine = options.define['process.env'] if (typeof processEnvDefine === 'object') { @@ -970,9 +988,10 @@ function resolveEnvironmentOptions( options.build ?? {}, logger, consumer, - isBundledDev, + isBundled && !isBuild, isSsrTargetWebworkerEnvironment, ), + isBundled, plugins: undefined!, // to be resolved later // will be set by `setOptimizeDepsPluginNames` later optimizeDepsPluginNames: undefined!, @@ -1608,6 +1627,7 @@ export async function resolveConfig( inlineConfig.forceOptimizeDeps, logger, environmentName, + isBuild, isBundledDev, config.ssr?.target === 'webworker', config.server?.preTransformRequests, @@ -1900,7 +1920,6 @@ export async function resolveConfig( cacheDir, command, mode, - isBundled: config.experimental?.bundledDev || isBuild, isWorker: false, mainConfig: null, bundleChain: [], diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts index 102e1c3125d2a3..35cd29ea8cf582 100644 --- a/packages/vite/src/node/plugins/asset.ts +++ b/packages/vite/src/node/plugins/asset.ts @@ -475,7 +475,7 @@ async function fileToBuiltUrl( if ( environment.config.command === 'serve' && - environment.config.experimental.bundledDev + environment.config.isBundled ) { const outputFilename = pluginContext.getFileName(referenceId) url = toOutputFilePathInJSForBundledDev(environment, outputFilename) diff --git a/packages/vite/src/node/plugins/clientInjections.ts b/packages/vite/src/node/plugins/clientInjections.ts index 4671f3fbe0e525..852b395914aec1 100644 --- a/packages/vite/src/node/plugins/clientInjections.ts +++ b/packages/vite/src/node/plugins/clientInjections.ts @@ -34,6 +34,9 @@ export function clientInjectionsPlugin(config: ResolvedConfig): Plugin { return { name: 'vite:client-inject', + applyToEnvironment(environment) { + return !environment.config.isBundled + }, async buildStart() { injectConfigValues = await createClientConfigValueReplacer(config) }, diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 1353831780a45b..fbba320c1bc158 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -594,7 +594,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { const cssContent = await getContentWithSourcemap(css) const code = [ - config.isBundled + this.environment.config.isBundled ? `const { updateStyle: __vite__updateStyle, removeStyle: __vite__removeStyle } = import.meta.hot._internal` : `import { updateStyle as __vite__updateStyle, removeStyle as __vite__removeStyle } from ${JSON.stringify( path.posix.join(config.base, CLIENT_PUBLIC_PATH), @@ -1175,6 +1175,10 @@ export function cssAnalysisPlugin(config: ResolvedConfig): Plugin { return { name: 'vite:css-analysis', + applyToEnvironment(environment) { + return !environment.config.isBundled + }, + transform: { filter: { id: { diff --git a/packages/vite/src/node/plugins/define.ts b/packages/vite/src/node/plugins/define.ts index 5d2e4a4aa82980..3b653265de1da4 100644 --- a/packages/vite/src/node/plugins/define.ts +++ b/packages/vite/src/node/plugins/define.ts @@ -10,7 +10,6 @@ const isNonJsRequest = (request: string): boolean => nonJsRe.test(request) const escapedDotRE = /(? = {} - const importMetaEnvKeys: Record = {} - const importMetaFallbackKeys: Record = {} - if (isBuild) { - importMetaKeys['import.meta.hot'] = `undefined` - } - if (isBundled) { - for (const key in config.env) { - const val = JSON.stringify(config.env[key]) - importMetaKeys[`import.meta.env.${key}`] = val - importMetaEnvKeys[key] = val - } - // these will be set to a proper value in `generatePattern` - importMetaKeys['import.meta.env.SSR'] = `undefined` - importMetaFallbackKeys['import.meta.env'] = `undefined` - } - function generatePattern(environment: Environment) { + const isBundled = environment.config.isBundled const keepProcessEnv = environment.config.keepProcessEnv + // during dev, import.meta properties are handled by importAnalysis plugin. + const importMetaKeys: Record = {} + const importMetaEnvKeys: Record = {} + const importMetaFallbackKeys: Record = {} + if (isBuild) { + importMetaKeys['import.meta.hot'] = `undefined` + } + if (isBundled) { + for (const key in config.env) { + const val = JSON.stringify(config.env[key]) + importMetaKeys[`import.meta.env.${key}`] = val + importMetaEnvKeys[key] = val + } + // these will be set to a proper value below + importMetaKeys['import.meta.env.SSR'] = `undefined` + importMetaFallbackKeys['import.meta.env'] = `undefined` + } + const userDefine: Record = {} const userDefineEnv: Record = {} for (const key in environment.config.define) { @@ -113,24 +113,27 @@ export function definePlugin(config: ResolvedConfig): Plugin { return pattern } - if (isBundled) { - return { - name: 'vite:define', - options(option) { - const [define, _pattern, importMetaEnvVal] = getPattern( - this.environment, - ) - define['import.meta.env'] = importMetaEnvVal - define['import.meta.env.*'] = 'undefined' - option.transform ??= {} - option.transform.define = { ...option.transform.define, ...define } - }, - } - } - return { name: 'vite:define', + applyToEnvironment(environment) { + if (environment.config.isBundled) { + return { + name: 'vite:define', + options(option) { + const [define, _pattern, importMetaEnvVal] = getPattern( + this.environment, + ) + define['import.meta.env'] = importMetaEnvVal + define['import.meta.env.*'] = 'undefined' + option.transform ??= {} + option.transform.define = { ...option.transform.define, ...define } + }, + } + } + return true + }, + transform: { handler(code, id) { if (this.environment.config.consumer === 'client') { diff --git a/packages/vite/src/node/plugins/dynamicImportVars.ts b/packages/vite/src/node/plugins/dynamicImportVars.ts index 32138e26de9e50..70f3f3af5ed559 100644 --- a/packages/vite/src/node/plugins/dynamicImportVars.ts +++ b/packages/vite/src/node/plugins/dynamicImportVars.ts @@ -6,7 +6,7 @@ import { parseAst } from 'rolldown/parseAst' import { dynamicImportToGlob } from '@rollup/plugin-dynamic-import-vars' import { viteDynamicImportVarsPlugin as nativeDynamicImportVarsPlugin } from 'rolldown/experimental' import { exactRegex } from 'rolldown/filter' -import { type Plugin, perEnvironmentPlugin } from '../plugin' +import type { Plugin } from '../plugin' import type { ResolvedConfig } from '../config' import { CLIENT_ENTRY } from '../constants' import { createBackCompatIdResolver } from '../idResolver' @@ -173,22 +173,6 @@ export function dynamicImportVarsPlugin(config: ResolvedConfig): Plugin { extensions: [], }) - if (config.isBundled) { - return perEnvironmentPlugin('native:dynamic-import-vars', (environment) => { - const { include, exclude } = - environment.config.build.dynamicImportVarsOptions - - return nativeDynamicImportVarsPlugin({ - include, - exclude, - resolver(id, importer) { - return resolve(environment, id, importer) - }, - sourcemap: !!environment.config.build.sourcemap, - }) - }) - } - const getFilter = perEnvironmentState((environment: Environment) => { const { include, exclude } = environment.config.build.dynamicImportVarsOptions @@ -198,6 +182,23 @@ export function dynamicImportVarsPlugin(config: ResolvedConfig): Plugin { return { name: 'vite:dynamic-import-vars', + applyToEnvironment(environment) { + if (environment.config.isBundled) { + const { include, exclude } = + environment.config.build.dynamicImportVarsOptions + + return nativeDynamicImportVarsPlugin({ + include, + exclude, + resolver(id, importer) { + return resolve(environment, id, importer) + }, + sourcemap: !!environment.config.build.sourcemap, + }) + } + return true + }, + resolveId: { filter: { id: exactRegex(dynamicImportHelperId) }, handler(id) { diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index 52def92e4577aa..b11e51cfed3ab6 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -430,6 +430,10 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { return { name: 'vite:build-html', + applyToEnvironment(environment) { + return environment.config.isBundled + }, + transform: { filter: { id: /\.html$/ }, async handler(html, id) { diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index c97851b0d69106..bd346f86f1c1bb 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -257,6 +257,10 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { return { name: 'vite:import-analysis', + applyToEnvironment(environment) { + return !environment.config.isBundled + }, + async transform(source, importer) { const environment = this.environment as DevEnvironment const ssr = environment.config.consumer === 'server' diff --git a/packages/vite/src/node/plugins/importMetaGlob.ts b/packages/vite/src/node/plugins/importMetaGlob.ts index 98b0ee03d9dbd0..516359e8bad8e7 100644 --- a/packages/vite/src/node/plugins/importMetaGlob.ts +++ b/packages/vite/src/node/plugins/importMetaGlob.ts @@ -35,14 +35,6 @@ interface ParsedGeneralImportGlobOptions extends GeneralImportGlobOptions { } export function importGlobPlugin(config: ResolvedConfig): Plugin { - if (config.isBundled) { - return nativeImportGlobPlugin({ - root: config.root, - sourcemap: !!config.build.sourcemap, - restoreQueryExtension: config.experimental.importGlobRestoreExtension, - }) - } - const importGlobMaps = new Map< Environment, Map boolean>> @@ -50,6 +42,17 @@ export function importGlobPlugin(config: ResolvedConfig): Plugin { return { name: 'vite:import-glob', + applyToEnvironment(environment) { + if (environment.config.isBundled) { + return nativeImportGlobPlugin({ + root: environment.config.root, + sourcemap: !!environment.config.build.sourcemap, + restoreQueryExtension: + environment.config.experimental.importGlobRestoreExtension, + }) + } + return true + }, buildStart() { importGlobMaps.clear() }, diff --git a/packages/vite/src/node/plugins/index.ts b/packages/vite/src/node/plugins/index.ts index b793e372813ddb..2255d37416b620 100644 --- a/packages/vite/src/node/plugins/index.ts +++ b/packages/vite/src/node/plugins/index.ts @@ -47,9 +47,10 @@ export async function resolvePlugins( postPlugins: Plugin[], ): Promise { const isBuild = config.command === 'build' - const isBundled = config.isBundled const isWorker = config.isWorker - const buildPlugins = isBundled + const anyEnvBundled = + isBuild || Object.values(config.environments).some((env) => env.isBundled) + const buildPlugins = anyEnvBundled ? (await import('../build')).resolveBuildPlugins(config) : { pre: [], post: [] } const devtoolsIntegrationPlugin = @@ -59,28 +60,37 @@ export async function resolvePlugins( const { modulePreload } = config.build return [ - !isBundled ? optimizedDepsPlugin() : null, + optimizedDepsPlugin(), !isWorker ? watchPackageDataPlugin(config.packageCache) : null, - !isBundled ? preAliasPlugin(config) : null, - isBundled && !config.resolve.alias.some((v) => v.customResolver) - ? nativeAliasPlugin({ - entries: config.resolve.alias.map((item) => { - return { - find: item.find, - replacement: item.replacement, - } - }), - }) - : aliasPlugin({ - // @ts-expect-error aliasPlugin receives rollup types - entries: config.resolve.alias, - customResolver: viteAliasCustomResolver, - }), + preAliasPlugin(config), + { + ...aliasPlugin({ + // @ts-expect-error aliasPlugin receives rollup types + entries: config.resolve.alias, + customResolver: viteAliasCustomResolver, + }), + applyToEnvironment(environment) { + if ( + environment.config.isBundled && + !environment.config.resolve.alias.some((v) => v.customResolver) + ) { + return nativeAliasPlugin({ + entries: config.resolve.alias.map((item) => { + return { + find: item.find, + replacement: item.replacement, + } + }), + }) + } + return true + }, + } as Plugin, ...prePlugins, modulePreload !== false && modulePreload.polyfill - ? modulePreloadPolyfillPlugin(config) + ? modulePreloadPolyfillPlugin() : null, ...oxcResolvePlugin( { @@ -94,14 +104,26 @@ export async function resolvePlugins( legacyInconsistentCjsInterop: config.legacy?.inconsistentCjsInterop, }, isWorker - ? { ...config, consumer: 'client', optimizeDepsPluginNames: [] } + ? { + ...config, + consumer: 'client', + isBundled: true, + optimizeDepsPluginNames: [], + } : undefined, ), htmlInlineProxyPlugin(config), cssPlugin(config), esbuildBannerFooterCompatPlugin(config), // @oxc-project/runtime resolution is handled by rolldown in build - config.oxc !== false && !isBundled ? oxcRuntimePlugin() : null, + config.oxc !== false + ? ({ + ...oxcRuntimePlugin(), + applyToEnvironment(environment) { + return !environment.config.isBundled + }, + } satisfies Plugin) + : null, config.oxc !== false ? oxcPlugin(config) : null, nativeJsonPlugin({ ...config.json, minify: isBuild }), wasmHelperPlugin(), @@ -116,7 +138,7 @@ export async function resolvePlugins( nativeWasmFallbackPlugin(), definePlugin(config), cssPostPlugin(config), - isBundled && buildHtmlPlugin(config), + buildHtmlPlugin(config), workerImportMetaUrlPlugin(config), assetImportMetaUrlPlugin(config), ...buildPlugins.pre, @@ -129,13 +151,9 @@ export async function resolvePlugins( devtoolsIntegrationPlugin, // internal server-only plugins are always applied after everything else - ...(isBundled - ? [] - : [ - clientInjectionsPlugin(config), - cssAnalysisPlugin(config), - importAnalysisPlugin(config), - ]), + clientInjectionsPlugin(config), + cssAnalysisPlugin(config), + importAnalysisPlugin(config), ].filter(Boolean) as Plugin[] } diff --git a/packages/vite/src/node/plugins/modulePreloadPolyfill.ts b/packages/vite/src/node/plugins/modulePreloadPolyfill.ts index 2d92db55c97065..bedcf046c4f957 100644 --- a/packages/vite/src/node/plugins/modulePreloadPolyfill.ts +++ b/packages/vite/src/node/plugins/modulePreloadPolyfill.ts @@ -1,25 +1,21 @@ import { exactRegex } from 'rolldown/filter' import { viteModulePreloadPolyfillPlugin as nativeModulePreloadPolyfillPlugin } from 'rolldown/experimental' -import { type ResolvedConfig, perEnvironmentPlugin } from '..' import type { Plugin } from '../plugin' export const modulePreloadPolyfillId = 'vite/modulepreload-polyfill' const resolvedModulePreloadPolyfillId = '\0' + modulePreloadPolyfillId + '.js' -export function modulePreloadPolyfillPlugin(config: ResolvedConfig): Plugin { - if (config.isBundled) { - return perEnvironmentPlugin( - 'native:modulepreload-polyfill', - (environment) => { +export function modulePreloadPolyfillPlugin(): Plugin { + return { + name: 'vite:modulepreload-polyfill', + applyToEnvironment(environment) { + if (environment.config.isBundled) { return nativeModulePreloadPolyfillPlugin({ isServer: environment.config.consumer !== 'client', }) - }, - ) - } - - return { - name: 'vite:modulepreload-polyfill', + } + return true + }, resolveId: { filter: { id: exactRegex(modulePreloadPolyfillId) }, handler(_id) { diff --git a/packages/vite/src/node/plugins/optimizedDeps.ts b/packages/vite/src/node/plugins/optimizedDeps.ts index 59fc3079efc3c6..a7b4c524ce7c27 100644 --- a/packages/vite/src/node/plugins/optimizedDeps.ts +++ b/packages/vite/src/node/plugins/optimizedDeps.ts @@ -22,6 +22,9 @@ export function optimizedDepsPlugin(): Plugin { name: 'vite:optimized-deps', applyToEnvironment(environment) { + if (environment.config.isBundled) { + return false + } return !isDepOptimizationDisabled(environment.config.optimizeDeps) }, diff --git a/packages/vite/src/node/plugins/oxc.ts b/packages/vite/src/node/plugins/oxc.ts index ede897068e17a9..2c47d0d86ac1ef 100644 --- a/packages/vite/src/node/plugins/oxc.ts +++ b/packages/vite/src/node/plugins/oxc.ts @@ -12,7 +12,7 @@ import { createFilter, ensureWatchedFile, normalizePath } from '../utils' import type { ResolvedConfig } from '../config' import type { Plugin } from '../plugin' import { cleanUrl } from '../../shared/utils' -import { type Environment, perEnvironmentPlugin } from '..' +import type { Environment } from '..' import type { ViteDevServer } from '../server' import { JS_TYPES_RE } from '../constants' import type { Logger } from '../logger' @@ -208,35 +208,6 @@ function shouldSkipWarning(warning: RolldownLog): boolean { } export function oxcPlugin(config: ResolvedConfig): Plugin { - if (config.isBundled) { - return perEnvironmentPlugin('native:transform', (environment) => { - const { - jsxInject, - include = /\.(m?ts|[jt]sx)$/, - exclude = /\.js$/, - jsxRefreshInclude, - jsxRefreshExclude, - ..._transformOptions - } = config.oxc as Exclude - - const transformOptions: OxcTransformOptions = _transformOptions - transformOptions.sourcemap = - environment.config.mode !== 'build' || - !!environment.config.build.sourcemap - - return nativeTransformPlugin({ - root: environment.config.root, - include, - exclude, - jsxRefreshInclude, - jsxRefreshExclude, - isServerConsumer: environment.config.consumer === 'server', - jsxInject, - transformOptions, - }) - }) - } - const options = config.oxc as OxcOptions const { jsxInject, @@ -303,6 +274,35 @@ export function oxcPlugin(config: ResolvedConfig): Plugin { return { name: 'vite:oxc', + applyToEnvironment(environment) { + if (environment.config.isBundled) { + const { + jsxInject, + include = /\.(m?ts|[jt]sx)$/, + exclude = /\.js$/, + jsxRefreshInclude, + jsxRefreshExclude, + ..._transformOptions + } = environment.config.oxc as Exclude + + const transformOptions: OxcTransformOptions = _transformOptions + transformOptions.sourcemap = + environment.config.mode !== 'build' || + !!environment.config.build.sourcemap + + return nativeTransformPlugin({ + root: environment.config.root, + include, + exclude, + jsxRefreshInclude, + jsxRefreshExclude, + isServerConsumer: environment.config.consumer === 'server', + jsxInject, + transformOptions, + }) + } + return true + }, configureServer(_server) { server = _server }, diff --git a/packages/vite/src/node/plugins/preAlias.ts b/packages/vite/src/node/plugins/preAlias.ts index ae9013c751db17..3ca589a9cbd644 100644 --- a/packages/vite/src/node/plugins/preAlias.ts +++ b/packages/vite/src/node/plugins/preAlias.ts @@ -26,6 +26,9 @@ export function preAliasPlugin(config: ResolvedConfig): Plugin { return { name: 'vite:pre-alias', applyToEnvironment(environment) { + if (environment.config.isBundled) { + return false + } return !isDepOptimizationDisabled(environment.config.optimizeDeps) }, async resolveId(id, importer, options) { diff --git a/packages/vite/src/node/plugins/resolve.ts b/packages/vite/src/node/plugins/resolve.ts index 964a1082492068..3e43ac4302cb6e 100644 --- a/packages/vite/src/node/plugins/resolve.ts +++ b/packages/vite/src/node/plugins/resolve.ts @@ -237,7 +237,7 @@ export function oxcResolvePlugin( const depsOptimizerEnabled = resolveOptions.optimizeDeps && !resolveOptions.isBuild && - !partialEnv.config.experimental.bundledDev && + !partialEnv.config.isBundled && !isDepOptimizationDisabled(partialEnv.config.optimizeDeps) const getDepsOptimizer = () => { const env = getEnv() @@ -392,7 +392,7 @@ function optimizerResolvePlugin( name: 'vite:resolve-dev', applyToEnvironment(environment) { return ( - !environment.config.experimental.bundledDev && + !environment.config.isBundled && !isDepOptimizationDisabled(environment.config.optimizeDeps) ) }, diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts index 5d3428e04f535f..25eedfc7b1aac5 100644 --- a/packages/vite/src/node/plugins/worker.ts +++ b/packages/vite/src/node/plugins/worker.ts @@ -5,7 +5,7 @@ import colors from 'picocolors' import { type ImportSpecifier, init, parse } from 'es-module-lexer' import { viteWebWorkerPostPlugin as nativeWebWorkerPostPlugin } from 'rolldown/experimental' import type { ResolvedConfig } from '../config' -import { type Plugin, perEnvironmentPlugin } from '../plugin' +import type { Plugin } from '../plugin' import { ENV_ENTRY, ENV_PUBLIC_PATH } from '../constants' import { encodeURIPath, @@ -325,20 +325,18 @@ export async function workerFileToUrl( return bundle } -export function webWorkerPostPlugin(config: ResolvedConfig): Plugin { - if (config.isBundled) { - return perEnvironmentPlugin( - 'native:web-worker-post-plugin', - (environment) => { +export function webWorkerPostPlugin(_config: ResolvedConfig): Plugin { + return { + name: 'vite:worker-post', + applyToEnvironment(environment) { + if (environment.config.isBundled) { if (environment.config.worker.format === 'iife') { return nativeWebWorkerPostPlugin() } - }, - ) - } - - return { - name: 'vite:worker-post', + return false + } + return true + }, transform: { filter: { code: 'import.meta', @@ -415,7 +413,8 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { const { format } = config.worker const workerConstructor = workerMatch[1] === 'sharedworker' ? 'SharedWorker' : 'Worker' - const workerType = config.isBundled + const isBundled = this.environment.config.isBundled + const workerType = isBundled ? format === 'es' ? 'module' : 'classic' @@ -426,7 +425,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { }` let urlCode: string - if (config.isBundled) { + if (isBundled) { if (isWorker && config.bundleChain.at(-1) === cleanUrl(id)) { urlCode = 'self.location.href' } else if (inlineRE.test(id)) { @@ -484,7 +483,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { let url: string if ( this.environment.config.command === 'serve' && - this.environment.config.experimental.bundledDev + this.environment.config.isBundled ) { url = toOutputFilePathInJSForBundledDev( this.environment, @@ -543,7 +542,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { const scriptPath = JSON.stringify(ENV_PUBLIC_PATH) injectEnv = `import ${scriptPath}\n` } else if (workerType === 'ignore') { - if (config.isBundled) { + if (this.environment.config.isBundled) { injectEnv = '' } else { // dynamic worker type we can't know how import the env diff --git a/packages/vite/src/node/plugins/workerImportMetaUrl.ts b/packages/vite/src/node/plugins/workerImportMetaUrl.ts index 55d28d17e0f97b..1e58cb7f8ddcef 100644 --- a/packages/vite/src/node/plugins/workerImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/workerImportMetaUrl.ts @@ -185,7 +185,6 @@ export const workerImportMetaUrlRE: RegExp = /\bnew\s+(?:Worker|SharedWorker)\s*\(\s*(new\s+URL\s*\(\s*('[^']+'|"[^"]+"|`[^`]+`)\s*,\s*import\.meta\.url\s*(?:,\s*)?\))/dg export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { - const isBundled = config.isBundled let workerResolver: ResolveIdFn const fsResolveOptions: InternalResolveOptions = { @@ -207,6 +206,7 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { transform: { filter: { code: workerImportMetaUrlRE }, async handler(code, id) { + const isBundled = this.environment.config.isBundled let s: MagicString | undefined const cleanString = stripLiteral(code) const re = new RegExp(workerImportMetaUrlRE) @@ -256,10 +256,7 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { let builtUrl: string if (isBundled) { const result = await workerFileToUrl(config, file) - if ( - this.environment.config.command === 'serve' && - this.environment.config.experimental.bundledDev - ) { + if (this.environment.config.command === 'serve') { builtUrl = toOutputFilePathInJSForBundledDev( this.environment, result.entryFilename, From 8e59c97a44d923c4c06f67287a793c9aa5a4ebaa Mon Sep 17 00:00:00 2001 From: ChrisJr404 Date: Wed, 13 May 2026 23:20:43 -0400 Subject: [PATCH 4/4] fix(css): keep deprecated `name`/`originalFileName` in synthetic `assetFileNames` call (#22439) Signed-off-by: ChrisJr404 --- packages/vite/src/node/plugins/css.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index fbba320c1bc158..7a271f93e7f90a 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -491,7 +491,9 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { return path.dirname( assetFileNames({ type: 'asset', + name: cssAssetName, names: [cssAssetName], + originalFileName, originalFileNames: originalFileName ? [originalFileName] : [], source: '/* vite internal call, ignore */', }),