diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 6f10675c2f33ce..948041496208bb 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -10,6 +10,7 @@ module.exports = defineConfig({ 'plugin:@typescript-eslint/recommended', 'plugin:regexp/recommended', ], + ignorePatterns: ['packages/create-vite/template-**'], plugins: ['import', 'regexp'], parser: '@typescript-eslint/parser', parserOptions: { @@ -180,6 +181,21 @@ module.exports = defineConfig({ '@typescript-eslint/no-empty-function': 'off', }, }, + { + files: ['playground/**'], + excludedFiles: [ + 'playground/ssr-resolve/**', + 'playground/**/*{commonjs,cjs}*/**', + 'playground/**/*{commonjs,cjs}*', + 'playground/**/*dep*/**', + 'playground/resolve/browser-module-field2/index.web.js', + 'playground/resolve/browser-field/**', + 'playground/tailwind/**', // blocked by https://github.com/postcss/postcss-load-config/issues/239 + ], + rules: { + 'import/no-commonjs': 'error', + }, + }, { files: [ 'playground/tsconfig-json/**', diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 49a811bd741a6f..04b2c3f1f3fca0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@9328bab880abf4acc377d77718d28c6ac167f154 # v35.7.2 + uses: tj-actions/changed-files@cf4fe8759a45edd76ed6215da3529d2dbd2a3c68 # v36.0.9 with: files: | docs/** diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d167d77f6442a8..8a37bb1f6685ae 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,6 +12,9 @@ jobs: # prevents this action from running on forks if: github.repository == 'vitejs/vite' runs-on: ubuntu-latest + permissions: + contents: read + id-token: write environment: Release steps: - name: Checkout diff --git a/.npmrc b/.npmrc index 4d97f291fd1e49..f1b91089bd4116 100644 --- a/.npmrc +++ b/.npmrc @@ -1,10 +1,6 @@ -hoist-pattern[]=*eslint* -hoist-pattern[]=*babel* -hoist-pattern[]=@emotion/* -hoist-pattern[]=postcss -hoist-pattern[]=pug -hoist-pattern[]=source-map-support -hoist-pattern[]=ts-node +hoist-pattern[]=ts-node # package/vite: postcss-load-config +hoist-pattern[]=postcss # package/vite +hoist-pattern[]=pug # playground/tailwind: @vue/compiler-sfc strict-peer-dependencies=false shell-emulator=true auto-install-peers=false diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 977420800979cf..62d5e110698150 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -136,6 +136,7 @@ export default defineConfig({ text: 'Resources', items: [ { text: 'Team', link: '/team' }, + { text: 'Releases', link: '/releases' }, { items: [ { diff --git a/docs/.vitepress/theme/composables/sponsor.ts b/docs/.vitepress/theme/composables/sponsor.ts index 3251509acc589d..096927d4521ef3 100644 --- a/docs/.vitepress/theme/composables/sponsor.ts +++ b/docs/.vitepress/theme/composables/sponsor.ts @@ -21,8 +21,27 @@ const data = ref() const dataHost = 'https://sponsors.vuejs.org' const dataUrl = `${dataHost}/vite.json` -// no sponsors yet :( -const viteSponsors: Pick = { +const viteSponsors: Pick = { + special: [ + // sponsors patak-dev + { + name: 'StackBlitz', + url: 'https://stackblitz.com', + img: '/stackblitz.svg', + }, + // sponsors antfu + { + name: 'NuxtLabs', + url: 'https://nuxtlabs.com', + img: '/nuxtlabs.svg', + }, + // sponsors bluwy + { + name: 'Astro', + url: 'https://astro.build', + img: '/astro.svg', + }, + ], gold: [], } @@ -46,7 +65,12 @@ export function useSponsor() { function mapSponsors(sponsors: Sponsors) { return [ { - tier: 'Platinum Sponsor', + tier: 'Special Sponsors', + size: 'big', + items: viteSponsors['special'], + }, + { + tier: 'Platinum Sponsors', size: 'big', items: mapImgPath(sponsors['platinum']), }, @@ -58,9 +82,20 @@ function mapSponsors(sponsors: Sponsors) { ] } +const viteSponsorNames = new Set( + Object.values(viteSponsors).flatMap((sponsors) => + sponsors.map((s) => s.name), + ), +) + +/** + * Map Vue/Vite sponsors data to objects and filter out Vite-specific sponsors + */ function mapImgPath(sponsors: Sponsor[]) { - return sponsors.map((sponsor) => ({ - ...sponsor, - img: `${dataHost}/images/${sponsor.img}`, - })) + return sponsors + .filter((sponsor) => !viteSponsorNames.has(sponsor.name)) + .map((sponsor) => ({ + ...sponsor, + img: `${dataHost}/images/${sponsor.img}`, + })) } diff --git a/docs/.vitepress/theme/styles/vars.css b/docs/.vitepress/theme/styles/vars.css index 8af0ae2653a204..58e5e79ff0f703 100644 --- a/docs/.vitepress/theme/styles/vars.css +++ b/docs/.vitepress/theme/styles/vars.css @@ -114,3 +114,7 @@ .dark .vp-doc .custom-block a { transition: color 0.25s; } + +.vp-sponsor.aside .vp-sponsor-grid.mini .vp-sponsor-grid-image { + max-width: 124px; +} diff --git a/docs/blog/announcing-vite4-3.md b/docs/blog/announcing-vite4-3.md new file mode 100644 index 00000000000000..756c3579d1bed0 --- /dev/null +++ b/docs/blog/announcing-vite4-3.md @@ -0,0 +1,86 @@ +--- +sidebar: false +head: + - - meta + - property: og:type + content: website + - - meta + - property: og:title + content: Announcing Vite 4.3 + - - meta + - property: og:image + content: https://vitejs.dev/og-image-announcing-vite4-3.png + - - meta + - property: og:url + content: https://vitejs.dev/blog/announcing-vite4-3 + - - meta + - property: og:description + content: Vite 4.3 Release Announcement + - - meta + - name: twitter:card + content: summary_large_image +--- + +# Vite 4.3 is out! + +_April 20, 2023_ + +![Vite 4.3 Announcement Cover Image](/og-image-announcing-vite4-3.png) + +Quick links: + +- Docs: [English](/), [简体中文](https://cn.vitejs.dev/), [日本語](https://ja.vitejs.dev/), [Español](https://es.vitejs.dev/), [Português](https://pt.vitejs.dev/) +- [Vite 4.3 Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#430-2023-04-20) + +## Performance Improvements + +In this minor, we focused on improving the dev server performance. The resolve logic got streamlined, improving hot paths and implementing smarter caching for finding `package.json`, TS config files, and resolved URL in general. + +You can read a detailed walkthrough of the performance work done in this blog post by one of Vite Contributors: [How we made Vite 4.3 faaaaster 🚀](https://sun0day.github.io/blog/vite/why-vite4_3-is-faster.html). + +This sprint resulted in speed improvements across the board compared to Vite 4.2. + +These are the performance improvements as measured by [sapphi-red/performance-compare](https://github.com/sapphi-red/performance-compare), which tests an app with 1000 React Components cold and warm dev server startup time as well as HMR times for a root and a leaf component: + +| **Vite (babel)** | Vite 4.2 | Vite 4.3 | Improvement | +| :----------------- | --------: | -------: | ----------: | +| **dev cold start** | 17249.0ms | 5132.4ms | -70.2% | +| **dev warm start** | 6027.8ms | 4536.1ms | -24.7% | +| **Root HMR** | 46.8ms | 26.7ms | -42.9% | +| **Leaf HMR** | 27.0ms | 12.9ms | -52.2% | + +| **Vite (swc)** | Vite 4.2 | Vite 4.3 | Improvement | +| :----------------- | --------: | -------: | ----------: | +| **dev cold start** | 13552.5ms | 3201.0ms | -76.4% | +| **dev warm start** | 4625.5ms | 2834.4ms | -38.7% | +| **Root HMR** | 30.5ms | 24.0ms | -21.3% | +| **Leaf HMR** | 16.9ms | 10.0ms | -40.8% | + +![Vite 4.3 vs 4.2 startup time comparison](/vite4-3-startup-time.png) + +![Vite 4.3 vs 4.2 HMR time comparison](/vite4-3-hmr-time.png) + +You can read more information about the benchmark [here](https://gist.github.com/sapphi-red/25be97327ee64a3c1dce793444afdf6e). Specs and Versions for this performance run: + +- CPU: Ryzen 9 5900X, Memory: DDR4-3600 32GB, SSD: WD Blue SN550 NVME SSD +- Windows 10 Pro 21H2 19044.2846 +- Node.js 18.16.0 +- Vite and React Plugin versions + - Vite 4.2 (babel): Vite 4.2.1 + plugin-react 3.1.0 + - Vite 4.3 (babel): Vite 4.3.0 + plugin-react 4.0.0-beta.1 + - Vite 4.2 (swc): Vite 4.2.1 + plugin-react-swc 3.2.0 + - Vite 4.3 (swc): Vite 4.3.0 + plugin-react-swc 3.3.0 + +Early adopters have also reported seeing 1.5x-2x dev startup time improvement on real apps while testing the Vite 4.3 beta. We'd love to know the results for your apps. + +## Profiling + +We'll continue to work on Vite's performance. We're working on an official [Benchmark tool](https://github.com/vitejs/vite-benchmark) for Vite that let us get performance metrics for each Pull Request. + +And [vite-plugin-inspect](https://github.com/antfu/vite-plugin-inspect) now has more performance-related features to help you identify which plugins or middlewares are the bottleneck for your applications. + +Using `vite --profile` (and then pressing `p`) once the page loads will save a CPU profile of the dev server startup. You can open them in an app as [speedscope](https://www.speedscope.app/) to identify performance issues. And you can share your findings with the Vite Team in a [Discussion](https://github.com/vitejs/vite/discussions) or in [Vite's Discord](https://chat.vitejs.dev). + +## Next Steps + +We decided to do a single Vite Major this year aligning with the [EOL of Node.js 16](https://endoflife.date/nodejs) in September, dropping support for both Node.js 14 and 16 in it. If you would like to get involved, we started a [Vite 5 Discussion](https://github.com/vitejs/vite/discussions/12466) to gather early feedback. diff --git a/docs/config/build-options.md b/docs/config/build-options.md index ff4dbbd50e3bbf..22306a7eabcc3b 100644 --- a/docs/config/build-options.md +++ b/docs/config/build-options.md @@ -98,7 +98,7 @@ If you specify `build.lib`, `build.assetsInlineLimit` will be ignored and assets - **Type:** `boolean` - **Default:** `true` -Enable/disable CSS code splitting. When enabled, CSS imported in async chunks will be inlined into the async chunk itself and inserted when the chunk is loaded. +Enable/disable CSS code splitting. When enabled, CSS imported in async JS chunks will be preserved as chunks and fetched together when the chunk is fetched. If disabled, all CSS in the entire project will be extracted into a single CSS file. diff --git a/docs/config/dep-optimization-options.md b/docs/config/dep-optimization-options.md index 6c7f372a02109c..60fb26cf8f4249 100644 --- a/docs/config/dep-optimization-options.md +++ b/docs/config/dep-optimization-options.md @@ -65,3 +65,10 @@ Optimizing dependencies in build mode is **experimental**. If enabled, it remove If you want to try this build strategy, you can use `optimizeDeps.disabled: false`. `@rollup/plugin-commonjs` can be removed by passing `build.commonjsOptions: { include: [] }`. ::: + +## optimizeDeps.needsInterop + +- **Experimental** +- **Type:** `string[]` + +Forces ESM interop when importing these dependencies. Vite is able to properly detect when a dependency needs interop, so this option isn't generally needed. However, different combinations of dependencies could cause some of them to be prebundled differently. Adding these packages to `needsInterop` can speed up cold start by avoiding full-page reloads. You'll receive a warning if this is the case for one of your dependencies, suggesting to add the package name to this array in your config. diff --git a/docs/config/server-options.md b/docs/config/server-options.md index ab0f1b261ddb7c..19065294aeab35 100644 --- a/docs/config/server-options.md +++ b/docs/config/server-options.md @@ -34,6 +34,13 @@ The second case is when wildcard hosts (e.g. `0.0.0.0`) are used. This is becaus ::: +::: tip Accessing the server on WSL2 from your LAN + +When running Vite on WSL2, it is not sufficient to set `host: true` to access the server from your LAN. +See [the WSL document](https://learn.microsoft.com/en-us/windows/wsl/networking#accessing-a-wsl-2-distribution-from-your-local-area-network-lan) for more details. + +::: + ## server.port - **Type:** `number` diff --git a/docs/guide/api-plugin.md b/docs/guide/api-plugin.md index d5f92bad9ad879..6024a6d97df9bb 100644 --- a/docs/guide/api-plugin.md +++ b/docs/guide/api-plugin.md @@ -159,7 +159,9 @@ The following hooks are called on each incoming module request: - [`load`](https://rollupjs.org/plugin-development/#load) - [`transform`](https://rollupjs.org/plugin-development/#transform) -They also have an extended `options` parameter with additional Vite-specific properties. You can read more in the [SSR documentation](/guide/ssr#ssr-specific-plugin-logic). +These hooks also have an extended `options` parameter with additional Vite-specific properties. You can read more in the [SSR documentation](/guide/ssr#ssr-specific-plugin-logic). + +Some `resolveId` calls' `importer` value may be an absolute path for a generic `index.html` at root as it's not always possible to derive the actual importer due to Vite's unbundled dev server pattern. For imports handled within Vite's resolve pipeline, the importer can be tracked during the import analysis phase, providing the correct `importer` value. The following hooks are called when the server is closed: @@ -343,6 +345,8 @@ Vite plugins can also provide hooks that serve Vite-specific purposes. These hoo - An array of tag descriptor objects (`{ tag, attrs, children }`) to inject to the existing HTML. Each tag can also specify where it should be injected to (default is prepending to ``) - An object containing both as `{ html, tags }` + By default `order` is `undefined`, with this hook applied after the html has been transformed. In order to inject a script that should go through the Vite plugins pipeline, `order: 'pre'` will apply the hook before processing the HTML. `order: 'post'` applies the hook after all hooks with `order` undefined are applied. + **Basic Example:** ```js diff --git a/docs/guide/build.md b/docs/guide/build.md index 370b1264e68475..7b711fe03a0bea 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -114,6 +114,8 @@ export default defineConfig({ If you specify a different root, remember that `__dirname` will still be the folder of your vite.config.js file when resolving the input paths. Therefore, you will need to add your `root` entry to the arguments for `resolve`. +Note that for HTML files, Vite ignores the name given to the entry in the `rollupOptions.input` object and instead respects the resolved id of the file when generating the HTML asset in the dist folder. This ensures a consistent structure with the way the dev server works. + ## Library Mode When you are developing a browser-oriented library, you are likely spending most of the time on a test/demo page that imports your actual library. With Vite, you can use your `index.html` for that purpose to get the smooth development experience. diff --git a/docs/guide/cli.md b/docs/guide/cli.md index 91a894970947a0..050610701c4d70 100644 --- a/docs/guide/cli.md +++ b/docs/guide/cli.md @@ -98,7 +98,7 @@ vite optimize [root] ### `vite preview` -Locally preview production build. +Locally preview the production build. Do not use this as a production server as it's not designed for it. #### Usage diff --git a/docs/guide/features.md b/docs/guide/features.md index a9e3fcd859b606..c9e658076b677d 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -138,8 +138,8 @@ Vite provides first-class Vue support: - Vue 3 SFC support via [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue) - Vue 3 JSX support via [@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx) -- Vue 2.7 support via [@vitejs/plugin-vue2](https://github.com/vitejs/vite-plugin-vue2) -- Vue <2.7 support via [vite-plugin-vue2](https://github.com/underfin/vite-plugin-vue2) +- Vue 2.7 SFC support via [@vitejs/plugin-vue2](https://github.com/vitejs/vite-plugin-vue2) +- Vue 2.7 JSX support via [@vitejs/plugin-vue2-jsx](https://github.com/vitejs/vite-plugin-vue2-jsx) ## JSX @@ -351,7 +351,7 @@ const modules = { `import.meta.glob` also supports importing files as strings (similar to [Importing Asset as String](https://vitejs.dev/guide/assets.html#importing-asset-as-string)) with the [Import Reflection](https://github.com/tc39/proposal-import-reflection) syntax: ```js -const modules = import.meta.glob('./dir/*.js', { as: 'raw' }) +const modules = import.meta.glob('./dir/*.js', { as: 'raw', eager: true }) ``` The above will be transformed into the following: @@ -541,7 +541,7 @@ import MyWorker from './worker?worker' const worker = new MyWorker() ``` -The worker script can also use `import` statements instead of `importScripts()` - note during dev this relies on browser native support and currently only works in Chrome, but for the production build it is compiled away. +The worker script can also use ESM `import` statements instead of `importScripts()`. **Note**: During dev this relies on [browser native support](https://caniuse.com/?search=module%20worker) (currently not supported in Firefox), but for the production build it is compiled away. By default, the worker script will be emitted as a separate chunk in the production build. If you wish to inline the worker as base64 strings, add the `inline` query: diff --git a/docs/guide/index.md b/docs/guide/index.md index 3ae2c5a0d27e3b..118c53a2f38515 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -110,6 +110,7 @@ Vite also supports [multi-page apps](./build#multi-page-app) with multiple `.htm #### Specifying Alternative Root Running `vite` starts the dev server using the current working directory as root. You can specify an alternative root with `vite serve some/sub/dir`. +Note that Vite will also resolve [its config file (i.e. `vite.config.js`)](/config/#configuring-vite) inside the project root, so you'll need to move it if the root is changed. ## Command Line Interface diff --git a/docs/guide/troubleshooting.md b/docs/guide/troubleshooting.md index c9eeab879c5c5a..ad636a2653c8d6 100644 --- a/docs/guide/troubleshooting.md +++ b/docs/guide/troubleshooting.md @@ -154,3 +154,14 @@ If these code are used inside dependencies, you could use [`patch-package`](http ### Browser extensions Some browser extensions (like ad-blockers) may prevent the Vite client from sending requests to the Vite dev server. You may see a white screen without logged errors in this case. Try disabling extensions if you have this issue. + +### Cross drive links on Windows + +If there's a cross drive links in your project on Windows, Vite may not work. + +An example of cross drive links are: + +- a virtual drive linked to a folder by `subst` command +- a symlink/junction to a different drive by `mklink` command (e.g. Yarn global cache) + +Related issue: [#10802](https://github.com/vitejs/vite/issues/10802) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index dd7cfce8733419..c16a1a3224a50f 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -18,7 +18,11 @@ Check out [Using Plugins](../guide/using-plugins) for information on how to use ### [@vitejs/plugin-vue2](https://github.com/vitejs/vite-plugin-vue2) -- Provides Vue 2 Single File Components support. +- Provides Vue 2.7 Single File Components support. + +### [@vitejs/plugin-vue2-jsx](https://github.com/vitejs/vite-plugin-vue2-jsx) + +- Provides Vue 2.7 JSX support (via [dedicated Babel transform](https://github.com/vuejs/jsx-vue2/)). ### [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react) diff --git a/docs/public/astro.svg b/docs/public/astro.svg new file mode 100644 index 00000000000000..079378b2d9851e --- /dev/null +++ b/docs/public/astro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/public/nuxtlabs.svg b/docs/public/nuxtlabs.svg new file mode 100644 index 00000000000000..d2935645c9c520 --- /dev/null +++ b/docs/public/nuxtlabs.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/public/og-image-announcing-vite4-3.png b/docs/public/og-image-announcing-vite4-3.png new file mode 100644 index 00000000000000..6c297055871b5e Binary files /dev/null and b/docs/public/og-image-announcing-vite4-3.png differ diff --git a/docs/public/stackblitz.svg b/docs/public/stackblitz.svg new file mode 100644 index 00000000000000..a16fcd92ef988b --- /dev/null +++ b/docs/public/stackblitz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/public/vite4-3-hmr-time.png b/docs/public/vite4-3-hmr-time.png new file mode 100644 index 00000000000000..bc9bc4348af3fb Binary files /dev/null and b/docs/public/vite4-3-hmr-time.png differ diff --git a/docs/public/vite4-3-startup-time.png b/docs/public/vite4-3-startup-time.png new file mode 100644 index 00000000000000..a026969986d687 Binary files /dev/null and b/docs/public/vite4-3-startup-time.png differ diff --git a/docs/releases.md b/docs/releases.md new file mode 100644 index 00000000000000..31599406414403 --- /dev/null +++ b/docs/releases.md @@ -0,0 +1,55 @@ +# Releases + +Vite releases follow [Semantic Versioning](https://semver.org/). You can see the latest stable version of Vite in the [Vite npm package page](https://www.npmjs.com/package/vite). + +A full changelog of past releases is [available on GitHub](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md). + +::: tip note +The next Vite Major release will happen after the Node 16 EOL in September. + +Check out the [Vite 5 discussion](https://github.com/vitejs/vite/discussions/12466) for more information. +::: + +## Release Cycle​ + +Vite does not have a fixed release cycle. + +- **Patch** releases are released as needed. +- **Minor** releases always contain new features and are also released as needed. Minor releases always go through a beta pre-release phase. +- **Major** releases generally align with [Node.js EOL schedule](https://endoflife.date/nodejs), and will be announced ahead of time. These releases will go through an early discussion phase, and both alpha and beta pre-release phases. + +The previous Vite Major will keep receiving important fixes and security patches. After that, it would only get updates if there are security concerns. We recommend updating Vite regularly. Check out the [Migration Guides](https://vitejs.dev/guide/migration.html) when you update to each Major. + +The Vite team partners with the main projects in the ecosystem to test new Vite versions before they are released through the [vite-ecosystem-ci project](https://github.com/vitejs/vite-ecosystem-ci). Most projects using Vite should be able to quickly offer support or migrate to new versions as soon as they are released. + +## Semantic Versioning Edge Cases + +### TypeScript Definitions​ + +We may ship incompatible changes to TypeScript definitions between minor versions. This is because: + +- Sometimes TypeScript itself ships incompatible changes between minor versions, and we may have to adjust types to support newer versions of TypeScript. +- Occasionally we may need to adopt features that are only available in a newer version of TypeScript, raising the minimum required version of TypeScript. +- If you are using TypeScript, you can use a semver range that locks the current minor and manually upgrade when a new minor version of Vite is released. + +### esbuild + +[esbuild](https://esbuild.github.io/) is pre-1.0.0 and sometimes it has a breaking change we may need to include to have access to newer features and performance improvements. We may bump the esbuild's version in a Vite Minor. + +### Node.js non-LTS versions + +Non-LTS Node.js versions (odd-numbered) are not tested as part of Vite's CI, but they should still work before their [EOL](https://endoflife.date/nodejs). + +## Pre Releases​ + +Minor releases typically go through a non-fixed number of beta releases. Major releases will go through an alpha phase and a beta phase. + +Pre-releases allow early adopters and maintainers from the Ecosystem to do integration and stability testing, and provide feedback. Do not use pre-releases in production. All pre-releases are considered unstable and may ship breaking changes in between. Always pin to exact versions when using pre-releases. + +## Deprecations​ + +We periodically deprecate features that have been superseded by better alternatives in Minor releases. Deprecated features will continue to work with a type or logged warning. They will be removed in the next major release after entering deprecated status. The [Migration Guide](https://vitejs.dev/guide/migration.html) for each major will list these removals and document an upgrade path for them. + +## Experimental Features​ + +Some features are marked as experimental when released in a stable version of Vite. Experimental features allows us to gather real-world experience to influence their final design. The goal is to let users provide feedback by testing them in production. Experimental features themselves are considered unstable, and should only be used in a controlled manner. These features may change between Minors, so users must pin their Vite version when they rely on them. diff --git a/package.json b/package.json index 9b915cc513878d..6669066afd2767 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,10 @@ "node": "^14.18.0 || >=16.0.0" }, "homepage": "https://vitejs.dev/", + "repository": { + "type": "git", + "url": "git+https://github.com/vitejs/vite.git" + }, "keywords": [ "frontend", "hmr", @@ -37,54 +41,55 @@ "ci-docs": "run-s build docs-build" }, "devDependencies": { - "@babel/types": "^7.21.3", + "@babel/types": "^7.21.4", "@microsoft/api-extractor": "^7.34.4", - "@rollup/plugin-typescript": "^11.0.0", + "@rollup/plugin-typescript": "^11.1.0", "@types/babel__core": "^7.20.0", + "@types/babel__preset-env": "^7.9.2", "@types/babel__standalone": "^7.1.4", "@types/convert-source-map": "^2.0.0", "@types/cross-spawn": "^6.0.2", "@types/debug": "^4.1.7", - "@types/estree": "^1.0.0", + "@types/estree": "^1.0.1", "@types/etag": "^1.8.1", "@types/fs-extra": "^11.0.1", "@types/json-stable-stringify": "^1.0.34", "@types/less": "^3.0.3", "@types/micromatch": "^4.0.2", - "@types/node": "^18.15.5", + "@types/node": "^18.15.12", "@types/picomatch": "^2.3.0", "@types/resolve": "^1.20.2", "@types/sass": "~1.43.1", "@types/stylus": "^0.48.38", "@types/ws": "^8.5.4", - "@typescript-eslint/eslint-plugin": "^5.56.0", - "@typescript-eslint/parser": "^5.56.0", - "@vitejs/release-scripts": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.59.0", + "@typescript-eslint/parser": "^5.59.0", + "@vitejs/release-scripts": "^1.2.0", "conventional-changelog-cli": "^2.2.2", - "eslint": "^8.36.0", - "eslint-define-config": "^1.17.0", + "eslint": "^8.38.0", + "eslint-define-config": "^1.18.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-n": "^15.7.0", - "eslint-plugin-regexp": "^1.13.0", + "eslint-plugin-regexp": "^1.14.0", "execa": "^7.1.1", "fast-glob": "^3.2.12", "fs-extra": "^11.1.1", - "lint-staged": "^13.2.0", + "lint-staged": "^13.2.1", "npm-run-all": "^4.1.5", "picocolors": "^1.0.0", - "playwright-chromium": "^1.31.2", - "prettier": "2.8.5", - "resolve": "^1.22.1", - "rimraf": "^4.4.0", - "rollup": "^3.20.2", + "playwright-chromium": "^1.32.3", + "prettier": "2.8.7", + "resolve": "^1.22.2", + "rimraf": "^5.0.0", + "rollup": "^3.21.0", "simple-git-hooks": "^2.8.1", "tslib": "^2.5.0", "tsx": "^3.12.6", "typescript": "^5.0.2", - "unbuild": "^1.1.2", + "unbuild": "^1.2.1", "vite": "workspace:*", - "vitepress": "^1.0.0-alpha.61", - "vitest": "^0.29.7", + "vitepress": "1.0.0-beta.1", + "vitest": "^0.30.1", "vue": "^3.2.47" }, "simple-git-hooks": { @@ -104,7 +109,7 @@ "eslint --cache --fix" ] }, - "packageManager": "pnpm@8.2.0", + "packageManager": "pnpm@8.3.1", "pnpm": { "overrides": { "vite": "workspace:*" diff --git a/packages/create-vite/CHANGELOG.md b/packages/create-vite/CHANGELOG.md index 99788f8cd68eae..d50842b51478f7 100644 --- a/packages/create-vite/CHANGELOG.md +++ b/packages/create-vite/CHANGELOG.md @@ -1,3 +1,31 @@ +## 4.3.2 (2023-05-29) + +* fix: upgrade svelte-check preventing unmet peer deps errors (#13103) ([c63ba3f](https://github.com/vitejs/vite/commit/c63ba3f)), closes [#13103](https://github.com/vitejs/vite/issues/13103) +* fix(create-vite): use `"target": "ES2020"` in React template (#13147) ([23096b1](https://github.com/vitejs/vite/commit/23096b1)), closes [#13147](https://github.com/vitejs/vite/issues/13147) +* chore(deps): update all non-major dependencies (#12805) ([5731ac9](https://github.com/vitejs/vite/commit/5731ac9)), closes [#12805](https://github.com/vitejs/vite/issues/12805) + + + +## 4.3.1 (2023-04-25) + +* chore(create-vite): bump vue-tsc (#12952) ([30fd101](https://github.com/vitejs/vite/commit/30fd101)), closes [#12952](https://github.com/vitejs/vite/issues/12952) +* chore(create-vite): update to plugin-react 4.0.0 ([14cd939](https://github.com/vitejs/vite/commit/14cd939)) +* fix(create-vite): fix h1 css selector in lit templates (#12951) ([21c61cb](https://github.com/vitejs/vite/commit/21c61cb)), closes [#12951](https://github.com/vitejs/vite/issues/12951) + + + +## 4.3.0 (2023-04-20) + +* fix(create-vite): update template-lit-ts tsconfig (fix #12854) (#12855) ([c186815](https://github.com/vitejs/vite/commit/c186815)), closes [#12854](https://github.com/vitejs/vite/issues/12854) [#12855](https://github.com/vitejs/vite/issues/12855) +* feat(create-vite): add eslint to React templates (#12801) ([d84460a](https://github.com/vitejs/vite/commit/d84460a)), closes [#12801](https://github.com/vitejs/vite/issues/12801) +* feat(create-vite): move TypeScript ones up (#12057) ([313712d](https://github.com/vitejs/vite/commit/313712d)), closes [#12057](https://github.com/vitejs/vite/issues/12057) +* chore(create-vite): remove unnecessary App class Reference (#12771) ([1607f4a](https://github.com/vitejs/vite/commit/1607f4a)), closes [#12771](https://github.com/vitejs/vite/issues/12771) +* chore(create-vite): remove wrapper div for react template (#12867) ([3679bd7](https://github.com/vitejs/vite/commit/3679bd7)), closes [#12867](https://github.com/vitejs/vite/issues/12867) +* chore(deps): update dependency @tsconfig/svelte to v4 (#12879) ([79619a9](https://github.com/vitejs/vite/commit/79619a9)), closes [#12879](https://github.com/vitejs/vite/issues/12879) +* docs: update link to svelte-hmr (#12893) ([2ddeead](https://github.com/vitejs/vite/commit/2ddeead)), closes [#12893](https://github.com/vitejs/vite/issues/12893) + + + ## 4.3.0-beta.0 (2023-04-06) * chore: use @vitejs/release-scripts (#12682) ([9c37cc1](https://github.com/vitejs/vite/commit/9c37cc1)), closes [#12682](https://github.com/vitejs/vite/issues/12682) diff --git a/packages/create-vite/package.json b/packages/create-vite/package.json index 13202f53eadf96..591d731da7dc7f 100644 --- a/packages/create-vite/package.json +++ b/packages/create-vite/package.json @@ -1,6 +1,6 @@ { "name": "create-vite", - "version": "4.3.0-beta.0", + "version": "4.3.2", "type": "module", "license": "MIT", "author": "Evan You", diff --git a/packages/create-vite/src/index.ts b/packages/create-vite/src/index.ts index dfc9473e23ff55..47d9dab68cf9ca 100755 --- a/packages/create-vite/src/index.ts +++ b/packages/create-vite/src/index.ts @@ -324,17 +324,27 @@ async function init() { if (customCommand) { const fullCustomCommand = customCommand - .replace(/^npm create/, `${pkgManager} create`) + .replace(/^npm create /, () => { + // `bun create` uses it's own set of templates, + // the closest alternative is using `bun x` directly on the package + if (pkgManager === 'bun') { + return 'bun x create-' + } + return `${pkgManager} create ` + }) // Only Yarn 1.x doesn't support `@version` in the `create` command .replace('@latest', () => (isYarn1 ? '' : '@latest')) .replace(/^npm exec/, () => { - // Prefer `pnpm dlx` or `yarn dlx` + // Prefer `pnpm dlx`, `yarn dlx`, or `bun x` if (pkgManager === 'pnpm') { return 'pnpm dlx' } if (pkgManager === 'yarn' && !isYarn1) { return 'yarn dlx' } + if (pkgManager === 'bun') { + return 'bun x' + } // Use `npm exec` in all other cases, // including Yarn 1.x and other custom npm clients. return 'npm exec' diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index a65419c5a0adce..cd344421463331 100644 --- a/packages/create-vite/template-lit-ts/package.json +++ b/packages/create-vite/template-lit-ts/package.json @@ -9,10 +9,10 @@ "preview": "vite preview" }, "dependencies": { - "lit": "^2.6.1" + "lit": "^2.7.2" }, "devDependencies": { "typescript": "^5.0.2", - "vite": "^4.3.0-beta.2" + "vite": "^4.3.9" } } diff --git a/packages/create-vite/template-lit-ts/src/my-element.ts b/packages/create-vite/template-lit-ts/src/my-element.ts index 010d1481d3d867..88b188f6d0d9b0 100644 --- a/packages/create-vite/template-lit-ts/src/my-element.ts +++ b/packages/create-vite/template-lit-ts/src/my-element.ts @@ -76,7 +76,7 @@ export class MyElement extends LitElement { color: #888; } - h1 { + ::slotted(h1) { font-size: 3.2em; line-height: 1.1; } diff --git a/packages/create-vite/template-lit-ts/tsconfig.json b/packages/create-vite/template-lit-ts/tsconfig.json index 75abdef2659446..69e31ac92882e3 100644 --- a/packages/create-vite/template-lit-ts/tsconfig.json +++ b/packages/create-vite/template-lit-ts/tsconfig.json @@ -1,7 +1,8 @@ { "compilerOptions": { "target": "ES2020", - "useDefineForClassFields": true, + "experimentalDecorators": true, + "useDefineForClassFields": false, "module": "ESNext", "lib": ["ES2020", "DOM", "DOM.Iterable"], "skipLibCheck": true, diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index 971f764124fc5b..0d889824581633 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -9,9 +9,9 @@ "preview": "vite preview" }, "dependencies": { - "lit": "^2.6.1" + "lit": "^2.7.2" }, "devDependencies": { - "vite": "^4.3.0-beta.2" + "vite": "^4.3.9" } } diff --git a/packages/create-vite/template-lit/src/my-element.js b/packages/create-vite/template-lit/src/my-element.js index e00405cc057123..8d1ba56442deff 100644 --- a/packages/create-vite/template-lit/src/my-element.js +++ b/packages/create-vite/template-lit/src/my-element.js @@ -92,7 +92,7 @@ export class MyElement extends LitElement { color: #535bf2; } - h1 { + ::slotted(h1) { font-size: 3.2em; line-height: 1.1; } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index 5fa628bf8f7c67..83ac2f2dab9dbe 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -9,11 +9,11 @@ "preview": "vite preview" }, "dependencies": { - "preact": "^10.13.1" + "preact": "^10.13.2" }, "devDependencies": { "@preact/preset-vite": "^2.5.0", "typescript": "^5.0.2", - "vite": "^4.3.0-beta.2" + "vite": "^4.3.9" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 5c13d5e6ffcba6..b1ee76ee5c7eb9 100644 --- a/packages/create-vite/template-preact/package.json +++ b/packages/create-vite/template-preact/package.json @@ -9,10 +9,10 @@ "preview": "vite preview" }, "dependencies": { - "preact": "^10.13.1" + "preact": "^10.13.2" }, "devDependencies": { "@preact/preset-vite": "^2.5.0", - "vite": "^4.3.0-beta.2" + "vite": "^4.3.9" } } diff --git a/packages/create-vite/template-react-ts/.eslintrc.cjs b/packages/create-vite/template-react-ts/.eslintrc.cjs new file mode 100644 index 00000000000000..4020bcbf409dd2 --- /dev/null +++ b/packages/create-vite/template-react-ts/.eslintrc.cjs @@ -0,0 +1,14 @@ +module.exports = { + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react-hooks/recommended', + ], + parser: '@typescript-eslint/parser', + parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': 'warn', + }, +} diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 700ce50d85d129..b40dedc9d50f66 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -6,6 +6,7 @@ "scripts": { "dev": "vite", "build": "tsc && vite build", + "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, "dependencies": { @@ -13,10 +14,15 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.0.28", + "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", - "@vitejs/plugin-react": "^4.0.0-beta.0", + "@typescript-eslint/eslint-plugin": "^5.59.0", + "@typescript-eslint/parser": "^5.59.0", + "@vitejs/plugin-react": "^4.0.0", + "eslint": "^8.38.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", "typescript": "^5.0.2", - "vite": "^4.3.0-beta.2" + "vite": "^4.3.9" } } diff --git a/packages/create-vite/template-react-ts/tsconfig.json b/packages/create-vite/template-react-ts/tsconfig.json index c81ef9f382291a..a7fc6fbf23de2a 100644 --- a/packages/create-vite/template-react-ts/tsconfig.json +++ b/packages/create-vite/template-react-ts/tsconfig.json @@ -1,7 +1,8 @@ { "compilerOptions": { - "target": "ESNext", - "lib": ["DOM", "DOM.Iterable", "ESNext"], + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, diff --git a/packages/create-vite/template-react/.eslintrc.cjs b/packages/create-vite/template-react/.eslintrc.cjs new file mode 100644 index 00000000000000..ec601b2ceaac71 --- /dev/null +++ b/packages/create-vite/template-react/.eslintrc.cjs @@ -0,0 +1,15 @@ +module.exports = { + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:react/jsx-runtime', + 'plugin:react-hooks/recommended', + ], + parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + settings: { react: { version: '18.2' } }, + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': 'warn', + }, +} diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 08c96622385dd5..902650e99682a2 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -6,6 +6,7 @@ "scripts": { "dev": "vite", "build": "vite build", + "lint": "eslint src --ext js,jsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, "dependencies": { @@ -13,9 +14,13 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.0.28", + "@types/react": "^18.0.37", "@types/react-dom": "^18.0.11", - "@vitejs/plugin-react": "^4.0.0-beta.0", - "vite": "^4.3.0-beta.2" + "@vitejs/plugin-react": "^4.0.0", + "eslint": "^8.38.0", + "eslint-plugin-react": "^7.32.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "vite": "^4.3.9" } } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index fba07484329a9a..5dc5b424573708 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -10,12 +10,12 @@ "check": "svelte-check --tsconfig ./tsconfig.json" }, "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^2.0.3", + "@sveltejs/vite-plugin-svelte": "^2.0.4", "@tsconfig/svelte": "^4.0.1", - "svelte": "^3.57.0", - "svelte-check": "^2.10.3", + "svelte": "^3.58.0", + "svelte-check": "^3.3.1", "tslib": "^2.5.0", "typescript": "^5.0.2", - "vite": "^4.3.0-beta.2" + "vite": "^4.3.9" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index c10273bff3b697..47679aad225444 100644 --- a/packages/create-vite/template-svelte/package.json +++ b/packages/create-vite/template-svelte/package.json @@ -9,8 +9,8 @@ "preview": "vite preview" }, "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^2.0.3", - "svelte": "^3.57.0", - "vite": "^4.3.0-beta.2" + "@sveltejs/vite-plugin-svelte": "^2.0.4", + "svelte": "^3.58.0", + "vite": "^4.3.9" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index 78dd609fe24c15..eaff1bfcee21b3 100644 --- a/packages/create-vite/template-vanilla-ts/package.json +++ b/packages/create-vite/template-vanilla-ts/package.json @@ -10,6 +10,6 @@ }, "devDependencies": { "typescript": "^5.0.2", - "vite": "^4.3.0-beta.2" + "vite": "^4.3.9" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index f0b5e60c38ff33..e8d3427fee3890 100644 --- a/packages/create-vite/template-vanilla/package.json +++ b/packages/create-vite/template-vanilla/package.json @@ -9,6 +9,6 @@ "preview": "vite preview" }, "devDependencies": { - "vite": "^4.3.0-beta.2" + "vite": "^4.3.9" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 583a7267fe19b9..d8d8fc3338ada7 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@vitejs/plugin-vue": "^4.1.0", "typescript": "^5.0.2", - "vite": "^4.3.0-beta.2", - "vue-tsc": "^1.2.0" + "vite": "^4.3.9", + "vue-tsc": "^1.4.2" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index e54568959bec8d..86630df8abe203 100644 --- a/packages/create-vite/template-vue/package.json +++ b/packages/create-vite/template-vue/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^4.1.0", - "vite": "^4.3.0-beta.2" + "vite": "^4.3.9" } } diff --git a/packages/plugin-legacy/CHANGELOG.md b/packages/plugin-legacy/CHANGELOG.md index 11c4a47a4f1057..d579c56c351fb1 100644 --- a/packages/plugin-legacy/CHANGELOG.md +++ b/packages/plugin-legacy/CHANGELOG.md @@ -1,3 +1,18 @@ +## 4.0.4 (2023-05-24) + +* fix(legacy): import `@babel/preset-env` (#12961) ([d53c650](https://github.com/vitejs/vite/commit/d53c650)), closes [#12961](https://github.com/vitejs/vite/issues/12961) +* chore(deps): update all non-major dependencies (#12805) ([5731ac9](https://github.com/vitejs/vite/commit/5731ac9)), closes [#12805](https://github.com/vitejs/vite/issues/12805) + + + +## 4.0.3 (2023-04-25) + +* feat(plugin-legacy): support file protocol (#8524) ([7a87ff4](https://github.com/vitejs/vite/commit/7a87ff4)), closes [#8524](https://github.com/vitejs/vite/issues/8524) +* refactor(eslint): migrate to `eslint-plugin-n` (#12895) ([62ebe28](https://github.com/vitejs/vite/commit/62ebe28)), closes [#12895](https://github.com/vitejs/vite/issues/12895) +* fix(deps): update all non-major dependencies (#12389) ([3e60b77](https://github.com/vitejs/vite/commit/3e60b77)), closes [#12389](https://github.com/vitejs/vite/issues/12389) + + + ## 4.0.2 (2023-03-16) * chore(deps): update all non-major dependencies (#12299) ([b41336e](https://github.com/vitejs/vite/commit/b41336e)), closes [#12299](https://github.com/vitejs/vite/issues/12299) diff --git a/packages/plugin-legacy/README.md b/packages/plugin-legacy/README.md index 5381633aa9a91f..04abcec6a3a4e5 100644 --- a/packages/plugin-legacy/README.md +++ b/packages/plugin-legacy/README.md @@ -159,7 +159,7 @@ The legacy plugin requires inline scripts for [Safari 10.1 `nomodule` fix](https - `sha256-MS6/3FCg4WjP9gwgaBGwLpRCY6fZBgwmhVCdrPrNf3E=` - `sha256-tQjf8gvb2ROOMapIxFvFAYBeUJ0v1HCbOcSmDNXGtDo=` -- `sha256-p7PoC97FO+Lu90RNjGWxhbm13yALSR4xzV8vaDhaQBo=` +- `sha256-4y/gEB2/KIwZFTfNqwXJq4olzvmQ0S214m9jwKgNXoc=` - `sha256-+5XkZFazzJo8n0iOP4ti/cLCMUudTf//Mzkb7xNPXIc=` /gs const srcRE = /\bsrc\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s'">]+))/i const typeRE = /\btype\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s'">]+))/i @@ -378,12 +377,11 @@ function esbuildScanPlugin( // Avoid matching the content of the comment raw = raw.replace(commentRE, '') const isHtml = path.endsWith('.html') - const regex = isHtml ? scriptModuleRE : scriptRE - regex.lastIndex = 0 + scriptRE.lastIndex = 0 let js = '' let scriptId = 0 let match: RegExpExecArray | null - while ((match = regex.exec(raw))) { + while ((match = scriptRE.exec(raw))) { const [, openTag, content] = match const typeMatch = openTag.match(typeRE) const type = @@ -391,6 +389,10 @@ function esbuildScanPlugin( const langMatch = openTag.match(langRE) const lang = langMatch && (langMatch[1] || langMatch[2] || langMatch[3]) + // skip non type module script + if (isHtml && type !== 'module') { + continue + } // skip type="application/ld+json" and other non-JS types if ( type && diff --git a/packages/vite/src/node/packages.ts b/packages/vite/src/node/packages.ts index c82367a48cca64..106631baff6a4d 100644 --- a/packages/vite/src/node/packages.ts +++ b/packages/vite/src/node/packages.ts @@ -58,20 +58,18 @@ export function resolvePackageData( const cacheKey = getRpdCacheKey(pkgName, basedir, preserveSymlinks) if (packageCache?.has(cacheKey)) return packageCache.get(cacheKey)! - let pkg: string | null try { - pkg = pnp.resolveToUnqualified(pkgName, basedir, { + const pkg = pnp.resolveToUnqualified(pkgName, basedir, { considerBuiltins: false, }) + if (!pkg) return null + + const pkgData = loadPackageData(path.join(pkg, 'package.json')) + packageCache?.set(cacheKey, pkgData) + return pkgData } catch { return null } - if (!pkg) return null - - const pkgData = loadPackageData(path.join(pkg, 'package.json')) - packageCache?.set(cacheKey, pkgData) - - return pkgData } const originalBasedir = basedir diff --git a/packages/vite/src/node/plugins/assetImportMetaUrl.ts b/packages/vite/src/node/plugins/assetImportMetaUrl.ts index 6872de5249e014..369e8a5e12026f 100644 --- a/packages/vite/src/node/plugins/assetImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/assetImportMetaUrl.ts @@ -5,6 +5,7 @@ import type { Plugin } from '../plugin' import type { ResolvedConfig } from '../config' import type { ResolveFn } from '../' import { + injectQuery, isParentDirectory, normalizePath, slash, @@ -13,6 +14,8 @@ import { import { CLIENT_ENTRY } from '../constants' import { fileToUrl } from './asset' import { preloadHelperId } from './importAnalysisBuild' +import type { InternalResolveOptions } from './resolve' +import { tryFsResolve } from './resolve' /** * Convert `new URL('./foo.png', import.meta.url)` to its resolved built URL @@ -28,6 +31,16 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin { const normalizedPublicDir = normalizePath(config.publicDir) let assetResolver: ResolveFn + const fsResolveOptions: InternalResolveOptions = { + ...config.resolve, + root: config.root, + isProduction: config.isProduction, + isBuild: config.command === 'build', + packageCache: config.packageCache, + ssrConfig: config.ssr, + asSrc: true, + } + return { name: 'vite:asset-import-meta-url', async transform(code, id, options) { @@ -55,7 +68,15 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin { // potential dynamic template string if (rawUrl[0] === '`' && rawUrl.includes('${')) { - const ast = this.parse(rawUrl) + const queryDelimiterIndex = getQueryDelimiterIndex(rawUrl) + const hasQueryDelimiter = queryDelimiterIndex !== -1 + const pureUrl = hasQueryDelimiter + ? rawUrl.slice(0, queryDelimiterIndex) + '`' + : rawUrl + const queryString = hasQueryDelimiter + ? rawUrl.slice(queryDelimiterIndex, -1) + : '' + const ast = this.parse(pureUrl) const templateLiteral = (ast as any).body[0].expression if (templateLiteral.expressions.length) { const pattern = buildGlobPattern(templateLiteral) @@ -65,6 +86,12 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin { continue } + const globOptions = { + eager: true, + import: 'default', + // A hack to allow 'as' & 'query' exist at the same time + query: injectQuery(queryString, 'url'), + } // Note: native import.meta.url is not supported in the baseline // target so we use the global location here. It can be // window.location or self.location in case it is used in a Web Worker. @@ -74,7 +101,9 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin { index + exp.length, `new URL((import.meta.glob(${JSON.stringify( pattern, - )}, { eager: true, import: 'default', as: 'url' }))[${rawUrl}], self.location)`, + )}, ${JSON.stringify( + globOptions, + )}))[${pureUrl}], self.location)`, ) continue } @@ -84,6 +113,7 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin { let file: string | undefined if (url[0] === '.') { file = slash(path.resolve(path.dirname(id), url)) + file = tryFsResolve(file, fsResolveOptions) ?? file } else { assetResolver ??= config.createResolver({ extensions: [], @@ -153,3 +183,17 @@ function buildGlobPattern(ast: any) { } return pattern } + +function getQueryDelimiterIndex(rawUrl: string): number { + let bracketsStack = 0 + for (let i = 0; i < rawUrl.length; i++) { + if (rawUrl[i] === '{') { + bracketsStack++ + } else if (rawUrl[i] === '}') { + bracketsStack-- + } else if (rawUrl[i] === '?' && bracketsStack === 0) { + return i + } + } + return -1 +} diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 7366c1b093799d..a6f16f76b8155a 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -404,7 +404,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { } if (isDirectCSSRequest(id)) { - return await getContentWithSourcemap(css) + return null } // server only if (options?.ssr) { @@ -517,7 +517,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { ? getCssAssetDirname(cssAssetName) : undefined - const toRelative = (filename: string, importer: string) => { + const toRelative = (filename: string) => { // relative base + extracted CSS const relativePath = path.posix.relative(cssAssetDirname!, filename) return relativePath[0] === '.' ? relativePath : './' + relativePath @@ -636,10 +636,10 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { `${style}.textContent = ${cssString};` + `document.head.appendChild(${style});` const wrapIdx = code.indexOf('System.register') - const insertMark = "'use strict';" - const insertIdx = code.indexOf(insertMark, wrapIdx) + const executeFnStart = + code.indexOf('{', code.indexOf('execute:', wrapIdx)) + 1 const s = new MagicString(code) - s.appendLeft(insertIdx + insertMark.length, injectCode) + s.appendRight(executeFnStart, injectCode) if (config.build.sourcemap) { // resolve public URL from CSS paths, we need to use absolute paths return { @@ -1003,6 +1003,7 @@ async function compileCSS( return { code, map: preprocessorMap, + deps, } } @@ -1411,8 +1412,7 @@ async function minifyCSS(css: string, config: ResolvedConfig) { const { code, warnings } = await transform(css, { loader: 'css', target: config.build.cssTarget || undefined, - charset: 'utf8', - ...resolveEsbuildMinifyOptions(config.esbuild || {}), + ...resolveMinifyCssEsbuildOptions(config.esbuild || {}), }) if (warnings.length) { const msgs = await formatMessages(warnings, { kind: 'warning' }) @@ -1432,10 +1432,11 @@ async function minifyCSS(css: string, config: ResolvedConfig) { } } -function resolveEsbuildMinifyOptions( +function resolveMinifyCssEsbuildOptions( options: ESBuildOptions, ): TransformOptions { const base: TransformOptions = { + charset: options.charset ?? 'utf8', logLevel: options.logLevel, logLimit: options.logLimit, logOverride: options.logOverride, @@ -1600,6 +1601,7 @@ function cleanScssBugUrl(url: string) { if ( // check bug via `window` and `location` global typeof window !== 'undefined' && + typeof location !== 'undefined' && typeof location?.href === 'string' ) { const prefix = location.href.replace(/\/$/, '') diff --git a/packages/vite/src/node/plugins/define.ts b/packages/vite/src/node/plugins/define.ts index c0c37183b81aaf..c9568ada69799b 100644 --- a/packages/vite/src/node/plugins/define.ts +++ b/packages/vite/src/node/plugins/define.ts @@ -41,13 +41,7 @@ export function definePlugin(config: ResolvedConfig): Plugin { if (isBuild) { const match = key.match(metaEnvRe) if (match) { - userDefineEnv[match[1]] = - // test if value is raw identifier to wrap with __vite__ so when - // stringified for `import.meta.env`, we can remove the quotes and - // retain being an identifier - typeof val === 'string' && /^[\p{L}_$]/u.test(val.trim()) - ? `__vite__define__${val}` - : val + userDefineEnv[match[1]] = `__vite__define__${userDefine[key]}` } } } @@ -67,7 +61,10 @@ export function definePlugin(config: ResolvedConfig): Plugin { ...config.env, SSR: '__vite__ssr__', ...userDefineEnv, - }).replace(/"__vite__define__(.+?)"/g, (_, val) => val), + }).replace( + /"__vite__define__(.+?)"([,}])/g, + (_, val, suffix) => `${val.replace(/(^\\")|(\\"$)/g, '"')}${suffix}`, + ), }) } diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 119f0192cabb43..21f8b807fa13c7 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -254,9 +254,9 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { // since we are already in the transform phase of the importer, it must // have been loaded so its entry is guaranteed in the module graph. const importerModule = moduleGraph.getModuleById(importer)! - if (!importerModule && depsOptimizer?.isOptimizedDepFile(importer)) { - // Ids of optimized deps could be invalidated and removed from the graph - // Return without transforming, this request is no longer valid, a full reload + if (!importerModule) { + // When the server is restarted, the module graph is cleared, so we + // return without transforming. This request is no longer valid, a full reload // is going to request this id again. Throwing an outdated error so we // properly finish the request with a 504 sent to the browser. throwOutdatedRequest(importer) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 30ce2b7cbdf862..aa9808e56886d2 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -36,7 +36,7 @@ export const preloadMarker = `__VITE_PRELOAD__` export const preloadBaseMarker = `__VITE_PRELOAD_BASE__` export const preloadHelperId = '\0vite/preload-helper' -const preloadMarkerWithQuote = `"${preloadMarker}"` as const +const preloadMarkerWithQuote = new RegExp(`['"]${preloadMarker}['"]`) const dynamicImportPrefixRE = /import\s*\(/ @@ -49,6 +49,20 @@ function toRelativePath(filename: string, importer: string) { return relPath[0] === '.' ? relPath : `./${relPath}` } +function indexOfMatchInSlice( + str: string, + reg: RegExp, + pos: number = 0, +): number { + if (pos !== 0) { + str = str.slice(pos) + } + + const matcher = str.match(reg) + + return matcher?.index !== undefined ? matcher.index + pos : -1 +} + /** * Helper for preloading CSS and direct imports of async chunks in parallel to * the async chunk itself. @@ -507,10 +521,17 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { addDeps(normalizedFile) } - let markerStartPos = code.indexOf(preloadMarkerWithQuote, end) + let markerStartPos = indexOfMatchInSlice( + code, + preloadMarkerWithQuote, + end, + ) // fix issue #3051 if (markerStartPos === -1 && imports.length === 1) { - markerStartPos = code.indexOf(preloadMarkerWithQuote) + markerStartPos = indexOfMatchInSlice( + code, + preloadMarkerWithQuote, + ) } if (markerStartPos > 0) { @@ -577,7 +598,7 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { s.update( markerStartPos, - markerStartPos + preloadMarkerWithQuote.length, + markerStartPos + preloadMarker.length + 2, `[${renderedDeps.join(',')}]`, ) rewroteMarkerStartPos.add(markerStartPos) @@ -587,19 +608,19 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { // there may still be markers due to inlined dynamic imports, remove // all the markers regardless - let markerStartPos = code.indexOf(preloadMarkerWithQuote) + let markerStartPos = indexOfMatchInSlice(code, preloadMarkerWithQuote) while (markerStartPos >= 0) { if (!rewroteMarkerStartPos.has(markerStartPos)) { s.update( markerStartPos, - markerStartPos + preloadMarkerWithQuote.length, + markerStartPos + preloadMarker.length + 2, 'void 0', ) } - - markerStartPos = code.indexOf( + markerStartPos = indexOfMatchInSlice( + code, preloadMarkerWithQuote, - markerStartPos + preloadMarkerWithQuote.length, + markerStartPos + preloadMarker.length + 2, ) } diff --git a/packages/vite/src/node/plugins/modulePreloadPolyfill.ts b/packages/vite/src/node/plugins/modulePreloadPolyfill.ts index 0f1ef11cf26f5e..ede79c8b882f77 100644 --- a/packages/vite/src/node/plugins/modulePreloadPolyfill.ts +++ b/packages/vite/src/node/plugins/modulePreloadPolyfill.ts @@ -25,7 +25,7 @@ export function modulePreloadPolyfillPlugin(config: ResolvedConfig): Plugin { if (!polyfillString) { polyfillString = `${isModernFlag}&&(${polyfill.toString()}());` } - return polyfillString + return { code: polyfillString, moduleSideEffects: true } } }, } diff --git a/packages/vite/src/node/plugins/optimizedDeps.ts b/packages/vite/src/node/plugins/optimizedDeps.ts index f832e5da395c6c..7bb1e040517320 100644 --- a/packages/vite/src/node/plugins/optimizedDeps.ts +++ b/packages/vite/src/node/plugins/optimizedDeps.ts @@ -106,12 +106,12 @@ export function optimizedDepsBuildPlugin(config: ResolvedConfig): Plugin { ...options, skipSelf: true, }) - if (resolved) { + if (resolved && !resolved.external) { depsOptimizer.delayDepsOptimizerUntil(resolved.id, async () => { await this.load(resolved) }) - return resolved } + return resolved } }, diff --git a/packages/vite/src/node/plugins/preAlias.ts b/packages/vite/src/node/plugins/preAlias.ts index 7aa33ef2fdc7c2..1ba06fac265ffb 100644 --- a/packages/vite/src/node/plugins/preAlias.ts +++ b/packages/vite/src/node/plugins/preAlias.ts @@ -49,7 +49,9 @@ export function preAliasPlugin(config: ResolvedConfig): Plugin { if (optimizedId) { return optimizedId // aliased dep already optimized } - + if (depsOptimizer.options.noDiscovery) { + return + } const resolved = await this.resolve(id, importer, { ...options, custom: { ...options.custom, 'vite:pre-alias': true }, diff --git a/packages/vite/src/node/plugins/reporter.ts b/packages/vite/src/node/plugins/reporter.ts index 0c3a8cfe099c6e..f36081041ca1c5 100644 --- a/packages/vite/src/node/plugins/reporter.ts +++ b/packages/vite/src/node/plugins/reporter.ts @@ -98,8 +98,7 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin { buildEnd() { if (shouldLogInfo) { if (tty) { - process.stdout.clearLine(0) - process.stdout.cursorTo(0) + clearLine() } config.logger.info( `${colors.green(`✓`)} ${transformedCount} modules transformed.`, @@ -260,8 +259,8 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin { closeBundle() { if (shouldLogInfo && !config.build.watch) { config.logger.info( - `${colors.green(`✓`)} built in ${displayTime( - Date.now() - startTime, + `${colors.green( + `✓ built in ${displayTime(Date.now() - startTime)}`, )}`, ) } diff --git a/packages/vite/src/node/plugins/resolve.ts b/packages/vite/src/node/plugins/resolve.ts index 76df369ec6af7d..a7d898efa5a566 100644 --- a/packages/vite/src/node/plugins/resolve.ts +++ b/packages/vite/src/node/plugins/resolve.ts @@ -502,7 +502,7 @@ function splitFileAndPostfix(path: string) { return { file, postfix: path.slice(file.length) } } -function tryFsResolve( +export function tryFsResolve( fsPath: string, options: InternalResolveOptions, tryIndex = true, @@ -674,7 +674,6 @@ function tryResolveRealFileWithExtensions( export type InternalResolveOptionsWithOverrideConditions = InternalResolveOptions & { /** - * @deprecated In future, `conditions` will work like this. * @internal */ overrideConditions?: string[] @@ -778,8 +777,15 @@ export function tryNodeResolve( } let resolvedId = id if (deepMatch && !pkg?.data.exports && path.extname(id) !== resolvedExt) { - resolvedId = resolved.id.slice(resolved.id.indexOf(id)) - debug?.(`[processResult] ${colors.cyan(id)} -> ${colors.dim(resolvedId)}`) + // id date-fns/locale + // resolve.id ...date-fns/esm/locale/index.js + const index = resolved.id.indexOf(id) + if (index > -1) { + resolvedId = resolved.id.slice(index) + debug?.( + `[processResult] ${colors.cyan(id)} -> ${colors.dim(resolvedId)}`, + ) + } } return { ...resolved, id: resolvedId, external: true } } @@ -821,6 +827,7 @@ export function tryNodeResolve( } const skipOptimization = + depsOptimizer?.options.noDiscovery || !isJsType || (importer && isInNodeModules(importer)) || exclude?.includes(pkgId) || @@ -1076,8 +1083,6 @@ function packageEntryFailure(id: string, details?: string) { ) } -const conditionalConditions = new Set(['production', 'development', 'module']) - function resolveExportsOrImports( pkg: PackageData['data'], key: string, @@ -1085,43 +1090,31 @@ function resolveExportsOrImports( targetWeb: boolean, type: 'imports' | 'exports', ) { - const overrideConditions = options.overrideConditions - ? new Set(options.overrideConditions) - : undefined + const additionalConditions = new Set( + options.overrideConditions || [ + 'production', + 'development', + 'module', + ...options.conditions, + ], + ) - const conditions = [] - if ( - (!overrideConditions || overrideConditions.has('production')) && - options.isProduction - ) { - conditions.push('production') - } - if ( - (!overrideConditions || overrideConditions.has('development')) && - !options.isProduction - ) { - conditions.push('development') - } - if ( - (!overrideConditions || overrideConditions.has('module')) && - !options.isRequire - ) { - conditions.push('module') - } - if (options.overrideConditions) { - conditions.push( - ...options.overrideConditions.filter((condition) => - conditionalConditions.has(condition), - ), - ) - } else if (options.conditions.length > 0) { - conditions.push(...options.conditions) - } + const conditions = [...additionalConditions].filter((condition) => { + switch (condition) { + case 'production': + return options.isProduction + case 'development': + return !options.isProduction + case 'module': + return !options.isRequire + } + return true + }) const fn = type === 'imports' ? imports : exports const result = fn(pkg, key, { - browser: targetWeb && !conditions.includes('node'), - require: options.isRequire && !conditions.includes('import'), + browser: targetWeb && !additionalConditions.has('node'), + require: options.isRequire && !additionalConditions.has('import'), conditions, }) diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts index 930b7b796e9561..92c7f19563e4b3 100644 --- a/packages/vite/src/node/plugins/worker.ts +++ b/packages/vite/src/node/plugins/worker.ts @@ -240,8 +240,6 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { } }, - // @ts-expect-error return void to fallback to other plugins, even though - // the types doesn't allow it. https://github.com/rollup/rollup/pull/4932 shouldTransformCachedModule({ id }) { if (isBuild && isWorkerQueryId(id) && config.build.watch) { return true diff --git a/packages/vite/src/node/plugins/workerImportMetaUrl.ts b/packages/vite/src/node/plugins/workerImportMetaUrl.ts index 2bda9ab737e273..5e186af64f8648 100644 --- a/packages/vite/src/node/plugins/workerImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/workerImportMetaUrl.ts @@ -17,6 +17,8 @@ import type { ResolveFn } from '..' import type { WorkerType } from './worker' import { WORKER_FILE_ID, workerFileToUrl } from './worker' import { fileToUrl } from './asset' +import type { InternalResolveOptions } from './resolve' +import { tryFsResolve } from './resolve' const ignoreFlagRE = /\/\*\s*@vite-ignore\s*\*\// @@ -99,6 +101,16 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { const isBuild = config.command === 'build' let workerResolver: ResolveFn + const fsResolveOptions: InternalResolveOptions = { + ...config.resolve, + root: config.root, + isProduction: config.isProduction, + isBuild: config.command === 'build', + packageCache: config.packageCache, + ssrConfig: config.ssr, + asSrc: true, + } + return { name: 'vite:worker-import-meta-url', @@ -143,6 +155,7 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { let file: string | undefined if (url[0] === '.') { file = path.resolve(path.dirname(id), url) + file = tryFsResolve(file, fsResolveOptions) ?? file } else { workerResolver ??= config.createResolver({ extensions: [], diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 13e870df0a84f2..17f10e5e8676ab 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -366,7 +366,7 @@ export async function _createServer( const watcher = chokidar.watch( // config file dependencies and env file might be outside of root - [root, ...config.configFileDependencies, path.join(config.envDir, '.env*')], + [root, ...config.configFileDependencies, config.envDir], resolvedWatchOptions, ) as FSWatcher @@ -404,7 +404,9 @@ export async function _createServer( if (isDepsOptimizerEnabled(config, true)) { await initDevSsrDepsOptimizer(config, server) } - await updateCjsSsrExternals(server) + if (config.legacy?.buildSsrCjsExternalHeuristics) { + await updateCjsSsrExternals(server) + } return ssrLoadModule( url, server, @@ -608,6 +610,16 @@ export async function _createServer( // open in editor support middlewares.use('/__open-in-editor', launchEditorMiddleware()) + // ping request handler + // Keep the named function. The name is visible in debug logs via `DEBUG=connect:dispatcher ...` + middlewares.use(function viteHMRPingMiddleware(req, res, next) { + if (req.headers['accept'] === 'text/x-vite-ping') { + res.writeHead(204).end() + } else { + next() + } + }) + // serve static files under /public // this applies before the transform middleware so that these files are served // as-is without transforms. @@ -675,6 +687,8 @@ export async function _createServer( const listen = httpServer.listen.bind(httpServer) httpServer.listen = (async (port: number, ...args: any[]) => { try { + // ensure ws server started + ws.listen() await initServer() } catch (e) { httpServer.emit('error', e) diff --git a/packages/vite/src/node/server/middlewares/indexHtml.ts b/packages/vite/src/node/server/middlewares/indexHtml.ts index 4ab0038333c2e6..a063bc91bdbaf9 100644 --- a/packages/vite/src/node/server/middlewares/indexHtml.ts +++ b/packages/vite/src/node/server/middlewares/indexHtml.ts @@ -28,6 +28,7 @@ import { ensureWatchedFile, fsPathFromId, injectQuery, + isJSRequest, joinUrlSegments, normalizePath, processSrcSetSync, @@ -35,7 +36,9 @@ import { unwrapId, wrapId, } from '../../utils' +import { isCSSRequest } from '../../plugins/css' import { checkPublicFile } from '../../plugins/asset' +import { getCodeWithSourcemap, injectSourcesContent } from '../sourcemap' interface AssetNode { start: number @@ -81,6 +84,12 @@ function getHtmlFilename(url: string, server: ViteDevServer) { } } +function shouldPreTransform(url: string, config: ResolvedConfig) { + return ( + !checkPublicFile(url, config) && (isJSRequest(url) || isCSSRequest(url)) + ) +} + const processNodeUrl = ( attr: Token.Attribute, sourceCodeLocation: Token.Location, @@ -103,7 +112,7 @@ const processNodeUrl = ( // prefix with base (dev only, base is never relative) const fullUrl = path.posix.join(devBase, url) overwriteAttrValue(s, sourceCodeLocation, fullUrl) - if (server && !checkPublicFile(url, config)) { + if (server && shouldPreTransform(url, config)) { preTransformRequest(server, fullUrl, devBase) } } else if ( @@ -115,7 +124,7 @@ const processNodeUrl = ( // prefix with base (dev only, base is never relative) const replacer = (url: string) => { const fullUrl = path.posix.join(devBase, url) - if (server && !checkPublicFile(url, config)) { + if (server && shouldPreTransform(url, config)) { preTransformRequest(server, fullUrl, devBase) } return fullUrl @@ -268,7 +277,22 @@ const devHtmlHook: IndexHtmlTransformHook = async ( ensureWatchedFile(watcher, mod.file, config.root) const result = await server!.pluginContainer.transform(code, mod.id!) - s.overwrite(start, end, result?.code || '') + let content = '' + if (result) { + if (result.map) { + if (result.map.mappings && !result.map.sourcesContent) { + await injectSourcesContent( + result.map, + proxyModulePath, + config.logger, + ) + } + content = getCodeWithSourcemap('css', result.code, result.map) + } else { + content = result.code + } + } + s.overwrite(start, end, content) }), ) diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index f07b93e0746223..66f99f94f0609d 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -79,6 +79,19 @@ export function proxyMiddleware( res.end() } }) + + proxy.on('proxyReqWs', (proxyReq, req, socket, options, head) => { + socket.on('error', (err) => { + config.logger.error( + `${colors.red(`ws proxy socket error:`)}\n${err.stack}`, + { + timestamp: true, + error: err, + }, + ) + }) + }) + // clone before saving because http-proxy mutates the options proxies[context] = [proxy, { ...opts }] }) diff --git a/packages/vite/src/node/server/middlewares/static.ts b/packages/vite/src/node/server/middlewares/static.ts index 13904ce04922a4..42aa48a124c52b 100644 --- a/packages/vite/src/node/server/middlewares/static.ts +++ b/packages/vite/src/node/server/middlewares/static.ts @@ -100,7 +100,7 @@ export function serveStaticMiddleware( return next() } - const url = new URL(req.url!, 'http://example.com') + const url = new URL(req.url!.replace(/^\/+/, '/'), 'http://example.com') const pathname = decodeURIComponent(url.pathname) // apply aliases to static requests as well @@ -153,7 +153,7 @@ export function serveRawFsMiddleware( // Keep the named function. The name is visible in debug logs via `DEBUG=connect:dispatcher ...` return function viteServeRawFsMiddleware(req, res, next) { - const url = new URL(req.url!, 'http://example.com') + const url = new URL(req.url!.replace(/^\/+/, '/'), 'http://example.com') // In some cases (e.g. linked monorepos) files outside of root will // reference assets that are also out of served root. In such cases // the paths are rewritten to `/@fs/` prefixed paths and must be served by diff --git a/packages/vite/src/node/server/pluginContainer.ts b/packages/vite/src/node/server/pluginContainer.ts index 38c057bbbf8c29..a0e46cf4a2fb06 100644 --- a/packages/vite/src/node/server/pluginContainer.ts +++ b/packages/vite/src/node/server/pluginContainer.ts @@ -76,6 +76,7 @@ import { numberToPos, prettifyUrl, timeFrom, + unwrapId, } from '../utils' import { FS_PREFIX } from '../constants' import type { ResolvedConfig } from '../config' @@ -116,7 +117,7 @@ export interface PluginContainer { inMap?: SourceDescription['map'] ssr?: boolean }, - ): Promise + ): Promise<{ code: string; map: SourceMap | null }> load( id: string, options?: { @@ -313,7 +314,7 @@ export async function createPluginContainer( } & Partial>, ): Promise { // We may not have added this to our module graph yet, so ensure it exists - await moduleGraph?.ensureEntryFromUrl(options.id) + await moduleGraph?.ensureEntryFromUrl(unwrapId(options.id), this.ssr) // Not all options passed to this function make sense in the context of loading individual files, // but we can at least update the module info properties we support updateModuleInfo(options.id, options) diff --git a/packages/vite/src/node/server/transformRequest.ts b/packages/vite/src/node/server/transformRequest.ts index 2b74b25b526f06..b08a01e5d01b9e 100644 --- a/packages/vite/src/node/server/transformRequest.ts +++ b/packages/vite/src/node/server/transformRequest.ts @@ -172,11 +172,6 @@ async function loadAndTransform( let code: string | null = null let map: SourceDescription['map'] = null - // Ensure that the module is in the graph before it is loaded and the file is checked. - // This prevents errors from occurring during the load process and interrupting the watching process at its inception. - const mod = await moduleGraph.ensureEntryFromUrl(url, ssr) - ensureWatchedFile(watcher, mod.file, root) - // load const loadStart = debugLoad ? performance.now() : 0 const loadResult = await pluginContainer.load(id, { ssr }) @@ -247,6 +242,9 @@ async function loadAndTransform( err.code = isPublicFile ? ERR_LOAD_PUBLIC_URL : ERR_LOAD_URL throw err } + // ensure module in graph after successful load + const mod = await moduleGraph.ensureEntryFromUrl(url, ssr) + ensureWatchedFile(watcher, mod.file, root) // transform const transformStart = debugTransform ? performance.now() : 0 diff --git a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts index b71b6262e1f009..2c5201c15736a0 100644 --- a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts +++ b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts @@ -743,6 +743,19 @@ console.log("it can parse the hashbang")`, `) }) +test('import hoisted after hashbang', async () => { + expect( + await ssrTransformSimpleCode( + `#!/usr/bin/env node +import "foo"`, + ), + ).toMatchInlineSnapshot(` + "#!/usr/bin/env node + const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\"); + " + `) +}) + // #10289 test('track scope by class, function, condition blocks', async () => { const code = ` @@ -856,3 +869,38 @@ function test() { }" `) }) + +test('track scope in for loops', async () => { + expect( + await ssrTransformSimpleCode(` +import { test } from './test.js' + +for (const test of tests) { + console.log(test) +} + +for (let test = 0; test < 10; test++) { + console.log(test) +} + +for (const test in tests) { + console.log(test) +}`), + ).toMatchInlineSnapshot(` + "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"./test.js\\"); + + + + for (const test of tests) { + console.log(test) + } + + for (let test = 0; test < 10; test++) { + console.log(test) + } + + for (const test in tests) { + console.log(test) + }" + `) +}) diff --git a/packages/vite/src/node/ssr/index.ts b/packages/vite/src/node/ssr/index.ts index be2d436749dc80..caf85dab072aa1 100644 --- a/packages/vite/src/node/ssr/index.ts +++ b/packages/vite/src/node/ssr/index.ts @@ -47,16 +47,8 @@ export function resolveSSROptions( ): ResolvedSSROptions { ssr ??= {} const optimizeDeps = ssr.optimizeDeps ?? {} - let format: SSRFormat = 'esm' - let target: SSRTarget = 'node' - if (buildSsrCjsExternalHeuristics) { - if (ssr) { - format = 'cjs' - } else { - target = 'node' - format = 'cjs' - } - } + const format: SSRFormat = buildSsrCjsExternalHeuristics ? 'cjs' : 'esm' + const target: SSRTarget = 'node' return { format, target, diff --git a/packages/vite/src/node/ssr/ssrModuleLoader.ts b/packages/vite/src/node/ssr/ssrModuleLoader.ts index 2f9e71f55569bd..3e498809f32829 100644 --- a/packages/vite/src/node/ssr/ssrModuleLoader.ts +++ b/packages/vite/src/node/ssr/ssrModuleLoader.ts @@ -189,7 +189,7 @@ async function instantiateModule( function ssrExportAll(sourceModule: any) { for (const key in sourceModule) { - if (key !== 'default') { + if (key !== 'default' && key !== '__esModule') { Object.defineProperty(ssrModule, key, { enumerable: true, configurable: true, @@ -222,7 +222,7 @@ async function instantiateModule( ssrExportAllKey, '"use strict";' + result.code + - `\n//# sourceURL=${mod.url}${sourceMapSuffix}`, + `\n//# sourceURL=${mod.id}${sourceMapSuffix}`, ) await initModule( context.global, diff --git a/packages/vite/src/node/ssr/ssrStacktrace.ts b/packages/vite/src/node/ssr/ssrStacktrace.ts index fe66b8803530b7..a98af4dd94bb74 100644 --- a/packages/vite/src/node/ssr/ssrStacktrace.ts +++ b/packages/vite/src/node/ssr/ssrStacktrace.ts @@ -1,30 +1,39 @@ +import path from 'node:path' import { TraceMap, originalPositionFor } from '@jridgewell/trace-mapping' import type { ModuleGraph } from '../server/moduleGraph' let offset: number -try { - new Function('throw new Error(1)')() -} catch (e) { - // in Node 12, stack traces account for the function wrapper. - // in Node 13 and later, the function wrapper adds two lines, - // which must be subtracted to generate a valid mapping - const match = /:(\d+):\d+\)$/.exec(e.stack.split('\n')[1]) - offset = match ? +match[1] - 1 : 0 + +function calculateOffsetOnce() { + if (offset !== undefined) { + return + } + + try { + new Function('throw new Error(1)')() + } catch (e) { + // in Node 12, stack traces account for the function wrapper. + // in Node 13 and later, the function wrapper adds two lines, + // which must be subtracted to generate a valid mapping + const match = /:(\d+):\d+\)$/.exec(e.stack.split('\n')[1]) + offset = match ? +match[1] - 1 : 0 + } } export function ssrRewriteStacktrace( stack: string, moduleGraph: ModuleGraph, ): string { + calculateOffsetOnce() return stack .split('\n') .map((line) => { return line.replace( /^ {4}at (?:(\S.*?)\s\()?(.+?):(\d+)(?::(\d+))?\)?/, - (input, varName, url, line, column) => { - if (!url) return input + (input, varName, id, line, column) => { + if (!id) return input - const mod = moduleGraph.urlToModuleMap.get(url) + const mod = moduleGraph.idToModuleMap.get(id) const rawSourceMap = mod?.ssrTransformResult?.map if (!rawSourceMap) { @@ -35,7 +44,8 @@ export function ssrRewriteStacktrace( const pos = originalPositionFor(traced, { line: Number(line) - offset, - column: Number(column), + // stacktrace's column is 1-indexed, but sourcemap's one is 0-indexed + column: Number(column) - 1, }) if (!pos.source || pos.line == null || pos.column == null) { @@ -43,7 +53,9 @@ export function ssrRewriteStacktrace( } const trimmedVarName = varName.trim() - const source = `${pos.source}:${pos.line}:${pos.column}` + const sourceFile = path.resolve(path.dirname(id), pos.source) + // stacktrace's column is 1-indexed, but sourcemap's one is 0-indexed + const source = `${sourceFile}:${pos.line}:${pos.column + 1}` if (!trimmedVarName || trimmedVarName === 'eval') { return ` at ${source}` } else { diff --git a/packages/vite/src/node/ssr/ssrTransform.ts b/packages/vite/src/node/ssr/ssrTransform.ts index 96ee465e2a0ebe..5496019504e50d 100644 --- a/packages/vite/src/node/ssr/ssrTransform.ts +++ b/packages/vite/src/node/ssr/ssrTransform.ts @@ -1,3 +1,4 @@ +import path from 'node:path' import MagicString from 'magic-string' import type { SourceMap } from 'rollup' import type { @@ -33,6 +34,8 @@ export const ssrDynamicImportKey = `__vite_ssr_dynamic_import__` export const ssrExportAllKey = `__vite_ssr_exportAll__` export const ssrImportMetaKey = `__vite_ssr_import_meta__` +const hashbangRE = /^#!.*\n/ + export async function ssrTransform( code: string, inMap: SourceMap | null, @@ -92,13 +95,16 @@ async function ssrTransformScript( const idToImportMap = new Map() const declaredConst = new Set() + // hoist at the start of the file, after the hashbang + const hoistIndex = code.match(hashbangRE)?.[0].length ?? 0 + function defineImport(source: string) { deps.add(source) const importId = `__vite_ssr_import_${uid++}__` // There will be an error if the module is called before it is imported, // so the module import statement is hoisted to the top s.appendLeft( - 0, + hoistIndex, `const ${importId} = await ${ssrImportKey}(${JSON.stringify(source)});\n`, ) return importId @@ -165,7 +171,7 @@ async function ssrTransformScript( // hoist re-exports near the defined import so they are immediately exported for (const spec of node.specifiers) { defineExport( - 0, + hoistIndex, spec.exported.name, `${importId}.${spec.local.name}`, ) @@ -214,9 +220,9 @@ async function ssrTransformScript( const importId = defineImport(node.source.value as string) // hoist re-exports near the defined import so they are immediately exported if (node.exported) { - defineExport(0, node.exported.name, `${importId}`) + defineExport(hoistIndex, node.exported.name, `${importId}`) } else { - s.appendLeft(0, `${ssrExportAllKey}(${importId});\n`) + s.appendLeft(hoistIndex, `${ssrExportAllKey}(${importId});\n`) } } } @@ -280,7 +286,7 @@ async function ssrTransformScript( false, ) as SourceMap } else { - map.sources = [url] + map.sources = [path.basename(url)] // needs to use originalCode instead of code // because code might be already transformed even if map is null map.sourcesContent = [originalCode] @@ -556,14 +562,16 @@ function isFunction(node: _Node): node is FunctionNode { return functionNodeTypeRE.test(node.type) } +const blockNodeTypeRE = /^BlockStatement$|^For(?:In|Of)?Statement$/ +function isBlock(node: _Node) { + return blockNodeTypeRE.test(node.type) +} + function findParentScope( parentStack: _Node[], isVar = false, ): _Node | undefined { - const predicate = isVar - ? isFunction - : (node: _Node) => node.type === 'BlockStatement' - return parentStack.find(predicate) + return parentStack.find(isVar ? isFunction : isBlock) } function isInDestructuringAssignment( diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 14a016f94311ec..026c5abc370f43 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -137,7 +137,7 @@ export function isOptimizable( ) } -export const bareImportRE = /^[\w@](?!.*:\/\/)/ +export const bareImportRE = /^(?![a-zA-Z]:)[\w@](?!.*:\/\/)/ export const deepImportRE = /^([^@][^/]*)\/|^(@[^/]+\/[^/]+)\// // TODO: use import() @@ -169,7 +169,7 @@ export function createDebugger( if (enabled) { return (...args: [string, ...any[]]) => { - if (!filter || args.some((a) => a?.includes(filter))) { + if (!filter || args.some((a) => a?.includes?.(filter))) { log(...args) } } @@ -574,7 +574,7 @@ function windowsMappedRealpathSync(path: string) { } return realPath } -const parseNetUseRE = /^(\w+) +(\w:) +([^ ]+)\s/ +const parseNetUseRE = /^(\w+)? +(\w:) +([^ ]+)\s/ let firstSafeRealPathSyncRun = false function windowsSafeRealPathSync(path: string): string { @@ -586,6 +586,13 @@ function windowsSafeRealPathSync(path: string): string { } function optimizeSafeRealPathSync() { + // Skip if using Node <16.18 due to MAX_PATH issue: https://github.com/vitejs/vite/issues/12931 + const nodeVersion = process.versions.node.split('.').map(Number) + if (nodeVersion[0] < 16 || (nodeVersion[0] === 16 && nodeVersion[1] < 18)) { + safeRealpathSync = fs.realpathSync + return + } + exec('net use', (error, stdout) => { if (error) return const lines = stdout.split('\n') @@ -874,13 +881,18 @@ export async function resolveServerUrls( const base = config.rawBase === './' || config.rawBase === '' ? '/' : config.rawBase - if (hostname.host && loopbackHosts.has(hostname.host)) { + if (hostname.host) { let hostnameName = hostname.name // ipv6 host if (hostnameName.includes(':')) { hostnameName = `[${hostnameName}]` } - local.push(`${protocol}://${hostnameName}:${port}${base}`) + const address = `${protocol}://${hostnameName}:${port}${base}` + if (loopbackHosts.has(hostname.host)) { + local.push(address) + } else { + network.push(address) + } } else { Object.values(os.networkInterfaces()) .flatMap((nInterface) => nInterface ?? []) diff --git a/playground/alias/package.json b/playground/alias/package.json index 60c9a67218b86a..78995fa19e045c 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-alias", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/alias/vite.config.js b/playground/alias/vite.config.js index c2b2e7e2e923e0..1312b295b985dd 100644 --- a/playground/alias/vite.config.js +++ b/playground/alias/vite.config.js @@ -1,6 +1,9 @@ import path from 'node:path' +import module from 'node:module' import { defineConfig } from 'vite' +const require = module.createRequire(import.meta.url) + export default defineConfig({ resolve: { alias: [ diff --git a/playground/assets-sanitize/.env b/playground/assets-sanitize/.env new file mode 100644 index 00000000000000..d0e0cfd28cbe57 --- /dev/null +++ b/playground/assets-sanitize/.env @@ -0,0 +1 @@ +KEY=unsafe diff --git a/playground/assets-sanitize/__tests__/assets-sanitize.spec.ts b/playground/assets-sanitize/__tests__/assets-sanitize.spec.ts index 9fd8b1e988b089..f4a25aa1ef6264 100644 --- a/playground/assets-sanitize/__tests__/assets-sanitize.spec.ts +++ b/playground/assets-sanitize/__tests__/assets-sanitize.spec.ts @@ -25,3 +25,8 @@ if (!isBuild) { expect(Object.keys(manifest).length).toBe(3) // 2 svg, 1 index.js }) } + +test.runIf(!isBuild)('denied .env', async () => { + expect(await page.textContent('.unsafe-dotenv')).toBe('403') + expect(await page.textContent('.unsafe-dotenv-double-slash')).toBe('403') +}) diff --git a/playground/assets-sanitize/index.html b/playground/assets-sanitize/index.html index e4b4913ca7142c..0e634695c584fb 100644 --- a/playground/assets-sanitize/index.html +++ b/playground/assets-sanitize/index.html @@ -6,6 +6,35 @@ margin-bottom: 1rem; } -

test elements below should show circles and their url

+

test elements below should show circles and their url

+ +

Denied .env

+
+
+ + diff --git a/playground/assets-sanitize/package.json b/playground/assets-sanitize/package.json index 5deedbfaf97f38..1a110936d06db9 100644 --- a/playground/assets-sanitize/package.json +++ b/playground/assets-sanitize/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-assets-sanitize", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/assets/__tests__/assets.spec.ts b/playground/assets/__tests__/assets.spec.ts index 3aa3a9ab3189dd..ddc2d28d270999 100644 --- a/playground/assets/__tests__/assets.spec.ts +++ b/playground/assets/__tests__/assets.spec.ts @@ -312,6 +312,15 @@ test('new URL("/...", import.meta.url)', async () => { ) }) +test('new URL(..., import.meta.url) without extension', async () => { + expect(await page.textContent('.import-meta-url-without-extension')).toMatch( + isBuild ? 'data:application/javascript' : 'nested/test.js', + ) + expect( + await page.textContent('.import-meta-url-content-without-extension'), + ).toContain('export default class') +}) + test('new URL(`${dynamic}`, import.meta.url)', async () => { expect(await page.textContent('.dynamic-import-meta-url-1')).toMatch( isBuild ? 'data:image/png;base64' : '/foo/nested/icon.png', @@ -324,6 +333,28 @@ test('new URL(`${dynamic}`, import.meta.url)', async () => { ) }) +test('new URL(`./${dynamic}?abc`, import.meta.url)', async () => { + expect(await page.textContent('.dynamic-import-meta-url-1-query')).toMatch( + isBuild ? 'data:image/png;base64' : '/foo/nested/icon.png?abc', + ) + expect(await page.textContent('.dynamic-import-meta-url-2-query')).toMatch( + isBuild + ? /\/foo\/assets\/asset-\w{8}\.png\?abc/ + : '/foo/nested/asset.png?abc', + ) +}) + +test('new URL(`./${1 === 0 ? static : dynamic}?abc`, import.meta.url)', async () => { + expect(await page.textContent('.dynamic-import-meta-url-1-ternary')).toMatch( + isBuild ? 'data:image/png;base64' : '/foo/nested/icon.png?abc', + ) + expect(await page.textContent('.dynamic-import-meta-url-2-ternary')).toMatch( + isBuild + ? /\/foo\/assets\/asset-\w{8}\.png\?abc/ + : '/foo/nested/asset.png?abc', + ) +}) + test('new URL(`non-existent`, import.meta.url)', async () => { expect(await page.textContent('.non-existent-import-meta-url')).toMatch( new URL('non-existent', page.url()).pathname, @@ -377,12 +408,13 @@ test('inline style test', async () => { if (!isBuild) { test('@import in html style tag hmr', async () => { await untilUpdated(() => getColor('.import-css'), 'rgb(0, 136, 255)') + const loadPromise = page.waitForEvent('load') editFile( './css/import.css', (code) => code.replace('#0088ff', '#00ff88'), true, ) - await page.waitForNavigation() + await loadPromise await untilUpdated(() => getColor('.import-css'), 'rgb(0, 255, 136)') }) } diff --git a/playground/assets/index.html b/playground/assets/index.html index 57caa90f4f552d..5b30b733c2f9c9 100644 --- a/playground/assets/index.html +++ b/playground/assets/index.html @@ -190,6 +190,14 @@

new URL('/...', import.meta.url)

+

new URL('...', import.meta.url (without extension))

+

+ +

+

+ +

+

new URL('...', import.meta.url,) (with comma)

@@ -221,6 +229,26 @@

new URL(`./${dynamic}`, import.meta.url,) (with comma)

+

new URL(`./${dynamic}?abc`, import.meta.url)

+

+ + +

+

+ + +

+ +

new URL(`./${1 === 0 ? static : dynamic}?abc`, import.meta.url)

+

+ + +

+

+ + +

+

new URL(`non-existent`, import.meta.url)

@@ -383,6 +411,13 @@

assets in noscript

text('.import-meta-url-base-path', metaUrlBasePath) document.querySelector('.import-meta-url-base-path-img').src = metaUrlBasePath + const metaUrlWithoutExtension = new URL('./nested/test', import.meta.url) + text('.import-meta-url-without-extension', metaUrlWithoutExtension) + ;(async () => { + const res = await fetch(metaUrlWithoutExtension) + text('.import-meta-url-content-without-extension', await res.text()) + })() + // prettier-ignore const metaUrlWithComma = new URL('./nested/asset.png', import.meta.url,) text('.import-meta-url-comma', metaUrlWithComma) @@ -432,6 +467,28 @@

assets in noscript

testDynamicImportMetaUrlWithComma('icon', 1) testDynamicImportMetaUrlWithComma('asset', 2) + function testDynamicImportMetaUrlWithQuery(name, i) { + // prettier-ignore + const metaUrl = new URL(`./nested/${name}.png?abc`, import.meta.url,) + text(`.dynamic-import-meta-url-${i}-query`, metaUrl) + document.querySelector(`.dynamic-import-meta-url-img-${i}-query`).src = + metaUrl + } + + testDynamicImportMetaUrlWithQuery('icon', 1) + testDynamicImportMetaUrlWithQuery('asset', 2) + + function testDynamicImportMetaUrlWithTernaryOperator(name, i) { + // prettier-ignore + const metaUrl = new URL(`./nested/${1 === 0 ? 'failed' : name}.png?abc`, import.meta.url,) + text(`.dynamic-import-meta-url-${i}-ternary`, metaUrl) + document.querySelector(`.dynamic-import-meta-url-img-${i}-ternary`).src = + metaUrl + } + + testDynamicImportMetaUrlWithTernaryOperator('icon', 1) + testDynamicImportMetaUrlWithTernaryOperator('asset', 2) + { const name = 'test' const js = new URL(`./nested/${name}.js`, import.meta.url).href diff --git a/playground/assets/package.json b/playground/assets/package.json index 47e127261142e7..eeec51861fe068 100644 --- a/playground/assets/package.json +++ b/playground/assets/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-assets", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "debug": "node --inspect-brk ../../packages/vite/bin/vite", "dev": "vite", diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index ed28e061d00436..12b1aa1de18298 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-backend-integration", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,8 +10,8 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.59.3", - "tailwindcss": "^3.2.7", + "sass": "^1.62.0", + "tailwindcss": "^3.3.1", "fast-glob": "^3.2.12" } } diff --git a/playground/backend-integration/postcss.config.js b/playground/backend-integration/postcss.config.js index f2f538422a839e..431c1ca465d257 100644 --- a/playground/backend-integration/postcss.config.js +++ b/playground/backend-integration/postcss.config.js @@ -1,5 +1,10 @@ -// postcss.config.js -module.exports = { +import { fileURLToPath } from 'node:url' +import { dirname } from 'node:path' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = dirname(__filename) + +export default { plugins: { tailwindcss: { config: __dirname + '/tailwind.config.js' }, }, diff --git a/playground/backend-integration/tailwind.config.js b/playground/backend-integration/tailwind.config.js index a91db5247f6553..bf91cec6521e40 100644 --- a/playground/backend-integration/tailwind.config.js +++ b/playground/backend-integration/tailwind.config.js @@ -1,4 +1,6 @@ -module.exports = { +/** @type {import('tailwindcss').Config} */ + +export default { content: [__dirname + '/frontend/**/*.{css,html,ts,js}'], theme: { extend: {}, diff --git a/playground/build-old/package.json b/playground/build-old/package.json index 9766699a41d435..695d5e6f28fbc7 100644 --- a/playground/build-old/package.json +++ b/playground/build-old/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-build-old", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/cli/__tests__/cli.spec.ts b/playground/cli/__tests__/cli.spec.ts index 4ec4d613d20d9a..7915ea4ae992d4 100644 --- a/playground/cli/__tests__/cli.spec.ts +++ b/playground/cli/__tests__/cli.spec.ts @@ -1,6 +1,6 @@ import { expect, test } from 'vitest' -import { port } from './serve' -import { page } from '~utils' +import { port, streams } from './serve' +import { editFile, page, withRetry } from '~utils' test('cli should work', async () => { // this test uses a custom serve implementation, so regular helpers for browserLogs and goto don't work @@ -12,9 +12,22 @@ test('cli should work', async () => { try { page.on('console', onConsole) await page.goto(`http://localhost:${port}/`) + expect(await page.textContent('.app')).toBe('vite cli works!') expect(logs.some((msg) => msg.match('vite cli works!'))).toBe(true) } finally { page.off('console', onConsole) } }) + +test('should restart', async () => { + editFile('./vite.config.js', (content) => content) + await withRetry(async () => { + expect(streams.server.out).toEqual( + expect.arrayContaining([expect.stringMatching('server restarted')]), + ) + expect(streams.server.out).not.toEqual( + expect.arrayContaining([expect.stringMatching('error')]), + ) + }) +}) diff --git a/playground/cli/__tests__/serve.ts b/playground/cli/__tests__/serve.ts index 3597e236bdd806..7cf2eca021ef1d 100644 --- a/playground/cli/__tests__/serve.ts +++ b/playground/cli/__tests__/serve.ts @@ -13,13 +13,16 @@ import { } from '~utils' export const port = ports.cli - +export const streams = {} as { + build: { out: string[]; err: string[] } + server: { out: string[]; err: string[] } +} export async function serve() { // collect stdout and stderr streams from child processes here to avoid interfering with regular vitest output - const streams = { + Object.assign(streams, { build: { out: [], err: [] }, server: { out: [], err: [] }, - } + }) // helpers to collect streams const collectStreams = (name, process) => { process.stdout.on('data', (d) => streams[name].out.push(d.toString())) diff --git a/playground/cli/package.json b/playground/cli/package.json index 39b7efc3b24304..09b97d52574733 100644 --- a/playground/cli/package.json +++ b/playground/cli/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-cli", "private": true, "version": "0.0.0", + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/config/__tests__/load.spec.ts b/playground/config/__tests__/load.spec.ts index 6236fff91b9272..a95cf592130f0b 100644 --- a/playground/config/__tests__/load.spec.ts +++ b/playground/config/__tests__/load.spec.ts @@ -20,7 +20,7 @@ it('loadConfigFromFile', async () => { 4, ], ], - "moduleCondition": "require condition", + "moduleCondition": "import condition", } `) }) diff --git a/playground/config/packages/entry/package.json b/playground/config/packages/entry/package.json index 287aa6c698618b..bb0e07d0af7389 100644 --- a/playground/config/packages/entry/package.json +++ b/playground/config/packages/entry/package.json @@ -1,5 +1,6 @@ { "name": "@vite/test-config-entry", + "type": "module", "dependencies": { "@vite/test-config-plugin-module-condition": "link:../plugin-module-condition" } diff --git a/playground/config/packages/plugin-module-condition/package.json b/playground/config/packages/plugin-module-condition/package.json index 38df99751d9e3e..623a54914737cf 100644 --- a/playground/config/packages/plugin-module-condition/package.json +++ b/playground/config/packages/plugin-module-condition/package.json @@ -1,5 +1,6 @@ { "name": "@vite/test-config-plugin-module-condition", + "type": "module", "exports": { ".": { "types": "./index.d.ts", diff --git a/playground/config/packages/siblings/foo.ts b/playground/config/packages/siblings/foo.ts index 78a8912131faed..efc3b112053c58 100644 --- a/playground/config/packages/siblings/foo.ts +++ b/playground/config/packages/siblings/foo.ts @@ -1,3 +1,3 @@ -import { partition } from 'lodash' +import lodash from 'lodash' -export const array = partition([1, 2, 3, 4], (n) => n % 2) +export const array = lodash.partition([1, 2, 3, 4], (n) => n % 2) diff --git a/playground/config/packages/siblings/package.json b/playground/config/packages/siblings/package.json index c38f77764438bc..b4bcc544931887 100644 --- a/playground/config/packages/siblings/package.json +++ b/playground/config/packages/siblings/package.json @@ -1,7 +1,8 @@ { "name": "@vite/test-config-sibling", + "type": "module", "devDependencies": { - "@types/lodash": "^4.14.191", + "@types/lodash": "^4.14.194", "lodash": "^4.17.21" } } diff --git a/playground/css-codesplit-cjs/package.json b/playground/css-codesplit-cjs/package.json index 97f1473d267e46..e305007adfcb98 100644 --- a/playground/css-codesplit-cjs/package.json +++ b/playground/css-codesplit-cjs/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-css-codesplit-cjs", "private": true, "version": "0.0.0", + "type": "commonjs", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/css-codesplit/package.json b/playground/css-codesplit/package.json index ac3149030dceaf..f7edd868783ebf 100644 --- a/playground/css-codesplit/package.json +++ b/playground/css-codesplit/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-css-codesplit", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/css-dynamic-import/package.json b/playground/css-dynamic-import/package.json index 60b8fa380e2243..2b5339f8c72760 100644 --- a/playground/css-dynamic-import/package.json +++ b/playground/css-dynamic-import/package.json @@ -1,5 +1,6 @@ { "name": "@vitejs/test-css-dynamic-import", "private": true, + "type": "module", "version": "0.0.0" } diff --git a/playground/css-sourcemap/__tests__/css-sourcemap.spec.ts b/playground/css-sourcemap/__tests__/css-sourcemap.spec.ts index 696864b12ffd64..94ce57bd54b235 100644 --- a/playground/css-sourcemap/__tests__/css-sourcemap.spec.ts +++ b/playground/css-sourcemap/__tests__/css-sourcemap.spec.ts @@ -37,22 +37,7 @@ describe.runIf(isServe)('serve', () => { }, ) const css = await res.text() - const map = extractSourcemap(css) - expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(` - { - "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC;", - "sources": [ - "/root/linked.css", - ], - "sourcesContent": [ - ".linked { - color: red; - } - ", - ], - "version": 3, - } - `) + expect(css).not.toContain('sourceMappingURL') }) test('linked css with import', async () => { diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index 828ffc153245bc..d1ff56dafa781f 100644 --- a/playground/css-sourcemap/package.json +++ b/playground/css-sourcemap/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-css-sourcemap", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -11,7 +12,7 @@ "devDependencies": { "less": "^4.1.3", "magic-string": "^0.30.0", - "sass": "^1.59.3", + "sass": "^1.62.0", "stylus": "^0.59.0", "sugarss": "^4.0.1" } diff --git a/playground/css/package.json b/playground/css/package.json index 826701058bd17e..d95ef47367e343 100644 --- a/playground/css/package.json +++ b/playground/css/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-css", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -22,7 +23,7 @@ "fast-glob": "^3.2.12", "less": "^4.1.3", "postcss-nested": "^6.0.1", - "sass": "^1.59.3", + "sass": "^1.62.0", "stylus": "^0.59.0", "sugarss": "^4.0.1" } diff --git a/playground/css/postcss-caching/blue-app/package.json b/playground/css/postcss-caching/blue-app/package.json index 82ba64fadd44b4..528263c4e60923 100644 --- a/playground/css/postcss-caching/blue-app/package.json +++ b/playground/css/postcss-caching/blue-app/package.json @@ -2,6 +2,7 @@ "name": "blue-app", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/css/postcss-caching/blue-app/postcss.config.js b/playground/css/postcss-caching/blue-app/postcss.config.js index 50764f3ff8f21a..679b801013ef1a 100644 --- a/playground/css/postcss-caching/blue-app/postcss.config.js +++ b/playground/css/postcss-caching/blue-app/postcss.config.js @@ -1,4 +1,4 @@ -module.exports = { +export default { plugins: [replacePinkWithBlue], } diff --git a/playground/css/postcss-caching/css.spec.ts b/playground/css/postcss-caching/css.spec.ts index 5f2893f0873e44..842d2726590d31 100644 --- a/playground/css/postcss-caching/css.spec.ts +++ b/playground/css/postcss-caching/css.spec.ts @@ -33,7 +33,7 @@ test.runIf(isServe)('postcss config', async () => { blueApp = await startServer(blueAppDir) - await page.goto(`http://localhost:${port}`) + await page.goto(`http://localhost:${port}`, { waitUntil: 'load' }) const blueA = await page.$('.postcss-a') expect(await getColor(blueA)).toBe('blue') const blueB = await page.$('.postcss-b') @@ -44,9 +44,9 @@ test.runIf(isServe)('postcss config', async () => { await blueApp.close() blueApp = null - const navigationPromise = page.waitForNavigation() // wait for server restart auto reload + const loadPromise = page.waitForEvent('load') // wait for server restart auto reload greenApp = await startServer(greenAppDir) - await navigationPromise + await loadPromise const greenA = await page.$('.postcss-a') expect(await getColor(greenA)).toBe('black') diff --git a/playground/css/postcss-caching/green-app/package.json b/playground/css/postcss-caching/green-app/package.json index 72bd0f45b8865f..110ea74558435d 100644 --- a/playground/css/postcss-caching/green-app/package.json +++ b/playground/css/postcss-caching/green-app/package.json @@ -2,6 +2,7 @@ "name": "green-app", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/css/postcss-caching/green-app/postcss.config.js b/playground/css/postcss-caching/green-app/postcss.config.js index 7d9d8818540e09..c0a74e3676976d 100644 --- a/playground/css/postcss-caching/green-app/postcss.config.js +++ b/playground/css/postcss-caching/green-app/postcss.config.js @@ -1,4 +1,4 @@ -module.exports = { +export default { plugins: [replacePinkWithGreen], } diff --git a/playground/css/postcss.config.js b/playground/css/postcss.config.js index 955878ac216f53..4d2c144b9fa66c 100644 --- a/playground/css/postcss.config.js +++ b/playground/css/postcss.config.js @@ -1,11 +1,12 @@ -module.exports = { - plugins: [require('postcss-nested'), testDirDep, testSourceInput], -} +import fs from 'node:fs' +import path from 'node:path' +import glob from 'fast-glob' +import { normalizePath } from 'vite' +import postcssNested from 'postcss-nested' -const fs = require('node:fs') -const path = require('node:path') -const glob = require('fast-glob') -const { normalizePath } = require('vite') +export default { + plugins: [postcssNested, testDirDep, testSourceInput], +} /** * A plugin for testing the `dir-dependency` message handling. diff --git a/playground/data-uri/package.json b/playground/data-uri/package.json index c19befed0bca09..4e8b2d699f2ac8 100644 --- a/playground/data-uri/package.json +++ b/playground/data-uri/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-data-uri", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/define/package.json b/playground/define/package.json index 9a144c76a4dfb0..a65b36c1c3df67 100644 --- a/playground/define/package.json +++ b/playground/define/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-define", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/dynamic-import/__tests__/dynamic-import.spec.ts b/playground/dynamic-import/__tests__/dynamic-import.spec.ts index 6748c9078ec627..91e7ae35d0afaf 100644 --- a/playground/dynamic-import/__tests__/dynamic-import.spec.ts +++ b/playground/dynamic-import/__tests__/dynamic-import.spec.ts @@ -71,7 +71,7 @@ test('should load dynamic import with vars', async () => { test('should load dynamic import with vars multiline', async () => { await untilUpdated( - () => page.textContent('.dynamic-import-with-vars'), + () => page.textContent('.dynamic-import-with-vars-multiline'), 'hello', true, ) diff --git a/playground/dynamic-import/index.html b/playground/dynamic-import/index.html index d13e842804eaa7..0787955f9ca309 100644 --- a/playground/dynamic-import/index.html +++ b/playground/dynamic-import/index.html @@ -13,6 +13,9 @@

dynamic-import-with-vars

todo
+

dynamic-import-with-vars-multiline

+
todo
+

dynamic-import-with-vars-alias

todo
diff --git a/playground/dynamic-import/package.json b/playground/dynamic-import/package.json index 55137ef5fb9375..d3ab6846463268 100644 --- a/playground/dynamic-import/package.json +++ b/playground/dynamic-import/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-dynamic-import", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/dynamic-import/vite.config.js b/playground/dynamic-import/vite.config.js index 15aa703d74530a..dc8ecbd8bbdfe5 100644 --- a/playground/dynamic-import/vite.config.js +++ b/playground/dynamic-import/vite.config.js @@ -1,8 +1,8 @@ import fs from 'node:fs' import path from 'node:path' -import vite from 'vite' +import { defineConfig } from 'vite' -export default vite.defineConfig({ +export default defineConfig({ plugins: [ { name: 'copy', diff --git a/playground/env-nested/package.json b/playground/env-nested/package.json index 545eefb2f690d5..060888e998c98d 100644 --- a/playground/env-nested/package.json +++ b/playground/env-nested/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-env-nested", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/env/__tests__/env.spec.ts b/playground/env/__tests__/env.spec.ts index 8146eb128df915..91227abe21fb2c 100644 --- a/playground/env/__tests__/env.spec.ts +++ b/playground/env/__tests__/env.spec.ts @@ -37,8 +37,10 @@ test('inline variables', async () => { ) }) -test('bool', async () => { +test('define', async () => { expect(await page.textContent('.bool')).toBe('boolean') + expect(await page.textContent('.number')).toBe('number') + expect(await page.textContent('.string')).toBe('string') }) test('NODE_ENV', async () => { @@ -79,6 +81,8 @@ test('env object', async () => { MODE: mode, DEV: !isBuild, PROD: isBuild, + VITE_NUMBER: 123, + VITE_STRING: '123', }) }) diff --git a/playground/env/index.html b/playground/env/index.html index 07f1cf8f7df79b..547b424ee809e4 100644 --- a/playground/env/index.html +++ b/playground/env/index.html @@ -13,6 +13,8 @@

Environment Variables

import.meta.env.VITE_INLINE:

typeof import.meta.env.VITE_BOOL:

+

typeof import.meta.env.VITE_NUMBER:

+

typeof import.meta.env.VITE_STRING:

process.env.NODE_ENV:

global.process.env.NODE_ENV:

@@ -34,6 +36,8 @@

Environment Variables

text('.mode-file', import.meta.env.VITE_EFFECTIVE_MODE_FILE_NAME) text('.inline', import.meta.env.VITE_INLINE) text('.bool', typeof import.meta.env.VITE_BOOL) + text('.number', typeof import.meta.env.VITE_NUMBER) + text('.string', typeof import.meta.env.VITE_STRING) text('.ssr', import.meta.env.SSR) text('.node-env', process.env.NODE_ENV) text('.global-node-env', global.process.env.NODE_ENV) diff --git a/playground/env/package.json b/playground/env/package.json index 969f4061114a9d..a50e47e1c17313 100644 --- a/playground/env/package.json +++ b/playground/env/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-env", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "VITE_INLINE=inline-serve vite", "build": "VITE_INLINE=inline-build vite build", diff --git a/playground/env/vite.config.js b/playground/env/vite.config.js index 58b93b9dd47d0c..1f15f79c6afd3b 100644 --- a/playground/env/vite.config.js +++ b/playground/env/vite.config.js @@ -10,5 +10,7 @@ export default defineConfig({ }, define: { 'import.meta.env.VITE_BOOL': true, + 'import.meta.env.VITE_NUMBER': '123', + 'import.meta.env.VITE_STRING': JSON.stringify('123'), }, }) diff --git a/playground/extensions/package.json b/playground/extensions/package.json index 30dde24815a6ce..b11cc4a213e352 100644 --- a/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-extensions", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/external/package.json b/playground/external/package.json index c27e446e8fbdee..6f5141bb15ae9f 100644 --- a/playground/external/package.json +++ b/playground/external/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-external", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/fs-serve/package.json b/playground/fs-serve/package.json index 15fdfe3294cd83..ceb4552d1c244f 100644 --- a/playground/fs-serve/package.json +++ b/playground/fs-serve/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-fs-serve", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite root", "build": "vite build root", diff --git a/playground/glob-import/package.json b/playground/glob-import/package.json index 47aa90ea0f40f9..7d9104ab431c28 100644 --- a/playground/glob-import/package.json +++ b/playground/glob-import/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-import-context", "private": true, "version": "0.0.0", + "type": "module", "imports": { "#imports/*": "./imports-path/*" }, diff --git a/playground/hmr/__tests__/hmr.spec.ts b/playground/hmr/__tests__/hmr.spec.ts index a7fbbad80ae90e..559dcc95b1cb7f 100644 --- a/playground/hmr/__tests__/hmr.spec.ts +++ b/playground/hmr/__tests__/hmr.spec.ts @@ -229,7 +229,7 @@ if (!isBuild) { }) test('not loaded dynamic import', async () => { - await page.goto(viteTestUrl + '/counter/index.html') + await page.goto(viteTestUrl + '/counter/index.html', { waitUntil: 'load' }) let btn = await page.$('button') expect(await btn.textContent()).toBe('Counter 0') @@ -237,8 +237,9 @@ if (!isBuild) { expect(await btn.textContent()).toBe('Counter 1') // Modifying `index.ts` triggers a page reload, as expected + const indexTsLoadPromise = page.waitForEvent('load') editFile('counter/index.ts', (code) => code) - await page.waitForNavigation() + await indexTsLoadPromise btn = await page.$('button') expect(await btn.textContent()).toBe('Counter 0') @@ -251,13 +252,12 @@ if (!isBuild) { // (Note that, a dynamic import that is never loaded and that does not // define `accept.module.hot.accept` may wrongfully trigger a full page // reload, see discussion at #7561.) + const depTsLoadPromise = page.waitForEvent('load', { timeout: 1000 }) editFile('counter/dep.ts', (code) => code) - try { - await page.waitForNavigation({ timeout: 1000 }) - } catch (err) { - const errMsg = 'page.waitForNavigation: Timeout 1000ms exceeded.' - expect(err.message.slice(0, errMsg.length)).toBe(errMsg) - } + await expect(depTsLoadPromise).rejects.toThrow( + /page\.waitForEvent: Timeout \d+ms exceeded while waiting for event "load"/, + ) + btn = await page.$('button') expect(await btn.textContent()).toBe('Counter 1') }) @@ -653,10 +653,12 @@ if (!isBuild) { test('css in html hmr', async () => { await page.goto(viteTestUrl) expect(await getBg('.import-image')).toMatch('icon') - await page.goto(viteTestUrl + '/foo/') + await page.goto(viteTestUrl + '/foo/', { waitUntil: 'load' }) expect(await getBg('.import-image')).toMatch('icon') + + const loadPromise = page.waitForEvent('load') editFile('index.html', (code) => code.replace('url("./icon.png")', '')) - await page.waitForNavigation() + await loadPromise expect(await getBg('.import-image')).toMatch('') }) @@ -664,10 +666,12 @@ if (!isBuild) { await page.goto(viteTestUrl + '/counter/index.html') let btn = await page.$('button') expect(await btn.textContent()).toBe('Counter 0') + + const loadPromise = page.waitForEvent('load') editFile('counter/index.html', (code) => code.replace('Counter', 'Compteur'), ) - await page.waitForNavigation() + await loadPromise btn = await page.$('button') expect(await btn.textContent()).toBe('Compteur 0') }) @@ -701,18 +705,20 @@ if (!isBuild) { const unImportCode = `// ${importCode}` const timeout = 2000 - await page.goto(viteTestUrl + '/missing-import/index.html') + await page.goto(viteTestUrl + '/missing-import/index.html', { + waitUntil: 'load', + }) await untilBrowserLogAfter(async () => { - const navigationPromise = page.waitForNavigation({ timeout }) + const loadPromise = page.waitForEvent('load', { timeout }) editFile(file, (code) => code.replace(importCode, unImportCode)) - await navigationPromise + await loadPromise }, 'missing test') await untilBrowserLogAfter(async () => { - const navigationPromise = page.waitForNavigation({ timeout }) + const loadPromise = page.waitForEvent('load', { timeout }) editFile(file, (code) => code.replace(unImportCode, importCode)) - await navigationPromise + await loadPromise }, /500/) }) diff --git a/playground/hmr/package.json b/playground/hmr/package.json index 8bb1d44d18bbe0..35e0799c262738 100644 --- a/playground/hmr/package.json +++ b/playground/hmr/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-hmr", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/hmr/tsconfig.json b/playground/hmr/tsconfig.json deleted file mode 100644 index ca98b7ce20a3ca..00000000000000 --- a/playground/hmr/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../tsconfig.json", - "include": ["."], - "exclude": ["**/dist/**", "**/__tests__/**"], - "compilerOptions": { - "target": "ES2020", - "module": "ESNext", - "outDir": "dist", - "allowJs": true, - "esModuleInterop": true, - "moduleResolution": "bundler", - "baseUrl": ".", - "jsx": "preserve", - "types": ["vite/client", "node"] - } -} diff --git a/playground/html/package.json b/playground/html/package.json index 9eadef9f1a71a8..6bdb23d06194a4 100644 --- a/playground/html/package.json +++ b/playground/html/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-html", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/import-assertion/package.json b/playground/import-assertion/package.json index 03248a46ef4dd3..04ecce34c1f5ec 100644 --- a/playground/import-assertion/package.json +++ b/playground/import-assertion/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-import-assertion", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts index e04a7c36126d2f..f3c78604287a7c 100644 --- a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts +++ b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts @@ -54,7 +54,7 @@ describe.runIf(isBuild)('build tests', () => { const map = findAssetFile(/after-preload-dynamic.*\.js\.map/) expect(formatSourcemapForSnapshot(JSON.parse(map))).toMatchInlineSnapshot(` { - "mappings": "stBAAAA,aAAO,2BAAuB,EAAC,sEAE/B,QAAQ,IAAI,uBAAuB", + "mappings": "stBAAAA,EAAA,WAAO,2BAAuB,EAAC,sEAE/B,QAAQ,IAAI,uBAAuB", "sources": [ "../../after-preload-dynamic.js", ], diff --git a/playground/js-sourcemap/package.json b/playground/js-sourcemap/package.json index 4b82881a37e473..6381b13c9b09e9 100644 --- a/playground/js-sourcemap/package.json +++ b/playground/js-sourcemap/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-js-sourcemap", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/json/__tests__/json.spec.ts b/playground/json/__tests__/csr/json.spec.ts similarity index 89% rename from playground/json/__tests__/json.spec.ts rename to playground/json/__tests__/csr/json.spec.ts index 5837a236eee314..cec1fb5f0eb0ba 100644 --- a/playground/json/__tests__/json.spec.ts +++ b/playground/json/__tests__/csr/json.spec.ts @@ -1,10 +1,10 @@ import { readFileSync } from 'node:fs' import { expect, test } from 'vitest' -import testJson from '../test.json' -import hmrJson from '../hmr.json' +import deepJson from 'vue/package.json' +import testJson from '../../test.json' +import hmrJson from '../../hmr.json' import { editFile, isBuild, isServe, page, untilUpdated } from '~utils' -const deepJson = require('vue/package.json') const stringified = JSON.stringify(testJson) const deepStringified = JSON.stringify(deepJson) const hmrStringified = JSON.stringify(hmrJson) @@ -45,7 +45,7 @@ test('?url', async () => { test('?raw', async () => { expect(await page.textContent('.raw')).toBe( - readFileSync(require.resolve('../test.json'), 'utf-8'), + readFileSync(require.resolve('../../test.json'), 'utf-8'), ) }) diff --git a/playground/json/__tests__/ssr/json.spec.ts b/playground/json/__tests__/ssr/json.spec.ts new file mode 100644 index 00000000000000..5efbeac7da12d6 --- /dev/null +++ b/playground/json/__tests__/ssr/json.spec.ts @@ -0,0 +1,20 @@ +import { beforeEach, test } from 'vitest' +import { port } from './serve' +import { page, untilUpdated } from '~utils' + +const url = `http://localhost:${port}` + +beforeEach(async () => { + await page.goto(url) +}) + +test('load json module', async () => { + await untilUpdated( + () => page.textContent('.fetch-json-module pre'), + 'export default JSON.parse("{\\n \\"hello\\": \\"hi\\"\\n}\\n")', + ) +}) + +test('fs json', async () => { + await untilUpdated(() => page.textContent('.fetch-json-fs pre'), '61') +}) diff --git a/playground/json/__tests__/ssr/serve.ts b/playground/json/__tests__/ssr/serve.ts new file mode 100644 index 00000000000000..369d3b3999df28 --- /dev/null +++ b/playground/json/__tests__/ssr/serve.ts @@ -0,0 +1,35 @@ +// this is automatically detected by playground/vitestSetup.ts and will replace +// the default e2e test serve behavior + +import path from 'node:path' +import kill from 'kill-port' +import { ports, rootDir } from '~utils' + +export const port = ports.json + +export async function serve(): Promise<{ close(): Promise }> { + await kill(port) + + const { createServer } = await import(path.resolve(rootDir, 'server.js')) + const { app, vite } = await createServer(rootDir) + + return new Promise((resolve, reject) => { + try { + const server = app.listen(port, () => { + resolve({ + // for test teardown + async close() { + await new Promise((resolve) => { + server.close(resolve) + }) + if (vite) { + await vite.close() + } + }, + }) + }) + } catch (e) { + reject(e) + } + }) +} diff --git a/playground/json/package.json b/playground/json/package.json index 748e23fda44137..1484ada27924e5 100644 --- a/playground/json/package.json +++ b/playground/json/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-json", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -12,8 +13,8 @@ "debug:ssr": "node --inspect-brk server" }, "devDependencies": { - "express": "^4.18.2", "@vitejs/test-json-module": "file:./json-module", + "express": "^4.18.2", "vue": "^3.2.47" } } diff --git a/playground/json/server.js b/playground/json/server.js index 5a7a989d9c39e3..705fd0efa0aabb 100644 --- a/playground/json/server.js +++ b/playground/json/server.js @@ -1,21 +1,22 @@ // @ts-check -const fs = require('node:fs') -const path = require('node:path') -const express = require('express') +import fs from 'node:fs' +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import express from 'express' +const __dirname = path.dirname(fileURLToPath(import.meta.url)) const isTest = process.env.VITEST -async function createServer( - root = process.cwd(), - isProd = process.env.NODE_ENV === 'production', -) { +export async function createServer(root = process.cwd()) { const resolve = (p) => path.resolve(__dirname, p) const app = express() /** * @type {import('vite').ViteDevServer} */ - const vite = await require('vite').createServer({ + const vite = await ( + await import('vite') + ).createServer({ root, logLevel: isTest ? 'error' : 'info', server: { @@ -50,13 +51,16 @@ async function createServer( if (url === '/json-fs') { console.time('transform module') - const source = fs.readFileSync('./test.json', { encoding: 'utf-8' }) + const source = fs.readFileSync(path.resolve(__dirname, './test.json'), { + encoding: 'utf-8', + }) const json = await vite.ssrTransform( `export default ${source}`, null, './output.json', ) console.timeEnd('transform module') + // @ts-expect-error ignore in test res.status(200).end(String(json.code.length)) return } @@ -83,6 +87,3 @@ if (!isTest) { }), ) } - -// for test use -exports.createServer = createServer diff --git a/playground/legacy/__tests__/client-and-ssr/serve.ts b/playground/legacy/__tests__/client-and-ssr/serve.ts index 3dc22f7adc0f45..46a075549db53a 100644 --- a/playground/legacy/__tests__/client-and-ssr/serve.ts +++ b/playground/legacy/__tests__/client-and-ssr/serve.ts @@ -34,7 +34,7 @@ export async function serve(): Promise<{ close(): Promise }> { app.use('/', async (_req, res) => { const { render } = await import( - path.resolve(rootDir, './dist/server/entry-server-sequential.mjs') + path.resolve(rootDir, './dist/server/entry-server-sequential.js') ) const html = await render() res.status(200).set({ 'Content-Type': 'text/html' }).end(html) diff --git a/playground/legacy/__tests__/ssr/serve.ts b/playground/legacy/__tests__/ssr/serve.ts index 69ff2ec940b825..2b20dfc8455d69 100644 --- a/playground/legacy/__tests__/ssr/serve.ts +++ b/playground/legacy/__tests__/ssr/serve.ts @@ -22,7 +22,7 @@ export async function serve(): Promise<{ close(): Promise }> { app.use('/', async (_req, res) => { const { render } = await import( - path.resolve(rootDir, './dist/server/entry-server.mjs') + path.resolve(rootDir, './dist/server/entry-server.js') ) const html = await render() res.status(200).set({ 'Content-Type': 'text/html' }).end(html) diff --git a/playground/legacy/package.json b/playground/legacy/package.json index d194824d783a67..897d9c94ef819d 100644 --- a/playground/legacy/package.json +++ b/playground/legacy/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-legacy", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build --debug legacy", @@ -13,6 +14,6 @@ "devDependencies": { "@vitejs/plugin-legacy": "workspace:*", "express": "^4.18.2", - "terser": "^5.16.6" + "terser": "^5.17.1" } } diff --git a/playground/lib/__tests__/lib.spec.ts b/playground/lib/__tests__/lib.spec.ts index ce309a2285fe98..d4ced107fdea7a 100644 --- a/playground/lib/__tests__/lib.spec.ts +++ b/playground/lib/__tests__/lib.spec.ts @@ -15,8 +15,10 @@ describe.runIf(isBuild)('build', () => { test('umd', async () => { expect(await page.textContent('.umd')).toBe('It works') - const code = readFile('dist/my-lib-custom-filename.umd.js') - const noMinifyCode = readFile('dist/nominify/my-lib-custom-filename.umd.js') + const code = readFile('dist/my-lib-custom-filename.umd.cjs') + const noMinifyCode = readFile( + 'dist/nominify/my-lib-custom-filename.umd.cjs', + ) // esbuild helpers are injected inside of the UMD wrapper expect(code).toMatch(/^\(function\(/) expect(noMinifyCode).toMatch( @@ -46,7 +48,7 @@ describe.runIf(isBuild)('build', () => { expect(code).not.toMatch('__vitePreload') // Test that library chunks are hashed - expect(code).toMatch(/await import\("\.\/message-[a-z\d]{8}.mjs"\)/) + expect(code).toMatch(/await import\("\.\/message-[a-z\d]{8}.js"\)/) }) test('@import hoist', async () => { @@ -57,9 +59,9 @@ describe.runIf(isBuild)('build', () => { }) test('preserve process.env', () => { - const es = readFile('dist/my-lib-custom-filename.mjs') + const es = readFile('dist/my-lib-custom-filename.js') const iife = readFile('dist/my-lib-custom-filename.iife.js') - const umd = readFile('dist/my-lib-custom-filename.umd.js') + const umd = readFile('dist/my-lib-custom-filename.umd.cjs') expect(es).toMatch('process.env.NODE_ENV') expect(iife).toMatch('process.env.NODE_ENV') expect(umd).toMatch('process.env.NODE_ENV') diff --git a/playground/lib/index.dist.html b/playground/lib/index.dist.html index b719268ded6365..e7fb284811876a 100644 --- a/playground/lib/index.dist.html +++ b/playground/lib/index.dist.html @@ -14,7 +14,7 @@ @@ -25,7 +25,7 @@ message('.dynamic-import-message') - + + + diff --git a/playground/optimize-deps-no-discovery/package.json b/playground/optimize-deps-no-discovery/package.json new file mode 100644 index 00000000000000..1fa22b895250f3 --- /dev/null +++ b/playground/optimize-deps-no-discovery/package.json @@ -0,0 +1,17 @@ +{ + "name": "@vitejs/test-optimize-deps-no-discovery", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", + "preview": "vite preview" + }, + "dependencies": { + "@vitejs/test-dep-no-discovery": "file:./dep-no-discovery", + "vue": "^3.2.47", + "vuex": "^4.1.0" + } +} diff --git a/playground/optimize-deps-no-discovery/vite.config.js b/playground/optimize-deps-no-discovery/vite.config.js new file mode 100644 index 00000000000000..4179400e2b1080 --- /dev/null +++ b/playground/optimize-deps-no-discovery/vite.config.js @@ -0,0 +1,21 @@ +import { defineConfig } from 'vite' + +// Overriding the NODE_ENV set by vitest +process.env.NODE_ENV = '' + +export default defineConfig({ + optimizeDeps: { + disabled: false, + noDiscovery: true, + include: ['@vitejs/test-dep-no-discovery'], + }, + + build: { + // to make tests faster + minify: false, + // Avoid @rollup/plugin-commonjs + commonjsOptions: { + include: [], + }, + }, +}) diff --git a/playground/optimize-deps/generics.vue b/playground/optimize-deps/generics.vue new file mode 100644 index 00000000000000..13e17ce1c12d6a --- /dev/null +++ b/playground/optimize-deps/generics.vue @@ -0,0 +1,22 @@ + + + + + + + diff --git a/playground/optimize-deps/index.html b/playground/optimize-deps/index.html index 8c5719075650ce..a07e6a17798154 100644 --- a/playground/optimize-deps/index.html +++ b/playground/optimize-deps/index.html @@ -165,6 +165,7 @@

Pre bundle css require

) import './index.astro' + import './generics.vue' // All these imports should end up resolved to the same URL (same ?v= injected on them) import { add as addFromDirectAbsolutePath } from '/node_modules/@vitejs/test-dep-non-optimized/index.js' diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index acd048a654d41c..31d6fd2fe5669c 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -1,6 +1,7 @@ { "name": "@vitejs/test-optimize-deps", "private": true, + "type": "module", "version": "0.0.0", "scripts": { "dev": "vite", @@ -9,7 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "axios": "^1.3.4", + "axios": "^1.3.6", "clipboard": "^2.0.11", "@vitejs/test-dep-alias-using-absolute-path": "file:./dep-alias-using-absolute-path", "@vitejs/test-dep-cjs-browser-field-bare": "file:./dep-cjs-browser-field-bare", diff --git a/playground/optimize-deps/vite.config.js b/playground/optimize-deps/vite.config.js index 7eb4c5b10c3101..93aedc371e9461 100644 --- a/playground/optimize-deps/vite.config.js +++ b/playground/optimize-deps/vite.config.js @@ -1,5 +1,7 @@ import fs from 'node:fs' +import module from 'node:module' import { defineConfig } from 'vite' +const require = module.createRequire(import.meta.url) // Overriding the NODE_ENV set by vitest process.env.NODE_ENV = '' @@ -121,6 +123,11 @@ export default defineComponent({ `.trim(), } } + + // fallback to empty module for other vue files + if (id.endsWith('.vue')) { + return { code: `export default {}` } + } }, } } diff --git a/playground/optimize-missing-deps/__test__/optimize-missing-deps.spec.ts b/playground/optimize-missing-deps/__test__/optimize-missing-deps.spec.ts index c4c455eaaf7bbb..29b7d12dba9502 100644 --- a/playground/optimize-missing-deps/__test__/optimize-missing-deps.spec.ts +++ b/playground/optimize-missing-deps/__test__/optimize-missing-deps.spec.ts @@ -1,4 +1,3 @@ -import { platform } from 'node:os' import fetch from 'node-fetch' import { expect, test } from 'vitest' import { port } from './serve' @@ -6,8 +5,7 @@ import { page, untilUpdated } from '~utils' const url = `http://localhost:${port}/` -// TODO: on macOS this test causing the process exists for some reason -test.skipIf(platform() === 'darwin')('optimize', async () => { +test('optimize', async () => { await page.goto(url) // reload page to get optimized missing deps await page.reload() diff --git a/playground/optimize-missing-deps/__test__/serve.ts b/playground/optimize-missing-deps/__test__/serve.ts index ed9ad41a7c90a1..2472e170236d5d 100644 --- a/playground/optimize-missing-deps/__test__/serve.ts +++ b/playground/optimize-missing-deps/__test__/serve.ts @@ -7,7 +7,7 @@ import { hmrPorts, ports, rootDir } from '~utils' export const port = ports['optimize-missing-deps'] export async function serve(): Promise<{ close(): Promise }> { - const { createServer } = require(path.resolve(rootDir, 'server.js')) + const { createServer } = await import(path.resolve(rootDir, 'server.js')) const { app, vite } = await createServer( rootDir, hmrPorts['optimize-missing-deps'], diff --git a/playground/optimize-missing-deps/package.json b/playground/optimize-missing-deps/package.json index e968a34bc7c9de..21281f45bd66f8 100644 --- a/playground/optimize-missing-deps/package.json +++ b/playground/optimize-missing-deps/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-optimize-missing-deps", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "node server" }, diff --git a/playground/optimize-missing-deps/server.js b/playground/optimize-missing-deps/server.js index 1940d76fa7e0cd..411c3342b02d9c 100644 --- a/playground/optimize-missing-deps/server.js +++ b/playground/optimize-missing-deps/server.js @@ -1,11 +1,11 @@ // @ts-check -const fs = require('node:fs') -const path = require('node:path') -const express = require('express') +import fs from 'node:fs' +import path from 'node:path' +import express from 'express' const isTest = process.env.VITEST -async function createServer(root = process.cwd(), hmrPort) { +export async function createServer(root = process.cwd(), hmrPort) { const resolve = (p) => path.resolve(__dirname, p) const app = express() @@ -13,7 +13,9 @@ async function createServer(root = process.cwd(), hmrPort) { /** * @type {import('vite').ViteDevServer} */ - const vite = await require('vite').createServer({ + const vite = await ( + await import('vite') + ).createServer({ root, logLevel: isTest ? 'error' : 'info', server: { @@ -62,6 +64,3 @@ if (!isTest) { }), ) } - -// for test use -exports.createServer = createServer diff --git a/playground/package.json b/playground/package.json index 8a0b3574a318a1..e2a97366ce470f 100644 --- a/playground/package.json +++ b/playground/package.json @@ -1,6 +1,7 @@ { "name": "@vitejs/vite-playground", "private": true, + "type": "module", "version": "1.0.0", "scripts": { "typecheck": "tsc --noEmit" diff --git a/playground/preload/package.json b/playground/preload/package.json index bb2d5ce9bcf6a3..04c021be9ca04e 100644 --- a/playground/preload/package.json +++ b/playground/preload/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-preload", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -17,7 +18,7 @@ "preview:preload-disabled": "vite preview --config vite.config-preload-disabled.ts" }, "devDependencies": { - "terser": "^5.16.6", + "terser": "^5.17.1", "@vitejs/test-dep-a": "file:./dep-a", "@vitejs/test-dep-including-a": "file:./dep-including-a" } diff --git a/playground/preserve-symlinks/package.json b/playground/preserve-symlinks/package.json index 31f1c672e1b3b3..8a68c00cc82ddf 100644 --- a/playground/preserve-symlinks/package.json +++ b/playground/preserve-symlinks/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-preserve-symlinks", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite --force", "build": "vite build", diff --git a/playground/resolve-config/package.json b/playground/resolve-config/package.json index f413cd269d38d9..5a0d84c6295bd0 100644 --- a/playground/resolve-config/package.json +++ b/playground/resolve-config/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-resolve-config", "private": true, "version": "0.0.0", + "type": "commonjs", "scripts": { "dev": "vite --force", "build": "vite build", diff --git a/playground/resolve-linked/package.json b/playground/resolve-linked/package.json index cd8b9a24b2303a..a95a9ff5562bc0 100644 --- a/playground/resolve-linked/package.json +++ b/playground/resolve-linked/package.json @@ -2,5 +2,6 @@ "name": "@vitejs/test-resolve-linked", "private": true, "version": "0.0.0", + "type": "module", "main": "src/index.js" } diff --git a/playground/resolve/config-dep.js b/playground/resolve/config-dep.cjs similarity index 100% rename from playground/resolve/config-dep.js rename to playground/resolve/config-dep.cjs diff --git a/playground/resolve/package.json b/playground/resolve/package.json index 4a8fc641d6b756..3e4a231a05582f 100644 --- a/playground/resolve/package.json +++ b/playground/resolve/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-resolve", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/resolve/vite.config.js b/playground/resolve/vite.config.js index efffc50960a86b..5f2ba3e2e70df7 100644 --- a/playground/resolve/vite.config.js +++ b/playground/resolve/vite.config.js @@ -1,6 +1,6 @@ import path from 'node:path' import { defineConfig, normalizePath } from 'vite' -import { a } from './config-dep' +import { a } from './config-dep.cjs' const virtualFile = '@virtual-file' const virtualId = '\0' + virtualFile diff --git a/playground/ssr-deps/package.json b/playground/ssr-deps/package.json index ce48077dc196d0..9b07ce7cb45d1e 100644 --- a/playground/ssr-deps/package.json +++ b/playground/ssr-deps/package.json @@ -1,8 +1,8 @@ { "name": "@vitejs/test-ssr-deps", "private": true, - "version": "0.0.0", "type": "module", + "version": "0.0.0", "scripts": { "dev": "node server", "serve": "NODE_ENV=production node server", diff --git a/playground/ssr-html/__tests__/ssr-html.spec.ts b/playground/ssr-html/__tests__/ssr-html.spec.ts index 2b9da5cadd01c0..50b6e9540426bc 100644 --- a/playground/ssr-html/__tests__/ssr-html.spec.ts +++ b/playground/ssr-html/__tests__/ssr-html.spec.ts @@ -48,10 +48,13 @@ describe.runIf(isServe)('hmr', () => { await page.goto(url) const el = await page.$('.virtual') expect(await el.textContent()).toBe('[success]') + + const loadPromise = page.waitForEvent('load') editFile('src/importedVirtual.js', (code) => code.replace('[success]', '[wow]'), ) - await page.waitForNavigation() + await loadPromise + await untilUpdated(async () => { const el = await page.$('.virtual') return await el.textContent() @@ -62,23 +65,36 @@ describe.runIf(isServe)('hmr', () => { describe.runIf(isServe)('stacktrace', () => { const execFileAsync = promisify(execFile) - for (const sourcemapsEnabled of [false, true]) { - test(`stacktrace is correct when sourcemaps is${ - sourcemapsEnabled ? '' : ' not' - } enabled in Node.js`, async () => { - const testStacktraceFile = path.resolve( - __dirname, - '../test-stacktrace.js', - ) + for (const ext of ['js', 'ts']) { + for (const sourcemapsEnabled of [false, true]) { + test(`stacktrace of ${ext} is correct when sourcemaps is${ + sourcemapsEnabled ? '' : ' not' + } enabled in Node.js`, async () => { + const testStacktraceFile = path.resolve( + __dirname, + '../test-stacktrace.js', + ) + + const p = await execFileAsync('node', [ + testStacktraceFile, + '' + sourcemapsEnabled, + ext, + ]) + const lines = p.stdout + .split('\n') + .filter((line) => line.includes('Module.error')) - const p = await execFileAsync('node', [ - testStacktraceFile, - '' + sourcemapsEnabled, - ]) - const line = p.stdout - .split('\n') - .find((line) => line.includes('Module.error')) - expect(line.trim()).toMatch(/[\\/]src[\\/]error\.js:2:9/) - }) + const reg = new RegExp( + path + .resolve(__dirname, '../src', `error.${ext}`) + .replace(/\\/g, '\\\\') + ':2:9', + 'i', + ) + + lines.forEach((line) => { + expect(line.trim()).toMatch(reg) + }) + }) + } } }) diff --git a/playground/ssr-html/src/error.ts b/playground/ssr-html/src/error.ts new file mode 100644 index 00000000000000..fe8eeb20af8f8a --- /dev/null +++ b/playground/ssr-html/src/error.ts @@ -0,0 +1,3 @@ +export function error() { + throw new Error('e') +} diff --git a/playground/ssr-html/test-stacktrace.js b/playground/ssr-html/test-stacktrace.js index c3ce5e56736799..327a8b4c423dae 100644 --- a/playground/ssr-html/test-stacktrace.js +++ b/playground/ssr-html/test-stacktrace.js @@ -3,8 +3,10 @@ import { fileURLToPath } from 'node:url' import { createServer } from 'vite' const isSourceMapEnabled = process.argv[2] === 'true' +const ext = process.argv[3] process.setSourceMapsEnabled(isSourceMapEnabled) console.log('# sourcemaps enabled:', isSourceMapEnabled) +console.log('# source file extension:', ext) const version = (() => { const m = process.version.match(/^v(\d+)\.(\d+)\.\d+$/) @@ -31,17 +33,24 @@ const vite = await createServer({ appType: 'custom', }) -const mod = await vite.ssrLoadModule('/src/error.js') -try { - mod.error() -} catch (e) { - // this should not be called - // when sourcemap support for `new Function` is supported and sourcemap is enabled - // because the stacktrace is already rewritten by Node.js - if (!(isSourceMapEnabled && isFunctionSourceMapSupported)) { - vite.ssrFixStacktrace(e) +const dir = path.dirname(fileURLToPath(import.meta.url)) + +const abs1 = await vite.ssrLoadModule(`/src/error.${ext}`) +const abs2 = await vite.ssrLoadModule(path.resolve(dir, `./src/error.${ext}`)) +const relative = await vite.ssrLoadModule(`./src/error.${ext}`) + +for (const mod of [abs1, abs2, relative]) { + try { + mod.error() + } catch (e) { + // this should not be called + // when sourcemap support for `new Function` is supported and sourcemap is enabled + // because the stacktrace is already rewritten by Node.js + if (!(isSourceMapEnabled && isFunctionSourceMapSupported)) { + vite.ssrFixStacktrace(e) + } + console.log(e) } - console.log(e) } await vite.close() diff --git a/playground/ssr-resolve/__tests__/ssr-resolve.spec.ts b/playground/ssr-resolve/__tests__/ssr-resolve.spec.ts index b702a3ccd84d16..f3842838c59542 100644 --- a/playground/ssr-resolve/__tests__/ssr-resolve.spec.ts +++ b/playground/ssr-resolve/__tests__/ssr-resolve.spec.ts @@ -15,5 +15,13 @@ test.runIf(isBuild)('correctly resolve entrypoints', async () => { new RegExp(`from ${_}@vitejs/test-resolve-pkg-exports/entry${_}`), ) + expect(contents).toMatch( + new RegExp(`from ${_}@vitejs/test-deep-import/foo/index.js${_}`), + ) + + expect(contents).toMatch( + new RegExp(`from ${_}@vitejs/test-deep-import/bar${_}`), + ) + await expect(import(`${testDir}/dist/main.mjs`)).resolves.toBeTruthy() }) diff --git a/playground/ssr-resolve/deep-import/bar/package.json b/playground/ssr-resolve/deep-import/bar/package.json new file mode 100644 index 00000000000000..9c28d3fd659022 --- /dev/null +++ b/playground/ssr-resolve/deep-import/bar/package.json @@ -0,0 +1,7 @@ +{ + "private": true, + "version": "0.0.0", + "type": "module", + "main": "../utils/bar.js", + "module": "../utils/bar.js" +} diff --git a/playground/ssr-resolve/deep-import/foo/index.js b/playground/ssr-resolve/deep-import/foo/index.js new file mode 100644 index 00000000000000..7e942cf45c8a37 --- /dev/null +++ b/playground/ssr-resolve/deep-import/foo/index.js @@ -0,0 +1 @@ +export default 'foo' diff --git a/playground/ssr-resolve/deep-import/foo/package.json b/playground/ssr-resolve/deep-import/foo/package.json new file mode 100644 index 00000000000000..23c18d67103169 --- /dev/null +++ b/playground/ssr-resolve/deep-import/foo/package.json @@ -0,0 +1,6 @@ +{ + "private": true, + "version": "0.0.0", + "type": "module", + "module": "./index.js" +} diff --git a/playground/ssr-resolve/deep-import/index.js b/playground/ssr-resolve/deep-import/index.js new file mode 100644 index 00000000000000..d397f45e627464 --- /dev/null +++ b/playground/ssr-resolve/deep-import/index.js @@ -0,0 +1,3 @@ +export { default as foo } from './foo' +export { default as bar } from './bar' +export default 'external-nested' diff --git a/playground/ssr-resolve/deep-import/package.json b/playground/ssr-resolve/deep-import/package.json new file mode 100644 index 00000000000000..373581df14f471 --- /dev/null +++ b/playground/ssr-resolve/deep-import/package.json @@ -0,0 +1,7 @@ +{ + "name": "@vitejs/test-deep-import", + "private": true, + "version": "0.0.0", + "type": "module", + "module": "index.js" +} diff --git a/playground/ssr-resolve/deep-import/utils/bar.js b/playground/ssr-resolve/deep-import/utils/bar.js new file mode 100644 index 00000000000000..4548a26ba14dc8 --- /dev/null +++ b/playground/ssr-resolve/deep-import/utils/bar.js @@ -0,0 +1 @@ +export default 'bar' diff --git a/playground/ssr-resolve/main.js b/playground/ssr-resolve/main.js index b4b5998c8100d0..2357458b50bc8c 100644 --- a/playground/ssr-resolve/main.js +++ b/playground/ssr-resolve/main.js @@ -4,9 +4,13 @@ import dirEntry from '@vitejs/test-entries/dir' import fileEntry from '@vitejs/test-entries/file' // has `exports` key, should resolve to pkg-exports/entry import pkgExportsEntry from '@vitejs/test-resolve-pkg-exports/entry' +import deepFoo from '@vitejs/test-deep-import/foo' +import deepBar from '@vitejs/test-deep-import/bar' export default ` entries/dir: ${dirEntry} entries/file: ${fileEntry} pkg-exports/entry: ${pkgExportsEntry} + deep-import/foo: ${deepFoo} + deep-import/bar: ${deepBar} ` diff --git a/playground/ssr-resolve/package.json b/playground/ssr-resolve/package.json index 938bdb083877c4..a764b385967ed2 100644 --- a/playground/ssr-resolve/package.json +++ b/playground/ssr-resolve/package.json @@ -2,12 +2,14 @@ "name": "@vitejs/test-ssr-resolve", "private": true, "version": "0.0.0", + "type": "commonjs", "scripts": { "build": "vite build", "debug": "node --inspect-brk ../../packages/vite/bin/vite build" }, "dependencies": { "@vitejs/test-entries": "file:./entries", - "@vitejs/test-resolve-pkg-exports": "file:./pkg-exports" + "@vitejs/test-resolve-pkg-exports": "file:./pkg-exports", + "@vitejs/test-deep-import": "file:./deep-import" } } diff --git a/playground/ssr/__tests__/serve.ts b/playground/ssr/__tests__/serve.ts index af8c444f555235..96e2044aa8b1dd 100644 --- a/playground/ssr/__tests__/serve.ts +++ b/playground/ssr/__tests__/serve.ts @@ -3,15 +3,21 @@ import path from 'node:path' import kill from 'kill-port' -import { hmrPorts, ports, rootDir } from '~utils' +import { createInMemoryLogger, hmrPorts, ports, rootDir } from '~utils' export const port = ports.ssr +export const serverLogs = [] + export async function serve(): Promise<{ close(): Promise }> { await kill(port) const { createServer } = await import(path.resolve(rootDir, 'server.js')) - const { app, vite } = await createServer(rootDir, hmrPorts.ssr) + const { app, vite } = await createServer( + rootDir, + hmrPorts.ssr, + createInMemoryLogger(serverLogs), + ) return new Promise((resolve, reject) => { try { diff --git a/playground/ssr/__tests__/ssr.spec.ts b/playground/ssr/__tests__/ssr.spec.ts index a5a7a46955d85d..2d62a7079feecb 100644 --- a/playground/ssr/__tests__/ssr.spec.ts +++ b/playground/ssr/__tests__/ssr.spec.ts @@ -1,6 +1,6 @@ import { expect, test } from 'vitest' -import { port } from './serve' -import { page } from '~utils' +import { port, serverLogs } from './serve' +import { editFile, page, withRetry } from '~utils' const url = `http://localhost:${port}` @@ -17,3 +17,15 @@ test(`deadlock doesn't happen`, async () => { expect(await page.textContent('.forked-deadlock')).toMatch('rendered') }) + +test('should restart ssr', async () => { + editFile('./vite.config.ts', (content) => content) + await withRetry(async () => { + expect(serverLogs).toEqual( + expect.arrayContaining([expect.stringMatching('server restarted')]), + ) + expect(serverLogs).not.toEqual( + expect.arrayContaining([expect.stringMatching('error')]), + ) + }) +}) diff --git a/playground/ssr/server.js b/playground/ssr/server.js index b17fb9dcfd4939..262a7b550bb8a2 100644 --- a/playground/ssr/server.js +++ b/playground/ssr/server.js @@ -6,7 +6,11 @@ import express from 'express' const __dirname = path.dirname(fileURLToPath(import.meta.url)) const isTest = process.env.VITEST -export async function createServer(root = process.cwd(), hmrPort) { +export async function createServer( + root = process.cwd(), + hmrPort, + customLogger, +) { const resolve = (p) => path.resolve(__dirname, p) const app = express() @@ -32,6 +36,7 @@ export async function createServer(root = process.cwd(), hmrPort) { }, }, appType: 'custom', + customLogger, }) // use vite's connect instance as middleware app.use(vite.middlewares) diff --git a/playground/ssr/vite.config.ts b/playground/ssr/vite.config.ts new file mode 100644 index 00000000000000..a733ed7414ba0b --- /dev/null +++ b/playground/ssr/vite.config.ts @@ -0,0 +1,4 @@ +import { defineConfig } from 'vite' + +// in order to trigger ssr server restart +export default defineConfig({}) diff --git a/playground/tailwind-sourcemap/package.json b/playground/tailwind-sourcemap/package.json index 44050c5bc21e31..814f251a092146 100644 --- a/playground/tailwind-sourcemap/package.json +++ b/playground/tailwind-sourcemap/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-tailwind-sourcemap", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", @@ -9,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "tailwindcss": "^3.2.7" + "tailwindcss": "^3.3.1" } } diff --git a/playground/tailwind-sourcemap/postcss.config.js b/playground/tailwind-sourcemap/postcss.config.js index 8c777303543114..431c1ca465d257 100644 --- a/playground/tailwind-sourcemap/postcss.config.js +++ b/playground/tailwind-sourcemap/postcss.config.js @@ -1,4 +1,10 @@ -module.exports = { +import { fileURLToPath } from 'node:url' +import { dirname } from 'node:path' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = dirname(__filename) + +export default { plugins: { tailwindcss: { config: __dirname + '/tailwind.config.js' }, }, diff --git a/playground/tailwind-sourcemap/tailwind.config.js b/playground/tailwind-sourcemap/tailwind.config.js index dd95de6c830d45..15a94467c22c09 100644 --- a/playground/tailwind-sourcemap/tailwind.config.js +++ b/playground/tailwind-sourcemap/tailwind.config.js @@ -1,4 +1,6 @@ -module.exports = { +/** @type {import('tailwindcss').Config} */ + +export default { content: ['./index.html'], theme: { extend: {}, diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index fbf94019ede2e1..9ad23ec0a35c49 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "autoprefixer": "^10.4.14", - "tailwindcss": "^3.2.7", + "tailwindcss": "^3.3.1", "vue": "^3.2.47", "vue-router": "^4.1.6" }, diff --git a/playground/tailwind/tailwind.config.js b/playground/tailwind/tailwind.config.js index 5b9644f4f646d5..1b80b08aba2ef1 100644 --- a/playground/tailwind/tailwind.config.js +++ b/playground/tailwind/tailwind.config.js @@ -1,3 +1,5 @@ +/** @type {import('tailwindcss').Config} */ + module.exports = { content: [ // Before editing this section, make sure no paths are matching with `/src/App.vue` diff --git a/playground/test-utils.ts b/playground/test-utils.ts index 6d3489ad66dd03..26eaf5c1323982 100644 --- a/playground/test-utils.ts +++ b/playground/test-utils.ts @@ -18,6 +18,7 @@ export * from './vitestSetup' export const ports = { cli: 9510, 'cli-module': 9511, + json: 9512, 'legacy/ssr': 9520, lib: 9521, 'optimize-missing-deps': 9522, @@ -307,6 +308,9 @@ export const formatSourcemapForSnapshot = (map: any): any => { delete m.file delete m.names m.sources = m.sources.map((source) => source.replace(root, '/root')) + if (m.sourceRoot) { + m.sourceRoot = m.sourceRoot.replace(root, '/root') + } return m } diff --git a/playground/transform-plugin/package.json b/playground/transform-plugin/package.json index dfe4f9637b7a52..5ec3132d97cd29 100644 --- a/playground/transform-plugin/package.json +++ b/playground/transform-plugin/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-transform-plugin", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/tsconfig-json-load-error/package.json b/playground/tsconfig-json-load-error/package.json index e970c3920977ac..f6cd05f58f58c5 100644 --- a/playground/tsconfig-json-load-error/package.json +++ b/playground/tsconfig-json-load-error/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-tsconfig-json-load-error", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/tsconfig-json/package.json b/playground/tsconfig-json/package.json index db1807dbe92723..9950d62ccb5994 100644 --- a/playground/tsconfig-json/package.json +++ b/playground/tsconfig-json/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-tsconfig-json", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/vitestSetup.ts b/playground/vitestSetup.ts index 2ebbcfe93d4066..f8e9279ec6e022 100644 --- a/playground/vitestSetup.ts +++ b/playground/vitestSetup.ts @@ -63,7 +63,7 @@ export let testDir: string export let testName: string /** * current test using vite inline config - * when using server.js is not possible to get the config + * when using serve.[jt]s is not possible to get the config */ export let viteConfig: InlineConfig | undefined @@ -312,7 +312,7 @@ export async function notifyRebuildComplete( return watcher.off('event', callback) } -function createInMemoryLogger(logs: string[]): Logger { +export function createInMemoryLogger(logs: string[]): Logger { const loggedErrors = new WeakSet() const warnedMessages = new Set() diff --git a/playground/wasm/package.json b/playground/wasm/package.json index f1b8b5f758b19c..5727e415155ed8 100644 --- a/playground/wasm/package.json +++ b/playground/wasm/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-wasm", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite", "build": "vite build", diff --git a/playground/worker/__tests__/es/es-worker.spec.ts b/playground/worker/__tests__/es/es-worker.spec.ts index dfa2462f61a551..e20ecede337ff1 100644 --- a/playground/worker/__tests__/es/es-worker.spec.ts +++ b/playground/worker/__tests__/es/es-worker.spec.ts @@ -113,6 +113,11 @@ test('module worker', async () => { 'A string', true, ) + await untilUpdated( + () => page.textContent('.worker-import-meta-url-without-extension'), + 'A string', + true, + ) await untilUpdated( () => page.textContent('.shared-worker-import-meta-url'), 'A string', diff --git a/playground/worker/__tests__/iife/iife-worker.spec.ts b/playground/worker/__tests__/iife/iife-worker.spec.ts index f3e5f230a9b1ed..b3ec815b78ca22 100644 --- a/playground/worker/__tests__/iife/iife-worker.spec.ts +++ b/playground/worker/__tests__/iife/iife-worker.spec.ts @@ -98,6 +98,11 @@ test('module worker', async () => { /A\sstring.*\/iife\/.+url-worker\.js/, true, ) + await untilUpdated( + () => page.textContent('.worker-import-meta-url-without-extension'), + 'A string', + true, + ) await untilUpdated( () => page.textContent('.shared-worker-import-meta-url'), 'A string', diff --git a/playground/worker/index.html b/playground/worker/index.html index ff26fbcbba3206..20e4a99ca69876 100644 --- a/playground/worker/index.html +++ b/playground/worker/index.html @@ -56,6 +56,12 @@

format iife:

+

+ new Worker(new URL('./url-worker', import.meta.url), { type: 'module' }) + .worker-import-meta-url-without-extension +

+ +

new SharedWorker(new URL('./url-shared-worker.js', import.meta.url), { type: 'module' }) diff --git a/playground/worker/package.json b/playground/worker/package.json index 5624c361890903..90d4068a580f4a 100644 --- a/playground/worker/package.json +++ b/playground/worker/package.json @@ -2,6 +2,7 @@ "name": "@vitejs/test-worker", "private": true, "version": "0.0.0", + "type": "module", "scripts": { "dev": "vite --config ./vite.config-iife.js", "build": "vite --config ./vite.config-iife.js build", diff --git a/playground/worker/vite.config-es.js b/playground/worker/vite.config-es.js index 3c7bf2fca9880f..bd82434b99ab89 100644 --- a/playground/worker/vite.config-es.js +++ b/playground/worker/vite.config-es.js @@ -1,7 +1,7 @@ -import vite from 'vite' +import { defineConfig } from 'vite' import workerPluginTestPlugin from './worker-plugin-test-plugin' -export default vite.defineConfig({ +export default defineConfig({ base: '/es/', resolve: { alias: { diff --git a/playground/worker/vite.config-iife.js b/playground/worker/vite.config-iife.js index a0759906534f66..c98f7433383ef4 100644 --- a/playground/worker/vite.config-iife.js +++ b/playground/worker/vite.config-iife.js @@ -1,7 +1,7 @@ -import vite from 'vite' +import { defineConfig } from 'vite' import workerPluginTestPlugin from './worker-plugin-test-plugin' -export default vite.defineConfig({ +export default defineConfig({ base: '/iife/', resolve: { alias: { diff --git a/playground/worker/vite.config-relative-base-iife.js b/playground/worker/vite.config-relative-base-iife.js index 28a6103faf9932..ec3e0bbbab83c6 100644 --- a/playground/worker/vite.config-relative-base-iife.js +++ b/playground/worker/vite.config-relative-base-iife.js @@ -1,7 +1,7 @@ -import vite from 'vite' +import { defineConfig } from 'vite' import workerPluginTestPlugin from './worker-plugin-test-plugin' -export default vite.defineConfig({ +export default defineConfig({ base: './', resolve: { alias: { diff --git a/playground/worker/vite.config-relative-base.js b/playground/worker/vite.config-relative-base.js index 4d02a3e79e8c44..65624071cd0cb4 100644 --- a/playground/worker/vite.config-relative-base.js +++ b/playground/worker/vite.config-relative-base.js @@ -1,7 +1,7 @@ -import vite from 'vite' +import { defineConfig } from 'vite' import workerPluginTestPlugin from './worker-plugin-test-plugin' -export default vite.defineConfig({ +export default defineConfig({ base: './', resolve: { alias: { diff --git a/playground/worker/vite.config-sourcemap.js b/playground/worker/vite.config-sourcemap.js index 5524dc2e856ddc..89178e952ef03b 100644 --- a/playground/worker/vite.config-sourcemap.js +++ b/playground/worker/vite.config-sourcemap.js @@ -1,4 +1,4 @@ -import vite from 'vite' +import { defineConfig } from 'vite' import workerPluginTestPlugin from './worker-plugin-test-plugin' /** @param {boolean | 'inline' | 'hidden' | 'sourcemap'} sourcemap */ @@ -15,7 +15,7 @@ export default (sourcemap) => { const typeName = typeof sourcemap === 'boolean' ? 'sourcemap' : 'sourcemap-' + sourcemap - return vite.defineConfig({ + return defineConfig({ base: `/iife-${typeName}/`, resolve: { alias: { diff --git a/playground/worker/worker-plugin-test-plugin.js b/playground/worker/worker-plugin-test-plugin.js index 35a054a5405180..ecfa240e53649a 100644 --- a/playground/worker/worker-plugin-test-plugin.js +++ b/playground/worker/worker-plugin-test-plugin.js @@ -1,4 +1,4 @@ -module.exports = () => ({ +export default () => ({ name: 'plugin-for-worker', transform(code, id) { if (id.includes('worker/modules/test-plugin.js')) { diff --git a/playground/worker/worker/main-module.js b/playground/worker/worker/main-module.js index e19f8f4ec3af3a..11180f4e63d379 100644 --- a/playground/worker/worker/main-module.js +++ b/playground/worker/worker/main-module.js @@ -90,6 +90,15 @@ wResolve.addEventListener('message', (ev) => text('.worker-import-meta-url-resolve', JSON.stringify(ev.data)), ) +// url import worker without extension +const wWithoutExt = new Worker( + new URL('../url-worker', import.meta.url), + /* @vite-ignore */ workerOptions, +) +wWithoutExt.addEventListener('message', (ev) => + text('.worker-import-meta-url-without-extension', JSON.stringify(ev.data)), +) + const genWorkerName = () => 'module' const w2 = new SharedWorker( new URL('../url-shared-worker.js', import.meta.url), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 59dee360a0f7bf..c1a2f3f71b8b16 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,17 +21,20 @@ importers: .: devDependencies: '@babel/types': - specifier: ^7.21.3 - version: 7.21.3 + specifier: ^7.21.4 + version: 7.21.4 '@microsoft/api-extractor': specifier: ^7.34.4 - version: 7.34.4(@types/node@18.15.5) + version: 7.34.4(@types/node@18.15.12) '@rollup/plugin-typescript': - specifier: ^11.0.0 - version: 11.0.0(rollup@3.20.2)(tslib@2.5.0)(typescript@5.0.2) + specifier: ^11.1.0 + version: 11.1.0(rollup@3.21.0)(tslib@2.5.0)(typescript@5.0.2) '@types/babel__core': specifier: ^7.20.0 version: 7.20.0 + '@types/babel__preset-env': + specifier: ^7.9.2 + version: 7.9.2 '@types/babel__standalone': specifier: ^7.1.4 version: 7.1.4 @@ -45,8 +48,8 @@ importers: specifier: ^4.1.7 version: 4.1.7 '@types/estree': - specifier: ^1.0.0 - version: 1.0.0 + specifier: ^1.0.1 + version: 1.0.1 '@types/etag': specifier: ^1.8.1 version: 1.8.1 @@ -63,8 +66,8 @@ importers: specifier: ^4.0.2 version: 4.0.2 '@types/node': - specifier: ^18.15.5 - version: 18.15.5 + specifier: ^18.15.12 + version: 18.15.12 '@types/picomatch': specifier: ^2.3.0 version: 2.3.0 @@ -81,32 +84,32 @@ importers: specifier: ^8.5.4 version: 8.5.4 '@typescript-eslint/eslint-plugin': - specifier: ^5.56.0 - version: 5.56.0(@typescript-eslint/parser@5.56.0)(eslint@8.36.0)(typescript@5.0.2) + specifier: ^5.59.0 + version: 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.38.0)(typescript@5.0.2) '@typescript-eslint/parser': - specifier: ^5.56.0 - version: 5.56.0(eslint@8.36.0)(typescript@5.0.2) + specifier: ^5.59.0 + version: 5.59.0(eslint@8.38.0)(typescript@5.0.2) '@vitejs/release-scripts': - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.2.0 + version: 1.2.0 conventional-changelog-cli: specifier: ^2.2.2 version: 2.2.2 eslint: - specifier: ^8.36.0 - version: 8.36.0 + specifier: ^8.38.0 + version: 8.38.0 eslint-define-config: - specifier: ^1.17.0 - version: 1.17.0 + specifier: ^1.18.0 + version: 1.18.0 eslint-plugin-import: specifier: ^2.27.5 - version: 2.27.5(@typescript-eslint/parser@5.56.0)(eslint@8.36.0) + version: 2.27.5(@typescript-eslint/parser@5.59.0)(eslint@8.38.0) eslint-plugin-n: specifier: ^15.7.0 - version: 15.7.0(eslint@8.36.0) + version: 15.7.0(eslint@8.38.0) eslint-plugin-regexp: - specifier: ^1.13.0 - version: 1.13.0(eslint@8.36.0) + specifier: ^1.14.0 + version: 1.14.0(eslint@8.38.0) execa: specifier: ^7.1.1 version: 7.1.1 @@ -117,8 +120,8 @@ importers: specifier: ^11.1.1 version: 11.1.1 lint-staged: - specifier: ^13.2.0 - version: 13.2.0 + specifier: ^13.2.1 + version: 13.2.1 npm-run-all: specifier: ^4.1.5 version: 4.1.5 @@ -126,20 +129,20 @@ importers: specifier: ^1.0.0 version: 1.0.0 playwright-chromium: - specifier: ^1.31.2 - version: 1.31.2 + specifier: ^1.32.3 + version: 1.32.3 prettier: - specifier: 2.8.5 - version: 2.8.5 + specifier: 2.8.7 + version: 2.8.7 resolve: - specifier: ^1.22.1 - version: 1.22.1 + specifier: ^1.22.2 + version: 1.22.2 rimraf: - specifier: ^4.4.0 - version: 4.4.0 + specifier: ^5.0.0 + version: 5.0.0 rollup: - specifier: ^3.20.2 - version: 3.20.2 + specifier: ^3.21.0 + version: 3.21.0 simple-git-hooks: specifier: ^2.8.1 version: 2.8.1 @@ -153,17 +156,17 @@ importers: specifier: ^5.0.2 version: 5.0.2 unbuild: - specifier: ^1.1.2 - version: 1.1.2 + specifier: ^1.2.1 + version: 1.2.1 vite: specifier: workspace:* version: link:packages/vite vitepress: - specifier: ^1.0.0-alpha.61 - version: 1.0.0-alpha.61 + specifier: 1.0.0-beta.1 + version: 1.0.0-beta.1 vitest: - specifier: ^0.29.7 - version: 0.29.7 + specifier: ^0.30.1 + version: 0.30.1 vue: specifier: ^3.2.47 version: 3.2.47 @@ -192,17 +195,17 @@ importers: packages/plugin-legacy: dependencies: '@babel/core': - specifier: ^7.21.3 - version: 7.21.3 + specifier: ^7.21.4 + version: 7.21.4 '@babel/preset-env': - specifier: ^7.20.2 - version: 7.20.2(@babel/core@7.21.3) + specifier: ^7.21.4 + version: 7.21.4(@babel/core@7.21.4) browserslist: specifier: ^4.21.5 version: 4.21.5 core-js: - specifier: ^3.29.1 - version: 3.29.1 + specifier: ^3.30.1 + version: 3.30.1 magic-string: specifier: ^0.30.0 version: 0.30.0 @@ -210,8 +213,8 @@ importers: specifier: ^0.13.11 version: 0.13.11 systemjs: - specifier: ^6.14.0 - version: 6.14.0 + specifier: ^6.14.1 + version: 6.14.1 devDependencies: acorn: specifier: ^8.8.2 @@ -229,52 +232,52 @@ importers: specifier: ^0.17.5 version: 0.17.5 postcss: - specifier: ^8.4.21 - version: 8.4.21 + specifier: ^8.4.23 + version: 8.4.23 rollup: - specifier: ^3.20.2 - version: 3.20.2 + specifier: ^3.21.0 + version: 3.21.0 optionalDependencies: fsevents: specifier: ~2.3.2 version: 2.3.2 devDependencies: '@ampproject/remapping': - specifier: ^2.2.0 - version: 2.2.0 + specifier: ^2.2.1 + version: 2.2.1 '@babel/parser': - specifier: ^7.21.3 - version: 7.21.3 + specifier: ^7.21.4 + version: 7.21.4 '@babel/types': - specifier: ^7.21.3 - version: 7.21.3 + specifier: ^7.21.4 + version: 7.21.4 '@jridgewell/trace-mapping': - specifier: ^0.3.17 - version: 0.3.17 + specifier: ^0.3.18 + version: 0.3.18 '@rollup/plugin-alias': - specifier: ^4.0.3 - version: 4.0.3(rollup@3.20.2) + specifier: ^4.0.4 + version: 4.0.4(rollup@3.21.0) '@rollup/plugin-commonjs': - specifier: ^24.0.1 - version: 24.0.1(rollup@3.20.2) + specifier: ^24.1.0 + version: 24.1.0(rollup@3.21.0) '@rollup/plugin-dynamic-import-vars': specifier: ^2.0.3 - version: 2.0.3(rollup@3.20.2) + version: 2.0.3(rollup@3.21.0) '@rollup/plugin-json': specifier: ^6.0.0 - version: 6.0.0(rollup@3.20.2) + version: 6.0.0(rollup@3.21.0) '@rollup/plugin-node-resolve': - specifier: 15.0.1 - version: 15.0.1(rollup@3.20.2) + specifier: 15.0.2 + version: 15.0.2(rollup@3.21.0) '@rollup/plugin-typescript': - specifier: ^11.0.0 - version: 11.0.0(rollup@3.20.2)(tslib@2.5.0)(typescript@5.0.2) + specifier: ^11.1.0 + version: 11.1.0(rollup@3.21.0)(tslib@2.5.0)(typescript@5.0.2) '@rollup/pluginutils': specifier: ^5.0.2 - version: 5.0.2(rollup@3.20.2) + version: 5.0.2(rollup@3.21.0) '@types/escape-html': - specifier: ^1.0.0 - version: 1.0.0 + specifier: ^1.0.2 + version: 1.0.2 '@types/pnpapi': specifier: ^0.0.2 version: 0.0.2 @@ -318,8 +321,8 @@ importers: specifier: ^9.0.0 version: 9.0.0(patch_hash=dccccn23nvejzy75sgiosdt2au) es-module-lexer: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.2.1 + version: 1.2.1 escape-html: specifier: ^1.0.3 version: 1.0.3 @@ -373,25 +376,22 @@ importers: version: 2.3.1 postcss-import: specifier: ^15.1.0 - version: 15.1.0(postcss@8.4.21) + version: 15.1.0(postcss@8.4.23) postcss-load-config: specifier: ^4.0.1 - version: 4.0.1(postcss@8.4.21) + version: 4.0.1(postcss@8.4.23) postcss-modules: specifier: ^6.0.0 - version: 6.0.0(postcss@8.4.21) + version: 6.0.0(postcss@8.4.23) resolve.exports: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.0.2 + version: 2.0.2 rollup-plugin-license: specifier: ^3.0.1 - version: 3.0.1(rollup@3.20.2) + version: 3.0.1(rollup@3.21.0) sirv: specifier: ^2.0.2 version: 2.0.2(patch_hash=hmoqtj4vy3i7wnpchga2a2mu3y) - source-map-js: - specifier: ^1.0.2 - version: 1.0.2 source-map-support: specifier: ^0.5.21 version: 0.5.21 @@ -463,11 +463,11 @@ importers: specifier: ^3.2.12 version: 3.2.12 sass: - specifier: ^1.59.3 - version: 1.59.3 + specifier: ^1.62.0 + version: 1.62.0 tailwindcss: - specifier: ^3.2.7 - version: 3.2.7(ts-node@10.9.1) + specifier: ^3.3.1 + version: 3.3.1(ts-node@10.9.1) playground/build-old: {} @@ -490,8 +490,8 @@ importers: playground/config/packages/siblings: devDependencies: '@types/lodash': - specifier: ^4.14.191 - version: 4.14.191 + specifier: ^4.14.194 + version: 4.14.194 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -520,8 +520,8 @@ importers: specifier: ^6.0.1 version: 6.0.1 sass: - specifier: ^1.59.3 - version: 1.59.3 + specifier: ^1.62.0 + version: 1.62.0 stylus: specifier: ^0.59.0 version: 0.59.0 @@ -544,8 +544,8 @@ importers: specifier: ^0.30.0 version: 0.30.0 sass: - specifier: ^1.59.3 - version: 1.59.3 + specifier: ^1.62.0 + version: 1.62.0 stylus: specifier: ^0.59.0 version: 0.59.0 @@ -690,8 +690,8 @@ importers: specifier: ^4.18.2 version: 4.18.2 terser: - specifier: ^5.16.6 - version: 5.16.6 + specifier: ^5.17.1 + version: 5.17.1 playground/lib: {} @@ -703,8 +703,8 @@ importers: specifier: ^3.2.12 version: 3.2.12 sass: - specifier: ^1.59.3 - version: 1.59.3 + specifier: ^1.62.0 + version: 1.62.0 playground/nested-deps: dependencies: @@ -829,8 +829,8 @@ importers: specifier: workspace:0.0.0 version: link:../resolve-linked axios: - specifier: ^1.3.4 - version: 1.3.4 + specifier: ^1.3.6 + version: 1.3.6 clipboard: specifier: ^2.0.11 version: 2.0.11 @@ -862,6 +862,20 @@ importers: specifier: ^4.1.0 version: 4.1.0(vue@3.2.47) + playground/optimize-deps-no-discovery: + dependencies: + '@vitejs/test-dep-no-discovery': + specifier: file:./dep-no-discovery + version: file:playground/optimize-deps-no-discovery/dep-no-discovery + vue: + specifier: ^3.2.47 + version: 3.2.47 + vuex: + specifier: ^4.1.0 + version: 4.1.0(vue@3.2.47) + + playground/optimize-deps-no-discovery/dep-no-discovery: {} + playground/optimize-deps/added-in-entries: {} playground/optimize-deps/dep-alias-using-absolute-path: @@ -947,8 +961,8 @@ importers: specifier: file:./dep-including-a version: file:playground/preload/dep-including-a terser: - specifier: ^5.16.6 - version: 5.16.6 + specifier: ^5.17.1 + version: 5.17.1 playground/preload/dep-a: {} @@ -1267,6 +1281,9 @@ importers: playground/ssr-resolve: dependencies: + '@vitejs/test-deep-import': + specifier: file:./deep-import + version: file:playground/ssr-resolve/deep-import '@vitejs/test-entries': specifier: file:./entries version: file:playground/ssr-resolve/entries @@ -1274,6 +1291,12 @@ importers: specifier: file:./pkg-exports version: file:playground/ssr-resolve/pkg-exports + playground/ssr-resolve/deep-import: {} + + playground/ssr-resolve/deep-import/bar: {} + + playground/ssr-resolve/deep-import/foo: {} + playground/ssr-resolve/entries: {} playground/ssr-resolve/pkg-exports: {} @@ -1297,8 +1320,8 @@ importers: specifier: ^10.4.14 version: 10.4.14 tailwindcss: - specifier: ^3.2.7 - version: 3.2.7(ts-node@10.9.1) + specifier: ^3.3.1 + version: 3.3.1(ts-node@10.9.1) vue: specifier: ^3.2.47 version: 3.2.47 @@ -1311,13 +1334,13 @@ importers: version: 4.1.0(vite@packages+vite)(vue@3.2.47) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.15.5)(typescript@5.0.2) + version: 10.9.1(@types/node@18.15.12)(typescript@5.0.2) playground/tailwind-sourcemap: dependencies: tailwindcss: - specifier: ^3.2.7 - version: 3.2.7(ts-node@10.9.1) + specifier: ^3.3.1 + version: 3.3.1(ts-node@10.9.1) playground/transform-plugin: {} @@ -1341,24 +1364,24 @@ packages: resolution: {integrity: sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==} dev: true - /@algolia/autocomplete-core@1.7.4: - resolution: {integrity: sha512-daoLpQ3ps/VTMRZDEBfU8ixXd+amZcNJ4QSP3IERGyzqnL5Ch8uSRFt/4G8pUvW9c3o6GA4vtVv4I4lmnkdXyg==} + /@algolia/autocomplete-core@1.8.2: + resolution: {integrity: sha512-mTeshsyFhAqw/ebqNsQpMtbnjr+qVOSKXArEj4K0d7sqc8It1XD0gkASwecm9mF/jlOQ4Z9RNg1HbdA8JPdRwQ==} dependencies: - '@algolia/autocomplete-shared': 1.7.4 + '@algolia/autocomplete-shared': 1.8.2 dev: true - /@algolia/autocomplete-preset-algolia@1.7.4(algoliasearch@4.13.1): - resolution: {integrity: sha512-s37hrvLEIfcmKY8VU9LsAXgm2yfmkdHT3DnA3SgHaY93yjZ2qL57wzb5QweVkYuEBZkT2PIREvRoLXC2sxTbpQ==} + /@algolia/autocomplete-preset-algolia@1.8.2(algoliasearch@4.13.1): + resolution: {integrity: sha512-J0oTx4me6ZM9kIKPuL3lyU3aB8DEvpVvR6xWmHVROx5rOYJGQcZsdG4ozxwcOyiiu3qxMkIbzntnV1S1VWD8yA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/autocomplete-shared': 1.7.4 + '@algolia/autocomplete-shared': 1.8.2 algoliasearch: 4.13.1 dev: true - /@algolia/autocomplete-shared@1.7.4: - resolution: {integrity: sha512-2VGCk7I9tA9Ge73Km99+Qg87w0wzW4tgUruvWAn/gfey1ZXgmxZtyIRBebk35R1O8TbK77wujVtCnpsGpRy1kg==} + /@algolia/autocomplete-shared@1.8.2: + resolution: {integrity: sha512-b6Z/X4MczChMcfhk6kfRmBzPgjoPzuS9KGR4AFsiLulLNRAAqhP+xZTKtMnZGhLuc61I20d5WqlId02AZvcO6g==} dev: true /@algolia/cache-browser-local-storage@4.13.1: @@ -1451,37 +1474,37 @@ packages: '@algolia/requester-common': 4.13.1 dev: true - /@ampproject/remapping@2.2.0: - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.18 - /@babel/code-frame@7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 - /@babel/compat-data@7.20.10: - resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==} + /@babel/compat-data@7.21.4: + resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} engines: {node: '>=6.9.0'} - /@babel/core@7.21.3: - resolution: {integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==} + /@babel/core@7.21.4: + resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -1490,20 +1513,20 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.21.3: - resolution: {integrity: sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==} + /@babel/generator@7.21.4: + resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: false /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: @@ -1511,29 +1534,29 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: false - /@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.3): - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.20.10 - '@babel/core': 7.21.3 - '@babel/helper-validator-option': 7.18.6 + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-validator-option': 7.21.0 browserslist: 4.21.5 lru-cache: 5.1.1 semver: 6.3.0 - /@babel/helper-create-class-features-plugin@7.20.12(@babel/core@7.21.3): + /@babel/helper-create-class-features-plugin@7.20.12(@babel/core@7.21.4): resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 @@ -1546,46 +1569,47 @@ packages: - supports-color dev: false - /@babel/helper-create-class-features-plugin@7.20.5(@babel/core@7.21.3): - resolution: {integrity: sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==} + /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 - '@babel/helper-member-expression-to-functions': 7.20.7 + '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/helper-split-export-declaration': 7.18.6 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-create-regexp-features-plugin@7.20.5(@babel/core@7.21.3): + /@babel/helper-create-regexp-features-plugin@7.20.5(@babel/core@7.21.4): resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.2.2 dev: false - /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.3): + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.4): resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.1 + resolve: 1.22.2 semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -1599,7 +1623,7 @@ packages: resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: false /@babel/helper-function-name@7.21.0: @@ -1607,26 +1631,33 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 /@babel/helper-member-expression-to-functions@7.20.7: resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 + dev: false + + /@babel/helper-member-expression-to-functions@7.21.0: + resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 dev: false /@babel/helper-module-imports@7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 /@babel/helper-module-transforms@7.21.2: resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} @@ -1638,8 +1669,8 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color @@ -1647,7 +1678,7 @@ packages: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: false /@babel/helper-plugin-utils@7.20.2: @@ -1655,30 +1686,17 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.3): + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.3 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/helper-replace-supers@7.19.1: - resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.20.7 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color dev: false @@ -1691,8 +1709,8 @@ packages: '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color dev: false @@ -1701,20 +1719,20 @@ packages: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 /@babel/helper-skip-transparent-expression-wrappers@7.20.0: resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: false /@babel/helper-split-export-declaration@7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 /@babel/helper-string-parser@7.19.4: resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} @@ -1724,8 +1742,8 @@ packages: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.18.6: - resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + /@babel/helper-validator-option@7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} engines: {node: '>=6.9.0'} /@babel/helper-wrap-function@7.20.5: @@ -1734,8 +1752,8 @@ packages: dependencies: '@babel/helper-function-name': 7.21.0 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color dev: false @@ -1745,8 +1763,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color @@ -1758,411 +1776,411 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.21.3: - resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} + /@babel/parser@7.21.4: + resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.3): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.3): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.20.7(@babel/core@7.21.3) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4) dev: false - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.3): + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.3) + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.3): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.20.12(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-proposal-class-static-block@7.20.7(@babel/core@7.21.3): - resolution: {integrity: sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==} + /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-class-features-plugin': 7.20.12(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.3): + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) dev: false - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.3): + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) dev: false - /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.3): + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) dev: false - /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.3): + /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) dev: false - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.3): + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) dev: false - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.3): + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) dev: false - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.3): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.10 - '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.3) - '@babel/plugin-transform-parameters': 7.20.7(@babel/core@7.21.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.4) dev: false - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.3): + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) dev: false - /@babel/plugin-proposal-optional-chaining@7.20.7(@babel/core@7.21.3): - resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==} + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) dev: false - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.3): + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.20.12(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-proposal-private-property-in-object@7.20.5(@babel/core@7.21.3): - resolution: {integrity: sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==} + /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.21.3) + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.3): + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.3): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.3): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.3): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.3): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.3): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.3): + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.4): resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.3): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.3): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.3): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.3): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.3): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.3): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.3): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.3): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.4): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.3): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.21.3): + /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.3): + /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-module-imports': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.3) + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-block-scoping@7.20.14(@babel/core@7.21.3): - resolution: {integrity: sha512-sMPepQtsOs5fM1bwNvuJJHvaCfOEQfmc01FGw0ELlTpTJj5Ql/zuNRRldYhAPys4ghXdBIQJbRVYi44/7QflQQ==} + /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-classes@7.20.7(@babel/core@7.21.3): - resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==} + /@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 @@ -2174,121 +2192,121 @@ packages: - supports-color dev: false - /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.21.3): + /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/template': 7.20.7 dev: false - /@babel/plugin-transform-destructuring@7.20.7(@babel/core@7.21.3): - resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} + /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.4): + resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.3): + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-for-of@7.18.8(@babel/core@7.21.3): - resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} + /@babel/plugin-transform-for-of@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.3): + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-function-name': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.3): + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.3): + /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.4): resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-modules-commonjs@7.20.11(@babel/core@7.21.3): - resolution: {integrity: sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==} + /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.21.4): + resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-simple-access': 7.20.2 @@ -2296,13 +2314,13 @@ packages: - supports-color dev: false - /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.3): + /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.4): resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 @@ -2311,262 +2329,262 @@ packages: - supports-color dev: false - /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.3): + /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.4): resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-parameters@7.20.7(@babel/core@7.21.3): - resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} + /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.4): + resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.3): + /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.4): resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 regenerator-transform: 0.15.1 dev: false - /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.3): + /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 dev: false - /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.3): + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.3): + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.3): + /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.4): resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.3): + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 dev: false - /@babel/preset-env@7.20.2(@babel/core@7.21.3): - resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} + /@babel/preset-env@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.10 - '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.3) + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.18.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-proposal-class-static-block': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.3) - '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-proposal-optional-chaining': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-proposal-private-property-in-object': 7.20.5(@babel/core@7.21.3) - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.3) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.3) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.3) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.3) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.3) - '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.3) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.3) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.3) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.3) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.3) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.3) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.3) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.3) - '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-block-scoping': 7.20.14(@babel/core@7.21.3) - '@babel/plugin-transform-classes': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-transform-destructuring': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.3) - '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-for-of': 7.18.8(@babel/core@7.21.3) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.3) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.3) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.3) - '@babel/plugin-transform-modules-commonjs': 7.20.11(@babel/core@7.21.3) - '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.3) - '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.3) - '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-parameters': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.21.3) - '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.3) - '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.3) - '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.3) - '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.3) - '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.3) - '@babel/preset-modules': 0.1.5(@babel/core@7.21.3) - '@babel/types': 7.20.7 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.3) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.3) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.3) + '@babel/helper-validator-option': 7.21.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.4) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.4) + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.4) + '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.4) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.4) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.4) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.21.4) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.4) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.4) + '@babel/preset-modules': 0.1.5(@babel/core@7.21.4) + '@babel/types': 7.21.4 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4) core-js-compat: 3.27.2 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-modules@0.1.5(@babel/core@7.21.3): + /@babel/preset-modules@0.1.5(@babel/core@7.21.4): resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.3) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.3) - '@babel/types': 7.21.3 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) + '@babel/types': 7.21.4 esutils: 2.0.3 dev: false @@ -2577,8 +2595,8 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@babel/standalone@7.20.14: - resolution: {integrity: sha512-zxdQD6+eMQumJFPOLpOZE34JAAGrZPMXCKvHR7Mtat/l+nHDOxlit5u85HDk5WkBXmvN5PhUMeimiC95KXD9+A==} + /@babel/standalone@7.21.4: + resolution: {integrity: sha512-Rw4nGqH/iyVeYxARKcz7iGP+njkPsVqJ45TmXMONoGoxooWjXCAs+CUcLeAZdBGCLqgaPvHKCYvIaDT2Iq+KfA==} engines: {node: '>=6.9.0'} dev: true @@ -2586,38 +2604,29 @@ packages: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 - '@babel/parser': 7.21.3 - '@babel/types': 7.21.3 + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 - /@babel/traverse@7.21.3: - resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==} + /@babel/traverse@7.21.4: + resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.3 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.3 - '@babel/types': 7.21.3 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.20.7: - resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: false - - /@babel/types@7.21.3: - resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} + /@babel/types@7.21.4: + resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.19.4 @@ -2634,14 +2643,14 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.9 - /@docsearch/css@3.3.3: - resolution: {integrity: sha512-6SCwI7P8ao+se1TUsdZ7B4XzL+gqeQZnBc+2EONZlcVa0dVrk0NjETxozFKgMv0eEGH8QzP1fkN+A1rH61l4eg==} + /@docsearch/css@3.4.0: + resolution: {integrity: sha512-Hg8Xfma+rFwRi6Y/pfei4FJoQ1hdVURmmNs/XPoMTCPAImU+d5yxj+M+qdLtNjWRpfWziU4dQcqY94xgFBn2dg==} dev: true - /@docsearch/js@3.3.3: - resolution: {integrity: sha512-2xAv2GFuHzzmG0SSZgf8wHX0qZX8n9Y1ZirKUk5Wrdc+vH9CL837x2hZIUdwcPZI9caBA+/CzxsS68O4waYjUQ==} + /@docsearch/js@3.4.0: + resolution: {integrity: sha512-uOtOHZJv+5PQmL68+srVzlGhLejnEBJgZl1bR87Zh/uK5RUI7p6el1R8hGTl2F8K2tCloNRxTMtXyYUNbMV+qw==} dependencies: - '@docsearch/react': 3.3.3 + '@docsearch/react': 3.4.0 preact: 10.7.3 transitivePeerDependencies: - '@algolia/client-search' @@ -2650,8 +2659,8 @@ packages: - react-dom dev: true - /@docsearch/react@3.3.3: - resolution: {integrity: sha512-pLa0cxnl+G0FuIDuYlW+EBK6Rw2jwLw9B1RHIeS4N4s2VhsfJ/wzeCi3CWcs5yVfxLd5ZK50t//TMA5e79YT7Q==} + /@docsearch/react@3.4.0: + resolution: {integrity: sha512-ufrp5879XYGojgS30ZAp8H4qIMbahRHB9M85VDBP36Xgz5QjYM54i1URKj5e219F7gqTtOivfztFTij6itc0MQ==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' @@ -2664,9 +2673,9 @@ packages: react-dom: optional: true dependencies: - '@algolia/autocomplete-core': 1.7.4 - '@algolia/autocomplete-preset-algolia': 1.7.4(algoliasearch@4.13.1) - '@docsearch/css': 3.3.3 + '@algolia/autocomplete-core': 1.8.2 + '@algolia/autocomplete-preset-algolia': 1.8.2(algoliasearch@4.13.1) + '@docsearch/css': 3.4.0 algoliasearch: 4.13.1 transitivePeerDependencies: - '@algolia/client-search' @@ -2693,8 +2702,8 @@ packages: get-tsconfig: 4.4.0 dev: true - /@esbuild/android-arm64@0.17.10: - resolution: {integrity: sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g==} + /@esbuild/android-arm64@0.17.18: + resolution: {integrity: sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -2720,8 +2729,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.17.10: - resolution: {integrity: sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw==} + /@esbuild/android-arm@0.17.18: + resolution: {integrity: sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -2738,8 +2747,8 @@ packages: dev: false optional: true - /@esbuild/android-x64@0.17.10: - resolution: {integrity: sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA==} + /@esbuild/android-x64@0.17.18: + resolution: {integrity: sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -2756,8 +2765,8 @@ packages: dev: false optional: true - /@esbuild/darwin-arm64@0.17.10: - resolution: {integrity: sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg==} + /@esbuild/darwin-arm64@0.17.18: + resolution: {integrity: sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -2774,8 +2783,8 @@ packages: dev: false optional: true - /@esbuild/darwin-x64@0.17.10: - resolution: {integrity: sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ==} + /@esbuild/darwin-x64@0.17.18: + resolution: {integrity: sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -2792,8 +2801,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-arm64@0.17.10: - resolution: {integrity: sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ==} + /@esbuild/freebsd-arm64@0.17.18: + resolution: {integrity: sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -2810,8 +2819,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64@0.17.10: - resolution: {integrity: sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg==} + /@esbuild/freebsd-x64@0.17.18: + resolution: {integrity: sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -2828,8 +2837,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm64@0.17.10: - resolution: {integrity: sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA==} + /@esbuild/linux-arm64@0.17.18: + resolution: {integrity: sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -2846,8 +2855,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm@0.17.10: - resolution: {integrity: sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA==} + /@esbuild/linux-arm@0.17.18: + resolution: {integrity: sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -2864,8 +2873,8 @@ packages: dev: false optional: true - /@esbuild/linux-ia32@0.17.10: - resolution: {integrity: sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw==} + /@esbuild/linux-ia32@0.17.18: + resolution: {integrity: sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -2891,8 +2900,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.17.10: - resolution: {integrity: sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA==} + /@esbuild/linux-loong64@0.17.18: + resolution: {integrity: sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -2909,8 +2918,8 @@ packages: dev: false optional: true - /@esbuild/linux-mips64el@0.17.10: - resolution: {integrity: sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg==} + /@esbuild/linux-mips64el@0.17.18: + resolution: {integrity: sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -2927,8 +2936,8 @@ packages: dev: false optional: true - /@esbuild/linux-ppc64@0.17.10: - resolution: {integrity: sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ==} + /@esbuild/linux-ppc64@0.17.18: + resolution: {integrity: sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -2945,8 +2954,8 @@ packages: dev: false optional: true - /@esbuild/linux-riscv64@0.17.10: - resolution: {integrity: sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ==} + /@esbuild/linux-riscv64@0.17.18: + resolution: {integrity: sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -2963,8 +2972,8 @@ packages: dev: false optional: true - /@esbuild/linux-s390x@0.17.10: - resolution: {integrity: sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg==} + /@esbuild/linux-s390x@0.17.18: + resolution: {integrity: sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -2981,8 +2990,8 @@ packages: dev: false optional: true - /@esbuild/linux-x64@0.17.10: - resolution: {integrity: sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg==} + /@esbuild/linux-x64@0.17.18: + resolution: {integrity: sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -2999,8 +3008,8 @@ packages: dev: false optional: true - /@esbuild/netbsd-x64@0.17.10: - resolution: {integrity: sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA==} + /@esbuild/netbsd-x64@0.17.18: + resolution: {integrity: sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -3017,8 +3026,8 @@ packages: dev: false optional: true - /@esbuild/openbsd-x64@0.17.10: - resolution: {integrity: sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig==} + /@esbuild/openbsd-x64@0.17.18: + resolution: {integrity: sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -3035,8 +3044,8 @@ packages: dev: false optional: true - /@esbuild/sunos-x64@0.17.10: - resolution: {integrity: sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg==} + /@esbuild/sunos-x64@0.17.18: + resolution: {integrity: sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -3053,8 +3062,8 @@ packages: dev: false optional: true - /@esbuild/win32-arm64@0.17.10: - resolution: {integrity: sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg==} + /@esbuild/win32-arm64@0.17.18: + resolution: {integrity: sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -3071,8 +3080,8 @@ packages: dev: false optional: true - /@esbuild/win32-ia32@0.17.10: - resolution: {integrity: sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ==} + /@esbuild/win32-ia32@0.17.18: + resolution: {integrity: sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -3089,8 +3098,8 @@ packages: dev: false optional: true - /@esbuild/win32-x64@0.17.10: - resolution: {integrity: sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw==} + /@esbuild/win32-x64@0.17.18: + resolution: {integrity: sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -3107,14 +3116,14 @@ packages: dev: false optional: true - /@eslint-community/eslint-utils@4.3.0(eslint@8.36.0): + /@eslint-community/eslint-utils@4.3.0(eslint@8.38.0): resolution: {integrity: sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.36.0 - eslint-visitor-keys: 3.3.0 + eslint: 8.38.0 + eslint-visitor-keys: 3.4.0 dev: true /@eslint-community/regexpp@4.4.0: @@ -3122,13 +3131,18 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.0.1: - resolution: {integrity: sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==} + /@eslint-community/regexpp@4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.0 + espree: 9.5.1 globals: 13.19.0 ignore: 5.2.0 import-fresh: 3.3.0 @@ -3139,8 +3153,8 @@ packages: - supports-color dev: true - /@eslint/js@8.36.0: - resolution: {integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==} + /@eslint/js@8.38.0: + resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -3173,20 +3187,13 @@ packages: resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} dev: true - /@jridgewell/gen-mapping@0.1.1: - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.1 - '@jridgewell/sourcemap-codec': 1.4.14 - /@jridgewell/gen-mapping@0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.1 '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} @@ -3200,14 +3207,14 @@ packages: resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} dependencies: '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 dev: true /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/trace-mapping@0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 @@ -3236,29 +3243,29 @@ packages: - supports-color dev: false - /@microsoft/api-extractor-model@7.26.4(@types/node@18.15.5): + /@microsoft/api-extractor-model@7.26.4(@types/node@18.15.12): resolution: {integrity: sha512-PDCgCzXDo+SLY5bsfl4bS7hxaeEtnXj7XtuzEE+BtALp7B5mK/NrS2kHWU69pohgsRmEALycQdaQPXoyT2i5MQ==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.1 - '@rushstack/node-core-library': 3.55.2(@types/node@18.15.5) + '@rushstack/node-core-library': 3.55.2(@types/node@18.15.12) transitivePeerDependencies: - '@types/node' dev: true - /@microsoft/api-extractor@7.34.4(@types/node@18.15.5): + /@microsoft/api-extractor@7.34.4(@types/node@18.15.12): resolution: {integrity: sha512-HOdcci2nT40ejhwPC3Xja9G+WSJmWhCUKKryRfQYsmE9cD+pxmBaKBKCbuS9jUcl6bLLb4Gz+h7xEN5r0QiXnQ==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.26.4(@types/node@18.15.5) + '@microsoft/api-extractor-model': 7.26.4(@types/node@18.15.12) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.1 - '@rushstack/node-core-library': 3.55.2(@types/node@18.15.5) + '@rushstack/node-core-library': 3.55.2(@types/node@18.15.12) '@rushstack/rig-package': 0.3.18 '@rushstack/ts-command-line': 4.13.2 colors: 1.2.5 lodash: 4.17.21 - resolve: 1.22.1 + resolve: 1.22.2 semver: 7.3.8 source-map: 0.6.1 typescript: 4.8.4 @@ -3338,12 +3345,19 @@ packages: webcrypto-core: 1.7.3 dev: true + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + /@polka/url@1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: true - /@rollup/plugin-alias@4.0.3(rollup@3.20.2): - resolution: {integrity: sha512-ZuDWE1q4PQDhvm/zc5Prun8sBpLJy41DMptYrS6MhAy9s9kL/doN1613BWfEchGVfKxzliJ3BjbOPizXX38DbQ==} + /@rollup/plugin-alias@4.0.4(rollup@3.21.0): + resolution: {integrity: sha512-0CaAY238SMtYAWEXXptWSR8iz8NYZnH7zNBKuJ14xFJSGwLtPgjvXYsoApAHfzYXXH1ejxpVw7WlHss3zhh9SQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0 @@ -3351,12 +3365,25 @@ packages: rollup: optional: true dependencies: - rollup: 3.20.2 + rollup: 3.21.0 slash: 4.0.0 dev: true - /@rollup/plugin-commonjs@24.0.1(rollup@3.20.2): - resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==} + /@rollup/plugin-alias@5.0.0(rollup@3.21.0): + resolution: {integrity: sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 3.21.0 + slash: 4.0.0 + dev: true + + /@rollup/plugin-commonjs@24.1.0(rollup@3.21.0): + resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.68.0||^3.0.0 @@ -3364,16 +3391,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@rollup/pluginutils': 5.0.2(rollup@3.21.0) 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.20.2 + rollup: 3.21.0 dev: true - /@rollup/plugin-dynamic-import-vars@2.0.3(rollup@3.20.2): + /@rollup/plugin-dynamic-import-vars@2.0.3(rollup@3.21.0): resolution: {integrity: sha512-0zQV0TDDewilU+7ZLmwc0u44SkeRxSxMdINBuX5isrQGJ6EdTjVL1TcnOZ9In99byaSGAQnHmSFw+6hm0E/jrw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3382,14 +3409,14 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@rollup/pluginutils': 5.0.2(rollup@3.21.0) estree-walker: 2.0.2 fast-glob: 3.2.12 magic-string: 0.27.0 - rollup: 3.20.2 + rollup: 3.21.0 dev: true - /@rollup/plugin-json@6.0.0(rollup@3.20.2): + /@rollup/plugin-json@6.0.0(rollup@3.21.0): resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3398,12 +3425,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) - rollup: 3.20.2 + '@rollup/pluginutils': 5.0.2(rollup@3.21.0) + rollup: 3.21.0 dev: true - /@rollup/plugin-node-resolve@15.0.1(rollup@3.20.2): - resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} + /@rollup/plugin-node-resolve@15.0.2(rollup@3.21.0): + resolution: {integrity: sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.78.0||^3.0.0 @@ -3411,16 +3438,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@rollup/pluginutils': 5.0.2(rollup@3.21.0) '@types/resolve': 1.20.2 deepmerge: 4.2.2 - is-builtin-module: 3.2.0 + is-builtin-module: 3.2.1 is-module: 1.0.0 - resolve: 1.22.1 - rollup: 3.20.2 + resolve: 1.22.2 + rollup: 3.21.0 dev: true - /@rollup/plugin-replace@5.0.2(rollup@3.20.2): + /@rollup/plugin-replace@5.0.2(rollup@3.21.0): resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3429,13 +3456,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@rollup/pluginutils': 5.0.2(rollup@3.21.0) magic-string: 0.27.0 - rollup: 3.20.2 + rollup: 3.21.0 dev: true - /@rollup/plugin-typescript@11.0.0(rollup@3.20.2)(tslib@2.5.0)(typescript@5.0.2): - resolution: {integrity: sha512-goPyCWBiimk1iJgSTgsehFD5OOFHiAknrRJjqFCudcW8JtWiBlK284Xnn4flqMqg6YAjVG/EE+3aVzrL5qNSzQ==} + /@rollup/plugin-typescript@11.1.0(rollup@3.21.0)(tslib@2.5.0)(typescript@5.0.2): + resolution: {integrity: sha512-86flrfE+bSHB69znnTV6kVjkncs2LBMhcTCyxWgRxLyfXfQrxg4UwlAqENnjrrxnSNS/XKCDJCl8EkdFJVHOxw==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.14.0||^3.0.0 @@ -3447,14 +3474,14 @@ packages: tslib: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) - resolve: 1.22.1 - rollup: 3.20.2 + '@rollup/pluginutils': 5.0.2(rollup@3.21.0) + resolve: 1.22.2 + rollup: 3.21.0 tslib: 2.5.0 typescript: 5.0.2 dev: true - /@rollup/pluginutils@5.0.2(rollup@3.20.2): + /@rollup/pluginutils@5.0.2(rollup@3.21.0): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3466,10 +3493,10 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.20.2 + rollup: 3.21.0 dev: true - /@rushstack/node-core-library@3.55.2(@types/node@18.15.5): + /@rushstack/node-core-library@3.55.2(@types/node@18.15.12): resolution: {integrity: sha512-SaLe/x/Q/uBVdNFK5V1xXvsVps0y7h1sN7aSJllQyFbugyOaxhNRF25bwEDnicARNEjJw0pk0lYnJQ9Kr6ev0A==} peerDependencies: '@types/node': '*' @@ -3477,12 +3504,12 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 18.15.5 + '@types/node': 18.15.12 colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.22.1 + resolve: 1.22.2 semver: 7.3.8 z-schema: 5.0.3 dev: true @@ -3490,7 +3517,7 @@ packages: /@rushstack/rig-package@0.3.18: resolution: {integrity: sha512-SGEwNTwNq9bI3pkdd01yCaH+gAsHqs0uxfGvtw9b0LJXH52qooWXnrFTRRLG1aL9pf+M2CARdrA9HLHJys3jiQ==} dependencies: - resolve: 1.22.1 + resolve: 1.22.2 strip-json-comments: 3.1.1 dev: true @@ -3526,8 +3553,8 @@ packages: /@types/babel__core@7.20.0: resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: - '@babel/parser': 7.21.3 - '@babel/types': 7.21.3 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.17.1 @@ -3536,13 +3563,17 @@ packages: /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 + dev: true + + /@types/babel__preset-env@7.9.2: + resolution: {integrity: sha512-epEgKQiqTDZdPgYwtriYK1GVAGcyVZVvvw2UatX3+95mogKGimebApcMEWLF12uhUbNIvX284CSQEavnV/OIgw==} dev: true /@types/babel__standalone@7.1.4: resolution: {integrity: sha512-HijIDmcNl3Wmo0guqjYkQvMzyRCM6zMCkYcdG8f+2X7mPBNa9ikSeaQlWs2Yg18KN1klOJzyupX5BPOf+7ahaw==} dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 transitivePeerDependencies: - supports-color dev: true @@ -3550,14 +3581,14 @@ packages: /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.21.3 - '@babel/types': 7.21.3 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 dev: true /@types/babel__traverse@7.17.1: resolution: {integrity: sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /@types/braces@3.0.1: @@ -3581,7 +3612,7 @@ packages: /@types/cross-spawn@6.0.2: resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} dependencies: - '@types/node': 18.15.5 + '@types/node': 18.15.12 dev: true /@types/debug@4.1.7: @@ -3590,25 +3621,29 @@ packages: '@types/ms': 0.7.31 dev: true - /@types/escape-html@1.0.0: - resolution: {integrity: sha512-Ehe6irbxo5BSYwG03buglLJCmy3JqqtC69UvopsBWYf4hDa+ZODJ7BuZU6y+YE4U6MaoSruTxM2+uePfAHts9Q==} + /@types/escape-html@1.0.2: + resolution: {integrity: sha512-gaBLT8pdcexFztLSPRtriHeXY/Kn4907uOCZ4Q3lncFBkheAWOuNt53ypsF8szgxbEJ513UeBzcf4utN0EzEwA==} dev: true /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true + /@types/estree@1.0.1: + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + dev: true + /@types/etag@1.8.1: resolution: {integrity: sha512-bsKkeSqN7HYyYntFRAmzcwx/dKW4Wa+KVMTInANlI72PWLQmOpZu96j0OqHZGArW4VQwCmJPteQlXaUDeOB0WQ==} dependencies: - '@types/node': 18.15.5 + '@types/node': 18.15.12 dev: true /@types/fs-extra@11.0.1: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 18.15.5 + '@types/node': 18.15.12 dev: true /@types/json-schema@7.0.11: @@ -3626,15 +3661,15 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 18.15.5 + '@types/node': 18.15.12 dev: true /@types/less@3.0.3: resolution: {integrity: sha512-1YXyYH83h6We1djyoUEqTlVyQtCfJAFXELSKW2ZRtjHD4hQ82CC4lvrv5D0l0FLcKBaiPbXyi3MpMsI9ZRgKsw==} dev: true - /@types/lodash@4.14.191: - resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==} + /@types/lodash@4.14.194: + resolution: {integrity: sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==} dev: true /@types/micromatch@4.0.2: @@ -3655,8 +3690,12 @@ packages: resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==} dev: true + /@types/node@18.15.12: + resolution: {integrity: sha512-Wha1UwsB3CYdqUm2PPzh/1gujGCNtWVUYF0mB00fJFoR4gTyWTDPjSm+zBF787Ahw8vSGgBja90MkgFwvB86Dg==} + /@types/node@18.15.5: resolution: {integrity: sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==} + dev: true /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -3684,7 +3723,7 @@ packages: /@types/sass@1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 18.15.5 + '@types/node': 18.15.12 dev: true /@types/semver@7.3.13: @@ -3698,21 +3737,21 @@ packages: /@types/stylus@0.48.38: resolution: {integrity: sha512-B5otJekvD6XM8iTrnO6e2twoTY2tKL9VkL/57/2Lo4tv3EatbCaufdi68VVtn/h4yjO+HVvYEyrNQd0Lzj6riw==} dependencies: - '@types/node': 18.15.5 + '@types/node': 18.15.12 dev: true - /@types/web-bluetooth@0.0.16: - resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + /@types/web-bluetooth@0.0.17: + resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} dev: true /@types/ws@8.5.4: resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} dependencies: - '@types/node': 18.15.5 + '@types/node': 18.15.12 dev: true - /@typescript-eslint/eslint-plugin@5.56.0(@typescript-eslint/parser@5.56.0)(eslint@8.36.0)(typescript@5.0.2): - resolution: {integrity: sha512-ZNW37Ccl3oMZkzxrYDUX4o7cnuPgU+YrcaYXzsRtLB16I1FR5SHMqga3zGsaSliZADCWo2v8qHWqAYIj8nWCCg==} + /@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.38.0)(typescript@5.0.2): + resolution: {integrity: sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -3723,12 +3762,12 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.4.0 - '@typescript-eslint/parser': 5.56.0(eslint@8.36.0)(typescript@5.0.2) - '@typescript-eslint/scope-manager': 5.56.0 - '@typescript-eslint/type-utils': 5.56.0(eslint@8.36.0)(typescript@5.0.2) - '@typescript-eslint/utils': 5.56.0(eslint@8.36.0)(typescript@5.0.2) + '@typescript-eslint/parser': 5.59.0(eslint@8.38.0)(typescript@5.0.2) + '@typescript-eslint/scope-manager': 5.59.0 + '@typescript-eslint/type-utils': 5.59.0(eslint@8.38.0)(typescript@5.0.2) + '@typescript-eslint/utils': 5.59.0(eslint@8.38.0)(typescript@5.0.2) debug: 4.3.4 - eslint: 8.36.0 + eslint: 8.38.0 grapheme-splitter: 1.0.4 ignore: 5.2.0 natural-compare-lite: 1.4.0 @@ -3739,8 +3778,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.56.0(eslint@8.36.0)(typescript@5.0.2): - resolution: {integrity: sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==} + /@typescript-eslint/parser@5.59.0(eslint@8.38.0)(typescript@5.0.2): + resolution: {integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3749,26 +3788,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.56.0 - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/typescript-estree': 5.56.0(typescript@5.0.2) + '@typescript-eslint/scope-manager': 5.59.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.2) debug: 4.3.4 - eslint: 8.36.0 + eslint: 8.38.0 typescript: 5.0.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.56.0: - resolution: {integrity: sha512-jGYKyt+iBakD0SA5Ww8vFqGpoV2asSjwt60Gl6YcO8ksQ8s2HlUEyHBMSa38bdLopYqGf7EYQMUIGdT/Luw+sw==} + /@typescript-eslint/scope-manager@5.59.0: + resolution: {integrity: sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/visitor-keys': 5.56.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/visitor-keys': 5.59.0 dev: true - /@typescript-eslint/type-utils@5.56.0(eslint@8.36.0)(typescript@5.0.2): - resolution: {integrity: sha512-8WxgOgJjWRy6m4xg9KoSHPzBNZeQbGlQOH7l2QEhQID/+YseaFxg5J/DLwWSsi9Axj4e/cCiKx7PVzOq38tY4A==} + /@typescript-eslint/type-utils@5.59.0(eslint@8.38.0)(typescript@5.0.2): + resolution: {integrity: sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -3777,23 +3816,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.56.0(typescript@5.0.2) - '@typescript-eslint/utils': 5.56.0(eslint@8.36.0)(typescript@5.0.2) + '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.2) + '@typescript-eslint/utils': 5.59.0(eslint@8.38.0)(typescript@5.0.2) debug: 4.3.4 - eslint: 8.36.0 + eslint: 8.38.0 tsutils: 3.21.0(typescript@5.0.2) typescript: 5.0.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.56.0: - resolution: {integrity: sha512-JyAzbTJcIyhuUhogmiu+t79AkdnqgPUEsxMTMc/dCZczGMJQh1MK2wgrju++yMN6AWroVAy2jxyPcPr3SWCq5w==} + /@typescript-eslint/types@5.59.0: + resolution: {integrity: sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.56.0(typescript@5.0.2): - resolution: {integrity: sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==} + /@typescript-eslint/typescript-estree@5.59.0(typescript@5.0.2): + resolution: {integrity: sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -3801,8 +3840,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/visitor-keys': 5.56.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/visitor-keys': 5.59.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -3813,19 +3852,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.56.0(eslint@8.36.0)(typescript@5.0.2): - resolution: {integrity: sha512-XhZDVdLnUJNtbzaJeDSCIYaM+Tgr59gZGbFuELgF7m0IY03PlciidS7UQNKLE0+WpUTn1GlycEr6Ivb/afjbhA==} + /@typescript-eslint/utils@5.59.0(eslint@8.38.0)(typescript@5.0.2): + resolution: {integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.3.0(eslint@8.36.0) + '@eslint-community/eslint-utils': 4.3.0(eslint@8.38.0) '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.56.0 - '@typescript-eslint/types': 5.56.0 - '@typescript-eslint/typescript-estree': 5.56.0(typescript@5.0.2) - eslint: 8.36.0 + '@typescript-eslint/scope-manager': 5.59.0 + '@typescript-eslint/types': 5.59.0 + '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.2) + eslint: 8.38.0 eslint-scope: 5.1.1 semver: 7.3.8 transitivePeerDependencies: @@ -3833,12 +3872,12 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@5.56.0: - resolution: {integrity: sha512-1mFdED7u5bZpX6Xxf5N9U2c18sb+8EvU3tyOIj6LQZ5OOvnmj8BVeNNP603OFPm5KkS1a7IvCIcwrdHXaEMG/Q==} + /@typescript-eslint/visitor-keys@5.59.0: + resolution: {integrity: sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.56.0 - eslint-visitor-keys: 3.3.0 + '@typescript-eslint/types': 5.59.0 + eslint-visitor-keys: 3.4.0 dev: true /@vitejs/plugin-vue@4.1.0(vite@packages+vite)(vue@3.2.47): @@ -3852,44 +3891,63 @@ packages: vue: 3.2.47 dev: true - /@vitejs/release-scripts@1.1.0: - resolution: {integrity: sha512-pxP72AGDRGu6vufj8vrdmFll++N0K7aNDSWWYzPb28NgE5RjOdo99uLgJEpl3Ee/wEOnHKT2zJ9HN2GN44SUPQ==} + /@vitejs/plugin-vue@4.2.3(vite@packages+vite)(vue@3.3.4): + resolution: {integrity: sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.2.25 + dependencies: + vite: link:packages/vite + vue: 3.3.4 + dev: true + + /@vitejs/release-scripts@1.2.0: + resolution: {integrity: sha512-HdLOS/BQtavOis+VvT1517y7a5jYEMuBIybnL1F1Pd7vIXkFYPdo0vSKtnDBILOHhFT27SYist4BFkppDvsBnA==} dependencies: - execa: 6.1.0 + execa: 7.1.1 minimist: 1.2.8 picocolors: 1.0.0 prompts: 2.4.2 publint: 0.1.11 - semver: 7.3.8 + semver: 7.5.1 dev: true - /@vitest/expect@0.29.7: - resolution: {integrity: sha512-UtG0tW0DP6b3N8aw7PHmweKDsvPv4wjGvrVZW7OSxaFg76ShtVdMiMcUkZJgCE8QWUmhwaM0aQhbbVLo4F4pkA==} + /@vitest/expect@0.30.1: + resolution: {integrity: sha512-c3kbEtN8XXJSeN81iDGq29bUzSjQhjES2WR3aColsS4lPGbivwLtas4DNUe0jD9gg/FYGIteqOenfU95EFituw==} dependencies: - '@vitest/spy': 0.29.7 - '@vitest/utils': 0.29.7 + '@vitest/spy': 0.30.1 + '@vitest/utils': 0.30.1 chai: 4.3.7 dev: true - /@vitest/runner@0.29.7: - resolution: {integrity: sha512-Yt0+csM945+odOx4rjZSjibQfl2ymxqVsmYz6sO2fiO5RGPYDFCo60JF6tLL9pz4G/kjY4irUxadeB1XT+H1jg==} + /@vitest/runner@0.30.1: + resolution: {integrity: sha512-W62kT/8i0TF1UBCNMRtRMOBWJKRnNyv9RrjIgdUryEe0wNpGZvvwPDLuzYdxvgSckzjp54DSpv1xUbv4BQ0qVA==} dependencies: - '@vitest/utils': 0.29.7 + '@vitest/utils': 0.30.1 + concordance: 5.0.4 p-limit: 4.0.0 pathe: 1.1.0 dev: true - /@vitest/spy@0.29.7: - resolution: {integrity: sha512-IalL0iO6A6Xz8hthR8sctk6ZS//zVBX48EiNwQguYACdgdei9ZhwMaBFV70mpmeYAFCRAm+DpoFHM5470Im78A==} + /@vitest/snapshot@0.30.1: + resolution: {integrity: sha512-fJZqKrE99zo27uoZA/azgWyWbFvM1rw2APS05yB0JaLwUIg9aUtvvnBf4q7JWhEcAHmSwbrxKFgyBUga6tq9Tw==} dependencies: - tinyspy: 1.0.2 + magic-string: 0.30.0 + pathe: 1.1.0 + pretty-format: 27.5.1 dev: true - /@vitest/utils@0.29.7: - resolution: {integrity: sha512-vNgGadp2eE5XKCXtZXL5UyNEDn68npSct75OC9AlELenSK0DiV1Mb9tfkwJHKjRb69iek+e79iipoJx8+s3SdA==} + /@vitest/spy@0.30.1: + resolution: {integrity: sha512-YfJeIf37GvTZe04ZKxzJfnNNuNSmTEGnla2OdL60C8od16f3zOfv9q9K0nNii0NfjDJRt/CVN/POuY5/zTS+BA==} dependencies: - cli-truncate: 3.1.0 - diff: 5.1.0 + tinyspy: 2.1.0 + dev: true + + /@vitest/utils@0.30.1: + resolution: {integrity: sha512-/c8Xv2zUVc+rnNt84QF0Y0zkfxnaGhp87K2dYJMLtLOIckPzuxLVzAtFCicGFdB4NeBHNzTRr1tNn7rCtQcWFA==} + dependencies: + concordance: 5.0.4 loupe: 2.3.6 pretty-format: 27.5.1 dev: true @@ -3897,21 +3955,37 @@ packages: /@vue/compiler-core@3.2.47: resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} dependencies: - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@vue/shared': 3.2.47 estree-walker: 2.0.2 source-map: 0.6.1 + /@vue/compiler-core@3.3.4: + resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} + dependencies: + '@babel/parser': 7.21.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + /@vue/compiler-dom@3.2.47: resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} dependencies: '@vue/compiler-core': 3.2.47 '@vue/shared': 3.2.47 + /@vue/compiler-dom@3.3.4: + resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} + dependencies: + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + dev: true + /@vue/compiler-sfc@3.2.47: resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} dependencies: - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@vue/compiler-core': 3.2.47 '@vue/compiler-dom': 3.2.47 '@vue/compiler-ssr': 3.2.47 @@ -3919,18 +3993,36 @@ packages: '@vue/shared': 3.2.47 estree-walker: 2.0.2 magic-string: 0.25.9 - postcss: 8.4.21 + postcss: 8.4.23 source-map: 0.6.1 + /@vue/compiler-sfc@3.3.4: + resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} + dependencies: + '@babel/parser': 7.21.4 + '@vue/compiler-core': 3.3.4 + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-ssr': 3.3.4 + '@vue/reactivity-transform': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.0 + postcss: 8.4.23 + source-map-js: 1.0.2 + dev: true + /@vue/compiler-ssr@3.2.47: resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} dependencies: '@vue/compiler-dom': 3.2.47 '@vue/shared': 3.2.47 - /@vue/devtools-api@6.4.4: - resolution: {integrity: sha512-Ku31WzpOV/8cruFaXaEZKF81WkNnvCSlBY4eOGtz5WMSdJvX1v1WWlSMGZeqUwPtQ27ZZz7B62erEMq8JDjcXw==} - dev: false + /@vue/compiler-ssr@3.3.4: + resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} + dependencies: + '@vue/compiler-dom': 3.3.4 + '@vue/shared': 3.3.4 + dev: true /@vue/devtools-api@6.4.5: resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} @@ -3938,28 +4030,50 @@ packages: /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} - dev: true /@vue/reactivity-transform@3.2.47: resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==} dependencies: - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@vue/compiler-core': 3.2.47 '@vue/shared': 3.2.47 estree-walker: 2.0.2 magic-string: 0.25.9 + /@vue/reactivity-transform@3.3.4: + resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} + dependencies: + '@babel/parser': 7.21.4 + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.0 + dev: true + /@vue/reactivity@3.2.47: resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} dependencies: '@vue/shared': 3.2.47 + /@vue/reactivity@3.3.4: + resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} + dependencies: + '@vue/shared': 3.3.4 + dev: true + /@vue/runtime-core@3.2.47: resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==} dependencies: '@vue/reactivity': 3.2.47 '@vue/shared': 3.2.47 + /@vue/runtime-core@3.3.4: + resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} + dependencies: + '@vue/reactivity': 3.3.4 + '@vue/shared': 3.3.4 + dev: true + /@vue/runtime-dom@3.2.47: resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==} dependencies: @@ -3967,6 +4081,14 @@ packages: '@vue/shared': 3.2.47 csstype: 2.6.20 + /@vue/runtime-dom@3.3.4: + resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} + dependencies: + '@vue/runtime-core': 3.3.4 + '@vue/shared': 3.3.4 + csstype: 3.1.2 + dev: true + /@vue/server-renderer@3.2.47(vue@3.2.47): resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==} peerDependencies: @@ -3976,29 +4098,93 @@ packages: '@vue/shared': 3.2.47 vue: 3.2.47 + /@vue/server-renderer@3.3.4(vue@3.3.4): + resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} + peerDependencies: + vue: 3.3.4 + dependencies: + '@vue/compiler-ssr': 3.3.4 + '@vue/shared': 3.3.4 + vue: 3.3.4 + dev: true + /@vue/shared@3.2.47: resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} - /@vueuse/core@9.13.0(vue@3.2.47): - resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} + /@vue/shared@3.3.4: + resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + dev: true + + /@vueuse/core@10.1.2(vue@3.3.4): + resolution: {integrity: sha512-roNn8WuerI56A5uiTyF/TEYX0Y+VKlhZAF94unUfdhbDUI+NfwQMn4FUnUscIRUhv3344qvAghopU4bzLPNFlA==} dependencies: - '@types/web-bluetooth': 0.0.16 - '@vueuse/metadata': 9.13.0 - '@vueuse/shared': 9.13.0(vue@3.2.47) - vue-demi: 0.13.1(vue@3.2.47) + '@types/web-bluetooth': 0.0.17 + '@vueuse/metadata': 10.1.2 + '@vueuse/shared': 10.1.2(vue@3.3.4) + vue-demi: 0.14.0(vue@3.3.4) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/metadata@9.13.0: - resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} + /@vueuse/integrations@10.1.2(focus-trap@7.4.3)(vue@3.3.4): + resolution: {integrity: sha512-wUpG3Wv6LiWerOwCzOAM0iGhNQ4vfFUTkhj/xQy7TLXduh2M3D8N08aS0KqlxsejY6R8NLxydDIM+68QfHZZ8Q==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + dependencies: + '@vueuse/core': 10.1.2(vue@3.3.4) + '@vueuse/shared': 10.1.2(vue@3.3.4) + focus-trap: 7.4.3 + vue-demi: 0.14.0(vue@3.3.4) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/metadata@10.1.2: + resolution: {integrity: sha512-3mc5BqN9aU2SqBeBuWE7ne4OtXHoHKggNgxZR2K+zIW4YLsy6xoZ4/9vErQs6tvoKDX6QAqm3lvsrv0mczAwIQ==} dev: true - /@vueuse/shared@9.13.0(vue@3.2.47): - resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} + /@vueuse/shared@10.1.2(vue@3.3.4): + resolution: {integrity: sha512-1uoUTPBlgyscK9v6ScGeVYDDzlPSFXBlxuK7SfrDGyUTBiznb3mNceqhwvZHjtDRELZEN79V5uWPTF1VDV8svA==} dependencies: - vue-demi: 0.13.1(vue@3.2.47) + vue-demi: 0.14.0(vue@3.3.4) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4036,21 +4222,6 @@ packages: acorn: 8.8.2 dev: true - /acorn-node@1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0(acorn@7.4.1) - xtend: 4.0.2 - - /acorn-walk@7.2.0(acorn@7.4.1): - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - peerDependencies: - acorn: '*' - dependencies: - acorn: 7.4.1 - /acorn-walk@8.2.0(acorn@8.8.2): resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} @@ -4063,6 +4234,7 @@ packages: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} hasBin: true + dev: true /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} @@ -4161,6 +4333,9 @@ packages: engines: {node: '>=12'} dev: true + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + /anymatch@3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} @@ -4297,8 +4472,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /axios@1.3.4: - resolution: {integrity: sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==} + /axios@1.3.6: + resolution: {integrity: sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==} dependencies: follow-redirects: 1.15.0(debug@4.3.4) form-data: 4.0.0 @@ -4307,38 +4482,38 @@ packages: - debug dev: false - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.3): + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.4): resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.20.10 - '@babel/core': 7.21.3 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.3) + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) semver: 6.3.0 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.3): + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.4): resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) core-js-compat: 3.27.2 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.3): + /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.4): resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.3) + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) transitivePeerDependencies: - supports-color dev: false @@ -4347,7 +4522,7 @@ packages: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 dev: true /balanced-match@1.0.2: @@ -4378,6 +4553,10 @@ packages: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} + /blueimp-md5@2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + dev: true + /body-parser@1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -4575,7 +4754,7 @@ packages: fast-glob: 3.2.12 helpertypes: 0.0.2 reserved-words: 0.1.2 - resolve: 1.22.1 + resolve: 1.22.2 typescript: 4.6.4 dev: true @@ -4677,6 +4856,10 @@ packages: requiresBuild: true dev: true + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} @@ -4715,6 +4898,20 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + /concordance@5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + dependencies: + date-time: 3.1.0 + esutils: 2.0.3 + fast-diff: 1.2.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + md5-hex: 3.0.1 + semver: 7.3.8 + well-known-symbols: 2.0.0 + dev: true + /connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} @@ -4732,8 +4929,8 @@ packages: - supports-color dev: true - /consola@2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + /consola@3.1.0: + resolution: {integrity: sha512-rrrJE6rP0qzl/Srg+C9x/AE5Kxfux7reVm1Wh0wCjuXvih6DqZgqDZe8auTD28fzJ9TF0mHlSDrPpWlujQRo1Q==} dev: true /console-control-strings@1.1.0: @@ -4743,8 +4940,8 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.21.3 - '@babel/types': 7.21.3 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 dev: true /content-disposition@0.5.4: @@ -4946,8 +5143,8 @@ packages: browserslist: 4.21.5 dev: false - /core-js@3.29.1: - resolution: {integrity: sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw==} + /core-js@3.30.1: + resolution: {integrity: sha512-ZNS5nbiSwDTq4hFosEDqm65izl2CWmLz0hARJMyNQBgkUZMIF51cQiMvIQKA6hvuaeWxQDP3hEedM1JZIgTldQ==} requiresBuild: true dev: false @@ -5005,6 +5202,10 @@ packages: /csstype@2.6.20: resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: true + /d@1.0.1: resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} dependencies: @@ -5022,6 +5223,13 @@ packages: engines: {node: '>= 12'} dev: true + /date-time@3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} + engines: {node: '>=6'} + dependencies: + time-zone: 1.0.0 + dev: true + /dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true @@ -5100,9 +5308,6 @@ packages: object-keys: 1.1.1 dev: true - /defined@1.0.0: - resolution: {integrity: sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==} - /defu@6.1.2: resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} dev: true @@ -5138,15 +5343,6 @@ packages: engines: {node: '>=8'} dev: false - /detective@5.2.1: - resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} - engines: {node: '>=0.8.0'} - hasBin: true - dependencies: - acorn-node: 1.8.2 - defined: 1.0.0 - minimist: 1.2.8 - /dicer@0.3.0: resolution: {integrity: sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==} engines: {node: '>=4.5.0'} @@ -5161,11 +5357,6 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} - dev: true - /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -5302,8 +5493,8 @@ packages: which-typed-array: 1.1.9 dev: true - /es-module-lexer@1.2.0: - resolution: {integrity: sha512-2BMfqBDeVCcOlLaL1ZAfp+D868SczNpKArrTM3dhpd7dK/OVlogzY15qpUngt+LMTq5UC/csb9vVQAgupucSbA==} + /es-module-lexer@1.2.1: + resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} dev: true /es-set-tostringtag@2.0.1: @@ -5565,34 +5756,34 @@ packages: esbuild-windows-arm64: 0.15.18 dev: true - /esbuild@0.17.10: - resolution: {integrity: sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==} + /esbuild@0.17.18: + resolution: {integrity: sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.10 - '@esbuild/android-arm64': 0.17.10 - '@esbuild/android-x64': 0.17.10 - '@esbuild/darwin-arm64': 0.17.10 - '@esbuild/darwin-x64': 0.17.10 - '@esbuild/freebsd-arm64': 0.17.10 - '@esbuild/freebsd-x64': 0.17.10 - '@esbuild/linux-arm': 0.17.10 - '@esbuild/linux-arm64': 0.17.10 - '@esbuild/linux-ia32': 0.17.10 - '@esbuild/linux-loong64': 0.17.10 - '@esbuild/linux-mips64el': 0.17.10 - '@esbuild/linux-ppc64': 0.17.10 - '@esbuild/linux-riscv64': 0.17.10 - '@esbuild/linux-s390x': 0.17.10 - '@esbuild/linux-x64': 0.17.10 - '@esbuild/netbsd-x64': 0.17.10 - '@esbuild/openbsd-x64': 0.17.10 - '@esbuild/sunos-x64': 0.17.10 - '@esbuild/win32-arm64': 0.17.10 - '@esbuild/win32-ia32': 0.17.10 - '@esbuild/win32-x64': 0.17.10 + '@esbuild/android-arm': 0.17.18 + '@esbuild/android-arm64': 0.17.18 + '@esbuild/android-x64': 0.17.18 + '@esbuild/darwin-arm64': 0.17.18 + '@esbuild/darwin-x64': 0.17.18 + '@esbuild/freebsd-arm64': 0.17.18 + '@esbuild/freebsd-x64': 0.17.18 + '@esbuild/linux-arm': 0.17.18 + '@esbuild/linux-arm64': 0.17.18 + '@esbuild/linux-ia32': 0.17.18 + '@esbuild/linux-loong64': 0.17.18 + '@esbuild/linux-mips64el': 0.17.18 + '@esbuild/linux-ppc64': 0.17.18 + '@esbuild/linux-riscv64': 0.17.18 + '@esbuild/linux-s390x': 0.17.18 + '@esbuild/linux-x64': 0.17.18 + '@esbuild/netbsd-x64': 0.17.18 + '@esbuild/openbsd-x64': 0.17.18 + '@esbuild/sunos-x64': 0.17.18 + '@esbuild/win32-arm64': 0.17.18 + '@esbuild/win32-ia32': 0.17.18 + '@esbuild/win32-x64': 0.17.18 dev: true /esbuild@0.17.5: @@ -5641,8 +5832,8 @@ packages: engines: {node: '>=10'} dev: true - /eslint-define-config@1.17.0: - resolution: {integrity: sha512-J1sweMoWsLcokaiAlfOCC4yMoHbvC/kDAxorm5TkUcD74w+kauMIyjKLM3dOadNxVKOjDiYN1Tu2x9N+4EUuuQ==} + /eslint-define-config@1.18.0: + resolution: {integrity: sha512-8qWT7aNU5M0W+WfoUixVaR79sqt3b280CK4bNPCkqXlTWUOYlEy3yEcXZFduvWawkNjuYWpZ2UjcBfvfnvGpvA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0, npm: '>=6.14.13', pnpm: '>= 7.0.0'} dev: true @@ -5651,12 +5842,12 @@ packages: dependencies: debug: 3.2.7 is-core-module: 2.11.0 - resolve: 1.22.1 + resolve: 1.22.2 transitivePeerDependencies: - supports-color dev: true - /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.56.0)(eslint-import-resolver-node@0.3.7)(eslint@8.36.0): + /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-node@0.3.7)(eslint@8.38.0): resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -5677,26 +5868,26 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.56.0(eslint@8.36.0)(typescript@5.0.2) + '@typescript-eslint/parser': 5.59.0(eslint@8.38.0)(typescript@5.0.2) debug: 3.2.7 - eslint: 8.36.0 + eslint: 8.38.0 eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es@4.1.0(eslint@8.36.0): + /eslint-plugin-es@4.1.0(eslint@8.38.0): resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.36.0 + eslint: 8.38.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.56.0)(eslint@8.36.0): + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.0)(eslint@8.38.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -5706,21 +5897,21 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.56.0(eslint@8.36.0)(typescript@5.0.2) + '@typescript-eslint/parser': 5.59.0(eslint@8.38.0)(typescript@5.0.2) array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.36.0 + eslint: 8.38.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.56.0)(eslint-import-resolver-node@0.3.7)(eslint@8.36.0) + eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-node@0.3.7)(eslint@8.38.0) has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 minimatch: 3.1.2 object.values: 1.1.6 - resolve: 1.22.1 + resolve: 1.22.2 semver: 6.3.0 tsconfig-paths: 3.14.1 transitivePeerDependencies: @@ -5729,38 +5920,38 @@ packages: - supports-color dev: true - /eslint-plugin-n@15.7.0(eslint@8.36.0): + /eslint-plugin-n@15.7.0(eslint@8.38.0): resolution: {integrity: sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==} engines: {node: '>=12.22.0'} peerDependencies: eslint: '>=7.0.0' dependencies: builtins: 5.0.1 - eslint: 8.36.0 - eslint-plugin-es: 4.1.0(eslint@8.36.0) - eslint-utils: 3.0.0(eslint@8.36.0) + eslint: 8.38.0 + eslint-plugin-es: 4.1.0(eslint@8.38.0) + eslint-utils: 3.0.0(eslint@8.38.0) ignore: 5.2.0 is-core-module: 2.11.0 minimatch: 3.1.2 - resolve: 1.22.1 + resolve: 1.22.2 semver: 7.3.8 dev: true - /eslint-plugin-regexp@1.13.0(eslint@8.36.0): - resolution: {integrity: sha512-MAyx+n+gmkuK2kWPHoSITi+r8eEK9oCYEx4yrKwpePSzklsdEm5afDHVAjl7VEY0OZ/2iEi9jsxJwPpcgFbt+A==} + /eslint-plugin-regexp@1.14.0(eslint@8.38.0): + resolution: {integrity: sha512-5+bBSsRTTtkSf8+/iNSjiOW6qbjAdGyqv88HxPaBNFKxROK+UAdOGDl5Jr+csV5wW2BuOOvaG82zsvTriQBRFA==} engines: {node: ^12 || >=14} peerDependencies: eslint: '>=6.0.0' dependencies: - '@eslint-community/eslint-utils': 4.3.0(eslint@8.36.0) + '@eslint-community/eslint-utils': 4.3.0(eslint@8.38.0) '@eslint-community/regexpp': 4.4.0 comment-parser: 1.3.1 - eslint: 8.36.0 + eslint: 8.38.0 grapheme-splitter: 1.0.4 jsdoctypeparser: 9.0.0 - refa: 0.9.1 - regexp-ast-analysis: 0.5.1 - scslre: 0.1.6 + refa: 0.11.0 + regexp-ast-analysis: 0.6.0 + scslre: 0.2.0 dev: true /eslint-scope@5.1.1: @@ -5786,13 +5977,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.36.0): + /eslint-utils@3.0.0(eslint@8.38.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.36.0 + eslint: 8.38.0 eslint-visitor-keys: 2.1.0 dev: true @@ -5806,20 +5997,20 @@ packages: engines: {node: '>=10'} dev: true - /eslint-visitor-keys@3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + /eslint-visitor-keys@3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.36.0: - resolution: {integrity: sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==} + /eslint@8.38.0: + resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.3.0(eslint@8.36.0) + '@eslint-community/eslint-utils': 4.3.0(eslint@8.38.0) '@eslint-community/regexpp': 4.4.0 - '@eslint/eslintrc': 2.0.1 - '@eslint/js': 8.36.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.38.0 '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -5830,8 +6021,8 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-visitor-keys: 3.3.0 - espree: 9.5.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -5860,13 +6051,13 @@ packages: - supports-color dev: true - /espree@9.5.0: - resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} + /espree@9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.2 acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.3.0 + eslint-visitor-keys: 3.4.0 dev: true /esquery@1.5.0: @@ -5919,21 +6110,6 @@ packages: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: true - /execa@6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 3.0.1 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.1.0 - onetime: 6.0.0 - signal-exit: 3.0.7 - strip-final-newline: 3.0.0 - dev: true - /execa@7.1.1: resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} @@ -5997,6 +6173,10 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true + /fast-diff@1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + dev: true + /fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} @@ -6105,6 +6285,12 @@ packages: resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} dev: true + /focus-trap@7.4.3: + resolution: {integrity: sha512-BgSSbK4GPnS2VbtZ50VtOv1Sti6DIkj3+LkVjiWMNjLeAp1SH1UlLx3ULu/DCu4vq5R4/uvTm+zrvsMsuYmGLg==} + dependencies: + tabbable: 6.1.2 + dev: true + /follow-redirects@1.15.0(debug@4.3.4): resolution: {integrity: sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==} engines: {node: '>=4.0'} @@ -6122,6 +6308,14 @@ packages: is-callable: 1.2.7 dev: true + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.0.1 + dev: true + /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -6329,6 +6523,28 @@ packages: dependencies: is-glob: 4.0.3 + /glob@10.2.2: + resolution: {integrity: sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.1.0 + minimatch: 9.0.0 + minipass: 5.0.0 + path-scurry: 1.7.0 + dev: true + + /glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + /glob@7.2.0: resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} dependencies: @@ -6350,16 +6566,6 @@ packages: once: 1.4.0 dev: true - /glob@9.3.1: - resolution: {integrity: sha512-qERvJb7IGsnkx6YYmaaGvDpf77c951hICMdWaFXyH3PlVob8sbPJJyJX0kWkiCWyXUzoy9UOTNjGg0RbD8bYIw==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - fs.realpath: 1.0.0 - minimatch: 7.4.2 - minipass: 4.2.5 - path-scurry: 1.6.1 - dev: true - /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -6390,8 +6596,8 @@ packages: slash: 3.0.0 dev: true - /globby@13.1.3: - resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} + /globby@13.1.4: + resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 @@ -6489,8 +6695,8 @@ packages: engines: {node: '>=10.0.0'} dev: true - /hookable@5.4.2: - resolution: {integrity: sha512-6rOvaUiNKy9lET1X0ECnyZ5O5kSV0PJbtA5yZUgdEF7fGJEVwSLSislltyt7nFwVVALYHQJtfGeAR2Y0A0uJkg==} + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} dev: true /hosted-git-info@2.8.9: @@ -6543,11 +6749,6 @@ packages: - supports-color dev: false - /human-signals@3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} - dev: true - /human-signals@4.3.0: resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} engines: {node: '>=14.18.0'} @@ -6567,13 +6768,13 @@ packages: dev: true optional: true - /icss-utils@5.1.0(postcss@8.4.21): + /icss-utils@5.1.0(postcss@8.4.23): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true /ignore-walk@5.0.1: @@ -6700,8 +6901,8 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-builtin-module@3.2.0: - resolution: {integrity: sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==} + /is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 @@ -6716,12 +6917,12 @@ packages: resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 - dev: true /is-core-module@2.9.0: resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} dependencies: has: 1.0.3 + dev: true /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -6804,13 +7005,13 @@ packages: /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.1 dev: true /is-reference@3.0.0: resolution: {integrity: sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==} dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.1 dev: true /is-regex@1.1.4: @@ -6889,11 +7090,19 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /jiti@1.17.1: - resolution: {integrity: sha512-NZIITw8uZQFuzQimqjUxIrIcEdxYDFIe/0xYfIlVXTkiBjjyBEvgasj5bb0/cHtPRD/NziPbT312sFrkI5ALpw==} - hasBin: true + /jackspeak@2.1.0: + resolution: {integrity: sha512-DiEwVPqsieUzZBNxQ2cxznmFzfg/AMgJUjYw5xl6rSmCxAQXECcbSdwcLM6Ds6T09+SBfSNCGPhYUoQ96P4h7A==} + engines: {node: '>=14'} + dependencies: + cliui: 7.0.4 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 dev: true + /jiti@1.18.2: + resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + hasBin: true + /jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: true @@ -6902,6 +7111,11 @@ packages: resolution: {integrity: sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==} dev: true + /js-string-escape@1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} + dev: true + /js-stringify@1.0.2: resolution: {integrity: sha1-Fzb939lyTyijaCrcYjCufk6Weds=} dev: true @@ -7077,20 +7291,15 @@ packages: engines: {node: '>=10'} dev: true - /lilconfig@2.0.6: - resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} - engines: {node: '>=10'} - /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - /lint-staged@13.2.0: - resolution: {integrity: sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw==} + /lint-staged@13.2.1: + resolution: {integrity: sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: @@ -7146,8 +7355,8 @@ packages: engines: {node: '>= 12.13.0'} dev: true - /local-pkg@0.4.2: - resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} engines: {node: '>=14'} dev: true @@ -7254,9 +7463,9 @@ packages: dependencies: yallist: 4.0.0 - /lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} + /lru-cache@9.1.1: + resolution: {integrity: sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==} + engines: {node: 14 || >=16.14} dev: true /magic-string@0.25.9: @@ -7278,13 +7487,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /magic-string@0.29.0: - resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - /magic-string@0.30.0: resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} engines: {node: '>=12'} @@ -7321,6 +7523,17 @@ packages: engines: {node: '>=8'} dev: true + /mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + dev: true + + /md5-hex@3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} + dependencies: + blueimp-md5: 2.19.0 + dev: true + /media-typer@0.3.0: resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} engines: {node: '>= 0.6'} @@ -7461,9 +7674,9 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@7.4.2: - resolution: {integrity: sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA==} - engines: {node: '>=10'} + /minimatch@9.0.0: + resolution: {integrity: sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 dev: true @@ -7479,6 +7692,7 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true /minipass@3.1.6: resolution: {integrity: sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==} @@ -7487,11 +7701,15 @@ packages: yallist: 4.0.0 dev: false - /minipass@4.2.5: - resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} dev: true + /minisearch@6.1.0: + resolution: {integrity: sha512-PNxA/X8pWk+TiqPbsoIYH0GQ5Di7m6326/lwU/S4mlo4wGQddIcf/V//1f9TB0V4j59b57b+HZxt8h3iMROGvg==} + dev: true + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -7505,11 +7723,11 @@ packages: engines: {node: '>=10'} hasBin: true - /mkdist@1.1.1(typescript@4.9.5): - resolution: {integrity: sha512-9cEzCsBD0qpybR/lJMB0vRIDZiHP7hJHTN2mQtFU2qt0vr7lFnghxersOJbKLshaDsl4GlnY2OBzmRRUTfuaDg==} + /mkdist@1.2.0(typescript@5.0.4): + resolution: {integrity: sha512-UTqu/bXmIk/+VKNVgufAeMyjUcNy1dn9Bl7wL1zZlCKVrpDgj/VllmZBeh3ZCC/2HWqUrt6frNFTKt9TRZbNvQ==} hasBin: true peerDependencies: - sass: ^1.58.0 + sass: ^1.60.0 typescript: '>=4.9.5' peerDependenciesMeta: sass: @@ -7518,13 +7736,14 @@ packages: optional: true dependencies: defu: 6.1.2 - esbuild: 0.17.10 + esbuild: 0.17.18 fs-extra: 11.1.1 - globby: 13.1.3 - jiti: 1.17.1 + globby: 13.1.4 + jiti: 1.18.2 + mlly: 1.2.0 mri: 1.2.0 pathe: 1.1.0 - typescript: 4.9.5 + typescript: 5.0.4 dev: true /mlly@1.2.0: @@ -7569,8 +7788,15 @@ packages: hasBin: true dev: true - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -7671,7 +7897,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.1 + resolve: 1.22.2 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -7947,7 +8173,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -8000,12 +8226,12 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-scurry@1.6.1: - resolution: {integrity: sha512-OW+5s+7cw6253Q4E+8qQ/u1fVvcJQCJo/VFD8pje+dbJCF1n5ZRMV2AEHbGp+5Q7jxQIYJxkHopnj6nzdGeZLA==} - engines: {node: '>=14'} + /path-scurry@1.7.0: + resolution: {integrity: sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 7.18.3 - minipass: 4.2.5 + lru-cache: 9.1.1 + minipass: 5.0.0 dev: true /path-to-regexp@0.1.7: @@ -8077,6 +8303,10 @@ packages: dev: true optional: true + /pirates@4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + /pkg-types@1.0.2: resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} dependencies: @@ -8085,54 +8315,54 @@ packages: pathe: 1.1.0 dev: true - /playwright-chromium@1.31.2: - resolution: {integrity: sha512-De3FSR5C5PUpyv6d7eZbOPGbG4opgjgLGKaNOyR/QN8gfiVQxZpudP1hJp0S/zPnP5W6qirohgqsjLFYLPVJlw==} + /playwright-chromium@1.32.3: + resolution: {integrity: sha512-NhhXYl/6lH4JfiPlv0ZEkeQq/Kqj4vQGXf0AYs63kxqWMSc4jl69qtB4Yjd0j0iPZb38N5OItUiy8zunhh5wJg==} engines: {node: '>=14'} hasBin: true requiresBuild: true dependencies: - playwright-core: 1.31.2 + playwright-core: 1.32.3 dev: true - /playwright-core@1.31.2: - resolution: {integrity: sha512-a1dFgCNQw4vCsG7bnojZjDnPewZcw7tZUNFN0ZkcLYKj+mPmXvg4MpaaKZ5SgqPsOmqIf2YsVRkgqiRDxD+fDQ==} + /playwright-core@1.32.3: + resolution: {integrity: sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==} engines: {node: '>=14'} hasBin: true dev: true - /postcss-import@14.1.0(postcss@8.4.21): + /postcss-import@14.1.0(postcss@8.4.23): resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.1 + resolve: 1.22.2 - /postcss-import@15.1.0(postcss@8.4.21): + /postcss-import@15.1.0(postcss@8.4.23): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 dev: true - /postcss-js@4.0.0(postcss@8.4.21): + /postcss-js@4.0.0(postcss@8.4.23): resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.3.3 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.21 + postcss: 8.4.23 - /postcss-load-config@3.1.4(postcss@8.4.21)(ts-node@10.9.1): + /postcss-load-config@3.1.4(postcss@8.4.23)(ts-node@10.9.1): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -8145,11 +8375,11 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.21 - ts-node: 10.9.1(@types/node@18.15.5)(typescript@5.0.2) + postcss: 8.4.23 + ts-node: 10.9.1(@types/node@18.15.12)(typescript@5.0.2) yaml: 1.10.2 - /postcss-load-config@4.0.1(postcss@8.4.21): + /postcss-load-config@4.0.1(postcss@8.4.23): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} peerDependencies: @@ -8162,74 +8392,74 @@ packages: optional: true dependencies: lilconfig: 2.0.5 - postcss: 8.4.21 + postcss: 8.4.23 yaml: 2.1.1 dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.21): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.23): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 dev: true - /postcss-modules-local-by-default@4.0.0(postcss@8.4.21): + /postcss-modules-local-by-default@4.0.0(postcss@8.4.23): resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.21) - postcss: 8.4.21 + icss-utils: 5.1.0(postcss@8.4.23) + postcss: 8.4.23 postcss-selector-parser: 6.0.10 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.21): + /postcss-modules-scope@3.0.0(postcss@8.4.23): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-selector-parser: 6.0.10 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.21): + /postcss-modules-values@4.0.0(postcss@8.4.23): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.21) - postcss: 8.4.21 + icss-utils: 5.1.0(postcss@8.4.23) + postcss: 8.4.23 dev: true - /postcss-modules@6.0.0(postcss@8.4.21): + /postcss-modules@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.21) + icss-utils: 5.1.0(postcss@8.4.23) lodash.camelcase: 4.3.0 - postcss: 8.4.21 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.21) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.21) - postcss-modules-scope: 3.0.0(postcss@8.4.21) - postcss-modules-values: 4.0.0(postcss@8.4.21) + postcss: 8.4.23 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.23) + postcss-modules-local-by-default: 4.0.0(postcss@8.4.23) + postcss-modules-scope: 3.0.0(postcss@8.4.23) + postcss-modules-values: 4.0.0(postcss@8.4.23) string-hash: 1.1.3 dev: true - /postcss-nested@6.0.0(postcss@8.4.21): + /postcss-nested@6.0.0(postcss@8.4.23): resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.21 + postcss: 8.4.23 postcss-selector-parser: 6.0.11 /postcss-nested@6.0.1: @@ -8259,11 +8489,11 @@ packages: /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.21: - resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + /postcss@8.4.23: + resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 + nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 @@ -8276,8 +8506,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier@2.8.5: - resolution: {integrity: sha512-3gzuxrHbKUePRBB4ZeU08VNkUcqEHaUaouNt0m7LGP4Hti/NuB07C7PPTM/LkWqXoJYJn2McEo5+kxPNrtQkLQ==} + /prettier@2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -8372,7 +8602,7 @@ packages: jstransformer: 1.0.0 pug-error: 2.0.0 pug-walk: 2.0.0 - resolve: 1.22.1 + resolve: 1.22.2 dev: true /pug-lexer@5.0.1: @@ -8603,10 +8833,11 @@ packages: redis-errors: 1.2.0 dev: true - /refa@0.9.1: - resolution: {integrity: sha512-egU8LgFq2VXlAfUi8Jcbr5X38wEOadMFf8tCbshgcpVCYlE7k84pJOSlnvXF+muDB4igkdVMq7Z/kiNPqDT9TA==} + /refa@0.11.0: + resolution: {integrity: sha512-486O8/pQXwj9jV0mVvUnTsxq0uknpBnNJ0eCUhkZqJRQ8KutrT1PhzmumdCeM1hSBF2eMlFPmwECRER4IbKXlQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: - regexpp: 3.2.0 + '@eslint-community/regexpp': 4.5.0 dev: true /regenerate-unicode-properties@10.1.0: @@ -8630,18 +8861,12 @@ packages: '@babel/runtime': 7.21.0 dev: false - /regexp-ast-analysis@0.2.4: - resolution: {integrity: sha512-8L7kOZQaKPxKKAwGuUZxTQtlO3WZ+tiXy4s6G6PKL6trbOXcZoumwC3AOHHFtI/xoSbNxt7jgLvCnP1UADLWqg==} - dependencies: - refa: 0.9.1 - regexpp: 3.2.0 - dev: true - - /regexp-ast-analysis@0.5.1: - resolution: {integrity: sha512-Ca/g9gaTNuMewLuu+mBIq4vCrGRSO8AE9bP32NMQjJ/wBTdWq0g96qLkBb0NbGwEbp7S/q+NQF3o7veeuRfg0g==} + /regexp-ast-analysis@0.6.0: + resolution: {integrity: sha512-OLxjyjPkVH+rQlBLb1I/P/VTmamSjGkvN5PTV5BXP432k3uVz727J7H29GA5IFiY0m7e1xBN7049Wn59FY3DEQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: - refa: 0.9.1 - regexpp: 3.2.0 + '@eslint-community/regexpp': 4.5.0 + refa: 0.11.0 dev: true /regexp.prototype.flags@1.4.3: @@ -8699,8 +8924,8 @@ packages: engines: {node: '>=4'} dev: true - /resolve.exports@2.0.1: - resolution: {integrity: sha512-OEJWVeimw8mgQuj3HfkNl4KqRevH7lzeQNaWRPfx0PPse7Jk6ozcsG4FKVgtzDsC1KUF+YlTHh17NcgHOPykLw==} + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} dev: true @@ -8718,6 +8943,15 @@ packages: is-core-module: 2.9.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 /restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} @@ -8741,15 +8975,15 @@ packages: dependencies: glob: 7.2.0 - /rimraf@4.4.0: - resolution: {integrity: sha512-X36S+qpCUR0HjXlkDe4NAOhS//aHH0Z+h8Ckf2auGJk3PTnx5rLmrHkwNdbVQuCSUhOyFrlRvFEllZOYE+yZGQ==} + /rimraf@5.0.0: + resolution: {integrity: sha512-Jf9llaP+RvaEVS5nPShYFhtXIrb3LRKP281ib3So0KkeZKo2wIKyq0Re7TOSwanasA423PSr6CCIL4bP6T040g==} engines: {node: '>=14'} hasBin: true dependencies: - glob: 9.3.1 + glob: 10.2.2 dev: true - /rollup-plugin-dts@5.3.0(rollup@3.20.2)(typescript@4.9.5): + /rollup-plugin-dts@5.3.0(rollup@3.21.0)(typescript@5.0.4): resolution: {integrity: sha512-8FXp0ZkyZj1iU5klkIJYLjIq/YZSwBoERu33QBDxm/1yw5UU4txrEtcmMkrq+ZiKu3Q4qvPCNqc3ovX6rjqzbQ==} engines: {node: '>=v14'} peerDependencies: @@ -8757,13 +8991,13 @@ packages: typescript: ^4.1 || ^5.0 dependencies: magic-string: 0.30.0 - rollup: 3.20.2 - typescript: 4.9.5 + rollup: 3.21.0 + typescript: 5.0.4 optionalDependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 dev: true - /rollup-plugin-license@3.0.1(rollup@3.20.2): + /rollup-plugin-license@3.0.1(rollup@3.21.0): resolution: {integrity: sha512-/lec6Y94Y3wMfTDeYTO/jSXII0GQ/XkDZCiqkMKxyU5D5nGPaxr/2JNYvAgYsoCYuOLGOanKDPjCCQiTT96p7A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -8776,13 +9010,13 @@ packages: mkdirp: 1.0.4 moment: 2.29.3 package-name-regex: 2.0.6 - rollup: 3.20.2 + rollup: 3.21.0 spdx-expression-validate: 2.0.0 spdx-satisfies: 5.0.1 dev: true - /rollup@3.20.2: - resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==} + /rollup@3.21.0: + resolution: {integrity: sha512-ANPhVcyeHvYdQMUyCbczy33nbLzI7RzrBje4uvNiTDJGIMtlKoOStmympwr9OtS1LZxiDmE2wvxHyVhoLtf1KQ==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -8830,9 +9064,9 @@ packages: truncate-utf8-bytes: 1.0.2 dev: true - /sass@1.59.3: - resolution: {integrity: sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ==} - engines: {node: '>=12.0.0'} + /sass@1.62.0: + resolution: {integrity: sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==} + engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.5.3(patch_hash=dzxbf3kgof5pdmbsyih2x43sq4) @@ -8850,12 +9084,12 @@ packages: loose-envify: 1.4.0 dev: false - /scslre@0.1.6: - resolution: {integrity: sha512-JORxVRlQTfjvlOAaiQKebgFElyAm5/W8b50lgaZ0OkEnKnagJW2ufDh3xRfU75UD9z3FGIu1gL1IyR3Poa6Qmw==} + /scslre@0.2.0: + resolution: {integrity: sha512-4hc49fUMmX3jM0XdFUAPBrs1xwEcdHa0KyjEsjFs+Zfc66mpFpq5YmRgDtl+Ffo6AtJIilfei+yKw8fUn3N88w==} dependencies: - refa: 0.9.1 - regexp-ast-analysis: 0.2.4 - regexpp: 3.2.0 + '@eslint-community/regexpp': 4.5.0 + refa: 0.11.0 + regexp-ast-analysis: 0.6.0 dev: true /scule@1.0.0: @@ -8893,6 +9127,14 @@ packages: dependencies: lru-cache: 6.0.0 + /semver@7.5.1: + resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -8963,8 +9205,8 @@ packages: resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==} dev: true - /shiki@0.14.1: - resolution: {integrity: sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==} + /shiki@0.14.2: + resolution: {integrity: sha512-ltSZlSLOuSY0M0Y75KA+ieRaZ0Trf5Wl3gutE7jzLuIcWxLp5i/uEnLoQWNvgKXQ5OMpGkJnVMRLAuzjc0LJ2A==} dependencies: ansi-sequence-parser: 1.1.0 jsonc-parser: 3.2.0 @@ -8986,6 +9228,11 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + /signal-exit@4.0.1: + resolution: {integrity: sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==} + engines: {node: '>=14'} + dev: true + /simple-git-hooks@2.8.1: resolution: {integrity: sha512-DYpcVR1AGtSfFUNzlBdHrQGPsOhuuEJ/FkmPOOlFysP60AHd3nsEpkGq/QEOdtUyT1Qhk7w9oLmFoMG+75BDog==} hasBin: true @@ -9154,8 +9401,8 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - /std-env@3.3.1: - resolution: {integrity: sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==} + /std-env@3.3.2: + resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==} dev: true /streamsearch@0.1.2: @@ -9279,6 +9526,19 @@ packages: - supports-color dev: true + /sucrase@3.32.0: + resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 + /sugarss@4.0.1: resolution: {integrity: sha512-WCjS5NfuVJjkQzK10s8WOBY+hhDxxNt/N6ZaGwxFZ+wN3/lKKFSaaKUNecULcTTvE4urLcKaZFQD8vO0mOZujw==} engines: {node: '>=12.0'} @@ -9303,38 +9563,43 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /systemjs@6.14.0: - resolution: {integrity: sha512-OMf+kFCYG9fLQerUyw/QVIPfZ+lo579R+usrDzSrZAkvMl6B0tHtc4rUP7DFaPCr7Sy6p5DYD4V9OCF1Sp6+vA==} + /systemjs@6.14.1: + resolution: {integrity: sha512-8ftwWd+XnQtZ/aGbatrN4QFNGrKJzmbtixW+ODpci7pyoTajg4sonPP8aFLESAcuVxaC1FyDESt+SpfFCH9rZQ==} dev: false - /tailwindcss@3.2.7(ts-node@10.9.1): - resolution: {integrity: sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==} + /tabbable@6.1.2: + resolution: {integrity: sha512-qCN98uP7i9z0fIS4amQ5zbGBOq+OSigYeGvPy7NDk8Y9yncqDZ9pRPgfsc2PJIVM9RrJj7GIfuRgmjoUU9zTHQ==} + dev: true + + /tailwindcss@3.3.1(ts-node@10.9.1): + resolution: {integrity: sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==} engines: {node: '>=12.13.0'} hasBin: true dependencies: arg: 5.0.2 chokidar: 3.5.3(patch_hash=dzxbf3kgof5pdmbsyih2x43sq4) color-name: 1.1.4 - detective: 5.2.1 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.2.12 glob-parent: 6.0.2 is-glob: 4.0.3 - lilconfig: 2.0.6 + jiti: 1.18.2 + lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.21 - postcss-import: 14.1.0(postcss@8.4.21) - postcss-js: 4.0.0(postcss@8.4.21) - postcss-load-config: 3.1.4(postcss@8.4.21)(ts-node@10.9.1) - postcss-nested: 6.0.0(postcss@8.4.21) + postcss: 8.4.23 + postcss-import: 14.1.0(postcss@8.4.23) + postcss-js: 4.0.0(postcss@8.4.23) + postcss-load-config: 3.1.4(postcss@8.4.23)(ts-node@10.9.1) + postcss-nested: 6.0.0(postcss@8.4.23) postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 - resolve: 1.22.1 + resolve: 1.22.2 + sucrase: 3.32.0 transitivePeerDependencies: - ts-node @@ -9363,8 +9628,8 @@ packages: uuid: 3.4.0 dev: true - /terser@5.16.6: - resolution: {integrity: sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==} + /terser@5.17.1: + resolution: {integrity: sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -9383,6 +9648,17 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: @@ -9400,12 +9676,17 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true + /time-zone@1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} + engines: {node: '>=4'} + dev: true + /tiny-emitter@2.1.0: resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} dev: false - /tinybench@2.3.1: - resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==} + /tinybench@2.4.0: + resolution: {integrity: sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==} dev: true /tinypool@0.4.0: @@ -9413,8 +9694,8 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tinyspy@1.0.2: - resolution: {integrity: sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==} + /tinyspy@2.1.0: + resolution: {integrity: sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==} engines: {node: '>=14.0.0'} dev: true @@ -9463,7 +9744,10 @@ packages: utf8-byte-length: 1.0.4 dev: true - /ts-node@10.9.1(@types/node@18.15.5)(typescript@5.0.2): + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + /ts-node@10.9.1(@types/node@18.15.12)(typescript@5.0.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -9482,7 +9766,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 18.15.5 + '@types/node': 18.15.12 acorn: 8.8.2 acorn-walk: 8.2.0(acorn@8.8.2) arg: 4.1.3 @@ -9616,17 +9900,17 @@ packages: hasBin: true dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - /typescript@5.0.2: resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} engines: {node: '>=12.20'} hasBin: true + /typescript@5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} + hasBin: true + dev: true + /typeson-registry@1.0.0-alpha.39: resolution: {integrity: sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw==} engines: {node: '>=10.0.0'} @@ -9666,35 +9950,35 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unbuild@1.1.2: - resolution: {integrity: sha512-EK5LeABThyn5KbX0eo5c7xKRQhnHVxKN8/e5Y+YQEf4ZobJB6OZ766756wbVqzIY/G/MvAfLbc6EwFPdSNnlpA==} + /unbuild@1.2.1: + resolution: {integrity: sha512-J4efk69Aye43tWcBPCsLK7TIRppGrEN4pAlDzRKo3HSE6MgTSTBxSEuE3ccx7ixc62JvGQ/CoFXYqqF2AHozow==} hasBin: true dependencies: - '@rollup/plugin-alias': 4.0.3(rollup@3.20.2) - '@rollup/plugin-commonjs': 24.0.1(rollup@3.20.2) - '@rollup/plugin-json': 6.0.0(rollup@3.20.2) - '@rollup/plugin-node-resolve': 15.0.1(rollup@3.20.2) - '@rollup/plugin-replace': 5.0.2(rollup@3.20.2) - '@rollup/pluginutils': 5.0.2(rollup@3.20.2) + '@rollup/plugin-alias': 5.0.0(rollup@3.21.0) + '@rollup/plugin-commonjs': 24.1.0(rollup@3.21.0) + '@rollup/plugin-json': 6.0.0(rollup@3.21.0) + '@rollup/plugin-node-resolve': 15.0.2(rollup@3.21.0) + '@rollup/plugin-replace': 5.0.2(rollup@3.21.0) + '@rollup/pluginutils': 5.0.2(rollup@3.21.0) chalk: 5.2.0 - consola: 2.15.3 + consola: 3.1.0 defu: 6.1.2 - esbuild: 0.17.10 - globby: 13.1.3 - hookable: 5.4.2 - jiti: 1.17.1 - magic-string: 0.29.0 - mkdist: 1.1.1(typescript@4.9.5) + esbuild: 0.17.18 + globby: 13.1.4 + hookable: 5.5.3 + jiti: 1.18.2 + magic-string: 0.30.0 + mkdist: 1.2.0(typescript@5.0.4) mlly: 1.2.0 mri: 1.2.0 pathe: 1.1.0 pkg-types: 1.0.2 pretty-bytes: 6.1.0 - rollup: 3.20.2 - rollup-plugin-dts: 5.3.0(rollup@3.20.2)(typescript@4.9.5) + rollup: 3.21.0 + rollup-plugin-dts: 5.3.0(rollup@3.21.0)(typescript@5.0.4) scule: 1.0.0 - typescript: 4.9.5 - untyped: 1.2.2 + typescript: 5.0.4 + untyped: 1.3.2 transitivePeerDependencies: - sass - supports-color @@ -9737,12 +10021,16 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - /untyped@1.2.2: - resolution: {integrity: sha512-EANYd5L6AdpgfldlgMcmvOOnj092nWhy0ybhc7uhEH12ipytDYz89EOegBQKj8qWL3u1wgYnmFjADhsuCJs5Aw==} + /untyped@1.3.2: + resolution: {integrity: sha512-z219Z65rOGD6jXIvIhpZFfwWdqQckB8sdZec2NO+TkcH1Bph7gL0hwLzRJs1KsOo4Jz4mF9guBXhsEnyEBGVfw==} + hasBin: true dependencies: - '@babel/core': 7.21.3 - '@babel/standalone': 7.20.14 - '@babel/types': 7.21.3 + '@babel/core': 7.21.4 + '@babel/standalone': 7.21.4 + '@babel/types': 7.21.4 + defu: 6.1.2 + jiti: 1.18.2 + mri: 1.2.0 scule: 1.0.0 transitivePeerDependencies: - supports-color @@ -9806,9 +10094,9 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - /vite-node@0.29.7: - resolution: {integrity: sha512-PakCZLvz37yFfUPWBnLa1OYHPCGm5v4pmRrTcFN4V/N/T3I6tyP3z07S//9w+DdeL7vVd0VSeyMZuAh+449ZWw==} - engines: {node: '>=v14.16.0'} + /vite-node@0.30.1: + resolution: {integrity: sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==} + engines: {node: '>=v14.18.0'} hasBin: true dependencies: cac: 6.7.14 @@ -9821,30 +10109,45 @@ packages: - supports-color dev: true - /vitepress@1.0.0-alpha.61: - resolution: {integrity: sha512-NvzERVS3/TU9YkYcaiK7yNSe0zY9UcSV58tx3mxbvVLCuwRykzO4OWbl6vQT6Ut6YGuZU1y3Z5WcSS+fHfaxJA==} + /vitepress@1.0.0-beta.1: + resolution: {integrity: sha512-V2yyCwQ+v9fh7rbnGDLp8M7vHa9sLElexXf/JHtBOsOwv7ed9wt1QI4WUagYgKR3TeoJT9v2s6f0UaQSne0EvQ==} hasBin: true dependencies: - '@docsearch/css': 3.3.3 - '@docsearch/js': 3.3.3 - '@vitejs/plugin-vue': 4.1.0(vite@packages+vite)(vue@3.2.47) + '@docsearch/css': 3.4.0 + '@docsearch/js': 3.4.0 + '@vitejs/plugin-vue': 4.2.3(vite@packages+vite)(vue@3.3.4) '@vue/devtools-api': 6.5.0 - '@vueuse/core': 9.13.0(vue@3.2.47) + '@vueuse/core': 10.1.2(vue@3.3.4) + '@vueuse/integrations': 10.1.2(focus-trap@7.4.3)(vue@3.3.4) body-scroll-lock: 4.0.0-beta.0 - shiki: 0.14.1 + focus-trap: 7.4.3 + mark.js: 8.11.1 + minisearch: 6.1.0 + shiki: 0.14.2 vite: link:packages/vite - vue: 3.2.47 + vue: 3.3.4 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - nprogress + - qrcode - react - react-dom + - sortablejs + - universal-cookie dev: true - /vitest@0.29.7: - resolution: {integrity: sha512-aWinOSOu4jwTuZHkb+cCyrqQ116Q9TXaJrNKTHudKBknIpR0VplzeaOUuDF9jeZcrbtQKZQt6yrtd+eakbaxHg==} - engines: {node: '>=v14.16.0'} + /vitest@0.30.1: + resolution: {integrity: sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==} + engines: {node: '>=v14.18.0'} hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -9852,6 +10155,7 @@ packages: '@vitest/ui': '*' happy-dom: '*' jsdom: '*' + playwright: '*' safaridriver: '*' webdriverio: '*' peerDependenciesMeta: @@ -9865,6 +10169,8 @@ packages: optional: true jsdom: optional: true + playwright: + optional: true safaridriver: optional: true webdriverio: @@ -9872,27 +10178,29 @@ packages: dependencies: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 18.15.5 - '@vitest/expect': 0.29.7 - '@vitest/runner': 0.29.7 - '@vitest/spy': 0.29.7 - '@vitest/utils': 0.29.7 + '@types/node': 18.15.12 + '@vitest/expect': 0.30.1 + '@vitest/runner': 0.30.1 + '@vitest/snapshot': 0.30.1 + '@vitest/spy': 0.30.1 + '@vitest/utils': 0.30.1 acorn: 8.8.2 acorn-walk: 8.2.0(acorn@8.8.2) cac: 6.7.14 chai: 4.3.7 + concordance: 5.0.4 debug: 4.3.4 - local-pkg: 0.4.2 + local-pkg: 0.4.3 + magic-string: 0.30.0 pathe: 1.1.0 picocolors: 1.0.0 source-map: 0.6.1 - std-env: 3.3.1 + std-env: 3.3.2 strip-literal: 1.0.1 - tinybench: 2.3.1 + tinybench: 2.4.0 tinypool: 0.4.0 - tinyspy: 1.0.2 vite: link:packages/vite - vite-node: 0.29.7 + vite-node: 0.30.1 why-is-node-running: 2.2.2 transitivePeerDependencies: - supports-color @@ -9911,8 +10219,8 @@ packages: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true - /vue-demi@0.13.1(vue@3.2.47): - resolution: {integrity: sha512-xmkJ56koG3ptpLnpgmIzk9/4nFf4CqduSJbUM0OdPoU87NwRuZ6x49OLhjSa/fC15fV+5CbEnrxU4oyE022svg==} + /vue-demi@0.14.0(vue@3.3.4): + resolution: {integrity: sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==} engines: {node: '>=12'} hasBin: true requiresBuild: true @@ -9923,7 +10231,7 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.2.47 + vue: 3.3.4 dev: true /vue-router@4.1.6(vue@3.2.47): @@ -9944,12 +10252,22 @@ packages: '@vue/server-renderer': 3.2.47(vue@3.2.47) '@vue/shared': 3.2.47 + /vue@3.3.4: + resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} + dependencies: + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-sfc': 3.3.4 + '@vue/runtime-dom': 3.3.4 + '@vue/server-renderer': 3.3.4(vue@3.3.4) + '@vue/shared': 3.3.4 + dev: true + /vuex@4.1.0(vue@3.2.47): resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} peerDependencies: vue: ^3.2.0 dependencies: - '@vue/devtools-api': 6.4.4 + '@vue/devtools-api': 6.5.0 vue: 3.2.47 dev: false @@ -9977,6 +10295,11 @@ packages: engines: {node: '>=10.4'} dev: true + /well-known-symbols@2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} + engines: {node: '>=6'} + dev: true + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: @@ -10049,8 +10372,8 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.21.3 - '@babel/types': 7.21.3 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 dev: true @@ -10114,6 +10437,7 @@ packages: /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + dev: true /y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} @@ -10262,6 +10586,12 @@ packages: version: 0.0.0 dev: true + file:playground/optimize-deps-no-discovery/dep-no-discovery: + resolution: {directory: playground/optimize-deps-no-discovery/dep-no-discovery, type: directory} + name: '@vitejs/test-dep-no-discovery' + version: 1.0.0 + dev: false + file:playground/optimize-deps/added-in-entries: resolution: {directory: playground/optimize-deps/added-in-entries, type: directory} name: '@vitejs/test-added-in-entries' @@ -10552,6 +10882,12 @@ packages: '@vitejs/test-external-cjs': file:playground/ssr-noexternal/external-cjs dev: false + file:playground/ssr-resolve/deep-import: + resolution: {directory: playground/ssr-resolve/deep-import, type: directory} + name: '@vitejs/test-deep-import' + version: 0.0.0 + dev: false + file:playground/ssr-resolve/entries: resolution: {directory: playground/ssr-resolve/entries, type: directory} name: '@vitejs/test-entries' diff --git a/scripts/publishCI.ts b/scripts/publishCI.ts index a6d83385739ae6..873b2cec5bbc0a 100644 --- a/scripts/publishCI.ts +++ b/scripts/publishCI.ts @@ -1,3 +1,3 @@ import { publish } from '@vitejs/release-scripts' -publish({ defaultPackage: 'vite' }) +publish({ defaultPackage: 'vite', provenance: true })