From a4de2ba936a41e43250fbf6c1a1886a192a9d013 Mon Sep 17 00:00:00 2001 From: ice breaker Date: Tue, 8 Aug 2023 15:16:00 +0800 Subject: [PATCH] feat: Feature/unplugin 2.x alpha (#36) * chore: rename pkg name * feat: commit @tailwindcss-mangle/config * feat: commit config pkg * fix: tailwindcss-patch test case * feat: prepare for v2 plugin * feat: commit new eslint config * chore: format codes * feat: commit alpha unplugin * chore: allow test for unplugin-tailwindcss-mangle * fix: miss deps * chore: fix build error --- .eslintrc.js | 10 +- .vscode/launch.json | 7 + README.md | 16 +- apps/webpack5-vue3/package.json | 4 +- package.json | 27 +- packages/config/build.config.ts | 3 + packages/config/package.json | 55 + packages/config/src/config.ts | 31 + packages/config/src/constants.ts | 1 + packages/config/src/defaults.ts | 18 + packages/config/src/index.ts | 4 + packages/config/src/types.ts | 19 + .../test/__snapshots__/defaults.test.ts.snap | 25 + packages/config/test/defaults.test.ts | 16 + .../0.default/tailwindcss-mangle.config.ts} | 0 .../tailwindcss-mangle.config.ts | 14 + packages/config/test/index.test.ts | 40 + packages/config/test/utils.ts | 3 + packages/config/tsconfig.json | 15 + packages/config/vitest.config.ts | 15 + packages/core/README.md | 2 +- packages/core/package.json | 8 +- packages/core/src/css/index.ts | 2 +- packages/core/src/css/plugins.ts | 6 +- packages/core/src/html/index.ts | 2 +- packages/core/src/shared.ts | 2 +- packages/core/test/css.test.ts | 2 +- packages/core/test/html.test.ts | 4 +- packages/core/test/js.test.ts | 2 +- packages/core/test/utils/index.ts | 6 +- packages/shared/README.md | 4 +- packages/shared/package.json | 2 +- packages/tailwindcss-patch/package.json | 13 +- packages/tailwindcss-patch/src/cli.ts | 6 +- packages/tailwindcss-patch/src/core/config.ts | 31 +- .../tailwindcss-patch/src/core/postcss.ts | 29 +- .../src/core/runtime-patcher.ts | 4 +- .../tailwindcss-patch/src/core/tw-patcher.ts | 13 +- packages/tailwindcss-patch/src/defaults.ts | 15 +- packages/tailwindcss-patch/src/types.ts | 22 +- .../test/__snapshots__/defaults.test.ts.snap | 8 - packages/tailwindcss-patch/test/cache.test.ts | 4 +- .../tailwindcss-patch/test/config.test.ts | 23 +- .../tailwindcss-patch/test/context.test.ts | 2 +- .../tailwindcss-patch/test/defaults.test.ts | 6 +- .../0.common/tailwindcss-mangle.config.ts | 3 + .../1.default/tailwindcss-mangle.config.ts | 3 + .../0.default/tailwindcss-mangle.config.ts | 3 + .../tailwindcss-mangle.config.ts | 14 + packages/tailwindcss-patch/test/index.test.ts | 2 +- .../tailwindcss-patch/test/postcss.test.ts | 7 +- .../test/runtime-patcher.test.ts | 2 +- .../tailwindcss-patch/test/tw-patcher.test.ts | 2 +- packages/tailwindcss-patch/test/utils.test.ts | 4 +- packages/tailwindcss-patch/test/utils.ts | 6 +- packages/tailwindcss-patch/vitest.setup.ts | 7 +- .../build.config.ts | 4 + .../unplugin-tailwindcss-mangle/package.json | 16 +- .../src/core/index.ts | 2 + .../src/{ => core}/options.ts | 46 +- .../src/core/plugin.ts | 150 ++ .../src/defaults.ts | 0 .../src/esbuild.ts | 2 +- .../unplugin-tailwindcss-mangle/src/index.ts | 279 +-- .../unplugin-tailwindcss-mangle/src/nuxt.ts | 2 +- .../unplugin-tailwindcss-mangle/src/rollup.ts | 2 +- .../src/twm-css.ts | 23 - .../unplugin-tailwindcss-mangle/src/types.ts | 10 +- .../unplugin-tailwindcss-mangle/src/utils.ts | 8 +- .../unplugin-tailwindcss-mangle/src/vite.ts | 2 +- .../src/webpack.ts | 2 +- .../test/__snapshots__/webpack.test.ts.snap | 200 +- .../vite-repo/.tw-patch/tw-class-list.json | 106 + .../test/fixtures/vite-repo/package.json | 5 +- .../webpack-repo/.tw-patch/tw-class-list.json | 106 + .../test/fixtures/webpack-repo/package.json | 12 + .../test/vite.test.ts | 23 +- .../test/webpack.test.ts | 10 +- .../vitest.setup.ts | 7 +- pnpm-lock.yaml | 1756 +++++++++-------- vitest.workspace.ts | 2 +- 81 files changed, 1849 insertions(+), 1520 deletions(-) create mode 100644 packages/config/build.config.ts create mode 100644 packages/config/package.json create mode 100644 packages/config/src/config.ts create mode 100644 packages/config/src/constants.ts create mode 100644 packages/config/src/defaults.ts create mode 100644 packages/config/src/index.ts create mode 100644 packages/config/src/types.ts create mode 100644 packages/config/test/__snapshots__/defaults.test.ts.snap create mode 100644 packages/config/test/defaults.test.ts rename packages/{tailwindcss-patch/test/fixtures/config/0.default/tailwindcss-patch.config.ts => config/test/fixtures/config/0.default/tailwindcss-mangle.config.ts} (100%) create mode 100644 packages/config/test/fixtures/config/1.change-options/tailwindcss-mangle.config.ts create mode 100644 packages/config/test/index.test.ts create mode 100644 packages/config/test/utils.ts create mode 100644 packages/config/tsconfig.json create mode 100644 packages/config/vitest.config.ts create mode 100644 packages/tailwindcss-patch/test/fixtures/apps/0.common/tailwindcss-mangle.config.ts create mode 100644 packages/tailwindcss-patch/test/fixtures/apps/1.default/tailwindcss-mangle.config.ts create mode 100644 packages/tailwindcss-patch/test/fixtures/config/0.default/tailwindcss-mangle.config.ts create mode 100644 packages/tailwindcss-patch/test/fixtures/config/1.change-options/tailwindcss-mangle.config.ts create mode 100644 packages/unplugin-tailwindcss-mangle/src/core/index.ts rename packages/unplugin-tailwindcss-mangle/src/{ => core}/options.ts (50%) create mode 100644 packages/unplugin-tailwindcss-mangle/src/core/plugin.ts delete mode 100644 packages/unplugin-tailwindcss-mangle/src/defaults.ts delete mode 100644 packages/unplugin-tailwindcss-mangle/src/twm-css.ts create mode 100644 packages/unplugin-tailwindcss-mangle/test/fixtures/vite-repo/.tw-patch/tw-class-list.json create mode 100644 packages/unplugin-tailwindcss-mangle/test/fixtures/webpack-repo/.tw-patch/tw-class-list.json create mode 100644 packages/unplugin-tailwindcss-mangle/test/fixtures/webpack-repo/package.json diff --git a/.eslintrc.js b/.eslintrc.js index 8bb4a77..441f281 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,11 +1,5 @@ +/** @type {import('eslint').Linter.Config} */ module.exports = { root: true, - extends: ['@icebreakers/eslint-config-ts', 'plugin:unicorn/recommended'], - rules: { - 'unicorn/prefer-module': 0, - 'unicorn/prevent-abbreviations': 0, - 'unicorn/filename-case': 0, - 'unicorn/no-object-as-default-parameter': 0, - 'unicorn/no-null': 0 - } + extends: ['icebreaker', 'plugin:prettier/recommended'] } diff --git a/.vscode/launch.json b/.vscode/launch.json index 8ad4e42..125c6d9 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -18,6 +18,13 @@ "type": "node-terminal", "cwd": "${workspaceFolder}/packages/tailwindcss-patch" }, + { + "command": "npm run test:dev", + "name": "[unplugin-tailwindcss-mangle] test:dev", + "request": "launch", + "type": "node-terminal", + "cwd": "${workspaceFolder}/packages/unplugin-tailwindcss-mangle" + }, { "command": "npm run build", "name": "Debug nuxt-app", diff --git a/README.md b/README.md index e6efa45..ec254aa 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # tailwindcss-mangle ![star](https://badgen.net/github/stars/sonofmagic/tailwindcss-mangle) -![dm0](https://badgen.net/npm/dm/tailwindcss-mangle-core) -![dm1](https://badgen.net/npm/dm/tailwindcss-mangle-shared) +![dm0](https://badgen.net/npm/dm/@tailwindcss-mangle/core) +![dm1](https://badgen.net/npm/dm/@tailwindcss-mangle/shared) ![dm2](https://badgen.net/npm/dm/tailwindcss-patch) ![dm3](https://badgen.net/npm/dm/unplugin-tailwindcss-mangle) [![test](https://github.com/sonofmagic/tailwindcss-mangle/actions/workflows/test.yml/badge.svg?branch=dev)](https://github.com/sonofmagic/tailwindcss-mangle/actions/workflows/test.yml) @@ -12,8 +12,8 @@ A util for mangle tailwindcss - [tailwindcss-mangle](#tailwindcss-mangle) - [tailwindcss-patch](#tailwindcss-patch) - - [tailwindcss-mangle-core](#tailwindcss-mangle-core) - - [tailwindcss-mangle-shared](#tailwindcss-mangle-shared) + - [@tailwindcss-mangle/core](#@tailwindcss-mangle/core) + - [@tailwindcss-mangle/shared](#@tailwindcss-mangle/shared) - [unplugin-tailwindcss-mangle](#unplugin-tailwindcss-mangle) - [How to use](#how-to-use) @@ -23,17 +23,17 @@ A util for mangle tailwindcss click [tailwindcss-patch](./packages/tailwindcss-patch) for more details. -## tailwindcss-mangle-core +## @tailwindcss-mangle/core The core of tailwindcss-mangle -click [tailwindcss-mangle-core](./packages/core) for more details. +click [@tailwindcss-mangle/core](./packages/core) for more details. -## tailwindcss-mangle-shared +## @tailwindcss-mangle/shared The shared utils of tailwindcss-mangle -click [tailwindcss-mangle-shared](./packages/shared) for more details. +click [@tailwindcss-mangle/shared](./packages/shared) for more details. ## unplugin-tailwindcss-mangle diff --git a/apps/webpack5-vue3/package.json b/apps/webpack5-vue3/package.json index a35c092..3f4424e 100644 --- a/apps/webpack5-vue3/package.json +++ b/apps/webpack5-vue3/package.json @@ -15,8 +15,8 @@ "vue-router": "^4.2.4" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^6.2.1", - "@typescript-eslint/parser": "^6.2.1", + "@typescript-eslint/eslint-plugin": "^6.3.0", + "@typescript-eslint/parser": "^6.3.0", "@vue/cli-plugin-babel": "~5.0.0", "@vue/cli-plugin-eslint": "~5.0.0", "@vue/cli-plugin-router": "~5.0.0", diff --git a/package.json b/package.json index cb6f176..fc0a56a 100644 --- a/package.json +++ b/package.json @@ -15,36 +15,37 @@ "lint": "pnpm run -r lint", "format": "prettier --write \"**/*.{ts,tsx,md}\"", "preinstall": "npx only-allow pnpm", - "sync": "cnpm sync tailwindcss-mangle-shared tailwindcss-patch unplugin-tailwindcss-mangle tailwindcss-mangle-core", + "sync": "cnpm sync @tailwindcss-mangle/shared tailwindcss-patch unplugin-tailwindcss-mangle @tailwindcss-mangle/core", "publish-packages": "pnpm run build && pnpm run test && changeset version && changeset publish" }, "devDependencies": { "@changesets/changelog-github": "^0.4.8", "@changesets/cli": "^2.26.2", - "@icebreakers/eslint-config-ts": "^1.2.2", - "@icebreakers/rollup": "^0.4.0", - "@icebreakers/tsconfig": "^0.0.7", + "eslint": "^8.46.0", + "eslint-config-icebreaker": "^1.2.2", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-prettier": "^5.0.0", + "@tailwindcss-mangle/core": "workspace:*", + "@tailwindcss-mangle/shared": "workspace:*", "@tsconfig/recommended": "^1.0.2", + "@types/lodash-es": "^4.17.8", "@types/node": "^20.4.8", "@vitest/coverage-v8": "^0.34.1", "cross-env": "^7.0.3", - "eslint": "^8.46.0", - "eslint-plugin-unicorn": "^48.0.1", + "dedent": "^1.5.1", + "defu": "^6.1.2", + "del": "^7.0.0", + "lodash-es": "^4.17.21", "only-allow": "^1.1.1", "prettier": "^3.0.1", "rollup": "^3.27.2", - "tailwindcss-mangle-core": "workspace:*", - "tailwindcss-mangle-shared": "workspace:*", "tailwindcss-patch": "workspace:*", "ts-node": "^10.9.1", + "tslib": "^2.6.1", "typescript": "^5.1.6", "unbuild": "^1.2.1", "unplugin-tailwindcss-mangle": "workspace:*", - "vitest": "^0.34.1", - "dedent": "^1.5.1", - "defu": "^6.1.2", - "del": "^7.0.0", - "tslib": "^2.6.1" + "vitest": "^0.34.1" }, "engines": { "node": ">=16.6.0" diff --git a/packages/config/build.config.ts b/packages/config/build.config.ts new file mode 100644 index 0000000..d4d12b1 --- /dev/null +++ b/packages/config/build.config.ts @@ -0,0 +1,3 @@ +import { defineBuildConfig } from 'unbuild' + +export default defineBuildConfig({}) diff --git a/packages/config/package.json b/packages/config/package.json new file mode 100644 index 0000000..6a691c4 --- /dev/null +++ b/packages/config/package.json @@ -0,0 +1,55 @@ +{ + "name": "@tailwindcss-mangle/config", + "version": "1.0.0", + "description": "The config and load function of tailwindcss-mangle", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + } + }, + "typesVersions": { + "*": { + "*": [ + "./dist/*", + "./dist/index.d.ts" + ] + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "unbuild", + "test": "vitest run", + "test:dev": "vitest" + }, + "keywords": [ + "tailwindcss", + "mangle", + "patch", + "core", + "mangle", + "shared", + "utils" + ], + "author": "SonOfMagic ", + "license": "MIT", + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + }, + "dependencies": { + "c12": "^1.4.2", + "dedent": "^1.5.1" + }, + "homepage": "https://github.com/sonofmagic/tailwindcss-mangle", + "repository": { + "type": "git", + "url": "git+https://github.com/sonofmagic/tailwindcss-mangle.git" + } +} \ No newline at end of file diff --git a/packages/config/src/config.ts b/packages/config/src/config.ts new file mode 100644 index 0000000..2a54671 --- /dev/null +++ b/packages/config/src/config.ts @@ -0,0 +1,31 @@ +import path from 'node:path' +import fs from 'node:fs/promises' +import { loadConfig, createDefineConfig } from 'c12' +import dedent from 'dedent' +import type { UserConfig } from './types' +import { getDefaultUserConfig } from './defaults' +import { configName } from './constants' + +export function getConfig(cwd?: string) { + return loadConfig({ + name: configName, + defaults: { + ...getDefaultUserConfig() + }, + cwd + }) +} + +export const defineConfig = createDefineConfig() + +export function initConfig(cwd: string) { + return fs.writeFile( + path.resolve(cwd, `${configName}.config.ts`), + dedent` + import { defineConfig } from 'tailwindcss-patch' + + export default defineConfig({}) + `, + 'utf8' + ) +} diff --git a/packages/config/src/constants.ts b/packages/config/src/constants.ts new file mode 100644 index 0000000..8b9a3f0 --- /dev/null +++ b/packages/config/src/constants.ts @@ -0,0 +1 @@ +export const configName = 'tailwindcss-mangle' diff --git a/packages/config/src/defaults.ts b/packages/config/src/defaults.ts new file mode 100644 index 0000000..5bf262e --- /dev/null +++ b/packages/config/src/defaults.ts @@ -0,0 +1,18 @@ +import type { PatchUserConfig, UserConfig } from './types' + +export function getDefaultPatchConfig(): PatchUserConfig { + return { + output: { + filename: '.tw-patch/tw-class-list.json', + removeUniversalSelector: true, + loose: true + }, + tailwindcss: {} + } +} + +export function getDefaultUserConfig(): UserConfig { + return { + patch: getDefaultPatchConfig() + } +} diff --git a/packages/config/src/index.ts b/packages/config/src/index.ts new file mode 100644 index 0000000..be8193c --- /dev/null +++ b/packages/config/src/index.ts @@ -0,0 +1,4 @@ +export * from './config' +export * from './defaults' +export * from './constants' +export * from './types' diff --git a/packages/config/src/types.ts b/packages/config/src/types.ts new file mode 100644 index 0000000..cfae307 --- /dev/null +++ b/packages/config/src/types.ts @@ -0,0 +1,19 @@ +export interface PatchUserConfig { + output?: { + filename?: string + + loose?: boolean + /** + * @description remove * in output json + */ + removeUniversalSelector?: boolean + } + tailwindcss?: { + cwd?: string + config?: string + } +} + +export interface UserConfig { + patch?: PatchUserConfig +} diff --git a/packages/config/test/__snapshots__/defaults.test.ts.snap b/packages/config/test/__snapshots__/defaults.test.ts.snap new file mode 100644 index 0000000..98eebb6 --- /dev/null +++ b/packages/config/test/__snapshots__/defaults.test.ts.snap @@ -0,0 +1,25 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`defaults > getDefaultPatchConfig 1`] = ` +{ + "output": { + "filename": ".tw-patch/tw-class-list.json", + "loose": true, + "removeUniversalSelector": true, + }, + "tailwindcss": {}, +} +`; + +exports[`defaults > getDefaultUserConfig 1`] = ` +{ + "patch": { + "output": { + "filename": ".tw-patch/tw-class-list.json", + "loose": true, + "removeUniversalSelector": true, + }, + "tailwindcss": {}, + }, +} +`; diff --git a/packages/config/test/defaults.test.ts b/packages/config/test/defaults.test.ts new file mode 100644 index 0000000..5ee38f7 --- /dev/null +++ b/packages/config/test/defaults.test.ts @@ -0,0 +1,16 @@ +import { omit } from 'lodash-es' +import { getDefaultPatchConfig, getDefaultUserConfig } from '@/defaults' + +function omitCwdPath(o: any) { + return omit(o, ['tailwindcss.cwd', 'patch.tailwindcss.cwd']) +} + +describe('defaults', () => { + it('getDefaultPatchConfig', () => { + expect(omitCwdPath(getDefaultPatchConfig())).toMatchSnapshot() + }) + + it('getDefaultUserConfig', () => { + expect(omitCwdPath(getDefaultUserConfig())).toMatchSnapshot() + }) +}) diff --git a/packages/tailwindcss-patch/test/fixtures/config/0.default/tailwindcss-patch.config.ts b/packages/config/test/fixtures/config/0.default/tailwindcss-mangle.config.ts similarity index 100% rename from packages/tailwindcss-patch/test/fixtures/config/0.default/tailwindcss-patch.config.ts rename to packages/config/test/fixtures/config/0.default/tailwindcss-mangle.config.ts diff --git a/packages/config/test/fixtures/config/1.change-options/tailwindcss-mangle.config.ts b/packages/config/test/fixtures/config/1.change-options/tailwindcss-mangle.config.ts new file mode 100644 index 0000000..ac770c0 --- /dev/null +++ b/packages/config/test/fixtures/config/1.change-options/tailwindcss-mangle.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'tailwindcss-patch' + +export default defineConfig({ + patch: { + output: { + filename: 'xxx/yyy/zzz.json', + loose: false, + removeUniversalSelector: false + }, + tailwindcss: { + cwd: 'aaa/bbb/cc' + } + } +}) diff --git a/packages/config/test/index.test.ts b/packages/config/test/index.test.ts new file mode 100644 index 0000000..a96030f --- /dev/null +++ b/packages/config/test/index.test.ts @@ -0,0 +1,40 @@ +import { resolve } from 'node:path' +import { existsSync } from 'node:fs' +import { deleteAsync } from 'del' +import { fixturesRoot } from './utils' +import { initConfig, getConfig } from '@/index' +import { getDefaultUserConfig } from '@/defaults' +import { configName } from '@/constants' + +describe('config', () => { + it('0.default', async () => { + const cwd = resolve(fixturesRoot, './config/0.default') + const configPath = resolve(cwd, `${configName}.config.ts`) + if (existsSync(configPath)) { + await deleteAsync(configPath) + } + + await initConfig(cwd) + expect(existsSync(configPath)).toBe(true) + + const { config } = await getConfig(cwd) + expect(config).toEqual(getDefaultUserConfig()) + }) + + it('1.change-options', async () => { + const cwd = resolve(fixturesRoot, './config/1.change-options') + const { config } = await getConfig(cwd) + expect(config).toEqual({ + patch: { + output: { + filename: 'xxx/yyy/zzz.json', + loose: false, + removeUniversalSelector: false + }, + tailwindcss: { + cwd: 'aaa/bbb/cc' + } + } + }) + }) +}) diff --git a/packages/config/test/utils.ts b/packages/config/test/utils.ts new file mode 100644 index 0000000..e9d876d --- /dev/null +++ b/packages/config/test/utils.ts @@ -0,0 +1,3 @@ +import path from 'node:path' + +export const fixturesRoot = path.resolve(__dirname, './fixtures') diff --git a/packages/config/tsconfig.json b/packages/config/tsconfig.json new file mode 100644 index 0000000..d6c27be --- /dev/null +++ b/packages/config/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": [ + "src/*" + ] + } + }, + "include": [ + "src", + "test" + ] +} \ No newline at end of file diff --git a/packages/config/vitest.config.ts b/packages/config/vitest.config.ts new file mode 100644 index 0000000..a688df6 --- /dev/null +++ b/packages/config/vitest.config.ts @@ -0,0 +1,15 @@ +import path from 'node:path' +import { defineProject } from 'vitest/config' + +export default defineProject({ + test: { + alias: [ + { + find: '@', + replacement: path.resolve(__dirname, './src') + } + ], + globals: true, + testTimeout: 60_000 + } +}) diff --git a/packages/core/README.md b/packages/core/README.md index 507c296..806cd3e 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -1,4 +1,4 @@ -# tailwindcss-mangle-core +# @tailwindcss-mangle/core The core of tailwindcss-mangle diff --git a/packages/core/package.json b/packages/core/package.json index d4768a7..e202e95 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,5 +1,5 @@ { - "name": "tailwindcss-mangle-core", + "name": "@tailwindcss-mangle/core", "version": "1.2.7", "description": "The core of tailwindcss-mangle", "exports": { @@ -42,12 +42,12 @@ "registry": "https://registry.npmjs.org/" }, "dependencies": { - "@babel/core": "^7.22.9", - "@babel/types": "^7.22.5", + "@babel/core": "^7.22.10", + "@babel/types": "^7.22.10", "parse5": "^7.1.2", "postcss": "^8.4.27", "postcss-selector-parser": "^6.0.13", - "tailwindcss-mangle-shared": "workspace:^" + "@tailwindcss-mangle/shared": "workspace:^" }, "devDependencies": { "@parse5/tools": "^0.2.0", diff --git a/packages/core/src/css/index.ts b/packages/core/src/css/index.ts index 6b6d62e..f7fc189 100644 --- a/packages/core/src/css/index.ts +++ b/packages/core/src/css/index.ts @@ -1,6 +1,6 @@ import postcss from 'postcss' -import { postcssMangleTailwindcssPlugin } from './plugins' import { ICssHandlerOptions } from '../types' +import { postcssMangleTailwindcssPlugin } from './plugins' export function cssHandler(rawSource: string, options: ICssHandlerOptions) { const acceptedPlugins = [postcssMangleTailwindcssPlugin(options)] diff --git a/packages/core/src/css/plugins.ts b/packages/core/src/css/plugins.ts index 2952f45..1242389 100644 --- a/packages/core/src/css/plugins.ts +++ b/packages/core/src/css/plugins.ts @@ -1,7 +1,7 @@ -import { IClassGeneratorContextItem, ICssHandlerOptions } from '@/types' import type { PluginCreator } from 'postcss' import defu from 'defu' import parser from 'postcss-selector-parser' +import { IClassGeneratorContextItem, ICssHandlerOptions } from '@/types' export type PostcssMangleTailwindcssPlugin = PluginCreator const postcssPlugin = 'postcss-mangle-tailwindcss-plugin' @@ -32,7 +32,7 @@ const postcssMangleTailwindcssPlugin: PostcssMangleTailwindcssPlugin = (options) } return { postcssPlugin, - Rule(rule, helper) { + Rule(rule) { rule.selector = parser((selectors) => { selectors.walkClasses((s) => { if (s.value) { @@ -58,7 +58,7 @@ const postcssMangleTailwindcssPlugin: PostcssMangleTailwindcssPlugin = (options) return { postcssPlugin, - Rule(rule, helper) { + Rule(rule) { rule.selector = parser((selectors) => { selectors.walkClasses((s) => { if (s.value) { diff --git a/packages/core/src/html/index.ts b/packages/core/src/html/index.ts index 98eceec..519ef03 100644 --- a/packages/core/src/html/index.ts +++ b/packages/core/src/html/index.ts @@ -7,7 +7,7 @@ export function htmlHandler(rawSource: string, options: IHtmlHandlerOptions) { const { runtimeSet, classGenerator } = options const fragment = parse(rawSource) traverse(fragment, { - element(node, parent) { + element(node) { const attribute = node.attrs.find((x) => x.name === 'class') if (attribute) { const array = splitCode(attribute.value, { diff --git a/packages/core/src/shared.ts b/packages/core/src/shared.ts index 6441bec..0619437 100644 --- a/packages/core/src/shared.ts +++ b/packages/core/src/shared.ts @@ -1 +1 @@ -export * from 'tailwindcss-mangle-shared' +export * from '@tailwindcss-mangle/shared' diff --git a/packages/core/test/css.test.ts b/packages/core/test/css.test.ts index 7328b53..2439261 100644 --- a/packages/core/test/css.test.ts +++ b/packages/core/test/css.test.ts @@ -1,6 +1,6 @@ +import { getTestCase } from './utils' import { cssHandler } from '@/css' import { ClassGenerator } from '@/shared' -import { getTestCase } from './utils' describe('css', () => { let classGenerator: ClassGenerator beforeEach(() => { diff --git a/packages/core/test/html.test.ts b/packages/core/test/html.test.ts index c9264fe..5a38fe2 100644 --- a/packages/core/test/html.test.ts +++ b/packages/core/test/html.test.ts @@ -1,7 +1,7 @@ +import { ClassGenerator, splitCode } from '@tailwindcss-mangle/shared' import { getTestCase } from './utils' import { htmlHandler } from '@/html' -import { ClassGenerator, splitCode } from 'tailwindcss-mangle-shared' -import { describe, it, beforeEach, expect } from 'vitest' + describe('html handler', () => { let classGenerator: ClassGenerator beforeEach(() => { diff --git a/packages/core/test/js.test.ts b/packages/core/test/js.test.ts index eefc1c7..e4b60f0 100644 --- a/packages/core/test/js.test.ts +++ b/packages/core/test/js.test.ts @@ -1,5 +1,5 @@ -import { jsHandler } from '@/js' import { getCss, getTestCase } from './utils' +import { jsHandler } from '@/js' import { ClassGenerator } from '@/shared' describe('js handler', () => { diff --git a/packages/core/test/utils/index.ts b/packages/core/test/utils/index.ts index 84988bd..f002ec4 100644 --- a/packages/core/test/utils/index.ts +++ b/packages/core/test/utils/index.ts @@ -1,10 +1,10 @@ +import fs from 'node:fs' +import path from 'node:path' import postcss from 'postcss' import tailwindcss from 'tailwindcss' -import fs from 'fs' -import path from 'path' export function getTestCase(caseName: string) { - return fs.readFileSync(path.resolve(__dirname, '../fixtures', caseName), 'utf-8') + return fs.readFileSync(path.resolve(__dirname, '../fixtures', caseName), 'utf8') } // @tailwind base; // @tailwind components; diff --git a/packages/shared/README.md b/packages/shared/README.md index 0609bba..0ddf5ea 100644 --- a/packages/shared/README.md +++ b/packages/shared/README.md @@ -1,11 +1,11 @@ -# tailwindcss-mangle-shared +# @tailwindcss-mangle/shared The shared utils of tailwindcss-mangle ## Install ```bash - i tailwindcss-mangle-shared + i @tailwindcss-mangle/shared ``` ## Usage diff --git a/packages/shared/package.json b/packages/shared/package.json index 50e526b..6280207 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,5 +1,5 @@ { - "name": "tailwindcss-mangle-shared", + "name": "@tailwindcss-mangle/shared", "version": "1.2.7", "description": "The shared utils of tailwindcss-mangle", "exports": { diff --git a/packages/tailwindcss-patch/package.json b/packages/tailwindcss-patch/package.json index 69fd8c3..4c282e9 100644 --- a/packages/tailwindcss-patch/package.json +++ b/packages/tailwindcss-patch/package.json @@ -1,6 +1,6 @@ { "name": "tailwindcss-patch", - "version": "2.0.1", + "version": "2.0.2", "description": "patch tailwindcss for exposing context and extract classes", "exports": { ".": { @@ -63,12 +63,13 @@ "tailwindcss": "^3.3.3" }, "dependencies": { - "@babel/generator": "^7.22.9", - "@babel/parser": "^7.22.7", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "c12": "^1.4.2", + "@babel/generator": "^7.22.10", + "@babel/parser": "^7.22.10", + "@babel/traverse": "^7.22.10", + "@babel/types": "^7.22.10", + "@tailwindcss-mangle/config": "workspace:^", "cac": "^6.7.14", + "lilconfig": "^2.1.0", "postcss": "^8.4.27", "resolve": "^1.22.4", "semver": "^7.5.4" diff --git a/packages/tailwindcss-patch/src/cli.ts b/packages/tailwindcss-patch/src/cli.ts index 8b071d5..8013e73 100644 --- a/packages/tailwindcss-patch/src/cli.ts +++ b/packages/tailwindcss-patch/src/cli.ts @@ -1,5 +1,5 @@ -import { createPatch, getPatchOptions, TailwindcssPatcher, getConfig, initConfig } from './core' import cac from 'cac' +import { createPatch, getPatchOptions, TailwindcssPatcher, getConfig, initConfig, configName } from './core' function init() { const cwd = process.cwd() @@ -16,14 +16,14 @@ cli.command('install', 'patch install').action(() => { cli.command('init').action(async () => { await init() - console.log('✨ tailwindcss-patch config initialized!') + console.log(`✨ ${configName}.config.ts initialized!`) }) cli.command('extract').action(async () => { const { config } = await getConfig() if (config) { const twPatcher = new TailwindcssPatcher() - const p = await twPatcher.extract(config) + const p = await twPatcher.extract(config.patch) console.log('✨ tailwindcss-patch extract success! file path:\n' + p) } }) diff --git a/packages/tailwindcss-patch/src/core/config.ts b/packages/tailwindcss-patch/src/core/config.ts index c877fc9..8cba16c 100644 --- a/packages/tailwindcss-patch/src/core/config.ts +++ b/packages/tailwindcss-patch/src/core/config.ts @@ -1,30 +1 @@ -import { loadConfig, createDefineConfig } from 'c12' -import { UserConfig } from '@/types' -import { getDefaultUserConfig } from '@/defaults' -import dedent from 'dedent' -import path from 'node:path' -import fs from 'node:fs/promises' - -export function getConfig(cwd?: string) { - return loadConfig({ - name: 'tailwindcss-patch', - defaults: { - ...getDefaultUserConfig() - }, - cwd - }) -} - -export const defineConfig = createDefineConfig() - -export function initConfig(cwd: string) { - return fs.writeFile( - path.resolve(cwd, 'tailwindcss-patch.config.ts'), - dedent` - import { defineConfig } from 'tailwindcss-patch' - - export default defineConfig({}) - `, - 'utf8' - ) -} +export * from '@tailwindcss-mangle/config' diff --git a/packages/tailwindcss-patch/src/core/postcss.ts b/packages/tailwindcss-patch/src/core/postcss.ts index 4c4998e..3989899 100644 --- a/packages/tailwindcss-patch/src/core/postcss.ts +++ b/packages/tailwindcss-patch/src/core/postcss.ts @@ -1,16 +1,37 @@ -import postcss from 'postcss' import path from 'node:path' +import postcss from 'postcss' +import { lilconfig } from 'lilconfig' + +// const importDefault = async (filepath: string) => { +// const module = await import(url.pathToFileURL(filepath).href) +// return module.default +// } export async function processTailwindcss(options: { cwd?: string; config?: string }) { options.cwd = options.cwd ?? process.cwd() - const config = options.config && path.isAbsolute(options.config) ? options.config : path.resolve(options.cwd, 'tailwind.config.js') + let config = options.config + // 没有具体指定的话,就走下面的分支 + if (!(typeof options.config === 'string' && path.isAbsolute(options.config))) { + const moduleName = 'tailwind' + const result = await lilconfig('tailwindcss', { + searchPlaces: [`${moduleName}.config.js`, `${moduleName}.config.cjs`], + loaders: { + // 默认支持 js 和 cjs 2种格式 + '.js': require, + '.cjs': require + } + }).search(options.cwd) + if (!result) { + throw new Error(`No TailwindCSS Config found in: ${options.cwd}`) + } + config = result.filepath + } - const res = await postcss([ + return await postcss([ require('tailwindcss')({ config }) ]).process('@tailwind base;@tailwind components;@tailwind utilities;', { from: undefined }) - return res } diff --git a/packages/tailwindcss-patch/src/core/runtime-patcher.ts b/packages/tailwindcss-patch/src/core/runtime-patcher.ts index 8073ec9..52295f9 100644 --- a/packages/tailwindcss-patch/src/core/runtime-patcher.ts +++ b/packages/tailwindcss-patch/src/core/runtime-patcher.ts @@ -1,10 +1,10 @@ import path from 'node:path' import fs from 'node:fs' import { gte } from 'semver' -import { inspectPostcssPlugin, inspectProcessTailwindFeaturesReturnContext } from './inspector' -import type { PatchOptions, InternalPatchOptions } from '@/types' import type { PackageJson } from 'pkg-types' import { defu } from 'defu' +import { inspectPostcssPlugin, inspectProcessTailwindFeaturesReturnContext } from './inspector' +import type { PatchOptions, InternalPatchOptions } from '@/types' import { getDefaultPatchOptions } from '@/defaults' import { ensureFileContent, requireResolve } from '@/utils' diff --git a/packages/tailwindcss-patch/src/core/tw-patcher.ts b/packages/tailwindcss-patch/src/core/tw-patcher.ts index 43a3f2f..95e9b81 100644 --- a/packages/tailwindcss-patch/src/core/tw-patcher.ts +++ b/packages/tailwindcss-patch/src/core/tw-patcher.ts @@ -1,11 +1,12 @@ +import fs from 'node:fs/promises' +import { dirname } from 'node:path' import { getClassCacheSet, getContexts, getTailwindcssEntry } from './exposeContext' -import type { InternalCacheOptions, InternalPatchOptions, TailwindcssPatcherOptions, CacheStrategy, UserConfig } from '@/types' import { CacheManager, getCacheOptions } from './cache' import { createPatch, getPatchOptions } from './runtime-patcher' -import fs from 'node:fs/promises' -import { ensureDir } from '@/utils' -import { dirname } from 'node:path' +import { UserConfig } from './config' import { processTailwindcss } from './postcss' +import { ensureDir } from '@/utils' +import type { InternalCacheOptions, InternalPatchOptions, TailwindcssPatcherOptions, CacheStrategy } from '@/types' export class TailwindcssPatcher { public rawOptions: TailwindcssPatcherOptions public cacheOptions: InternalCacheOptions @@ -66,8 +67,8 @@ export class TailwindcssPatcher { return getContexts(basedir) } - async extract(options: UserConfig) { - const { output, tailwindcss } = options + async extract(options: UserConfig['patch']) { + const { output, tailwindcss } = options ?? {} if (output && tailwindcss) { const { removeUniversalSelector, filename, loose } = output diff --git a/packages/tailwindcss-patch/src/defaults.ts b/packages/tailwindcss-patch/src/defaults.ts index 8669341..e1b8927 100644 --- a/packages/tailwindcss-patch/src/defaults.ts +++ b/packages/tailwindcss-patch/src/defaults.ts @@ -1,20 +1,7 @@ -import type { PatchOptions, UserConfig, DeepRequired } from './types' +import type { PatchOptions, DeepRequired } from './types' export function getDefaultPatchOptions(): DeepRequired { return { overwrite: true } } - -export function getDefaultUserConfig(): UserConfig { - return { - output: { - filename: '.tw-patch/tw-class-list.json', - removeUniversalSelector: true, - loose: true - }, - tailwindcss: { - cwd: process.cwd() - } - } -} diff --git a/packages/tailwindcss-patch/src/types.ts b/packages/tailwindcss-patch/src/types.ts index 04d9931..dbef4fb 100644 --- a/packages/tailwindcss-patch/src/types.ts +++ b/packages/tailwindcss-patch/src/types.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/ban-types */ import type { Rule, Node } from 'postcss' import type { Config } from 'tailwindcss' export type CacheStrategy = 'merge' | 'overwrite' @@ -47,7 +48,7 @@ export type TailwindcssClassCache = Map< export type TailwindcssRuntimeContext = { applyClassCache: Map candidateRuleCache: Map< - string | String, + string | string, Set< [ { @@ -63,7 +64,7 @@ export type TailwindcssRuntimeContext = { ] > > - candidateRuleMap: Map + candidateRuleMap: Map changedContent: any[] classCache: TailwindcssClassCache disposables: any[] @@ -72,7 +73,7 @@ export type TailwindcssRuntimeContext = { getVariants: Function markInvalidUtilityCandidate: Function markInvalidUtilityNode: Function - notClassCache: Set + notClassCache: Set offsets: { layerPositions: object offsets: object @@ -88,21 +89,6 @@ export type TailwindcssRuntimeContext = { variantOptions: Map } -export interface UserConfig { - output?: { - filename?: string - - loose?: boolean - /** - * @description remove * in output json - */ - removeUniversalSelector?: boolean - } - tailwindcss?: { - cwd?: string - config?: string - } -} // Custom utility type: export type DeepRequired = { [K in keyof T]: Required> diff --git a/packages/tailwindcss-patch/test/__snapshots__/defaults.test.ts.snap b/packages/tailwindcss-patch/test/__snapshots__/defaults.test.ts.snap index b068b99..84cedc5 100644 --- a/packages/tailwindcss-patch/test/__snapshots__/defaults.test.ts.snap +++ b/packages/tailwindcss-patch/test/__snapshots__/defaults.test.ts.snap @@ -5,11 +5,3 @@ exports[`defaults > getDefaultPatchOptions 1`] = ` "overwrite": true, } `; - -exports[`defaults > getDefaultUserConfig 1`] = ` -{ - "filename": ".tw-patch/tw-class-list.json", - "loose": true, - "removeUniversalSelector": true, -} -`; diff --git a/packages/tailwindcss-patch/test/cache.test.ts b/packages/tailwindcss-patch/test/cache.test.ts index d187915..3119000 100644 --- a/packages/tailwindcss-patch/test/cache.test.ts +++ b/packages/tailwindcss-patch/test/cache.test.ts @@ -1,8 +1,8 @@ import path from 'node:path' -import { pkgName } from '../src/constants' import fs from 'node:fs' -import { TailwindcssPatcher, CacheManager } from '@/core' import { getCss } from './utils' +import { pkgName } from '@/constants' +import { TailwindcssPatcher, CacheManager } from '@/core' describe('cache', () => { let cm: CacheManager diff --git a/packages/tailwindcss-patch/test/config.test.ts b/packages/tailwindcss-patch/test/config.test.ts index a19c58b..408f17e 100644 --- a/packages/tailwindcss-patch/test/config.test.ts +++ b/packages/tailwindcss-patch/test/config.test.ts @@ -1,14 +1,13 @@ -import { initConfig, getConfig } from '@/core/config' -import { fixturesRoot } from './utils' import { resolve } from 'node:path' import { existsSync } from 'node:fs' import { deleteAsync } from 'del' -import { getDefaultUserConfig } from '@/defaults' +import { fixturesRoot } from './utils' +import { initConfig, getConfig, getDefaultUserConfig } from '@/core/config' describe('config', () => { it('0.default', async () => { const cwd = resolve(fixturesRoot, './config/0.default') - const configPath = resolve(cwd, 'tailwindcss-patch.config.ts') + const configPath = resolve(cwd, 'tailwindcss-mangle.config.ts') if (existsSync(configPath)) { await deleteAsync(configPath) } @@ -24,13 +23,15 @@ describe('config', () => { const cwd = resolve(fixturesRoot, './config/1.change-options') const { config } = await getConfig(cwd) expect(config).toEqual({ - output: { - filename: 'xxx/yyy/zzz.json', - loose: false, - removeUniversalSelector: false - }, - tailwindcss: { - cwd: 'aaa/bbb/cc' + patch: { + output: { + filename: 'xxx/yyy/zzz.json', + loose: false, + removeUniversalSelector: false + }, + tailwindcss: { + cwd: 'aaa/bbb/cc' + } } }) }) diff --git a/packages/tailwindcss-patch/test/context.test.ts b/packages/tailwindcss-patch/test/context.test.ts index cf0c4ee..a15ea58 100644 --- a/packages/tailwindcss-patch/test/context.test.ts +++ b/packages/tailwindcss-patch/test/context.test.ts @@ -1,5 +1,5 @@ -import { getContexts, getClassCacheSet } from '@/core' import { getCss, getTestCase } from './utils' +import { getContexts, getClassCacheSet } from '@/core' describe('common usage', () => { it('hello-world', async () => { const result = await getCss(getTestCase('hello-world.html')) diff --git a/packages/tailwindcss-patch/test/defaults.test.ts b/packages/tailwindcss-patch/test/defaults.test.ts index 86e7762..dcd116f 100644 --- a/packages/tailwindcss-patch/test/defaults.test.ts +++ b/packages/tailwindcss-patch/test/defaults.test.ts @@ -1,11 +1,7 @@ -import { getDefaultPatchOptions, getDefaultUserConfig } from '@/defaults' +import { getDefaultPatchOptions } from '@/defaults' describe('defaults', () => { it('getDefaultPatchOptions', () => { expect(getDefaultPatchOptions()).toMatchSnapshot() }) - - it('getDefaultUserConfig', () => { - expect(getDefaultUserConfig().output).toMatchSnapshot() - }) }) diff --git a/packages/tailwindcss-patch/test/fixtures/apps/0.common/tailwindcss-mangle.config.ts b/packages/tailwindcss-patch/test/fixtures/apps/0.common/tailwindcss-mangle.config.ts new file mode 100644 index 0000000..b75a8fe --- /dev/null +++ b/packages/tailwindcss-patch/test/fixtures/apps/0.common/tailwindcss-mangle.config.ts @@ -0,0 +1,3 @@ +import { defineConfig } from 'tailwindcss-patch' + +export default defineConfig({}) \ No newline at end of file diff --git a/packages/tailwindcss-patch/test/fixtures/apps/1.default/tailwindcss-mangle.config.ts b/packages/tailwindcss-patch/test/fixtures/apps/1.default/tailwindcss-mangle.config.ts new file mode 100644 index 0000000..b75a8fe --- /dev/null +++ b/packages/tailwindcss-patch/test/fixtures/apps/1.default/tailwindcss-mangle.config.ts @@ -0,0 +1,3 @@ +import { defineConfig } from 'tailwindcss-patch' + +export default defineConfig({}) \ No newline at end of file diff --git a/packages/tailwindcss-patch/test/fixtures/config/0.default/tailwindcss-mangle.config.ts b/packages/tailwindcss-patch/test/fixtures/config/0.default/tailwindcss-mangle.config.ts new file mode 100644 index 0000000..b75a8fe --- /dev/null +++ b/packages/tailwindcss-patch/test/fixtures/config/0.default/tailwindcss-mangle.config.ts @@ -0,0 +1,3 @@ +import { defineConfig } from 'tailwindcss-patch' + +export default defineConfig({}) \ No newline at end of file diff --git a/packages/tailwindcss-patch/test/fixtures/config/1.change-options/tailwindcss-mangle.config.ts b/packages/tailwindcss-patch/test/fixtures/config/1.change-options/tailwindcss-mangle.config.ts new file mode 100644 index 0000000..5157756 --- /dev/null +++ b/packages/tailwindcss-patch/test/fixtures/config/1.change-options/tailwindcss-mangle.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'tailwindcss-patch' + +export default defineConfig({ + patch: { + output: { + filename: 'xxx/yyy/zzz.json', + loose: false, + removeUniversalSelector: false + }, + tailwindcss: { + cwd: 'aaa/bbb/cc' + } + } +}) \ No newline at end of file diff --git a/packages/tailwindcss-patch/test/index.test.ts b/packages/tailwindcss-patch/test/index.test.ts index c00fee4..4627926 100644 --- a/packages/tailwindcss-patch/test/index.test.ts +++ b/packages/tailwindcss-patch/test/index.test.ts @@ -1,6 +1,6 @@ +import path from 'node:path' import { internalPatch } from '@/core' -import path from 'node:path' const tailwindcssCasePath = path.resolve(__dirname, 'fixtures') const versionsPkgDir = path.resolve(tailwindcssCasePath, 'versions/package.json') diff --git a/packages/tailwindcss-patch/test/postcss.test.ts b/packages/tailwindcss-patch/test/postcss.test.ts index 5763af4..90a7e15 100644 --- a/packages/tailwindcss-patch/test/postcss.test.ts +++ b/packages/tailwindcss-patch/test/postcss.test.ts @@ -1,7 +1,8 @@ -import { processTailwindcss } from '@/core/postcss' import path from 'node:path' -import { TailwindcssPatcher } from '@/core' -const appRoot = path.resolve(__dirname, './fixtures/apps') +import { appRoot } from './utils' +import { processTailwindcss } from '@/core/postcss' +import { TailwindcssPatcher } from '@/core/tw-patcher' + describe('postcss', () => { it('getCss 0.common', async () => { const p = path.resolve(appRoot, '0.common') diff --git a/packages/tailwindcss-patch/test/runtime-patcher.test.ts b/packages/tailwindcss-patch/test/runtime-patcher.test.ts index ae0d978..faadfba 100644 --- a/packages/tailwindcss-patch/test/runtime-patcher.test.ts +++ b/packages/tailwindcss-patch/test/runtime-patcher.test.ts @@ -1,5 +1,5 @@ -import { getInstalledPkgJsonPath } from '@/core' import path from 'node:path' +import { getInstalledPkgJsonPath } from '@/core' describe('patcher', () => { it('getInstalledPkgJsonPath common options', () => { diff --git a/packages/tailwindcss-patch/test/tw-patcher.test.ts b/packages/tailwindcss-patch/test/tw-patcher.test.ts index 786e7e9..6838585 100644 --- a/packages/tailwindcss-patch/test/tw-patcher.test.ts +++ b/packages/tailwindcss-patch/test/tw-patcher.test.ts @@ -1,6 +1,6 @@ -import { TailwindcssPatcher } from '@/core' import path from 'node:path' import { getCss, getTestCase } from './utils' +import { TailwindcssPatcher } from '@/core' describe('class', () => { it('default', async () => { // const dir = path.resolve(__dirname, './fixtures/cache') diff --git a/packages/tailwindcss-patch/test/utils.test.ts b/packages/tailwindcss-patch/test/utils.test.ts index e4c534e..4237b4f 100644 --- a/packages/tailwindcss-patch/test/utils.test.ts +++ b/packages/tailwindcss-patch/test/utils.test.ts @@ -1,8 +1,8 @@ -import { ensureDir } from '@/utils' import { existsSync, statSync } from 'node:fs' import path from 'node:path' -import { fixturesRoot } from './utils' import { deleteAsync } from 'del' +import { fixturesRoot } from './utils' +import { ensureDir } from '@/utils' describe('utils', () => { it('ensureDir', async () => { diff --git a/packages/tailwindcss-patch/test/utils.ts b/packages/tailwindcss-patch/test/utils.ts index 8771844..07e45d4 100644 --- a/packages/tailwindcss-patch/test/utils.ts +++ b/packages/tailwindcss-patch/test/utils.ts @@ -1,10 +1,12 @@ -import postcss from 'postcss' -import tailwindcss from 'tailwindcss' import fs from 'node:fs' import path from 'node:path' +import postcss from 'postcss' +import tailwindcss from 'tailwindcss' export const fixturesRoot = path.resolve(__dirname, './fixtures') +export const appRoot = path.resolve(fixturesRoot, './apps') + export function getTestCase(caseName: string) { return fs.readFileSync(path.resolve(__dirname, 'fixtures', caseName), 'utf8') } diff --git a/packages/tailwindcss-patch/vitest.setup.ts b/packages/tailwindcss-patch/vitest.setup.ts index 8458bc2..4b03bbc 100644 --- a/packages/tailwindcss-patch/vitest.setup.ts +++ b/packages/tailwindcss-patch/vitest.setup.ts @@ -1,5 +1,4 @@ // import 'tailwindcss-patch/cli' -import { createPatch, getPatchOptions } from './dist' -const opt = getPatchOptions() -const patch = createPatch(opt) -patch() +import { TailwindcssPatcher } from './dist' +const twPatcher = new TailwindcssPatcher() +twPatcher.patch() diff --git a/packages/unplugin-tailwindcss-mangle/build.config.ts b/packages/unplugin-tailwindcss-mangle/build.config.ts index c3d666c..2729cec 100644 --- a/packages/unplugin-tailwindcss-mangle/build.config.ts +++ b/packages/unplugin-tailwindcss-mangle/build.config.ts @@ -1,4 +1,5 @@ import { defineBuildConfig } from 'unbuild' +import path from 'node:path' export default defineBuildConfig({ // entries: ['./src/index', './src/cli'], @@ -11,5 +12,8 @@ export default defineBuildConfig({ respectExternal: false } }, + alias: { + '@': path.resolve(__dirname, './src') + }, declaration: true }) diff --git a/packages/unplugin-tailwindcss-mangle/package.json b/packages/unplugin-tailwindcss-mangle/package.json index 7afd1ac..1410abc 100644 --- a/packages/unplugin-tailwindcss-mangle/package.json +++ b/packages/unplugin-tailwindcss-mangle/package.json @@ -36,11 +36,6 @@ "require": "./dist/nuxt.cjs", "import": "./dist/nuxt.mjs" }, - "./twm-css": { - "types": "./dist/twm-css.d.ts", - "require": "./dist/twm-css.cjs", - "import": "./dist/twm-css.mjs" - }, "./*": "./*" }, "typesVersions": { @@ -54,8 +49,7 @@ "scripts": { "build": "unbuild", "test": "vitest run", - "test:dev": "vitest", - "patch": "tw-patch install" + "test:dev": "vitest" }, "files": [ "dist" @@ -72,9 +66,8 @@ "license": "MIT", "dependencies": { "micromatch": "^4.0.5", - "tailwindcss-mangle-core": "workspace:^", - "tailwindcss-mangle-shared": "workspace:^", - "tailwindcss-patch": "workspace:^", + "@tailwindcss-mangle/core": "workspace:^", + "@tailwindcss-mangle/shared": "workspace:^", "unplugin": "^1.4.0" }, "publishConfig": { @@ -91,7 +84,8 @@ "tailwindcss": "^3.3.3", "vite": "^4.4.9", "webpack": "^5.88.2", - "webpack-build-utils": "^0.0.4" + "webpack-build-utils": "^0.0.4", + "tailwindcss-patch": "workspace:^" }, "homepage": "https://github.com/sonofmagic/tailwindcss-mangle", "repository": { diff --git a/packages/unplugin-tailwindcss-mangle/src/core/index.ts b/packages/unplugin-tailwindcss-mangle/src/core/index.ts new file mode 100644 index 0000000..5ca6fde --- /dev/null +++ b/packages/unplugin-tailwindcss-mangle/src/core/index.ts @@ -0,0 +1,2 @@ +export * from './plugin' +export * from './options' diff --git a/packages/unplugin-tailwindcss-mangle/src/options.ts b/packages/unplugin-tailwindcss-mangle/src/core/options.ts similarity index 50% rename from packages/unplugin-tailwindcss-mangle/src/options.ts rename to packages/unplugin-tailwindcss-mangle/src/core/options.ts index 82304e3..4a92d70 100644 --- a/packages/unplugin-tailwindcss-mangle/src/options.ts +++ b/packages/unplugin-tailwindcss-mangle/src/core/options.ts @@ -1,9 +1,8 @@ -import type { Options, ClassSetOutputOptions, ClassMapOutputOptions } from './types' -import { TailwindcssPatcher } from 'tailwindcss-patch' -import { ClassGenerator } from 'tailwindcss-mangle-core' -import type { IHtmlHandlerOptions, IJsHandlerOptions, ICssHandlerOptions } from 'tailwindcss-mangle-core' -import { createGlobMatcher, defaultMangleClassFilter, cacheDump } from './utils' - +import type { Options, ClassMapOutputOptions } from '@/types' +import { ClassGenerator } from '@tailwindcss-mangle/core' +import type { IHtmlHandlerOptions, IJsHandlerOptions, ICssHandlerOptions } from '@tailwindcss-mangle/core' +import { createGlobMatcher, defaultMangleClassFilter } from '@/utils' +import fs from 'node:fs' export function getOptions(options: Options | undefined = {}) { const includeMatcher = createGlobMatcher(options.include, true) const excludeMatcher = createGlobMatcher(options.exclude, false) @@ -12,20 +11,21 @@ export function getOptions(options: Options | undefined = {}) { return includeMatcher(file) && !excludeMatcher(file) } - let classSet: Set - const twPatcher = new TailwindcssPatcher() - const classSetOutputOptions: ClassSetOutputOptions = { - filename: 'classSet.json', - type: 'partial' + const classSet: Set = new Set() + if (options.classListPath) { + const rawClassList = fs.readFileSync(options.classListPath, 'utf8') + const classList = JSON.parse(rawClassList) as string[] + for (const className of classList) { + if (currentMangleClassFilter(className)) { + classSet.add(className) + } + } } const classMapOutputOptions: ClassMapOutputOptions = { filename: 'classMap.json' } - if (typeof options.classSetOutput === 'object') { - Object.assign(classSetOutputOptions, options.classSetOutput) - } if (typeof options.classMapOutput === 'object') { Object.assign(classMapOutputOptions, options.classMapOutput) } @@ -33,22 +33,6 @@ export function getOptions(options: Options | undefined = {}) { // let cached: boolean const classGenerator = new ClassGenerator(options.classGenerator) function getCachedClassSet() { - const set = twPatcher.getClassSet() - const isOutput = set.size > 0 && options.classSetOutput - if (isOutput && classSetOutputOptions.type === 'all') { - cacheDump(classSetOutputOptions.filename, set, classSetOutputOptions.dir) - } - for (const c of set) { - if (!currentMangleClassFilter(c)) { - set.delete(c) - } - } - if (isOutput && classSetOutputOptions.type === 'partial') { - cacheDump(classSetOutputOptions.filename, set, classSetOutputOptions.dir) - } - - classSet = set - return classSet } @@ -58,9 +42,7 @@ export function getOptions(options: Options | undefined = {}) { includeMatcher, excludeMatcher, isInclude, - classSetOutputOptions, classMapOutputOptions, - twPatcher, jsHandlerOptions: (options.jsHandlerOptions ?? {}), htmlHandlerOptions: (options.htmlHandlerOptions ?? {}), cssHandlerOptions: (options.cssHandlerOptions ?? {}) diff --git a/packages/unplugin-tailwindcss-mangle/src/core/plugin.ts b/packages/unplugin-tailwindcss-mangle/src/core/plugin.ts new file mode 100644 index 0000000..670815f --- /dev/null +++ b/packages/unplugin-tailwindcss-mangle/src/core/plugin.ts @@ -0,0 +1,150 @@ +import { createUnplugin } from 'unplugin' +import type { OutputAsset, OutputChunk } from 'rollup' +import { cssHandler, htmlHandler, jsHandler } from '@tailwindcss-mangle/core' +import { getOptions } from './options' +import type { Options } from '@/types' +import { pluginName } from '@/constants' +import { getGroupedEntries, cacheDump } from '@/utils' + +export { defaultMangleClassFilter } from '@tailwindcss-mangle/shared' + +export const unplugin = createUnplugin((options: Options | undefined = {}) => { + const { classGenerator, getCachedClassSet, isInclude, classMapOutputOptions, htmlHandlerOptions, jsHandlerOptions, cssHandlerOptions } = getOptions(options) + + return { + name: pluginName, + enforce: 'post', + vite: { + generateBundle: { + handler(options, bundle) { + const runtimeSet = getCachedClassSet() + if (runtimeSet.size === 0) { + return + } + const groupedEntries = getGroupedEntries(Object.entries(bundle)) + + if (Array.isArray(groupedEntries.html) && groupedEntries.html.length > 0) { + for (let i = 0; i < groupedEntries.html.length; i++) { + const [file, asset] = groupedEntries.html[i] as [string, OutputAsset] + if (isInclude(file)) { + asset.source = htmlHandler(asset.source.toString(), { + ...htmlHandlerOptions, + classGenerator, + runtimeSet + }) + } + } + } + if (Array.isArray(groupedEntries.js) && groupedEntries.js.length > 0) { + for (let i = 0; i < groupedEntries.js.length; i++) { + const [file, chunk] = groupedEntries.js[i] as [string, OutputChunk] + if (isInclude(file)) { + const code = jsHandler(chunk.code, { + ...jsHandlerOptions, + runtimeSet, + classGenerator + }).code + if (code) { + chunk.code = code + } + } + } + } + + if (Array.isArray(groupedEntries.css) && groupedEntries.css.length > 0) { + for (let i = 0; i < groupedEntries.css.length; i++) { + const [file, css] = groupedEntries.css[i] as [string, OutputAsset] + if (isInclude(file)) { + css.source = cssHandler(css.source.toString(), { + ...cssHandlerOptions, + classGenerator, + runtimeSet + }) + } + } + } + } + } + }, + webpack(compiler) { + const { Compilation, sources } = compiler.webpack + const { ConcatSource } = sources + + compiler.hooks.compilation.tap(pluginName, (compilation) => { + compilation.hooks.processAssets.tap( + { + name: pluginName, + stage: Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE + }, + (assets) => { + // nextjs webpack build multiple times + // server -> manifest -> client + + const runtimeSet = getCachedClassSet() + const groupedEntries = getGroupedEntries(Object.entries(assets)) + // cache result + + if (groupedEntries.html.length > 0) { + for (let i = 0; i < groupedEntries.html.length; i++) { + const [file, asset] = groupedEntries.html[i] + if (isInclude(file)) { + const html = htmlHandler(asset.source().toString(), { + ...htmlHandlerOptions, + classGenerator, + runtimeSet + }) + const source = new ConcatSource(html) + compilation.updateAsset(file, source) + } + } + } + + if (groupedEntries.js.length > 0) { + for (let i = 0; i < groupedEntries.js.length; i++) { + const [file, chunk] = groupedEntries.js[i] + if (isInclude(file)) { + const code = jsHandler(chunk.source().toString(), { + ...jsHandlerOptions, + runtimeSet, + classGenerator + }).code + if (code) { + const source = new ConcatSource(code) + compilation.updateAsset(file, source) + } + } + } + } + + if (groupedEntries.css.length > 0) { + for (let i = 0; i < groupedEntries.css.length; i++) { + const [file, css] = groupedEntries.css[i] + if (isInclude(file)) { + const newCss = cssHandler(css.source().toString(), { + ...cssHandlerOptions, + classGenerator, + runtimeSet + }) + const source = new ConcatSource(newCss) + compilation.updateAsset(file, source) + } + } + } + } + ) + }) + }, + writeBundle() { + const entries = Object.entries(classGenerator.newClassMap) + if (entries.length > 0 && classMapOutputOptions) { + cacheDump( + classMapOutputOptions.filename, + entries.map((x) => { + return [x[0], x[1].name] + }), + classMapOutputOptions.dir + ) + } + } + } +}) diff --git a/packages/unplugin-tailwindcss-mangle/src/defaults.ts b/packages/unplugin-tailwindcss-mangle/src/defaults.ts deleted file mode 100644 index e69de29..0000000 diff --git a/packages/unplugin-tailwindcss-mangle/src/esbuild.ts b/packages/unplugin-tailwindcss-mangle/src/esbuild.ts index 91adc84..f82ed77 100644 --- a/packages/unplugin-tailwindcss-mangle/src/esbuild.ts +++ b/packages/unplugin-tailwindcss-mangle/src/esbuild.ts @@ -1,3 +1,3 @@ -import { unplugin } from '.' +import { unplugin } from './core' export default unplugin.esbuild diff --git a/packages/unplugin-tailwindcss-mangle/src/index.ts b/packages/unplugin-tailwindcss-mangle/src/index.ts index bf3a5db..723ba32 100644 --- a/packages/unplugin-tailwindcss-mangle/src/index.ts +++ b/packages/unplugin-tailwindcss-mangle/src/index.ts @@ -1,278 +1 @@ -import { createUnplugin } from 'unplugin' -import type { Options } from './types' -import { pluginName } from './constants' -import { getGroupedEntries, cacheDump } from './utils' -import type { OutputAsset, OutputChunk } from 'rollup' -import { cssHandler, htmlHandler, jsHandler } from 'tailwindcss-mangle-core' -import type { sources } from 'webpack' -import path from 'node:path' -import fs from 'node:fs' -import { getOptions } from './options' - -export { defaultMangleClassFilter } from 'tailwindcss-mangle-shared' - -// cache map -const outputCachedMap = new Map< - string, - { - html: Map - js: Map - css: Map - } ->() - -export const unplugin = createUnplugin((options: Options | undefined = {}, meta) => { - const { classGenerator, getCachedClassSet, isInclude, classMapOutputOptions, htmlHandlerOptions, jsHandlerOptions, cssHandlerOptions } = getOptions(options) - - return { - name: pluginName, - enforce: 'post', - vite: { - generateBundle: { - handler(options, bundle, isWrite) { - const runtimeSet = getCachedClassSet() - if (runtimeSet.size === 0) { - return - } - const groupedEntries = getGroupedEntries(Object.entries(bundle)) - - if (Array.isArray(groupedEntries.html) && groupedEntries.html.length > 0) { - for (let i = 0; i < groupedEntries.html.length; i++) { - const [file, asset] = groupedEntries.html[i] as [string, OutputAsset] - if (isInclude(file)) { - asset.source = htmlHandler(asset.source.toString(), { - ...htmlHandlerOptions, - classGenerator, - runtimeSet - }) - } - } - } - if (Array.isArray(groupedEntries.js) && groupedEntries.js.length > 0) { - for (let i = 0; i < groupedEntries.js.length; i++) { - const [file, chunk] = groupedEntries.js[i] as [string, OutputChunk] - if (isInclude(file)) { - const code = jsHandler(chunk.code, { - ...jsHandlerOptions, - runtimeSet, - classGenerator - }).code - if (code) { - chunk.code = code - } - } - } - } - - if (Array.isArray(groupedEntries.css) && groupedEntries.css.length > 0) { - for (let i = 0; i < groupedEntries.css.length; i++) { - const [file, css] = groupedEntries.css[i] as [string, OutputAsset] - if (isInclude(file)) { - css.source = cssHandler(css.source.toString(), { - ...cssHandlerOptions, - classGenerator, - runtimeSet - }) - } - } - } - } - } - }, - webpack(compiler) { - const { NormalModule, Compilation } = compiler.webpack - const { ConcatSource } = compiler.webpack.sources - function getAssetPath(outputPath: string, file: string, abs: boolean = true) { - const fn = abs ? path.resolve : path.relative - return fn(compiler.context, path.resolve(outputPath, file)) - } - - function overwriteServerSideAsset(outputPath: string, file: string, data: string) { - const abs = getAssetPath(outputPath, file) - const rel = getAssetPath(outputPath, file, false) - try { - fs.writeFileSync(abs, data, 'utf8') - console.log('[tailwindcss-mangle]: ' + rel + ' overwrited successfully') - } catch (error) { - console.log('[tailwindcss-mangle]: ' + rel + ' overwrited fail!') - console.log(error) - } - } - - const twmCssloader = path.resolve(__dirname, 'twm-css.cjs') - - compiler.hooks.compilation.tap(pluginName, (compilation) => { - NormalModule.getCompilationHooks(compilation).loader.tap(pluginName, (loaderContext, module) => { - const idx = module.loaders.findIndex((x) => x.loader.includes('css-loader')) - // vue-loader/dist/stylePostLoader. - // vue-style-loader - if (idx > -1) { - module.loaders.splice(idx + 1, 0, { - loader: twmCssloader, - options: { - classGenerator, - getCachedClassSet - }, - ident: null, - type: null - }) - } - }) - compilation.hooks.processAssets.tap( - { - name: pluginName, - stage: Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE - }, - (assets) => { - // nextjs webpack build multiple times - // server -> manifest -> client - - const runtimeSet = getCachedClassSet() - const groupedEntries = getGroupedEntries(Object.entries(assets)) - // cache result - if (runtimeSet.size === 0) { - const css = new Map() - const html = new Map() - const js = new Map() - for (const [file, source] of groupedEntries.css) { - css.set(file, source) - } - for (const [file, source] of groupedEntries.html) { - html.set(file, source) - } - for (const [file, source] of groupedEntries.js) { - js.set(file, source) - } - if (js.size > 0 || css.size > 0 || html.size > 0) { - outputCachedMap.set(compiler.outputPath, { - css, - html, - js - }) - } - - return - } - - if (groupedEntries.html.length > 0) { - for (let i = 0; i < groupedEntries.html.length; i++) { - const [file, asset] = groupedEntries.html[i] - if (isInclude(file)) { - const html = htmlHandler(asset.source().toString(), { - ...htmlHandlerOptions, - classGenerator, - runtimeSet - }) - const source = new ConcatSource(html) - compilation.updateAsset(file, source) - } - } - } - - if (groupedEntries.js.length > 0) { - for (let i = 0; i < groupedEntries.js.length; i++) { - const [file, chunk] = groupedEntries.js[i] - if (isInclude(file)) { - const code = jsHandler(chunk.source().toString(), { - ...jsHandlerOptions, - runtimeSet, - classGenerator - }).code - if (code) { - const source = new ConcatSource(code) - compilation.updateAsset(file, source) - } - } - } - } - - if (groupedEntries.css.length > 0) { - for (let i = 0; i < groupedEntries.css.length; i++) { - const [file, css] = groupedEntries.css[i] - if (isInclude(file)) { - const newCss = cssHandler(css.source().toString(), { - ...cssHandlerOptions, - classGenerator, - runtimeSet - }) - const source = new ConcatSource(newCss) - compilation.updateAsset(file, source) - } - } - } - // overwrite ssr server side chunk - for (const [key, { js, html, css }] of outputCachedMap.entries()) { - if (html.size > 0) { - for (const [file, asset] of html.entries()) { - if (isInclude(file)) { - const html = htmlHandler((asset as sources.Source).source().toString(), { - ...htmlHandlerOptions, - classGenerator, - runtimeSet - }) - overwriteServerSideAsset(key, file, html) - } - } - html.clear() - } - - if (js.size > 0) { - for (const [file, chunk] of js.entries()) { - if (isInclude(file)) { - const rawCode = (chunk as sources.Source).source().toString() - const code = jsHandler(rawCode, { - ...jsHandlerOptions, - runtimeSet, - classGenerator - }).code - if (code) { - overwriteServerSideAsset(key, file, code) - } - } - } - js.clear() - } - - if (css.size > 0) { - for (const [file, style] of css.entries()) { - if (isInclude(file)) { - const newCss = cssHandler((style as sources.Source).source().toString(), { - ...cssHandlerOptions, - classGenerator, - runtimeSet - }) - - overwriteServerSideAsset(key, file, newCss) - } - } - css.clear() - } - } - } - ) - }) - }, - writeBundle() { - const entries = Object.entries(classGenerator.newClassMap) - if (entries.length > 0 && classMapOutputOptions) { - cacheDump( - classMapOutputOptions.filename, - entries.map((x) => { - return [x[0], x[1].name] - }), - classMapOutputOptions.dir - ) - } - } - } -}) - -export const vitePlugin = unplugin.vite -export const webpackPlugin = unplugin.webpack - -// export default unplugin -// export const vitePlugin = unplugin.vite -// export const rollupPlugin = unplugin.rollup -// export const webpackPlugin = unplugin.webpack -// export const rspackPlugin = unplugin.rspack -// export const esbuildPlugin = unplugin.esbuild +export { unplugin as default } from './core' diff --git a/packages/unplugin-tailwindcss-mangle/src/nuxt.ts b/packages/unplugin-tailwindcss-mangle/src/nuxt.ts index 3b48f58..4d8e55b 100644 --- a/packages/unplugin-tailwindcss-mangle/src/nuxt.ts +++ b/packages/unplugin-tailwindcss-mangle/src/nuxt.ts @@ -1,5 +1,5 @@ import type { Options } from './types' -import { unplugin } from '.' +import { unplugin } from './core' export default function (options: Options = {}, nuxt: any) { // install webpack plugin diff --git a/packages/unplugin-tailwindcss-mangle/src/rollup.ts b/packages/unplugin-tailwindcss-mangle/src/rollup.ts index b30262e..46332b3 100644 --- a/packages/unplugin-tailwindcss-mangle/src/rollup.ts +++ b/packages/unplugin-tailwindcss-mangle/src/rollup.ts @@ -1,3 +1,3 @@ -import { unplugin } from '.' +import { unplugin } from './core' export default unplugin.rollup diff --git a/packages/unplugin-tailwindcss-mangle/src/twm-css.ts b/packages/unplugin-tailwindcss-mangle/src/twm-css.ts deleted file mode 100644 index 9fa735b..0000000 --- a/packages/unplugin-tailwindcss-mangle/src/twm-css.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as webpack from 'webpack' -import { cssHandler, ClassGenerator } from 'tailwindcss-mangle-core' - -export default function cssloader( - this: webpack.LoaderContext<{ - classGenerator: ClassGenerator - getCachedClassSet: (() => Set) | undefined - }>, - content: string -) { - this.cacheable && this.cacheable() - const opt = this.getOptions() - if (opt.getCachedClassSet) { - const runtimeSet = opt.getCachedClassSet() - return cssHandler(content, { - classGenerator: opt.classGenerator, - runtimeSet, - scene: 'loader' - }) - } - - return content -} diff --git a/packages/unplugin-tailwindcss-mangle/src/types.ts b/packages/unplugin-tailwindcss-mangle/src/types.ts index 6110d71..4daf5df 100644 --- a/packages/unplugin-tailwindcss-mangle/src/types.ts +++ b/packages/unplugin-tailwindcss-mangle/src/types.ts @@ -3,7 +3,7 @@ import type { IHtmlHandlerOptions, // as InternalHtmlHandlerOptions, IJsHandlerOptions, // as InternalJsHandlerOptions, ICssHandlerOptions // as InternalCssHandlerOptions -} from 'tailwindcss-mangle-core' +} from '@tailwindcss-mangle/core' export interface IClassGeneratorOptions { reserveClassName?: (string | RegExp)[] @@ -15,12 +15,6 @@ export interface IClassGeneratorOptions { classPrefix?: string } -export interface ClassSetOutputOptions { - filename: string - dir?: string - type: 'all' | 'partial' -} - export interface ClassMapOutputOptions { filename: string dir?: string @@ -33,7 +27,7 @@ export interface Options { classGenerator?: IClassGeneratorOptions exclude?: string[] include?: string[] - classSetOutput?: boolean | ClassSetOutputOptions + classListPath?: string classMapOutput?: boolean | ClassMapOutputOptions htmlHandlerOptions?: PartialHandlerOptions jsHandlerOptions?: PartialHandlerOptions diff --git a/packages/unplugin-tailwindcss-mangle/src/utils.ts b/packages/unplugin-tailwindcss-mangle/src/utils.ts index 7e94ec4..c57f6c0 100644 --- a/packages/unplugin-tailwindcss-mangle/src/utils.ts +++ b/packages/unplugin-tailwindcss-mangle/src/utils.ts @@ -1,9 +1,9 @@ -import micromatch from 'micromatch' import fs from 'node:fs' import path from 'node:path' +import micromatch from 'micromatch' +import { groupBy } from '@tailwindcss-mangle/shared' import { pluginName } from './constants' -import { groupBy } from 'tailwindcss-mangle-shared' const { isMatch } = micromatch export function getGroupedEntries( @@ -49,7 +49,7 @@ export function getGroupedEntries( export function createGlobMatcher(pattern: string | string[] | undefined, fallbackValue: boolean = false) { if (pattern === undefined) { - return function (file: string) { + return function () { return fallbackValue } } @@ -83,4 +83,4 @@ export function cacheDump(filename: string, data: any[] | Set, basedir?: st } } -export { defaultMangleClassFilter, isMap, isRegexp } from 'tailwindcss-mangle-shared' +export { defaultMangleClassFilter, isMap, isRegexp } from '@tailwindcss-mangle/shared' diff --git a/packages/unplugin-tailwindcss-mangle/src/vite.ts b/packages/unplugin-tailwindcss-mangle/src/vite.ts index 484f1a5..7f48c1d 100644 --- a/packages/unplugin-tailwindcss-mangle/src/vite.ts +++ b/packages/unplugin-tailwindcss-mangle/src/vite.ts @@ -1,3 +1,3 @@ -import { unplugin } from '.' +import { unplugin } from './core' import type {} from 'vite' export default unplugin.vite diff --git a/packages/unplugin-tailwindcss-mangle/src/webpack.ts b/packages/unplugin-tailwindcss-mangle/src/webpack.ts index ff1e47e..57114b8 100644 --- a/packages/unplugin-tailwindcss-mangle/src/webpack.ts +++ b/packages/unplugin-tailwindcss-mangle/src/webpack.ts @@ -1,3 +1,3 @@ -import { unplugin } from '.' +import { unplugin } from './core' export default unplugin.webpack diff --git a/packages/unplugin-tailwindcss-mangle/test/__snapshots__/webpack.test.ts.snap b/packages/unplugin-tailwindcss-mangle/test/__snapshots__/webpack.test.ts.snap index 85f9e0d..5d2c2ba 100644 --- a/packages/unplugin-tailwindcss-mangle/test/__snapshots__/webpack.test.ts.snap +++ b/packages/unplugin-tailwindcss-mangle/test/__snapshots__/webpack.test.ts.snap @@ -502,7 +502,7 @@ exports[`webpack build > with plugin > assets 1`] = ` "index.js": "(() => { \\"use strict\\"; - document.querySelector(\\"#app\\").innerHTML = \\"\\\\n
\\\\n
\\\\n \\\\n Get started by editing \\\\n pages/index.tsx\\\\n

\\\\n \\\\n \\\\n By\\\\n \\\\n
\\\\n\\\\n\\\\n\\\\n \\\\\\"Next.js\\\\n\\\\n\\\\n\\\\n
\\\\n\\"; + document.querySelector(\\"#app\\").innerHTML = \\"\\\\n
\\\\n
\\\\n \\\\n Get started by editing \\\\n pages/index.tsx\\\\n

\\\\n \\\\n \\\\n By\\\\n \\\\n
\\\\n\\\\n\\\\n\\\\n \\\\\\"Next.js\\\\n\\\\n\\\\n\\\\n
\\\\n\\"; })();", "main.css": "*, ::before, ::after { --tw-border-spacing-x: 0; @@ -602,7 +602,7 @@ exports[`webpack build > with plugin > assets 1`] = ` --tw-backdrop-saturate: ; --tw-backdrop-sepia: } -.tw-a { +.tw-qa { pointer-events: none } .fixed { @@ -611,28 +611,28 @@ exports[`webpack build > with plugin > assets 1`] = ` .relative { position: relative } -.tw-b { +.tw-ga { bottom: 0px } -.tw-c { +.tw-l { left: 0px } -.tw-d { +.tw-m { top: 0px } -.tw-e { +.tw-f { z-index: 10 } -.tw-f { +.tw-rc { margin: 0px } -.tw-g { +.tw-kc { margin-bottom: 0.75rem } -.tw-h { +.tw-wb { margin-bottom: 8rem } -.tw-i { +.tw-nc { display: inline-block } .flex { @@ -641,350 +641,350 @@ exports[`webpack build > with plugin > assets 1`] = ` .grid { display: grid } -.tw-j { +.tw-ha { height: 12rem } -.tw-k { +.tw-a { min-height: 100vh } -.tw-l { +.tw-g { width: 100% } -.tw-m { +.tw-h { max-width: 64rem } -.tw-n { +.tw-sc { max-width: 30ch } -.tw-o { +.tw-b { flex-direction: column } -.tw-p { +.tw-ra { place-items: center } -.tw-q { +.tw-ia { align-items: flex-end } -.tw-r { +.tw-c { align-items: center } -.tw-s { +.tw-n { justify-content: center } -.tw-t { +.tw-d { justify-content: space-between } -.tw-u { +.tw-sa { gap: 0.5rem } -.tw-v { +.tw-bc { border-radius: 0.5rem } .border { border-width: 1px } -.tw-w { +.tw-o { border-bottom-width: 1px } -.tw-x { +.tw-p { --tw-border-opacity: 1; border-color: rgb(209 213 219 / var(--tw-border-opacity)) } -.tw-y { +.tw-cc { border-color: transparent } -.tw-z { +.bg-\\\\[\\\\#123456\\\\] { --tw-bg-opacity: 1; background-color: rgb(18 52 86 / var(--tw-bg-opacity)) } -.tw-aa { +.tw-q { background-image: linear-gradient(to bottom, var(--tw-gradient-stops)) } -.tw-ba { +.tw-ja { background-image: linear-gradient(to top, var(--tw-gradient-stops)) } -.tw-ca { +.tw-ka { --tw-gradient-from: #fff var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) } -.tw-da { +.tw-r { --tw-gradient-from: #e4e4e7 var(--tw-gradient-from-position); --tw-gradient-to: rgb(228 228 231 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) } -.tw-ea { +.tw-la { --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to) } -.tw-fa { +.tw-e { padding: 6rem } -.tw-ga { +.tw-ta { padding: 2rem } -.tw-ha { +.tw-dc { padding-left: 1.25rem; padding-right: 1.25rem } -.tw-ia { +.tw-ec { padding-top: 1rem; padding-bottom: 1rem } -.tw-ja { +.tw-s { padding-bottom: 1.5rem } -.tw-ka { +.tw-t { padding-top: 2rem } -.tw-la { +.tw-xb { text-align: center } -.tw-ma { +.tw-i { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\"Liberation Mono\\", \\"Courier New\\", monospace } -.tw-na { +.tw-lc { font-size: 1.5rem; line-height: 2rem } -.tw-oa { +.tw-j { font-size: 0.875rem; line-height: 1.25rem } -.tw-pa { +.tw-fa { font-weight: 700 } -.tw-qa { +.tw-mc { font-weight: 600 } -.tw-ra { +.tw-tc { opacity: 0.5 } -.tw-sa { +.tw-u { --tw-backdrop-blur: blur(40px); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) } -.tw-ta { +.tw-fc { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms } -.tw-ua { +.tw-oc { transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms } -.tw-va::before { +.tw-wa::before { content: var(--tw-content); position: absolute } -.tw-wa::before { +.tw-xa::before { content: var(--tw-content); height: 300px } -.tw-xa::before { +.tw-ya::before { content: var(--tw-content); width: 480px } -.tw-ya::before { +.tw-za::before { content: var(--tw-content); --tw-translate-x: -50%; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) } -.tw-za::before { +.tw-ab::before { content: var(--tw-content); border-radius: 9999px } -.tw-ab::before { +.tw-bb::before { content: var(--tw-content); --tw-gradient-from: #fff var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) } -.tw-bb::before { +.tw-cb::before { content: var(--tw-content); --tw-gradient-to: transparent var(--tw-gradient-to-position) } -.tw-cb::before { +.tw-db::before { content: var(--tw-content); --tw-blur: blur(40px); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) } -.tw-db::before { +.tw-eb::before { --tw-content: ''; content: var(--tw-content) } -.tw-eb::after { +.tw-fb::after { content: var(--tw-content); position: absolute } -.tw-fb::after { +.tw-gb::after { content: var(--tw-content); z-index: -20 } -.tw-gb::after { +.tw-hb::after { content: var(--tw-content); height: 180px } -.tw-hb::after { +.tw-ib::after { content: var(--tw-content); width: 240px } -.tw-ib::after { +.tw-jb::after { content: var(--tw-content); --tw-translate-x: 33.333333%; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) } -.tw-jb::after { +.tw-kb::after { content: var(--tw-content); --tw-gradient-from: #bae6fd var(--tw-gradient-from-position); --tw-gradient-to: rgb(186 230 253 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) } -.tw-kb::after { +.tw-lb::after { content: var(--tw-content); --tw-gradient-to: rgb(191 219 254 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), #bfdbfe var(--tw-gradient-via-position), var(--tw-gradient-to) } -.tw-lb::after { +.tw-mb::after { content: var(--tw-content); --tw-blur: blur(40px); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) } -.tw-mb::after { +.tw-nb::after { --tw-content: ''; content: var(--tw-content) } -.tw-nb:hover { +.tw-gc:hover { --tw-border-opacity: 1; border-color: rgb(209 213 219 / var(--tw-border-opacity)) } -.tw-ob:hover { +.tw-hc:hover { --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity)) } -.group:hover .tw-pb { +.group:hover .tw-pc { --tw-translate-x: 0.25rem; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) } @media (prefers-reduced-motion: reduce) { - .tw-qb { + .tw-qc { transform: none } } @media (prefers-color-scheme: dark) { - .tw-rb { + .tw-v { --tw-border-opacity: 1; border-color: rgb(38 38 38 / var(--tw-border-opacity)) } - .tw-sb { + .tw-w { background-color: rgb(39 39 42 / 0.3) } - .tw-tb { + .tw-ma { --tw-gradient-from: #000 var(--tw-gradient-from-position); --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) } - .tw-ub { + .tw-x { --tw-gradient-from: inherit var(--tw-gradient-from-position); --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) } - .tw-vb { + .tw-na { --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), #000 var(--tw-gradient-via-position), var(--tw-gradient-to) } - .tw-wb { + .tw-ub { --tw-drop-shadow: drop-shadow(0 0 0.3rem #ffffff70); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) } - .tw-xb { + .tw-vb { --tw-invert: invert(100%); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) } - .tw-yb::before { + .tw-ob::before { content: var(--tw-content); background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)) } - .tw-zb::before { + .tw-pb::before { content: var(--tw-content); --tw-gradient-from: transparent var(--tw-gradient-from-position); --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) } - .tw-ac::before { + .tw-qb::before { content: var(--tw-content); --tw-gradient-to: rgb(29 78 216 / 0.1) var(--tw-gradient-to-position) } - .tw-bc::after { + .tw-rb::after { content: var(--tw-content); --tw-gradient-from: #0c4a6e var(--tw-gradient-from-position); --tw-gradient-to: rgb(12 74 110 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) } - .tw-cc::after { + .tw-sb::after { content: var(--tw-content); --tw-gradient-to: rgb(1 65 255 / 0) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-from), rgb(1 65 255 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to) } - .tw-dc:hover { + .tw-ic:hover { --tw-border-opacity: 1; border-color: rgb(64 64 64 / var(--tw-border-opacity)) } - .tw-ec:hover { + .tw-jc:hover { background-color: rgb(38 38 38 / 0.3) } } @media (min-width: 1024px) { - .tw-fc { + .tw-ua { pointer-events: auto } - .tw-gc { + .tw-y { position: static } - .tw-hc { + .tw-yb { margin-bottom: 0px } - .tw-ic { + .tw-k { display: flex } - .tw-jc { + .tw-oa { height: auto } - .tw-kc { + .tw-z { width: auto } - .tw-lc { + .tw-zb { grid-template-columns: repeat(4, minmax(0, 1fr)) } - .tw-mc { + .tw-aa { border-radius: 0.75rem } - .tw-nc { + .tw-ba { border-width: 1px } - .tw-oc { + .tw-ca { --tw-bg-opacity: 1; background-color: rgb(229 231 235 / var(--tw-bg-opacity)) } - .tw-pc { + .tw-pa { background-image: none } - .tw-qc { + .tw-va { padding: 0px } - .tw-rc { + .tw-da { padding: 1rem } - .tw-sc { + .tw-ac { text-align: left } - .tw-tc::before { + .tw-tb::before { content: var(--tw-content); height: 360px } @media (prefers-color-scheme: dark) { - .tw-uc { + .tw-ea { background-color: rgb(39 39 42 / 0.3) } } diff --git a/packages/unplugin-tailwindcss-mangle/test/fixtures/vite-repo/.tw-patch/tw-class-list.json b/packages/unplugin-tailwindcss-mangle/test/fixtures/vite-repo/.tw-patch/tw-class-list.json new file mode 100644 index 0000000..c2c647c --- /dev/null +++ b/packages/unplugin-tailwindcss-mangle/test/fixtures/vite-repo/.tw-patch/tw-class-list.json @@ -0,0 +1,106 @@ +[ + "after:-z-20", + "after:absolute", + "after:blur-2xl", + "after:content-['']", + "after:dark:from-sky-900", + "after:dark:via-[#0141ff]/40", + "after:from-sky-200", + "after:h-[180px]", + "after:translate-x-1/3", + "after:via-blue-200", + "after:w-[240px]", + "backdrop-blur-2xl", + "before:-translate-x-1/2", + "before:absolute", + "before:blur-2xl", + "before:content-['']", + "before:dark:bg-gradient-to-br", + "before:dark:from-transparent", + "before:dark:to-blue-700/10", + "before:from-white", + "before:h-[300px]", + "before:lg:h-[360px]", + "before:rounded-full", + "before:to-transparent", + "before:w-[480px]", + "bg-gradient-to-b", + "bg-gradient-to-t", + "border", + "border-b", + "border-gray-300", + "border-transparent", + "bottom-0", + "dark:bg-zinc-800/30", + "dark:border-neutral-800", + "dark:drop-shadow-[0_0_0.3rem_#ffffff70]", + "dark:from-black", + "dark:from-inherit", + "dark:invert", + "dark:via-black", + "ease-out", + "fixed", + "flex", + "flex-col", + "font-bold", + "font-mono", + "font-semibold", + "from-white", + "from-zinc-200", + "gap-2", + "grid", + "group-hover:translate-x-1", + "h-48", + "hover:bg-gray-100", + "hover:border-gray-300", + "hover:dark:bg-neutral-800/30", + "hover:dark:border-neutral-700", + "inline-block", + "items-center", + "items-end", + "justify-between", + "justify-center", + "left-0", + "lg:bg-gray-200", + "lg:bg-none", + "lg:border", + "lg:dark:bg-zinc-800/30", + "lg:flex", + "lg:grid-cols-4", + "lg:h-auto", + "lg:mb-0", + "lg:p-0", + "lg:p-4", + "lg:pointer-events-auto", + "lg:rounded-xl", + "lg:static", + "lg:text-left", + "lg:w-auto", + "m-0", + "max-w-5xl", + "max-w-[30ch]", + "mb-3", + "mb-32", + "min-h-screen", + "motion-reduce:transform-none", + "opacity-50", + "p-24", + "p-8", + "pb-6", + "place-items-center", + "pointer-events-none", + "pt-8", + "px-5", + "py-4", + "relative", + "rounded-lg", + "text-2xl", + "text-center", + "text-sm", + "top-0", + "transition-colors", + "transition-transform", + "via-white", + "w-full", + "z-10" +] \ No newline at end of file diff --git a/packages/unplugin-tailwindcss-mangle/test/fixtures/vite-repo/package.json b/packages/unplugin-tailwindcss-mangle/test/fixtures/vite-repo/package.json index eaff1bf..c8e8c50 100644 --- a/packages/unplugin-tailwindcss-mangle/test/fixtures/vite-repo/package.json +++ b/packages/unplugin-tailwindcss-mangle/test/fixtures/vite-repo/package.json @@ -6,10 +6,11 @@ "scripts": { "dev": "vite", "build": "tsc && vite build", - "preview": "vite preview" + "preview": "vite preview", + "extract": "npx tw-patch extract" }, "devDependencies": { "typescript": "^5.0.2", "vite": "^4.3.9" } -} +} \ No newline at end of file diff --git a/packages/unplugin-tailwindcss-mangle/test/fixtures/webpack-repo/.tw-patch/tw-class-list.json b/packages/unplugin-tailwindcss-mangle/test/fixtures/webpack-repo/.tw-patch/tw-class-list.json new file mode 100644 index 0000000..5f475b2 --- /dev/null +++ b/packages/unplugin-tailwindcss-mangle/test/fixtures/webpack-repo/.tw-patch/tw-class-list.json @@ -0,0 +1,106 @@ +[ + "after:-z-20", + "after:absolute", + "after:blur-2xl", + "after:content-['']", + "after:dark:from-sky-900", + "after:dark:via-[#0141ff]/40", + "after:from-sky-200", + "after:h-[180px]", + "after:translate-x-1/3", + "after:via-blue-200", + "after:w-[240px]", + "backdrop-blur-2xl", + "before:-translate-x-1/2", + "before:absolute", + "before:blur-2xl", + "before:content-['']", + "before:dark:bg-gradient-to-br", + "before:dark:from-transparent", + "before:dark:to-blue-700/10", + "before:from-white", + "before:h-[300px]", + "before:lg:h-[360px]", + "before:rounded-full", + "before:to-transparent", + "before:w-[480px]", + "bg-[#123456]", + "bg-gradient-to-b", + "bg-gradient-to-t", + "border", + "border-b", + "border-gray-300", + "border-transparent", + "bottom-0", + "dark:bg-zinc-800/30", + "dark:border-neutral-800", + "dark:drop-shadow-[0_0_0.3rem_#ffffff70]", + "dark:from-black", + "dark:from-inherit", + "dark:invert", + "dark:via-black", + "fixed", + "flex", + "flex-col", + "font-bold", + "font-mono", + "font-semibold", + "from-white", + "from-zinc-200", + "gap-2", + "grid", + "group-hover:translate-x-1", + "h-48", + "hover:bg-gray-100", + "hover:border-gray-300", + "hover:dark:bg-neutral-800/30", + "hover:dark:border-neutral-700", + "inline-block", + "items-center", + "items-end", + "justify-between", + "justify-center", + "left-0", + "lg:bg-gray-200", + "lg:bg-none", + "lg:border", + "lg:dark:bg-zinc-800/30", + "lg:flex", + "lg:grid-cols-4", + "lg:h-auto", + "lg:mb-0", + "lg:p-0", + "lg:p-4", + "lg:pointer-events-auto", + "lg:rounded-xl", + "lg:static", + "lg:text-left", + "lg:w-auto", + "m-0", + "max-w-5xl", + "max-w-[30ch]", + "mb-3", + "mb-32", + "min-h-screen", + "motion-reduce:transform-none", + "opacity-50", + "p-24", + "p-8", + "pb-6", + "place-items-center", + "pointer-events-none", + "pt-8", + "px-5", + "py-4", + "relative", + "rounded-lg", + "text-2xl", + "text-center", + "text-sm", + "top-0", + "transition-colors", + "transition-transform", + "via-white", + "w-full", + "z-10" +] \ No newline at end of file diff --git a/packages/unplugin-tailwindcss-mangle/test/fixtures/webpack-repo/package.json b/packages/unplugin-tailwindcss-mangle/test/fixtures/webpack-repo/package.json new file mode 100644 index 0000000..76fcad0 --- /dev/null +++ b/packages/unplugin-tailwindcss-mangle/test/fixtures/webpack-repo/package.json @@ -0,0 +1,12 @@ +{ + "name": "webpack-repo", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/packages/unplugin-tailwindcss-mangle/test/vite.test.ts b/packages/unplugin-tailwindcss-mangle/test/vite.test.ts index eac4fee..ef47bdf 100644 --- a/packages/unplugin-tailwindcss-mangle/test/vite.test.ts +++ b/packages/unplugin-tailwindcss-mangle/test/vite.test.ts @@ -1,18 +1,13 @@ -import { build } from 'vite' -import { describe, it, expect, beforeEach } from 'vitest' import path from 'node:path' -import { RollupOutput } from 'rollup' -import utwm from '../src/vite' -import { TailwindcssPatcher } from 'tailwindcss-patch' +import { build } from 'vite' +import type { RollupOutput } from 'rollup' +import utwm from '@/vite' + +const appRoot = path.resolve(__dirname, 'fixtures/vite-repo') describe('vite build', () => { - let twPatcher: TailwindcssPatcher - beforeEach(() => { - twPatcher = new TailwindcssPatcher() - twPatcher.patch() - }) it('common build ', async () => { const res = (await build({ - root: path.resolve(__dirname, 'fixtures/vite-repo'), + root: appRoot, build: { write: false, cssMinify: false, @@ -24,7 +19,11 @@ describe('vite build', () => { } } }, - plugins: [utwm()] + plugins: [ + utwm({ + classListPath: path.resolve(appRoot, '.tw-patch/tw-class-list.json') + }) + ] })) as RollupOutput const output = res.output expect(output.length).toBe(3) diff --git a/packages/unplugin-tailwindcss-mangle/test/webpack.test.ts b/packages/unplugin-tailwindcss-mangle/test/webpack.test.ts index 95984d2..b1ee210 100644 --- a/packages/unplugin-tailwindcss-mangle/test/webpack.test.ts +++ b/packages/unplugin-tailwindcss-mangle/test/webpack.test.ts @@ -1,11 +1,9 @@ -// import webpack from 'webpack' -import { describe, it, expect } from 'vitest' import path from 'node:path' import { getMemfsCompiler5, compile, readAssets, getErrors, getWarnings } from 'webpack-build-utils' import MiniCssExtractPlugin from 'mini-css-extract-plugin' -import { webpackPlugin as utwm } from '../' +import utwm from '@/webpack' const context = path.resolve(__dirname, 'fixtures/webpack-repo') -describe('webpack build', async () => { +describe('webpack build', () => { it('common', async () => { const compiler = getMemfsCompiler5({ mode: 'production', @@ -55,7 +53,9 @@ describe('webpack build', async () => { } }) - utwm().apply(compiler) + utwm({ + classListPath: path.resolve(context, '.tw-patch/tw-class-list.json') + }).apply(compiler) const stats = await compile(compiler) // get all Assets as Record diff --git a/packages/unplugin-tailwindcss-mangle/vitest.setup.ts b/packages/unplugin-tailwindcss-mangle/vitest.setup.ts index b919e03..68ac183 100644 --- a/packages/unplugin-tailwindcss-mangle/vitest.setup.ts +++ b/packages/unplugin-tailwindcss-mangle/vitest.setup.ts @@ -1,5 +1,4 @@ // import 'tailwindcss-patch/cli' -import { createPatch, getPatchOptions } from 'tailwindcss-patch' -const opt = getPatchOptions() -const patch = createPatch(opt) -patch() +import { TailwindcssPatcher } from 'tailwindcss-patch' +const twPatcher = new TailwindcssPatcher() +twPatcher.patch() diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7ad3538..9d567cb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,18 +14,18 @@ importers: '@changesets/cli': specifier: ^2.26.2 version: 2.26.2 - '@icebreakers/eslint-config-ts': - specifier: ^1.2.2 - version: 1.2.2(eslint@8.46.0)(prettier@3.0.1)(typescript@5.1.6) - '@icebreakers/rollup': - specifier: ^0.4.0 - version: 0.4.0(rollup@3.27.2)(tslib@2.6.1)(typescript@5.1.6) - '@icebreakers/tsconfig': - specifier: ^0.0.7 - version: 0.0.7 + '@tailwindcss-mangle/core': + specifier: workspace:* + version: link:packages/core + '@tailwindcss-mangle/shared': + specifier: workspace:* + version: link:packages/shared '@tsconfig/recommended': specifier: ^1.0.2 version: 1.0.2 + '@types/lodash-es': + specifier: ^4.17.8 + version: 4.17.8 '@types/node': specifier: ^20.4.8 version: 20.4.8 @@ -47,9 +47,18 @@ importers: eslint: specifier: ^8.46.0 version: 8.46.0 - eslint-plugin-unicorn: - specifier: ^48.0.1 - version: 48.0.1(eslint@8.46.0) + eslint-config-icebreaker: + specifier: ^1.2.2 + version: 1.2.2(eslint@8.46.0)(typescript@5.1.6) + eslint-config-prettier: + specifier: ^9.0.0 + version: 9.0.0(eslint@8.46.0) + eslint-plugin-prettier: + specifier: ^5.0.0 + version: 5.0.0(eslint-config-prettier@9.0.0)(eslint@8.46.0)(prettier@3.0.1) + lodash-es: + specifier: ^4.17.21 + version: 4.17.21 only-allow: specifier: ^1.1.1 version: 1.1.1 @@ -59,12 +68,6 @@ importers: rollup: specifier: ^3.27.2 version: 3.27.2 - tailwindcss-mangle-core: - specifier: workspace:* - version: link:packages/core - tailwindcss-mangle-shared: - specifier: workspace:* - version: link:packages/shared tailwindcss-patch: specifier: workspace:* version: link:packages/tailwindcss-patch @@ -415,11 +418,11 @@ importers: version: 4.2.4(vue@3.3.4) devDependencies: '@typescript-eslint/eslint-plugin': - specifier: ^6.2.1 - version: 6.2.1(@typescript-eslint/parser@6.2.1)(eslint@8.46.0)(typescript@5.1.6) + specifier: ^6.3.0 + version: 6.3.0(@typescript-eslint/parser@6.3.0)(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/parser': - specifier: ^6.2.1 - version: 6.2.1(eslint@8.46.0)(typescript@5.1.6) + specifier: ^6.3.0 + version: 6.3.0(eslint@8.46.0)(typescript@5.1.6) '@vue/cli-plugin-babel': specifier: ~5.0.0 version: 5.0.8(@vue/cli-service@5.0.8)(core-js@3.32.0)(vue@3.3.4) @@ -437,7 +440,7 @@ importers: version: 5.0.8(sass-loader@13.3.2)(vue@3.3.4) '@vue/eslint-config-standard': specifier: ^8.0.1 - version: 8.0.1(@typescript-eslint/parser@6.2.1)(eslint-plugin-vue@9.16.1)(eslint@8.46.0) + version: 8.0.1(@typescript-eslint/parser@6.3.0)(eslint-plugin-vue@9.16.1)(eslint@8.46.0) '@vue/eslint-config-typescript': specifier: ^11.0.3 version: 11.0.3(eslint-plugin-vue@9.16.1)(eslint@8.46.0)(typescript@5.1.6) @@ -449,7 +452,7 @@ importers: version: 8.46.0 eslint-plugin-import: specifier: ^2.28.0 - version: 2.28.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + version: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) eslint-plugin-node: specifier: ^11.1.0 version: 11.1.0(eslint@8.46.0) @@ -481,14 +484,26 @@ importers: specifier: workspace:* version: link:../../packages/unplugin-tailwindcss-mangle + packages/config: + dependencies: + c12: + specifier: ^1.4.2 + version: 1.4.2 + dedent: + specifier: ^1.5.1 + version: 1.5.1 + packages/core: dependencies: '@babel/core': - specifier: ^7.22.9 - version: 7.22.9 + specifier: ^7.22.10 + version: 7.22.10 '@babel/types': - specifier: ^7.22.5 - version: 7.22.5 + specifier: ^7.22.10 + version: 7.22.10 + '@tailwindcss-mangle/shared': + specifier: workspace:^ + version: link:../shared parse5: specifier: ^7.1.2 version: 7.1.2 @@ -498,9 +513,6 @@ importers: postcss-selector-parser: specifier: ^6.0.13 version: 6.0.13 - tailwindcss-mangle-shared: - specifier: workspace:^ - version: link:../shared devDependencies: '@parse5/tools': specifier: ^0.2.0 @@ -514,23 +526,26 @@ importers: packages/tailwindcss-patch: dependencies: '@babel/generator': - specifier: ^7.22.9 - version: 7.22.9 + specifier: ^7.22.10 + version: 7.22.10 '@babel/parser': - specifier: ^7.22.7 - version: 7.22.7 + specifier: ^7.22.10 + version: 7.22.10 '@babel/traverse': - specifier: ^7.22.8 - version: 7.22.8 + specifier: ^7.22.10 + version: 7.22.10 '@babel/types': - specifier: ^7.22.5 - version: 7.22.5 - c12: - specifier: ^1.4.2 - version: 1.4.2 + specifier: ^7.22.10 + version: 7.22.10 + '@tailwindcss-mangle/config': + specifier: workspace:^ + version: link:../config cac: specifier: ^6.7.14 version: 6.7.14 + lilconfig: + specifier: ^2.1.0 + version: 2.1.0 postcss: specifier: ^8.4.27 version: 8.4.27 @@ -562,18 +577,15 @@ importers: packages/unplugin-tailwindcss-mangle: dependencies: - micromatch: - specifier: ^4.0.5 - version: 4.0.5 - tailwindcss-mangle-core: + '@tailwindcss-mangle/core': specifier: workspace:^ version: link:../core - tailwindcss-mangle-shared: + '@tailwindcss-mangle/shared': specifier: workspace:^ version: link:../shared - tailwindcss-patch: - specifier: workspace:^ - version: link:../tailwindcss-patch + micromatch: + specifier: ^4.0.5 + version: 4.0.5 unplugin: specifier: ^1.4.0 version: 1.4.0 @@ -599,6 +611,9 @@ importers: tailwindcss: specifier: ^3.3.3 version: 3.3.3(ts-node@10.9.1) + tailwindcss-patch: + specifier: workspace:^ + version: link:../tailwindcss-patch vite: specifier: ^4.4.9 version: 4.4.9(@types/node@20.4.8) @@ -635,11 +650,19 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 + /@babel/code-frame@7.22.10: + resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.10 + chalk: 2.4.2 + /@babel/code-frame@7.22.5: resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.5 + '@babel/highlight': 7.22.10 + dev: true /@babel/compat-data@7.22.5: resolution: {integrity: sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==} @@ -656,14 +679,14 @@ packages: dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.21.4) - '@babel/helper-module-transforms': 7.22.5 - '@babel/helpers': 7.22.5 - '@babel/parser': 7.22.7 + '@babel/generator': 7.22.10 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.21.4) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.21.4) + '@babel/helpers': 7.22.6 + '@babel/parser': 7.22.10 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -673,20 +696,42 @@ packages: - supports-color dev: true + /@babel/core@7.22.10: + resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) + '@babel/helpers': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + /@babel/core@7.22.9: resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) '@babel/helpers': 7.22.6 - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -694,6 +739,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /@babel/eslint-parser@7.22.9(@babel/core@7.22.9)(eslint@8.46.0): resolution: {integrity: sha512-xdMkt39/nviO/4vpVdrEYPwXCsYIXSSAr6mC7WQsNIlGnuxKyKE7GZjalcnbSWiC4OXGNNN3UQPeHfjSC6sTDA==} @@ -709,34 +755,44 @@ packages: semver: 6.3.1 dev: true + /@babel/generator@7.22.10: + resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.10 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + /@babel/generator@7.22.9: resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 + dev: true /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@babel/helper-builder-binary-assignment-operator-visitor@7.22.5: resolution: {integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@babel/helper-compilation-targets@7.21.4: @@ -752,8 +808,18 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-compilation-targets@7.22.5(@babel/core@7.21.4): - resolution: {integrity: sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==} + /@babel/helper-compilation-targets@7.22.10: + resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/helper-validator-option': 7.22.5 + browserslist: 4.21.10 + lru-cache: 5.1.1 + semver: 6.3.1 + + /@babel/helper-compilation-targets@7.22.9(@babel/core@7.21.4): + resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -761,19 +827,19 @@ packages: '@babel/compat-data': 7.22.9 '@babel/core': 7.21.4 '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.9 + browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 dev: true - /@babel/helper-compilation-targets@7.22.9(@babel/core@7.21.4): + /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-validator-option': 7.22.5 browserslist: 4.21.10 lru-cache: 5.1.1 @@ -792,6 +858,7 @@ packages: browserslist: 4.21.10 lru-cache: 5.1.1 semver: 6.3.1 + dev: true /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.21.4): resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==} @@ -810,19 +877,36 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 dev: true - /@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.21.4): + /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.22.10): + resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.10 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.21.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + dev: true + + /@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.21.4) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 @@ -846,13 +930,13 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.21.4): + /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 @@ -870,13 +954,13 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.4): + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.22.10): resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 @@ -886,13 +970,13 @@ packages: - supports-color dev: true - /@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.21.4): + /@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.22.10): resolution: {integrity: sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 @@ -926,77 +1010,74 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-member-expression-to-functions@7.21.0: resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@babel/helper-member-expression-to-functions@7.22.5: resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@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.22.5 + '@babel/types': 7.22.10 dev: true /@babel/helper-module-imports@7.21.4: resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@babel/helper-module-imports@7.22.5: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 - /@babel/helper-module-transforms@7.22.5: - resolution: {integrity: sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==} + /@babel/helper-module-transforms@7.22.9(@babel/core@7.21.4): + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: + '@babel/core': 7.21.4 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color dev: true - /@babel/helper-module-transforms@7.22.9(@babel/core@7.21.4): + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.5 - dev: true /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} @@ -1010,12 +1091,13 @@ packages: '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.5 + dev: true /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@babel/helper-plugin-utils@7.20.2: @@ -1028,28 +1110,28 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.21.4): + /@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-wrap-function': 7.22.5 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.21.4): + /@babel/helper-remap-async-to-generator@7.22.9(@babel/core@7.22.10): resolution: {integrity: sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-wrap-function': 7.22.9 @@ -1075,8 +1157,8 @@ packages: '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color dev: true @@ -1089,8 +1171,8 @@ packages: '@babel/helper-member-expression-to-functions': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color dev: true @@ -1107,6 +1189,18 @@ packages: '@babel/helper-optimise-call-expression': 7.22.5 dev: true + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.10): + resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.10 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.9): resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} engines: {node: '>=6.9.0'} @@ -1123,20 +1217,20 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} @@ -1161,8 +1255,8 @@ packages: dependencies: '@babel/helper-function-name': 7.22.5 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color dev: true @@ -1173,53 +1267,60 @@ packages: dependencies: '@babel/helper-function-name': 7.22.5 '@babel/template': 7.22.5 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true - /@babel/helpers@7.22.5: - resolution: {integrity: sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==} + /@babel/helpers@7.22.10: + resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color - dev: true /@babel/helpers@7.22.6: resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 transitivePeerDependencies: - supports-color + dev: true - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + /@babel/highlight@7.22.10: + resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} engines: {node: '>=6.9.0'} - requiresBuild: true dependencies: '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 js-tokens: 4.0.0 + /@babel/parser@7.22.10: + resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.10 + /@babel/parser@7.22.7: resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 + dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.21.4): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1233,16 +1334,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.21.4): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.21.4) + '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.10) dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.9): @@ -1257,40 +1358,40 @@ packages: '@babel/plugin-transform-optional-chaining': 7.22.6(@babel/core@7.22.9) dev: true - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.4): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.10): 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.4 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-decorators@7.21.0(@babel/core@7.21.4): + /@babel/plugin-proposal-decorators@7.21.0(@babel/core@7.22.10): resolution: {integrity: sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-syntax-decorators': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-syntax-decorators': 7.21.0(@babel/core@7.22.10) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.21.4): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.9): @@ -1302,14 +1403,14 @@ packages: '@babel/core': 7.22.9 dev: true - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.4): + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1324,12 +1425,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.10): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1342,12 +1443,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.10): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1360,13 +1461,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.10): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1380,22 +1481,22 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-decorators@7.21.0(@babel/core@7.21.4): + /@babel/plugin-syntax-decorators@7.21.0(@babel/core@7.22.10): resolution: {integrity: sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1408,12 +1509,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1426,13 +1527,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.21.4): + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1446,13 +1547,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.21.4): + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1466,12 +1567,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.4): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1484,12 +1585,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1512,6 +1613,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} @@ -1522,12 +1633,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1540,12 +1651,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1558,12 +1669,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.10): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1576,12 +1687,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1594,12 +1705,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1612,12 +1723,12 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.10): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1630,13 +1741,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.4): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.10): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1650,13 +1761,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.10): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1680,6 +1791,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.10 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.9): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} @@ -1690,14 +1811,14 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.21.4): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.10): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1712,13 +1833,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1732,17 +1853,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-async-generator-functions@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-async-generator-functions@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) + '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) transitivePeerDependencies: - supports-color dev: true @@ -1760,16 +1881,16 @@ packages: '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.21.4) + '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.10) dev: true /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.9): @@ -1784,13 +1905,13 @@ packages: '@babel/helper-remap-async-to-generator': 7.22.9(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1804,13 +1925,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1824,14 +1945,14 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1846,16 +1967,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10) dev: true /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.9): @@ -1870,15 +1991,15 @@ packages: '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-classes@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-classes@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.21.4) + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.10) '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 @@ -1908,13 +2029,13 @@ packages: globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.5 dev: true @@ -1930,13 +2051,13 @@ packages: '@babel/template': 7.22.5 dev: true - /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1950,14 +2071,14 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1972,13 +2093,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -1992,15 +2113,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) dev: true /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.9): @@ -2014,13 +2135,13 @@ packages: '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2036,15 +2157,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10) dev: true /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.9): @@ -2058,13 +2179,13 @@ packages: '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2078,14 +2199,14 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.10) '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2102,15 +2223,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) dev: true /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.9): @@ -2124,13 +2245,13 @@ packages: '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2144,15 +2265,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) dev: true /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.9): @@ -2166,13 +2287,13 @@ packages: '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2186,14 +2307,14 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2220,14 +2341,14 @@ packages: '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: true @@ -2244,15 +2365,15 @@ packages: '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.21.4) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.5 dev: true @@ -2270,14 +2391,14 @@ packages: '@babel/helper-validator-identifier': 7.22.5 dev: true - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2292,14 +2413,14 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2314,13 +2435,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2334,15 +2455,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) dev: true /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.9): @@ -2356,15 +2477,15 @@ packages: '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) dev: true /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.9): @@ -2378,18 +2499,18 @@ packages: '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.21.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) dev: true /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.9): @@ -2406,15 +2527,15 @@ packages: '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.21.4) + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) dev: true /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.9): @@ -2428,15 +2549,15 @@ packages: '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) dev: true /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.9): @@ -2450,28 +2571,28 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) dev: true - /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.21.4): + /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.22.10): resolution: {integrity: sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) dev: true /@babel/plugin-transform-optional-chaining@7.22.6(@babel/core@7.22.9): @@ -2486,13 +2607,13 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2506,14 +2627,14 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2528,17 +2649,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10) dev: true /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.9): @@ -2554,13 +2675,13 @@ packages: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2625,7 +2746,7 @@ packages: '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.9): @@ -2639,13 +2760,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.1 dev: true @@ -2661,13 +2782,13 @@ packages: regenerator-transform: 0.15.1 dev: true - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2681,30 +2802,30 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-runtime@7.21.4(@babel/core@7.21.4): + /@babel/plugin-transform-runtime@7.21.4(@babel/core@7.22.10): resolution: {integrity: sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - 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) + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.22.10) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.22.10) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.22.10) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2718,13 +2839,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true @@ -2740,13 +2861,13 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2760,13 +2881,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2780,13 +2901,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2813,6 +2934,19 @@ packages: '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.21.4) dev: true + /@babel/plugin-transform-typescript@7.22.9(@babel/core@7.22.10): + resolution: {integrity: sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.10 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.9(@babel/core@7.22.10) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) + dev: true + /@babel/plugin-transform-typescript@7.22.9(@babel/core@7.22.9): resolution: {integrity: sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==} engines: {node: '>=6.9.0'} @@ -2826,13 +2960,13 @@ packages: '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) dev: true - /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2846,14 +2980,14 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2868,14 +3002,14 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2890,14 +3024,14 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.21.4): + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2912,91 +3046,91 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/preset-env@7.22.5(@babel/core@7.21.4): + /@babel/preset-env@7.22.5(@babel/core@7.22.10): resolution: {integrity: sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.10) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@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.22.5(@babel/core@7.21.4) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@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-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-async-generator-functions': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.21.4) - '@babel/preset-modules': 0.1.5(@babel/core@7.21.4) - '@babel/types': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.21.4) - babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.21.4) - babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.21.4) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.10) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.10) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.10) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.10) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.10) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-async-generator-functions': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.10) + '@babel/preset-modules': 0.1.5(@babel/core@7.22.10) + '@babel/types': 7.22.10 + babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.22.10) + babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.22.10) + babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.22.10) core-js-compat: 3.31.0 semver: 6.3.1 transitivePeerDependencies: @@ -3084,7 +3218,7 @@ packages: '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.9) '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.9) '@babel/preset-modules': 0.1.6(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.9) babel-plugin-polyfill-corejs3: 0.8.3(@babel/core@7.22.9) babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.9) @@ -3094,16 +3228,16 @@ packages: - supports-color dev: true - /@babel/preset-modules@0.1.5(@babel/core@7.21.4): + /@babel/preset-modules@0.1.5(@babel/core@7.22.10): resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.21.4) - '@babel/types': 7.22.5 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.10) + '@babel/types': 7.22.10 esutils: 2.0.3 dev: true @@ -3116,7 +3250,7 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.9) '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.9) - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 esutils: 2.0.3 dev: true @@ -3189,26 +3323,52 @@ packages: resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/code-frame': 7.22.10 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 + + /@babel/traverse@7.22.10: + resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color /@babel/traverse@7.22.8: resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.9 + '@babel/code-frame': 7.22.10 + '@babel/generator': 7.22.10 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color + dev: true + + /@babel/types@7.22.10: + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + to-fast-properties: 2.0.0 /@babel/types@7.22.5: resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} @@ -3217,6 +3377,7 @@ packages: '@babel/helper-string-parser': 7.22.5 '@babel/helper-validator-identifier': 7.22.5 to-fast-properties: 2.0.0 + dev: true /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -4302,71 +4463,6 @@ packages: /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - /@icebreakers/eslint-config-basic@1.2.2(@typescript-eslint/eslint-plugin@6.2.1)(@typescript-eslint/parser@6.2.1)(eslint@8.46.0)(prettier@3.0.1)(typescript@5.1.6): - resolution: {integrity: sha512-wSPKCdJEgcT0pXtoJ1T0T3cQabwp4/1iYENX7yMcOEa8bW4rd5F9tH9m45OGCtRpsUfKZL/u3ykP5OOVTPIK7A==} - dependencies: - eslint-config-prettier: 8.9.0(eslint@8.46.0) - eslint-config-standard: 17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.46.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@6.2.1)(eslint@8.46.0) - eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@6.2.1)(eslint@8.46.0)(typescript@5.1.6) - eslint-plugin-n: 16.0.1(eslint@8.46.0) - eslint-plugin-prettier: 5.0.0(eslint-config-prettier@8.9.0)(eslint@8.46.0)(prettier@3.0.1) - eslint-plugin-promise: 6.1.1(eslint@8.46.0) - transitivePeerDependencies: - - '@types/eslint' - - '@typescript-eslint/eslint-plugin' - - '@typescript-eslint/parser' - - eslint - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - prettier - - supports-color - - typescript - dev: true - - /@icebreakers/eslint-config-ts@1.2.2(eslint@8.46.0)(prettier@3.0.1)(typescript@5.1.6): - resolution: {integrity: sha512-oBkEKLYIGRhm6TYbc4LAgpau02FHFBiqhHN4HasqFYjxuF3OHSOtPEyoVPOLZe2oxJvnLlvnlXsFsa/XIQMjQA==} - dependencies: - '@icebreakers/eslint-config-basic': 1.2.2(@typescript-eslint/eslint-plugin@6.2.1)(@typescript-eslint/parser@6.2.1)(eslint@8.46.0)(prettier@3.0.1)(typescript@5.1.6) - '@types/jest': 29.5.3 - '@typescript-eslint/eslint-plugin': 6.2.1(@typescript-eslint/parser@6.2.1)(eslint@8.46.0)(typescript@5.1.6) - '@typescript-eslint/parser': 6.2.1(eslint@8.46.0)(typescript@5.1.6) - transitivePeerDependencies: - - '@types/eslint' - - eslint - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - prettier - - supports-color - - typescript - dev: true - - /@icebreakers/rollup@0.4.0(rollup@3.27.2)(tslib@2.6.1)(typescript@5.1.6): - resolution: {integrity: sha512-PQU/fiSwgHA1pJJMs/Z/mtgZyH0Js4M01a2a4xvJ3O7VT0qi9BGL5iBfn3QLvPTkTFZaFvdiKUik2mgaEM/a9A==} - dependencies: - '@rollup/plugin-alias': 5.0.0(rollup@3.27.2) - '@rollup/plugin-commonjs': 24.1.0(rollup@3.27.2) - '@rollup/plugin-json': 6.0.0(rollup@3.27.2) - '@rollup/plugin-node-resolve': 15.0.2(rollup@3.27.2) - '@rollup/plugin-replace': 5.0.2(rollup@3.27.2) - '@rollup/plugin-terser': 0.4.1(rollup@3.27.2) - '@rollup/plugin-typescript': 11.1.0(rollup@3.27.2)(tslib@2.6.1)(typescript@5.1.6) - defu: 6.1.2 - del: 6.1.1 - transitivePeerDependencies: - - rollup - - tslib - - typescript - dev: true - - /@icebreakers/tsconfig@0.0.7: - resolution: {integrity: sha512-scl/7xlUSFKCEGmeBO7OIvnhr4wRVkF6TuSWBu0VgFNTtEcP8vr5c2WWK9X+pkUi/Wbr3yz0IEJPuQQZNn2WhQ==} - dependencies: - '@tsconfig/recommended': 1.0.2 - dev: true - /@ioredis/commands@1.2.0: resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} dev: true @@ -4376,13 +4472,6 @@ packages: engines: {node: '>=8'} dev: true - /@jest/expect-utils@29.6.1: - resolution: {integrity: sha512-o319vIf5pEMx0LmzSxxkYYxo4wrRLKHq9dP1yJU7FoPTB0LfAKSz8SWD6D/6U3v/O52t9cF5t+MeJiRsfk7zMw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.4.3 - dev: true - /@jest/schemas@29.6.0: resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4390,18 +4479,6 @@ packages: '@sinclair/typebox': 0.27.8 dev: true - /@jest/types@29.6.1: - resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 20.4.8 - '@types/yargs': 17.0.24 - chalk: 4.1.2 - dev: true - /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} @@ -5120,24 +5197,6 @@ packages: rollup: 3.27.2 dev: true - /@rollup/plugin-node-resolve@15.0.2(rollup@3.27.2): - resolution: {integrity: sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-builtin-module: 3.2.1 - is-module: 1.0.0 - resolve: 1.22.4 - rollup: 3.27.2 - dev: true - /@rollup/plugin-node-resolve@15.1.0(rollup@3.27.2): resolution: {integrity: sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==} engines: {node: '>=14.0.0'} @@ -5170,21 +5229,6 @@ packages: rollup: 3.27.2 dev: true - /@rollup/plugin-terser@0.4.1(rollup@3.27.2): - resolution: {integrity: sha512-aKS32sw5a7hy+fEXVy+5T95aDIwjpGHCTv833HXVtyKMDoVS7pBr5K3L9hEQoNqbJFjfANPrNpIXlTQ7is00eA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.x || ^3.x - peerDependenciesMeta: - rollup: - optional: true - dependencies: - rollup: 3.27.2 - serialize-javascript: 6.0.1 - smob: 0.0.6 - terser: 5.17.7 - dev: true - /@rollup/plugin-terser@0.4.3(rollup@3.27.2): resolution: {integrity: sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==} engines: {node: '>=14.0.0'} @@ -5200,26 +5244,6 @@ packages: terser: 5.19.2 dev: true - /@rollup/plugin-typescript@11.1.0(rollup@3.27.2)(tslib@2.6.1)(typescript@5.1.6): - resolution: {integrity: sha512-86flrfE+bSHB69znnTV6kVjkncs2LBMhcTCyxWgRxLyfXfQrxg4UwlAqENnjrrxnSNS/XKCDJCl8EkdFJVHOxw==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.14.0||^3.0.0 - tslib: '*' - typescript: '>=3.7.0' - peerDependenciesMeta: - rollup: - optional: true - tslib: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.27.2) - resolve: 1.22.4 - rollup: 3.27.2 - tslib: 2.6.1 - typescript: 5.1.6 - dev: true - /@rollup/plugin-wasm@6.1.3(rollup@3.27.2): resolution: {integrity: sha512-7ItTTeyauE6lwdDtQWceEHZ9+txbi4RRy0mYPFn9BW7rD7YdgBDu7HTHsLtHrRzJc313RM/1m6GKgV3np/aEaw==} engines: {node: '>=14.0.0'} @@ -5351,7 +5375,7 @@ packages: resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} engines: {node: '>=12'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 '@babel/runtime': 7.22.6 '@types/aria-query': 5.0.1 aria-query: 5.1.3 @@ -5403,8 +5427,8 @@ packages: /@types/babel__core@7.20.0: resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.20.1 @@ -5414,7 +5438,7 @@ packages: resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} dependencies: '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.20.1 @@ -5423,20 +5447,20 @@ packages: /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 dev: true /@types/babel__traverse@7.20.1: resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 dev: true /@types/body-parser@1.19.2: @@ -5587,25 +5611,6 @@ packages: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: true - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} - dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - dev: true - - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} - dependencies: - '@types/istanbul-lib-report': 3.0.0 - dev: true - - /@types/jest@29.5.3: - resolution: {integrity: sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==} - dependencies: - expect: 29.6.1 - pretty-format: 29.6.1 - dev: true - /@types/json-schema@7.0.12: resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} dev: true @@ -5632,6 +5637,16 @@ packages: '@types/webpack': 4.41.33 dev: true + /@types/lodash-es@4.17.8: + resolution: {integrity: sha512-euY3XQcZmIzSy7YH5+Unb3b2X12Wtk54YWINBvvGQ5SmMvwb11JQskGsfkH/5HXK77Kr8GF0wkVDIxzAisWtog==} + dependencies: + '@types/lodash': 4.14.196 + dev: true + + /@types/lodash@4.14.196: + resolution: {integrity: sha512-22y3o88f4a94mKljsZcanlNWPzO0uBsBdzLAngf2tp533LzZcQzb6+eZPJ+vCTt+bqF2XnvT9gejTLsAcJAJyQ==} + dev: true + /@types/mdast@3.0.12: resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} dependencies: @@ -5754,10 +5769,6 @@ packages: resolution: {integrity: sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==} dev: true - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true - /@types/tapable@1.0.8: resolution: {integrity: sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==} dev: true @@ -5805,16 +5816,6 @@ packages: '@types/node': 20.4.8 dev: true - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true - - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} - dependencies: - '@types/yargs-parser': 21.0.0 - dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5843,8 +5844,8 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.2.1(@typescript-eslint/parser@6.2.1)(eslint@8.46.0)(typescript@5.1.6): - resolution: {integrity: sha512-iZVM/ALid9kO0+I81pnp1xmYiFyqibAHzrqX4q5YvvVEyJqY+e6rfTXSCsc2jUxGNqJqTfFSSij/NFkZBiBzLw==} + /@typescript-eslint/eslint-plugin@6.3.0(@typescript-eslint/parser@6.3.0)(eslint@8.46.0)(typescript@5.1.6): + resolution: {integrity: sha512-IZYjYZ0ifGSLZbwMqIip/nOamFiWJ9AH+T/GYNZBWkVcyNQOFGtSMoWV7RvY4poYCMZ/4lHzNl796WOSNxmk8A==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -5855,11 +5856,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 6.2.1(eslint@8.46.0)(typescript@5.1.6) - '@typescript-eslint/scope-manager': 6.2.1 - '@typescript-eslint/type-utils': 6.2.1(eslint@8.46.0)(typescript@5.1.6) - '@typescript-eslint/utils': 6.2.1(eslint@8.46.0)(typescript@5.1.6) - '@typescript-eslint/visitor-keys': 6.2.1 + '@typescript-eslint/parser': 6.3.0(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/scope-manager': 6.3.0 + '@typescript-eslint/type-utils': 6.3.0(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/utils': 6.3.0(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.3.0 debug: 4.3.4 eslint: 8.46.0 graphemer: 1.4.0 @@ -5912,6 +5913,28 @@ packages: typescript: 5.1.6 transitivePeerDependencies: - supports-color + dev: false + + /@typescript-eslint/parser@6.3.0(eslint@8.46.0)(typescript@5.1.6): + resolution: {integrity: sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.3.0 + '@typescript-eslint/types': 6.3.0 + '@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.3.0 + debug: 4.3.4 + eslint: 8.46.0 + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true /@typescript-eslint/scope-manager@5.62.0: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} @@ -5927,6 +5950,15 @@ packages: dependencies: '@typescript-eslint/types': 6.2.1 '@typescript-eslint/visitor-keys': 6.2.1 + dev: false + + /@typescript-eslint/scope-manager@6.3.0: + resolution: {integrity: sha512-WlNFgBEuGu74ahrXzgefiz/QlVb+qg8KDTpknKwR7hMH+lQygWyx0CQFoUmMn1zDkQjTBBIn75IxtWss77iBIQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.3.0 + '@typescript-eslint/visitor-keys': 6.3.0 + dev: true /@typescript-eslint/type-utils@5.62.0(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} @@ -5948,8 +5980,8 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@6.2.1(eslint@8.46.0)(typescript@5.1.6): - resolution: {integrity: sha512-fTfCgomBMIgu2Dh2Or3gMYgoNAnQm3RLtRp+jP7A8fY+LJ2+9PNpi5p6QB5C4RSP+U3cjI0vDlI3mspAkpPVbQ==} + /@typescript-eslint/type-utils@6.3.0(eslint@8.46.0)(typescript@5.1.6): + resolution: {integrity: sha512-7Oj+1ox1T2Yc8PKpBvOKWhoI/4rWFd1j7FA/rPE0lbBPXTKjdbtC+7Ev0SeBjEKkIhKWVeZSP+mR7y1Db1CdfQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -5958,8 +5990,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.2.1(typescript@5.1.6) - '@typescript-eslint/utils': 6.2.1(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6) + '@typescript-eslint/utils': 6.3.0(eslint@8.46.0)(typescript@5.1.6) debug: 4.3.4 eslint: 8.46.0 ts-api-utils: 1.0.1(typescript@5.1.6) @@ -5976,6 +6008,12 @@ packages: /@typescript-eslint/types@6.2.1: resolution: {integrity: sha512-528bGcoelrpw+sETlyM91k51Arl2ajbNT9L4JwoXE2dvRe1yd8Q64E4OL7vHYw31mlnVsf+BeeLyAZUEQtqahQ==} engines: {node: ^16.0.0 || >=18.0.0} + dev: false + + /@typescript-eslint/types@6.3.0: + resolution: {integrity: sha512-K6TZOvfVyc7MO9j60MkRNWyFSf86IbOatTKGrpTQnzarDZPYPVy0oe3myTMq7VjhfsUAbNUW8I5s+2lZvtx1gg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} @@ -6017,6 +6055,28 @@ packages: typescript: 5.1.6 transitivePeerDependencies: - supports-color + dev: false + + /@typescript-eslint/typescript-estree@6.3.0(typescript@5.1.6): + resolution: {integrity: sha512-Xh4NVDaC4eYKY4O3QGPuQNp5NxBAlEvNQYOqJquR2MePNxO11E5K3t5x4M4Mx53IZvtpW+mBxIT0s274fLUocg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.3.0 + '@typescript-eslint/visitor-keys': 6.3.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.1(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true /@typescript-eslint/utils@5.62.0(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} @@ -6038,8 +6098,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.2.1(eslint@8.46.0)(typescript@5.1.6): - resolution: {integrity: sha512-eBIXQeupYmxVB6S7x+B9SdBeB6qIdXKjgQBge2J+Ouv8h9Cxm5dHf/gfAZA6dkMaag+03HdbVInuXMmqFB/lKQ==} + /@typescript-eslint/utils@6.3.0(eslint@8.46.0)(typescript@5.1.6): + resolution: {integrity: sha512-hLLg3BZE07XHnpzglNBG8P/IXq/ZVXraEbgY7FM0Cnc1ehM8RMdn9mat3LubJ3KBeYXXPxV1nugWbQPjGeJk6Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -6047,9 +6107,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.2.1 - '@typescript-eslint/types': 6.2.1 - '@typescript-eslint/typescript-estree': 6.2.1(typescript@5.1.6) + '@typescript-eslint/scope-manager': 6.3.0 + '@typescript-eslint/types': 6.3.0 + '@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6) eslint: 8.46.0 semver: 7.5.4 transitivePeerDependencies: @@ -6071,6 +6131,15 @@ packages: dependencies: '@typescript-eslint/types': 6.2.1 eslint-visitor-keys: 3.4.2 + dev: false + + /@typescript-eslint/visitor-keys@6.3.0: + resolution: {integrity: sha512-kEhRRj7HnvaSjux1J9+7dBen15CdWmDnwrpyiHsFX6Qx2iW5LOBUgNefOFeh2PjWPlNwN8TOn6+4eBU3J/gupw==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.3.0 + eslint-visitor-keys: 3.4.2 + dev: true /@unhead/dom@1.2.1: resolution: {integrity: sha512-Kjo6bJpo2RFUlhPq/fGQbUpTdfNSwbwg3vjMmqxCPcTWg87sv+a3kNnIP3c/CV0Sc34OsMY/0Melx+0BAu937g==} @@ -6114,7 +6183,7 @@ packages: /@vanilla-extract/babel-plugin-debug-ids@1.0.3: resolution: {integrity: sha512-vm4jYu1xhSa6ofQ9AhIpR3DkAp4c+eoR1Rpm8/TQI4DmWbmGbOjYRcqV0aWsfaIlNhN4kFuxFMKBNN9oG6iRzA==} dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 transitivePeerDependencies: - supports-color dev: true @@ -6138,8 +6207,8 @@ packages: /@vanilla-extract/integration@6.2.1(@types/node@20.4.8): resolution: {integrity: sha512-+xYJz07G7TFAMZGrOqArOsURG+xcYvqctujEkANjw2McCBvGEK505RxQqOuNiA9Mi9hgGdNp2JedSa94f3eoLg==} dependencies: - '@babel/core': 7.22.9 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) '@vanilla-extract/babel-plugin-debug-ids': 1.0.3 '@vanilla-extract/css': 1.12.0 esbuild: 0.17.6 @@ -6209,9 +6278,9 @@ packages: vite: ^4.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.22.9 - '@babel/plugin-transform-typescript': 7.22.9(@babel/core@7.22.9) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.9) + '@babel/core': 7.22.10 + '@babel/plugin-transform-typescript': 7.22.9(@babel/core@7.22.10) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.10) vite: 4.3.9(@types/node@20.4.8) vue: 3.3.4 transitivePeerDependencies: @@ -6326,7 +6395,7 @@ packages: vue: optional: true dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 '@rollup/pluginutils': 5.0.2(rollup@3.27.2) '@vue/compiler-sfc': 3.3.4 ast-kit: 0.9.4(rollup@3.27.2) @@ -6349,14 +6418,14 @@ packages: resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} dev: true - /@vue/babel-plugin-jsx@1.1.1(@babel/core@7.21.4): + /@vue/babel-plugin-jsx@1.1.1(@babel/core@7.22.10): resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} dependencies: '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 '@vue/babel-helper-vue-transform-on': 1.0.2 camelcase: 6.3.0 html-tags: 3.3.1 @@ -6366,17 +6435,17 @@ packages: - supports-color dev: true - /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.9): + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.10): resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.9) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) '@babel/template': 7.22.5 - '@babel/traverse': 7.22.8 - '@babel/types': 7.22.5 + '@babel/traverse': 7.22.10 + '@babel/types': 7.22.10 '@vue/babel-helper-vue-transform-on': 1.1.5 camelcase: 6.3.0 html-tags: 3.3.1 @@ -6385,14 +6454,14 @@ packages: - supports-color dev: true - /@vue/babel-plugin-transform-vue-jsx@1.4.0(@babel/core@7.21.4): + /@vue/babel-plugin-transform-vue-jsx@1.4.0(@babel/core@7.22.10): resolution: {integrity: sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 html-tags: 2.0.0 lodash.kebabcase: 4.1.1 @@ -6410,18 +6479,18 @@ packages: vue: optional: true dependencies: - '@babel/core': 7.21.4 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.10) '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.4) - '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.21.4) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) - '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.21.4) - '@babel/preset-env': 7.22.5(@babel/core@7.21.4) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.10) + '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.22.10) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.10) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) + '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.22.10) + '@babel/preset-env': 7.22.5(@babel/core@7.22.10) '@babel/runtime': 7.21.0 - '@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.21.4) - '@vue/babel-preset-jsx': 1.4.0(@babel/core@7.21.4)(vue@3.3.4) + '@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.22.10) + '@vue/babel-preset-jsx': 1.4.0(@babel/core@7.22.10)(vue@3.3.4) babel-plugin-dynamic-import-node: 2.3.3 core-js: 3.32.0 core-js-compat: 3.30.1 @@ -6431,7 +6500,7 @@ packages: - supports-color dev: true - /@vue/babel-preset-jsx@1.4.0(@babel/core@7.21.4)(vue@3.3.4): + /@vue/babel-preset-jsx@1.4.0(@babel/core@7.22.10)(vue@3.3.4): resolution: {integrity: sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==} peerDependencies: '@babel/core': ^7.0.0-0 @@ -6440,76 +6509,76 @@ packages: vue: optional: true dependencies: - '@babel/core': 7.21.4 + '@babel/core': 7.22.10 '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 - '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.21.4) - '@vue/babel-sugar-composition-api-inject-h': 1.4.0(@babel/core@7.21.4) - '@vue/babel-sugar-composition-api-render-instance': 1.4.0(@babel/core@7.21.4) - '@vue/babel-sugar-functional-vue': 1.4.0(@babel/core@7.21.4) - '@vue/babel-sugar-inject-h': 1.4.0(@babel/core@7.21.4) - '@vue/babel-sugar-v-model': 1.4.0(@babel/core@7.21.4) - '@vue/babel-sugar-v-on': 1.4.0(@babel/core@7.21.4) + '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.22.10) + '@vue/babel-sugar-composition-api-inject-h': 1.4.0(@babel/core@7.22.10) + '@vue/babel-sugar-composition-api-render-instance': 1.4.0(@babel/core@7.22.10) + '@vue/babel-sugar-functional-vue': 1.4.0(@babel/core@7.22.10) + '@vue/babel-sugar-inject-h': 1.4.0(@babel/core@7.22.10) + '@vue/babel-sugar-v-model': 1.4.0(@babel/core@7.22.10) + '@vue/babel-sugar-v-on': 1.4.0(@babel/core@7.22.10) vue: 3.3.4 dev: true - /@vue/babel-sugar-composition-api-inject-h@1.4.0(@babel/core@7.21.4): + /@vue/babel-sugar-composition-api-inject-h@1.4.0(@babel/core@7.22.10): resolution: {integrity: sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) dev: true - /@vue/babel-sugar-composition-api-render-instance@1.4.0(@babel/core@7.21.4): + /@vue/babel-sugar-composition-api-render-instance@1.4.0(@babel/core@7.22.10): resolution: {integrity: sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) dev: true - /@vue/babel-sugar-functional-vue@1.4.0(@babel/core@7.21.4): + /@vue/babel-sugar-functional-vue@1.4.0(@babel/core@7.22.10): resolution: {integrity: sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) dev: true - /@vue/babel-sugar-inject-h@1.4.0(@babel/core@7.21.4): + /@vue/babel-sugar-inject-h@1.4.0(@babel/core@7.22.10): resolution: {integrity: sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) dev: true - /@vue/babel-sugar-v-model@1.4.0(@babel/core@7.21.4): + /@vue/babel-sugar-v-model@1.4.0(@babel/core@7.22.10): resolution: {integrity: sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) '@vue/babel-helper-vue-jsx-merge-props': 1.4.0 - '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.21.4) + '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.22.10) camelcase: 5.3.1 html-tags: 2.0.0 svg-tags: 1.0.0 dev: true - /@vue/babel-sugar-v-on@1.4.0(@babel/core@7.21.4): + /@vue/babel-sugar-v-on@1.4.0(@babel/core@7.22.10): resolution: {integrity: sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) - '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) + '@vue/babel-plugin-transform-vue-jsx': 1.4.0(@babel/core@7.22.10) camelcase: 5.3.1 dev: true @@ -6795,7 +6864,7 @@ packages: /@vue/compiler-core@3.3.4: resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} dependencies: - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@vue/shared': 3.3.4 estree-walker: 2.0.2 source-map-js: 1.0.2 @@ -6809,7 +6878,7 @@ packages: /@vue/compiler-sfc@3.3.4: resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} dependencies: - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@vue/compiler-core': 3.3.4 '@vue/compiler-dom': 3.3.4 '@vue/compiler-ssr': 3.3.4 @@ -6898,7 +6967,7 @@ packages: /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} - /@vue/eslint-config-standard@8.0.1(@typescript-eslint/parser@6.2.1)(eslint-plugin-vue@9.16.1)(eslint@8.46.0): + /@vue/eslint-config-standard@8.0.1(@typescript-eslint/parser@6.3.0)(eslint-plugin-vue@9.16.1)(eslint@8.46.0): resolution: {integrity: sha512-+FsTb8kOf2GSbXXTwbigRBRRur/byMbwL6Ijii2JoXW4hsLB4arl9lbgV54OUOV5o20INLHDmBVONO16rP/a1g==} peerDependencies: eslint: ^8.0.1 @@ -6908,7 +6977,7 @@ packages: eslint-config-standard: 17.0.0(eslint-plugin-import@2.28.0)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.46.0) eslint-import-resolver-custom-alias: 1.3.0(eslint-plugin-import@2.28.0) eslint-import-resolver-node: 0.3.7 - eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) eslint-plugin-n: 15.7.0(eslint@8.46.0) eslint-plugin-promise: 6.1.1(eslint@8.46.0) eslint-plugin-vue: 9.16.1(eslint@8.46.0) @@ -6962,7 +7031,7 @@ packages: /@vue/reactivity-transform@3.3.4: resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} dependencies: - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@vue/compiler-core': 3.3.4 '@vue/shared': 3.3.4 estree-walker: 2.0.2 @@ -7594,7 +7663,7 @@ packages: resolution: {integrity: sha512-UrZHsdj87OS6NM+IXRii+asdAUA/P0SMa4r1NrZvsUy72hDvCYwk8c9PsbKf1MvJ0BvP+rF1B8tFP54eT370Tg==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.22.7 + '@babel/parser': 7.22.10 '@rollup/pluginutils': 5.0.2(rollup@3.27.2) pathe: 1.1.1 transitivePeerDependencies: @@ -7622,8 +7691,8 @@ packages: resolution: {integrity: sha512-vdCU9JvpsrxWxvJiRHAr8If8cu07LWJXDPhkqLiP4ErbN1fu/mK623QGmU4Qbn2Nq4Mx0vR/Q017B6+HcHg1aQ==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.22.10 + '@babel/types': 7.22.10 dev: true /astring@1.8.6: @@ -7707,32 +7776,32 @@ packages: '@babel/core': 7.21.4 '@babel/helper-module-imports': 7.18.6 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.21.4) - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 html-entities: 2.3.3 validate-html-nesting: 1.2.1 dev: true - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.4): + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.22.10): resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.22.10) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.21.4): + /babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.22.10): resolution: {integrity: sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.22.9 - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.10) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -7751,25 +7820,25 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.4): + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.22.10): resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.22.10) core-js-compat: 3.30.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.21.4): + /babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.22.10): resolution: {integrity: sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.10) core-js-compat: 3.31.0 transitivePeerDependencies: - supports-color @@ -7787,24 +7856,24 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.4): + /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.22.10): resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.22.10) transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.0(@babel/core@7.21.4): + /babel-plugin-polyfill-regenerator@0.5.0(@babel/core@7.22.10): resolution: {integrity: sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.21.4) + '@babel/core': 7.22.10 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.10) transitivePeerDependencies: - supports-color dev: true @@ -8761,13 +8830,13 @@ packages: /core-js-compat@3.30.1: resolution: {integrity: sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==} dependencies: - browserslist: 4.21.9 + browserslist: 4.21.10 dev: true /core-js-compat@3.31.0: resolution: {integrity: sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==} dependencies: - browserslist: 4.21.9 + browserslist: 4.21.10 dev: true /core-js-compat@3.32.0: @@ -9269,7 +9338,6 @@ packages: peerDependenciesMeta: babel-plugin-macros: optional: true - dev: true /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} @@ -9380,20 +9448,6 @@ packages: esprima: 4.0.1 dev: true - /del@6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} - dependencies: - globby: 11.1.0 - graceful-fs: 4.2.11 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - dev: true - /del@7.0.0: resolution: {integrity: sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==} engines: {node: '>=14.16'} @@ -9935,11 +9989,6 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true - /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -9961,6 +10010,30 @@ packages: source-map: 0.6.1 dev: true + /eslint-config-icebreaker@1.2.2(eslint@8.46.0)(typescript@5.1.6): + resolution: {integrity: sha512-Mg+MxxtLw5Nq+ACNhqCDK3WfQOmYj7sr1FYgAYGcb817X5uznICNiXEOmQOzLBrRj7XyAEnB4fnVekwcGoSqZg==} + peerDependencies: + eslint: '*' + typescript: '*' + dependencies: + '@typescript-eslint/eslint-plugin': 6.3.0(@typescript-eslint/parser@6.3.0)(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/parser': 6.3.0(eslint@8.46.0)(typescript@5.1.6) + eslint: 8.46.0 + eslint-config-prettier: 8.9.0(eslint@8.46.0) + eslint-config-standard: 17.1.0(eslint-plugin-import@2.28.0)(eslint-plugin-n@16.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.46.0) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@6.3.0)(eslint-plugin-import@2.28.0)(eslint@8.46.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-plugin-n: 16.0.1(eslint@8.46.0) + eslint-plugin-node: 11.1.0(eslint@8.46.0) + eslint-plugin-promise: 6.1.1(eslint@8.46.0) + eslint-plugin-unicorn: 48.0.1(eslint@8.46.0) + typescript: 5.1.6 + transitivePeerDependencies: + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: true + /eslint-config-next@13.4.13(eslint@8.46.0)(typescript@5.1.6): resolution: {integrity: sha512-EXAh5h1yG/YTNa5YdskzaSZncBjKjvFe2zclMCi2KXyTsXha22wB6MPs/U7idB6a2qjpBdbZcruQY1TWjfNMZw==} peerDependencies: @@ -9995,6 +10068,15 @@ packages: eslint: 8.46.0 dev: true + /eslint-config-prettier@9.0.0(eslint@8.46.0): + resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.46.0 + dev: true + /eslint-config-standard@17.0.0(eslint-plugin-import@2.28.0)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.1.1)(eslint@8.46.0): resolution: {integrity: sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==} peerDependencies: @@ -10004,12 +10086,12 @@ packages: eslint-plugin-promise: ^6.0.0 dependencies: eslint: 8.46.0 - eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) eslint-plugin-n: 15.7.0(eslint@8.46.0) eslint-plugin-promise: 6.1.1(eslint@8.46.0) dev: true - /eslint-config-standard@17.1.0(eslint-plugin-import@2.27.5)(eslint-plugin-n@16.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.46.0): + /eslint-config-standard@17.1.0(eslint-plugin-import@2.28.0)(eslint-plugin-n@16.0.1)(eslint-plugin-promise@6.1.1)(eslint@8.46.0): resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} engines: {node: '>=12.0.0'} peerDependencies: @@ -10019,7 +10101,7 @@ packages: eslint-plugin-promise: ^6.0.0 dependencies: eslint: 8.46.0 - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@6.2.1)(eslint@8.46.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) eslint-plugin-n: 16.0.1(eslint@8.46.0) eslint-plugin-promise: 6.1.1(eslint@8.46.0) dev: true @@ -10029,7 +10111,7 @@ packages: peerDependencies: eslint-plugin-import: '>=2.2.0' dependencies: - eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) glob-parent: 5.1.2 resolve: 1.22.4 dev: true @@ -10051,6 +10133,7 @@ packages: resolve: 1.22.4 transitivePeerDependencies: - supports-color + dev: false /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.28.0)(eslint@8.46.0): resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} @@ -10098,6 +10181,31 @@ packages: - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color + dev: false + + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@6.3.0)(eslint-plugin-import@2.28.0)(eslint@8.46.0): + resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.15.0 + eslint: 8.46.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + get-tsconfig: 4.6.2 + globby: 13.2.2 + is-core-module: 2.13.0 + is-glob: 4.0.3 + synckit: 0.8.5 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: true /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} @@ -10157,6 +10265,7 @@ packages: eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.46.0) transitivePeerDependencies: - supports-color + dev: false /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} @@ -10186,6 +10295,37 @@ packages: eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-node@0.3.8)(eslint-plugin-import@2.28.0)(eslint@8.46.0) transitivePeerDependencies: - supports-color + dev: false + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.3.0(eslint@8.46.0)(typescript@5.1.6) + debug: 3.2.7 + eslint: 8.46.0 + eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@6.3.0)(eslint-plugin-import@2.28.0)(eslint@8.46.0) + transitivePeerDependencies: + - supports-color + dev: true /eslint-plugin-es-x@7.2.0(eslint@8.46.0): resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} @@ -10220,8 +10360,8 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@6.2.1)(eslint@8.46.0): - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + /eslint-plugin-import@2.28.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): + resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -10230,21 +10370,24 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.2.1(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@5.1.6) array-includes: 3.1.6 + array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.46.0 - eslint-import-resolver-node: 0.3.8 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-node@0.3.8)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-import-resolver-node: 0.3.7 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) has: 1.0.3 - is-core-module: 2.13.0 + is-core-module: 2.12.1 is-glob: 4.0.3 minimatch: 3.1.2 + object.fromentries: 2.0.6 + object.groupby: 1.0.0 object.values: 1.1.6 - resolve: 1.22.4 + resolve: 1.22.3 semver: 6.3.1 tsconfig-paths: 3.14.2 transitivePeerDependencies: @@ -10253,7 +10396,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.28.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): + /eslint-plugin-import@2.28.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} engines: {node: '>=4'} peerDependencies: @@ -10263,7 +10406,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/parser': 6.2.1(eslint@8.46.0)(typescript@5.1.6) array-includes: 3.1.6 array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 @@ -10272,7 +10415,7 @@ packages: doctrine: 2.1.0 eslint: 8.46.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) has: 1.0.3 is-core-module: 2.12.1 is-glob: 4.0.3 @@ -10287,9 +10430,9 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true + dev: false - /eslint-plugin-import@2.28.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): + /eslint-plugin-import@2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} engines: {node: '>=4'} peerDependencies: @@ -10299,7 +10442,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.2.1(eslint@8.46.0)(typescript@5.1.6) + '@typescript-eslint/parser': 6.3.0(eslint@8.46.0)(typescript@5.1.6) array-includes: 3.1.6 array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 @@ -10308,7 +10451,7 @@ packages: doctrine: 2.1.0 eslint: 8.46.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.2.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0) has: 1.0.3 is-core-module: 2.12.1 is-glob: 4.0.3 @@ -10323,6 +10466,7 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color + dev: true /eslint-plugin-jest-dom@4.0.3(eslint@8.46.0): resolution: {integrity: sha512-9j+n8uj0+V0tmsoS7bYC7fLhQmIvjRqRYEcbDSi+TKPsTThLLXCyj5swMSSf/hTleeMktACnn+HFqXBr5gbcbA==} @@ -10357,27 +10501,6 @@ packages: - typescript dev: true - /eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@6.2.1)(eslint@8.46.0)(typescript@5.1.6): - resolution: {integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 - eslint: ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true - dependencies: - '@typescript-eslint/eslint-plugin': 6.2.1(@typescript-eslint/parser@6.2.1)(eslint@8.46.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.62.0(eslint@8.46.0)(typescript@5.1.6) - eslint: 8.46.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.46.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} @@ -10413,7 +10536,7 @@ packages: eslint-plugin-es: 4.1.0(eslint@8.46.0) eslint-utils: 3.0.0(eslint@8.46.0) ignore: 5.2.4 - is-core-module: 2.12.1 + is-core-module: 2.13.0 minimatch: 3.1.2 resolve: 1.22.4 semver: 7.5.4 @@ -10451,7 +10574,7 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-prettier@5.0.0(eslint-config-prettier@8.9.0)(eslint@8.46.0)(prettier@3.0.1): + /eslint-plugin-prettier@5.0.0(eslint-config-prettier@9.0.0)(eslint@8.46.0)(prettier@3.0.1): resolution: {integrity: sha512-AgaZCVuYDXHUGxj/ZGu1u8H8CYgDY3iG6w5kUFw4AzMVXzB7VvbKgYR4nATIN+OvUrghMbiDLeimVjVY5ilq3w==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -10466,7 +10589,7 @@ packages: optional: true dependencies: eslint: 8.46.0 - eslint-config-prettier: 8.9.0(eslint@8.46.0) + eslint-config-prettier: 9.0.0(eslint@8.46.0) prettier: 3.0.1 prettier-linter-helpers: 1.0.0 synckit: 0.8.5 @@ -10856,18 +10979,6 @@ packages: engines: {node: '>=6'} dev: true - /expect@29.6.1: - resolution: {integrity: sha512-XEdDLonERCU1n9uR56/Stx9OqojaLAQtZf9PrCHH9Hl8YXiEIka3H4NXJ3NOIBmQJTg7+j7buh34PMHfJujc8g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.6.1 - '@types/node': 20.4.8 - jest-get-type: 29.4.3 - jest-matcher-utils: 29.6.1 - jest-message-util: 29.6.1 - jest-util: 29.6.1 - dev: true - /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -12195,11 +12306,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - /is-path-cwd@2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: true - /is-path-cwd@3.0.0: resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -12416,58 +12522,6 @@ packages: resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} dev: true - /jest-diff@29.6.1: - resolution: {integrity: sha512-FsNCvinvl8oVxpNLttNQX7FAq7vR+gMDGj90tiP7siWw1UdakWUGqrylpsYrpvj908IYckm5Y0Q7azNAozU1Kg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.4.3 - jest-get-type: 29.4.3 - pretty-format: 29.6.1 - dev: true - - /jest-get-type@29.4.3: - resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jest-matcher-utils@29.6.1: - resolution: {integrity: sha512-SLaztw9d2mfQQKHmJXKM0HCbl2PPVld/t9Xa6P9sgiExijviSp7TnZZpw2Fpt+OI3nwUO/slJbOfzfUMKKC5QA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.6.1 - jest-get-type: 29.4.3 - pretty-format: 29.6.1 - dev: true - - /jest-message-util@29.6.1: - resolution: {integrity: sha512-KoAW2zAmNSd3Gk88uJ56qXUWbFk787QKmjjJVOjtGFmmGSZgDBrlIL4AfQw1xyMYPNVD7dNInfIbur9B2rd/wQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.22.5 - '@jest/types': 29.6.1 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.6.1 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - - /jest-util@29.6.1: - resolution: {integrity: sha512-NRFCcjc+/uO3ijUVyNOQJluf8PtGCe/W6cix36+M3cTFgiYqFOOW5MgN4JOOcvbUhcKTYVd1CvHz/LWi8d16Mg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.1 - '@types/node': 20.4.8 - chalk: 4.1.2 - ci-info: 3.8.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - dev: true - /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} @@ -12773,6 +12827,10 @@ packages: dependencies: p-locate: 5.0.0 + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: true + /lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} dev: true @@ -14467,7 +14525,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -14664,7 +14722,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.5 + browserslist: 4.21.10 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.27 @@ -14690,7 +14748,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.5 + browserslist: 4.21.10 postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true @@ -14877,7 +14935,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.5 + browserslist: 4.21.10 caniuse-api: 3.0.0 cssnano-utils: 3.1.0(postcss@8.4.27) postcss: 8.4.27 @@ -14947,7 +15005,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.5 + browserslist: 4.21.10 cssnano-utils: 3.1.0(postcss@8.4.27) postcss: 8.4.27 postcss-value-parser: 4.2.0 @@ -15175,7 +15233,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.5 + browserslist: 4.21.10 postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true @@ -15260,7 +15318,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.5 + browserslist: 4.21.10 caniuse-api: 3.0.0 postcss: 8.4.27 dev: true @@ -15440,15 +15498,6 @@ packages: react-is: 17.0.2 dev: true - /pretty-format@29.6.1: - resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.0 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - /pretty-format@29.6.2: resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -15959,7 +16008,7 @@ packages: resolution: {integrity: sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==} hasBin: true dependencies: - is-core-module: 2.12.1 + is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -16034,7 +16083,7 @@ packages: rollup: 3.27.2 typescript: 5.1.6 optionalDependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 dev: true /rollup-plugin-visualizer@5.9.2(rollup@3.27.2): @@ -16412,10 +16461,6 @@ packages: yargs: 15.4.1 dev: true - /smob@0.0.6: - resolution: {integrity: sha512-V21+XeNni+tTyiST1MHsa84AQhT1aFZipzPpOFAVB8DkHzwJyjjAmt9bgwnuZiZWnIbMo2duE29wybxv/7HWUw==} - dev: true - /smob@1.4.0: resolution: {integrity: sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==} dev: true @@ -16458,9 +16503,9 @@ packages: peerDependencies: solid-js: ^1.3 dependencies: - '@babel/generator': 7.22.9 + '@babel/generator': 7.22.10 '@babel/helper-module-imports': 7.21.4 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 solid-js: 1.7.9 dev: true @@ -16583,13 +16628,6 @@ packages: deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' dev: true - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - /stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true @@ -16794,7 +16832,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.5 + browserslist: 4.21.10 postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true @@ -17710,7 +17748,7 @@ packages: vue-router: optional: true dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 '@rollup/pluginutils': 5.0.2(rollup@3.27.2) '@vue-macros/common': 1.6.0(rollup@3.27.2)(vue@3.3.4) ast-walker-scope: 0.4.2 @@ -17792,9 +17830,9 @@ packages: resolution: {integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==} hasBin: true dependencies: - '@babel/core': 7.22.9 + '@babel/core': 7.22.10 '@babel/standalone': 7.22.9 - '@babel/types': 7.22.5 + '@babel/types': 7.22.10 defu: 6.1.2 jiti: 1.19.1 mri: 1.2.0 @@ -18016,7 +18054,7 @@ packages: vue-tsc: optional: true dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.22.10 ansi-escapes: 4.3.2 chalk: 4.1.2 chokidar: 3.5.3 diff --git a/vitest.workspace.ts b/vitest.workspace.ts index 822c378..2523d07 100644 --- a/vitest.workspace.ts +++ b/vitest.workspace.ts @@ -1,3 +1,3 @@ import { defineWorkspace } from 'vitest/config' -export default defineWorkspace(['packages/*', '!packages/unplugin-tailwindcss-mangle', '!packages/tailwindcss-patch']) +export default defineWorkspace(['packages/*', '!packages/tailwindcss-patch'])