From 4105c5793501adf1a57140c2d5c45eafcf661bab Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Fri, 16 May 2025 17:54:06 +0900 Subject: [PATCH 01/10] feat!: ready for rolldown-vite --- .github/workflows/build.yml | 6 +- .github/workflows/lint.yml | 6 +- .github/workflows/test.yml | 6 +- package.json | 2 +- packages/unplugin-vue-i18n/package.json | 2 +- pnpm-lock.yaml | 1011 ++++++++++++++++++++++- 6 files changed, 1018 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6e199dff..1f0e771b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,13 +22,13 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node: [18] + node: [20] steps: - name: Checkout uses: actions/checkout@v4 - - name: Enable corepack - run: corepack enable + - name: Install pnpm + uses: pnpm/action-setup@v4 - name: Setup Node.js ${{ matrix.node }} uses: actions/setup-node@v4 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9b1b0ce0..a22b298f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -22,13 +22,13 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node: [18] + node: [20] steps: - name: Checkout uses: actions/checkout@v4 - - name: Enable corepack - run: corepack enable + - name: Install pnpm + uses: pnpm/action-setup@v4 - name: Setup Node.js ${{ matrix.node }} uses: actions/setup-node@v4 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 741eccba..767b6ff4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -22,13 +22,13 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node: [18, 20, 22] + node: [20, 22, 24] steps: - name: Checkout uses: actions/checkout@v4 - - name: Enable corepack - run: corepack enable + - name: Install pnpm + uses: pnpm/action-setup@v4 - name: Setup Node.js ${{ matrix.node }} uses: actions/setup-node@v4 diff --git a/package.json b/package.json index ac1787ed..6dbe0788 100644 --- a/package.json +++ b/package.json @@ -150,5 +150,5 @@ "release:webpack": "pnpm --filter @intlify/vue-i18n-loader release", "release:unplugin": "pnpm --filter @intlify/unplugin-vue-i18n release" }, - "packageManager": "pnpm@9.15.1" + "packageManager": "pnpm@10.10.0" } diff --git a/packages/unplugin-vue-i18n/package.json b/packages/unplugin-vue-i18n/package.json index 1cbdfca6..043dd9e3 100644 --- a/packages/unplugin-vue-i18n/package.json +++ b/packages/unplugin-vue-i18n/package.json @@ -42,7 +42,7 @@ "vue": "^3.4" }, "devDependencies": { - "unbuild": "^2.0.0", + "unbuild": "^3.5.0", "@types/node": "^20.14.8" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7e930940..5cf998bd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -290,8 +290,8 @@ importers: specifier: ^20.14.8 version: 20.17.6 unbuild: - specifier: ^2.0.0 - version: 2.0.0(typescript@5.6.3) + specifier: ^3.5.0 + version: 3.5.0(typescript@5.6.3)(vue@3.4.29(typescript@5.6.3)) packages: @@ -425,6 +425,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.4': + resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.19.12': resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} @@ -443,6 +449,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.4': + resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.19.12': resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} @@ -461,6 +473,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.4': + resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.19.12': resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} @@ -479,6 +497,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.4': + resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.19.12': resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} @@ -497,6 +521,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.4': + resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.19.12': resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} @@ -515,6 +545,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.4': + resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.19.12': resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} @@ -533,6 +569,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.4': + resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.19.12': resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} @@ -551,6 +593,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.4': + resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.19.12': resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} @@ -569,6 +617,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.4': + resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.19.12': resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} engines: {node: '>=12'} @@ -587,6 +641,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.4': + resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.19.12': resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} @@ -605,6 +665,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.4': + resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.19.12': resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} @@ -623,6 +689,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.4': + resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.19.12': resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} @@ -641,6 +713,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.4': + resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.19.12': resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} @@ -659,6 +737,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.4': + resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.19.12': resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} @@ -677,6 +761,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.4': + resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.19.12': resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} @@ -695,6 +785,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.4': + resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.19.12': resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} @@ -713,6 +809,18 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.4': + resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.4': + resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.19.12': resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} @@ -731,6 +839,18 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.4': + resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.4': + resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.19.12': resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} @@ -749,6 +869,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.4': + resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.19.12': resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} @@ -767,6 +893,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.4': + resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.19.12': resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} @@ -785,6 +917,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.4': + resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.19.12': resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} @@ -803,6 +941,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.4': + resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.19.12': resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} @@ -821,6 +965,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.4': + resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-plugin-eslint-comments@4.4.1': resolution: {integrity: sha512-lb/Z/MzbTf7CaVYM9WCFNQZ4L1yi3ev2fsFPF99h31ljhSEyUoyEsKsNWiU+qD1glbYTDJdqgyaLKtyTkkqtuQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1404,6 +1554,15 @@ packages: rollup: optional: true + '@rollup/plugin-alias@5.1.1': + resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/plugin-commonjs@19.0.2': resolution: {integrity: sha512-gBjarfqlC7qs0AutpRW/hrFNm+cd2/QKxhwyFa+srbg1oX7rDsEU3l+W7LAUhsAp9mPJMAkXDhLbQaVwEaE8bA==} engines: {node: '>= 8.0.0'} @@ -1419,6 +1578,15 @@ packages: rollup: optional: true + '@rollup/plugin-commonjs@28.0.3': + resolution: {integrity: sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==} + engines: {node: '>=16.0.0 || 14 >= 14.17'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/plugin-json@6.1.0': resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} @@ -1443,6 +1611,15 @@ packages: rollup: optional: true + '@rollup/plugin-node-resolve@16.0.1': + resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/plugin-replace@2.4.2': resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: @@ -1457,6 +1634,15 @@ packages: rollup: optional: true + '@rollup/plugin-replace@6.0.2': + resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/pluginutils@3.1.0': resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} @@ -1476,6 +1662,15 @@ packages: rollup: optional: true + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/rollup-android-arm-eabi@4.24.4': resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==} cpu: [arm] @@ -2231,6 +2426,13 @@ packages: peerDependencies: postcss: ^8.1.0 + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -2290,6 +2492,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.24.5: + resolution: {integrity: sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -2331,6 +2538,9 @@ packages: caniuse-lite@1.0.30001636: resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} + caniuse-lite@1.0.30001718: + resolution: {integrity: sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==} + ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2482,6 +2692,9 @@ packages: confbox@0.1.7: resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + confbox@0.2.1: resolution: {integrity: sha512-hkT3yDPFbs95mNCy1+7qNKC6Pro+/ibzYxtM2iqEigpf0sVw+bg4Zh9/snjsBcf990vfIsg5+1U7VyiyBb3etg==} @@ -2743,18 +2956,36 @@ packages: peerDependencies: postcss: ^8.4.31 + cssnano-preset-default@7.0.7: + resolution: {integrity: sha512-jW6CG/7PNB6MufOrlovs1TvBTEVmhY45yz+bd0h6nw3h6d+1e+/TX+0fflZ+LzvZombbT5f+KC063w9VoHeHow==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + cssnano-utils@5.0.0: resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + cssnano-utils@5.0.1: + resolution: {integrity: sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + cssnano@7.0.2: resolution: {integrity: sha512-LXm/Xx6TNLzfHM2lBaIQHfvtdW5QfdbyLzfJAWZrclCAb47yVa0/yJG69+amcw3Lq0YZ+kyU40rbsMPLcMt9aw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + cssnano@7.0.7: + resolution: {integrity: sha512-evKu7yiDIF7oS+EIpwFlMF730ijRyLFaM2o5cTxRGJR9OKHKkc+qP443ZEVR9kZG0syaAJJCPJyfv5pbrxlSng==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + csso@5.0.5: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} @@ -2944,6 +3175,9 @@ packages: electron-to-chromium@1.4.805: resolution: {integrity: sha512-8W4UJwX/w9T0QSzINJckTKG6CYpAUTqsaWcWIsdud3I1FYJcMgW9QqT1/4CBff/pP/TihWh13OmiyY8neto6vw==} + electron-to-chromium@1.5.155: + resolution: {integrity: sha512-ps5KcGGmwL8VaeJlvlDlu4fORQpv3+GIcF5I3f9tUKUlJ/wsysh6HU8P5L1XWRYeXfA0oJd4PyM8ds8zTFf6Ng==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3036,10 +3270,19 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.25.4: + resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} + engines: {node: '>=18'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -3353,6 +3596,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} + fix-dts-default-cjs-exports@1.0.1: + resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} + flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -3877,6 +4123,10 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + jiti@2.4.0: resolution: {integrity: sha512-H5UpaUI+aHOqZXlYOaFP/8AzKsg+guWu+Pr3Y8i7+Y3zr1aXAvCvTAQ1RxSc6oVD8R8c7brgNtTVP91E7upH/g==} hasBin: true @@ -3956,6 +4206,9 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + knitwork@1.2.0: + resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==} + launch-editor@2.7.0: resolution: {integrity: sha512-KAc66u6LxWL8MifQ94oG3YGKYWDwz/Gi0T15lN//GaQoZe08vQGFJxrXkPAeu50UXgvJPPaRKVGuP1TRUm/aHQ==} @@ -3971,6 +4224,10 @@ packages: resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + lint-staged@13.3.0: resolution: {integrity: sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==} engines: {node: ^16.14.0 || >=18.0.0} @@ -4329,9 +4586,33 @@ packages: vue-tsc: optional: true + mkdist@2.3.0: + resolution: {integrity: sha512-thkRk+pHdudjdZT3FJpPZ2+pncI6mGlH/B+KBVddlZj4MrFGW41sRIv1wZawZUHU8v7cttGaj+5nx8P+dG664A==} + hasBin: true + peerDependencies: + sass: ^1.85.0 + typescript: '>=5.7.3' + vue: ^3.5.13 + vue-sfc-transformer: ^0.1.1 + vue-tsc: ^1.8.27 || ^2.0.21 + peerDependenciesMeta: + sass: + optional: true + typescript: + optional: true + vue: + optional: true + vue-sfc-transformer: + optional: true + vue-tsc: + optional: true + mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + move-concurrently@1.0.1: resolution: {integrity: sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==} deprecated: This package is no longer supported. @@ -4356,6 +4637,11 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4378,6 +4664,9 @@ packages: node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -4626,6 +4915,9 @@ packages: pkg-types@1.1.1: resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + pkg-types@2.1.0: resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} @@ -4649,78 +4941,156 @@ packages: peerDependencies: postcss: ^8.4.38 + postcss-calc@10.1.1: + resolution: {integrity: sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==} + engines: {node: ^18.12 || ^20.9 || >=22.0} + peerDependencies: + postcss: ^8.4.38 + postcss-colormin@7.0.0: resolution: {integrity: sha512-5CN6fqtsEtEtwf3mFV3B4UaZnlYljPpzmGeDB4yCK067PnAtfLe9uX2aFZaEwxHE7HopG5rUkW8gyHrNAesHEg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-colormin@7.0.3: + resolution: {integrity: sha512-xZxQcSyIVZbSsl1vjoqZAcMYYdnJsIyG8OvqShuuqf12S88qQboxxEy0ohNCOLwVPXTU+hFHvJPACRL2B5ohTA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-convert-values@7.0.0: resolution: {integrity: sha512-bMuzDgXBbFbByPgj+/r6va8zNuIDUaIIbvAFgdO1t3zdgJZ77BZvu6dfWyd6gHEJnYzmeVr9ayUsAQL3/qLJ0w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-convert-values@7.0.5: + resolution: {integrity: sha512-0VFhH8nElpIs3uXKnVtotDJJNX0OGYSZmdt4XfSfvOMrFw1jKfpwpZxfC4iN73CTM/MWakDEmsHQXkISYj4BXw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-discard-comments@7.0.0: resolution: {integrity: sha512-xpSdzRqYmy4YIVmjfGyYXKaI1SRnK6CTr+4Zmvyof8ANwvgfZgGdVtmgAvzh59gJm808mJCWQC9tFN0KF5dEXA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-discard-comments@7.0.4: + resolution: {integrity: sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-discard-duplicates@7.0.0: resolution: {integrity: sha512-bAnSuBop5LpAIUmmOSsuvtKAAKREB6BBIYStWUTGq8oG5q9fClDMMuY8i4UPI/cEcDx2TN+7PMnXYIId20UVDw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-discard-duplicates@7.0.2: + resolution: {integrity: sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-discard-empty@7.0.0: resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-discard-empty@7.0.1: + resolution: {integrity: sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-discard-overridden@7.0.0: resolution: {integrity: sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-discard-overridden@7.0.1: + resolution: {integrity: sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-merge-longhand@7.0.1: resolution: {integrity: sha512-qZlD26hnqSTMxSSOMS8+QCeRWtqOdMKeQHvHcBhjL3mJxKUs47cvO1Y1x3iTdYIk3ioMcRHTiy229TT0mEMH/A==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-merge-longhand@7.0.5: + resolution: {integrity: sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-merge-rules@7.0.1: resolution: {integrity: sha512-bb8McYQbo2etgs0uVt6AfngajACK3FHSVP3sGLhprrjbtHJWgG03JZ4KKBlJ8/5Fb8/Rr+mMKaybMYeoYrAg0A==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-merge-rules@7.0.5: + resolution: {integrity: sha512-ZonhuSwEaWA3+xYbOdJoEReKIBs5eDiBVLAGpYZpNFPzXZcEE5VKR7/qBEQvTZpiwjqhhqEQ+ax5O3VShBj9Wg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-minify-font-values@7.0.0: resolution: {integrity: sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-minify-font-values@7.0.1: + resolution: {integrity: sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-minify-gradients@7.0.0: resolution: {integrity: sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-minify-gradients@7.0.1: + resolution: {integrity: sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-minify-params@7.0.0: resolution: {integrity: sha512-XOJAuX8Q/9GT1sGxlUvaFEe2H9n50bniLZblXXsAT/BwSfFYvzSZeFG7uupwc0KbKpTnflnQ7aMwGzX6JUWliQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-minify-params@7.0.3: + resolution: {integrity: sha512-vUKV2+f5mtjewYieanLX0xemxIp1t0W0H/D11u+kQV/MWdygOO7xPMkbK+r9P6Lhms8MgzKARF/g5OPXhb8tgg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-minify-selectors@7.0.1: resolution: {integrity: sha512-YfIbGtcgMFquPxV2L/ASs36ZS4DsgfcDX9tQ8cTEIvBTv+0GXFKtcvvpi9tCKto/+DWGWYKMCESFG3Pnan0Feg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-minify-selectors@7.0.5: + resolution: {integrity: sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-modules-extract-imports@3.1.0: resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} @@ -4751,94 +5121,188 @@ packages: peerDependencies: postcss: ^8.2.14 + postcss-nested@7.0.2: + resolution: {integrity: sha512-5osppouFc0VR9/VYzYxO03VaDa3e8F23Kfd6/9qcZTUI8P58GIYlArOET2Wq0ywSl2o2PjELhYOFI4W7l5QHKw==} + engines: {node: '>=18.0'} + peerDependencies: + postcss: ^8.2.14 + postcss-normalize-charset@7.0.0: resolution: {integrity: sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-normalize-charset@7.0.1: + resolution: {integrity: sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-normalize-display-values@7.0.0: resolution: {integrity: sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-normalize-display-values@7.0.1: + resolution: {integrity: sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-normalize-positions@7.0.0: resolution: {integrity: sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-normalize-positions@7.0.1: + resolution: {integrity: sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-normalize-repeat-style@7.0.0: resolution: {integrity: sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-normalize-repeat-style@7.0.1: + resolution: {integrity: sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-normalize-string@7.0.0: resolution: {integrity: sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-normalize-string@7.0.1: + resolution: {integrity: sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-normalize-timing-functions@7.0.0: resolution: {integrity: sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-normalize-timing-functions@7.0.1: + resolution: {integrity: sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-normalize-unicode@7.0.0: resolution: {integrity: sha512-OnKV52/VFFDAim4n0pdI+JAhsolLBdnCKxE6VV5lW5Q/JeVGFN8UM8ur6/A3EAMLsT1ZRm3fDHh/rBoBQpqi2w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-normalize-unicode@7.0.3: + resolution: {integrity: sha512-EcoA29LvG3F+EpOh03iqu+tJY3uYYKzArqKJHxDhUYLa2u58aqGq16K6/AOsXD9yqLN8O6y9mmePKN5cx6krOw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-normalize-url@7.0.0: resolution: {integrity: sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-normalize-url@7.0.1: + resolution: {integrity: sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-normalize-whitespace@7.0.0: resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-normalize-whitespace@7.0.1: + resolution: {integrity: sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-ordered-values@7.0.0: resolution: {integrity: sha512-KROvC63A8UQW1eYDljQe1dtwc1E/M+mMwDT6z7khV/weHYLWTghaLRLunU7x1xw85lWFwVZOAGakxekYvKV+0w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-ordered-values@7.0.2: + resolution: {integrity: sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-reduce-initial@7.0.0: resolution: {integrity: sha512-iqGgmBxY9LrblZ0BKLjmrA1mC/cf9A/wYCCqSmD6tMi+xAyVl0+DfixZIHSVDMbCPRPjNmVF0DFGth/IDGelFQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-reduce-initial@7.0.3: + resolution: {integrity: sha512-RFvkZaqiWtGMlVjlUHpaxGqEL27lgt+Q2Ixjf83CRAzqdo+TsDyGPtJUbPx2MuYIJ+sCQc2TrOvRnhcXQfgIVA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-reduce-transforms@7.0.0: resolution: {integrity: sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-reduce-transforms@7.0.1: + resolution: {integrity: sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-selector-parser@6.1.0: resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} engines: {node: '>=4'} + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + postcss-svgo@7.0.1: resolution: {integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==} engines: {node: ^18.12.0 || ^20.9.0 || >= 18} peerDependencies: postcss: ^8.4.31 + postcss-svgo@7.0.2: + resolution: {integrity: sha512-5Dzy66JlnRM6pkdOTF8+cGsB1fnERTE8Nc+Eed++fOWo1hdsBptCsbG8UuJkgtZt75bRtMJIrPeZmtfANixdFA==} + engines: {node: ^18.12.0 || ^20.9.0 || >= 18} + peerDependencies: + postcss: ^8.4.32 + postcss-unique-selectors@7.0.1: resolution: {integrity: sha512-MH7QE/eKUftTB5ta40xcHLl7hkZjgDFydpfTK+QWXeHxghVt3VoPqYL5/G+zYZPPIs+8GuqFXSTgxBSoB1RZtQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 + postcss-unique-selectors@7.0.4: + resolution: {integrity: sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} @@ -4854,6 +5318,10 @@ packages: resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -5155,6 +5623,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -5393,6 +5866,12 @@ packages: peerDependencies: postcss: ^8.4.31 + stylehacks@7.0.5: + resolution: {integrity: sha512-5kNb7V37BNf0Q3w+1pxfa+oiNPS++/b4Jil9e/kPDgrk1zjEd6uR7SZeJiYaLYH6RRSC1XX2/37OTeU/4FvuIA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -5597,6 +6076,9 @@ packages: ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -5609,6 +6091,15 @@ packages: typescript: optional: true + unbuild@3.5.0: + resolution: {integrity: sha512-DPFttsiADnHRb/K+yJ9r9jdn6JyXlsmdT0S12VFC14DFSJD+cxBnHq+v0INmqqPVPxOoUjvJFYUVIb02rWnVeA==} + hasBin: true + peerDependencies: + typescript: ^5.7.3 + peerDependenciesMeta: + typescript: + optional: true + unconfig@7.3.1: resolution: {integrity: sha512-LH5WL+un92tGAzWS87k7LkAfwpMdm7V0IXG2FxEjZz/QxiIW5J5LkcrKQThj0aRz6+h/lFmKI9EUXmK/T0bcrw==} @@ -5679,12 +6170,22 @@ packages: resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} hasBin: true + untyped@2.0.0: + resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} + hasBin: true + update-browserslist-db@1.0.16: resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + update-check@1.5.2: resolution: {integrity: sha512-1TrmYLuLj/5ZovwUS7fFd1jMH3NnFDN1y1A8dboedIDt7zs/zJMo6TwwlhYKkSeEwzleeiSBV5/3c9ufAQWDaQ==} @@ -6260,6 +6761,9 @@ snapshots: '@esbuild/aix-ppc64@0.21.5': optional: true + '@esbuild/aix-ppc64@0.25.4': + optional: true + '@esbuild/android-arm64@0.19.12': optional: true @@ -6269,6 +6773,9 @@ snapshots: '@esbuild/android-arm64@0.21.5': optional: true + '@esbuild/android-arm64@0.25.4': + optional: true + '@esbuild/android-arm@0.19.12': optional: true @@ -6278,6 +6785,9 @@ snapshots: '@esbuild/android-arm@0.21.5': optional: true + '@esbuild/android-arm@0.25.4': + optional: true + '@esbuild/android-x64@0.19.12': optional: true @@ -6287,6 +6797,9 @@ snapshots: '@esbuild/android-x64@0.21.5': optional: true + '@esbuild/android-x64@0.25.4': + optional: true + '@esbuild/darwin-arm64@0.19.12': optional: true @@ -6296,6 +6809,9 @@ snapshots: '@esbuild/darwin-arm64@0.21.5': optional: true + '@esbuild/darwin-arm64@0.25.4': + optional: true + '@esbuild/darwin-x64@0.19.12': optional: true @@ -6305,6 +6821,9 @@ snapshots: '@esbuild/darwin-x64@0.21.5': optional: true + '@esbuild/darwin-x64@0.25.4': + optional: true + '@esbuild/freebsd-arm64@0.19.12': optional: true @@ -6314,6 +6833,9 @@ snapshots: '@esbuild/freebsd-arm64@0.21.5': optional: true + '@esbuild/freebsd-arm64@0.25.4': + optional: true + '@esbuild/freebsd-x64@0.19.12': optional: true @@ -6323,6 +6845,9 @@ snapshots: '@esbuild/freebsd-x64@0.21.5': optional: true + '@esbuild/freebsd-x64@0.25.4': + optional: true + '@esbuild/linux-arm64@0.19.12': optional: true @@ -6332,6 +6857,9 @@ snapshots: '@esbuild/linux-arm64@0.21.5': optional: true + '@esbuild/linux-arm64@0.25.4': + optional: true + '@esbuild/linux-arm@0.19.12': optional: true @@ -6341,6 +6869,9 @@ snapshots: '@esbuild/linux-arm@0.21.5': optional: true + '@esbuild/linux-arm@0.25.4': + optional: true + '@esbuild/linux-ia32@0.19.12': optional: true @@ -6350,6 +6881,9 @@ snapshots: '@esbuild/linux-ia32@0.21.5': optional: true + '@esbuild/linux-ia32@0.25.4': + optional: true + '@esbuild/linux-loong64@0.19.12': optional: true @@ -6359,6 +6893,9 @@ snapshots: '@esbuild/linux-loong64@0.21.5': optional: true + '@esbuild/linux-loong64@0.25.4': + optional: true + '@esbuild/linux-mips64el@0.19.12': optional: true @@ -6368,6 +6905,9 @@ snapshots: '@esbuild/linux-mips64el@0.21.5': optional: true + '@esbuild/linux-mips64el@0.25.4': + optional: true + '@esbuild/linux-ppc64@0.19.12': optional: true @@ -6377,6 +6917,9 @@ snapshots: '@esbuild/linux-ppc64@0.21.5': optional: true + '@esbuild/linux-ppc64@0.25.4': + optional: true + '@esbuild/linux-riscv64@0.19.12': optional: true @@ -6386,6 +6929,9 @@ snapshots: '@esbuild/linux-riscv64@0.21.5': optional: true + '@esbuild/linux-riscv64@0.25.4': + optional: true + '@esbuild/linux-s390x@0.19.12': optional: true @@ -6395,6 +6941,9 @@ snapshots: '@esbuild/linux-s390x@0.21.5': optional: true + '@esbuild/linux-s390x@0.25.4': + optional: true + '@esbuild/linux-x64@0.19.12': optional: true @@ -6404,6 +6953,12 @@ snapshots: '@esbuild/linux-x64@0.21.5': optional: true + '@esbuild/linux-x64@0.25.4': + optional: true + + '@esbuild/netbsd-arm64@0.25.4': + optional: true + '@esbuild/netbsd-x64@0.19.12': optional: true @@ -6413,6 +6968,12 @@ snapshots: '@esbuild/netbsd-x64@0.21.5': optional: true + '@esbuild/netbsd-x64@0.25.4': + optional: true + + '@esbuild/openbsd-arm64@0.25.4': + optional: true + '@esbuild/openbsd-x64@0.19.12': optional: true @@ -6422,6 +6983,9 @@ snapshots: '@esbuild/openbsd-x64@0.21.5': optional: true + '@esbuild/openbsd-x64@0.25.4': + optional: true + '@esbuild/sunos-x64@0.19.12': optional: true @@ -6431,6 +6995,9 @@ snapshots: '@esbuild/sunos-x64@0.21.5': optional: true + '@esbuild/sunos-x64@0.25.4': + optional: true + '@esbuild/win32-arm64@0.19.12': optional: true @@ -6440,6 +7007,9 @@ snapshots: '@esbuild/win32-arm64@0.21.5': optional: true + '@esbuild/win32-arm64@0.25.4': + optional: true + '@esbuild/win32-ia32@0.19.12': optional: true @@ -6449,6 +7019,9 @@ snapshots: '@esbuild/win32-ia32@0.21.5': optional: true + '@esbuild/win32-ia32@0.25.4': + optional: true + '@esbuild/win32-x64@0.19.12': optional: true @@ -6458,6 +7031,9 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true + '@esbuild/win32-x64@0.25.4': + optional: true + '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.14.0(jiti@2.4.0))': dependencies: escape-string-regexp: 4.0.0 @@ -6916,6 +7492,10 @@ snapshots: optionalDependencies: rollup: 3.29.4 + '@rollup/plugin-alias@5.1.1(rollup@4.36.0)': + optionalDependencies: + rollup: 4.36.0 + '@rollup/plugin-commonjs@19.0.2(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) @@ -6938,12 +7518,30 @@ snapshots: optionalDependencies: rollup: 3.29.4 + '@rollup/plugin-commonjs@28.0.3(rollup@4.36.0)': + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.36.0) + commondir: 1.0.1 + estree-walker: 2.0.2 + fdir: 6.4.3(picomatch@4.0.2) + is-reference: 1.2.1 + magic-string: 0.30.17 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.36.0 + '@rollup/plugin-json@6.1.0(rollup@3.29.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.4(rollup@3.29.4) optionalDependencies: rollup: 3.29.4 + '@rollup/plugin-json@6.1.0(rollup@4.36.0)': + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.36.0) + optionalDependencies: + rollup: 4.36.0 + '@rollup/plugin-node-resolve@13.3.0(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) @@ -6965,6 +7563,16 @@ snapshots: optionalDependencies: rollup: 3.29.4 + '@rollup/plugin-node-resolve@16.0.1(rollup@4.36.0)': + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.36.0) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.8 + optionalDependencies: + rollup: 4.36.0 + '@rollup/plugin-replace@2.4.2(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) @@ -6978,6 +7586,13 @@ snapshots: optionalDependencies: rollup: 3.29.4 + '@rollup/plugin-replace@6.0.2(rollup@4.36.0)': + dependencies: + '@rollup/pluginutils': 5.1.4(rollup@4.36.0) + magic-string: 0.30.17 + optionalDependencies: + rollup: 4.36.0 + '@rollup/pluginutils@3.1.0(rollup@2.79.1)': dependencies: '@types/estree': 0.0.39 @@ -7006,6 +7621,22 @@ snapshots: optionalDependencies: rollup: 4.36.0 + '@rollup/pluginutils@5.1.4(rollup@3.29.4)': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 3.29.4 + + '@rollup/pluginutils@5.1.4(rollup@4.36.0)': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.36.0 + '@rollup/rollup-android-arm-eabi@4.24.4': optional: true @@ -7882,6 +8513,16 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 + autoprefixer@10.4.21(postcss@8.5.3): + dependencies: + browserslist: 4.24.5 + caniuse-lite: 1.0.30001718 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 @@ -7962,6 +8603,13 @@ snapshots: node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) + browserslist@4.24.5: + dependencies: + caniuse-lite: 1.0.30001718 + electron-to-chromium: 1.5.155 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.24.5) + buffer-from@1.1.2: {} builtin-modules@3.3.0: {} @@ -8017,6 +8665,8 @@ snapshots: caniuse-lite@1.0.30001636: {} + caniuse-lite@1.0.30001718: {} + ccount@2.0.1: optional: true @@ -8076,7 +8726,7 @@ snapshots: citty@0.1.6: dependencies: - consola: 3.2.3 + consola: 3.4.2 clean-stack@2.2.0: {} @@ -8188,6 +8838,8 @@ snapshots: confbox@0.1.7: {} + confbox@0.1.8: {} + confbox@0.2.1: {} connect-history-api-fallback@2.0.0: {} @@ -8243,6 +8895,10 @@ snapshots: dependencies: postcss: 8.4.38 + css-declaration-sorter@7.2.0(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + css-loader@7.1.2(webpack@5.92.0): dependencies: icss-utils: 5.1.0(postcss@8.4.47) @@ -8312,16 +8968,60 @@ snapshots: postcss-svgo: 7.0.1(postcss@8.4.38) postcss-unique-selectors: 7.0.1(postcss@8.4.38) + cssnano-preset-default@7.0.7(postcss@8.5.3): + dependencies: + browserslist: 4.24.5 + css-declaration-sorter: 7.2.0(postcss@8.5.3) + cssnano-utils: 5.0.1(postcss@8.5.3) + postcss: 8.5.3 + postcss-calc: 10.1.1(postcss@8.5.3) + postcss-colormin: 7.0.3(postcss@8.5.3) + postcss-convert-values: 7.0.5(postcss@8.5.3) + postcss-discard-comments: 7.0.4(postcss@8.5.3) + postcss-discard-duplicates: 7.0.2(postcss@8.5.3) + postcss-discard-empty: 7.0.1(postcss@8.5.3) + postcss-discard-overridden: 7.0.1(postcss@8.5.3) + postcss-merge-longhand: 7.0.5(postcss@8.5.3) + postcss-merge-rules: 7.0.5(postcss@8.5.3) + postcss-minify-font-values: 7.0.1(postcss@8.5.3) + postcss-minify-gradients: 7.0.1(postcss@8.5.3) + postcss-minify-params: 7.0.3(postcss@8.5.3) + postcss-minify-selectors: 7.0.5(postcss@8.5.3) + postcss-normalize-charset: 7.0.1(postcss@8.5.3) + postcss-normalize-display-values: 7.0.1(postcss@8.5.3) + postcss-normalize-positions: 7.0.1(postcss@8.5.3) + postcss-normalize-repeat-style: 7.0.1(postcss@8.5.3) + postcss-normalize-string: 7.0.1(postcss@8.5.3) + postcss-normalize-timing-functions: 7.0.1(postcss@8.5.3) + postcss-normalize-unicode: 7.0.3(postcss@8.5.3) + postcss-normalize-url: 7.0.1(postcss@8.5.3) + postcss-normalize-whitespace: 7.0.1(postcss@8.5.3) + postcss-ordered-values: 7.0.2(postcss@8.5.3) + postcss-reduce-initial: 7.0.3(postcss@8.5.3) + postcss-reduce-transforms: 7.0.1(postcss@8.5.3) + postcss-svgo: 7.0.2(postcss@8.5.3) + postcss-unique-selectors: 7.0.4(postcss@8.5.3) + cssnano-utils@5.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 + cssnano-utils@5.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + cssnano@7.0.2(postcss@8.4.38): dependencies: cssnano-preset-default: 7.0.2(postcss@8.4.38) lilconfig: 3.1.2 postcss: 8.4.38 + cssnano@7.0.7(postcss@8.5.3): + dependencies: + cssnano-preset-default: 7.0.7(postcss@8.5.3) + lilconfig: 3.1.3 + postcss: 8.5.3 + csso@5.0.5: dependencies: css-tree: 2.2.1 @@ -8480,6 +9180,8 @@ snapshots: electron-to-chromium@1.4.805: {} + electron-to-chromium@1.5.155: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -8680,8 +9382,38 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 + esbuild@0.25.4: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.4 + '@esbuild/android-arm': 0.25.4 + '@esbuild/android-arm64': 0.25.4 + '@esbuild/android-x64': 0.25.4 + '@esbuild/darwin-arm64': 0.25.4 + '@esbuild/darwin-x64': 0.25.4 + '@esbuild/freebsd-arm64': 0.25.4 + '@esbuild/freebsd-x64': 0.25.4 + '@esbuild/linux-arm': 0.25.4 + '@esbuild/linux-arm64': 0.25.4 + '@esbuild/linux-ia32': 0.25.4 + '@esbuild/linux-loong64': 0.25.4 + '@esbuild/linux-mips64el': 0.25.4 + '@esbuild/linux-ppc64': 0.25.4 + '@esbuild/linux-riscv64': 0.25.4 + '@esbuild/linux-s390x': 0.25.4 + '@esbuild/linux-x64': 0.25.4 + '@esbuild/netbsd-arm64': 0.25.4 + '@esbuild/netbsd-x64': 0.25.4 + '@esbuild/openbsd-arm64': 0.25.4 + '@esbuild/openbsd-x64': 0.25.4 + '@esbuild/sunos-x64': 0.25.4 + '@esbuild/win32-arm64': 0.25.4 + '@esbuild/win32-ia32': 0.25.4 + '@esbuild/win32-x64': 0.25.4 + escalade@3.1.2: {} + escalade@3.2.0: {} + escape-html@1.0.3: {} escape-string-regexp@1.0.5: {} @@ -9176,6 +9908,12 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 + fix-dts-default-cjs-exports@1.0.1: + dependencies: + magic-string: 0.30.17 + mlly: 1.7.4 + rollup: 4.36.0 + flat-cache@4.0.1: dependencies: flatted: 3.3.1 @@ -9689,6 +10427,8 @@ snapshots: jiti@1.21.6: {} + jiti@1.21.7: {} + jiti@2.4.0: {} jiti@2.4.2: {} @@ -9771,6 +10511,8 @@ snapshots: kleur@3.0.3: {} + knitwork@1.2.0: {} + launch-editor@2.7.0: dependencies: picocolors: 1.0.1 @@ -9785,6 +10527,8 @@ snapshots: lilconfig@3.1.2: {} + lilconfig@3.1.3: {} + lint-staged@13.3.0(enquirer@2.4.1): dependencies: chalk: 5.3.0 @@ -10382,6 +11126,25 @@ snapshots: optionalDependencies: typescript: 5.6.3 + mkdist@2.3.0(typescript@5.6.3)(vue@3.4.29(typescript@5.6.3)): + dependencies: + autoprefixer: 10.4.21(postcss@8.5.3) + citty: 0.1.6 + cssnano: 7.0.7(postcss@8.5.3) + defu: 6.1.4 + esbuild: 0.25.4 + jiti: 1.21.7 + mlly: 1.7.4 + pathe: 2.0.3 + pkg-types: 2.1.0 + postcss: 8.5.3 + postcss-nested: 7.0.2(postcss@8.5.3) + semver: 7.7.2 + tinyglobby: 0.2.12 + optionalDependencies: + typescript: 5.6.3 + vue: 3.4.29(typescript@5.6.3) + mlly@1.7.1: dependencies: acorn: 8.12.0 @@ -10389,6 +11152,13 @@ snapshots: pkg-types: 1.1.1 ufo: 1.5.3 + mlly@1.7.4: + dependencies: + acorn: 8.14.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + move-concurrently@1.0.1: dependencies: aproba: 1.2.0 @@ -10417,6 +11187,8 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 + nanoid@3.3.11: {} + nanoid@3.3.7: {} natural-compare@1.4.0: {} @@ -10429,6 +11201,8 @@ snapshots: node-releases@2.0.14: {} + node-releases@2.0.19: {} + normalize-path@3.0.0: {} normalize-range@0.1.2: {} @@ -10691,6 +11465,12 @@ snapshots: mlly: 1.7.1 pathe: 1.1.2 + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 2.0.3 + pkg-types@2.1.0: dependencies: confbox: 0.2.1 @@ -10714,6 +11494,12 @@ snapshots: postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 + postcss-calc@10.1.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-selector-parser: 7.1.0 + postcss-value-parser: 4.2.0 + postcss-colormin@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.1 @@ -10722,34 +11508,71 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-colormin@7.0.3(postcss@8.5.3): + dependencies: + browserslist: 4.24.5 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-convert-values@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.1 postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-convert-values@7.0.5(postcss@8.5.3): + dependencies: + browserslist: 4.24.5 + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-discard-comments@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 + postcss-discard-comments@7.0.4(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-selector-parser: 7.1.0 + postcss-discard-duplicates@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 + postcss-discard-duplicates@7.0.2(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-discard-empty@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 + postcss-discard-empty@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-discard-overridden@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 + postcss-discard-overridden@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-merge-longhand@7.0.1(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 stylehacks: 7.0.1(postcss@8.4.38) + postcss-merge-longhand@7.0.5(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + stylehacks: 7.0.5(postcss@8.5.3) + postcss-merge-rules@7.0.1(postcss@8.4.38): dependencies: browserslist: 4.23.1 @@ -10758,11 +11581,24 @@ snapshots: postcss: 8.4.38 postcss-selector-parser: 6.1.0 + postcss-merge-rules@7.0.5(postcss@8.5.3): + dependencies: + browserslist: 4.24.5 + caniuse-api: 3.0.0 + cssnano-utils: 5.0.1(postcss@8.5.3) + postcss: 8.5.3 + postcss-selector-parser: 7.1.0 + postcss-minify-font-values@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-minify-font-values@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-minify-gradients@7.0.0(postcss@8.4.38): dependencies: colord: 2.9.3 @@ -10770,6 +11606,13 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-minify-gradients@7.0.1(postcss@8.5.3): + dependencies: + colord: 2.9.3 + cssnano-utils: 5.0.1(postcss@8.5.3) + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-minify-params@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.1 @@ -10777,11 +11620,24 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-minify-params@7.0.3(postcss@8.5.3): + dependencies: + browserslist: 4.24.5 + cssnano-utils: 5.0.1(postcss@8.5.3) + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-minify-selectors@7.0.1(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-selector-parser: 6.1.0 + postcss-minify-selectors@7.0.5(postcss@8.5.3): + dependencies: + cssesc: 3.0.0 + postcss: 8.5.3 + postcss-selector-parser: 7.1.0 + postcss-modules-extract-imports@3.1.0(postcss@8.4.47): dependencies: postcss: 8.4.47 @@ -10808,84 +11664,167 @@ snapshots: postcss: 8.4.38 postcss-selector-parser: 6.1.0 + postcss-nested@7.0.2(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-selector-parser: 7.1.0 + postcss-normalize-charset@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 + postcss-normalize-charset@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-normalize-display-values@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-normalize-display-values@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-normalize-positions@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-normalize-positions@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-normalize-repeat-style@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-normalize-repeat-style@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-normalize-string@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-normalize-string@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-normalize-timing-functions@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-normalize-timing-functions@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-normalize-unicode@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.1 postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-normalize-unicode@7.0.3(postcss@8.5.3): + dependencies: + browserslist: 4.24.5 + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-normalize-url@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-normalize-url@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-normalize-whitespace@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-normalize-whitespace@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-ordered-values@7.0.0(postcss@8.4.38): dependencies: cssnano-utils: 5.0.0(postcss@8.4.38) postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-ordered-values@7.0.2(postcss@8.5.3): + dependencies: + cssnano-utils: 5.0.1(postcss@8.5.3) + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-reduce-initial@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.1 caniuse-api: 3.0.0 postcss: 8.4.38 + postcss-reduce-initial@7.0.3(postcss@8.5.3): + dependencies: + browserslist: 4.24.5 + caniuse-api: 3.0.0 + postcss: 8.5.3 + postcss-reduce-transforms@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 + postcss-reduce-transforms@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + postcss-selector-parser@6.1.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@7.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-svgo@7.0.1(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-value-parser: 4.2.0 svgo: 3.3.2 + postcss-svgo@7.0.2(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-value-parser: 4.2.0 + svgo: 3.3.2 + postcss-unique-selectors@7.0.1(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-selector-parser: 6.1.0 + postcss-unique-selectors@7.0.4(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + postcss-selector-parser: 7.1.0 + postcss-value-parser@4.2.0: {} postcss@7.0.39: @@ -10905,6 +11844,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.3: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + prelude-ls@1.2.1: {} prettier@2.8.8: @@ -11259,6 +12204,8 @@ snapshots: semver@7.6.3: {} + semver@7.7.2: {} + send@0.18.0: dependencies: debug: 2.6.9 @@ -11552,6 +12499,12 @@ snapshots: postcss: 8.4.38 postcss-selector-parser: 6.1.0 + stylehacks@7.0.5(postcss@8.5.3): + dependencies: + browserslist: 4.24.5 + postcss: 8.5.3 + postcss-selector-parser: 7.1.0 + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -11776,6 +12729,8 @@ snapshots: ufo@1.5.3: {} + ufo@1.6.1: {} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 @@ -11817,6 +12772,40 @@ snapshots: - supports-color - vue-tsc + unbuild@3.5.0(typescript@5.6.3)(vue@3.4.29(typescript@5.6.3)): + dependencies: + '@rollup/plugin-alias': 5.1.1(rollup@4.36.0) + '@rollup/plugin-commonjs': 28.0.3(rollup@4.36.0) + '@rollup/plugin-json': 6.1.0(rollup@4.36.0) + '@rollup/plugin-node-resolve': 16.0.1(rollup@4.36.0) + '@rollup/plugin-replace': 6.0.2(rollup@4.36.0) + '@rollup/pluginutils': 5.1.4(rollup@4.36.0) + citty: 0.1.6 + consola: 3.4.2 + defu: 6.1.4 + esbuild: 0.25.4 + fix-dts-default-cjs-exports: 1.0.1 + hookable: 5.5.3 + jiti: 2.4.2 + magic-string: 0.30.17 + mkdist: 2.3.0(typescript@5.6.3)(vue@3.4.29(typescript@5.6.3)) + mlly: 1.7.4 + pathe: 2.0.3 + pkg-types: 2.1.0 + pretty-bytes: 6.1.1 + rollup: 4.36.0 + rollup-plugin-dts: 6.1.1(rollup@4.36.0)(typescript@5.6.3) + scule: 1.3.0 + tinyglobby: 0.2.12 + untyped: 2.0.0 + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - sass + - vue + - vue-sfc-transformer + - vue-tsc + unconfig@7.3.1: dependencies: '@quansync/fs': 0.1.1 @@ -11909,12 +12898,26 @@ snapshots: transitivePeerDependencies: - supports-color + untyped@2.0.0: + dependencies: + citty: 0.1.6 + defu: 6.1.4 + jiti: 2.4.2 + knitwork: 1.2.0 + scule: 1.3.0 + update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: browserslist: 4.23.1 escalade: 3.1.2 picocolors: 1.0.1 + update-browserslist-db@1.1.3(browserslist@4.24.5): + dependencies: + browserslist: 4.24.5 + escalade: 3.2.0 + picocolors: 1.1.1 + update-check@1.5.2: dependencies: registry-auth-token: 3.3.2 From 5ab4a1e9e83a8b737ea865dc332c0b47ce373995 Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Fri, 16 May 2025 18:07:29 +0900 Subject: [PATCH 02/10] fix: bump unplugin --- packages/unplugin-vue-i18n/package.json | 2 +- pnpm-lock.yaml | 92 +++++++++++-------------- 2 files changed, 42 insertions(+), 52 deletions(-) diff --git a/packages/unplugin-vue-i18n/package.json b/packages/unplugin-vue-i18n/package.json index 043dd9e3..e3f6eccd 100644 --- a/packages/unplugin-vue-i18n/package.json +++ b/packages/unplugin-vue-i18n/package.json @@ -38,7 +38,7 @@ "pathe": "^1.0.0", "picocolors": "^1.0.0", "source-map-js": "^1.0.2", - "unplugin": "^1.1.0", + "unplugin": "^2.3.4", "vue": "^3.4" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5cf998bd..e5163b44 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: version: 11.1.2 '@kazupon/eslint-config': specifier: ^0.22.0 - version: 0.22.0(vgi2do25ofpnhygoe2vausrklu) + version: 0.22.0(8500415a639f8f0951a15a41b96bc862) '@kazupon/lerna-changelog': specifier: ^4.3.0 version: 4.3.0 @@ -277,8 +277,8 @@ importers: specifier: ^1.0.2 version: 1.2.0 unplugin: - specifier: ^1.1.0 - version: 1.10.1 + specifier: ^2.3.4 + version: 2.3.4 vue: specifier: ^3.4 version: 3.4.29(typescript@5.6.3) @@ -2271,6 +2271,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + agent-base@4.2.1: resolution: {integrity: sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==} engines: {node: '>= 4.0.0'} @@ -5618,11 +5623,6 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} - engines: {node: '>=10'} - hasBin: true - semver@7.7.2: resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} @@ -6158,12 +6158,8 @@ packages: resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} engines: {node: '>=18.12.0'} - unplugin@1.10.1: - resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} - engines: {node: '>=14.0.0'} - - unplugin@2.2.0: - resolution: {integrity: sha512-m1ekpSwuOT5hxkJeZGRxO7gXbXT3gF26NjQ7GdVHoLoF8/nopLcd/QfPigpCy7i51oFHiRJg/CyHhj4vs2+KGw==} + unplugin@2.3.4: + resolution: {integrity: sha512-m4PjxTurwpWfpMomp8AptjD5yj8qEZN5uQjjGM3TAs9MWWD2tXSSNNj6jGR2FoVGod4293ytyV6SwBbertfyJg==} engines: {node: '>=18.12.0'} untyped@1.4.2: @@ -7188,7 +7184,7 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@kazupon/eslint-config@0.22.0(vgi2do25ofpnhygoe2vausrklu)': + '@kazupon/eslint-config@0.22.0(8500415a639f8f0951a15a41b96bc862)': dependencies: '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.14.0(jiti@2.4.0)) '@eslint/js': 9.22.0 @@ -8339,6 +8335,8 @@ snapshots: acorn@8.14.0: {} + acorn@8.14.1: {} + agent-base@4.2.1: dependencies: es6-promisify: 5.0.0 @@ -8901,14 +8899,14 @@ snapshots: css-loader@7.1.2(webpack@5.92.0): dependencies: - icss-utils: 5.1.0(postcss@8.4.47) - postcss: 8.4.47 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) - postcss-modules-scope: 3.2.0(postcss@8.4.47) - postcss-modules-values: 4.0.0(postcss@8.4.47) + icss-utils: 5.1.0(postcss@8.5.3) + postcss: 8.5.3 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.3) + postcss-modules-local-by-default: 4.0.5(postcss@8.5.3) + postcss-modules-scope: 3.2.0(postcss@8.5.3) + postcss-modules-values: 4.0.0(postcss@8.5.3) postcss-value-parser: 4.2.0 - semver: 7.6.3 + semver: 7.7.2 optionalDependencies: webpack: 5.92.0(webpack-cli@5.1.4) @@ -9434,7 +9432,7 @@ snapshots: eslint-compat-utils@0.5.1(eslint@9.14.0(jiti@2.4.0)): dependencies: eslint: 9.14.0(jiti@2.4.0) - semver: 7.6.3 + semver: 7.7.2 optional: true eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@2.4.0)): @@ -9527,7 +9525,7 @@ snapshots: espree: 10.3.0 esquery: 1.6.0 parse-imports: 2.2.1 - semver: 7.6.3 + semver: 7.7.2 spdx-expression-parse: 4.0.0 synckit: 0.9.2 transitivePeerDependencies: @@ -9578,7 +9576,7 @@ snapshots: natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.0 - semver: 7.6.3 + semver: 7.7.2 vue-eslint-parser: 9.4.3(eslint@9.14.0(jiti@2.4.0)) xml-name-validator: 4.0.0 transitivePeerDependencies: @@ -10225,9 +10223,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.4.47): + icss-utils@5.1.0(postcss@8.5.3): dependencies: - postcss: 8.4.47 + postcss: 8.5.3 iferr@0.1.5: {} @@ -10302,7 +10300,7 @@ snapshots: is-bun-module@1.2.1: dependencies: - semver: 7.6.3 + semver: 7.7.2 optional: true is-callable@1.2.7: @@ -11638,26 +11636,26 @@ snapshots: postcss: 8.5.3 postcss-selector-parser: 7.1.0 - postcss-modules-extract-imports@3.1.0(postcss@8.4.47): + postcss-modules-extract-imports@3.1.0(postcss@8.5.3): dependencies: - postcss: 8.4.47 + postcss: 8.5.3 - postcss-modules-local-by-default@4.0.5(postcss@8.4.47): + postcss-modules-local-by-default@4.0.5(postcss@8.5.3): dependencies: - icss-utils: 5.1.0(postcss@8.4.47) - postcss: 8.4.47 + icss-utils: 5.1.0(postcss@8.5.3) + postcss: 8.5.3 postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.0(postcss@8.4.47): + postcss-modules-scope@3.2.0(postcss@8.5.3): dependencies: - postcss: 8.4.47 + postcss: 8.5.3 postcss-selector-parser: 6.1.0 - postcss-modules-values@4.0.0(postcss@8.4.47): + postcss-modules-values@4.0.0(postcss@8.5.3): dependencies: - icss-utils: 5.1.0(postcss@8.4.47) - postcss: 8.4.47 + icss-utils: 5.1.0(postcss@8.5.3) + postcss: 8.5.3 postcss-nested@6.0.1(postcss@8.4.38): dependencies: @@ -12202,8 +12200,6 @@ snapshots: semver@7.6.2: {} - semver@7.6.3: {} - semver@7.7.2: {} send@0.18.0: @@ -12862,7 +12858,7 @@ snapshots: magic-string: 0.30.17 oxc-parser: 0.57.0 oxc-transform: 0.57.0 - unplugin: 2.2.0 + unplugin: 2.3.4 unplugin-utils: 0.2.4 optionalDependencies: typescript: 5.6.3 @@ -12874,16 +12870,10 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.2 - unplugin@1.10.1: + unplugin@2.3.4: dependencies: - acorn: 8.12.0 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.6.2 - - unplugin@2.2.0: - dependencies: - acorn: 8.14.0 + acorn: 8.14.1 + picomatch: 4.0.2 webpack-virtual-modules: 0.6.2 untyped@1.4.2: @@ -13011,7 +13001,7 @@ snapshots: espree: 9.6.1 esquery: 1.6.0 lodash: 4.17.21 - semver: 7.6.3 + semver: 7.7.2 transitivePeerDependencies: - supports-color optional: true From 97fe31c13a06403558c63b46153a6e2b71bd9a5a Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Fri, 16 May 2025 18:44:12 +0900 Subject: [PATCH 03/10] fix: add moduleType supporting dev version deps --- package.json | 7 +- pnpm-lock.yaml | 472 +++++++++++++++++++++++++++++++++++-------------- 2 files changed, 341 insertions(+), 138 deletions(-) diff --git a/package.json b/package.json index 6dbe0788..c95f65fe 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "tiny-glob": "^0.2.9", "typescript": "^5.6.3", "typescript-eslint": "^8.13.0", - "vite": "^5.4.10", + "vite": "https://pkg.pr.new/vitejs/rolldown-vite@172", "vitest": "^2.1.4", "vue": "^3.2.25", "vue-i18n": "^11.1.2", @@ -84,6 +84,11 @@ "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" }, + "pnpm": { + "overrides": { + "rolldown": "https://pkg.pr.new/rolldown@4554" + } + }, "license": "MIT", "lint-staged": { "*.js": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e5163b44..47cc44da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,9 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + rolldown: https://pkg.pr.new/rolldown@4554 + importers: .: @@ -16,7 +19,7 @@ importers: version: 11.1.2 '@kazupon/eslint-config': specifier: ^0.22.0 - version: 0.22.0(8500415a639f8f0951a15a41b96bc862) + version: 0.22.0(56fe3ff22e4d22eb8e47150081f97c89) '@kazupon/lerna-changelog': specifier: ^4.3.0 version: 4.3.0 @@ -67,13 +70,13 @@ importers: version: 7.5.8 '@types/webpack': specifier: ^5.28.2 - version: 5.28.5(webpack-cli@5.1.4) + version: 5.28.5(esbuild@0.25.4)(webpack-cli@5.1.4) '@types/webpack-merge': specifier: ^5.0.0 version: 5.0.0 '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@5.4.10(@types/node@20.14.5)(terser@5.31.1))(vue@3.4.29(typescript@5.6.3)) + version: 5.1.4(rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5))(vue@3.4.29(typescript@5.6.3)) '@vue/compiler-sfc': specifier: ^3.2.25 version: 3.4.29 @@ -150,11 +153,11 @@ importers: specifier: ^8.13.0 version: 8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) vite: - specifier: ^5.4.10 - version: 5.4.10(@types/node@20.14.5)(terser@5.31.1) + specifier: https://pkg.pr.new/vitejs/rolldown-vite@172 + version: rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5) vitest: specifier: ^2.1.4 - version: 2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(terser@5.31.1) + version: 2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(lightningcss@1.30.1)(terser@5.31.1) vue: specifier: ^3.2.25 version: 3.4.29(typescript@5.6.3) @@ -178,7 +181,7 @@ importers: version: vue@2.7.16 webpack: specifier: ^5.88.2 - version: 5.92.0(webpack-cli@5.1.4) + version: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) webpack-cli: specifier: ^5.1.4 version: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) @@ -1351,11 +1354,15 @@ packages: cpu: [x64] os: [win32] + '@oxc-project/runtime@0.69.0': + resolution: {integrity: sha512-v4WCEJEktTuWY+DEaR1XNITKZD9S0BCyoBeCTyHUH3ppgrb4IlMeDTkwNyfvaIXBFfhlCX4DI445TJ4cqiK0FA==} + engines: {node: '>=6.9.0'} + '@oxc-project/types@0.57.0': resolution: {integrity: sha512-UnR+Y4KxX/UxUPSIuM7BezELIE7tkgAWPEsFgv17aIFbej5L7LrFC9BupWT2Xus2/JZQ9WwugjHXFXg7MgFjBg==} - '@oxc-project/types@0.58.1': - resolution: {integrity: sha512-/412rL5TIAsZJ428FvFsZCKYsnnKsABv9Z7xZmdtUylGT+qiN240wHU++HdHwYj2j1A5SeScB4O4t8EjjcPlUw==} + '@oxc-project/types@0.69.0': + resolution: {integrity: sha512-bu3gzdAlLgncoaqyqWVpMAKx4axo+j3ewvvdAt5iCLtvHB/n3Qeif67NU+2TM/ami1nV5/KVO9lxCH8paPATBA==} '@oxc-resolver/binding-darwin-arm64@5.0.1': resolution: {integrity: sha512-lY5mi+6ztYGM9tiyMhHbzZteE7LFaexu9PjDL2N0stCNuGkSHO1eeeabi2ckxGWBbu9EW01XovbQqir12NbA6A==} @@ -1479,66 +1486,70 @@ packages: resolution: {integrity: sha512-sx8J1O/+j2lqs8MvsEz6rs/6UAUpCb4fu7C6EqtMqzbS3CmqLkTDTOMK+DrWukvyUuHzl8DhMjfNJzQDTqfGJg==} engines: {node: '>=20.18.0'} - '@rolldown/binding-darwin-arm64@1.0.0-beta.6': - resolution: {integrity: sha512-Dzayzv3wH3q+mLu+ZTNIqykV502amJnMsyVEGQHZ4Nq4GQ5w0nrMFH0zs+imIb1C+NYPUXMcIj/UF/PDWXvVUA==} - cpu: [arm64] + '@rolldown/binding-darwin-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-beta.6': - resolution: {integrity: sha512-Qd+Dyus1TbFTqDcUh4QQ1rEtEoP69IMB6bQdLtzijvYzhV1P2isnCDPsgjebqz+3Jb850UQMWSQf0ygaLdsD7g==} - cpu: [x64] + '@rolldown/binding-darwin-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-beta.6': - resolution: {integrity: sha512-nPCph8jSXMUXIUgiIEZM32jb+XsOU63vVkk6SEIMQh8HBxpNw1xISj4WFpywMI97hVjiQxEZOzPiqSeOPJoJZA==} - cpu: [x64] + '@rolldown/binding-freebsd-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.6': - resolution: {integrity: sha512-V/0LsI5O6rQVE84HZllvTWlwX2AwnbU9NP50oJn7TrnWFwaVyV/x+FwCl6DykV3GhBc2t6Pp4X35L+Q5v9Kjtg==} - cpu: [arm] + '@rolldown/binding-linux-arm-gnueabihf@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.6': - resolution: {integrity: sha512-uk4bBCq2IS586gjo6BwzBePrXij/zzU0rwIAOzg7XnIGrgnhZ8iUwX1tUHwOTLATeFfvdAF3dN3eLdObt7Q6XQ==} - cpu: [arm64] + '@rolldown/binding-linux-arm64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [linux] - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.6': - resolution: {integrity: sha512-+DEjh4orr5vGASIjFuEtjIfKpSF9wPbUG5QCJ+zdXJ+e/SPb5GxqzhAAGAQE9upWzVYU4Gca4WxzP51JEVU40w==} - cpu: [arm64] + '@rolldown/binding-linux-arm64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [linux] - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.6': - resolution: {integrity: sha512-/ruUtvsP5iXFqOqrhymjz2oH+KLsDyyJaD0YSwuM0Sf3kCtQ4D2cpnMzjzTWtdPrP2NKFduDCFazYKiGyPtIfQ==} - cpu: [x64] + '@rolldown/binding-linux-x64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [linux] - '@rolldown/binding-linux-x64-musl@1.0.0-beta.6': - resolution: {integrity: sha512-1RCIuyk0kDzPLwopcsfFXjWqUVuzn54nQNk+97O9auREIshEOEf/c3+xpjKNKYpLXpV9ZetLlgv60E1yE3conw==} - cpu: [x64] + '@rolldown/binding-linux-x64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [linux] - '@rolldown/binding-wasm32-wasi@1.0.0-beta.6': - resolution: {integrity: sha512-da3ACjk70tIT6QNQCaLjDZ0uFBAO8H3UT+tfm1rclE6SAACCwiXZV5qC8yprNguE0wx8QvhyWnt1h9R50UovGg==} + '@rolldown/binding-wasm32-wasi@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@f7304d1} + version: 1.0.0-beta.8-commit.503df43 engines: {node: '>=14.21.3'} - cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.6': - resolution: {integrity: sha512-sh0YWjjQrNGzv3BFSQnySKP1+0RboVX4TMY4oyoqmhe1pDbUVFmIbdSWPAH9ppIX1DVYoR/g/gcGIi/XgZZlEw==} - cpu: [arm64] + '@rolldown/binding-win32-arm64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [win32] - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.6': - resolution: {integrity: sha512-IqoZ4+vVVdO0YcKm2NdzhCdGIQm63JSaI5dK/BS+AmwfjB+7ThTnmYw9qhoNIOrQ4f/Dyjlmp+E23N+JzcmxwQ==} - cpu: [ia32] + '@rolldown/binding-win32-ia32-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.6': - resolution: {integrity: sha512-ZxH7/+Wa88KiBa4TMCz8gj6TNewVeZr1J93TwU4AA6U2TFTgtkrx/9DbYUhoQ/m9L5+iHaPT++z2la5nVr9t+A==} - cpu: [x64] + '@rolldown/binding-win32-x64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@f7304d1} + version: 1.0.0-beta.8-commit.503df43 os: [win32] + '@rolldown/pluginutils@https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@f7304d1': + resolution: {tarball: https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@f7304d1} + version: 1.0.0-beta.8-commit.503df43 + '@rollup/plugin-alias@3.1.9': resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} engines: {node: '>=8.0.0'} @@ -2076,13 +2087,9 @@ packages: resolution: {integrity: sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@valibot/to-json-schema@1.0.0-rc.0': - resolution: {integrity: sha512-F3WDgnPzcDs9Y8qZwU9qfPnEJBQ6lCMCFjI7VsMjAza6yAixGr4cZ50gOy6zniSCk49GkFvq2a6cBKfZjTpyOw==} - peerDependencies: - valibot: ^1.0.0 || ^1.0.0-beta.5 || ^1.0.0-rc - '@vitejs/plugin-vue@5.1.4': resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==} + version: 5.1.4 engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 @@ -2367,6 +2374,10 @@ packages: resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} engines: {node: '>=14'} + ansis@4.0.0: + resolution: {integrity: sha512-P8nrHI1EyW9OfBt1X7hMSwGN2vwRuqHSKJAT1gbLWZRzDa24oHjYwGHvEgHeBepupzk878yS/HBZ0NMPYtbolw==} + engines: {node: '>=14'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -3136,6 +3147,10 @@ packages: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + detect-libc@2.0.4: + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + engines: {node: '>=8'} + detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} @@ -3573,6 +3588,14 @@ packages: picomatch: optional: true + fdir@6.4.4: + resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + figgy-pudding@3.5.2: resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} deprecated: This module is no longer supported. @@ -4221,6 +4244,70 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lightningcss-darwin-arm64@1.30.1: + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.1: + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.1: + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.1: + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.1: + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.30.1: + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.30.1: + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.30.1: + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.30.1: + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.1: + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.1: + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -5514,11 +5601,53 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rolldown@1.0.0-beta.6: - resolution: {integrity: sha512-0FOZc1kJtHoCR4Se72yFISk3X1kjMtWHQ/567fRw1PMxtQY0cZ0h32pq85tQhMVJkyp5HZ9Mlz9sCx0BUFVeIw==} + rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172: + resolution: {tarball: https://pkg.pr.new/vitejs/rolldown-vite@172} + version: 6.3.9 + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - '@oxc-project/runtime': 0.58.1 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + esbuild: ^0.25.0 + jiti: '>=1.21.0' + less: '*' + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + rolldown@https://pkg.pr.new/rolldown@4554: + resolution: {tarball: https://pkg.pr.new/rolldown@4554} + version: 1.0.0-beta.8-commit.503df43 + hasBin: true + peerDependencies: + '@oxc-project/runtime': 0.69.0 peerDependenciesMeta: '@oxc-project/runtime': optional: true @@ -5963,6 +6092,10 @@ packages: resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.13: + resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} + engines: {node: '>=12.0.0'} + tinypool@1.0.1: resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -6199,14 +6332,6 @@ packages: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true - valibot@1.0.0-rc.4: - resolution: {integrity: sha512-VRaChgFv7Ab0P54AMLu7+GqoexdTPQ54Plj59X9qV0AFozI3j9CGH43skg+TqgMpXnrW8jxlJ2TTHAtAD3t4qA==} - peerDependencies: - typescript: '>=5' - peerDependenciesMeta: - typescript: - optional: true - vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -7184,17 +7309,17 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@kazupon/eslint-config@0.22.0(8500415a639f8f0951a15a41b96bc862)': + '@kazupon/eslint-config@0.22.0(56fe3ff22e4d22eb8e47150081f97c89)': dependencies: '@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.14.0(jiti@2.4.0)) '@eslint/js': 9.22.0 - '@kazupon/jts-utils': 0.5.0(@vue/reactivity@3.4.29)(typescript@5.6.3) + '@kazupon/jts-utils': 0.5.0(@oxc-project/runtime@0.69.0)(@vue/reactivity@3.4.29)(typescript@5.6.3) eslint: 9.14.0(jiti@2.4.0) eslint-flat-config-utils: 2.0.1 globals: 16.0.0 optionalDependencies: '@eslint/markdown': 6.2.1 - '@vitest/eslint-plugin': 1.1.7(@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(terser@5.31.1)) + '@vitest/eslint-plugin': 1.1.7(@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(lightningcss@1.30.1)(terser@5.31.1)) eslint-config-prettier: 9.1.0(eslint@9.14.0(jiti@2.4.0)) eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@2.4.0)) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.4.0)) @@ -7215,9 +7340,9 @@ snapshots: - typescript - unplugin-unused - '@kazupon/jts-utils@0.5.0(@vue/reactivity@3.4.29)(typescript@5.6.3)': + '@kazupon/jts-utils@0.5.0(@oxc-project/runtime@0.69.0)(@vue/reactivity@3.4.29)(typescript@5.6.3)': dependencies: - tsdown: 0.6.9(typescript@5.6.3) + tsdown: 0.6.9(@oxc-project/runtime@0.69.0)(typescript@5.6.3) optionalDependencies: '@vue/reactivity': 3.4.29 transitivePeerDependencies: @@ -7361,9 +7486,11 @@ snapshots: '@oxc-parser/binding-win32-x64-msvc@0.57.0': optional: true + '@oxc-project/runtime@0.69.0': {} + '@oxc-project/types@0.57.0': {} - '@oxc-project/types@0.58.1': {} + '@oxc-project/types@0.69.0': {} '@oxc-resolver/binding-darwin-arm64@5.0.1': optional: true @@ -7439,44 +7566,46 @@ snapshots: dependencies: quansync: 0.2.8 - '@rolldown/binding-darwin-arm64@1.0.0-beta.6': + '@rolldown/binding-darwin-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@f7304d1': optional: true - '@rolldown/binding-darwin-x64@1.0.0-beta.6': + '@rolldown/binding-darwin-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@f7304d1': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-beta.6': + '@rolldown/binding-freebsd-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@f7304d1': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.6': + '@rolldown/binding-linux-arm-gnueabihf@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@f7304d1': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.6': + '@rolldown/binding-linux-arm64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@f7304d1': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.6': + '@rolldown/binding-linux-arm64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@f7304d1': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.6': + '@rolldown/binding-linux-x64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@f7304d1': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-beta.6': + '@rolldown/binding-linux-x64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@f7304d1': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-beta.6': + '@rolldown/binding-wasm32-wasi@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@f7304d1': dependencies: '@napi-rs/wasm-runtime': 0.2.7 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.6': + '@rolldown/binding-win32-arm64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@f7304d1': optional: true - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.6': + '@rolldown/binding-win32-ia32-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@f7304d1': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.6': + '@rolldown/binding-win32-x64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@f7304d1': optional: true + '@rolldown/pluginutils@https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@f7304d1': {} + '@rollup/plugin-alias@3.1.9(rollup@2.79.1)': dependencies: rollup: 2.79.1 @@ -7930,11 +8059,11 @@ snapshots: anymatch: 3.1.3 source-map: 0.6.1 - '@types/webpack@5.28.5(webpack-cli@5.1.4)': + '@types/webpack@5.28.5(esbuild@0.25.4)(webpack-cli@5.1.4)': dependencies: '@types/node': 20.14.5 tapable: 2.2.1 - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' - esbuild @@ -8026,22 +8155,18 @@ snapshots: '@typescript-eslint/types': 8.13.0 eslint-visitor-keys: 3.4.3 - '@valibot/to-json-schema@1.0.0-rc.0(valibot@1.0.0-rc.4(typescript@5.6.3))': - dependencies: - valibot: 1.0.0-rc.4(typescript@5.6.3) - - '@vitejs/plugin-vue@5.1.4(vite@5.4.10(@types/node@20.14.5)(terser@5.31.1))(vue@3.4.29(typescript@5.6.3))': + '@vitejs/plugin-vue@5.1.4(rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5))(vue@3.4.29(typescript@5.6.3))': dependencies: - vite: 5.4.10(@types/node@20.14.5)(terser@5.31.1) + vite: rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5) vue: 3.4.29(typescript@5.6.3) - '@vitest/eslint-plugin@1.1.7(@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(terser@5.31.1))': + '@vitest/eslint-plugin@1.1.7(@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(lightningcss@1.30.1)(terser@5.31.1))': dependencies: '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) eslint: 9.14.0(jiti@2.4.0) optionalDependencies: typescript: 5.6.3 - vitest: 2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(terser@5.31.1) + vitest: 2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(lightningcss@1.30.1)(terser@5.31.1) optional: true '@vitest/expect@2.1.4': @@ -8051,13 +8176,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.4(vite@5.4.10(@types/node@20.14.5)(terser@5.31.1))': + '@vitest/mocker@2.1.4(vite@5.4.10(@types/node@20.14.5)(lightningcss@1.30.1)(terser@5.31.1))': dependencies: '@vitest/spy': 2.1.4 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.4.10(@types/node@20.14.5)(terser@5.31.1) + vite: 5.4.10(@types/node@20.14.5)(lightningcss@1.30.1)(terser@5.31.1) '@vitest/pretty-format@2.1.4': dependencies: @@ -8293,17 +8418,17 @@ snapshots: '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.92.0)': dependencies: - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.92.0)': dependencies: - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.92.0)': dependencies: - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) optionalDependencies: webpack-dev-server: 4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.92.0) @@ -8423,6 +8548,8 @@ snapshots: ansis@3.17.0: {} + ansis@4.0.0: {} + any-promise@1.3.0: {} anymatch@3.1.3: @@ -8533,7 +8660,7 @@ snapshots: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) balanced-match@1.0.2: {} @@ -8908,7 +9035,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.2 optionalDependencies: - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) css-select@5.1.0: dependencies: @@ -9132,6 +9259,8 @@ snapshots: destroy@1.2.0: {} + detect-libc@2.0.4: {} + detect-node@2.1.0: {} devlop@1.1.0: @@ -9868,6 +9997,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.4.4(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + figgy-pudding@3.5.2: {} file-entry-cache@8.0.0: @@ -10521,6 +10654,51 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lightningcss-darwin-arm64@1.30.1: + optional: true + + lightningcss-darwin-x64@1.30.1: + optional: true + + lightningcss-freebsd-x64@1.30.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.1: + optional: true + + lightningcss-linux-arm64-gnu@1.30.1: + optional: true + + lightningcss-linux-arm64-musl@1.30.1: + optional: true + + lightningcss-linux-x64-gnu@1.30.1: + optional: true + + lightningcss-linux-x64-musl@1.30.1: + optional: true + + lightningcss-win32-arm64-msvc@1.30.1: + optional: true + + lightningcss-win32-x64-msvc@1.30.1: + optional: true + + lightningcss@1.30.1: + dependencies: + detect-libc: 2.0.4 + optionalDependencies: + lightningcss-darwin-arm64: 1.30.1 + lightningcss-darwin-x64: 1.30.1 + lightningcss-freebsd-x64: 1.30.1 + lightningcss-linux-arm-gnueabihf: 1.30.1 + lightningcss-linux-arm64-gnu: 1.30.1 + lightningcss-linux-arm64-musl: 1.30.1 + lightningcss-linux-x64-gnu: 1.30.1 + lightningcss-linux-x64-musl: 1.30.1 + lightningcss-win32-arm64-msvc: 1.30.1 + lightningcss-win32-x64-msvc: 1.30.1 + lilconfig@2.1.0: {} lilconfig@3.1.2: {} @@ -12019,26 +12197,42 @@ snapshots: dependencies: glob: 7.2.3 - rolldown@1.0.0-beta.6(typescript@5.6.3): + rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5): dependencies: - '@oxc-project/types': 0.58.1 - '@valibot/to-json-schema': 1.0.0-rc.0(valibot@1.0.0-rc.4(typescript@5.6.3)) - valibot: 1.0.0-rc.4(typescript@5.6.3) + '@oxc-project/runtime': 0.69.0 + fdir: 6.4.4(picomatch@4.0.2) + lightningcss: 1.30.1 + picomatch: 4.0.2 + postcss: 8.5.3 + rolldown: https://pkg.pr.new/rolldown@4554(@oxc-project/runtime@0.69.0) + tinyglobby: 0.2.13 optionalDependencies: - '@rolldown/binding-darwin-arm64': 1.0.0-beta.6 - '@rolldown/binding-darwin-x64': 1.0.0-beta.6 - '@rolldown/binding-freebsd-x64': 1.0.0-beta.6 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.6 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.6 - '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.6 - '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.6 - '@rolldown/binding-linux-x64-musl': 1.0.0-beta.6 - '@rolldown/binding-wasm32-wasi': 1.0.0-beta.6 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.6 - '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.6 - '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.6 - transitivePeerDependencies: - - typescript + '@types/node': 20.14.5 + esbuild: 0.25.4 + fsevents: 2.3.3 + jiti: 2.4.0 + terser: 5.31.1 + yaml: 2.4.5 + + rolldown@https://pkg.pr.new/rolldown@4554(@oxc-project/runtime@0.69.0): + dependencies: + '@oxc-project/types': 0.69.0 + '@rolldown/pluginutils': https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@f7304d1 + ansis: 4.0.0 + optionalDependencies: + '@oxc-project/runtime': 0.69.0 + '@rolldown/binding-darwin-arm64': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@f7304d1 + '@rolldown/binding-darwin-x64': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@f7304d1 + '@rolldown/binding-freebsd-x64': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@f7304d1 + '@rolldown/binding-linux-arm-gnueabihf': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@f7304d1 + '@rolldown/binding-linux-arm64-gnu': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@f7304d1 + '@rolldown/binding-linux-arm64-musl': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@f7304d1 + '@rolldown/binding-linux-x64-gnu': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@f7304d1 + '@rolldown/binding-linux-x64-musl': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@f7304d1 + '@rolldown/binding-wasm32-wasi': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@f7304d1 + '@rolldown/binding-win32-arm64-msvc': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@f7304d1 + '@rolldown/binding-win32-ia32-msvc': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@f7304d1 + '@rolldown/binding-win32-x64-msvc': https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@f7304d1 rollup-plugin-dts@6.1.1(rollup@3.29.4)(typescript@5.6.3): dependencies: @@ -12553,14 +12747,16 @@ snapshots: dependencies: execa: 0.7.0 - terser-webpack-plugin@5.3.10(webpack@5.92.0): + terser-webpack-plugin@5.3.10(esbuild@0.25.4)(webpack@5.92.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.1 - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + optionalDependencies: + esbuild: 0.25.4 terser@5.31.1: dependencies: @@ -12595,6 +12791,11 @@ snapshots: fdir: 6.4.3(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.13: + dependencies: + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + tinypool@1.0.1: {} tinyrainbow@1.2.0: {} @@ -12635,7 +12836,7 @@ snapshots: strip-bom: 3.0.0 optional: true - tsdown@0.6.9(typescript@5.6.3): + tsdown@0.6.9(@oxc-project/runtime@0.69.0)(typescript@5.6.3): dependencies: ansis: 3.17.0 cac: 6.7.14 @@ -12645,7 +12846,7 @@ snapshots: diff: 7.0.0 oxc-resolver: 5.0.1 pkg-types: 2.1.0 - rolldown: 1.0.0-beta.6(typescript@5.6.3) + rolldown: https://pkg.pr.new/rolldown@4554(@oxc-project/runtime@0.69.0) rollup: 4.36.0 rollup-plugin-dts: 6.1.1(rollup@4.36.0)(typescript@5.6.3) tinyglobby: 0.2.12 @@ -12923,18 +13124,14 @@ snapshots: uuid@8.3.2: {} - valibot@1.0.0-rc.4(typescript@5.6.3): - optionalDependencies: - typescript: 5.6.3 - vary@1.1.2: {} - vite-node@2.1.4(@types/node@20.14.5)(terser@5.31.1): + vite-node@2.1.4(@types/node@20.14.5)(lightningcss@1.30.1)(terser@5.31.1): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - vite: 5.4.10(@types/node@20.14.5)(terser@5.31.1) + vite: 5.4.10(@types/node@20.14.5)(lightningcss@1.30.1)(terser@5.31.1) transitivePeerDependencies: - '@types/node' - less @@ -12946,7 +13143,7 @@ snapshots: - supports-color - terser - vite@5.4.10(@types/node@20.14.5)(terser@5.31.1): + vite@5.4.10(@types/node@20.14.5)(lightningcss@1.30.1)(terser@5.31.1): dependencies: esbuild: 0.21.5 postcss: 8.4.47 @@ -12954,12 +13151,13 @@ snapshots: optionalDependencies: '@types/node': 20.14.5 fsevents: 2.3.3 + lightningcss: 1.30.1 terser: 5.31.1 - vitest@2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(terser@5.31.1): + vitest@2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(lightningcss@1.30.1)(terser@5.31.1): dependencies: '@vitest/expect': 2.1.4 - '@vitest/mocker': 2.1.4(vite@5.4.10(@types/node@20.14.5)(terser@5.31.1)) + '@vitest/mocker': 2.1.4(vite@5.4.10(@types/node@20.14.5)(lightningcss@1.30.1)(terser@5.31.1)) '@vitest/pretty-format': 2.1.4 '@vitest/runner': 2.1.4 '@vitest/snapshot': 2.1.4 @@ -12975,8 +13173,8 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.10(@types/node@20.14.5)(terser@5.31.1) - vite-node: 2.1.4(@types/node@20.14.5)(terser@5.31.1) + vite: 5.4.10(@types/node@20.14.5)(lightningcss@1.30.1)(terser@5.31.1) + vite-node: 2.1.4(@types/node@20.14.5)(lightningcss@1.30.1)(terser@5.31.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 20.14.5 @@ -13030,7 +13228,7 @@ snapshots: loader-utils: 1.4.2 vue-hot-reload-api: 2.3.4 vue-style-loader: 4.1.3 - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) optionalDependencies: '@vue/compiler-sfc': 3.4.29 prettier: 3.3.2 @@ -13095,7 +13293,7 @@ snapshots: chalk: 4.1.2 hash-sum: 2.0.0 loader-utils: 2.0.4 - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) optionalDependencies: '@vue/compiler-sfc': 3.4.29 vue: 3.4.29(typescript@5.6.3) @@ -13105,7 +13303,7 @@ snapshots: chalk: 4.1.2 hash-sum: 2.0.0 watchpack: 2.4.1 - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) optionalDependencies: '@vue/compiler-sfc': 3.4.29 vue: 3.4.29(typescript@5.6.3) @@ -13166,7 +13364,7 @@ snapshots: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) webpack-merge: 5.10.0 optionalDependencies: webpack-dev-server: 4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.92.0) @@ -13178,7 +13376,7 @@ snapshots: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) webpack-dev-server@4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.92.0): dependencies: @@ -13213,7 +13411,7 @@ snapshots: webpack-dev-middleware: 5.3.4(webpack@5.92.0) ws: 8.17.1 optionalDependencies: - webpack: 5.92.0(webpack-cli@5.1.4) + webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) transitivePeerDependencies: - bufferutil @@ -13231,7 +13429,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.92.0(webpack-cli@5.1.4): + webpack@5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -13254,7 +13452,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.92.0) + terser-webpack-plugin: 5.3.10(esbuild@0.25.4)(webpack@5.92.0) watchpack: 2.4.1 webpack-sources: 3.2.3 optionalDependencies: From 99d65f887ff07087bb2e24df6299269444969b9c Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Sat, 17 May 2025 22:11:37 +0900 Subject: [PATCH 04/10] fix: hook filter implementation --- package.json | 7 +- .../unplugin-vue-i18n/src/core/options.ts | 18 +- .../unplugin-vue-i18n/src/core/resource.ts | 397 +++++++++++++----- packages/unplugin-vue-i18n/src/types.ts | 1 + .../test/vite/resource-compilation.test.ts | 2 +- pnpm-lock.yaml | 30 +- 6 files changed, 312 insertions(+), 143 deletions(-) diff --git a/package.json b/package.json index c95f65fe..6ce8f766 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "tiny-glob": "^0.2.9", "typescript": "^5.6.3", "typescript-eslint": "^8.13.0", - "vite": "https://pkg.pr.new/vitejs/rolldown-vite@172", + "vite": "https://pkg.pr.new/vitejs/rolldown-vite@12e3568", "vitest": "^2.1.4", "vue": "^3.2.25", "vue-i18n": "^11.1.2", @@ -87,7 +87,10 @@ "pnpm": { "overrides": { "rolldown": "https://pkg.pr.new/rolldown@4554" - } + }, + "onlyBuiltDependencies": [ + "esbuild" + ] }, "license": "MIT", "lint-staged": { diff --git a/packages/unplugin-vue-i18n/src/core/options.ts b/packages/unplugin-vue-i18n/src/core/options.ts index 1a76615a..75f79ad4 100644 --- a/packages/unplugin-vue-i18n/src/core/options.ts +++ b/packages/unplugin-vue-i18n/src/core/options.ts @@ -1,4 +1,3 @@ -import { normalize } from 'pathe' import { isString, isBoolean, isArray } from '@intlify/shared' import type { PluginOptions } from '../types' @@ -15,19 +14,6 @@ export function resolveOptions(options: PluginOptions) { : [options.onlyLocales] } - // normalize for `options.include` - let include = options.include - let exclude = undefined - if (include) { - if (isArray(include)) { - include = include.map(item => normalize(item)) - } else if (isString(include)) { - include = normalize(include) - } - } else { - exclude = '**/**' - } - const forceStringify = !!options.forceStringify const defaultSFCLang = isString(options.defaultSFCLang) ? options.defaultSFCLang @@ -81,8 +67,8 @@ export function resolveOptions(options: PluginOptions) { : null return { - include, - exclude, + include: options.include, + exclude: options.exclude, module: moduleType, onlyLocales, forceStringify, diff --git a/packages/unplugin-vue-i18n/src/core/resource.ts b/packages/unplugin-vue-i18n/src/core/resource.ts index 70dea774..dd833559 100644 --- a/packages/unplugin-vue-i18n/src/core/resource.ts +++ b/packages/unplugin-vue-i18n/src/core/resource.ts @@ -41,6 +41,13 @@ import type { VueQuery } from '../vue' const INTLIFY_BUNDLE_IMPORT_ID = '@intlify/unplugin-vue-i18n/messages' const VIRTUAL_PREFIX = '\0' +const RE_INTLIFY_BUNDLE_IMPORT_ID = new RegExp(`^${INTLIFY_BUNDLE_IMPORT_ID}$`) +const RE_VIRTUAL_PREFIXED_INTLIFY_BUNDLE_IMPORT_ID = new RegExp( + `^${VIRTUAL_PREFIX}${INTLIFY_BUNDLE_IMPORT_ID}$` +) +// const RE_RESOURCE_FORMAT = /\.(json5?|ya?ml)$/ +const RE_RESOURCE_FORMAT = /\.(json5?|ya?ml|[c|m]?js)$/ +const RE_SFC_I18N_CUSTOM_BLOCK = /\?vue&type=i18n/ const debug = createDebug(resolveNamespace('resource')) @@ -66,6 +73,15 @@ export function resourcePlugin( meta: UnpluginContextMeta ): UnpluginOptions { const filter = createFilter(include, exclude) + function resolveInclude() { + if (isArray(include)) { + return [...include, RE_SFC_I18N_CUSTOM_BLOCK] + } else if (isString(include)) { + return [include, RE_SFC_I18N_CUSTOM_BLOCK] + } else { + return [RE_RESOURCE_FORMAT, RE_SFC_I18N_CUSTOM_BLOCK] + } + } const getVueI18nAliasPath = ({ ssr = false, runtimeOnly = false }) => { return `${module}/dist/${module}${runtimeOnly ? '.runtime' : ''}.${ !ssr ? 'esm-bundler.js' /* '.mjs' */ : 'node.mjs' @@ -144,48 +160,48 @@ export function resourcePlugin( */ // json transform handling - const jsonPlugin = getVitePlugin(config, 'vite:json') - if (jsonPlugin) { - // saving `vite:json` plugin instance - const orgTransform = - 'handler' in jsonPlugin.transform! - ? jsonPlugin.transform!.handler - : jsonPlugin.transform! - - // override json transform - async function overrideJson(code: string, id: string) { - if (!/\.json$/.test(id) || filter(id)) { - return - } - - /** - * NOTE(kazupon): - * `vite:json` plugin will be handled if the query generated from the result of parse SFC - * with `vite:vue` plugin contains json as follows. - * e.g src/components/HelloI18n.vue?vue&type=i18n&index=1&lang.json - * - * To avoid this, return the result that has already been processed (`enforce: 'pre'`) in the wrapped json plugin. - */ - const { query } = parseVueRequest(id) - if (query.vue) { - return - } - - debug('org json plugin') - // @ts-expect-error - return orgTransform.apply(this, [code, id]) - } - - /** - * NOTE(kazupon): - * We need to override the transform function of the `vite:json` plugin for `transform` and `transform.handler`. - * ref: https://github.com/vitejs/vite/pull/19878/files#diff-2cfbd4f4d8c32727cd8e1a561cffbde0b384a3ce0789340440e144f9d64c10f6R1086-R1088 - */ - if ('handler' in jsonPlugin.transform!) { - jsonPlugin.transform.handler = overrideJson - } - jsonPlugin.transform = overrideJson - } + // const jsonPlugin = getVitePlugin(config, 'vite:json') + // if (jsonPlugin) { + // // saving `vite:json` plugin instance + // const orgTransform = + // 'handler' in jsonPlugin.transform! + // ? jsonPlugin.transform!.handler + // : jsonPlugin.transform! + + // // override json transform + // async function overrideJson(code: string, id: string) { + // if (!/\.json$/.test(id) || filter(id)) { + // return + // } + + // /** + // * NOTE(kazupon): + // * `vite:json` plugin will be handled if the query generated from the result of parse SFC + // * with `vite:vue` plugin contains json as follows. + // * e.g src/components/HelloI18n.vue?vue&type=i18n&index=1&lang.json + // * + // * To avoid this, return the result that has already been processed (`enforce: 'pre'`) in the wrapped json plugin. + // */ + // const { query } = parseVueRequest(id) + // if (query.vue) { + // return + // } + + // debug('org json plugin') + // // @ts-expect-error + // return orgTransform.apply(this, [code, id]) + // } + + // /** + // * NOTE(kazupon): + // * We need to override the transform function of the `vite:json` plugin for `transform` and `transform.handler`. + // * ref: https://github.com/vitejs/vite/pull/19878/files#diff-2cfbd4f4d8c32727cd8e1a561cffbde0b384a3ce0789340440e144f9d64c10f6R1086-R1088 + // */ + // if ('handler' in jsonPlugin.transform!) { + // jsonPlugin.transform.handler = overrideJson + // } + // jsonPlugin.transform = overrideJson + // } /** * typescript transform handling @@ -193,69 +209,69 @@ export function resourcePlugin( * NOTE: * Typescript resources are handled using the already existing `vite:esbuild` plugin. */ - const esbuildPlugin = getVitePlugin(config, 'vite:esbuild') - if (esbuildPlugin) { - const orgTransform = esbuildPlugin.transform // backup @rollup/plugin-json - // @ts-ignore - esbuildPlugin.transform = async function (code: string, id: string) { - // @ts-expect-error - const result = (await orgTransform!.apply(this, [ - code, - id - ])) as TransformResult - if (result == null) { - return result - } - - const { filename, query } = parseVueRequest(id) - if (!query.vue && filter(id) && /\.[c|m]?ts$/.test(id)) { - const [_code, inSourceMap]: [string, RawSourceMap | undefined] = - isString(result) - ? [result, undefined] - : [result.code, result.map as RawSourceMap] - - let langInfo = defaultSFCLang - langInfo = parsePath(filename) - .ext as Required['defaultSFCLang'] - - const generate = getGenerator(langInfo) - const parseOptions = getOptions( - filename, - isProduction, - query as Record, - sourceMap, - { - inSourceMap, - isGlobal: globalSFCScope, - allowDynamic, - strictMessage, - escapeHtml, - jit: true, - onlyLocales, - forceStringify - } - ) as CodeGenOptions - debug('parseOptions', parseOptions) - - const { code: generatedCode, map } = generate(_code, parseOptions) - debug('generated code', generatedCode) - debug('sourcemap', map, sourceMap) - - if (_code === generatedCode) return - - return { - code: generatedCode, - map: { mappings: '' } - } - } else { - return result - } - } - } + // const esbuildPlugin = getVitePlugin(config, 'vite:esbuild') + // if (esbuildPlugin) { + // const orgTransform = esbuildPlugin.transform // backup @rollup/plugin-json + // // @ts-ignore + // esbuildPlugin.transform = async function (code: string, id: string) { + // // @ts-expect-error + // const result = (await orgTransform!.apply(this, [ + // code, + // id + // ])) as TransformResult + // if (result == null) { + // return result + // } + + // const { filename, query } = parseVueRequest(id) + // if (!query.vue && filter(id) && /\.[c|m]?ts$/.test(id)) { + // const [_code, inSourceMap]: [string, RawSourceMap | undefined] = + // isString(result) + // ? [result, undefined] + // : [result.code, result.map as RawSourceMap] + + // let langInfo = defaultSFCLang + // langInfo = parsePath(filename) + // .ext as Required['defaultSFCLang'] + + // const generate = getGenerator(langInfo) + // const parseOptions = getOptions( + // filename, + // isProduction, + // query as Record, + // sourceMap, + // { + // inSourceMap, + // isGlobal: globalSFCScope, + // allowDynamic, + // strictMessage, + // escapeHtml, + // jit: true, + // onlyLocales, + // forceStringify + // } + // ) as CodeGenOptions + // debug('parseOptions', parseOptions) + + // const { code: generatedCode, map } = generate(_code, parseOptions) + // debug('generated code', generatedCode) + // debug('sourcemap', map, sourceMap) + + // if (_code === generatedCode) return + + // return { + // code: generatedCode, + // map: { mappings: '' } + // } + // } else { + // return result + // } + // } + // } }, async handleHotUpdate({ file, server }) { - if (/\.(json5?|ya?ml)$/.test(file)) { + if (RE_RESOURCE_FORMAT.test(file)) { const module = server.moduleGraph.getModuleById( asVirtualId(INTLIFY_BUNDLE_IMPORT_ID, meta.framework) ) @@ -310,7 +326,7 @@ export function resourcePlugin( */ if (compiler.options.module) { compiler.options.module.rules.push({ - test: /\.(json5?|ya?ml)$/, + test: RE_RESOURCE_FORMAT, type: 'javascript/auto', include(resource: string) { return filter(resource) @@ -322,13 +338,24 @@ export function resourcePlugin( // HMR for webpack }, + /* resolveId(id: string, importer: string) { debug('resolveId', id, importer) if (id === INTLIFY_BUNDLE_IMPORT_ID) { return asVirtualId(id, meta.framework) } }, + */ + resolveId: { + filter: { + id: RE_INTLIFY_BUNDLE_IMPORT_ID + }, + handler(id: string) { + return asVirtualId(id, meta.framework) + } + }, + /* async load(id: string) { debug('load', id) if ( @@ -360,7 +387,46 @@ export function resourcePlugin( } } }, + */ + load: { + filter: { + id: RE_VIRTUAL_PREFIXED_INTLIFY_BUNDLE_IMPORT_ID + }, + async handler(id: string) { + debug('load', id) + if ( + INTLIFY_BUNDLE_IMPORT_ID === getVirtualId(id, meta.framework) && + include + ) { + let resourcePaths = [] as string[] + const includePaths = isArray(include) ? include : [include] + for (const inc of includePaths) { + resourcePaths = [...resourcePaths, ...(await fg(inc))] + } + resourcePaths = resourcePaths.filter( + (el, pos) => resourcePaths.indexOf(el) === pos + ) + const code = await generateBundleResources( + resourcePaths, + isProduction, + { + forceStringify, + strictMessage, + escapeHtml + } + ) + // TODO: support virtual import identifier + // for virtual import identifier (@intlify/unplugin-vue-i18n/messages) + return { + moduleType: 'js', + code, + map: { mappings: '' } + } + } + } + }, + /* transformInclude(id) { debug('transformInclude', id) if (meta.framework === 'vite') { @@ -374,7 +440,129 @@ export function resourcePlugin( ) } }, + */ + + transform: { + filter: { + id: { + include: resolveInclude(), + exclude + } + }, + async handler(code: string, id: string) { + const { filename, query } = parseVueRequest(id) + debug('transform', id, JSON.stringify(query), filename) + + let langInfo = defaultSFCLang + let inSourceMap: RawSourceMap | undefined + + if (!query.vue) { + langInfo = parsePath(filename) + .ext as Required['defaultSFCLang'] + + const generate = getGenerator(langInfo) + const parseOptions = getOptions( + filename, + isProduction, + query as Record, + sourceMap, + { + inSourceMap, + isGlobal: globalSFCScope, + allowDynamic, + strictMessage, + escapeHtml, + jit: true, + onlyLocales, + forceStringify + } + ) as CodeGenOptions + debug('parseOptions', parseOptions) + + const { code: generatedCode, map } = generate(code, parseOptions) + debug('generated code', generatedCode) + debug('sourcemap', map, sourceMap) + + if (code === generatedCode) return + + return { + moduleType: 'js', + code: generatedCode, + // prettier-ignore + map: { mappings: '' } + } + } else { + // for Vue SFC + if (isCustomBlock(query)) { + if (isString(query.lang)) { + langInfo = ( + query.src + ? query.lang === 'i18n' + ? defaultSFCLang + : query.lang + : query.lang + ) as Required['defaultSFCLang'] + } else if (defaultSFCLang) { + langInfo = defaultSFCLang + } + debug('langInfo', langInfo) + + const generate = /\.?json5?/.test(langInfo) + ? generateJSON + : generateYAML + + const parseOptions = getOptions( + filename, + isProduction, + query as Record, + sourceMap, + { + inSourceMap, + isGlobal: globalSFCScope, + jit: true, + strictMessage, + escapeHtml, + onlyLocales, + forceStringify + } + ) as CodeGenOptions + debug('parseOptions', parseOptions) + + let source = await getCode( + code, + filename, + sourceMap, + query, + getSfcParser(), + meta.framework + ) + + if (typeof transformI18nBlock === 'function') { + const modifiedSource = transformI18nBlock(source) + if (modifiedSource && typeof modifiedSource === 'string') { + source = modifiedSource + } else { + warn('transformI18nBlock should return a string') + } + } + + const { code: generatedCode, map } = generate(source, parseOptions) + debug('generated code', generatedCode) + debug('sourcemap', map, sourceMap) + + if (code === generatedCode) return + + return { + code: generatedCode, + // prettier-ignore + map: { mappings: '' } + } + } + } + } + } + /* async transform(code, id) { const { filename, query } = parseVueRequest(id) debug('transform', id, JSON.stringify(query), filename) @@ -490,7 +678,8 @@ export function resourcePlugin( } } } - } as UnpluginOptions + */ + } satisfies UnpluginOptions } function getGenerator(ext: string, defaultGen = generateJSON) { diff --git a/packages/unplugin-vue-i18n/src/types.ts b/packages/unplugin-vue-i18n/src/types.ts index 5b8276d5..f12e47ff 100644 --- a/packages/unplugin-vue-i18n/src/types.ts +++ b/packages/unplugin-vue-i18n/src/types.ts @@ -3,6 +3,7 @@ export type VueI18nModule = 'vue-i18n' | 'petite-vue-i18n' export interface PluginOptions { include?: string | string[] + exclude?: string | string[] onlyLocales?: string | string[] allowDynamic?: boolean module?: VueI18nModule diff --git a/packages/unplugin-vue-i18n/test/vite/resource-compilation.test.ts b/packages/unplugin-vue-i18n/test/vite/resource-compilation.test.ts index 344c4ca2..d6d5f138 100644 --- a/packages/unplugin-vue-i18n/test/vite/resource-compilation.test.ts +++ b/packages/unplugin-vue-i18n/test/vite/resource-compilation.test.ts @@ -56,7 +56,7 @@ test('js resource', async () => { expect(fn(createMessageContext({ named: { n: 3 } }))).toEqual(`3 apples`) }) -test('ts resource', async () => { +test.only('ts resource', async () => { const { module } = await bundleAndRun('en-GB.ts', bundleVite, options) const fn = compile(module.message, {} as MessageCompilerContext) // expect(fn.source).toEqual(`@.caml:{'no apples'} | {0} apple | {n} apples`) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 47cc44da..a9c6ab28 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -76,7 +76,7 @@ importers: version: 5.0.0 '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5))(vue@3.4.29(typescript@5.6.3)) + version: 5.1.4(rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@12e3568(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5))(vue@3.4.29(typescript@5.6.3)) '@vue/compiler-sfc': specifier: ^3.2.25 version: 3.4.29 @@ -153,8 +153,8 @@ importers: specifier: ^8.13.0 version: 8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) vite: - specifier: https://pkg.pr.new/vitejs/rolldown-vite@172 - version: rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5) + specifier: https://pkg.pr.new/vitejs/rolldown-vite@12e3568 + version: rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@12e3568(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5) vitest: specifier: ^2.1.4 version: 2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(lightningcss@1.30.1)(terser@5.31.1) @@ -5406,10 +5406,6 @@ packages: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.47: - resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.5.3: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} @@ -5601,9 +5597,9 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172: - resolution: {tarball: https://pkg.pr.new/vitejs/rolldown-vite@172} - version: 6.3.9 + rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@12e3568: + resolution: {tarball: https://pkg.pr.new/vitejs/rolldown-vite@12e3568} + version: 6.3.10 engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -8155,9 +8151,9 @@ snapshots: '@typescript-eslint/types': 8.13.0 eslint-visitor-keys: 3.4.3 - '@vitejs/plugin-vue@5.1.4(rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5))(vue@3.4.29(typescript@5.6.3))': + '@vitejs/plugin-vue@5.1.4(rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@12e3568(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5))(vue@3.4.29(typescript@5.6.3))': dependencies: - vite: rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5) + vite: rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@12e3568(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5) vue: 3.4.29(typescript@5.6.3) '@vitest/eslint-plugin@1.1.7(@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.4(@types/node@20.14.5)(jsdom@25.0.1)(lightningcss@1.30.1)(terser@5.31.1))': @@ -12014,12 +12010,6 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 - postcss@8.4.47: - dependencies: - nanoid: 3.3.7 - picocolors: 1.1.1 - source-map-js: 1.2.1 - postcss@8.5.3: dependencies: nanoid: 3.3.11 @@ -12197,7 +12187,7 @@ snapshots: dependencies: glob: 7.2.3 - rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@172(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5): + rolldown-vite@https://pkg.pr.new/vitejs/rolldown-vite@12e3568(@types/node@20.14.5)(esbuild@0.25.4)(jiti@2.4.0)(terser@5.31.1)(yaml@2.4.5): dependencies: '@oxc-project/runtime': 0.69.0 fdir: 6.4.4(picomatch@4.0.2) @@ -13146,7 +13136,7 @@ snapshots: vite@5.4.10(@types/node@20.14.5)(lightningcss@1.30.1)(terser@5.31.1): dependencies: esbuild: 0.21.5 - postcss: 8.4.47 + postcss: 8.5.3 rollup: 4.24.4 optionalDependencies: '@types/node': 20.14.5 From a41e9d3fa2fe8e45a86ed91da7a73a8fdcef392a Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Sun, 18 May 2025 14:58:52 +0900 Subject: [PATCH 05/10] fix: port from bundle-utils v12-alpha logic --- packages/bundle-utils/package.json | 2 +- packages/bundle-utils/src/codegen.ts | 28 +- packages/bundle-utils/src/js.ts | 489 +++++++++--------- packages/bundle-utils/src/json.ts | 203 +++----- packages/bundle-utils/src/ts.ts | 36 ++ packages/bundle-utils/src/yaml.ts | 192 +++---- .../generator/__snapshots__/js.test.ts.snap | 50 +- .../generator/__snapshots__/js1.test.ts.snap | 13 +- .../generator/__snapshots__/json.test.ts.snap | 30 +- .../__snapshots__/json5.test.ts.snap | 6 +- .../bundle-utils/test/generator/js1.test.ts | 13 + .../bundle-utils/test/generator/yaml.test.ts | 3 +- pnpm-lock.yaml | 6 +- 13 files changed, 489 insertions(+), 582 deletions(-) create mode 100644 packages/bundle-utils/src/ts.ts create mode 100644 packages/bundle-utils/test/generator/js1.test.ts diff --git a/packages/bundle-utils/package.json b/packages/bundle-utils/package.json index cec38d6b..5a8474dd 100644 --- a/packages/bundle-utils/package.json +++ b/packages/bundle-utils/package.json @@ -22,10 +22,10 @@ "@intlify/message-compiler": "^11.1.2", "@intlify/shared": "^11.1.2", "acorn": "^8.8.2", + "esbuild": "^0.25.4", "escodegen": "^2.1.0", "estree-walker": "^2.0.2", "jsonc-eslint-parser": "^2.3.0", - "mlly": "^1.2.0", "source-map-js": "^1.0.1", "yaml-eslint-parser": "^1.2.2" }, diff --git a/packages/bundle-utils/src/codegen.ts b/packages/bundle-utils/src/codegen.ts index b332a6a3..3707ea15 100644 --- a/packages/bundle-utils/src/codegen.ts +++ b/packages/bundle-utils/src/codegen.ts @@ -1,22 +1,22 @@ -import { SourceMapGenerator, SourceMapConsumer } from 'source-map-js' -import { - format, - escapeHtml as sanitizeHtml, - isBoolean, - friendlyJSONstringify -} from '@intlify/shared' import { baseCompile, detectHtmlTag, LOCATION_STUB } from '@intlify/message-compiler' +import { + format, + friendlyJSONstringify, + isBoolean, + escapeHtml as sanitizeHtml +} from '@intlify/shared' +import { SourceMapConsumer, SourceMapGenerator } from 'source-map-js' -import type { RawSourceMap, MappedPosition, MappingItem } from 'source-map-js' import type { CompileError, - ResourceNode, - CompileOptions + CompileOptions, + ResourceNode } from '@intlify/message-compiler' +import type { MappedPosition, MappingItem, RawSourceMap } from 'source-map-js' /** * Compilation dev environments @@ -25,13 +25,13 @@ import type { */ export type DevEnv = 'development' | 'production' -export interface Position { +interface Position { line: number column: number offset?: number } -export interface SourceLocationable { +interface SourceLocationable { start?: number loc?: { start: Position @@ -44,8 +44,6 @@ export interface SourceLocationable { */ export interface CodeGenOptions { type?: 'plain' | 'sfc' | 'bare' - legacy?: boolean - bridge?: boolean exportESM?: boolean onlyLocales?: string[] source?: string @@ -75,7 +73,7 @@ export interface CodeGenOptions { ) => void } -export interface CodeGenContext { +interface CodeGenContext { source?: string code: string indentLevel: number diff --git a/packages/bundle-utils/src/js.ts b/packages/bundle-utils/src/js.ts index 0b12aeb3..410493fa 100644 --- a/packages/bundle-utils/src/js.ts +++ b/packages/bundle-utils/src/js.ts @@ -2,7 +2,7 @@ * Code generator for i18n js resource */ -import { isString, isBoolean, isNumber } from '@intlify/shared' +import { isBoolean, isNumber, isString } from '@intlify/shared' import { parse as parseJavaScript } from 'acorn' import { generate as generateJavaScript } from 'escodegen' import { walk } from 'estree-walker' @@ -13,73 +13,73 @@ import { mapLinesColumns } from './codegen' -import type { RawSourceMap } from 'source-map-js' import type { Node } from 'estree' +import type { RawSourceMap } from 'source-map-js' import type { - CodeGenOptions, CodeGenerator, - CodeGenResult, - CodeGenFunction + CodeGenFunction, + CodeGenOptions, + CodeGenResult } from './codegen' +export class DynamicResourceError extends Error {} + +/** + * @internal + */ +export const DEFAULT_OPTIONS: CodeGenOptions = { + type: 'plain', + filename: 'vue-i18n-loader.js', + inSourceMap: undefined, + locale: '', + isGlobal: false, + sourceMap: false, + env: 'development', + forceStringify: false, + onError: undefined, + onWarn: undefined, + strictMessage: true, + escapeHtml: false, + allowDynamic: false, + jit: false +} + /** * @internal */ export function generate( targetSource: string | Buffer, - { - type = 'plain', - filename = 'vue-i18n-loader.js', - inSourceMap = undefined, - locale = '', - isGlobal = false, - sourceMap = false, - env = 'development', - forceStringify = false, - onError = undefined, - strictMessage = true, - escapeHtml = false, - allowDynamic = false, - jit = false - }: CodeGenOptions + options: CodeGenOptions ): CodeGenResult { - const target = Buffer.isBuffer(targetSource) + const value = Buffer.isBuffer(targetSource) ? targetSource.toString() : targetSource - const value = target - - const options = { - type, - source: value, - sourceMap, - locale, - isGlobal, - inSourceMap, - env, - filename, - forceStringify, - onError, - strictMessage, - escapeHtml, - jit - } as CodeGenOptions - const generator = createCodeGenerator(options) + const _options = Object.assign({}, DEFAULT_OPTIONS, options, { + source: value + }) + const generator = createCodeGenerator(_options) const ast = parseJavaScript(value, { ecmaVersion: 'latest', sourceType: 'module', - sourceFile: filename, + sourceFile: _options.filename, allowImportExportEverywhere: true }) as Node const exportResult = scanAst(ast) - if (!allowDynamic) { - // if (!astExportDefaultWithObject.length) { - if (!exportResult || exportResult !== 'object') { + if (!_options.allowDynamic) { + if (!exportResult) { throw new Error( `You need to define an object as the locale message with 'export default'.` ) } + + if (exportResult !== 'object') { + // using custom error to gracefully deal with error in virtual file + throw new DynamicResourceError( + `You need to define an object as the locale message with 'export default'.` + ) + } } else { if (!exportResult) { throw new Error( @@ -97,23 +97,17 @@ export function generate( return { ast, code: value, - map: inSourceMap + map: _options.inSourceMap } } } - const codeMaps = _generate(generator, ast, options) + const codeMaps = _generate(generator, ast, _options) const { code, map } = generator.context() - // if (map) { - // const s = new SourceMapConsumer((map as any).toJSON()) - // s.eachMapping(m => { - // console.log('sourcemap json', m) - // }) - // } // prettier-ignore const newMap = map - ? mapLinesColumns((map as any).toJSON(), codeMaps, inSourceMap) || null + ? mapLinesColumns((map as any).toJSON(), codeMaps, _options.inSourceMap) || null : null return { ast, @@ -127,22 +121,23 @@ function scanAst(ast: Node) { throw new Error('Invalid AST: does not have Program node') } - let ret: false | 'object' | 'function' | 'arrow-function' = false for (const node of ast.body) { - if (node.type === 'ExportDefaultDeclaration') { - if (node.declaration.type === 'ObjectExpression') { - ret = 'object' - break - } else if (node.declaration.type === 'FunctionDeclaration') { - ret = 'function' - break - } else if (node.declaration.type === 'ArrowFunctionExpression') { - ret = 'arrow-function' - break - } + if (node.type !== 'ExportDefaultDeclaration') continue + + switch (node.declaration.type) { + case 'ObjectExpression': + return 'object' + case 'FunctionDeclaration': + return 'function' + case 'ArrowFunctionExpression': + return 'arrow-function' + // we need to optimize top-level variables to support this + // case 'Identifier': + // return 'object' } } - return ret + + return false } function _generate( @@ -158,11 +153,60 @@ function _generate( const codeMaps = new Map() const { type, sourceMap, isGlobal, locale, jit } = options - const codegenFn: CodeGenFunction = jit + const _codegenFn: CodeGenFunction = jit ? generateResourceAst : generateMessageFunction + function codegenFn(value: string) { + const { code, map } = _codegenFn(value, options, pathStack) + sourceMap && map != null && codeMaps.set(value, map) + return code + } + const componentNamespace = '_Component' + const variableDeclarations: string[] = [] + + // slice and reuse imports and top-level variable declarations as-is + // NOTE: this prevents optimization/compilation of top-level variables, we may be able to add support for this + walk(node, { + /** + * NOTE: + * force cast to Node of `estree-walker@3.x`, + * because `estree-walker@3.x` is not dual packages, + * so it's support only esm only ... + */ + // @ts-ignore + enter(node: Node, _parent) { + if (_parent?.type != null) this.skip() + switch (node.type) { + case 'ExportDefaultDeclaration': + this.skip() + break + case 'ImportDeclaration': + // @ts-expect-error mismatching types + generator.push(options.source?.slice(node.start, node.end)) + generator.newline() + break + case 'VariableDeclaration': + // @ts-expect-error mismatching types + generator.push(options.source?.slice(node.start, node.end)) + generator.newline() + + variableDeclarations.push( + // @ts-expect-error mismatching types + ...node.declarations.map(x => `\`${x.id.name}\``) + ) + + break + } + } + }) + + if (variableDeclarations.length > 0) { + options?.onWarn?.( + `\nVariable declarations are not optimized - found ${variableDeclarations.join(', ')}` + ) + } walk(node, { /** @@ -173,174 +217,138 @@ function _generate( */ // @ts-ignore enter(node: Node, parent: Node) { + // skip imports and top-level variable declarations + if (parent?.type === 'Program') { + switch (node.type) { + case 'ImportDeclaration': + case 'VariableDeclaration': + case 'VariableDeclarator': + this.skip() + } + } else if (parent?.type === 'ArrayExpression') { + const lastIndex = itemsCountStack.length - 1 + const currentCount = parent.elements.length - itemsCountStack[lastIndex] + pathStack.push(currentCount.toString()) + itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] + } else if (parent?.type === 'ObjectExpression') { + const lastIndex = propsCountStack.length - 1 + propsCountStack[lastIndex] = --propsCountStack[lastIndex] + } + switch (node.type) { case 'Program': if (type === 'plain') { generator.push(`const resource = `) } else if (type === 'sfc') { - // for 'sfc' - const variableName = - type === 'sfc' ? (!isGlobal ? '__i18n' : '__i18nGlobal') : '' - const localeName = - type === 'sfc' ? (locale != null ? locale : `""`) : '' - const exportSyntax = 'export default' - generator.push(`${exportSyntax} function (Component) {`) + const localeName = JSON.stringify(locale ?? '""') + const variableName = !isGlobal ? '__i18n' : '__i18nGlobal' + generator.push(`export default function (Component) {`) generator.indent() - const componentVariable = `Component` - generator.pushline( - `const ${componentNamespace} = ${componentVariable}` - ) + generator.pushline(`const ${componentNamespace} = Component`) generator.pushline( `${componentNamespace}.${variableName} = ${componentNamespace}.${variableName} || []` ) generator.push(`${componentNamespace}.${variableName}.push({`) generator.indent() - generator.pushline(`"locale": ${JSON.stringify(localeName)},`) + generator.pushline(`"locale": ${localeName},`) generator.push(`"resource": `) } break case 'ObjectExpression': - generator.push(`{`) + generator.push('{') generator.indent() propsCountStack.push(node.properties.length) - if (parent != null && parent.type === 'ArrayExpression') { - const lastIndex = itemsCountStack.length - 1 - const currentCount = - parent.elements.length - itemsCountStack[lastIndex] - pathStack.push(currentCount.toString()) - itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] - } + break + case 'ArrayExpression': + generator.push('[') + generator.indent() + itemsCountStack.push(node.elements.length) break case 'Property': - if (parent != null && parent.type === 'ObjectExpression') { - if (node != null) { - if ( - isJSONablePrimitiveLiteral(node.value) && - (node.key.type === 'Literal' || node.key.type === 'Identifier') - ) { - // prettier-ignore - const name = node.key.type === 'Literal' - ? String(node.key.value) - : node.key.name - if ( - (node.value.type === 'Literal' && - isString(node.value.value)) || - node.value.type === 'TemplateLiteral' - ) { - const value = getValue(node.value) as string - generator.push(`${JSON.stringify(name)}: `) - pathStack.push(name) - const { code, map } = codegenFn(value, options, pathStack) - sourceMap && map != null && codeMaps.set(value, map) - generator.push(`${code}`, node.value, value) - skipStack.push(false) - } else { - const value = getValue(node.value) - if (forceStringify) { - const strValue = JSON.stringify(value) - generator.push(`${JSON.stringify(name)}: `) - pathStack.push(name) - const { code, map } = codegenFn( - strValue, - options, - pathStack - ) - sourceMap && map != null && codeMaps.set(strValue, map) - generator.push(`${code}`, node.value, strValue) - } else { - generator.push( - `${JSON.stringify(name)}: ${JSON.stringify(value)}` - ) - pathStack.push(name) - } - skipStack.push(false) - } - } else if ( - (node.value.type === 'FunctionExpression' || - node.value.type === 'ArrowFunctionExpression') && - (node.key.type === 'Literal' || node.key.type === 'Identifier') - ) { - // prettier-ignore - const name = node.key.type === 'Literal' - ? String(node.key.value) - : node.key.name - generator.push(`${JSON.stringify(name)}: `) - pathStack.push(name) - const code = generateJavaScript(node.value) - generator.push(`${code}`, node.value, code) - skipStack.push(false) - } else if ( - (node.value.type === 'ObjectExpression' || - node.value.type === 'ArrayExpression') && - (node.key.type === 'Literal' || node.key.type === 'Identifier') - ) { - // prettier-ignore - const name = node.key.type === 'Literal' - ? String(node.key.value) - : node.key.name - generator.push(`${JSON.stringify(name)}: `) - pathStack.push(name) - } else { - // for Regex, function, etc. - skipStack.push(true) - } + if (parent?.type !== 'ObjectExpression') break + if (node.key.type !== 'Literal' && node.key.type !== 'Identifier') + break + + // prettier-ignore + const name = node.key.type === 'Literal' + ? String(node.key.value) + : node.key.name + const strName = JSON.stringify(name) + if (isJSONablePrimitiveLiteral(node.value)) { + generator.push(`${strName}: `) + pathStack.push(name) + const value = getValue(node.value) as string + const strValue = JSON.stringify(value) + if ( + (node.value.type === 'Literal' && isString(node.value.value)) || + node.value.type === 'TemplateLiteral' + ) { + generator.push(codegenFn(value), node.value, value) + } else if (forceStringify) { + generator.push(codegenFn(strValue), node.value, strValue) + } else { + generator.push(strValue) + } + skipStack.push(false) + } else if ( + node.value.type === 'ArrayExpression' || + node.value.type === 'ObjectExpression' + ) { + generator.push(`${strName}: `) + pathStack.push(name) + skipStack.push(false) + } else if ( + node.value.type === 'FunctionExpression' || + node.value.type === 'ArrowFunctionExpression' + ) { + generator.push(`${strName}: `) + pathStack.push(name) + const code = generateJavaScript(node.value, { + format: { compact: true } + }) + generator.push(code, node.value, code) + skipStack.push(false) + } else { + const skipProperty = 'regex' in node.value + if (!skipProperty && node.type === 'Property') { + const identifierName = + (node.value.type === 'Identifier' && String(node.value.name)) || + (node.value.type === 'Literal' && String(node.value.value)) + generator.push(`${strName}: ${identifierName || name}`) + skipStack.push(false) + } else { + // for Regex, function, etc. + skipStack.push(true) } - const lastIndex = propsCountStack.length - 1 - propsCountStack[lastIndex] = --propsCountStack[lastIndex] } break - case 'ArrayExpression': - generator.push(`[`) - generator.indent() - if (parent != null && parent.type === 'ArrayExpression') { - const lastIndex = itemsCountStack.length - 1 - const currentCount = - parent.elements.length - itemsCountStack[lastIndex] - pathStack.push(currentCount.toString()) - itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] - } - itemsCountStack.push(node.elements.length) + case 'SpreadElement': + const spreadIdentifier = + (node.argument.type === 'Identifier' && + String(node.argument.name)) || + (node.argument.type === 'Literal' && String(node.argument.value)) + generator.push(`...${spreadIdentifier}`) break default: - if (node != null && parent != null) { - if (parent.type === 'ArrayExpression') { - const lastIndex = itemsCountStack.length - 1 - const currentCount = - parent.elements.length - itemsCountStack[lastIndex] - pathStack.push(currentCount.toString()) - if (isJSONablePrimitiveLiteral(node)) { - if ( - (node.type === 'Literal' && isString(node.value)) || - node.type === 'TemplateLiteral' - ) { - const value = getValue(node) as string - const { code, map } = codegenFn(value, options, pathStack) - sourceMap && map != null && codeMaps.set(value, map) - generator.push(`${code}`, node, value) - } else { - const value = getValue(node) - if (forceStringify) { - const strValue = JSON.stringify(value) - const { code, map } = codegenFn( - strValue, - options, - pathStack - ) - sourceMap && map != null && codeMaps.set(strValue, map) - generator.push(`${code}`, node, strValue) - } else { - generator.push(`${JSON.stringify(value)}`) - } - } - skipStack.push(false) + if (parent?.type === 'ArrayExpression') { + if (isJSONablePrimitiveLiteral(node)) { + const value = getValue(node) as string + const strValue = JSON.stringify(value) + if ( + (node.type === 'Literal' && isString(node.value)) || + node.type === 'TemplateLiteral' + ) { + generator.push(codegenFn(value), node, value) + } else if (forceStringify) { + generator.push(codegenFn(strValue), node, strValue) } else { - // for Regex, function, etc. - skipStack.push(true) + generator.push(strValue) } - itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] + skipStack.push(false) + } else { + // for Regex, function, etc. + skipStack.push(true) } - } else { - // ... } break } @@ -355,14 +363,14 @@ function _generate( leave(node: Node, parent: Node) { switch (node.type) { case 'Program': - if (type === 'sfc') { + if (type === 'plain') { + generator.push('\n') + generator.push('export default resource') + } else if (type === 'sfc') { generator.deindent() - generator.push(`})`) + generator.push('})') generator.deindent() - generator.pushline(`}`) - } else if (type === 'plain') { - generator.push(`\n`) - generator.push('export default resource') + generator.pushline('}') } break case 'ObjectExpression': @@ -371,23 +379,7 @@ function _generate( propsCountStack.pop() } generator.deindent() - generator.push(`}`) - if (parent != null && parent.type === 'ArrayExpression') { - if (itemsCountStack[itemsCountStack.length - 1] !== 0) { - pathStack.pop() - generator.pushline(`,`) - } - } - break - case 'Property': - if (parent != null && parent.type === 'ObjectExpression') { - if (propsCountStack[propsCountStack.length - 1] !== 0) { - pathStack.pop() - if (!skipStack.pop()) { - generator.pushline(`,`) - } - } - } + generator.push('}') break case 'ArrayExpression': if (itemsCountStack[itemsCountStack.length - 1] === 0) { @@ -395,33 +387,24 @@ function _generate( itemsCountStack.pop() } generator.deindent() - generator.push(`]`) - if (parent != null && parent.type === 'ArrayExpression') { - if (itemsCountStack[itemsCountStack.length - 1] !== 0) { - pathStack.pop() - if (!skipStack.pop()) { - generator.pushline(`,`) - } - } - } - break - case 'Literal': - if (parent != null && parent.type === 'ArrayExpression') { - if (itemsCountStack[itemsCountStack.length - 1] !== 0) { - pathStack.pop() - if (!skipStack.pop()) { - generator.pushline(`,`) - } - } else { - if (!skipStack.pop()) { - generator.pushline(`,`) - } - } - } + generator.push(']') break default: break } + + // if not last obj property or array value + if ( + parent?.type === 'ArrayExpression' || + parent?.type === 'ObjectExpression' + ) { + const stackArr = + node.type === 'Property' ? propsCountStack : itemsCountStack + if (stackArr[stackArr.length - 1] !== 0) { + pathStack.pop() + !skipStack.pop() && generator.pushline(',') + } + } } }) diff --git a/packages/bundle-utils/src/json.ts b/packages/bundle-utils/src/json.ts index 4ef0f8e5..622a2182 100644 --- a/packages/bundle-utils/src/json.ts +++ b/packages/bundle-utils/src/json.ts @@ -2,27 +2,27 @@ * Code / AST generator for i18n json/json5 resource */ +import { isString } from '@intlify/shared' import { + getStaticJSONValue, parseJSON, - traverseNodes, - getStaticJSONValue + traverseNodes } from 'jsonc-eslint-parser' -import { isString } from '@intlify/shared' import { createCodeGenerator, + excludeLocales, generateMessageFunction, generateResourceAst, - mapLinesColumns, - excludeLocales + mapLinesColumns } from './codegen' +import type { JSONNode, JSONProgram } from 'jsonc-eslint-parser/lib/parser/ast' import type { RawSourceMap } from 'source-map-js' -import type { JSONProgram, JSONNode } from 'jsonc-eslint-parser/lib/parser/ast' import type { - CodeGenOptions, CodeGenerator, - CodeGenResult, - CodeGenFunction + CodeGenFunction, + CodeGenOptions, + CodeGenResult } from './codegen' export function generate( @@ -100,7 +100,7 @@ export function generate( // prettier-ignore const newMap = map && !jit - ? mapLinesColumns((map as any).toJSON(), codeMaps, inSourceMap) || null + ? mapLinesColumns((map as any).toJSON(), codeMaps, inSourceMap) || null : null return { ast, @@ -121,37 +121,46 @@ function _generate( const codeMaps = new Map() const { type, sourceMap, isGlobal, locale, jit } = options - const codegenFn: CodeGenFunction = jit + const _codegenFn: CodeGenFunction = jit ? generateResourceAst : generateMessageFunction + function codegenFn(value: string) { + const { code, map } = _codegenFn(value, options, pathStack) + sourceMap && map != null && codeMaps.set(value, map) + return code + } + const componentNamespace = '_Component' traverseNodes(node, { enterNode(node: JSONNode, parent: JSONNode) { + if (parent?.type === 'JSONArrayExpression') { + const lastIndex = itemsCountStack.length - 1 + const currentCount = parent.elements.length - itemsCountStack[lastIndex] + pathStack.push(currentCount.toString()) + itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] + } else if (parent?.type === 'JSONObjectExpression') { + const lastIndex = propsCountStack.length - 1 + propsCountStack[lastIndex] = --propsCountStack[lastIndex] + } + switch (node.type) { case 'Program': if (type === 'plain') { generator.push(`const resource = `) } else if (type === 'sfc') { - // for 'sfc' - const variableName = - type === 'sfc' ? (!isGlobal ? '__i18n' : '__i18nGlobal') : '' - const localeName = - type === 'sfc' ? (locale != null ? locale : `""`) : '' - const exportSyntax = 'export default' - generator.push(`${exportSyntax} function (Component) {`) + const variableName = !isGlobal ? '__i18n' : '__i18nGlobal' + const localeName = JSON.stringify(locale ?? `""`) + generator.push(`export default function (Component) {`) generator.indent() - const componentVariable = `Component` - generator.pushline( - `const ${componentNamespace} = ${componentVariable}` - ) + generator.pushline(`const ${componentNamespace} = Component`) generator.pushline( `${componentNamespace}.${variableName} = ${componentNamespace}.${variableName} || []` ) generator.push(`${componentNamespace}.${variableName}.push({`) generator.indent() - generator.pushline(`"locale": ${JSON.stringify(localeName)},`) + generator.pushline(`"locale": ${localeName},`) generator.push(`"resource": `) } break @@ -159,94 +168,41 @@ function _generate( generator.push(`{`) generator.indent() propsCountStack.push(node.properties.length) - if (parent.type === 'JSONArrayExpression') { - const lastIndex = itemsCountStack.length - 1 - const currentCount = - parent.elements.length - itemsCountStack[lastIndex] - pathStack.push(currentCount.toString()) - itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] - } break - case 'JSONProperty': - if ( - node.value.type === 'JSONLiteral' && - (node.key.type === 'JSONLiteral' || - node.key.type === 'JSONIdentifier') - ) { - const name = - node.key.type === 'JSONLiteral' ? node.key.value : node.key.name + case 'JSONArrayExpression': + generator.push(`[`) + generator.indent() + itemsCountStack.push(node.elements.length) + break + case 'JSONProperty': { + const name = + node.key.type === 'JSONLiteral' ? node.key.value : node.key.name + const strName = JSON.stringify(name) + generator.push(`${strName}: `) + pathStack.push(name.toString()) + if (node.value.type === 'JSONLiteral') { const value = node.value.value + const strValue = JSON.stringify(value) if (isString(value)) { - generator.push(`${JSON.stringify(name)}: `) - pathStack.push(name.toString()) - const { code, map } = codegenFn(value, options, pathStack) - sourceMap && map != null && codeMaps.set(value, map) - generator.push(`${code}`, node.value, value) + generator.push(codegenFn(value), node.value, value) + } else if (forceStringify) { + generator.push(codegenFn(strValue), node.value, strValue) } else { - if (forceStringify) { - const strValue = JSON.stringify(value) - generator.push(`${JSON.stringify(name)}: `) - pathStack.push(name.toString()) - const { code, map } = codegenFn(strValue, options, pathStack) - sourceMap && map != null && codeMaps.set(strValue, map) - generator.push(`${code}`, node.value, strValue) - } else { - generator.push( - `${JSON.stringify(name)}: ${JSON.stringify(value)}` - ) - pathStack.push(name.toString()) - } + generator.push(strValue) } - } else if ( - (node.value.type === 'JSONObjectExpression' || - node.value.type === 'JSONArrayExpression') && - (node.key.type === 'JSONLiteral' || - node.key.type === 'JSONIdentifier') - ) { - const name = - node.key.type === 'JSONLiteral' ? node.key.value : node.key.name - generator.push(`${JSON.stringify(name)}: `) - pathStack.push(name.toString()) } - const lastIndex = propsCountStack.length - 1 - propsCountStack[lastIndex] = --propsCountStack[lastIndex] - break - case 'JSONArrayExpression': - generator.push(`[`) - generator.indent() - if (parent.type === 'JSONArrayExpression') { - const lastIndex = itemsCountStack.length - 1 - const currentCount = - parent.elements.length - itemsCountStack[lastIndex] - pathStack.push(currentCount.toString()) - itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] - } - itemsCountStack.push(node.elements.length) break + } case 'JSONLiteral': - if (parent.type === 'JSONArrayExpression') { - const lastIndex = itemsCountStack.length - 1 - const currentCount = - parent.elements.length - itemsCountStack[lastIndex] - pathStack.push(currentCount.toString()) - if (node.type === 'JSONLiteral') { - const value = node.value - if (isString(value)) { - const { code, map } = codegenFn(value, options, pathStack) - sourceMap && map != null && codeMaps.set(value, map) - generator.push(`${code}`, node, value) - } else { - if (forceStringify) { - const strValue = JSON.stringify(value) - const { code, map } = codegenFn(strValue, options, pathStack) - sourceMap && map != null && codeMaps.set(strValue, map) - generator.push(`${code}`, node, strValue) - } else { - generator.push(`${JSON.stringify(value)}`) - } - } - } - itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] + if (parent.type !== 'JSONArrayExpression') break + const value = node.value + const strValue = JSON.stringify(value) + if (isString(value)) { + generator.push(codegenFn(value), node, value) + } else if (forceStringify) { + generator.push(codegenFn(strValue), node, strValue) + } else { + generator.push(strValue) } break default: @@ -273,18 +229,6 @@ function _generate( } generator.deindent() generator.push(`}`) - if (parent.type === 'JSONArrayExpression') { - if (itemsCountStack[itemsCountStack.length - 1] !== 0) { - pathStack.pop() - generator.pushline(`,`) - } - } - break - case 'JSONProperty': - if (propsCountStack[propsCountStack.length - 1] !== 0) { - pathStack.pop() - generator.pushline(`,`) - } break case 'JSONArrayExpression': if (itemsCountStack[itemsCountStack.length - 1] === 0) { @@ -293,26 +237,23 @@ function _generate( } generator.deindent() generator.push(`]`) - if (parent.type === 'JSONArrayExpression') { - if (itemsCountStack[itemsCountStack.length - 1] !== 0) { - pathStack.pop() - generator.pushline(`,`) - } - } - break - case 'JSONLiteral': - if (parent.type === 'JSONArrayExpression') { - if (itemsCountStack[itemsCountStack.length - 1] !== 0) { - pathStack.pop() - generator.pushline(`,`) - } else { - generator.pushline(`,`) - } - } break default: break } + + // if not last obj property or array value + if ( + parent?.type === 'JSONArrayExpression' || + parent?.type === 'JSONObjectExpression' + ) { + const stackArr = + node.type === 'JSONProperty' ? propsCountStack : itemsCountStack + if (stackArr[stackArr.length - 1] !== 0) { + pathStack.pop() + generator.pushline(`,`) + } + } } }) diff --git a/packages/bundle-utils/src/ts.ts b/packages/bundle-utils/src/ts.ts new file mode 100644 index 00000000..4b104e72 --- /dev/null +++ b/packages/bundle-utils/src/ts.ts @@ -0,0 +1,36 @@ +/** + * Code generator for i18n ts resource + * + * An async wrapper for the js generator which transforms ts to js before generating + */ + +import { transform } from 'esbuild' +import { Node } from 'estree' +import { CodeGenOptions, CodeGenResult } from './codegen' +import { DEFAULT_OPTIONS, generate as generateJavaScript } from './js' + +/** + * @internal + */ +export async function generate( + targetSource: string | Buffer, + options: CodeGenOptions +): Promise> { + let value = Buffer.isBuffer(targetSource) + ? targetSource.toString() + : targetSource + + const _options = Object.assign({}, DEFAULT_OPTIONS, options, { + source: value + }) + if (_options.filename && /.[c|m]?ts$/.test(_options.filename)) { + const transformed = await transform(value, { loader: 'ts' }) + + if (transformed && transformed.code) { + value = transformed.code + _options.source = transformed.code + } + } + + return generateJavaScript(value, _options) +} diff --git a/packages/bundle-utils/src/yaml.ts b/packages/bundle-utils/src/yaml.ts index 487dcfc8..354b382d 100644 --- a/packages/bundle-utils/src/yaml.ts +++ b/packages/bundle-utils/src/yaml.ts @@ -3,6 +3,11 @@ */ import { isString } from '@intlify/shared' +import { + getStaticYAMLValue, + parseYAML, + traverseNodes +} from 'yaml-eslint-parser' import { createCodeGenerator, excludeLocales, @@ -10,19 +15,14 @@ import { generateResourceAst, mapLinesColumns } from './codegen' -import { - parseYAML, - traverseNodes, - getStaticYAMLValue -} from 'yaml-eslint-parser' import type { RawSourceMap } from 'source-map' -import type { YAMLProgram, YAMLNode } from 'yaml-eslint-parser/lib/ast' +import type { YAMLNode, YAMLProgram } from 'yaml-eslint-parser/lib/ast' import type { - CodeGenOptions, CodeGenerator, - CodeGenResult, - CodeGenFunction + CodeGenFunction, + CodeGenOptions, + CodeGenResult } from './codegen' /** @@ -93,7 +93,7 @@ export function generate( const { code, map } = generator.context() // prettier-ignore const newMap = map - ? mapLinesColumns((map as any).toJSON(), codeMaps, inSourceMap) || null + ? mapLinesColumns((map as any).toJSON(), codeMaps, inSourceMap) || null : null return { ast, @@ -114,36 +114,46 @@ function _generate( const codeMaps = new Map() const { type, sourceMap, isGlobal, locale, jit } = options - const codegenFn: CodeGenFunction = jit + const _codegenFn: CodeGenFunction = jit ? generateResourceAst : generateMessageFunction + function codegenFn(value: string) { + const { code, map } = _codegenFn(value, options, pathStack) + sourceMap && map != null && codeMaps.set(value, map) + return code + } + const componentNamespace = '_Component' traverseNodes(node, { enterNode(node: YAMLNode, parent: YAMLNode) { + if (parent?.type === 'YAMLSequence') { + const lastIndex = itemsCountStack.length - 1 + const currentCount = parent.entries.length - itemsCountStack[lastIndex] + pathStack.push(currentCount.toString()) + itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] + } else if (parent?.type === 'YAMLMapping') { + const lastIndex = propsCountStack.length - 1 + propsCountStack[lastIndex] = --propsCountStack[lastIndex] + } + switch (node.type) { case 'Program': if (type === 'plain') { generator.push(`const resource = `) } else if (type === 'sfc') { - const variableName = - type === 'sfc' ? (!isGlobal ? '__i18n' : '__i18nGlobal') : '' - const localeName = - type === 'sfc' ? (locale != null ? locale : `""`) : '' - const exportSyntax = 'export default' - generator.push(`${exportSyntax} function (Component) {`) + const variableName = !isGlobal ? '__i18n' : '__i18nGlobal' + const localeName = JSON.stringify(locale ?? `""`) + generator.push(`export default function (Component) {`) generator.indent() - const componentVariable = `Component` - generator.pushline( - `const ${componentNamespace} = ${componentVariable}` - ) + generator.pushline(`const ${componentNamespace} = Component`) generator.pushline( `${componentNamespace}.${variableName} = ${componentNamespace}.${variableName} || []` ) generator.push(`${componentNamespace}.${variableName}.push({`) generator.indent() - generator.pushline(`"locale": ${JSON.stringify(localeName)},`) + generator.pushline(`"locale": ${localeName},`) generator.push(`"resource": `) } break @@ -151,94 +161,48 @@ function _generate( generator.push(`{`) generator.indent() propsCountStack.push(node.pairs.length) - if (parent.type === 'YAMLSequence') { - const lastIndex = itemsCountStack.length - 1 - const currentCount = - parent.entries.length - itemsCountStack[lastIndex] - pathStack.push(currentCount.toString()) - itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] - } + break + case 'YAMLSequence': + generator.push(`[`) + generator.indent() + itemsCountStack.push(node.entries.length) break case 'YAMLPair': - if ( - node.value && - node.value.type === 'YAMLScalar' && - node.key && - node.key.type === 'YAMLScalar' - ) { + if (node.key?.type !== 'YAMLScalar') break + if (node.value?.type === 'YAMLScalar') { const name = node.key.value const value = node.value.value + const strName = JSON.stringify(name) + const strValue = JSON.stringify(value) + name && pathStack.push(name.toString()) + generator.push(`${strName}: `) if (isString(value)) { - generator.push(`${JSON.stringify(name)}: `) - name && pathStack.push(name.toString()) - const { code, map } = codegenFn(value, options, pathStack) - sourceMap && map != null && codeMaps.set(value, map) - generator.push(`${code}`, node.value, value) + generator.push(codegenFn(value), node.value, value) + } else if (forceStringify) { + generator.push(codegenFn(strValue), node.value, strValue) } else { - if (forceStringify) { - const strValue = JSON.stringify(value) - generator.push(`${JSON.stringify(name)}: `) - name && pathStack.push(name.toString()) - const { code, map } = codegenFn(strValue, options, pathStack) - sourceMap && map != null && codeMaps.set(strValue, map) - generator.push(`${code}`, node.value, strValue) - } else { - generator.push( - `${JSON.stringify(name)}: ${JSON.stringify(value)}` - ) - name && pathStack.push(name.toString()) - } + generator.push(strValue) } } else if ( - node.value && - (node.value.type === 'YAMLMapping' || - node.value.type === 'YAMLSequence') && - node.key && - node.key.type === 'YAMLScalar' + node.value?.type === 'YAMLMapping' || + node.value?.type === 'YAMLSequence' ) { const name = node.key.value - generator.push(`${JSON.stringify(name)}: `) name && pathStack.push(name.toString()) + generator.push(`${JSON.stringify(name)}: `) } - const lastIndex = propsCountStack.length - 1 - propsCountStack[lastIndex] = --propsCountStack[lastIndex] - break - case 'YAMLSequence': - generator.push(`[`) - generator.indent() - if (parent.type === 'YAMLSequence') { - const lastIndex = itemsCountStack.length - 1 - const currentCount = - parent.entries.length - itemsCountStack[lastIndex] - pathStack.push(currentCount.toString()) - itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] - } - itemsCountStack.push(node.entries.length) break case 'YAMLScalar': if (parent.type === 'YAMLSequence') { - const lastIndex = itemsCountStack.length - 1 - const currentCount = - parent.entries.length - itemsCountStack[lastIndex] - pathStack.push(currentCount.toString()) - if (node.type === 'YAMLScalar') { - const value = node.value - if (isString(value)) { - const { code, map } = codegenFn(value, options, pathStack) - sourceMap && map != null && codeMaps.set(value, map) - generator.push(`${code}`, node, value) - } else { - if (forceStringify) { - const strValue = JSON.stringify(value) - const { code, map } = codegenFn(strValue, options, pathStack) - sourceMap && map != null && codeMaps.set(strValue, map) - generator.push(`${code}`, node, strValue) - } else { - generator.push(`${JSON.stringify(value)}`) - } - } + const value = node.value + const strValue = JSON.stringify(value) + if (isString(value)) { + generator.push(codegenFn(value), node, value) + } else if (forceStringify) { + generator.push(codegenFn(strValue), node, strValue) + } else { + generator.push(strValue) } - itemsCountStack[lastIndex] = --itemsCountStack[lastIndex] } break default: @@ -265,18 +229,6 @@ function _generate( } generator.deindent() generator.push(`}`) - if (parent.type === 'YAMLSequence') { - if (itemsCountStack[itemsCountStack.length - 1] !== 0) { - pathStack.pop() - generator.pushline(`,`) - } - } - break - case 'YAMLPair': - if (propsCountStack[propsCountStack.length - 1] !== 0) { - pathStack.pop() - generator.pushline(`,`) - } break case 'YAMLSequence': if (itemsCountStack[itemsCountStack.length - 1] === 0) { @@ -285,26 +237,22 @@ function _generate( } generator.deindent() generator.push(`]`) - if (parent.type === 'YAMLSequence') { - if (itemsCountStack[itemsCountStack.length - 1] !== 0) { - pathStack.pop() - generator.pushline(`,`) - } - } - break - case 'YAMLScalar': - if (parent.type === 'YAMLSequence') { - if (itemsCountStack[itemsCountStack.length - 1] !== 0) { - pathStack.pop() - generator.pushline(`,`) - } else { - generator.pushline(`,`) - } - } break default: break } + + // if not last obj property or array value + const stackArr = + node.type === 'YAMLPair' ? propsCountStack : itemsCountStack + if (parent?.type === 'YAMLSequence' || parent?.type === 'YAMLMapping') { + if (stackArr[stackArr.length - 1] !== 0) { + pathStack.pop() + generator.pushline(`,`) + } else if (node.type === 'YAMLScalar') { + generator.pushline(`,`) + } + } } }) diff --git a/packages/bundle-utils/test/generator/__snapshots__/js.test.ts.snap b/packages/bundle-utils/test/generator/__snapshots__/js.test.ts.snap index c9983d35..b145e3e8 100644 --- a/packages/bundle-utils/test/generator/__snapshots__/js.test.ts.snap +++ b/packages/bundle-utils/test/generator/__snapshots__/js.test.ts.snap @@ -214,12 +214,10 @@ exports[`array basic > code 1`] = ` "resource": { "foo": [ [ - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["bar"])};fn.source="bar";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["bar"])};fn.source="bar";return fn;})() ], [ - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["baz"])};fn.source="baz";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["baz"])};fn.source="baz";return fn;})() ] ] } @@ -254,14 +252,12 @@ exports[`array mixed > code 1`] = ` { "foo": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["foo"])};fn.source="foo";return fn;})() }, - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["hoge"])};fn.source="hoge";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["hoge"])};fn.source="hoge";return fn;})() ] ], (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["baz"])};fn.source="baz";return fn;})(), [ - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["buz"])};fn.source="buz";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["buz"])};fn.source="buz";return fn;})() ] ] } @@ -295,7 +291,8 @@ exports[`bare > map 1`] = ` `; exports[`complex > code 1`] = ` -"const resource = { +"const val1 = 1 +const resource = { "hi": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["hi there!"])};fn.source="hi there!";return fn;})(), "nested": { "hello": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["hello world!"])};fn.source="hello world!";return fn;})(), @@ -314,8 +311,7 @@ exports[`complex > code 1`] = ` "backslash-backslash": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["\\\\\\\\"])};fn.source="\\\\\\\\";return fn;})(), "errors": [ (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["ERROR1001"])};fn.source="ERROR1001";return fn;})(), - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["ERROR1002"])};fn.source="ERROR1002";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["ERROR1002"])};fn.source="ERROR1002";return fn;})() ], "complex": { "warnings": [ @@ -339,24 +335,24 @@ exports[`complex > map 1`] = ` `; exports[`force stringify > code 1`] = ` -"const resource = { +"const val1 = 'hello' +const resource = { "trueValue": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["true"])};fn.source="true";return fn;})(), "falseValue": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["false"])};fn.source="false";return fn;})(), "nullValue": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["null"])};fn.source="null";return fn;})(), "numberValue": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["1"])};fn.source="1";return fn;})(), - "funcValue1": function () { -}, - "funcValue2": () => { -}, + "funcValue1": function(){}, + "funcValue2": ()=>{}, + "identifier": val1, "items": [ (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["null"])};fn.source="null";return fn;})(), (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["1"])};fn.source="1";return fn;})(), { + "identifier": val1, "nullValue": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["null"])};fn.source="null";return fn;})(), "numberValue": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["1"])};fn.source="1";return fn;})(), - }, - + } ] } export default resource" @@ -397,8 +393,8 @@ exports[`include function > code 1`] = ` "const resource = { "hello": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["hello"])};fn.source="hello";return fn;})(), "pagination": { - "pages": ({named}) => \`\${ named('number') }/page\`, - "total": ({named}) => \`\${ named('number') } records in total\` + "pages": ({named})=>\`\${named('number')}/page\`, + "total": ({named})=>\`\${named('number')} records in total\` }, "foo": { "bar": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["bar"])};fn.source="bar";return fn;})() @@ -543,24 +539,24 @@ exports[`simple > map 1`] = ` `; exports[`unhandling > code 1`] = ` -"const resource = { +"const val1 = 'hello' +const resource = { "trueValue": true, "falseValue": false, "nullValue": null, "numberValue": 1, - "funcValue1": function () { -}, - "funcValue2": () => { -}, + "funcValue1": function(){}, + "funcValue2": ()=>{}, + "identifier": val1, "items": [ null, 1, { + "identifier": val1, "nullValue": null, "numberValue": 1, - }, - + } ] } export default resource" diff --git a/packages/bundle-utils/test/generator/__snapshots__/js1.test.ts.snap b/packages/bundle-utils/test/generator/__snapshots__/js1.test.ts.snap index cd9ffc05..7893a1fb 100644 --- a/packages/bundle-utils/test/generator/__snapshots__/js1.test.ts.snap +++ b/packages/bundle-utils/test/generator/__snapshots__/js1.test.ts.snap @@ -1,11 +1,14 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`import > code 1`] = ` -"const resource = { - \\"foo\\": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize([\\"foo\\"])};fn.source=\\"foo\\";return fn;})(), - \\"nest\\": { - \\"bar\\": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize([\\"bar\\"])};fn.source=\\"bar\\";return fn;})(), - +"import mod1 from './module1' +import { mod2 } from './module2' +const resource = { + "foo": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["foo"])};fn.source="foo";return fn;})(), + "mod1": mod1, + "nest": { + "bar": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["bar"])};fn.source="bar";return fn;})(), + "mod2": mod2 } } export default resource" diff --git a/packages/bundle-utils/test/generator/__snapshots__/json.test.ts.snap b/packages/bundle-utils/test/generator/__snapshots__/json.test.ts.snap index 148043d5..7856cb8b 100644 --- a/packages/bundle-utils/test/generator/__snapshots__/json.test.ts.snap +++ b/packages/bundle-utils/test/generator/__snapshots__/json.test.ts.snap @@ -9,12 +9,10 @@ exports[`AST code generation > array basic > code 1`] = ` "resource": { "foo": [ [ - {"type":0,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3},"source":"bar"},"body":{"type":2,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}},"items":[{"type":3,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}}}],"static":"bar"}}, - + {"type":0,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3},"source":"bar"},"body":{"type":2,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}},"items":[{"type":3,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}}}],"static":"bar"}} ], [ - {"type":0,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3},"source":"baz"},"body":{"type":2,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}},"items":[{"type":3,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}}}],"static":"baz"}}, - + {"type":0,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3},"source":"baz"},"body":{"type":2,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}},"items":[{"type":3,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}}}],"static":"baz"}} ] ] } @@ -42,14 +40,12 @@ exports[`AST code generation > array mixed > code 1`] = ` { "foo": {"type":0,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3},"source":"foo"},"body":{"type":2,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}},"items":[{"type":3,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}}}],"static":"foo"}} }, - {"type":0,"start":0,"end":4,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":5,"offset":4},"source":"hoge"},"body":{"type":2,"start":0,"end":4,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":5,"offset":4}},"items":[{"type":3,"start":0,"end":4,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":5,"offset":4}}}],"static":"hoge"}}, - + {"type":0,"start":0,"end":4,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":5,"offset":4},"source":"hoge"},"body":{"type":2,"start":0,"end":4,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":5,"offset":4}},"items":[{"type":3,"start":0,"end":4,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":5,"offset":4}}}],"static":"hoge"}} ] ], {"type":0,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3},"source":"baz"},"body":{"type":2,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}},"items":[{"type":3,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}}}],"static":"baz"}}, [ - {"type":0,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3},"source":"buz"},"body":{"type":2,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}},"items":[{"type":3,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}}}],"static":"buz"}}, - + {"type":0,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3},"source":"buz"},"body":{"type":2,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}},"items":[{"type":3,"start":0,"end":3,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":4,"offset":3}}}],"static":"buz"}} ] ] } @@ -85,8 +81,7 @@ exports[`AST code generation > complex > code 1`] = ` "backslash-backslash": {"type":0,"start":0,"end":2,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":3,"offset":2},"source":"\\\\\\\\"},"body":{"type":2,"start":0,"end":2,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":3,"offset":2}},"items":[{"type":3,"start":0,"end":2,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":3,"offset":2}}}],"static":"\\\\\\\\"}}, "errors": [ {"type":0,"start":0,"end":9,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":10,"offset":9},"source":"ERROR1001"},"body":{"type":2,"start":0,"end":9,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":10,"offset":9}},"items":[{"type":3,"start":0,"end":9,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":10,"offset":9}}}],"static":"ERROR1001"}}, - {"type":0,"start":0,"end":9,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":10,"offset":9},"source":"ERROR1002"},"body":{"type":2,"start":0,"end":9,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":10,"offset":9}},"items":[{"type":3,"start":0,"end":9,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":10,"offset":9}}}],"static":"ERROR1002"}}, - + {"type":0,"start":0,"end":9,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":10,"offset":9},"source":"ERROR1002"},"body":{"type":2,"start":0,"end":9,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":10,"offset":9}},"items":[{"type":3,"start":0,"end":9,"loc":{"start":{"line":1,"column":1,"offset":0},"end":{"line":1,"column":10,"offset":9}}}],"static":"ERROR1002"}} ], "complex": { "warnings": [ @@ -267,12 +262,10 @@ exports[`code generation > array basic > code 1`] = ` "resource": { "foo": [ [ - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["bar"])};fn.source="bar";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["bar"])};fn.source="bar";return fn;})() ], [ - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["baz"])};fn.source="baz";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["baz"])};fn.source="baz";return fn;})() ] ] } @@ -318,14 +311,12 @@ exports[`code generation > array mixed > code 1`] = ` { "foo": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["foo"])};fn.source="foo";return fn;})() }, - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["hoge"])};fn.source="hoge";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["hoge"])};fn.source="hoge";return fn;})() ] ], (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["baz"])};fn.source="baz";return fn;})(), [ - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["buz"])};fn.source="buz";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["buz"])};fn.source="buz";return fn;})() ] ] } @@ -416,8 +407,7 @@ exports[`code generation > complex > code 1`] = ` "backslash-backslash": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["\\\\\\\\"])};fn.source="\\\\\\\\";return fn;})(), "errors": [ (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["ERROR1001"])};fn.source="ERROR1001";return fn;})(), - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["ERROR1002"])};fn.source="ERROR1002";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["ERROR1002"])};fn.source="ERROR1002";return fn;})() ], "complex": { "warnings": [ diff --git a/packages/bundle-utils/test/generator/__snapshots__/json5.test.ts.snap b/packages/bundle-utils/test/generator/__snapshots__/json5.test.ts.snap index d6f50e4a..781c46d1 100644 --- a/packages/bundle-utils/test/generator/__snapshots__/json5.test.ts.snap +++ b/packages/bundle-utils/test/generator/__snapshots__/json5.test.ts.snap @@ -19,8 +19,7 @@ exports[`AST code generation > code 1`] = ` "backslash-backslash": {"t":0,"b":{"t":2,"i":[{"t":3}],"s":"\\\\\\\\"}}, "errors": [ {"t":0,"b":{"t":2,"i":[{"t":3}],"s":"ERROR1001"}}, - {"t":0,"b":{"t":2,"i":[{"t":3}],"s":"ERROR1002"}}, - + {"t":0,"b":{"t":2,"i":[{"t":3}],"s":"ERROR1002"}} ], "complex": { "warnings": [ @@ -53,8 +52,7 @@ exports[`json5 > code 1`] = ` "backslash-backslash": (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["\\\\\\\\"])};fn.source="\\\\\\\\";return fn;})(), "errors": [ (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["ERROR1001"])};fn.source="ERROR1001";return fn;})(), - (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["ERROR1002"])};fn.source="ERROR1002";return fn;})(), - + (()=>{const fn=(ctx) => {const { normalize: _normalize } = ctx;return _normalize(["ERROR1002"])};fn.source="ERROR1002";return fn;})() ], "complex": { "warnings": [ diff --git a/packages/bundle-utils/test/generator/js1.test.ts b/packages/bundle-utils/test/generator/js1.test.ts new file mode 100644 index 00000000..6bef2e95 --- /dev/null +++ b/packages/bundle-utils/test/generator/js1.test.ts @@ -0,0 +1,13 @@ +import { readFile } from '../utils' +import { generate } from '../../src/js' + +test('import', async () => { + const { source } = await readFile('./fixtures/codegen/import.js') + const { code, map } = generate(source, { + sourceMap: true, + env: 'development' + }) + + expect(code).toMatchSnapshot('code') + expect(map).toMatchSnapshot('map') +}) diff --git a/packages/bundle-utils/test/generator/yaml.test.ts b/packages/bundle-utils/test/generator/yaml.test.ts index 5d527835..5a87be90 100644 --- a/packages/bundle-utils/test/generator/yaml.test.ts +++ b/packages/bundle-utils/test/generator/yaml.test.ts @@ -1,6 +1,7 @@ -import { readFile } from '../utils' import { generate } from '../../src/yaml' +import { readFile } from '../utils' ;['yaml', 'yml'].forEach(format => { + // eslint-disable-next-line vitest/valid-title test(format, async () => { const { source } = await readFile(`./fixtures/codegen/complex.${format}`) const { code, map } = generate(source, { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9c6ab28..7a9bb91a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -203,6 +203,9 @@ importers: acorn: specifier: ^8.8.2 version: 8.12.0 + esbuild: + specifier: ^0.25.4 + version: 0.25.4 escodegen: specifier: ^2.1.0 version: 2.1.0 @@ -212,9 +215,6 @@ importers: jsonc-eslint-parser: specifier: ^2.3.0 version: 2.4.0 - mlly: - specifier: ^1.2.0 - version: 1.7.1 source-map-js: specifier: ^1.0.1 version: 1.2.0 From 81189b04d2076db72fcf6cf03a5b2168d4ac5f5a Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Mon, 19 May 2025 02:46:40 +0900 Subject: [PATCH 06/10] fix: hook filter & module type implementation --- examples/vite/vite.config.ts | 2 +- package.json | 2 +- .../bundle-utils/test/generator/yaml.test.ts | 1 - packages/unplugin-vue-i18n/package.json | 4 +- .../unplugin-vue-i18n/src/core/resource.ts | 352 ++---------- packages/unplugin-vue-i18n/test/utils.ts | 10 +- .../vite/__snapshots__/sourcemap.test.ts.snap | 14 +- .../translation-directive.test.ts.snap | 533 ++++++++---------- .../test/vite/resource-compilation.test.ts | 2 +- .../__snapshots__/sourcemap.test.ts.snap | 14 +- .../test/webpack/resource-compilation.test.ts | 7 + pnpm-lock.yaml | 367 ++++++------ vitest.e2e.config.ts | 3 + 13 files changed, 516 insertions(+), 795 deletions(-) diff --git a/examples/vite/vite.config.ts b/examples/vite/vite.config.ts index 02c70314..ce46d02e 100644 --- a/examples/vite/vite.config.ts +++ b/examples/vite/vite.config.ts @@ -1,4 +1,4 @@ -import path from 'path' +import path from 'node:path' import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import vueI18n from '../../packages/unplugin-vue-i18n/src/vite' diff --git a/package.json b/package.json index 6ce8f766..17d2b5c4 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "vue-loader17": "npm:vue-loader@17.4.2", "vue-template-compiler": "^2.6.14", "vue2": "npm:vue@^2.6.14", - "webpack": "^5.88.2", + "webpack": "^5.99.8", "webpack-cli": "^5.1.4", "webpack-dev-server": "^4.15.1", "webpack-merge": "^5.9.0" diff --git a/packages/bundle-utils/test/generator/yaml.test.ts b/packages/bundle-utils/test/generator/yaml.test.ts index 5a87be90..8ff48e3d 100644 --- a/packages/bundle-utils/test/generator/yaml.test.ts +++ b/packages/bundle-utils/test/generator/yaml.test.ts @@ -1,7 +1,6 @@ import { generate } from '../../src/yaml' import { readFile } from '../utils' ;['yaml', 'yml'].forEach(format => { - // eslint-disable-next-line vitest/valid-title test(format, async () => { const { source } = await readFile(`./fixtures/codegen/complex.${format}`) const { code, map } = generate(source, { diff --git a/packages/unplugin-vue-i18n/package.json b/packages/unplugin-vue-i18n/package.json index e3f6eccd..1412f7a9 100644 --- a/packages/unplugin-vue-i18n/package.json +++ b/packages/unplugin-vue-i18n/package.json @@ -25,8 +25,8 @@ }, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@intlify/bundle-utils": "^10.0.1", - "@intlify/shared": "^11.1.2", + "@intlify/bundle-utils": "12.0.0-alpha.2", + "@intlify/shared": "12.0.0-alpha.2", "@intlify/vue-i18n-extensions": "^8.0.0", "@rollup/pluginutils": "^5.1.0", "@typescript-eslint/scope-manager": "^8.13.0", diff --git a/packages/unplugin-vue-i18n/src/core/resource.ts b/packages/unplugin-vue-i18n/src/core/resource.ts index dd833559..2e6bf4f6 100644 --- a/packages/unplugin-vue-i18n/src/core/resource.ts +++ b/packages/unplugin-vue-i18n/src/core/resource.ts @@ -1,5 +1,6 @@ import { generateJavaScript, + generateTypescript, generateJSON, generateYAML } from '@intlify/bundle-utils' @@ -27,11 +28,14 @@ import { } from '../utils' import { getVueCompiler, parseVueRequest } from '../vue' -import type { CodeGenOptions, DevEnv } from '@intlify/bundle-utils' +import type { + CodeGenOptions, + DevEnv, + CodeGenResult +} from '@intlify/bundle-utils' import type { RawSourceMap } from 'source-map-js' import type { RollupPlugin, - TransformResult, UnpluginContextMeta, UnpluginOptions } from 'unplugin' @@ -45,9 +49,9 @@ const RE_INTLIFY_BUNDLE_IMPORT_ID = new RegExp(`^${INTLIFY_BUNDLE_IMPORT_ID}$`) const RE_VIRTUAL_PREFIXED_INTLIFY_BUNDLE_IMPORT_ID = new RegExp( `^${VIRTUAL_PREFIX}${INTLIFY_BUNDLE_IMPORT_ID}$` ) -// const RE_RESOURCE_FORMAT = /\.(json5?|ya?ml)$/ -const RE_RESOURCE_FORMAT = /\.(json5?|ya?ml|[c|m]?js)$/ +const RE_RESOURCE_FORMAT = /\.(json5?|ya?ml|[c|m]?[j|t]s)$/ const RE_SFC_I18N_CUSTOM_BLOCK = /\?vue&type=i18n/ +const RE_SFC_I18N_WEBPACK_CUSTOM_BLOCK = /blockType=i18n/ const debug = createDebug(resolveNamespace('resource')) @@ -72,16 +76,20 @@ export function resourcePlugin( }: ResolvedOptions, meta: UnpluginContextMeta ): UnpluginOptions { - const filter = createFilter(include, exclude) function resolveInclude() { + const customBlockInclude = + meta.framework === 'vite' + ? RE_SFC_I18N_CUSTOM_BLOCK + : RE_SFC_I18N_WEBPACK_CUSTOM_BLOCK if (isArray(include)) { - return [...include, RE_SFC_I18N_CUSTOM_BLOCK] + return [...include, customBlockInclude] } else if (isString(include)) { - return [include, RE_SFC_I18N_CUSTOM_BLOCK] + return [include, customBlockInclude] } else { - return [RE_RESOURCE_FORMAT, RE_SFC_I18N_CUSTOM_BLOCK] + return [RE_RESOURCE_FORMAT, customBlockInclude] } } + const filter = createFilter(resolveInclude(), exclude) const getVueI18nAliasPath = ({ ssr = false, runtimeOnly = false }) => { return `${module}/dist/${module}${runtimeOnly ? '.runtime' : ''}.${ !ssr ? 'esm-bundler.js' /* '.mjs' */ : 'node.mjs' @@ -151,123 +159,6 @@ export function resourcePlugin( debug( `configResolved: isProduction = ${isProduction}, sourceMap = ${sourceMap}` ) - - /** - * NOTE(kazupon): - * For the native rolldown plugin, we need to change to another solution from the current workaround. - * Currently, the rolldown team and vite team are discussing this issue. - * https://github.com/vitejs/rolldown-vite/issues/120 - */ - - // json transform handling - // const jsonPlugin = getVitePlugin(config, 'vite:json') - // if (jsonPlugin) { - // // saving `vite:json` plugin instance - // const orgTransform = - // 'handler' in jsonPlugin.transform! - // ? jsonPlugin.transform!.handler - // : jsonPlugin.transform! - - // // override json transform - // async function overrideJson(code: string, id: string) { - // if (!/\.json$/.test(id) || filter(id)) { - // return - // } - - // /** - // * NOTE(kazupon): - // * `vite:json` plugin will be handled if the query generated from the result of parse SFC - // * with `vite:vue` plugin contains json as follows. - // * e.g src/components/HelloI18n.vue?vue&type=i18n&index=1&lang.json - // * - // * To avoid this, return the result that has already been processed (`enforce: 'pre'`) in the wrapped json plugin. - // */ - // const { query } = parseVueRequest(id) - // if (query.vue) { - // return - // } - - // debug('org json plugin') - // // @ts-expect-error - // return orgTransform.apply(this, [code, id]) - // } - - // /** - // * NOTE(kazupon): - // * We need to override the transform function of the `vite:json` plugin for `transform` and `transform.handler`. - // * ref: https://github.com/vitejs/vite/pull/19878/files#diff-2cfbd4f4d8c32727cd8e1a561cffbde0b384a3ce0789340440e144f9d64c10f6R1086-R1088 - // */ - // if ('handler' in jsonPlugin.transform!) { - // jsonPlugin.transform.handler = overrideJson - // } - // jsonPlugin.transform = overrideJson - // } - - /** - * typescript transform handling - * - * NOTE: - * Typescript resources are handled using the already existing `vite:esbuild` plugin. - */ - // const esbuildPlugin = getVitePlugin(config, 'vite:esbuild') - // if (esbuildPlugin) { - // const orgTransform = esbuildPlugin.transform // backup @rollup/plugin-json - // // @ts-ignore - // esbuildPlugin.transform = async function (code: string, id: string) { - // // @ts-expect-error - // const result = (await orgTransform!.apply(this, [ - // code, - // id - // ])) as TransformResult - // if (result == null) { - // return result - // } - - // const { filename, query } = parseVueRequest(id) - // if (!query.vue && filter(id) && /\.[c|m]?ts$/.test(id)) { - // const [_code, inSourceMap]: [string, RawSourceMap | undefined] = - // isString(result) - // ? [result, undefined] - // : [result.code, result.map as RawSourceMap] - - // let langInfo = defaultSFCLang - // langInfo = parsePath(filename) - // .ext as Required['defaultSFCLang'] - - // const generate = getGenerator(langInfo) - // const parseOptions = getOptions( - // filename, - // isProduction, - // query as Record, - // sourceMap, - // { - // inSourceMap, - // isGlobal: globalSFCScope, - // allowDynamic, - // strictMessage, - // escapeHtml, - // jit: true, - // onlyLocales, - // forceStringify - // } - // ) as CodeGenOptions - // debug('parseOptions', parseOptions) - - // const { code: generatedCode, map } = generate(_code, parseOptions) - // debug('generated code', generatedCode) - // debug('sourcemap', map, sourceMap) - - // if (_code === generatedCode) return - - // return { - // code: generatedCode, - // map: { mappings: '' } - // } - // } else { - // return result - // } - // } - // } }, async handleHotUpdate({ file, server }) { @@ -338,14 +229,6 @@ export function resourcePlugin( // HMR for webpack }, - /* - resolveId(id: string, importer: string) { - debug('resolveId', id, importer) - if (id === INTLIFY_BUNDLE_IMPORT_ID) { - return asVirtualId(id, meta.framework) - } - }, - */ resolveId: { filter: { id: RE_INTLIFY_BUNDLE_IMPORT_ID @@ -355,39 +238,6 @@ export function resourcePlugin( } }, - /* - async load(id: string) { - debug('load', id) - if ( - INTLIFY_BUNDLE_IMPORT_ID === getVirtualId(id, meta.framework) && - include - ) { - let resourcePaths = [] as string[] - const includePaths = isArray(include) ? include : [include] - for (const inc of includePaths) { - resourcePaths = [...resourcePaths, ...(await fg(inc))] - } - resourcePaths = resourcePaths.filter( - (el, pos) => resourcePaths.indexOf(el) === pos - ) - const code = await generateBundleResources( - resourcePaths, - isProduction, - { - forceStringify, - strictMessage, - escapeHtml - } - ) - // TODO: support virtual import identifier - // for virtual import identifier (@intlify/unplugin-vue-i18n/messages) - return { - code, - map: { mappings: '' } - } - } - }, - */ load: { filter: { id: RE_VIRTUAL_PREFIXED_INTLIFY_BUNDLE_IMPORT_ID @@ -426,22 +276,6 @@ export function resourcePlugin( } }, - /* - transformInclude(id) { - debug('transformInclude', id) - if (meta.framework === 'vite') { - return true - } else { - const { filename } = parseVueRequest(id) - return ( - filename.endsWith('vue') || - filename.endsWith(INTLIFY_BUNDLE_IMPORT_ID) || - (/\.(json5?|ya?ml)$/.test(filename) && filter(filename)) - ) - } - }, - */ - transform: { filter: { id: { @@ -479,7 +313,10 @@ export function resourcePlugin( ) as CodeGenOptions debug('parseOptions', parseOptions) - const { code: generatedCode, map } = generate(code, parseOptions) + const { code: generatedCode, map } = await generate( + code, + parseOptions + ) debug('generated code', generatedCode) debug('sourcemap', map, sourceMap) @@ -553,6 +390,7 @@ export function resourcePlugin( if (code === generatedCode) return return { + moduleType: 'js', code: generatedCode, // prettier-ignore map: { mappings: '' } @@ -561,136 +399,32 @@ export function resourcePlugin( } } } + } satisfies UnpluginOptions +} - /* - async transform(code, id) { - const { filename, query } = parseVueRequest(id) - debug('transform', id, JSON.stringify(query), filename) - - let langInfo = defaultSFCLang - let inSourceMap: RawSourceMap | undefined - - if (!query.vue) { - if (/\.(json5?|ya?ml|[c|m]?js)$/.test(id) && filter(id)) { - langInfo = parsePath(filename) - .ext as Required['defaultSFCLang'] - - const generate = getGenerator(langInfo) - const parseOptions = getOptions( - filename, - isProduction, - query as Record, - sourceMap, - { - inSourceMap, - isGlobal: globalSFCScope, - allowDynamic, - strictMessage, - escapeHtml, - jit: true, - onlyLocales, - forceStringify - } - ) as CodeGenOptions - debug('parseOptions', parseOptions) - - const { code: generatedCode, map } = generate(code, parseOptions) - debug('generated code', generatedCode) - debug('sourcemap', map, sourceMap) - - if (code === generatedCode) return - - return { - code: generatedCode, - // prettier-ignore - map: { mappings: '' } - } - } else { - // TODO: support virtual import identifier - // for virtual import identifier (@intlify/unplugin-vue-i18n/messages) - } - } else { - // for Vue SFC - if (isCustomBlock(query)) { - if (isString(query.lang)) { - langInfo = ( - query.src - ? query.lang === 'i18n' - ? defaultSFCLang - : query.lang - : query.lang - ) as Required['defaultSFCLang'] - } else if (defaultSFCLang) { - langInfo = defaultSFCLang - } - debug('langInfo', langInfo) - - const generate = /\.?json5?/.test(langInfo) - ? generateJSON - : generateYAML - - const parseOptions = getOptions( - filename, - isProduction, - query as Record, - sourceMap, - { - inSourceMap, - isGlobal: globalSFCScope, - jit: true, - strictMessage, - escapeHtml, - onlyLocales, - forceStringify - } - ) as CodeGenOptions - debug('parseOptions', parseOptions) - - let source = await getCode( - code, - filename, - sourceMap, - query, - getSfcParser(), - meta.framework - ) +type GeneratorLike = ( + source: string | Buffer, + options: CodeGenOptions +) => Promise> | CodeGenResult - if (typeof transformI18nBlock === 'function') { - const modifiedSource = transformI18nBlock(source) - if (modifiedSource && typeof modifiedSource === 'string') { - source = modifiedSource - } else { - warn('transformI18nBlock should return a string') - } - } +function getGenerator(ext: string, fallback: GeneratorLike = generateJSON) { + if (/\.?json5?$/.test(ext)) { + return generateJSON + } - const { code: generatedCode, map } = generate(source, parseOptions) - debug('generated code', generatedCode) - debug('sourcemap', map, sourceMap) + if (/\.ya?ml$/.test(ext)) { + return generateYAML + } - if (code === generatedCode) return + if (/\.[c|m]?js$/.test(ext)) { + return generateJavaScript + } - return { - code: generatedCode, - // prettier-ignore - map: { mappings: '' } - } - } - } - } - */ - } satisfies UnpluginOptions -} + if (/\.[c|m]?ts$/.test(ext)) { + return generateTypescript + } -function getGenerator(ext: string, defaultGen = generateJSON) { - // prettier-ignore - return /\.?json5?$/.test(ext) - ? generateJSON - : /\.ya?ml$/.test(ext) - ? generateYAML - : /\.([c|m]?js|[c|m]?ts)$/.test(ext) - ? generateJavaScript - : defaultGen + return fallback } function normalizeConfigResolveAlias( @@ -840,8 +574,8 @@ function isCustomBlock(query: VueQuery): boolean { return ( !isEmptyObject(query) && 'vue' in query && - (query['type'] === 'custom' || // for vite (@vite-plugin-vue) - query['type'] === 'i18n' || // for webpack (vue-loader) + (query['type'] === 'custom' || // for webpack (vue-loader) + query['type'] === 'i18n' || // for vite (@vite/plugin-vue) query['blockType'] === 'i18n') // for webpack (vue-loader) ) } diff --git a/packages/unplugin-vue-i18n/test/utils.ts b/packages/unplugin-vue-i18n/test/utils.ts index 8780a6db..dd135b94 100644 --- a/packages/unplugin-vue-i18n/test/utils.ts +++ b/packages/unplugin-vue-i18n/test/utils.ts @@ -5,7 +5,7 @@ import { JSDOM, VirtualConsole } from 'jsdom' import memoryfs from 'memory-fs' import { resolve } from 'pathe' import { build } from 'vite' -import { VueLoaderPlugin } from 'vue-loader' +import { VueLoaderPlugin } from 'vue-loader17' import webpack from 'webpack' import merge from 'webpack-merge' import vitePlugin from '../src/vite' @@ -107,7 +107,10 @@ export function bundleWebpack( const input = (options.input as string) || './fixtures/entry.js' const target = (options.target as string) || './fixtures' const include = (options.include as string[]) || [ - resolve(__dirname, './fixtures/**') + resolve(__dirname, './fixtures/*.{json,yaml,yml,json5,js,ts}') + ] + const exclude = (options.exclude as string[]) || [ + resolve(__dirname, './fixtures/entry.[jt]s') ] const sourcemap = isBoolean(options.sourcemap) || true @@ -132,7 +135,7 @@ export function bundleWebpack( } ] }, - plugins: [new VueLoader(), webpackPlugin({ include, ...options })] + plugins: [new VueLoader(), webpackPlugin({ include, exclude, ...options })] } // @ts-ignore @@ -149,6 +152,7 @@ export function bundleWebpack( return reject(err) } if (stats.hasErrors()) { + console.log(stats.toJson().errors) return reject(new Error(stats.toJson().errors.join(' | '))) } resolve({ diff --git a/packages/unplugin-vue-i18n/test/vite/__snapshots__/sourcemap.test.ts.snap b/packages/unplugin-vue-i18n/test/vite/__snapshots__/sourcemap.test.ts.snap index 887a8185..18252ade 100644 --- a/packages/unplugin-vue-i18n/test/vite/__snapshots__/sourcemap.test.ts.snap +++ b/packages/unplugin-vue-i18n/test/vite/__snapshots__/sourcemap.test.ts.snap @@ -1,15 +1,15 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`custom blocks: json 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,SAAS;AAChB,SAAO,UAAU;AACnB;"`; +exports[`custom blocks: json 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEGA,WAAW,WAAW,aAAa;AACjC,QAAO,SAAS;AAChB,QAAO,UAAU;AAClB"`; -exports[`custom blocks: json5 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,SAAS;AAChB,SAAO,UAAU;AACnB;"`; +exports[`custom blocks: json5 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEGA,WAAW,WAAW,aAAa;AACjC,QAAO,SAAS;AAChB,QAAO,UAAU;AAClB"`; -exports[`custom blocks: yaml 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,SAAS;AAChB,SAAO,UAAU;AACnB;"`; +exports[`custom blocks: yaml 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AGGA,WAAW,WAAW,aAAa;AACjC,QAAO,SAAS;AAChB,QAAO,UAAU;AAClB"`; -exports[`custom blocks: yml 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,SAAS;AAChB,SAAO,UAAU;AACnB;"`; +exports[`custom blocks: yml 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEGA,WAAW,WAAW,aAAa;AACjC,QAAO,SAAS;AAChB,QAAO,UAAU;AAClB"`; -exports[`resource files: json 1`] = `";;;;;;;;;;;;;;;;;AAGA,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,SAASA;AAChB,SAAO,UAAU;AACnB;"`; +exports[`resource files: json 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGA,WAAW,WAAW,aAAa;AACjC,QAAO,SAAS;AAChB,QAAO,UAAU;AAClB"`; -exports[`resource files: json5 1`] = `";;;;;;;AAGA,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,SAASA;AAChB,SAAO,UAAU;AACnB;"`; +exports[`resource files: json5 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGA,WAAW,WAAW,aAAa;AACjC,QAAO,SAAS;AAChB,QAAO,UAAU;AAClB"`; -exports[`resource files: yaml 1`] = `";;;;;;;AAGA,IAAI,OAAO,WAAW,aAAa;AACjC,SAAO,SAASA;AAChB,SAAO,UAAU;AACnB;"`; +exports[`resource files: yaml 1`] = `";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGA,WAAW,WAAW,aAAa;AACjC,QAAO,SAAS;AAChB,QAAO,UAAU;AAClB"`; diff --git a/packages/unplugin-vue-i18n/test/vite/__snapshots__/translation-directive.test.ts.snap b/packages/unplugin-vue-i18n/test/vite/__snapshots__/translation-directive.test.ts.snap index 38ea1239..7bfc8e41 100644 --- a/packages/unplugin-vue-i18n/test/vite/__snapshots__/translation-directive.test.ts.snap +++ b/packages/unplugin-vue-i18n/test/vite/__snapshots__/translation-directive.test.ts.snap @@ -2,351 +2,312 @@ exports[`translation directive > script-setup-alias 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.translation || _ctx.$t)("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.translation("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.translation || _ctx.$t)("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.translation("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > script-setup-global-option 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.t || _ctx.$t)("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.t || _ctx.$t)("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > script-setup-local-option 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.t || _ctx.$t)("count", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.t || _ctx.$t)("count", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > script-setup-no-option 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.t || _ctx.$t)("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.t || _ctx.$t)("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > script-setup-no-use 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString(_ctx.$t("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString($setup.count), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString(_ctx.$t("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString($setup.count), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > script-setup-obj 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.i18n.t || _ctx.$t)("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.i18n.t("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.i18n.t || _ctx.$t)("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.i18n.t("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > setup-alias 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.translation || _ctx.$t)("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.translation("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.translation || _ctx.$t)("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.translation("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > setup-global-option 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.t || _ctx.$t)("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.t || _ctx.$t)("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > setup-local-option 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.t || _ctx.$t)("count", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.t || _ctx.$t)("count", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > setup-no-option 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.t || _ctx.$t)("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.t || _ctx.$t)("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.t("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > setup-no-use 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString(_ctx.$t("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString($setup.count), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString(_ctx.$t("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString($setup.count), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > setup-return-alias 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.translation || _ctx.$t)("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.translation("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.translation || _ctx.$t)("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.translation("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; exports[`translation directive > setup-return-alias-with-obj 1`] = ` "function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { - return openBlock(), createElementBlock( - Fragment, - null, - [ - createBaseVNode( - "h1", - null, - toDisplayString$1(($setup.translation || _ctx.$t)("hello", {}, {})), - 1 - /* TEXT */ - ), - createBaseVNode( - "p", - null, - toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.translation("hello")), - 1 - /* TEXT */ - ) - ], - 64 - /* STABLE_FRAGMENT */ - ); + return openBlock(), createElementBlock( + Fragment, + null, + [createBaseVNode( + "h1", + null, + toDisplayString$1(($setup.translation || _ctx.$t)("hello", {}, {})), + 1 + /* TEXT */ +), createBaseVNode( + "p", + null, + toDisplayString$1($setup.count) + " " + toDisplayString$1($setup.translation("hello")), + 1 + /* TEXT */ +)], + 64 + /* STABLE_FRAGMENT */ +); }" `; diff --git a/packages/unplugin-vue-i18n/test/vite/resource-compilation.test.ts b/packages/unplugin-vue-i18n/test/vite/resource-compilation.test.ts index d6d5f138..344c4ca2 100644 --- a/packages/unplugin-vue-i18n/test/vite/resource-compilation.test.ts +++ b/packages/unplugin-vue-i18n/test/vite/resource-compilation.test.ts @@ -56,7 +56,7 @@ test('js resource', async () => { expect(fn(createMessageContext({ named: { n: 3 } }))).toEqual(`3 apples`) }) -test.only('ts resource', async () => { +test('ts resource', async () => { const { module } = await bundleAndRun('en-GB.ts', bundleVite, options) const fn = compile(module.message, {} as MessageCompilerContext) // expect(fn.source).toEqual(`@.caml:{'no apples'} | {0} apple | {n} apples`) diff --git a/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap b/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap index b09a4297..f5277138 100644 --- a/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap +++ b/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap @@ -1,15 +1,15 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`custom blocks: json 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAuE;AACvE,WAAW,yFAAM,iBAAiB,6FAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: json 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAuE;AACvE,WAAW,yFAAM,iBAAiB,6FAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`custom blocks: json5 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAkF;AAClF,WAAW,oGAAM,iBAAiB,wGAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: json5 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAkF;AAClF,WAAW,oGAAM,iBAAiB,wGAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`custom blocks: yaml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEViE;AACjE;AACA;AACA,CAA0F;AAC1F,WAAW,4GAAM,iBAAiB,gHAAM;AACxC,CAAyF;AACzF,WAAW,2GAAM,iBAAiB,+GAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,2EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC7Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC5Z;AACA,GAAG;AACH;;;;;;;;;;;;;;ACTA,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,sBAAsB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,kCAAkC;AACnZ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: yaml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEViE;AACjE;AACA;AACA,CAA0F;AAC1F,WAAW,4GAAM,iBAAiB,gHAAM;AACxC,CAAyF;AACzF,WAAW,2GAAM,iBAAiB,+GAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,2EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC7Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC5Z;AACA,GAAG;AACH;;;;;;;;;;;;;;ACTA,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,sBAAsB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,kCAAkC;AACnZ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`custom blocks: yml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVgE;AAChE;AACA;AACA,CAA8E;AAC9E,WAAW,gGAAM,iBAAiB,oGAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,0EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACzpD;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: yml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVgE;AAChE;AACA;AACA,CAA8E;AAC9E,WAAW,gGAAM,iBAAiB,oGAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,0EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACzpD;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`resource files: json 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE,GAAG;AACxpD;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,kBAAkB,KAAK,GAAG,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,kBAAkB,EAAE,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,cAAc,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,aAAa;AACrrB,GAAG;AACH;AACA,KAAK,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,oBAAoB;AACrZ;AACA;AACA,cAAc,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC;AAC1Y;AACA;AACA;AACA,iEAAe;;;;;;UCbf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`resource files: json 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE,GAAG;AACxpD;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,kBAAkB,KAAK,GAAG,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,kBAAkB,EAAE,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,cAAc,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,aAAa;AACrrB,GAAG;AACH;AACA,KAAK,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,oBAAoB;AACrZ;AACA;AACA,cAAc,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC;AAC1Y;AACA;AACA;AACA,iEAAe;;;;;;UCbf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`resource files: json5 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`resource files: json5 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`resource files: yaml 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`resource files: yaml 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; diff --git a/packages/unplugin-vue-i18n/test/webpack/resource-compilation.test.ts b/packages/unplugin-vue-i18n/test/webpack/resource-compilation.test.ts index 2d44c213..4fa71d83 100644 --- a/packages/unplugin-vue-i18n/test/webpack/resource-compilation.test.ts +++ b/packages/unplugin-vue-i18n/test/webpack/resource-compilation.test.ts @@ -42,3 +42,10 @@ test('yml resource', async () => { // expect(fn.source).toEqual(`@.caml:{'no apples'} | {0} apple | {n} apples`) expect(fn(createMessageContext({ named: { n: 3 } }))).toEqual(`3 apples`) }) + +test('ts resource', async () => { + const { module } = await bundleAndRun('en-GB.ts', bundleWebpack, options) + const fn = compile(module.message, {} as MessageCompilerContext) + // expect(fn.source).toEqual(`@.caml:{'no apples'} | {0} apple | {n} apples`) + expect(fn(createMessageContext({ named: { n: 3 } }))).toEqual(`3 apples`) +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a9bb91a..5a27ca45 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -82,7 +82,7 @@ importers: version: 3.4.29 babel-loader: specifier: ^8.2.2 - version: 8.3.0(@babel/core@7.24.7)(webpack@5.92.0) + version: 8.3.0(@babel/core@7.24.7)(webpack@5.99.8) chalk: specifier: ^5.3.0 version: 5.3.0 @@ -166,13 +166,13 @@ importers: version: 11.1.2(vue@3.4.29(typescript@5.6.3)) vue-loader: specifier: ^16.3.0 - version: 16.8.3(@vue/compiler-sfc@3.4.29)(vue@3.4.29(typescript@5.6.3))(webpack@5.92.0) + version: 16.8.3(@vue/compiler-sfc@3.4.29)(vue@3.4.29(typescript@5.6.3))(webpack@5.99.8) vue-loader15: specifier: npm:vue-loader@15.11.1 - version: vue-loader@15.11.1(@vue/compiler-sfc@3.4.29)(css-loader@7.1.2(webpack@5.92.0))(lodash@4.17.21)(prettier@3.3.2)(vue-template-compiler@2.7.16)(webpack@5.92.0) + version: vue-loader@15.11.1(@vue/compiler-sfc@3.4.29)(css-loader@7.1.2(webpack@5.99.8))(lodash@4.17.21)(prettier@3.3.2)(vue-template-compiler@2.7.16)(webpack@5.99.8) vue-loader17: specifier: npm:vue-loader@17.4.2 - version: vue-loader@17.4.2(@vue/compiler-sfc@3.4.29)(vue@3.4.29(typescript@5.6.3))(webpack@5.92.0) + version: vue-loader@17.4.2(@vue/compiler-sfc@3.4.29)(vue@3.4.29(typescript@5.6.3))(webpack@5.99.8) vue-template-compiler: specifier: ^2.6.14 version: 2.7.16 @@ -180,14 +180,14 @@ importers: specifier: npm:vue@^2.6.14 version: vue@2.7.16 webpack: - specifier: ^5.88.2 - version: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + specifier: ^5.99.8 + version: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) webpack-cli: specifier: ^5.1.4 - version: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) + version: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.99.8) webpack-dev-server: specifier: ^4.15.1 - version: 4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.92.0) + version: 4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.99.8) webpack-merge: specifier: ^5.9.0 version: 5.10.0 @@ -199,7 +199,7 @@ importers: version: 11.1.2 '@intlify/shared': specifier: ^11.1.2 - version: 11.1.2 + version: 11.1.3 acorn: specifier: ^8.8.2 version: 8.12.0 @@ -238,14 +238,14 @@ importers: specifier: ^4.4.0 version: 4.4.0(eslint@9.14.0(jiti@2.4.2)) '@intlify/bundle-utils': - specifier: ^10.0.1 - version: 10.0.1(petite-vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3)))(vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3))) + specifier: 12.0.0-alpha.2 + version: 12.0.0-alpha.2(petite-vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3)))(vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3))) '@intlify/shared': - specifier: ^11.1.2 - version: 11.1.2 + specifier: 12.0.0-alpha.2 + version: 12.0.0-alpha.2 '@intlify/vue-i18n-extensions': specifier: ^8.0.0 - version: 8.0.0(@intlify/shared@11.1.2)(@vue/compiler-dom@3.4.29)(vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3)))(vue@3.4.29(typescript@5.6.3)) + version: 8.0.0(@intlify/shared@12.0.0-alpha.2)(@vue/compiler-dom@3.4.29)(vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3)))(vue@3.4.29(typescript@5.6.3)) '@rollup/pluginutils': specifier: ^5.1.0 version: 5.1.0(rollup@4.36.0) @@ -1046,9 +1046,9 @@ packages: resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} engines: {node: '>=18.18'} - '@intlify/bundle-utils@10.0.1': - resolution: {integrity: sha512-WkaXfSevtpgtUR4t8K2M6lbR7g03mtOxFeh+vXp5KExvPqS12ppaRj1QxzwRuRI5VUto54A22BjKoBMLyHILWQ==} - engines: {node: '>= 18'} + '@intlify/bundle-utils@12.0.0-alpha.2': + resolution: {integrity: sha512-uvyRs+D3gMnWHAzfRj636FeTDj5HXiIR+IQ9CA1NpHQ9RDR8h1tnM/675K5oNI9octZuyh3/IGWEOBQIA+gzDA==} + engines: {node: '>= 20'} peerDependencies: petite-vue-i18n: '*' vue-i18n: '*' @@ -1070,6 +1070,10 @@ packages: resolution: {integrity: sha512-T/xbNDzi+Yv0Qn2Dfz2CWCAJiwNgU5d95EhhAEf4YmOgjCKktpfpiUSmLcBvK1CtLpPQ85AMMQk/2NCcXnNj1g==} engines: {node: '>= 16'} + '@intlify/message-compiler@12.0.0-alpha.2': + resolution: {integrity: sha512-PD9C+oQbb7BF52hec0+vLnScaFkvnfX+R7zSbODYuRo/E2niAtGmHd0wPvEMsDhf9Z9b8f/qyDsVeZnD/ya9Ug==} + engines: {node: '>= 16'} + '@intlify/message-compiler@9.13.1': resolution: {integrity: sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==} engines: {node: '>= 16'} @@ -1078,6 +1082,14 @@ packages: resolution: {integrity: sha512-dF2iMMy8P9uKVHV/20LA1ulFLL+MKSbfMiixSmn6fpwqzvix38OIc7ebgnFbBqElvghZCW9ACtzKTGKsTGTWGA==} engines: {node: '>= 16'} + '@intlify/shared@11.1.3': + resolution: {integrity: sha512-pTFBgqa/99JRA2H1qfyqv97MKWJrYngXBA/I0elZcYxvJgcCw3mApAoPW3mJ7vx3j+Ti0FyKUFZ4hWxdjKaxvA==} + engines: {node: '>= 16'} + + '@intlify/shared@12.0.0-alpha.2': + resolution: {integrity: sha512-P2DULVX9nz3y8zKNqLw9Es1aAgQ1JGC+kgpx5q7yLmrnAKkPR5MybQWoEhxanefNJgUY5ehsgo+GKif59SrncA==} + engines: {node: '>= 16'} + '@intlify/shared@9.13.1': resolution: {integrity: sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==} engines: {node: '>= 16'} @@ -2175,50 +2187,50 @@ packages: '@vue/shared@3.4.29': resolution: {integrity: sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==} - '@webassemblyjs/ast@1.12.1': - resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} - '@webassemblyjs/floating-point-hex-parser@1.11.6': - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} - '@webassemblyjs/helper-api-error@1.11.6': - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} - '@webassemblyjs/helper-buffer@1.12.1': - resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} - '@webassemblyjs/helper-numbers@1.11.6': - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} - '@webassemblyjs/helper-wasm-bytecode@1.11.6': - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} - '@webassemblyjs/helper-wasm-section@1.12.1': - resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} - '@webassemblyjs/ieee754@1.11.6': - resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} - '@webassemblyjs/leb128@1.11.6': - resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} - '@webassemblyjs/utf8@1.11.6': - resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} - '@webassemblyjs/wasm-edit@1.12.1': - resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} - '@webassemblyjs/wasm-gen@1.12.1': - resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} - '@webassemblyjs/wasm-opt@1.12.1': - resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} - '@webassemblyjs/wasm-parser@1.12.1': - resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} - '@webassemblyjs/wast-printer@1.12.1': - resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} '@webpack-cli/configtest@2.1.1': resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} @@ -2258,11 +2270,6 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn-import-attributes@1.9.5: - resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} - peerDependencies: - acorn: ^8 - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -3215,8 +3222,8 @@ packages: encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - enhanced-resolve@5.17.0: - resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} engines: {node: '>=10.13.0'} enquirer@2.4.1: @@ -5717,14 +5724,14 @@ packages: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} engines: {node: '>= 8.9.0'} - schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} - schema-utils@4.2.0: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} + schema-utils@4.3.2: + resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} + engines: {node: '>= 10.13.0'} + scslre@0.3.0: resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} engines: {node: ^14.0.0 || >=16.0.0} @@ -6041,8 +6048,8 @@ packages: resolution: {integrity: sha512-7dPUZQGy/+m3/wjVz3ZW5dobSoD/02NxJpoXUX0WIyjfVS3l0c+b/+9phIDFA7FHzkYtwtMFgeGZ/Y8jVTeqQQ==} engines: {node: '>=4'} - terser-webpack-plugin@5.3.10: - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + terser-webpack-plugin@5.3.14: + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -6540,8 +6547,8 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.92.0: - resolution: {integrity: sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==} + webpack@5.99.8: + resolution: {integrity: sha512-lQ3CPiSTpfOnrEGeXDwoq5hIGzSjmwD72GdfVzF7CQAI7t47rJG9eDWvcEkEn3CUQymAElVvDg3YNTlCYj+qUQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -7228,15 +7235,15 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} - '@intlify/bundle-utils@10.0.1(petite-vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3)))(vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3)))': + '@intlify/bundle-utils@12.0.0-alpha.2(petite-vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3)))(vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3)))': dependencies: - '@intlify/message-compiler': 11.1.2 - '@intlify/shared': 11.1.2 - acorn: 8.14.0 + '@intlify/message-compiler': 12.0.0-alpha.2 + '@intlify/shared': 12.0.0-alpha.2 + acorn: 8.14.1 + esbuild: 0.25.4 escodegen: 2.1.0 estree-walker: 2.0.2 jsonc-eslint-parser: 2.4.0 - mlly: 1.7.1 source-map-js: 1.2.1 yaml-eslint-parser: 1.2.3 optionalDependencies: @@ -7258,6 +7265,11 @@ snapshots: '@intlify/shared': 11.1.2 source-map-js: 1.2.1 + '@intlify/message-compiler@12.0.0-alpha.2': + dependencies: + '@intlify/shared': 12.0.0-alpha.2 + source-map-js: 1.2.1 + '@intlify/message-compiler@9.13.1': dependencies: '@intlify/shared': 9.13.1 @@ -7265,6 +7277,10 @@ snapshots: '@intlify/shared@11.1.2': {} + '@intlify/shared@11.1.3': {} + + '@intlify/shared@12.0.0-alpha.2': {} + '@intlify/shared@9.13.1': {} '@intlify/vue-devtools@9.13.1': @@ -7272,11 +7288,11 @@ snapshots: '@intlify/core-base': 9.13.1 '@intlify/shared': 9.13.1 - '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.2)(@vue/compiler-dom@3.4.29)(vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3)))(vue@3.4.29(typescript@5.6.3))': + '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@12.0.0-alpha.2)(@vue/compiler-dom@3.4.29)(vue-i18n@9.13.1(vue@3.4.29(typescript@5.6.3)))(vue@3.4.29(typescript@5.6.3))': dependencies: '@babel/parser': 7.24.7 optionalDependencies: - '@intlify/shared': 11.1.2 + '@intlify/shared': 12.0.0-alpha.2 '@vue/compiler-dom': 3.4.29 vue: 3.4.29(typescript@5.6.3) vue-i18n: 9.13.1(vue@3.4.29(typescript@5.6.3)) @@ -7908,7 +7924,7 @@ snapshots: '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/eslint@9.6.1': dependencies: @@ -8059,7 +8075,7 @@ snapshots: dependencies: '@types/node': 20.14.5 tapable: 2.2.1 - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) transitivePeerDependencies: - '@swc/core' - esbuild @@ -8336,98 +8352,98 @@ snapshots: '@vue/shared@3.4.29': {} - '@webassemblyjs/ast@1.12.1': + '@webassemblyjs/ast@1.14.1': dependencies: - '@webassemblyjs/helper-numbers': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/floating-point-hex-parser@1.11.6': {} + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - '@webassemblyjs/helper-api-error@1.11.6': {} + '@webassemblyjs/helper-api-error@1.13.2': {} - '@webassemblyjs/helper-buffer@1.12.1': {} + '@webassemblyjs/helper-buffer@1.14.1': {} - '@webassemblyjs/helper-numbers@1.11.6': + '@webassemblyjs/helper-numbers@1.13.2': dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.6 - '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 '@xtuc/long': 4.2.2 - '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} - '@webassemblyjs/helper-wasm-section@1.12.1': + '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/ieee754@1.11.6': + '@webassemblyjs/ieee754@1.13.2': dependencies: '@xtuc/ieee754': 1.2.0 - '@webassemblyjs/leb128@1.11.6': + '@webassemblyjs/leb128@1.13.2': dependencies: '@xtuc/long': 4.2.2 - '@webassemblyjs/utf8@1.11.6': {} + '@webassemblyjs/utf8@1.13.2': {} - '@webassemblyjs/wasm-edit@1.12.1': + '@webassemblyjs/wasm-edit@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-opt': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wast-printer': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 - '@webassemblyjs/wasm-gen@1.12.1': + '@webassemblyjs/wasm-gen@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - '@webassemblyjs/wasm-opt@1.12.1': + '@webassemblyjs/wasm-opt@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wasm-parser@1.12.1': + '@webassemblyjs/wasm-parser@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-api-error': 1.11.6 - '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/ieee754': 1.11.6 - '@webassemblyjs/leb128': 1.11.6 - '@webassemblyjs/utf8': 1.11.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - '@webassemblyjs/wast-printer@1.12.1': + '@webassemblyjs/wast-printer@1.14.1': dependencies: - '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.92.0)': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.99.8)': dependencies: - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.99.8) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.92.0)': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.99.8)': dependencies: - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.99.8) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.92.0)': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.99.8)': dependencies: - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.99.8) optionalDependencies: - webpack-dev-server: 4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.92.0) + webpack-dev-server: 4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.99.8) '@xtuc/ieee754@1.2.0': {} @@ -8440,10 +8456,6 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-import-attributes@1.9.5(acorn@8.12.0): - dependencies: - acorn: 8.12.0 - acorn-jsx@5.3.2(acorn@8.12.0): dependencies: acorn: 8.12.0 @@ -8649,14 +8661,14 @@ snapshots: possible-typed-array-names: 1.0.0 optional: true - babel-loader@8.3.0(@babel/core@7.24.7)(webpack@5.92.0): + babel-loader@8.3.0(@babel/core@7.24.7)(webpack@5.99.8): dependencies: '@babel/core': 7.24.7 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) balanced-match@1.0.2: {} @@ -9020,7 +9032,7 @@ snapshots: dependencies: postcss: 8.5.3 - css-loader@7.1.2(webpack@5.92.0): + css-loader@7.1.2(webpack@5.99.8): dependencies: icss-utils: 5.1.0(postcss@8.5.3) postcss: 8.5.3 @@ -9031,7 +9043,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.2 optionalDependencies: - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) css-select@5.1.0: dependencies: @@ -9318,7 +9330,7 @@ snapshots: iconv-lite: 0.6.3 optional: true - enhanced-resolve@5.17.0: + enhanced-resolve@5.18.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -9581,7 +9593,7 @@ snapshots: dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0 - enhanced-resolve: 5.17.0 + enhanced-resolve: 5.18.1 eslint: 9.14.0(jiti@2.4.0) eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.4.0)) fast-glob: 3.3.2 @@ -12351,13 +12363,14 @@ snapshots: ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - schema-utils@3.3.0: + schema-utils@4.2.0: dependencies: '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) + ajv: 8.16.0 + ajv-formats: 2.1.1(ajv@8.16.0) + ajv-keywords: 5.1.0(ajv@8.16.0) - schema-utils@4.2.0: + schema-utils@4.3.2: dependencies: '@types/json-schema': 7.0.15 ajv: 8.16.0 @@ -12737,21 +12750,21 @@ snapshots: dependencies: execa: 0.7.0 - terser-webpack-plugin@5.3.10(esbuild@0.25.4)(webpack@5.92.0): + terser-webpack-plugin@5.3.14(esbuild@0.25.4)(webpack@5.99.8): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 - schema-utils: 3.3.0 + schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.31.1 - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) optionalDependencies: esbuild: 0.25.4 terser@5.31.1: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 + acorn: 8.14.1 commander: 2.20.3 source-map-support: 0.5.21 @@ -13210,15 +13223,15 @@ snapshots: '@vue/devtools-api': 6.6.3 vue: 3.4.29(typescript@5.6.3) - vue-loader@15.11.1(@vue/compiler-sfc@3.4.29)(css-loader@7.1.2(webpack@5.92.0))(lodash@4.17.21)(prettier@3.3.2)(vue-template-compiler@2.7.16)(webpack@5.92.0): + vue-loader@15.11.1(@vue/compiler-sfc@3.4.29)(css-loader@7.1.2(webpack@5.99.8))(lodash@4.17.21)(prettier@3.3.2)(vue-template-compiler@2.7.16)(webpack@5.99.8): dependencies: '@vue/component-compiler-utils': 3.3.0(lodash@4.17.21) - css-loader: 7.1.2(webpack@5.92.0) + css-loader: 7.1.2(webpack@5.99.8) hash-sum: 1.0.2 loader-utils: 1.4.2 vue-hot-reload-api: 2.3.4 vue-style-loader: 4.1.3 - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) optionalDependencies: '@vue/compiler-sfc': 3.4.29 prettier: 3.3.2 @@ -13278,22 +13291,22 @@ snapshots: - walrus - whiskers - vue-loader@16.8.3(@vue/compiler-sfc@3.4.29)(vue@3.4.29(typescript@5.6.3))(webpack@5.92.0): + vue-loader@16.8.3(@vue/compiler-sfc@3.4.29)(vue@3.4.29(typescript@5.6.3))(webpack@5.99.8): dependencies: chalk: 4.1.2 hash-sum: 2.0.0 loader-utils: 2.0.4 - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) optionalDependencies: '@vue/compiler-sfc': 3.4.29 vue: 3.4.29(typescript@5.6.3) - vue-loader@17.4.2(@vue/compiler-sfc@3.4.29)(vue@3.4.29(typescript@5.6.3))(webpack@5.92.0): + vue-loader@17.4.2(@vue/compiler-sfc@3.4.29)(vue@3.4.29(typescript@5.6.3))(webpack@5.99.8): dependencies: chalk: 4.1.2 hash-sum: 2.0.0 watchpack: 2.4.1 - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) optionalDependencies: '@vue/compiler-sfc': 3.4.29 vue: 3.4.29(typescript@5.6.3) @@ -13340,12 +13353,12 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0): + webpack-cli@5.1.4(webpack-dev-server@4.15.2)(webpack@5.99.8): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.92.0) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.92.0) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.92.0) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.99.8) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.99.8) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@4.15.2)(webpack@5.99.8) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -13354,21 +13367,21 @@ snapshots: import-local: 3.1.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) webpack-merge: 5.10.0 optionalDependencies: - webpack-dev-server: 4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.92.0) + webpack-dev-server: 4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.99.8) - webpack-dev-middleware@5.3.4(webpack@5.92.0): + webpack-dev-middleware@5.3.4(webpack@5.99.8): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) - webpack-dev-server@4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.92.0): + webpack-dev-server@4.15.2(debug@4.3.5)(webpack-cli@5.1.4)(webpack@5.99.8): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -13398,11 +13411,11 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.92.0) + webpack-dev-middleware: 5.3.4(webpack@5.99.8) ws: 8.17.1 optionalDependencies: - webpack: 5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4) - webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) + webpack: 5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.99.8) transitivePeerDependencies: - bufferutil - debug @@ -13419,18 +13432,18 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.92.0(esbuild@0.25.4)(webpack-cli@5.1.4): + webpack@5.99.8(esbuild@0.25.4)(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.12.0 - acorn-import-attributes: 1.9.5(acorn@8.12.0) - browserslist: 4.23.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.14.1 + browserslist: 4.24.5 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.17.0 + enhanced-resolve: 5.18.1 es-module-lexer: 1.5.3 eslint-scope: 5.1.1 events: 3.3.0 @@ -13440,13 +13453,13 @@ snapshots: loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 3.3.0 + schema-utils: 4.3.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.25.4)(webpack@5.92.0) + terser-webpack-plugin: 5.3.14(esbuild@0.25.4)(webpack@5.99.8) watchpack: 2.4.1 webpack-sources: 3.2.3 optionalDependencies: - webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.92.0) + webpack-cli: 5.1.4(webpack-dev-server@4.15.2)(webpack@5.99.8) transitivePeerDependencies: - '@swc/core' - esbuild diff --git a/vitest.e2e.config.ts b/vitest.e2e.config.ts index a88cb3be..bc212087 100644 --- a/vitest.e2e.config.ts +++ b/vitest.e2e.config.ts @@ -1,4 +1,7 @@ import { UserConfig } from 'vitest/config' +import path from 'node:path' + +const __dirname = path.dirname(new URL('.', import.meta.url).pathname) export default { test: { From bc4148703ec15f6f1354335763fc471317b03ebe Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Mon, 19 May 2025 02:56:45 +0900 Subject: [PATCH 07/10] fix --- .../webpack/__snapshots__/sourcemap.test.ts.snap | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap b/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap index f5277138..b09a4297 100644 --- a/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap +++ b/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap @@ -1,15 +1,15 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`custom blocks: json 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAuE;AACvE,WAAW,yFAAM,iBAAiB,6FAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: json 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAuE;AACvE,WAAW,yFAAM,iBAAiB,6FAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`custom blocks: json5 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAkF;AAClF,WAAW,oGAAM,iBAAiB,wGAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: json5 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAkF;AAClF,WAAW,oGAAM,iBAAiB,wGAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`custom blocks: yaml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEViE;AACjE;AACA;AACA,CAA0F;AAC1F,WAAW,4GAAM,iBAAiB,gHAAM;AACxC,CAAyF;AACzF,WAAW,2GAAM,iBAAiB,+GAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,2EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC7Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC5Z;AACA,GAAG;AACH;;;;;;;;;;;;;;ACTA,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,sBAAsB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,kCAAkC;AACnZ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: yaml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEViE;AACjE;AACA;AACA,CAA0F;AAC1F,WAAW,4GAAM,iBAAiB,gHAAM;AACxC,CAAyF;AACzF,WAAW,2GAAM,iBAAiB,+GAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,2EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC7Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC5Z;AACA,GAAG;AACH;;;;;;;;;;;;;;ACTA,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,sBAAsB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,kCAAkC;AACnZ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`custom blocks: yml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVgE;AAChE;AACA;AACA,CAA8E;AAC9E,WAAW,gGAAM,iBAAiB,oGAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,0EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACzpD;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: yml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVgE;AAChE;AACA;AACA,CAA8E;AAC9E,WAAW,gGAAM,iBAAiB,oGAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,0EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACzpD;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`resource files: json 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE,GAAG;AACxpD;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,kBAAkB,KAAK,GAAG,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,kBAAkB,EAAE,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,cAAc,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,aAAa;AACrrB,GAAG;AACH;AACA,KAAK,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,oBAAoB;AACrZ;AACA;AACA,cAAc,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC;AAC1Y;AACA;AACA;AACA,iEAAe;;;;;;UCbf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`resource files: json 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE,GAAG;AACxpD;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,kBAAkB,KAAK,GAAG,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,kBAAkB,EAAE,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,cAAc,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,aAAa;AACrrB,GAAG;AACH;AACA,KAAK,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,oBAAoB;AACrZ;AACA;AACA,cAAc,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC;AAC1Y;AACA;AACA;AACA,iEAAe;;;;;;UCbf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`resource files: json5 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`resource files: json5 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`resource files: yaml 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`resource files: yaml 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; From aca9b1e939bd747ccb5cc125092bc17529bbe6a6 Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Mon, 19 May 2025 02:58:30 +0900 Subject: [PATCH 08/10] fix --- .../webpack/__snapshots__/sourcemap.test.ts.snap | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap b/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap index b09a4297..f5277138 100644 --- a/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap +++ b/packages/unplugin-vue-i18n/test/webpack/__snapshots__/sourcemap.test.ts.snap @@ -1,15 +1,15 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`custom blocks: json 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAuE;AACvE,WAAW,yFAAM,iBAAiB,6FAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: json 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAuE;AACvE,WAAW,yFAAM,iBAAiB,6FAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`custom blocks: json5 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAkF;AAClF,WAAW,oGAAM,iBAAiB,wGAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: json5 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVkE;AAClE;AACA;AACA,CAAkF;AAClF,WAAW,oGAAM,iBAAiB,wGAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,4EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC9Z;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;UEXA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`custom blocks: yaml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEViE;AACjE;AACA;AACA,CAA0F;AAC1F,WAAW,4GAAM,iBAAiB,gHAAM;AACxC,CAAyF;AACzF,WAAW,2GAAM,iBAAiB,+GAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,2EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC7Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC5Z;AACA,GAAG;AACH;;;;;;;;;;;;;;ACTA,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,sBAAsB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,kCAAkC;AACnZ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: yaml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEViE;AACjE;AACA;AACA,CAA0F;AAC1F,WAAW,4GAAM,iBAAiB,gHAAM;AACxC,CAAyF;AACzF,WAAW,2GAAM,iBAAiB,+GAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,2EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC7Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,yBAAyB,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,mCAAmC;AAC5Z;AACA,GAAG;AACH;;;;;;;;;;;;;;ACTA,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,gBAAgB,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,sBAAsB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,kCAAkC;AACnZ;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`custom blocks: yml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVgE;AAChE;AACA;AACA,CAA8E;AAC9E,WAAW,gGAAM,iBAAiB,oGAAM;;;AAGxC,CAAgO;AAChO,iCAAiC,2OAAe,oBAAoB,0EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACzpD;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`custom blocks: yml 1`] = `";;;;;;;;;;AAAa;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA,kBAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEVgE;AAChE;AACA;AACA,CAA8E;AAC9E,WAAW,gGAAM,iBAAiB,oGAAM;;;AAGxC,CAA8O;AAC9O,iCAAiC,yPAAe,oBAAoB,0EAAM;AAC1E;AACA,IAAI,KAAU,EAAE,EAcf;;;AAGD,iEAAe;;;;;;;;;;;;;;AC3Bf,6BAAe,oCAAU;AACzB;AACA;AACA;AACA;AACA;AACA,kBAAkB,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACzpD;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;UETA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`resource files: json 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE,GAAG;AACxpD;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,kBAAkB,KAAK,GAAG,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,kBAAkB,EAAE,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,cAAc,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,aAAa;AACrrB,GAAG;AACH;AACA,KAAK,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,oBAAoB;AACrZ;AACA;AACA,cAAc,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC;AAC1Y;AACA;AACA;AACA,iEAAe;;;;;;UCbf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`resource files: json 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE,GAAG;AACxpD;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,kBAAkB,KAAK,GAAG,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,kBAAkB,EAAE,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,cAAc,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,aAAa;AACrrB,GAAG;AACH;AACA,KAAK,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC,oBAAoB;AACrZ;AACA;AACA,cAAc,kCAAkC,SAAS,+BAA+B,QAAQ,+BAA+B,kBAAkB,SAAS,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,WAAW,kCAAkC,SAAS,+BAA+B,QAAQ,iCAAiC;AAC1Y;AACA;AACA;AACA,iEAAe;;;;;;UCbf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`resource files: json5 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`resource files: json5 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; -exports[`resource files: yaml 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; +exports[`resource files: yaml 1`] = `";;;;;;;;;;;;;;AAAA;AACA,cAAc,mCAAmC,SAAS,+BAA+B,QAAQ,iCAAiC,mBAAmB,uBAAuB,GAAG,GAAG,SAAS,GAAG,QAAQ,SAAS,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,WAAW,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,aAAa,kCAAkC,SAAS,+BAA+B,QAAQ,gCAAgC,gBAAgB,QAAQ,mCAAmC,SAAS,+BAA+B,QAAQ,kCAAkC,sBAAsB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,kBAAkB,EAAE,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,WAAW,EAAE,oCAAoC,SAAS,iCAAiC,QAAQ,kCAAkC,mBAAmB,EAAE;AACrpD;AACA,iEAAe;;;;;;UCHf;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;ACN+B;AACG;;AAElC;AACA,kBAAkB,+CAAS;AAC3B,mBAAmB,oCAAO;AAC1B;;AAEA,iEAAe,+CAAS"`; From 7cb39b960786f910bc8c3eabfcb49fe7a1453fba Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Mon, 19 May 2025 08:16:06 +0900 Subject: [PATCH 09/10] fix: tweak unit test --- packages/unplugin-vue-i18n/test/vite/sourcemap.test.ts | 4 +++- packages/unplugin-vue-i18n/test/webpack/sourcemap.test.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/unplugin-vue-i18n/test/vite/sourcemap.test.ts b/packages/unplugin-vue-i18n/test/vite/sourcemap.test.ts index 512a8849..92f8e412 100644 --- a/packages/unplugin-vue-i18n/test/vite/sourcemap.test.ts +++ b/packages/unplugin-vue-i18n/test/vite/sourcemap.test.ts @@ -1,5 +1,5 @@ import { resolve } from 'pathe' -import { expect, test } from 'vitest' +import { expect, test as _test } from 'vitest' import { bundleVite, bundleAndRun } from '../utils' /** * TODO: @@ -7,6 +7,8 @@ import { bundleVite, bundleAndRun } from '../utils' * because, seem that vite does not support source map for custom blocks... */ +const test = process.env.CI ? _test.skip : _test + const options = { sourcemap: true, target: './fixtures/locales/', diff --git a/packages/unplugin-vue-i18n/test/webpack/sourcemap.test.ts b/packages/unplugin-vue-i18n/test/webpack/sourcemap.test.ts index 0d3e64fa..6341f7e4 100644 --- a/packages/unplugin-vue-i18n/test/webpack/sourcemap.test.ts +++ b/packages/unplugin-vue-i18n/test/webpack/sourcemap.test.ts @@ -1,5 +1,5 @@ import { resolve } from 'pathe' -import { expect, test } from 'vitest' +import { expect, test as _test } from 'vitest' import { bundleWebpack, bundleAndRun } from '../utils' const options = { @@ -8,6 +8,8 @@ const options = { include: [resolve(__dirname, '../fixtures/locales/**')] } +const test = process.env.CI ? _test.skip : _test + test('resource files: json', async () => { const { map } = await bundleAndRun('ja.json', bundleWebpack, options) expect(map.mappings).toMatchSnapshot() From 23b5601a2ba7cda18634ef99f8e89662b2162c30 Mon Sep 17 00:00:00 2001 From: kazuya kawaguchi Date: Mon, 19 May 2025 08:19:35 +0900 Subject: [PATCH 10/10] chore: tweak test --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 767b6ff4..993d8b42 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -60,4 +60,4 @@ jobs: run: pnpm build - name: Testing - run: pnpm test + run: pnpm test:unit