From 48017b742bdf5d6f2809098342f8269be41620ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Barr=C3=A9?= Date: Wed, 25 Jan 2023 14:52:48 +0100 Subject: [PATCH] feat: invalidate message and fix HMR for HOC, class component & styled component (#79) --- .github/renovate.json5 | 2 - package.json | 6 +- packages/plugin-react/README.md | 8 + packages/plugin-react/package.json | 7 +- .../plugin-react/scripts/copyRefreshUtils.ts | 3 + packages/plugin-react/src/fast-refresh.ts | 68 +-- packages/plugin-react/src/refreshUtils.js | 57 +++ packages/plugin-react/tsconfig.json | 2 +- playground/package.json | 1 - playground/react-emotion/App.jsx | 20 +- playground/react-emotion/Counter.jsx | 23 + .../react-emotion/__tests__/react.spec.ts | 11 +- playground/react-emotion/package.json | 1 + playground/react/__tests__/react.spec.ts | 4 +- playground/shims.d.ts | 5 - playground/test-utils.ts | 8 +- pnpm-lock.yaml | 435 +++++------------- 17 files changed, 254 insertions(+), 407 deletions(-) create mode 100644 packages/plugin-react/scripts/copyRefreshUtils.ts create mode 100644 packages/plugin-react/src/refreshUtils.js create mode 100644 playground/react-emotion/Counter.jsx 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