diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 1c32cad..f609191 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -13,9 +13,7 @@ ], "ignoreDeps": [ // manually bumping - "rollup", "node", - "typescript", // breaking changes "source-map", // `source-map:v0.7.0+` needs more investigation diff --git a/package.json b/package.json index 8e23861..ec94cd1 100644 --- a/package.json +++ b/package.json @@ -51,12 +51,12 @@ "picocolors": "^1.0.0", "playwright-chromium": "^1.29.2", "prettier": "2.8.3", - "rollup": "^3.7.0", + "rollup": "^3.10.1", "simple-git-hooks": "^2.8.1", "tsx": "^3.12.2", - "typescript": "^4.6.4", + "typescript": "^4.9.4", "unbuild": "^1.1.1", - "vite": "^4.0.4", + "vite": "^4.1.0-beta.0", "vitest": "^0.27.3" }, "simple-git-hooks": { diff --git a/packages/plugin-react/README.md b/packages/plugin-react/README.md index e772b2e..ea2923d 100644 --- a/packages/plugin-react/README.md +++ b/packages/plugin-react/README.md @@ -105,3 +105,11 @@ Otherwise, you'll probably get this error: ``` Uncaught Error: @vitejs/plugin-react can't detect preamble. Something is wrong. ``` + +## Consistent components exports + +For React refresh to work correctly, your file should only export React components. You can find a good explanation in the [Gatsby docs](https://www.gatsbyjs.com/docs/reference/local-development/fast-refresh/#how-it-works). + +If an incompatible change in exports is found, the module will be invalidated and HMR will propagate. To make it easier to export simple constants alongside your component, the module is only invalidated when their value changes. + +You can catch mistakes and get more detailed warning with this [eslint rule](https://github.com/ArnaudBarre/eslint-plugin-react-refresh). diff --git a/packages/plugin-react/package.json b/packages/plugin-react/package.json index eb0e7c9..52ab1b3 100644 --- a/packages/plugin-react/package.json +++ b/packages/plugin-react/package.json @@ -4,7 +4,8 @@ "license": "MIT", "author": "Evan You", "contributors": [ - "Alec Larson" + "Alec Larson", + "Arnaud Barré" ], "files": [ "dist" @@ -21,7 +22,7 @@ }, "scripts": { "dev": "unbuild --stub", - "build": "unbuild && pnpm run patch-cjs", + "build": "unbuild && pnpm run patch-cjs && tsx scripts/copyRefreshUtils.ts", "patch-cjs": "tsx ../../scripts/patchCJS.ts", "prepublishOnly": "npm run build" }, @@ -45,6 +46,6 @@ "react-refresh": "^0.14.0" }, "peerDependencies": { - "vite": "^4.0.0" + "vite": "^4.1.0-beta.0" } } diff --git a/packages/plugin-react/scripts/copyRefreshUtils.ts b/packages/plugin-react/scripts/copyRefreshUtils.ts new file mode 100644 index 0000000..977f644 --- /dev/null +++ b/packages/plugin-react/scripts/copyRefreshUtils.ts @@ -0,0 +1,3 @@ +import { copyFileSync } from 'node:fs' + +copyFileSync('src/refreshUtils.js', 'dist/refreshUtils.js') diff --git a/packages/plugin-react/src/fast-refresh.ts b/packages/plugin-react/src/fast-refresh.ts index 9503d5c..dd0d808 100644 --- a/packages/plugin-react/src/fast-refresh.ts +++ b/packages/plugin-react/src/fast-refresh.ts @@ -16,14 +16,7 @@ const runtimeFilePath = path.join( export const runtimeCode = ` const exports = {} ${fs.readFileSync(runtimeFilePath, 'utf-8')} -function debounce(fn, delay) { - let handle - return () => { - clearTimeout(handle) - handle = setTimeout(fn, delay) - } -} -exports.performReactRefresh = debounce(exports.performReactRefresh, 16) +${fs.readFileSync(_require.resolve('./refreshUtils.js'), 'utf-8')} export default exports ` @@ -57,58 +50,25 @@ if (import.meta.hot) { window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform; }`.replace(/\n+/g, '') -const timeout = ` - if (!window.__vite_plugin_react_timeout) { - window.__vite_plugin_react_timeout = setTimeout(() => { - window.__vite_plugin_react_timeout = 0; - RefreshRuntime.performReactRefresh(); - }, 30); - } -` - -const checkAndAccept = ` -function isReactRefreshBoundary(mod) { - if (mod == null || typeof mod !== 'object') { - return false; - } - let hasExports = false; - let areAllExportsComponents = true; - for (const exportName in mod) { - hasExports = true; - if (exportName === '__esModule') { - continue; - } - const desc = Object.getOwnPropertyDescriptor(mod, exportName); - if (desc && desc.get) { - // Don't invoke getters as they may have side effects. - return false; - } - const exportValue = mod[exportName]; - if (!RefreshRuntime.isLikelyComponentType(exportValue)) { - areAllExportsComponents = false; - } - } - return hasExports && areAllExportsComponents; -} - -import.meta.hot.accept(mod => { - if (!mod) return; - if (isReactRefreshBoundary(mod)) { - ${timeout} - } else { - import.meta.hot.invalidate(); - } -}); -` - const footer = ` if (import.meta.hot) { window.$RefreshReg$ = prevRefreshReg; window.$RefreshSig$ = prevRefreshSig; - ${checkAndAccept} + import(/* @vite-ignore */ import.meta.url).then((currentExports) => { + RefreshRuntime.registerExportsForReactRefresh(__SOURCE__, currentExports); + import.meta.hot.accept((nextExports) => { + if (!nextExports) return; + const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate(currentExports, nextExports); + if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage); + }); + }); }` export function addRefreshWrapper(code: string, id: string): string { - return header.replace('__SOURCE__', JSON.stringify(id)) + code + footer + return ( + header.replace('__SOURCE__', JSON.stringify(id)) + + code + + footer.replace('__SOURCE__', JSON.stringify(id)) + ) } diff --git a/packages/plugin-react/src/refreshUtils.js b/packages/plugin-react/src/refreshUtils.js new file mode 100644 index 0000000..2521181 --- /dev/null +++ b/packages/plugin-react/src/refreshUtils.js @@ -0,0 +1,57 @@ +function debounce(fn, delay) { + let handle + return () => { + clearTimeout(handle) + handle = setTimeout(fn, delay) + } +} + +const enqueueUpdate = debounce(exports.performReactRefresh, 16) + +// Taken from https://github.com/pmmmwh/react-refresh-webpack-plugin/blob/main/lib/runtime/RefreshUtils.js#L141 +// This allows to resister components not detected by SWC like styled component +function registerExportsForReactRefresh(filename, moduleExports) { + for (const key in moduleExports) { + if (key === '__esModule') continue + const exportValue = moduleExports[key] + if (exports.isLikelyComponentType(exportValue)) { + exports.register(exportValue, filename + ' ' + key) + } + } +} + +function validateRefreshBoundaryAndEnqueueUpdate(prevExports, nextExports) { + if (!predicateOnExport(prevExports, (key) => !!nextExports[key])) { + return 'Could not Fast Refresh (export removed)' + } + + let hasExports = false + const allExportsAreComponentsOrUnchanged = predicateOnExport( + nextExports, + (key, value) => { + hasExports = true + if (exports.isLikelyComponentType(value)) return true + if (!prevExports[key]) return false + return prevExports[key] === nextExports[key] + }, + ) + if (hasExports && allExportsAreComponentsOrUnchanged) { + enqueueUpdate() + } else { + return 'Could not Fast Refresh. Learn more at https://github.com/vitejs/vite-plugin-react#consistent-components-exports' + } +} + +function predicateOnExport(moduleExports, predicate) { + for (const key in moduleExports) { + if (key === '__esModule') continue + const desc = Object.getOwnPropertyDescriptor(moduleExports, key) + if (desc && desc.get) return false + if (!predicate(key, moduleExports[key])) return false + } + return true +} + +exports.registerExportsForReactRefresh = registerExportsForReactRefresh +exports.validateRefreshBoundaryAndEnqueueUpdate = + validateRefreshBoundaryAndEnqueueUpdate diff --git a/packages/plugin-react/tsconfig.json b/packages/plugin-react/tsconfig.json index 3a3117f..5785b0e 100644 --- a/packages/plugin-react/tsconfig.json +++ b/packages/plugin-react/tsconfig.json @@ -1,5 +1,5 @@ { - "include": ["src"], + "include": ["src", "scripts"], "exclude": ["**/*.spec.ts"], "compilerOptions": { "outDir": "dist", diff --git a/playground/package.json b/playground/package.json index f0c5603..799ac69 100644 --- a/playground/package.json +++ b/playground/package.json @@ -3,7 +3,6 @@ "private": true, "version": "1.0.0", "devDependencies": { - "css-color-names": "^1.0.1", "kill-port": "^1.6.1", "node-fetch": "^3.3.0" } diff --git a/playground/react-emotion/App.jsx b/playground/react-emotion/App.jsx index b371536..b1d3f58 100644 --- a/playground/react-emotion/App.jsx +++ b/playground/react-emotion/App.jsx @@ -1,24 +1,8 @@ import { useState } from 'react' -import { css } from '@emotion/react' - import _Switch from 'react-switch' +import { Counter, StyledCode } from './Counter' const Switch = _Switch.default || _Switch -export function Counter() { - const [count, setCount] = useState(0) - - return ( - - ) -} - function FragmentTest() { const [checked, setChecked] = useState(false) return ( @@ -38,7 +22,7 @@ function App() {

Hello Vite + React + @emotion/react

- Edit App.jsx and save to test HMR updates. + Edit App.jsx and save to test HMR updates.

setCount((count) => count + 1)} + > + count is: {count} + + ) +} diff --git a/playground/react-emotion/__tests__/react.spec.ts b/playground/react-emotion/__tests__/react.spec.ts index f4625da..222c9a7 100644 --- a/playground/react-emotion/__tests__/react.spec.ts +++ b/playground/react-emotion/__tests__/react.spec.ts @@ -1,5 +1,5 @@ import { expect, test } from 'vitest' -import { editFile, page, untilUpdated } from '~utils' +import { editFile, getColor, page, untilUpdated } from '~utils' test('should render', async () => { expect(await page.textContent('h1')).toMatch( @@ -18,6 +18,13 @@ test('should hmr', async () => { code.replace('Vite + React + @emotion/react', 'Updated'), ) await untilUpdated(() => page.textContent('h1'), 'Hello Updated') + + editFile('Counter.jsx', (code) => + code.replace('color: #646cff;', 'color: #d26ac2;'), + ) + + await untilUpdated(() => getColor('code'), '#d26ac2') + // preserve state expect(await page.textContent('button')).toMatch('count is: 1') }) @@ -35,7 +42,7 @@ test('should update button style', async () => { expect(await getButtonBorderStyle()).toMatch('2px solid rgb(0, 0, 0)') - editFile('App.jsx', (code) => + editFile('Counter.jsx', (code) => code.replace('border: 2px solid #000', 'border: 4px solid red'), ) diff --git a/playground/react-emotion/package.json b/playground/react-emotion/package.json index 58f35cd..63eea0a 100644 --- a/playground/react-emotion/package.json +++ b/playground/react-emotion/package.json @@ -10,6 +10,7 @@ }, "dependencies": { "@emotion/react": "^11.10.5", + "@emotion/styled": "^11.10.5", "react": "^18.2.0", "react-dom": "^18.2.0", "react-switch": "^7.0.0" diff --git a/playground/react/__tests__/react.spec.ts b/playground/react/__tests__/react.spec.ts index d9b4d01..120852c 100644 --- a/playground/react/__tests__/react.spec.ts +++ b/playground/react/__tests__/react.spec.ts @@ -78,7 +78,7 @@ if (!isBuild) { code.replace('An Object', 'Updated'), ), [ - '[vite] invalidate /hmr/no-exported-comp.jsx', + '[vite] invalidate /hmr/no-exported-comp.jsx: Could not Fast Refresh. Learn more at https://github.com/vitejs/vite-plugin-react#consistent-components-exports', '[vite] hot updated: /hmr/no-exported-comp.jsx', '[vite] hot updated: /hmr/parent.jsx', 'Parent rendered', @@ -103,7 +103,7 @@ if (!isBuild) { code.replace('context provider', 'context provider updated'), ), [ - '[vite] invalidate /context/CountProvider.jsx', + '[vite] invalidate /context/CountProvider.jsx: Could not Fast Refresh. Learn more at https://github.com/vitejs/vite-plugin-react#consistent-components-exports', '[vite] hot updated: /context/CountProvider.jsx', '[vite] hot updated: /App.jsx', '[vite] hot updated: /context/ContextButton.jsx', diff --git a/playground/shims.d.ts b/playground/shims.d.ts index 8f1b2bd..fbc5dbe 100644 --- a/playground/shims.d.ts +++ b/playground/shims.d.ts @@ -1,8 +1,3 @@ -declare module 'css-color-names' { - const colors: Record - export default colors -} - declare module 'kill-port' { const kill: (port: number) => Promise export default kill diff --git a/playground/test-utils.ts b/playground/test-utils.ts index 2c9de3f..4b13bcf 100644 --- a/playground/test-utils.ts +++ b/playground/test-utils.ts @@ -3,7 +3,6 @@ import fs from 'node:fs' import path from 'node:path' -import colors from 'css-color-names' import type { ConsoleMessage, ElementHandle } from 'playwright-chromium' import { expect } from 'vitest' import { isBuild, page, testDir } from './vitestSetup' @@ -18,11 +17,6 @@ export const hmrPorts = { 'ssr-react': 24685, } -const hexToNameMap: Record = {} -Object.keys(colors).forEach((color) => { - hexToNameMap[colors[color]] = color -}) - function componentToHex(c: number): string { const hex = c.toString(16) return hex.length === 1 ? '0' + hex : hex @@ -55,7 +49,7 @@ async function toEl(el: string | ElementHandle): Promise { export async function getColor(el: string | ElementHandle): Promise { el = await toEl(el) const rgb = await el.evaluate((el) => getComputedStyle(el as Element).color) - return hexToNameMap[rgbToHex(rgb)] ?? rgb + return rgbToHex(rgb) } export async function getBg(el: string | ElementHandle): Promise { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1ef5f35..3bca6c3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,20 +24,20 @@ importers: picocolors: ^1.0.0 playwright-chromium: ^1.29.2 prettier: 2.8.3 - rollup: ^3.7.0 + rollup: ^3.10.1 simple-git-hooks: ^2.8.1 tsx: ^3.12.2 - typescript: ^4.6.4 + typescript: ^4.9.4 unbuild: ^1.1.1 - vite: ^4.0.4 + vite: ^4.1.0-beta.0 vitest: ^0.27.3 devDependencies: '@types/babel__core': 7.20.0 '@types/execa': 2.0.0 '@types/fs-extra': 11.0.1 '@types/node': 18.11.18 - '@typescript-eslint/eslint-plugin': 5.48.2_wzs3sdvp7zgvhxvv2vf3r2alwq - '@typescript-eslint/parser': 5.48.2_67vzcjuho73k66wgdlnuklaoyu + '@typescript-eslint/eslint-plugin': 5.48.2_caon6io6stgpr7lz2rtbhekxqy + '@typescript-eslint/parser': 5.48.2_7uibuqfxkfaozanbtbziikiqje '@vitejs/release-scripts': 1.0.4 conventional-changelog-cli: 2.2.2 eslint: 8.32.0 @@ -52,12 +52,12 @@ importers: picocolors: 1.0.0 playwright-chromium: 1.29.2 prettier: 2.8.3 - rollup: 3.7.0 + rollup: 3.10.1 simple-git-hooks: 2.8.1 tsx: 3.12.2 - typescript: 4.9.3 + typescript: 4.9.4 unbuild: 1.1.1 - vite: 4.0.4_@types+node@18.11.18 + vite: 4.1.0-beta.0_@types+node@18.11.18 vitest: 0.27.3 packages/plugin-react: @@ -76,11 +76,9 @@ importers: playground: specifiers: - css-color-names: ^1.0.1 kill-port: ^1.6.1 node-fetch: ^3.3.0 devDependencies: - css-color-names: 1.0.1 kill-port: 1.6.1 node-fetch: 3.3.0 @@ -113,12 +111,14 @@ importers: '@babel/plugin-proposal-pipeline-operator': ^7.18.9 '@emotion/babel-plugin': ^11.10.5 '@emotion/react': ^11.10.5 + '@emotion/styled': ^11.10.5 '@vitejs/plugin-react': workspace:* react: ^18.2.0 react-dom: ^18.2.0 react-switch: ^7.0.0 dependencies: '@emotion/react': 11.10.5_react@18.2.0 + '@emotion/styled': 11.10.5_hp5f5nkljdiwilp4rgxyefcplu react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-switch: 7.0.0_biqbaboplfbrettd7655fr4n2y @@ -446,6 +446,12 @@ packages: /@emotion/hash/0.9.0: resolution: {integrity: sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==} + /@emotion/is-prop-valid/1.2.0: + resolution: {integrity: sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==} + dependencies: + '@emotion/memoize': 0.8.0 + dev: false + /@emotion/memoize/0.8.0: resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==} @@ -485,6 +491,29 @@ packages: resolution: {integrity: sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==} dev: false + /@emotion/styled/11.10.5_hp5f5nkljdiwilp4rgxyefcplu: + resolution: {integrity: sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==} + peerDependencies: + '@babel/core': ^7.0.0 + '@emotion/react': ^11.0.0-rc.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@babel/core': + optional: true + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.20.6 + '@emotion/babel-plugin': 11.10.5 + '@emotion/is-prop-valid': 1.2.0 + '@emotion/react': 11.10.5_react@18.2.0 + '@emotion/serialize': 1.1.1 + '@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0 + '@emotion/utils': 1.2.0 + react: 18.2.0 + dev: false + /@emotion/unitless/0.8.0: resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==} @@ -542,15 +571,6 @@ packages: dev: true optional: true - /@esbuild/android-arm/0.16.3: - resolution: {integrity: sha512-mueuEoh+s1eRbSJqq9KNBQwI4QhQV6sRXIfTyLXSHGMpyew61rOK4qY21uKbXl1iBoMb0AdL1deWFCQVlN2qHA==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64/0.16.17: resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} engines: {node: '>=12'} @@ -560,15 +580,6 @@ packages: dev: true optional: true - /@esbuild/android-arm64/0.16.3: - resolution: {integrity: sha512-RolFVeinkeraDvN/OoRf1F/lP0KUfGNb5jxy/vkIMeRRChkrX/HTYN6TYZosRJs3a1+8wqpxAo5PI5hFmxyPRg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64/0.16.17: resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} engines: {node: '>=12'} @@ -578,15 +589,6 @@ packages: dev: true optional: true - /@esbuild/android-x64/0.16.3: - resolution: {integrity: sha512-SFpTUcIT1bIJuCCBMCQWq1bL2gPTjWoLZdjmIhjdcQHaUfV41OQfho6Ici5uvvkMmZRXIUGpM3GxysP/EU7ifQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64/0.16.17: resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} engines: {node: '>=12'} @@ -596,15 +598,6 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64/0.16.3: - resolution: {integrity: sha512-DO8WykMyB+N9mIDfI/Hug70Dk1KipavlGAecxS3jDUwAbTpDXj0Lcwzw9svkhxfpCagDmpaTMgxWK8/C/XcXvw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64/0.16.17: resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} engines: {node: '>=12'} @@ -614,15 +607,6 @@ packages: dev: true optional: true - /@esbuild/darwin-x64/0.16.3: - resolution: {integrity: sha512-uEqZQ2omc6BvWqdCiyZ5+XmxuHEi1SPzpVxXCSSV2+Sh7sbXbpeNhHIeFrIpRjAs0lI1FmA1iIOxFozKBhKgRQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64/0.16.17: resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} engines: {node: '>=12'} @@ -632,15 +616,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64/0.16.3: - resolution: {integrity: sha512-nJansp3sSXakNkOD5i5mIz2Is/HjzIhFs49b1tjrPrpCmwgBmH9SSzhC/Z1UqlkivqMYkhfPwMw1dGFUuwmXhw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64/0.16.17: resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} engines: {node: '>=12'} @@ -650,15 +625,6 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64/0.16.3: - resolution: {integrity: sha512-TfoDzLw+QHfc4a8aKtGSQ96Wa+6eimljjkq9HKR0rHlU83vw8aldMOUSJTUDxbcUdcgnJzPaX8/vGWm7vyV7ug==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm/0.16.17: resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} engines: {node: '>=12'} @@ -668,15 +634,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm/0.16.3: - resolution: {integrity: sha512-VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64/0.16.17: resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} engines: {node: '>=12'} @@ -686,15 +643,6 @@ packages: dev: true optional: true - /@esbuild/linux-arm64/0.16.3: - resolution: {integrity: sha512-7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32/0.16.17: resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} engines: {node: '>=12'} @@ -704,15 +652,6 @@ packages: dev: true optional: true - /@esbuild/linux-ia32/0.16.3: - resolution: {integrity: sha512-X8FDDxM9cqda2rJE+iblQhIMYY49LfvW4kaEjoFbTTQ4Go8G96Smj2w3BRTwA8IHGoi9dPOPGAX63dhuv19UqA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64/0.15.18: resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} engines: {node: '>=12'} @@ -731,15 +670,6 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.16.3: - resolution: {integrity: sha512-hIbeejCOyO0X9ujfIIOKjBjNAs9XD/YdJ9JXAy1lHA+8UXuOqbFe4ErMCqMr8dhlMGBuvcQYGF7+kO7waj2KHw==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el/0.16.17: resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} engines: {node: '>=12'} @@ -749,15 +679,6 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el/0.16.3: - resolution: {integrity: sha512-znFRzICT/V8VZQMt6rjb21MtAVJv/3dmKRMlohlShrbVXdBuOdDrGb+C2cZGQAR8RFyRe7HS6klmHq103WpmVw==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64/0.16.17: resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} engines: {node: '>=12'} @@ -767,15 +688,6 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64/0.16.3: - resolution: {integrity: sha512-EV7LuEybxhXrVTDpbqWF2yehYRNz5e5p+u3oQUS2+ZFpknyi1NXxr8URk4ykR8Efm7iu04//4sBg249yNOwy5Q==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64/0.16.17: resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} engines: {node: '>=12'} @@ -785,15 +697,6 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64/0.16.3: - resolution: {integrity: sha512-uDxqFOcLzFIJ+r/pkTTSE9lsCEaV/Y6rMlQjUI9BkzASEChYL/aSQjZjchtEmdnVxDKETnUAmsaZ4pqK1eE5BQ==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x/0.16.17: resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} engines: {node: '>=12'} @@ -803,15 +706,6 @@ packages: dev: true optional: true - /@esbuild/linux-s390x/0.16.3: - resolution: {integrity: sha512-NbeREhzSxYwFhnCAQOQZmajsPYtX71Ufej3IQ8W2Gxskfz9DK58ENEju4SbpIj48VenktRASC52N5Fhyf/aliQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64/0.16.17: resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} engines: {node: '>=12'} @@ -821,15 +715,6 @@ packages: dev: true optional: true - /@esbuild/linux-x64/0.16.3: - resolution: {integrity: sha512-SDiG0nCixYO9JgpehoKgScwic7vXXndfasjnD5DLbp1xltANzqZ425l7LSdHynt19UWOcDjG9wJJzSElsPvk0w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64/0.16.17: resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} engines: {node: '>=12'} @@ -839,15 +724,6 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64/0.16.3: - resolution: {integrity: sha512-AzbsJqiHEq1I/tUvOfAzCY15h4/7Ivp3ff/o1GpP16n48JMNAtbW0qui2WCgoIZArEHD0SUQ95gvR0oSO7ZbdA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64/0.16.17: resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} engines: {node: '>=12'} @@ -857,15 +733,6 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64/0.16.3: - resolution: {integrity: sha512-gSABi8qHl8k3Cbi/4toAzHiykuBuWLZs43JomTcXkjMZVkp0gj3gg9mO+9HJW/8GB5H89RX/V0QP4JGL7YEEVg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64/0.16.17: resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} engines: {node: '>=12'} @@ -875,15 +742,6 @@ packages: dev: true optional: true - /@esbuild/sunos-x64/0.16.3: - resolution: {integrity: sha512-SF9Kch5Ete4reovvRO6yNjMxrvlfT0F0Flm+NPoUw5Z4Q3r1d23LFTgaLwm3Cp0iGbrU/MoUI+ZqwCv5XJijCw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64/0.16.17: resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} engines: {node: '>=12'} @@ -893,15 +751,6 @@ packages: dev: true optional: true - /@esbuild/win32-arm64/0.16.3: - resolution: {integrity: sha512-u5aBonZIyGopAZyOnoPAA6fGsDeHByZ9CnEzyML9NqntK6D/xl5jteZUKm/p6nD09+v3pTM6TuUIqSPcChk5gg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32/0.16.17: resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} engines: {node: '>=12'} @@ -911,15 +760,6 @@ packages: dev: true optional: true - /@esbuild/win32-ia32/0.16.3: - resolution: {integrity: sha512-GlgVq1WpvOEhNioh74TKelwla9KDuAaLZrdxuuUgsP2vayxeLgVc+rbpIv0IYF4+tlIzq2vRhofV+KGLD+37EQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64/0.16.17: resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} engines: {node: '>=12'} @@ -929,15 +769,6 @@ packages: dev: true optional: true - /@esbuild/win32-x64/0.16.3: - resolution: {integrity: sha512-5/JuTd8OWW8UzEtyf19fbrtMJENza+C9JoPIkvItgTBQ1FO2ZLvjbPO6Xs54vk0s5JB5QsfieUEshRQfu7ZHow==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@eslint/eslintrc/1.4.1: resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1038,7 +869,7 @@ packages: engines: {node: '>=14'} dev: false - /@rollup/plugin-alias/4.0.2_rollup@3.10.0: + /@rollup/plugin-alias/4.0.2_rollup@3.10.1: resolution: {integrity: sha512-1hv7dBOZZwo3SEupxn4UA2N0EDThqSSS+wI1St1TNTBtOZvUchyIClyHcnDcjjrReTPZ47Faedrhblv4n+T5UQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1047,11 +878,11 @@ packages: rollup: optional: true dependencies: - rollup: 3.10.0 + rollup: 3.10.1 slash: 4.0.0 dev: true - /@rollup/plugin-commonjs/24.0.0_rollup@3.10.0: + /@rollup/plugin-commonjs/24.0.0_rollup@3.10.1: resolution: {integrity: sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1060,16 +891,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.0 + '@rollup/pluginutils': 5.0.2_rollup@3.10.1 commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.0.3 is-reference: 1.2.1 magic-string: 0.27.0 - rollup: 3.10.0 + rollup: 3.10.1 dev: true - /@rollup/plugin-json/6.0.0_rollup@3.10.0: + /@rollup/plugin-json/6.0.0_rollup@3.10.1: resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1078,11 +909,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.0 - rollup: 3.10.0 + '@rollup/pluginutils': 5.0.2_rollup@3.10.1 + rollup: 3.10.1 dev: true - /@rollup/plugin-node-resolve/15.0.1_rollup@3.10.0: + /@rollup/plugin-node-resolve/15.0.1_rollup@3.10.1: resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1091,16 +922,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.0 + '@rollup/pluginutils': 5.0.2_rollup@3.10.1 '@types/resolve': 1.20.2 deepmerge: 4.2.2 is-builtin-module: 3.2.0 is-module: 1.0.0 resolve: 1.22.1 - rollup: 3.10.0 + rollup: 3.10.1 dev: true - /@rollup/plugin-replace/5.0.2_rollup@3.10.0: + /@rollup/plugin-replace/5.0.2_rollup@3.10.1: resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1109,12 +940,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.0 + '@rollup/pluginutils': 5.0.2_rollup@3.10.1 magic-string: 0.27.0 - rollup: 3.10.0 + rollup: 3.10.1 dev: true - /@rollup/pluginutils/5.0.2_rollup@3.10.0: + /@rollup/pluginutils/5.0.2_rollup@3.10.1: resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1126,7 +957,7 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.10.0 + rollup: 3.10.1 dev: true /@types/babel__core/7.20.0: @@ -1223,7 +1054,7 @@ packages: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@typescript-eslint/eslint-plugin/5.48.2_wzs3sdvp7zgvhxvv2vf3r2alwq: + /@typescript-eslint/eslint-plugin/5.48.2_caon6io6stgpr7lz2rtbhekxqy: resolution: {integrity: sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1234,23 +1065,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.48.2_67vzcjuho73k66wgdlnuklaoyu + '@typescript-eslint/parser': 5.48.2_7uibuqfxkfaozanbtbziikiqje '@typescript-eslint/scope-manager': 5.48.2 - '@typescript-eslint/type-utils': 5.48.2_67vzcjuho73k66wgdlnuklaoyu - '@typescript-eslint/utils': 5.48.2_67vzcjuho73k66wgdlnuklaoyu + '@typescript-eslint/type-utils': 5.48.2_7uibuqfxkfaozanbtbziikiqje + '@typescript-eslint/utils': 5.48.2_7uibuqfxkfaozanbtbziikiqje debug: 4.3.4 eslint: 8.32.0 ignore: 5.2.1 natural-compare-lite: 1.4.0 regexpp: 3.2.0 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.3 - typescript: 4.9.3 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.48.2_67vzcjuho73k66wgdlnuklaoyu: + /@typescript-eslint/parser/5.48.2_7uibuqfxkfaozanbtbziikiqje: resolution: {integrity: sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1262,10 +1093,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.48.2 '@typescript-eslint/types': 5.48.2 - '@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.3 + '@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.4 debug: 4.3.4 eslint: 8.32.0 - typescript: 4.9.3 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true @@ -1278,7 +1109,7 @@ packages: '@typescript-eslint/visitor-keys': 5.48.2 dev: true - /@typescript-eslint/type-utils/5.48.2_67vzcjuho73k66wgdlnuklaoyu: + /@typescript-eslint/type-utils/5.48.2_7uibuqfxkfaozanbtbziikiqje: resolution: {integrity: sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1288,12 +1119,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.3 - '@typescript-eslint/utils': 5.48.2_67vzcjuho73k66wgdlnuklaoyu + '@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.4 + '@typescript-eslint/utils': 5.48.2_7uibuqfxkfaozanbtbziikiqje debug: 4.3.4 eslint: 8.32.0 - tsutils: 3.21.0_typescript@4.9.3 - typescript: 4.9.3 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true @@ -1303,7 +1134,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.48.2_typescript@4.9.3: + /@typescript-eslint/typescript-estree/5.48.2_typescript@4.9.4: resolution: {integrity: sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1318,13 +1149,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.3 - typescript: 4.9.3 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.48.2_67vzcjuho73k66wgdlnuklaoyu: + /@typescript-eslint/utils/5.48.2_7uibuqfxkfaozanbtbziikiqje: resolution: {integrity: sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1334,7 +1165,7 @@ packages: '@types/semver': 7.3.13 '@typescript-eslint/scope-manager': 5.48.2 '@typescript-eslint/types': 5.48.2 - '@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.3 + '@typescript-eslint/typescript-estree': 5.48.2_typescript@4.9.4 eslint: 8.32.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@8.32.0 @@ -1993,10 +1824,6 @@ packages: which: 2.0.2 dev: true - /css-color-names/1.0.1: - resolution: {integrity: sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==} - dev: true - /csstype/3.1.1: resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} @@ -2440,36 +2267,6 @@ packages: '@esbuild/win32-x64': 0.16.17 dev: true - /esbuild/0.16.3: - resolution: {integrity: sha512-71f7EjPWTiSguen8X/kxEpkAS7BFHwtQKisCDDV3Y4GLGWBaoSCyD5uXkaUew6JDzA9FEN1W23mdnSwW9kqCeg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.16.3 - '@esbuild/android-arm64': 0.16.3 - '@esbuild/android-x64': 0.16.3 - '@esbuild/darwin-arm64': 0.16.3 - '@esbuild/darwin-x64': 0.16.3 - '@esbuild/freebsd-arm64': 0.16.3 - '@esbuild/freebsd-x64': 0.16.3 - '@esbuild/linux-arm': 0.16.3 - '@esbuild/linux-arm64': 0.16.3 - '@esbuild/linux-ia32': 0.16.3 - '@esbuild/linux-loong64': 0.16.3 - '@esbuild/linux-mips64el': 0.16.3 - '@esbuild/linux-ppc64': 0.16.3 - '@esbuild/linux-riscv64': 0.16.3 - '@esbuild/linux-s390x': 0.16.3 - '@esbuild/linux-x64': 0.16.3 - '@esbuild/netbsd-x64': 0.16.3 - '@esbuild/openbsd-x64': 0.16.3 - '@esbuild/sunos-x64': 0.16.3 - '@esbuild/win32-arm64': 0.16.3 - '@esbuild/win32-ia32': 0.16.3 - '@esbuild/win32-x64': 0.16.3 - dev: true - /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -2522,7 +2319,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.48.2_67vzcjuho73k66wgdlnuklaoyu + '@typescript-eslint/parser': 5.48.2_7uibuqfxkfaozanbtbziikiqje debug: 3.2.7 eslint: 8.32.0 eslint-import-resolver-node: 0.3.7 @@ -2551,7 +2348,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.48.2_67vzcjuho73k66wgdlnuklaoyu + '@typescript-eslint/parser': 5.48.2_7uibuqfxkfaozanbtbziikiqje array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -4526,7 +4323,7 @@ packages: glob: 7.2.3 dev: true - /rollup-plugin-dts/5.1.1_eymahajmafh3u7vrzmo7ylp2pa: + /rollup-plugin-dts/5.1.1_p3yyytxbmytz5gvmi4zzszibjy: resolution: {integrity: sha512-zpgo52XmnLg8w4k3MScinFHZK1+ro6r7uVe34fJ0Ee8AM45FvgvTuvfWWaRgIpA4pQ1BHJuu2ospncZhkcJVeA==} engines: {node: '>=v14'} peerDependencies: @@ -4534,22 +4331,14 @@ packages: typescript: ^4.1 dependencies: magic-string: 0.27.0 - rollup: 3.10.0 + rollup: 3.10.1 typescript: 4.9.4 optionalDependencies: '@babel/code-frame': 7.18.6 dev: true - /rollup/3.10.0: - resolution: {integrity: sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /rollup/3.7.0: - resolution: {integrity: sha512-FIJe0msW9P7L9BTfvaJyvn1U1BVCNTL3w8O+PKIrCyiMLg+rIUGb4MbcgVZ10Lnm1uWXOTOWRNARjfXC1+M12Q==} + /rollup/3.10.1: + resolution: {integrity: sha512-3Er+yel3bZbZX1g2kjVM+FW+RUWDxbG87fcqFM5/9HbPCTpbVp6JOLn7jlxnNlbu7s/N/uDA4EV/91E2gWnxzw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -5035,14 +4824,14 @@ packages: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} dev: true - /tsutils/3.21.0_typescript@4.9.3: + /tsutils/3.21.0_typescript@4.9.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.3 + typescript: 4.9.4 dev: true /tsx/3.12.2: @@ -5101,12 +4890,6 @@ packages: mime-types: 2.1.35 dev: true - /typescript/4.9.3: - resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - /typescript/4.9.4: resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} engines: {node: '>=4.2.0'} @@ -5138,12 +4921,12 @@ packages: resolution: {integrity: sha512-HlhHj6cUPBQJmhoczQoU6dzdTFO0Jr9EiGWEZ1EwHGXlGRR6LXcKyfX3PMrkM48uWJjBWiCgTQdkFOAk3tlK6Q==} hasBin: true dependencies: - '@rollup/plugin-alias': 4.0.2_rollup@3.10.0 - '@rollup/plugin-commonjs': 24.0.0_rollup@3.10.0 - '@rollup/plugin-json': 6.0.0_rollup@3.10.0 - '@rollup/plugin-node-resolve': 15.0.1_rollup@3.10.0 - '@rollup/plugin-replace': 5.0.2_rollup@3.10.0 - '@rollup/pluginutils': 5.0.2_rollup@3.10.0 + '@rollup/plugin-alias': 4.0.2_rollup@3.10.1 + '@rollup/plugin-commonjs': 24.0.0_rollup@3.10.1 + '@rollup/plugin-json': 6.0.0_rollup@3.10.1 + '@rollup/plugin-node-resolve': 15.0.1_rollup@3.10.1 + '@rollup/plugin-replace': 5.0.2_rollup@3.10.1 + '@rollup/pluginutils': 5.0.2_rollup@3.10.1 chalk: 5.2.0 consola: 2.15.3 defu: 6.1.1 @@ -5159,8 +4942,8 @@ packages: pathe: 1.0.0 pkg-types: 1.0.1 pretty-bytes: 6.0.0 - rollup: 3.10.0 - rollup-plugin-dts: 5.1.1_eymahajmafh3u7vrzmo7ylp2pa + rollup: 3.10.1 + rollup-plugin-dts: 5.1.1_p3yyytxbmytz5gvmi4zzszibjy scule: 1.0.0 typescript: 4.9.4 untyped: 1.2.2 @@ -5282,10 +5065,44 @@ packages: optional: true dependencies: '@types/node': 18.11.18 - esbuild: 0.16.3 + esbuild: 0.16.17 + postcss: 8.4.20 + resolve: 1.22.1 + rollup: 3.10.1 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vite/4.1.0-beta.0_@types+node@18.11.18: + resolution: {integrity: sha512-8ckl5OzA82YcZjAmnUzmLzK9FHluq7hMNrxeb8sMLE8znvBF9lcyR9A8s0q33Ebc+ZqgXcWSESUyycJhMZtgGw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 18.11.18 + esbuild: 0.16.17 postcss: 8.4.20 resolve: 1.22.1 - rollup: 3.7.0 + rollup: 3.10.1 optionalDependencies: fsevents: 2.3.2 dev: true