diff --git a/build/cli.ts b/build/cli.ts
index ddb4f25..bf9f346 100755
--- a/build/cli.ts
+++ b/build/cli.ts
@@ -3,8 +3,7 @@ import { type BuildConfig, configs } from './config.ts';
import { rollupOptions } from './rollup.ts';
import { configMatch } from './utils.ts';
import { parseArgs } from 'node:util';
-import { rollup } from 'rollup';
-import { watch } from 'rollup';
+import { rolldown, watch } from 'rolldown';
const { values: args } = parseArgs({
options: {
@@ -43,9 +42,9 @@ if (!args.dev) {
dev: false,
e2e: args.e2e ?? false,
});
- const bundle = await rollup(inputOptions);
- bundle.write(outputOptions);
- bundle.close();
+ const bundle = await rolldown(inputOptions);
+ await bundle.write(outputOptions);
+ await bundle.close();
}
} else {
const { inputOptions, outputOptions } = await rollupOptions(
@@ -66,17 +65,15 @@ if (!args.dev) {
...inputOptions,
output: outputOptions,
watch: {
- buildDelay: 1000,
- clearScreen: false,
exclude: ['node_modules/**', 'dist/**'],
},
});
watcher.on('event', (event) => {
if (event.code === 'BUNDLE_END') {
- event.result.close();
+ // event.result.close();
} else if (event.code === 'ERROR') {
console.log(event.error);
- event.result?.close();
+ // event.result?.close();
}
});
}
diff --git a/build/rollup.ts b/build/rollup.ts
index 3711a56..c6e8f23 100644
--- a/build/rollup.ts
+++ b/build/rollup.ts
@@ -3,13 +3,8 @@ import { entries } from './entries.ts';
import devServer from './plugins/dev-server/index.ts';
import generateTemplate from './plugins/generate-template.ts';
import { ensureValue, findMatchNote } from './utils.ts';
-import alias from '@rollup/plugin-alias';
-import commonjs from '@rollup/plugin-commonjs';
+import nodePolyfills from '@rolldown/plugin-node-polyfills';
import html from '@rollup/plugin-html';
-import json from '@rollup/plugin-json';
-import nodeResolve from '@rollup/plugin-node-resolve';
-import replace from '@rollup/plugin-replace';
-import url from '@rollup/plugin-url';
import virtual from '@rollup/plugin-virtual';
import { dataToEsm } from '@rollup/pluginutils';
import autoprefixer from 'autoprefixer';
@@ -18,13 +13,13 @@ import fs from 'node:fs/promises';
import path from 'node:path';
import type {
InputOptions,
- OutputAsset,
OutputChunk,
OutputOptions,
-} from 'rollup';
-import nodePolyfills from 'rollup-plugin-polyfill-node';
+ Plugin,
+} from 'rolldown';
+import { replacePlugin, aliasPlugin } from 'rolldown/experimental';
import postcss from 'rollup-plugin-postcss';
-import { swc, minify } from 'rollup-plugin-swc3';
+import { minify } from 'rollup-plugin-swc3';
import tailwindcss from 'tailwindcss';
const packageJson = JSON.parse(
@@ -35,7 +30,7 @@ const packageJson = JSON.parse(
export async function rollupOptions(
config: BuildConfig,
- { dev = false, e2e = false }: { dev?: boolean; e2e?: boolean } = {},
+ { dev = false }: { dev?: boolean; e2e?: boolean } = {},
) {
async function buildInputOptions() {
const i18nMap = await fs
@@ -50,6 +45,13 @@ export async function rollupOptions(
.then(JSON.parse);
return {
input: 'entry',
+ jsx: {
+ mode: 'automatic',
+ factory: 'h',
+ fragment: 'Fragment',
+ importSource: 'preact',
+ },
+ treeshake: true,
plugins: [
virtual({
'at/options': dataToEsm({
@@ -61,14 +63,21 @@ export async function rollupOptions(
'at/virtual/field': `export {default as AnkiField} from '${path.resolve(import.meta.dirname, config.field === 'markdown' ? '../src/features/markdown/field.tsx' : '../src/components/native-field.tsx')}'`,
'at/virtual/extract-tf-items': `export {extractItems} from '${path.resolve(import.meta.dirname, config.field === 'markdown' ? '../src/features/tf/extract-markdown-items.ts' : '../src/features/tf/extract-native-items.ts')}'`,
}),
- replace({
- 'process.env.NODE_ENV': JSON.stringify(
- envValue('production', 'development'),
- ),
- preventAssignment: true,
- }),
- json(),
- alias({
+ replacePlugin(
+ {
+ 'process.env.NODE_ENV': JSON.stringify(
+ envValue('production', 'development'),
+ ),
+ 'import.meta.env': '({})',
+ 'import.meta.env.MODE': JSON.stringify(
+ envValue('production', 'development'),
+ ),
+ },
+ {
+ preventAssignment: true,
+ },
+ ),
+ aliasPlugin({
entries: [
{
find: 'lodash/isPlainObject',
@@ -87,65 +96,41 @@ export async function rollupOptions(
{ find: 'react/jsx-runtime', replacement: 'preact/jsx-runtime' },
].filter(Boolean),
}),
- nodeResolve({
- extensions: ['.mjs', '.js', '.json', '.ts', '.tsx'],
- }),
- commonjs(),
nodePolyfills(),
- swc({
- jsc: {
- target: 'es5',
- parser: {
- tsx: true,
- syntax: 'typescript',
- },
- transform: {
- react: {
- pragma: 'h',
- pragmaFrag: 'Fragment',
- importSource: 'preact',
- runtime: 'automatic',
- },
- },
- minify: {
- compress: true,
- },
- experimental: {
- plugins: e2e
- ? []
- : [
- [
- '@swc/plugin-react-remove-properties',
- {
- properties: ['^data-testid$'],
+ new Proxy(
+ postcss({
+ extract: true,
+ plugins: [
+ autoprefixer(),
+ tailwindcss(),
+ envValue(
+ cssnano({
+ preset: [
+ 'default',
+ {
+ discardComments: {
+ removeAll: true,
},
- ],
+ },
],
+ }),
+ false,
+ ),
+ ].filter(Boolean),
+ }),
+ {
+ get(target, p) {
+ const value = Reflect.get(target, p);
+ if (p === 'generateBundle') {
+ return function (...args: any[]) {
+ this.getModuleInfo = this.getModuleInfo.bind(this);
+ return value.apply(this, args);
+ } as Plugin['generateBundle'];
+ }
+ return value;
},
},
- minify: true,
- }),
- postcss({
- extract: true,
- plugins: [
- autoprefixer(),
- tailwindcss(),
- envValue(
- cssnano({
- preset: [
- 'default',
- {
- discardComments: {
- removeAll: true,
- },
- },
- ],
- }),
- false,
- ),
- ].filter(Boolean),
- }),
- url(),
+ ),
// visualizer(),
html({
fileName: `front.html`,
@@ -164,7 +149,7 @@ window.atDefaultOptions =
`;
frontHtml += `
`;
- frontHtml += ``;
+ frontHtml += ``;
frontHtml += `
${buildFields()}
diff --git a/package.json b/package.json
index b1077d7..292db53 100644
--- a/package.json
+++ b/package.json
@@ -26,6 +26,7 @@
"@eslint/js": "^9.9.1",
"@koa/router": "^13.1.0",
"@playwright/test": "^1.49.1",
+ "@rolldown/plugin-node-polyfills": "^1.0.0",
"@rollup/plugin-alias": "^5.1.0",
"@rollup/plugin-commonjs": "^26.0.1",
"@rollup/plugin-html": "^1.0.3",
@@ -63,6 +64,7 @@
"postcss": "^8.5.1",
"prettier": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.6",
+ "rolldown": "1.0.0-beta.3-commit.d9529e7",
"rollup": "^4.21.2",
"rollup-plugin-polyfill-node": "^0.13.0",
"rollup-plugin-postcss": "^4.0.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 771ace9..64503f6 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -111,6 +111,9 @@ importers:
'@playwright/test':
specifier: ^1.49.1
version: 1.49.1
+ '@rolldown/plugin-node-polyfills':
+ specifier: ^1.0.0
+ version: 1.0.0
'@rollup/plugin-alias':
specifier: ^5.1.0
version: 5.1.0(rollup@4.21.2)
@@ -222,6 +225,9 @@ importers:
prettier-plugin-tailwindcss:
specifier: ^0.6.6
version: 0.6.6(@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.3.3))(prettier@3.3.3)
+ rolldown:
+ specifier: 1.0.0-beta.3-commit.d9529e7
+ version: 1.0.0-beta.3-commit.d9529e7(@babel/runtime@7.26.7)(typescript@5.7.3)
rollup:
specifier: ^4.21.2
version: 4.21.2
@@ -606,6 +612,15 @@ packages:
peerDependencies:
react: '>=16.8.0'
+ '@emnapi/core@1.3.1':
+ resolution: {integrity: sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==}
+
+ '@emnapi/runtime@1.3.1':
+ resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
+
+ '@emnapi/wasi-threads@1.0.1':
+ resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
+
'@emotion/hash@0.8.0':
resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==}
@@ -1137,6 +1152,9 @@ packages:
'@mermaid-js/parser@0.3.0':
resolution: {integrity: sha512-HsvL6zgE5sUPGgkIDlmAWR1HTNHz2Iy11BAWPTa4Jjabkpguy4Ze2gzfLrg6pdRuBvFwgUYyxiaNqZwrEEXepA==}
+ '@napi-rs/wasm-runtime@0.2.6':
+ resolution: {integrity: sha512-z8YVS3XszxFTO73iwvFDNpQIzdMmSDTP/mB3E/ucR37V3Sx57hSExcXyMoNwaucWxnsWf4xfbZv0iZ30jr0M4Q==}
+
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -1149,6 +1167,9 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
+ '@oxc-project/types@0.48.2':
+ resolution: {integrity: sha512-i2+xs0EKA7Ich5GP4rNyQnO+1Oio6XqzmQQSSVlNxyCPRUvp4V0ovY/e28K4F1vwakc51B251iSKbtHw03sZOw==}
+
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -1220,6 +1241,69 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-sX4hlwd+xzNrDdlcjZnLPuuCxHaZuWK6lfE5IXzafs6f9Vg2KDR4J5oPyfW7aY4Sf4RSu805ZyO+TtHYashvkQ==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rolldown/binding-darwin-x64@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-WWS5JBj+TxWvjQjIwcFBo+ACYBrF8tB6zyNiTOoEC1h4pDbQq8uBN0h6ovMZqeWk78R2EtGhksteGJAVu9yMig==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-NbGtehEu4WP/zs1+zJsL+X5rCTcTeogCpWx3O5hGwQKEAmoGnK3BOErxbWQgjSTj9DQmxgVuB7xmwOzD5GzJEw==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-dgM6m5r3zbfGMP+XY87MT2N/ivdZ2vMCBFMKj5WsQhhfTVX+CVry3V0Ipfd1UACUjfRH0Wtv4tJBnnYfCi4ICA==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-1xSVMg09OisINiXWlIexj4YIuuqP8r+TKPfTMkYhv4uhaXBihIiUYh1szLTN8F/NJORt0b/GKEu1LhtHQsA32Q==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-n7R3QNylvYIh1iZYgqynZlXjGGLRyD5MzKJzb02D7f+3YVM5R9zsWJoC4nWNpfynL/PNnDmK2eNGajvKD0eldA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-qnW1C3qL4ucU3SsYcfK/shJV+H11dj3URY2Tus1ssYMNgChiCFfNT//BLYaoclOOMLGpijnjLIS5dyU/lKpYRA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-Kg6wJfh6/5E/XojNOKvKAvgvtbUNEmvZPnq/j6dmXb6S58Mt1zmUToOYySfJLPck+WJadfB+gbn1MkxoJTZ9wQ==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-+SYfElV2aIG6WO9N4GZ4JE+rrKZdcqt58F9g7QymfxsFJl24eTfAlMpK+IXxvY3js1crzznGS2Ur4hlqVsmcwA==}
+ engines: {node: '>=14.21.3'}
+ cpu: [wasm32]
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-BYBLCvwEuMRskeWyfnn83jEcrPZ5BYAU/opvjwFimklWbo1uso4DXch86kNgS4MEtM8qzQcqT9Kf7TdIMeXaCQ==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-HOl+st5AMl2AlKiqkUSdVUugrm598QYITHaS4YJbHJpQa2xAB1lNBK9vmuUIaY5ENn1CsOUY4WDp5NQdnZ0d/Q==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.3-commit.d9529e7':
+ resolution: {integrity: sha512-7i2WVB4EFKopt4r4GWKA5WBQCtOOTQasIZjf1NbmvXMxN2M2WpQAVP6cwrPbbczPZVaDTSLi8LZUNMV04jm8Ww==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rolldown/plugin-node-polyfills@1.0.0':
+ resolution: {integrity: sha512-JUmEhvz+B6+0AaeUGvZ7SnJec7wpwYqZ+FcAng1I3UVGYKA1uSmE1H4vKHUewU665Nb37znDd9N4o/iImmKeVg==}
+
'@rollup/plugin-alias@5.1.0':
resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==}
engines: {node: '>=14.0.0'}
@@ -1595,6 +1679,9 @@ packages:
'@tsconfig/vite-react@3.0.2':
resolution: {integrity: sha512-AFynAtE1Un3Rko20Ghe2mVC/QWD4rStJ2PnyIZU2kzC4UyWpf1YhAEY87GojH/XPZCY8Mdt27gsYyy+6l6HV+w==}
+ '@tybys/wasm-util@0.9.0':
+ resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==}
+
'@types/accepts@1.3.7':
resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==}
@@ -1888,6 +1975,11 @@ packages:
resolution: {integrity: sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@valibot/to-json-schema@1.0.0-beta.5':
+ resolution: {integrity: sha512-8aI2sG98gWS+6YuIL3OMkg60sImhICPdZIFCV1XDyX8k6UOCX+MgXaeR3f2fDShuNXYHV46vcjWRpov8ojzDNw==}
+ peerDependencies:
+ valibot: ^1.0.0 || ^1.0.0-beta.5 || ^1.0.0-rc
+
'@vitejs/plugin-react@4.3.4':
resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -5152,6 +5244,15 @@ packages:
robust-predicates@3.0.2:
resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
+ rolldown@1.0.0-beta.3-commit.d9529e7:
+ resolution: {integrity: sha512-27eSeRI5al+yTPNifwH2jvTmft+1HqBAyQ+8l3l7ho1tS0HcTaciT0DG0yDTaw+EuP59GHk2RWcHtOrAS8TOhQ==}
+ hasBin: true
+ peerDependencies:
+ '@babel/runtime': '>=7'
+ peerDependenciesMeta:
+ '@babel/runtime':
+ optional: true
+
rollup-plugin-inject@3.0.2:
resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==}
deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
@@ -5752,6 +5853,14 @@ packages:
engines: {node: '>=8'}
hasBin: true
+ valibot@1.0.0-beta.14:
+ resolution: {integrity: sha512-tLyV2rE5QL6U29MFy3xt4AqMrn+/HErcp2ZThASnQvPMwfSozjV1uBGKIGiegtZIGjinJqn0SlBdannf18wENA==}
+ peerDependencies:
+ typescript: '>=5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
vary@1.1.2:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
@@ -6546,6 +6655,22 @@ snapshots:
react: 18.3.1
tslib: 2.8.1
+ '@emnapi/core@1.3.1':
+ dependencies:
+ '@emnapi/wasi-threads': 1.0.1
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/runtime@1.3.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/wasi-threads@1.0.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@emotion/hash@0.8.0': {}
'@emotion/unitless@0.7.5': {}
@@ -6898,6 +7023,13 @@ snapshots:
dependencies:
langium: 3.0.0
+ '@napi-rs/wasm-runtime@0.2.6':
+ dependencies:
+ '@emnapi/core': 1.3.1
+ '@emnapi/runtime': 1.3.1
+ '@tybys/wasm-util': 0.9.0
+ optional: true
+
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -6910,6 +7042,8 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
+ '@oxc-project/types@0.48.2': {}
+
'@pkgjs/parseargs@0.11.0':
optional: true
@@ -6990,6 +7124,46 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/binding-darwin-x64@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.3-commit.d9529e7':
+ dependencies:
+ '@napi-rs/wasm-runtime': 0.2.6
+ optional: true
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.3-commit.d9529e7':
+ optional: true
+
+ '@rolldown/plugin-node-polyfills@1.0.0': {}
+
'@rollup/plugin-alias@5.1.0(rollup@4.21.2)':
dependencies:
slash: 4.0.0
@@ -7261,6 +7435,11 @@ snapshots:
'@tsconfig/vite-react@3.0.2': {}
+ '@tybys/wasm-util@0.9.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@types/accepts@1.3.7':
dependencies:
'@types/node': 22.5.3
@@ -7630,6 +7809,10 @@ snapshots:
'@typescript-eslint/types': 8.4.0
eslint-visitor-keys: 3.4.3
+ '@valibot/to-json-schema@1.0.0-beta.5(valibot@1.0.0-beta.14(typescript@5.7.3))':
+ dependencies:
+ valibot: 1.0.0-beta.14(typescript@5.7.3)
+
'@vitejs/plugin-react@4.3.4(vite@6.1.0(@types/node@22.5.3)(jiti@1.21.6)(terser@5.31.6)(yaml@2.7.0))':
dependencies:
'@babel/core': 7.26.7
@@ -11475,6 +11658,28 @@ snapshots:
robust-predicates@3.0.2: {}
+ rolldown@1.0.0-beta.3-commit.d9529e7(@babel/runtime@7.26.7)(typescript@5.7.3):
+ dependencies:
+ '@oxc-project/types': 0.48.2
+ '@valibot/to-json-schema': 1.0.0-beta.5(valibot@1.0.0-beta.14(typescript@5.7.3))
+ valibot: 1.0.0-beta.14(typescript@5.7.3)
+ optionalDependencies:
+ '@babel/runtime': 7.26.7
+ '@rolldown/binding-darwin-arm64': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-darwin-x64': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-freebsd-x64': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-linux-x64-musl': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-wasm32-wasi': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.3-commit.d9529e7
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.3-commit.d9529e7
+ transitivePeerDependencies:
+ - typescript
+
rollup-plugin-inject@3.0.2:
dependencies:
estree-walker: 0.6.1
@@ -12185,6 +12390,10 @@ snapshots:
kleur: 4.1.5
sade: 1.8.1
+ valibot@1.0.0-beta.14(typescript@5.7.3):
+ optionalDependencies:
+ typescript: 5.7.3
+
vary@1.1.2: {}
vfile-location@4.1.0:
diff --git a/tsconfig.node.json b/tsconfig.node.json
index 4bab343..3b3a255 100644
--- a/tsconfig.node.json
+++ b/tsconfig.node.json
@@ -16,7 +16,7 @@
"allowImportingTsExtensions": true,
"noEmit": true,
"module": "ESNext",
- "moduleResolution": "node",
+ "moduleResolution": "bundler",
"resolveJsonModule": true
}
}