From 7d8c0e2dcbdea3a3465a1d87e259988e82561035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Thu, 15 Aug 2024 22:44:19 +0900 Subject: [PATCH] feat: support originalFilename (#17867) --- package.json | 2 +- packages/vite/package.json | 2 +- packages/vite/src/node/plugins/asset.ts | 10 +- packages/vite/src/node/plugins/css.ts | 27 +-- packages/vite/src/node/plugins/html.ts | 1 + packages/vite/src/node/plugins/manifest.ts | 37 ++-- packages/vite/src/node/plugins/worker.ts | 10 +- pnpm-lock.yaml | 214 ++++++++++----------- 8 files changed, 157 insertions(+), 146 deletions(-) diff --git a/package.json b/package.json index 12a757af90c0ea..69532a0b8fadbb 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "playwright-chromium": "^1.46.0", "prettier": "3.3.3", "rimraf": "^5.0.10", - "rollup": "^4.13.0", + "rollup": "^4.20.0", "rollup-plugin-esbuild": "^6.1.1", "simple-git-hooks": "^2.11.1", "tslib": "^2.6.3", diff --git a/packages/vite/package.json b/packages/vite/package.json index e392cb1eeed712..405bb2392d904f 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -87,7 +87,7 @@ "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.41", - "rollup": "^4.13.0" + "rollup": "^4.20.0" }, "optionalDependencies": { "fsevents": "~2.3.3" diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts index 1415211d5faedf..10e2be0917f5a2 100644 --- a/packages/vite/src/node/plugins/asset.ts +++ b/packages/vite/src/node/plugins/asset.ts @@ -43,7 +43,7 @@ const assetCache = new WeakMap>() // For the manifest, we need to preserve the original file path and isEntry // for CSS assets. We keep a map from referenceId to this information. export interface GeneratedAssetMeta { - originalName: string + originalFileName: string isEntry?: boolean } export const generatedAssets = new WeakMap< @@ -371,15 +371,15 @@ async function fileToBuiltUrl( const { search, hash } = parseUrl(id) const postfix = (search || '') + (hash || '') + const originalFileName = normalizePath(path.relative(config.root, file)) const referenceId = pluginContext.emitFile({ + type: 'asset', // Ignore directory structure for asset file names name: path.basename(file), - type: 'asset', + originalFileName, source: content, }) - - const originalName = normalizePath(path.relative(config.root, file)) - generatedAssets.get(config)!.set(referenceId, { originalName }) + generatedAssets.get(config)!.set(referenceId, { originalFileName }) url = `__VITE_ASSET__${referenceId}__${postfix ? `$_${postfix}__` : ``}` // TODO_BASE } diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 2426e66685a41e..6a42f42868d1bb 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -424,8 +424,9 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { } else { return path.dirname( assetFileNames({ - name: cssAssetName, type: 'asset', + name: cssAssetName, + originalFileName: null, source: '/* vite internal call, ignore */', }), ) @@ -646,7 +647,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { let s: MagicString | undefined const urlEmitTasks: Array<{ cssAssetName: string - originalFilename: string + originalFileName: string content: string start: number end: number @@ -658,9 +659,9 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { while ((match = cssUrlAssetRE.exec(code))) { const [full, idHex] = match const id = Buffer.from(idHex, 'hex').toString() - const originalFilename = cleanUrl(id) + const originalFileName = cleanUrl(id) const cssAssetName = ensureFileExt( - path.basename(originalFilename), + path.basename(originalFileName), '.css', ) if (!styles.has(id)) { @@ -675,7 +676,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { urlEmitTasks.push({ cssAssetName, - originalFilename, + originalFileName, content: cssContent, start: match.index, end: match.index + full.length, @@ -701,19 +702,18 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { for (const { cssAssetName, - originalFilename, + originalFileName, content, start, end, } of urlEmitTasks) { const referenceId = this.emitFile({ - name: cssAssetName, type: 'asset', + name: cssAssetName, + originalFileName, source: content, }) - generatedAssets - .get(config)! - .set(referenceId, { originalName: originalFilename }) + generatedAssets.get(config)!.set(referenceId, { originalFileName }) const filename = this.getFileName(referenceId) chunk.viteMetadata!.importedAssets.add(cleanUrl(filename)) @@ -751,7 +751,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { (!chunk.facadeModuleId || !isCSSRequest(chunk.facadeModuleId)) ? path.basename(cssFullAssetName) : cssFullAssetName - const originalFilename = getChunkOriginalFileName( + const originalFileName = getChunkOriginalFileName( chunk, config.root, opts.format, @@ -766,13 +766,14 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { // emit corresponding css file const referenceId = this.emitFile({ - name: cssAssetName, type: 'asset', + name: cssAssetName, + originalFileName, source: chunkCSS, }) generatedAssets .get(config)! - .set(referenceId, { originalName: originalFilename, isEntry }) + .set(referenceId, { originalFileName, isEntry }) chunk.viteMetadata!.importedCss.add(this.getFileName(referenceId)) } else if (!config.build.ssr) { // legacy build and inline css diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index da548c4f7cf4ba..e4b87807ac1cb6 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -934,6 +934,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { ) this.emitFile({ type: 'asset', + originalFileName: normalizedId, fileName: shortEmitName, source: result, }) diff --git a/packages/vite/src/node/plugins/manifest.ts b/packages/vite/src/node/plugins/manifest.ts index 84602e78268866..b51349744671c9 100644 --- a/packages/vite/src/node/plugins/manifest.ts +++ b/packages/vite/src/node/plugins/manifest.ts @@ -9,7 +9,6 @@ import type { ResolvedConfig } from '..' import type { Plugin } from '../plugin' import { normalizePath, sortObjectKeys } from '../utils' import { generatedAssets } from './asset' -import type { GeneratedAssetMeta } from './asset' const endsWithJSRE = /\.[cm]?js$/ @@ -111,18 +110,20 @@ export function manifestPlugin(config: ResolvedConfig): Plugin { return manifestChunk } - const fileNameToAssetMeta = new Map() const assets = generatedAssets.get(config)! - assets.forEach((asset, referenceId) => { - try { - const fileName = this.getFileName(referenceId) - fileNameToAssetMeta.set(fileName, asset) - } catch (error: unknown) { - // The asset was generated as part of a different output option. - // It was already handled during the previous run of this plugin. - assets.delete(referenceId) + const entryCssAssetFileNames = new Set() + for (const [id, asset] of assets.entries()) { + if (asset.isEntry) { + try { + const fileName = this.getFileName(id) + entryCssAssetFileNames.add(fileName) + } catch (error: unknown) { + // The asset was generated as part of a different output option. + // It was already handled during the previous run of this plugin. + assets.delete(id) + } } - }) + } const fileNameToAsset = new Map() @@ -132,9 +133,9 @@ export function manifestPlugin(config: ResolvedConfig): Plugin { manifest[getChunkName(chunk)] = createChunk(chunk) } else if (chunk.type === 'asset' && typeof chunk.name === 'string') { // Add every unique asset to the manifest, keyed by its original name - const assetMeta = fileNameToAssetMeta.get(chunk.fileName) - const src = assetMeta?.originalName ?? chunk.name - const asset = createAsset(chunk, src, assetMeta?.isEntry) + const src = chunk.originalFileName ?? chunk.name + const isEntry = entryCssAssetFileNames.has(chunk.fileName) + const asset = createAsset(chunk, src, isEntry) // If JS chunk and asset chunk are both generated from the same source file, // prioritize JS chunk as it contains more information @@ -147,15 +148,15 @@ export function manifestPlugin(config: ResolvedConfig): Plugin { } // Add deduplicated assets to the manifest - assets.forEach(({ originalName }, referenceId) => { - if (!manifest[originalName]) { + for (const [referenceId, { originalFileName }] of assets.entries()) { + if (!manifest[originalFileName]) { const fileName = this.getFileName(referenceId) const asset = fileNameToAsset.get(fileName) if (asset) { - manifest[originalName] = asset + manifest[originalFileName] = asset } } - }) + } outputCount++ const output = config.build.rollupOptions?.output diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts index ffd01de70a272a..a5ac3853b667d4 100644 --- a/packages/vite/src/node/plugins/worker.ts +++ b/packages/vite/src/node/plugins/worker.ts @@ -20,7 +20,11 @@ import { import { cleanUrl } from '../../shared/utils' import { fileToUrl } from './asset' -type WorkerBundleAsset = { fileName: string; source: string | Uint8Array } +type WorkerBundleAsset = { + fileName: string + originalFileName: string | null + source: string | Uint8Array +} interface WorkerCache { // save worker all emit chunk avoid rollup make the same asset unique. @@ -111,6 +115,7 @@ async function bundleWorkerEntry( } else if (outputChunk.type === 'chunk') { saveEmitWorkerAsset(config, { fileName: outputChunk.fileName, + originalFileName: null, source: outputChunk.code, }) } @@ -136,6 +141,7 @@ function emitSourcemapForWorkerEntry( const mapFileName = chunk.fileName + '.map' saveEmitWorkerAsset(config, { fileName: mapFileName, + originalFileName: null, source: data, }) } @@ -169,6 +175,7 @@ export async function workerFileToUrl( fileName = outputChunk.fileName saveEmitWorkerAsset(config, { fileName, + originalFileName: null, source: outputChunk.code, }) workerMap.bundle.set(id, fileName) @@ -447,6 +454,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { this.emitFile({ type: 'asset', fileName: asset.fileName, + originalFileName: asset.originalFileName, source: asset.source, }) }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c3cb474b90fa00..d860a330ea1033 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -110,11 +110,11 @@ importers: specifier: ^5.0.10 version: 5.0.10 rollup: - specifier: ^4.13.0 - version: 4.18.1 + specifier: ^4.20.0 + version: 4.20.0 rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.23.0)(rollup@4.18.1) + version: 6.1.1(esbuild@0.23.0)(rollup@4.20.0) simple-git-hooks: specifier: ^2.11.1 version: 2.11.1 @@ -228,8 +228,8 @@ importers: specifier: ^8.4.41 version: 8.4.41 rollup: - specifier: ^4.13.0 - version: 4.18.1 + specifier: ^4.20.0 + version: 4.20.0 optionalDependencies: fsevents: specifier: ~2.3.3 @@ -249,22 +249,22 @@ importers: version: 1.0.0-next.25 '@rollup/plugin-alias': specifier: ^5.1.0 - version: 5.1.0(rollup@4.18.1) + version: 5.1.0(rollup@4.20.0) '@rollup/plugin-commonjs': specifier: ^26.0.1 - version: 26.0.1(rollup@4.18.1) + version: 26.0.1(rollup@4.20.0) '@rollup/plugin-dynamic-import-vars': specifier: ^2.1.2 - version: 2.1.2(rollup@4.18.1) + version: 2.1.2(rollup@4.20.0) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.18.1) + version: 6.1.0(rollup@4.20.0) '@rollup/plugin-node-resolve': specifier: 15.2.3 - version: 15.2.3(rollup@4.18.1) + version: 15.2.3(rollup@4.20.0) '@rollup/pluginutils': specifier: ^5.1.0 - version: 5.1.0(rollup@4.18.1) + version: 5.1.0(rollup@4.20.0) '@types/escape-html': specifier: ^1.0.4 version: 1.0.4 @@ -372,13 +372,13 @@ importers: version: 2.0.2 rollup-plugin-dts: specifier: ^6.1.1 - version: 6.1.1(rollup@4.18.1)(typescript@5.5.3) + version: 6.1.1(rollup@4.20.0)(typescript@5.5.3) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.21.5)(rollup@4.18.1) + version: 6.1.1(esbuild@0.21.5)(rollup@4.20.0) rollup-plugin-license: specifier: ^3.5.2 - version: 3.5.2(picomatch@2.3.1)(rollup@4.18.1) + version: 3.5.2(picomatch@2.3.1)(rollup@4.20.0) sass: specifier: ^1.77.8 version: 1.77.8 @@ -3031,83 +3031,83 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.18.1': - resolution: {integrity: sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==} + '@rollup/rollup-android-arm-eabi@4.20.0': + resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.18.1': - resolution: {integrity: sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==} + '@rollup/rollup-android-arm64@4.20.0': + resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.18.1': - resolution: {integrity: sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==} + '@rollup/rollup-darwin-arm64@4.20.0': + resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.18.1': - resolution: {integrity: sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==} + '@rollup/rollup-darwin-x64@4.20.0': + resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.18.1': - resolution: {integrity: sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==} + '@rollup/rollup-linux-arm-gnueabihf@4.20.0': + resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.18.1': - resolution: {integrity: sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==} + '@rollup/rollup-linux-arm-musleabihf@4.20.0': + resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.18.1': - resolution: {integrity: sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==} + '@rollup/rollup-linux-arm64-gnu@4.20.0': + resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.18.1': - resolution: {integrity: sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==} + '@rollup/rollup-linux-arm64-musl@4.20.0': + resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.18.1': - resolution: {integrity: sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': + resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.18.1': - resolution: {integrity: sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==} + '@rollup/rollup-linux-riscv64-gnu@4.20.0': + resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.18.1': - resolution: {integrity: sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==} + '@rollup/rollup-linux-s390x-gnu@4.20.0': + resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.18.1': - resolution: {integrity: sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==} + '@rollup/rollup-linux-x64-gnu@4.20.0': + resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.18.1': - resolution: {integrity: sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==} + '@rollup/rollup-linux-x64-musl@4.20.0': + resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.18.1': - resolution: {integrity: sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==} + '@rollup/rollup-win32-arm64-msvc@4.20.0': + resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.18.1': - resolution: {integrity: sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==} + '@rollup/rollup-win32-ia32-msvc@4.20.0': + resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.18.1': - resolution: {integrity: sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==} + '@rollup/rollup-win32-x64-msvc@4.20.0': + resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==} cpu: [x64] os: [win32] @@ -6102,8 +6102,8 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.18.1: - resolution: {integrity: sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==} + rollup@4.20.0: + resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -8317,11 +8317,11 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-alias@5.1.0(rollup@4.18.1)': + '@rollup/plugin-alias@5.1.0(rollup@4.20.0)': dependencies: slash: 4.0.0 optionalDependencies: - rollup: 4.18.1 + rollup: 4.20.0 '@rollup/plugin-commonjs@25.0.4(rollup@3.29.4)': dependencies: @@ -8334,26 +8334,26 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-commonjs@26.0.1(rollup@4.18.1)': + '@rollup/plugin-commonjs@26.0.1(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.18.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 10.4.5 is-reference: 1.2.1 magic-string: 0.30.11 optionalDependencies: - rollup: 4.18.1 + rollup: 4.20.0 - '@rollup/plugin-dynamic-import-vars@2.1.2(rollup@4.18.1)': + '@rollup/plugin-dynamic-import-vars@2.1.2(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.18.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) astring: 1.8.6 estree-walker: 2.0.2 fast-glob: 3.3.2 magic-string: 0.30.11 optionalDependencies: - rollup: 4.18.1 + rollup: 4.20.0 '@rollup/plugin-json@6.1.0(rollup@3.29.4)': dependencies: @@ -8361,11 +8361,11 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-json@6.1.0(rollup@4.18.1)': + '@rollup/plugin-json@6.1.0(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.18.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) optionalDependencies: - rollup: 4.18.1 + rollup: 4.20.0 '@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4)': dependencies: @@ -8378,16 +8378,16 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-node-resolve@15.2.3(rollup@4.18.1)': + '@rollup/plugin-node-resolve@15.2.3(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.18.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) '@types/resolve': 1.20.2 deepmerge: 4.2.2 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.18.1 + rollup: 4.20.0 '@rollup/plugin-replace@5.0.2(rollup@3.29.4)': dependencies: @@ -8404,60 +8404,60 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/pluginutils@5.1.0(rollup@4.18.1)': + '@rollup/pluginutils@5.1.0(rollup@4.20.0)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.18.1 + rollup: 4.20.0 - '@rollup/rollup-android-arm-eabi@4.18.1': + '@rollup/rollup-android-arm-eabi@4.20.0': optional: true - '@rollup/rollup-android-arm64@4.18.1': + '@rollup/rollup-android-arm64@4.20.0': optional: true - '@rollup/rollup-darwin-arm64@4.18.1': + '@rollup/rollup-darwin-arm64@4.20.0': optional: true - '@rollup/rollup-darwin-x64@4.18.1': + '@rollup/rollup-darwin-x64@4.20.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.18.1': + '@rollup/rollup-linux-arm-gnueabihf@4.20.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.18.1': + '@rollup/rollup-linux-arm-musleabihf@4.20.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.18.1': + '@rollup/rollup-linux-arm64-gnu@4.20.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.18.1': + '@rollup/rollup-linux-arm64-musl@4.20.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.18.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.18.1': + '@rollup/rollup-linux-riscv64-gnu@4.20.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.18.1': + '@rollup/rollup-linux-s390x-gnu@4.20.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.18.1': + '@rollup/rollup-linux-x64-gnu@4.20.0': optional: true - '@rollup/rollup-linux-x64-musl@4.18.1': + '@rollup/rollup-linux-x64-musl@4.20.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.18.1': + '@rollup/rollup-win32-arm64-msvc@4.20.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.18.1': + '@rollup/rollup-win32-ia32-msvc@4.20.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.18.1': + '@rollup/rollup-win32-x64-msvc@4.20.0': optional: true '@sec-ant/readable-stream@0.4.1': {} @@ -11765,37 +11765,37 @@ snapshots: optionalDependencies: '@babel/code-frame': 7.24.7 - rollup-plugin-dts@6.1.1(rollup@4.18.1)(typescript@5.5.3): + rollup-plugin-dts@6.1.1(rollup@4.20.0)(typescript@5.5.3): dependencies: magic-string: 0.30.11 - rollup: 4.18.1 + rollup: 4.20.0 typescript: 5.5.3 optionalDependencies: '@babel/code-frame': 7.24.7 - rollup-plugin-esbuild@6.1.1(esbuild@0.21.5)(rollup@4.18.1): + rollup-plugin-esbuild@6.1.1(esbuild@0.21.5)(rollup@4.20.0): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.18.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) debug: 4.3.6 es-module-lexer: 1.5.4 esbuild: 0.21.5 get-tsconfig: 4.7.5 - rollup: 4.18.1 + rollup: 4.20.0 transitivePeerDependencies: - supports-color - rollup-plugin-esbuild@6.1.1(esbuild@0.23.0)(rollup@4.18.1): + rollup-plugin-esbuild@6.1.1(esbuild@0.23.0)(rollup@4.20.0): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.18.1) + '@rollup/pluginutils': 5.1.0(rollup@4.20.0) debug: 4.3.6 es-module-lexer: 1.5.4 esbuild: 0.23.0 get-tsconfig: 4.7.5 - rollup: 4.18.1 + rollup: 4.20.0 transitivePeerDependencies: - supports-color - rollup-plugin-license@3.5.2(picomatch@2.3.1)(rollup@4.18.1): + rollup-plugin-license@3.5.2(picomatch@2.3.1)(rollup@4.20.0): dependencies: commenting: 1.1.0 fdir: 6.1.1(picomatch@2.3.1) @@ -11803,7 +11803,7 @@ snapshots: magic-string: 0.30.11 moment: 2.30.1 package-name-regex: 2.0.6 - rollup: 4.18.1 + rollup: 4.20.0 spdx-expression-validate: 2.0.0 spdx-satisfies: 5.0.1 transitivePeerDependencies: @@ -11813,26 +11813,26 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.18.1: + rollup@4.20.0: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.18.1 - '@rollup/rollup-android-arm64': 4.18.1 - '@rollup/rollup-darwin-arm64': 4.18.1 - '@rollup/rollup-darwin-x64': 4.18.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.18.1 - '@rollup/rollup-linux-arm-musleabihf': 4.18.1 - '@rollup/rollup-linux-arm64-gnu': 4.18.1 - '@rollup/rollup-linux-arm64-musl': 4.18.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.18.1 - '@rollup/rollup-linux-riscv64-gnu': 4.18.1 - '@rollup/rollup-linux-s390x-gnu': 4.18.1 - '@rollup/rollup-linux-x64-gnu': 4.18.1 - '@rollup/rollup-linux-x64-musl': 4.18.1 - '@rollup/rollup-win32-arm64-msvc': 4.18.1 - '@rollup/rollup-win32-ia32-msvc': 4.18.1 - '@rollup/rollup-win32-x64-msvc': 4.18.1 + '@rollup/rollup-android-arm-eabi': 4.20.0 + '@rollup/rollup-android-arm64': 4.20.0 + '@rollup/rollup-darwin-arm64': 4.20.0 + '@rollup/rollup-darwin-x64': 4.20.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.20.0 + '@rollup/rollup-linux-arm-musleabihf': 4.20.0 + '@rollup/rollup-linux-arm64-gnu': 4.20.0 + '@rollup/rollup-linux-arm64-musl': 4.20.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.20.0 + '@rollup/rollup-linux-riscv64-gnu': 4.20.0 + '@rollup/rollup-linux-s390x-gnu': 4.20.0 + '@rollup/rollup-linux-x64-gnu': 4.20.0 + '@rollup/rollup-linux-x64-musl': 4.20.0 + '@rollup/rollup-win32-arm64-msvc': 4.20.0 + '@rollup/rollup-win32-ia32-msvc': 4.20.0 + '@rollup/rollup-win32-x64-msvc': 4.20.0 fsevents: 2.3.3 run-parallel@1.2.0: