diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index 5926170..0000000
--- a/.eslintignore
+++ /dev/null
@@ -1 +0,0 @@
-test/fixtures/*
diff --git a/.eslintrc b/.eslintrc
deleted file mode 100644
index 09c2e42..0000000
--- a/.eslintrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "extends": "@antfu"
-}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 50aead7..abd048b 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,3 +1,69 @@
{
- "prettier.enable": false
+ // Enable the ESlint flat config support
+ "eslint.experimental.useFlatConfig": true,
+ // Disable the default formatter, use eslint instead
+ "prettier.enable": false,
+ "editor.formatOnSave": false,
+ // Auto fix
+ "editor.codeActionsOnSave": {
+ "source.fixAll.eslint": "explicit",
+ "source.organizeImports": "never"
+ },
+ // Silent the stylistic rules in you IDE, but still auto fix them
+ "eslint.rules.customizations": [
+ {
+ "rule": "style/*",
+ "severity": "off"
+ },
+ {
+ "rule": "format/*",
+ "severity": "off"
+ },
+ {
+ "rule": "*-indent",
+ "severity": "off"
+ },
+ {
+ "rule": "*-spacing",
+ "severity": "off"
+ },
+ {
+ "rule": "*-spaces",
+ "severity": "off"
+ },
+ {
+ "rule": "*-order",
+ "severity": "off"
+ },
+ {
+ "rule": "*-dangle",
+ "severity": "off"
+ },
+ {
+ "rule": "*-newline",
+ "severity": "off"
+ },
+ {
+ "rule": "*quotes",
+ "severity": "off"
+ },
+ {
+ "rule": "*semi",
+ "severity": "off"
+ }
+ ],
+ // Enable eslint for all supported languages
+ "eslint.validate": [
+ "javascript",
+ "javascriptreact",
+ "typescript",
+ "typescriptreact",
+ "vue",
+ "html",
+ "markdown",
+ "json",
+ "jsonc",
+ "yaml",
+ "toml"
+ ]
}
diff --git a/README.md b/README.md
index 6721654..6839198 100644
--- a/README.md
+++ b/README.md
@@ -50,7 +50,6 @@ export default {
-
Webpack
@@ -146,9 +145,6 @@ console.log('Verbose output version')
// #endif
```
-> [!WARNING]
-> `#define` and `#undef` are Hoisting, like `var` in JavaScript.
-
### Conditional compilation
- `#if`: Opens a conditional compilation, where code is compiled only if the specified symbol is defined and evaluated to true.
@@ -204,34 +200,78 @@ You can used `defineDirective` to define your own directive.
Taking the built-in directive as an example:
```ts
-/** @see https://xregexp.com/ */
-import type { NamedGroupsArray } from 'xregexp'
-import { defineDirective } from '../directive'
-
-export default defineDirective(() => ({
- nested: false,
- name: '#define',
- pattern: /.*?#(?(?:un)?def(?:ine)?)\s*(?[\w]*)\s/gm,
- processor({ ctx }) {
- return (...args) => {
- const group = args[args.length - 1] as NamedGroupsArray
- if (group.directive === 'define')
- // @ts-expect-error ignore
- ctx.env[group.key] = true
-
- else if (group.directive === 'undef')
- delete ctx.env[group.key]
-
- return ''
+export const MessageDirective = defineDirective(context => ({
+ lex(comment) {
+ return simpleMatchToken(comment, /#(error|warning|info)\s*(.*)/)
+ },
+ parse(token) {
+ if (token.type === 'error' || token.type === 'warning' || token.type === 'info') {
+ this.current++
+ return {
+ type: 'MessageStatement',
+ kind: token.type,
+ value: token.value,
+ }
+ }
+ },
+ transform(node) {
+ if (node.type === 'MessageStatement') {
+ switch (node.kind) {
+ case 'error':
+ context.logger.error(node.value, { timestamp: true })
+ break
+ case 'warning':
+ context.logger.warn(node.value, { timestamp: true })
+ break
+ case 'info':
+ context.logger.info(node.value, { timestamp: true })
+ break
+ }
+ return createProgramNode()
+ }
+ },
+ generate(node, comment) {
+ if (node.type === 'MessageStatement' && comment)
+ return `${comment.start} #${node.kind} ${node.value} ${comment.end}`
+ },
+}))
+export const MessageDirective = defineDirective(context => ({
+ lex(comment) {
+ return simpleMatchToken(comment, /#(error|warning|info)\s*(.*)/)
+ },
+ parse(token) {
+ if (token.type === 'error' || token.type === 'warning' || token.type === 'info') {
+ this.current++
+ return {
+ type: 'MessageStatement',
+ kind: token.type,
+ value: token.value,
+ }
}
},
+ transform(node) {
+ if (node.type === 'MessageStatement') {
+ switch (node.kind) {
+ case 'error':
+ context.logger.error(node.value, { timestamp: true })
+ break
+ case 'warning':
+ context.logger.warn(node.value, { timestamp: true })
+ break
+ case 'info':
+ context.logger.info(node.value, { timestamp: true })
+ break
+ }
+ return createProgramNode()
+ }
+ },
+ generate(node, comment) {
+ if (node.type === 'MessageStatement' && comment)
+ return `${comment.start} #${node.kind} ${node.value} ${comment.end}`
+ },
}))
```
-### `name: string`
-
-directive name, used to identify the directive in warning and error messages
-
### `enforce: 'pre' | 'post'`
Execution priority of directives
@@ -239,17 +279,6 @@ Execution priority of directives
- `pre`: Execute as early as possible
- `post`: Execute as late as possible
-### `nested: boolean`
-
-Is it a nested instruction, The default is `false`. If it is `true`, `matchRecursive` will be used internally for replace and recursive calls. Otherwise, `replace` will be used`
-
-### `pattern`
-
-The regular expression of the directive, if it is a nested instruction, needs to specify the `start` and `end` regular expressions
-### `processor`
-
-The processing function of the directive.
-
[npm-version-src]: https://img.shields.io/npm/v/unplugin-preprocessor-directives?style=flat&colorA=18181B&colorB=F0DB4F
[npm-version-href]: https://npmjs.com/package/unplugin-preprocessor-directives
[npm-downloads-src]: https://img.shields.io/npm/dm/unplugin-preprocessor-directives?style=flat&colorA=18181B&colorB=F0DB4F
diff --git a/README.zh-cn.md b/README.zh-cn.md
index fd0cead..b253ada 100644
--- a/README.zh-cn.md
+++ b/README.zh-cn.md
@@ -50,7 +50,6 @@ export default {
-
Webpack
@@ -146,9 +145,6 @@ console.log('Verbose output version')
// #endif
```
-> [!WARNING]
-> `#define` 和 `#undef` 是提升的,类似 JavaScript 的 `var`。
-
### 条件编译
- `#if`: 打开条件编译,只有当指定的 symbol 被定义并求值为 true 时,代码才会被编译。
@@ -205,34 +201,43 @@ class MyClass {
以内置指令为例:
```ts
-/** @see https://xregexp.com/ */
-import type { NamedGroupsArray } from 'xregexp'
-import { defineDirective } from '../directive'
-
-export default defineDirective(() => ({
- nested: false,
- name: '#define',
- pattern: /.*?#(?(?:un)?def(?:ine)?)\s*(?[\w]*)\s/gm,
- processor({ ctx }) {
- return (...args) => {
- const group = args[args.length - 1] as NamedGroupsArray
- if (group.directive === 'define')
- // @ts-expect-error ignore
- ctx.env[group.key] = true
-
- else if (group.directive === 'undef')
- delete ctx.env[group.key]
-
- return ''
+export const MessageDirective = defineDirective(context => ({
+ lex(comment) {
+ return simpleMatchToken(comment, /#(error|warning|info)\s*(.*)/)
+ },
+ parse(token) {
+ if (token.type === 'error' || token.type === 'warning' || token.type === 'info') {
+ this.current++
+ return {
+ type: 'MessageStatement',
+ kind: token.type,
+ value: token.value,
+ }
+ }
+ },
+ transform(node) {
+ if (node.type === 'MessageStatement') {
+ switch (node.kind) {
+ case 'error':
+ context.logger.error(node.value, { timestamp: true })
+ break
+ case 'warning':
+ context.logger.warn(node.value, { timestamp: true })
+ break
+ case 'info':
+ context.logger.info(node.value, { timestamp: true })
+ break
+ }
+ return createProgramNode()
}
},
+ generate(node, comment) {
+ if (node.type === 'MessageStatement' && comment)
+ return `${comment.start} #${node.kind} ${node.value} ${comment.end}`
+ },
}))
```
-### `name: string`
-
-指令的名称,用于在警告和错误消息中标识指令。
-
### `enforce: 'pre' | 'post'`
指令的执行优先级
@@ -240,19 +245,6 @@ export default defineDirective(() => ({
- `pre` 尽可能早执行
- `post` 尽可能晚执行
-### `nested: boolean`
-
-是否为嵌套指令,默认为 `false`,如果为 `true` 在内部将使用 `matchRecursive` 进行 `replace` 并递归调用, 否则使用 `replace`
-
-### `pattern`
-
-指令的正则表达式,如果是嵌套指令,需要指定开始和结束的正则表达式
-
-### `processor`
-
-指令的处理函数。
-
-
[npm-version-src]: https://img.shields.io/npm/v/unplugin-preprocessor-directives?style=flat&colorA=18181B&colorB=F0DB4F
[npm-version-href]: https://npmjs.com/package/unplugin-preprocessor-directives
[npm-downloads-src]: https://img.shields.io/npm/dm/unplugin-preprocessor-directives?style=flat&colorA=18181B&colorB=F0DB4F
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 0000000..d8c85cd
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,5 @@
+import antfu from '@antfu/eslint-config'
+
+export default antfu({
+ ignores: ['**/test/fixtures/**/*.*'],
+})
diff --git a/examples/vite-vue-ts/package.json b/examples/vite-vue-ts/package.json
index 3a00e42..f738f74 100644
--- a/examples/vite-vue-ts/package.json
+++ b/examples/vite-vue-ts/package.json
@@ -9,13 +9,13 @@
"preview": "vite preview"
},
"dependencies": {
- "vue": "^3.3.4"
+ "vue": "^3.4.15"
},
"devDependencies": {
- "@vitejs/plugin-vue": "^4.3.4",
- "typescript": "^5.2.2",
+ "@vitejs/plugin-vue": "^5.0.3",
+ "typescript": "^5.3.3",
"unplugin-preprocessor-directives": "workspace:*",
- "vite": "^4.4.9",
- "vue-tsc": "^1.8.15"
+ "vite": "^5.0.12",
+ "vue-tsc": "^1.8.27"
}
}
diff --git a/examples/vite-vue-ts/tsconfig.json b/examples/vite-vue-ts/tsconfig.json
index f82888f..bc0dad8 100644
--- a/examples/vite-vue-ts/tsconfig.json
+++ b/examples/vite-vue-ts/tsconfig.json
@@ -1,25 +1,36 @@
{
"compilerOptions": {
"target": "ES2020",
+ "jsx": "preserve",
+ "lib": [
+ "ES2020",
+ "DOM",
+ "DOM.Iterable"
+ ],
"useDefineForClassFields": true,
"module": "ESNext",
- "lib": ["ES2020", "DOM", "DOM.Iterable"],
- "skipLibCheck": true,
-
/* Bundler mode */
"moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
"resolveJsonModule": true,
- "isolatedModules": true,
- "noEmit": true,
- "jsx": "preserve",
-
+ "allowImportingTsExtensions": true,
/* Linting */
"strict": true,
+ "noFallthroughCasesInSwitch": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
- "noFallthroughCasesInSwitch": true
+ "noEmit": true,
+ "isolatedModules": true,
+ "skipLibCheck": true
},
- "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
- "references": [{ "path": "./tsconfig.node.json" }]
+ "references": [
+ {
+ "path": "./tsconfig.node.json"
+ }
+ ],
+ "include": [
+ "src/**/*.ts",
+ "src/**/*.d.ts",
+ "src/**/*.tsx",
+ "src/**/*.vue"
+ ]
}
diff --git a/examples/vite-vue-ts/tsconfig.node.json b/examples/vite-vue-ts/tsconfig.node.json
index 42872c5..dde0894 100644
--- a/examples/vite-vue-ts/tsconfig.node.json
+++ b/examples/vite-vue-ts/tsconfig.node.json
@@ -1,10 +1,10 @@
{
"compilerOptions": {
"composite": true,
- "skipLibCheck": true,
"module": "ESNext",
"moduleResolution": "bundler",
- "allowSyntheticDefaultImports": true
+ "allowSyntheticDefaultImports": true,
+ "skipLibCheck": true
},
"include": ["vite.config.ts"]
}
diff --git a/examples/vue-cli/package.json b/examples/vue-cli/package.json
index a2cd1ce..5b73877 100644
--- a/examples/vue-cli/package.json
+++ b/examples/vue-cli/package.json
@@ -7,7 +7,7 @@
"build": "vue-cli-service build"
},
"dependencies": {
- "vue": "^3.3.4"
+ "vue": "^3.4.15"
},
"devDependencies": {
"@vue/cli-service": "~5.0.8",
diff --git a/package.json b/package.json
index 90f6531..deffcfe 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "unplugin-preprocessor-directives",
"type": "module",
"version": "0.0.8",
- "packageManager": "pnpm@8.8.0",
+ "packageManager": "pnpm@8.14.1",
"description": "",
"license": "MIT",
"homepage": "https://github.com/kejunmao/unplugin-preprocessor-directives#readme",
@@ -147,13 +147,10 @@
"webpack": "^4 || ^5"
},
"peerDependenciesMeta": {
- "webpack": {
- "optional": true
- },
- "rollup": {
+ "@nuxt/kit": {
"optional": true
},
- "vite": {
+ "@nuxt/schema": {
"optional": true
},
"@rspack/core": {
@@ -162,35 +159,38 @@
"esbuild": {
"optional": true
},
- "@nuxt/kit": {
+ "rollup": {
"optional": true
},
- "@nuxt/schema": {
+ "vite": {
+ "optional": true
+ },
+ "webpack": {
"optional": true
}
},
"dependencies": {
- "magic-string": "^0.30.3",
- "unplugin": "^1.5.0",
- "xregexp": "^5.1.1"
+ "@ampproject/remapping": "^2.2.1",
+ "magic-string": "^0.30.5",
+ "unplugin": "^1.6.0"
},
"devDependencies": {
- "@antfu/eslint-config": "^0.42.1",
- "@nuxt/kit": "^3.7.4",
- "@nuxt/schema": "^3.7.4",
- "@types/node": "^20.7.1",
- "bumpp": "^9.2.0",
+ "@antfu/eslint-config": "^2.6.3",
+ "@nuxt/kit": "^3.9.3",
+ "@nuxt/schema": "^3.9.3",
+ "@types/node": "^20.11.5",
+ "bumpp": "^9.3.0",
"chalk": "^5.3.0",
- "eslint": "^8.50.0",
- "esno": "^0.17.0",
- "fast-glob": "^3.3.1",
- "nodemon": "^3.0.1",
+ "eslint": "^8.56.0",
+ "esno": "^4.0.0",
+ "fast-glob": "^3.3.2",
+ "nodemon": "^3.0.3",
"rimraf": "^5.0.5",
- "rollup": "^3.29.4",
- "tsup": "^7.2.0",
- "typescript": "^5.2.2",
- "vite": "^4.4.9",
- "vitest": "^0.34.5",
- "webpack": "^5.88.2"
+ "rollup": "^4.9.5",
+ "tsup": "^8.0.1",
+ "typescript": "^5.3.3",
+ "vite": "^5.0.12",
+ "vitest": "^1.2.1",
+ "webpack": "^5.89.0"
}
}
diff --git a/playground/main.ts b/playground/main.ts
index 4e025ff..35e963c 100644
--- a/playground/main.ts
+++ b/playground/main.ts
@@ -1,18 +1,18 @@
/* eslint-disable no-console */
-/* eslint-disable @typescript-eslint/indent */
+// eslint-disable @typescript-eslint/indent
/* prettier-ignore */
document.getElementById('app')!.innerHTML = '__UNPLUGIN__'
-
+// #undef DEV
// #error this is an error message
// #warning this is a warning message
// #info this is an info message
console.log(1)
// #if DEV
- console.log(2)
- // #if ASD != '233'
- console.log(3)
- // #endif
+console.log(2)
+// #if ASD != '233'
+console.log(3)
+// #endif
console.log(4)
// #elif NODE_ENV == 'development'
console.log(5)
diff --git a/playground/package.json b/playground/package.json
index 27781b1..dd2be8f 100644
--- a/playground/package.json
+++ b/playground/package.json
@@ -4,7 +4,7 @@
"dev": "nodemon -w '../src/**/*.ts' -e .ts -x vite dev"
},
"devDependencies": {
- "vite": "^4.4.9",
- "vite-plugin-inspect": "^0.7.38"
+ "vite": "^5.0.12",
+ "vite-plugin-inspect": "^0.8.1"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 75d70b0..82be522 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,105 +8,105 @@ importers:
.:
dependencies:
+ '@ampproject/remapping':
+ specifier: ^2.2.1
+ version: 2.2.1
'@rspack/core':
specifier: '*'
version: 0.3.4
esbuild:
specifier: '*'
- version: 0.18.20
+ version: 0.19.11
magic-string:
- specifier: ^0.30.3
- version: 0.30.3
+ specifier: ^0.30.5
+ version: 0.30.5
unplugin:
- specifier: ^1.5.0
- version: 1.5.0
- xregexp:
- specifier: ^5.1.1
- version: 5.1.1
+ specifier: ^1.6.0
+ version: 1.6.0
devDependencies:
'@antfu/eslint-config':
- specifier: ^0.42.1
- version: 0.42.1(eslint@8.50.0)(typescript@5.2.2)
+ specifier: ^2.6.3
+ version: 2.6.3(@vue/compiler-sfc@3.4.15)(eslint@8.56.0)(typescript@5.3.3)(vitest@1.2.1)
'@nuxt/kit':
- specifier: ^3.7.4
- version: 3.7.4(rollup@3.29.4)
+ specifier: ^3.9.3
+ version: 3.9.3(rollup@4.9.5)
'@nuxt/schema':
- specifier: ^3.7.4
- version: 3.7.4(rollup@3.29.4)
+ specifier: ^3.9.3
+ version: 3.9.3(rollup@4.9.5)
'@types/node':
- specifier: ^20.7.1
- version: 20.7.1
+ specifier: ^20.11.5
+ version: 20.11.5
bumpp:
- specifier: ^9.2.0
- version: 9.2.0
+ specifier: ^9.3.0
+ version: 9.3.0
chalk:
specifier: ^5.3.0
version: 5.3.0
eslint:
- specifier: ^8.50.0
- version: 8.50.0
+ specifier: ^8.56.0
+ version: 8.56.0
esno:
- specifier: ^0.17.0
- version: 0.17.0
+ specifier: ^4.0.0
+ version: 4.0.0
fast-glob:
- specifier: ^3.3.1
- version: 3.3.1
+ specifier: ^3.3.2
+ version: 3.3.2
nodemon:
- specifier: ^3.0.1
- version: 3.0.1
+ specifier: ^3.0.3
+ version: 3.0.3
rimraf:
specifier: ^5.0.5
version: 5.0.5
rollup:
- specifier: ^3.29.4
- version: 3.29.4
+ specifier: ^4.9.5
+ version: 4.9.5
tsup:
- specifier: ^7.2.0
- version: 7.2.0(typescript@5.2.2)
+ specifier: ^8.0.1
+ version: 8.0.1(typescript@5.3.3)
typescript:
- specifier: ^5.2.2
- version: 5.2.2
+ specifier: ^5.3.3
+ version: 5.3.3
vite:
- specifier: ^4.4.9
- version: 4.4.9(@types/node@20.7.1)
+ specifier: ^5.0.12
+ version: 5.0.12(@types/node@20.11.5)
vitest:
- specifier: ^0.34.5
- version: 0.34.5
+ specifier: ^1.2.1
+ version: 1.2.1(@types/node@20.11.5)
webpack:
- specifier: ^5.88.2
- version: 5.88.2(esbuild@0.18.20)
+ specifier: ^5.89.0
+ version: 5.89.0(esbuild@0.19.11)
examples/vite-vue-ts:
dependencies:
vue:
- specifier: ^3.3.4
- version: 3.3.4
+ specifier: ^3.4.15
+ version: 3.4.15(typescript@5.3.3)
devDependencies:
'@vitejs/plugin-vue':
- specifier: ^4.3.4
- version: 4.3.4(vite@4.4.9)(vue@3.3.4)
+ specifier: ^5.0.3
+ version: 5.0.3(vite@5.0.12)(vue@3.4.15)
typescript:
- specifier: ^5.2.2
- version: 5.2.2
+ specifier: ^5.3.3
+ version: 5.3.3
unplugin-preprocessor-directives:
specifier: workspace:*
version: link:../..
vite:
- specifier: ^4.4.9
- version: 4.4.9(@types/node@20.7.1)
+ specifier: ^5.0.12
+ version: 5.0.12(@types/node@20.11.5)
vue-tsc:
- specifier: ^1.8.15
- version: 1.8.15(typescript@5.2.2)
+ specifier: ^1.8.27
+ version: 1.8.27(typescript@5.3.3)
examples/vue-cli:
dependencies:
vue:
- specifier: ^3.3.4
- version: 3.3.4
+ specifier: ^3.4.15
+ version: 3.4.15(typescript@5.3.3)
devDependencies:
'@vue/cli-service':
specifier: ~5.0.8
- version: 5.0.8(esbuild@0.18.20)(vue@3.3.4)
+ version: 5.0.8(@vue/compiler-sfc@3.4.15)(esbuild@0.19.11)(vue@3.4.15)
unplugin-preprocessor-directives:
specifier: workspace:*
version: link:../..
@@ -114,11 +114,11 @@ importers:
playground:
devDependencies:
vite:
- specifier: ^4.4.9
- version: 4.4.9(@types/node@20.7.1)
+ specifier: ^5.0.12
+ version: 5.0.12(@types/node@20.11.5)
vite-plugin-inspect:
- specifier: ^0.7.38
- version: 0.7.38(@nuxt/kit@3.7.4)(rollup@3.29.4)(vite@4.4.9)
+ specifier: ^0.8.1
+ version: 0.8.1(@nuxt/kit@3.9.3)(rollup@4.9.5)(vite@5.0.12)
packages:
@@ -142,103 +142,92 @@ packages:
dependencies:
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.18
- dev: true
- /@antfu/eslint-config-basic@0.42.1(@typescript-eslint/eslint-plugin@6.7.0)(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)(typescript@5.2.2):
- resolution: {integrity: sha512-VYcWpDXAYytrYNH4LjNy42t0d/fq1dFOsnIs6DyqDKdvMAlXN7ScksFAgm/NBaTnBcaBrySCIG+cLQPk5wLTIg==}
+ /@antfu/eslint-config@2.6.3(@vue/compiler-sfc@3.4.15)(eslint@8.56.0)(typescript@5.3.3)(vitest@1.2.1):
+ resolution: {integrity: sha512-sfkamrOatMwMZkp14mBerHKIw8FY0SD1iCb5UZ6Y5hgb+FeDpNQPlVA0i2PN95TQ8NSYyPC1QnoM+UA5NSl0Kg==}
+ hasBin: true
peerDependencies:
- eslint: '>=7.4.0'
- dependencies:
- eslint: 8.50.0
- eslint-plugin-antfu: 0.42.1(eslint@8.50.0)(typescript@5.2.2)
- eslint-plugin-eslint-comments: 3.2.0(eslint@8.50.0)
- eslint-plugin-html: 7.1.0
- eslint-plugin-import: /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)
- eslint-plugin-jsdoc: 46.8.1(eslint@8.50.0)
- eslint-plugin-jsonc: 2.9.0(eslint@8.50.0)
- eslint-plugin-markdown: 3.0.1(eslint@8.50.0)
- eslint-plugin-n: 16.1.0(eslint@8.50.0)
+ '@unocss/eslint-plugin': '>=0.50.0'
+ eslint: '>=8.40.0'
+ eslint-plugin-format: '>=0.1.0'
+ eslint-plugin-react: ^7.33.2
+ eslint-plugin-react-hooks: ^4.6.0
+ eslint-plugin-react-refresh: ^0.4.4
+ eslint-plugin-svelte: ^2.34.1
+ svelte-eslint-parser: ^0.33.1
+ peerDependenciesMeta:
+ '@unocss/eslint-plugin':
+ optional: true
+ eslint-plugin-format:
+ optional: true
+ eslint-plugin-react:
+ optional: true
+ eslint-plugin-react-hooks:
+ optional: true
+ eslint-plugin-react-refresh:
+ optional: true
+ eslint-plugin-svelte:
+ optional: true
+ svelte-eslint-parser:
+ optional: true
+ dependencies:
+ '@antfu/eslint-define-config': 1.23.0-2
+ '@antfu/install-pkg': 0.3.1
+ '@eslint-types/jsdoc': 46.8.2-1
+ '@eslint-types/typescript-eslint': 6.18.1
+ '@eslint-types/unicorn': 50.0.1
+ '@stylistic/eslint-plugin': 1.5.4(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ eslint-config-flat-gitignore: 0.1.2
+ eslint-merge-processors: 0.1.0(eslint@8.56.0)
+ eslint-plugin-antfu: 2.1.1(eslint@8.56.0)
+ eslint-plugin-eslint-comments: 3.2.0(eslint@8.56.0)
+ eslint-plugin-i: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)
+ eslint-plugin-jsdoc: 48.0.2(eslint@8.56.0)
+ eslint-plugin-jsonc: 2.12.2(eslint@8.56.0)
+ eslint-plugin-markdown: 3.0.1(eslint@8.56.0)
+ eslint-plugin-n: 16.6.2(eslint@8.56.0)
eslint-plugin-no-only-tests: 3.1.0
- eslint-plugin-promise: 6.1.1(eslint@8.50.0)
- eslint-plugin-unicorn: 48.0.1(eslint@8.50.0)
- eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.7.0)(eslint@8.50.0)
- eslint-plugin-yml: 1.9.0(eslint@8.50.0)
- jsonc-eslint-parser: 2.3.0
+ eslint-plugin-perfectionist: 2.5.0(eslint@8.56.0)(typescript@5.3.3)(vue-eslint-parser@9.4.0)
+ eslint-plugin-toml: 0.9.2(eslint@8.56.0)
+ eslint-plugin-unicorn: 50.0.1(eslint@8.56.0)
+ eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.19.0)(eslint@8.56.0)
+ eslint-plugin-vitest: 0.3.20(@typescript-eslint/eslint-plugin@6.19.0)(eslint@8.56.0)(typescript@5.3.3)(vitest@1.2.1)
+ eslint-plugin-vue: 9.20.1(eslint@8.56.0)
+ eslint-plugin-yml: 1.12.2(eslint@8.56.0)
+ eslint-processor-vue-blocks: 0.1.1(@vue/compiler-sfc@3.4.15)(eslint@8.56.0)
+ globals: 13.24.0
+ jsonc-eslint-parser: 2.4.0
+ local-pkg: 0.5.0
+ parse-gitignore: 2.0.0
+ picocolors: 1.0.0
+ prompts: 2.4.2
+ toml-eslint-parser: 0.9.3
+ vue-eslint-parser: 9.4.0(eslint@8.56.0)
yaml-eslint-parser: 1.2.2
+ yargs: 17.7.2
transitivePeerDependencies:
- - '@typescript-eslint/eslint-plugin'
- - '@typescript-eslint/parser'
+ - '@vue/compiler-sfc'
+ - astro-eslint-parser
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
+ - svelte
- typescript
+ - vitest
dev: true
- /@antfu/eslint-config-ts@0.42.1(eslint@8.50.0)(typescript@5.2.2):
- resolution: {integrity: sha512-gCz6sapcwZIsXu8LB9THR0r4hHKnNY7HZe4op0AwlK/lA5dO4sSLk68M9ig3CdaRkIW8LTC/sAKyQhX7md6++w==}
- peerDependencies:
- eslint: '>=7.4.0'
- typescript: '>=3.9'
- dependencies:
- '@antfu/eslint-config-basic': 0.42.1(@typescript-eslint/eslint-plugin@6.7.0)(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)(typescript@5.2.2)
- '@typescript-eslint/eslint-plugin': 6.7.0(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)(typescript@5.2.2)
- '@typescript-eslint/parser': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
- eslint: 8.50.0
- eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@6.7.0)(eslint@8.50.0)(typescript@5.2.2)
- typescript: 5.2.2
- transitivePeerDependencies:
- - eslint-import-resolver-typescript
- - eslint-import-resolver-webpack
- - jest
- - supports-color
+ /@antfu/eslint-define-config@1.23.0-2:
+ resolution: {integrity: sha512-LvxY21+ZhpuBf/aHeBUtGQhSEfad4PkNKXKvDOSvukaM3XVTfBhwmHX2EKwAsdq5DlfjbT3qqYyMiueBIO5iDQ==}
+ engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>= 8.6.0'}
dev: true
- /@antfu/eslint-config-vue@0.42.1(@typescript-eslint/eslint-plugin@6.7.0)(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)(typescript@5.2.2):
- resolution: {integrity: sha512-9F+AyDHw9exEcg1RNhDoTyHgsanBkKE2kZ8Atadn2O8EMbrFE383tETxO+VTv1Dr71z9qaVA2SVQjesPzctQVg==}
- peerDependencies:
- eslint: '>=7.4.0'
+ /@antfu/install-pkg@0.3.1:
+ resolution: {integrity: sha512-A3zWY9VeTPnxlMiZtsGHw2lSd3ghwvL8s9RiGOtqvDxhhFfZ781ynsGBa/iUnDJ5zBrmTFQrJDud3TGgRISaxw==}
dependencies:
- '@antfu/eslint-config-basic': 0.42.1(@typescript-eslint/eslint-plugin@6.7.0)(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)(typescript@5.2.2)
- '@antfu/eslint-config-ts': 0.42.1(eslint@8.50.0)(typescript@5.2.2)
- eslint: 8.50.0
- eslint-plugin-vue: 9.17.0(eslint@8.50.0)
- local-pkg: 0.4.3
- transitivePeerDependencies:
- - '@typescript-eslint/eslint-plugin'
- - '@typescript-eslint/parser'
- - eslint-import-resolver-typescript
- - eslint-import-resolver-webpack
- - jest
- - supports-color
- - typescript
- dev: true
-
- /@antfu/eslint-config@0.42.1(eslint@8.50.0)(typescript@5.2.2):
- resolution: {integrity: sha512-/U5PRCTPUI5khNMl4jBw1tLii7biJcrgD3yJEnxCQiTOjkfuVJeESSZieI5Qlu0zVXuudpq8R5VApCKjH4TpsA==}
- peerDependencies:
- eslint: '>=7.4.0'
- dependencies:
- '@antfu/eslint-config-vue': 0.42.1(@typescript-eslint/eslint-plugin@6.7.0)(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)(typescript@5.2.2)
- '@typescript-eslint/eslint-plugin': 6.7.0(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)(typescript@5.2.2)
- '@typescript-eslint/parser': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
- eslint: 8.50.0
- eslint-plugin-eslint-comments: 3.2.0(eslint@8.50.0)
- eslint-plugin-html: 7.1.0
- eslint-plugin-import: /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)
- eslint-plugin-jsonc: 2.9.0(eslint@8.50.0)
- eslint-plugin-n: 16.1.0(eslint@8.50.0)
- eslint-plugin-promise: 6.1.1(eslint@8.50.0)
- eslint-plugin-unicorn: 48.0.1(eslint@8.50.0)
- eslint-plugin-vue: 9.17.0(eslint@8.50.0)
- eslint-plugin-yml: 1.9.0(eslint@8.50.0)
- jsonc-eslint-parser: 2.3.0
- yaml-eslint-parser: 1.2.2
- transitivePeerDependencies:
- - eslint-import-resolver-typescript
- - eslint-import-resolver-webpack
- - jest
- - supports-color
- - typescript
+ execa: 8.0.1
dev: true
/@antfu/utils@0.7.6:
@@ -273,7 +262,7 @@ packages:
'@babel/traverse': 7.22.10
'@babel/types': 7.22.10
convert-source-map: 1.9.0
- debug: 4.3.4
+ debug: 4.3.4(supports-color@5.5.0)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -361,6 +350,11 @@ packages:
resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
engines: {node: '>=6.9.0'}
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
+ engines: {node: '>=6.9.0'}
+ dev: true
+
/@babel/helper-validator-identifier@7.22.5:
resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==}
engines: {node: '>=6.9.0'}
@@ -396,14 +390,14 @@ packages:
hasBin: true
dependencies:
'@babel/types': 7.22.10
+ dev: true
- /@babel/runtime-corejs3@7.22.15:
- resolution: {integrity: sha512-SAj8oKi8UogVi6eXQXKNPu8qZ78Yzy7zawrlTr0M+IuW/g8Qe9gVDhGcF9h1S69OyACpYoLxEzpjs1M15sI5wQ==}
- engines: {node: '>=6.9.0'}
+ /@babel/parser@7.23.6:
+ resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
dependencies:
- core-js-pure: 3.32.1
- regenerator-runtime: 0.14.0
- dev: false
+ '@babel/types': 7.22.10
/@babel/standalone@7.22.10:
resolution: {integrity: sha512-VmK2sWxUTfDDh9mPfCtFJPIehZToteqK+Zpwq8oJUjJ+WeeKIFTTQIrDzH7jEdom+cAaaguU7FI/FBsBWFkIeQ==}
@@ -431,7 +425,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.22.10
'@babel/types': 7.22.10
- debug: 4.3.4
+ debug: 4.3.4(supports-color@5.5.0)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -450,417 +444,206 @@ packages:
engines: {node: '>=10.0.0'}
dev: true
- /@es-joy/jsdoccomment@0.40.1:
- resolution: {integrity: sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==}
+ /@es-joy/jsdoccomment@0.41.0:
+ resolution: {integrity: sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==}
engines: {node: '>=16'}
dependencies:
- comment-parser: 1.4.0
+ comment-parser: 1.4.1
esquery: 1.5.0
jsdoc-type-pratt-parser: 4.0.0
dev: true
- /@esbuild-kit/cjs-loader@2.4.2:
- resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==}
- dependencies:
- '@esbuild-kit/core-utils': 3.1.0
- get-tsconfig: 4.7.0
- dev: true
-
- /@esbuild-kit/core-utils@3.1.0:
- resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==}
- dependencies:
- esbuild: 0.17.19
- source-map-support: 0.5.21
- dev: true
-
- /@esbuild-kit/esm-loader@2.5.5:
- resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==}
- dependencies:
- '@esbuild-kit/core-utils': 3.1.0
- get-tsconfig: 4.7.0
- dev: true
-
- /@esbuild/android-arm64@0.17.19:
- resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
+ /@esbuild/aix-ppc64@0.19.11:
+ resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==}
engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
+ cpu: [ppc64]
+ os: [aix]
requiresBuild: true
- dev: true
optional: true
- /@esbuild/android-arm64@0.18.20:
- resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
+ /@esbuild/android-arm64@0.19.11:
+ resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
optional: true
- /@esbuild/android-arm@0.17.19:
- resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm@0.18.20:
- resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
+ /@esbuild/android-arm@0.19.11:
+ resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
requiresBuild: true
optional: true
- /@esbuild/android-x64@0.17.19:
- resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
+ /@esbuild/android-x64@0.19.11:
+ resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64@0.18.20:
- resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- optional: true
-
- /@esbuild/darwin-arm64@0.17.19:
- resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
optional: true
- /@esbuild/darwin-arm64@0.18.20:
- resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
+ /@esbuild/darwin-arm64@0.19.11:
+ resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
optional: true
- /@esbuild/darwin-x64@0.17.19:
- resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64@0.18.20:
- resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
+ /@esbuild/darwin-x64@0.19.11:
+ resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
optional: true
- /@esbuild/freebsd-arm64@0.17.19:
- resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64@0.18.20:
- resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
+ /@esbuild/freebsd-arm64@0.19.11:
+ resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
optional: true
- /@esbuild/freebsd-x64@0.17.19:
- resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
+ /@esbuild/freebsd-x64@0.19.11:
+ resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
- dev: true
optional: true
- /@esbuild/freebsd-x64@0.18.20:
- resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- optional: true
-
- /@esbuild/linux-arm64@0.17.19:
- resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
+ /@esbuild/linux-arm64@0.19.11:
+ resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
- /@esbuild/linux-arm64@0.18.20:
- resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- optional: true
-
- /@esbuild/linux-arm@0.17.19:
- resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
+ /@esbuild/linux-arm@0.19.11:
+ resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
- dev: true
optional: true
- /@esbuild/linux-arm@0.18.20:
- resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- optional: true
-
- /@esbuild/linux-ia32@0.17.19:
- resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32@0.18.20:
- resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
+ /@esbuild/linux-ia32@0.19.11:
+ resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
optional: true
- /@esbuild/linux-loong64@0.17.19:
- resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
+ /@esbuild/linux-loong64@0.19.11:
+ resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
requiresBuild: true
- dev: true
optional: true
- /@esbuild/linux-loong64@0.18.20:
- resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- optional: true
-
- /@esbuild/linux-mips64el@0.17.19:
- resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
+ /@esbuild/linux-mips64el@0.19.11:
+ resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
- dev: true
optional: true
- /@esbuild/linux-mips64el@0.18.20:
- resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- optional: true
-
- /@esbuild/linux-ppc64@0.17.19:
- resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64@0.18.20:
- resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
+ /@esbuild/linux-ppc64@0.19.11:
+ resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
optional: true
- /@esbuild/linux-riscv64@0.17.19:
- resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
+ /@esbuild/linux-riscv64@0.19.11:
+ resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64@0.18.20:
- resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- optional: true
-
- /@esbuild/linux-s390x@0.17.19:
- resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
optional: true
- /@esbuild/linux-s390x@0.18.20:
- resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
+ /@esbuild/linux-s390x@0.19.11:
+ resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
optional: true
- /@esbuild/linux-x64@0.17.19:
- resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
+ /@esbuild/linux-x64@0.19.11:
+ resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64@0.18.20:
- resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- optional: true
-
- /@esbuild/netbsd-x64@0.17.19:
- resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
optional: true
- /@esbuild/netbsd-x64@0.18.20:
- resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
+ /@esbuild/netbsd-x64@0.19.11:
+ resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
optional: true
- /@esbuild/openbsd-x64@0.17.19:
- resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64@0.18.20:
- resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
+ /@esbuild/openbsd-x64@0.19.11:
+ resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
optional: true
- /@esbuild/sunos-x64@0.17.19:
- resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64@0.18.20:
- resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
+ /@esbuild/sunos-x64@0.19.11:
+ resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
optional: true
- /@esbuild/win32-arm64@0.17.19:
- resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
+ /@esbuild/win32-arm64@0.19.11:
+ resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64@0.18.20:
- resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- optional: true
-
- /@esbuild/win32-ia32@0.17.19:
- resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
optional: true
- /@esbuild/win32-ia32@0.18.20:
- resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
+ /@esbuild/win32-ia32@0.19.11:
+ resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
optional: true
- /@esbuild/win32-x64@0.17.19:
- resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
+ /@esbuild/win32-x64@0.19.11:
+ resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
- dev: true
optional: true
- /@esbuild/win32-x64@0.18.20:
- resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- optional: true
-
- /@eslint-community/eslint-utils@4.4.0(eslint@8.50.0):
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
- eslint: 8.50.0
+ eslint: 8.56.0
eslint-visitor-keys: 3.4.3
dev: true
@@ -869,15 +652,27 @@ packages:
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true
- /@eslint/eslintrc@2.1.2:
- resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==}
+ /@eslint-types/jsdoc@46.8.2-1:
+ resolution: {integrity: sha512-FwD7V0xX0jyaqj8Ul5ZY+TAAPohDfVqtbuXJNHb+OIv1aTIqZi5+Zn3F2UwQ5O3BnQd2mTduyK0+HjGx3/AMFg==}
+ dev: true
+
+ /@eslint-types/typescript-eslint@6.18.1:
+ resolution: {integrity: sha512-sROyc1rWhtvSdszkR3VAv2fioXIyKNFFRbIgoiije2FA+iNn4FEDhP2+kvbq8wPda2adcrNhSZyWSEFsef+lbg==}
+ dev: true
+
+ /@eslint-types/unicorn@50.0.1:
+ resolution: {integrity: sha512-nuJuipTNcg9f+oxZ+3QZw4tuDLmir4RJOPfM/oujgToiy1s+tePDZhwg5jUGc3q8OzTtPbVpsFSYX7QApjO3EA==}
+ dev: true
+
+ /@eslint/eslintrc@2.1.4:
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
- debug: 4.3.4
+ debug: 4.3.4(supports-color@5.5.0)
espree: 9.6.1
globals: 13.20.0
- ignore: 5.2.4
+ ignore: 5.3.0
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
@@ -886,8 +681,8 @@ packages:
- supports-color
dev: true
- /@eslint/js@8.50.0:
- resolution: {integrity: sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==}
+ /@eslint/js@8.56.0:
+ resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
@@ -901,12 +696,12 @@ packages:
'@hapi/hoek': 9.3.0
dev: true
- /@humanwhocodes/config-array@0.11.11:
- resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==}
+ /@humanwhocodes/config-array@0.11.14:
+ resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
engines: {node: '>=10.10.0'}
dependencies:
- '@humanwhocodes/object-schema': 1.2.1
- debug: 4.3.4
+ '@humanwhocodes/object-schema': 2.0.2
+ debug: 4.3.4(supports-color@5.5.0)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@@ -917,8 +712,8 @@ packages:
engines: {node: '>=12.22'}
dev: true
- /@humanwhocodes/object-schema@1.2.1:
- resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
+ /@humanwhocodes/object-schema@2.0.2:
+ resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
dev: true
/@isaacs/cliui@8.0.2:
@@ -933,8 +728,8 @@ packages:
wrap-ansi-cjs: /wrap-ansi@7.0.0
dev: true
- /@jest/schemas@29.6.0:
- resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==}
+ /@jest/schemas@29.6.3:
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@sinclair/typebox': 0.27.8
@@ -947,17 +742,14 @@ packages:
'@jridgewell/set-array': 1.1.2
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/trace-mapping': 0.3.18
- dev: true
/@jridgewell/resolve-uri@3.1.0:
resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
engines: {node: '>=6.0.0'}
- dev: true
/@jridgewell/set-array@1.1.2:
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
engines: {node: '>=6.0.0'}
- dev: true
/@jridgewell/source-map@0.3.3:
resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==}
@@ -968,7 +760,6 @@ packages:
/@jridgewell/sourcemap-codec@1.4.14:
resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
- dev: true
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
@@ -978,7 +769,6 @@ packages:
dependencies:
'@jridgewell/resolve-uri': 3.1.0
'@jridgewell/sourcemap-codec': 1.4.14
- dev: true
/@jsdevtools/ez-spawn@3.0.4:
resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==}
@@ -1022,47 +812,47 @@ packages:
fastq: 1.13.0
dev: true
- /@nuxt/kit@3.7.4(rollup@3.29.4):
- resolution: {integrity: sha512-/S5abZL62BITCvC/TY3KWA6N721U1Osln3cQdBb56XHIeafZCBVqTi92Xb0o7ovl72mMRhrKwRu7elzvz9oT/g==}
+ /@nuxt/kit@3.9.3(rollup@4.9.5):
+ resolution: {integrity: sha512-bHGXpTB6E+YJCC1L9tTwrP7txgLZzyuFes/tgy1ZM4dlfrCsGqLK/K4mddROMdC3D81scnH84u7yQsN0JRgoTg==}
engines: {node: ^14.18.0 || >=16.10.0}
dependencies:
- '@nuxt/schema': 3.7.4(rollup@3.29.4)
- c12: 1.4.2
+ '@nuxt/schema': 3.9.3(rollup@4.9.5)
+ c12: 1.6.1
consola: 3.2.3
- defu: 6.1.2
- globby: 13.2.2
+ defu: 6.1.4
+ globby: 14.0.0
hash-sum: 2.0.0
- ignore: 5.2.4
- jiti: 1.20.0
+ ignore: 5.3.0
+ jiti: 1.21.0
knitwork: 1.0.0
- mlly: 1.4.2
- pathe: 1.1.1
+ mlly: 1.5.0
+ pathe: 1.1.2
pkg-types: 1.0.3
- scule: 1.0.0
+ scule: 1.2.0
semver: 7.5.4
- ufo: 1.3.0
+ ufo: 1.3.2
unctx: 2.3.1
- unimport: 3.3.0(rollup@3.29.4)
+ unimport: 3.7.1(rollup@4.9.5)
untyped: 1.4.0
transitivePeerDependencies:
- rollup
- supports-color
dev: true
- /@nuxt/schema@3.7.4(rollup@3.29.4):
- resolution: {integrity: sha512-q6js+97vDha4Fa2x2kDVEuokJr+CGIh1TY2wZp2PLZ7NhG3XEeib7x9Hq8XE8B6pD0GKBRy3eRPPOY69gekBCw==}
+ /@nuxt/schema@3.9.3(rollup@4.9.5):
+ resolution: {integrity: sha512-pchkGBYdEJ9TAOoC5DKnLuAaFPjzgn2k0OUTr31QwbtHdTR3Q2Ua/oKsS1g9CPU7KRzSE5Vkf7ECE8zVydqF5A==}
engines: {node: ^14.18.0 || >=16.10.0}
dependencies:
'@nuxt/ui-templates': 1.3.1
consola: 3.2.3
- defu: 6.1.2
+ defu: 6.1.4
hookable: 5.5.3
- pathe: 1.1.1
+ pathe: 1.1.2
pkg-types: 1.0.3
- postcss-import-resolver: 2.0.0
- std-env: 3.4.3
- ufo: 1.3.0
- unimport: 3.3.0(rollup@3.29.4)
+ scule: 1.2.0
+ std-env: 3.7.0
+ ufo: 1.3.2
+ unimport: 3.7.1(rollup@4.9.5)
untyped: 1.4.0
transitivePeerDependencies:
- rollup
@@ -1084,35 +874,129 @@ packages:
resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
dev: true
- /@rollup/pluginutils@5.0.2(rollup@3.29.4):
- resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
+ /@rollup/pluginutils@5.1.0(rollup@4.9.5):
+ resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
engines: {node: '>=14.0.0'}
peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
peerDependenciesMeta:
rollup:
optional: true
dependencies:
- '@types/estree': 1.0.0
+ '@types/estree': 1.0.5
estree-walker: 2.0.2
picomatch: 2.3.1
- rollup: 3.29.4
+ rollup: 4.9.5
dev: true
- /@rollup/pluginutils@5.0.4(rollup@3.29.4):
- resolution: {integrity: sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- dependencies:
- '@types/estree': 1.0.0
- estree-walker: 2.0.2
- picomatch: 2.3.1
- rollup: 3.29.4
+ /@rollup/rollup-android-arm-eabi@4.9.5:
+ resolution: {integrity: sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-android-arm64@4.9.5:
+ resolution: {integrity: sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-arm64@4.9.5:
+ resolution: {integrity: sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-x64@4.9.5:
+ resolution: {integrity: sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm-gnueabihf@4.9.5:
+ resolution: {integrity: sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-gnu@4.9.5:
+ resolution: {integrity: sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-musl@4.9.5:
+ resolution: {integrity: sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+ requiresBuild: true
dev: true
+ optional: true
+
+ /@rollup/rollup-linux-riscv64-gnu@4.9.5:
+ resolution: {integrity: sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==}
+ cpu: [riscv64]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.9.5:
+ resolution: {integrity: sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-musl@4.9.5:
+ resolution: {integrity: sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-arm64-msvc@4.9.5:
+ resolution: {integrity: sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-ia32-msvc@4.9.5:
+ resolution: {integrity: sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-x64-msvc@4.9.5:
+ resolution: {integrity: sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
/@rspack/binding-darwin-arm64@0.3.4:
resolution: {integrity: sha512-/B9Xp9mfz+tiq2caM37PvrWDyzvQ4aGBPCbKbnRq13kfOrwJmT9nUAy1y+D8bDl1gLYT+7eVHczGZwMooPa2AA==}
@@ -1243,6 +1127,11 @@ packages:
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
dev: true
+ /@sindresorhus/merge-streams@1.0.0:
+ resolution: {integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==}
+ engines: {node: '>=18'}
+ dev: true
+
/@soda/friendly-errors-webpack-plugin@1.8.1(webpack@5.88.2):
resolution: {integrity: sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==}
engines: {node: '>=8.0.0'}
@@ -1253,13 +1142,79 @@ packages:
error-stack-parser: 2.1.4
string-width: 4.2.3
strip-ansi: 6.0.1
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
/@soda/get-current-script@1.0.2:
resolution: {integrity: sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==}
dev: true
+ /@stylistic/eslint-plugin-js@1.5.4(eslint@8.56.0):
+ resolution: {integrity: sha512-3ctWb3NvJNV1MsrZN91cYp2EGInLPSoZKphXIbIRx/zjZxKwLDr9z4LMOWtqjq14li/OgqUUcMq5pj8fgbLoTw==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ acorn: 8.11.3
+ escape-string-regexp: 4.0.0
+ eslint: 8.56.0
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ dev: true
+
+ /@stylistic/eslint-plugin-jsx@1.5.4(eslint@8.56.0):
+ resolution: {integrity: sha512-JUfrpCkeBCqt1IZ4QsP4WgxGza4PhK4LPbc0VnCjHKygl+rgqoDAovqOuzFJ49wJ4Ix3r6OIHFuwiBGswZEVvg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ '@stylistic/eslint-plugin-js': 1.5.4(eslint@8.56.0)
+ eslint: 8.56.0
+ estraverse: 5.3.0
+ dev: true
+
+ /@stylistic/eslint-plugin-plus@1.5.4(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-dI0Cs5vYX/0uMhQDY+NK0cKQ0Pe9B6jWYxd0Ndud+mNloDaVLrsmJocK4zn+YfhGEDs1E4Nk5uAPZEumIpDuSg==}
+ peerDependencies:
+ eslint: '*'
+ dependencies:
+ '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@stylistic/eslint-plugin-ts@1.5.4(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-NZDFVIlVNjuPvhT+0Cidm5IS3emtx338xbJTqs2xfOVRDGTpYwRHhNVEGa1rFOpYHmv0sAj6+OXbMDn7ul0K/g==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ '@stylistic/eslint-plugin-js': 1.5.4(eslint@8.56.0)
+ '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@stylistic/eslint-plugin@1.5.4(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-zWPXr+O67GC9KDAFkbL1U9UVqE6Iv69YMKhkIECCmE0GvClUJwdfsimm4XebEDondV7kfjMrTDZaYfrI5aS0Jg==}
+ engines: {node: ^16.0.0 || >=18.0.0}
+ peerDependencies:
+ eslint: '>=8.40.0'
+ dependencies:
+ '@stylistic/eslint-plugin-js': 1.5.4(eslint@8.56.0)
+ '@stylistic/eslint-plugin-jsx': 1.5.4(eslint@8.56.0)
+ '@stylistic/eslint-plugin-plus': 1.5.4(eslint@8.56.0)(typescript@5.3.3)
+ '@stylistic/eslint-plugin-ts': 1.5.4(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
/@swc/helpers@0.5.1:
resolution: {integrity: sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==}
dependencies:
@@ -1275,60 +1230,54 @@ packages:
resolution: {integrity: sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==}
dependencies:
'@types/connect': 3.4.37
- '@types/node': 20.7.1
+ '@types/node': 20.11.5
dev: true
/@types/bonjour@3.5.12:
resolution: {integrity: sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==}
dependencies:
- '@types/node': 20.7.1
- dev: true
-
- /@types/chai-subset@1.3.3:
- resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
- dependencies:
- '@types/chai': 4.3.5
- dev: true
-
- /@types/chai@4.3.5:
- resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==}
+ '@types/node': 20.11.5
dev: true
/@types/connect-history-api-fallback@1.5.2:
resolution: {integrity: sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==}
dependencies:
'@types/express-serve-static-core': 4.17.38
- '@types/node': 20.7.1
+ '@types/node': 20.11.5
dev: true
/@types/connect@3.4.37:
resolution: {integrity: sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==}
dependencies:
- '@types/node': 20.7.1
+ '@types/node': 20.11.5
dev: true
/@types/eslint-scope@3.7.3:
resolution: {integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==}
dependencies:
'@types/eslint': 8.4.1
- '@types/estree': 1.0.0
+ '@types/estree': 1.0.5
dev: true
/@types/eslint@8.4.1:
resolution: {integrity: sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==}
dependencies:
- '@types/estree': 1.0.0
- '@types/json-schema': 7.0.11
+ '@types/estree': 1.0.5
+ '@types/json-schema': 7.0.12
dev: true
/@types/estree@1.0.0:
resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
dev: true
+ /@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ dev: true
+
/@types/express-serve-static-core@4.17.38:
resolution: {integrity: sha512-hXOtc0tuDHZPFwwhuBJXPbjemWtXnJjbvuuyNH2Y5Z6in+iXc63c4eXYDc7GGGqHy+iwYqAJMdaItqdnbcBKmg==}
dependencies:
- '@types/node': 20.7.1
+ '@types/node': 20.11.5
'@types/qs': 6.9.9
'@types/range-parser': 1.2.6
'@types/send': 0.17.3
@@ -1354,7 +1303,7 @@ packages:
/@types/http-proxy@1.17.13:
resolution: {integrity: sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==}
dependencies:
- '@types/node': 20.7.1
+ '@types/node': 20.11.5
dev: true
/@types/json-schema@7.0.11:
@@ -1382,8 +1331,10 @@ packages:
resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==}
dev: true
- /@types/node@20.7.1:
- resolution: {integrity: sha512-LT+OIXpp2kj4E2S/p91BMe+VgGX2+lfO+XTpfXhh+bCk2LkQtHZSub8ewFBMGP5ClysPjTDFa4sMI8Q3n4T0wg==}
+ /@types/node@20.11.5:
+ resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==}
+ dependencies:
+ undici-types: 5.26.5
dev: true
/@types/normalize-package-data@2.4.1:
@@ -1414,7 +1365,7 @@ packages:
resolution: {integrity: sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==}
dependencies:
'@types/mime': 1.3.4
- '@types/node': 20.7.1
+ '@types/node': 20.11.5
dev: true
/@types/serve-index@1.9.3:
@@ -1428,13 +1379,13 @@ packages:
dependencies:
'@types/http-errors': 2.0.3
'@types/mime': 3.0.3
- '@types/node': 20.7.1
+ '@types/node': 20.11.5
dev: true
/@types/sockjs@0.3.35:
resolution: {integrity: sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==}
dependencies:
- '@types/node': 20.7.1
+ '@types/node': 20.11.5
dev: true
/@types/unist@2.0.6:
@@ -1448,11 +1399,11 @@ packages:
/@types/ws@8.5.8:
resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==}
dependencies:
- '@types/node': 20.7.1
+ '@types/node': 20.11.5
dev: true
- /@typescript-eslint/eslint-plugin@6.7.0(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)(typescript@5.2.2):
- resolution: {integrity: sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==}
+ /@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
'@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
@@ -1463,25 +1414,25 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.6.2
- '@typescript-eslint/parser': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
- '@typescript-eslint/scope-manager': 6.7.0
- '@typescript-eslint/type-utils': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
- '@typescript-eslint/utils': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
- '@typescript-eslint/visitor-keys': 6.7.0
- debug: 4.3.4
- eslint: 8.50.0
+ '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/scope-manager': 6.19.0
+ '@typescript-eslint/type-utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 6.19.0
+ debug: 4.3.4(supports-color@5.5.0)
+ eslint: 8.56.0
graphemer: 1.4.0
- ignore: 5.2.4
+ ignore: 5.3.0
natural-compare: 1.4.0
semver: 7.5.4
- ts-api-utils: 1.0.1(typescript@5.2.2)
- typescript: 5.2.2
+ ts-api-utils: 1.0.1(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/parser@6.7.0(eslint@8.50.0)(typescript@5.2.2):
- resolution: {integrity: sha512-jZKYwqNpNm5kzPVP5z1JXAuxjtl2uG+5NpaMocFPTNC2EdYIgbXIPImObOkhbONxtFTTdoZstLZefbaK+wXZng==}
+ /@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
@@ -1490,35 +1441,27 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/scope-manager': 6.7.0
- '@typescript-eslint/types': 6.7.0
- '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2)
- '@typescript-eslint/visitor-keys': 6.7.0
- debug: 4.3.4
- eslint: 8.50.0
- typescript: 5.2.2
+ '@typescript-eslint/scope-manager': 6.19.0
+ '@typescript-eslint/types': 6.19.0
+ '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3)
+ '@typescript-eslint/visitor-keys': 6.19.0
+ debug: 4.3.4(supports-color@5.5.0)
+ eslint: 8.56.0
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/scope-manager@5.59.8:
- resolution: {integrity: sha512-/w08ndCYI8gxGf+9zKf1vtx/16y8MHrZs5/tnjHhMLNSixuNcJavSX4wAiPf4aS5x41Es9YPCn44MIe4cxIlig==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- '@typescript-eslint/types': 5.59.8
- '@typescript-eslint/visitor-keys': 5.59.8
- dev: true
-
- /@typescript-eslint/scope-manager@6.7.0:
- resolution: {integrity: sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==}
+ /@typescript-eslint/scope-manager@6.19.0:
+ resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==}
engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
- '@typescript-eslint/types': 6.7.0
- '@typescript-eslint/visitor-keys': 6.7.0
+ '@typescript-eslint/types': 6.19.0
+ '@typescript-eslint/visitor-keys': 6.19.0
dev: true
- /@typescript-eslint/type-utils@6.7.0(eslint@8.50.0)(typescript@5.2.2):
- resolution: {integrity: sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==}
+ /@typescript-eslint/type-utils@6.19.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
@@ -1527,49 +1470,23 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2)
- '@typescript-eslint/utils': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
- debug: 4.3.4
- eslint: 8.50.0
- ts-api-utils: 1.0.1(typescript@5.2.2)
- typescript: 5.2.2
+ '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3)
+ '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
+ debug: 4.3.4(supports-color@5.5.0)
+ eslint: 8.56.0
+ ts-api-utils: 1.0.1(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
dev: true
- /@typescript-eslint/types@5.59.8:
- resolution: {integrity: sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /@typescript-eslint/types@6.7.0:
- resolution: {integrity: sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==}
+ /@typescript-eslint/types@6.19.0:
+ resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==}
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
- /@typescript-eslint/typescript-estree@5.59.8(typescript@5.2.2):
- resolution: {integrity: sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/types': 5.59.8
- '@typescript-eslint/visitor-keys': 5.59.8
- debug: 4.3.4
- globby: 11.1.0
- is-glob: 4.0.3
- semver: 7.5.4
- tsutils: 3.21.0(typescript@5.2.2)
- typescript: 5.2.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/typescript-estree@6.7.0(typescript@5.2.2):
- resolution: {integrity: sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==}
+ /@typescript-eslint/typescript-estree@6.19.0(typescript@5.3.3):
+ resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
typescript: '*'
@@ -1577,138 +1494,117 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/types': 6.7.0
- '@typescript-eslint/visitor-keys': 6.7.0
- debug: 4.3.4
+ '@typescript-eslint/types': 6.19.0
+ '@typescript-eslint/visitor-keys': 6.19.0
+ debug: 4.3.4(supports-color@5.5.0)
globby: 11.1.0
is-glob: 4.0.3
+ minimatch: 9.0.3
semver: 7.5.4
- ts-api-utils: 1.0.1(typescript@5.2.2)
- typescript: 5.2.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/utils@5.59.8(eslint@8.50.0)(typescript@5.2.2):
- resolution: {integrity: sha512-Tr65630KysnNn9f9G7ROF3w1b5/7f6QVCJ+WK9nhIocWmx9F+TmCAcglF26Vm7z8KCTwoKcNEBZrhlklla3CKg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
- '@types/json-schema': 7.0.12
- '@types/semver': 7.5.0
- '@typescript-eslint/scope-manager': 5.59.8
- '@typescript-eslint/types': 5.59.8
- '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.2.2)
- eslint: 8.50.0
- eslint-scope: 5.1.1
- semver: 7.5.4
+ ts-api-utils: 1.0.1(typescript@5.3.3)
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
- - typescript
dev: true
- /@typescript-eslint/utils@6.7.0(eslint@8.50.0)(typescript@5.2.2):
- resolution: {integrity: sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==}
+ /@typescript-eslint/utils@6.19.0(eslint@8.56.0)(typescript@5.3.3):
+ resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
'@types/json-schema': 7.0.12
'@types/semver': 7.5.0
- '@typescript-eslint/scope-manager': 6.7.0
- '@typescript-eslint/types': 6.7.0
- '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.2.2)
- eslint: 8.50.0
+ '@typescript-eslint/scope-manager': 6.19.0
+ '@typescript-eslint/types': 6.19.0
+ '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3)
+ eslint: 8.56.0
semver: 7.5.4
transitivePeerDependencies:
- supports-color
- typescript
dev: true
- /@typescript-eslint/visitor-keys@5.59.8:
- resolution: {integrity: sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@typescript-eslint/visitor-keys@6.19.0:
+ resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==}
+ engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
- '@typescript-eslint/types': 5.59.8
+ '@typescript-eslint/types': 6.19.0
eslint-visitor-keys: 3.4.3
dev: true
- /@typescript-eslint/visitor-keys@6.7.0:
- resolution: {integrity: sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==}
- engines: {node: ^16.0.0 || >=18.0.0}
- dependencies:
- '@typescript-eslint/types': 6.7.0
- eslint-visitor-keys: 3.4.3
+ /@ungap/structured-clone@1.2.0:
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
- /@vitejs/plugin-vue@4.3.4(vite@4.4.9)(vue@3.3.4):
- resolution: {integrity: sha512-ciXNIHKPriERBisHFBvnTbfKa6r9SAesOYXeGDzgegcvy9Q4xdScSHAmKbNT0M3O0S9LKhIf5/G+UYG4NnnzYw==}
- engines: {node: ^14.18.0 || >=16.0.0}
+ /@vitejs/plugin-vue@5.0.3(vite@5.0.12)(vue@3.4.15):
+ resolution: {integrity: sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
- vite: ^4.0.0
+ vite: ^5.0.0
vue: ^3.2.25
dependencies:
- vite: 4.4.9(@types/node@20.7.1)
- vue: 3.3.4
+ vite: 5.0.12(@types/node@20.11.5)
+ vue: 3.4.15(typescript@5.3.3)
dev: true
- /@vitest/expect@0.34.5:
- resolution: {integrity: sha512-/3RBIV9XEH+nRpRMqDJBufKIOQaYUH2X6bt0rKSCW0MfKhXFLYsR5ivHifeajRSTsln0FwJbitxLKHSQz/Xwkw==}
+ /@vitest/expect@1.2.1:
+ resolution: {integrity: sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==}
dependencies:
- '@vitest/spy': 0.34.5
- '@vitest/utils': 0.34.5
- chai: 4.3.7
+ '@vitest/spy': 1.2.1
+ '@vitest/utils': 1.2.1
+ chai: 4.4.1
dev: true
- /@vitest/runner@0.34.5:
- resolution: {integrity: sha512-RDEE3ViVvl7jFSCbnBRyYuu23XxmvRTSZWW6W4M7eC5dOsK75d5LIf6uhE5Fqf809DQ1+9ICZZNxhIolWHU4og==}
+ /@vitest/runner@1.2.1:
+ resolution: {integrity: sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==}
dependencies:
- '@vitest/utils': 0.34.5
- p-limit: 4.0.0
+ '@vitest/utils': 1.2.1
+ p-limit: 5.0.0
pathe: 1.1.1
dev: true
- /@vitest/snapshot@0.34.5:
- resolution: {integrity: sha512-+ikwSbhu6z2yOdtKmk/aeoDZ9QPm2g/ZO5rXT58RR9Vmu/kB2MamyDSx77dctqdZfP3Diqv4mbc/yw2kPT8rmA==}
+ /@vitest/snapshot@1.2.1:
+ resolution: {integrity: sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==}
dependencies:
- magic-string: 0.30.3
+ magic-string: 0.30.5
pathe: 1.1.1
- pretty-format: 29.6.2
+ pretty-format: 29.7.0
dev: true
- /@vitest/spy@0.34.5:
- resolution: {integrity: sha512-epsicsfhvBjRjCMOC/3k00mP/TBGQy8/P0DxOFiWyLt55gnZ99dqCfCiAsKO17BWVjn4eZRIjKvcqNmSz8gvmg==}
+ /@vitest/spy@1.2.1:
+ resolution: {integrity: sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==}
dependencies:
- tinyspy: 2.1.1
+ tinyspy: 2.2.0
dev: true
- /@vitest/utils@0.34.5:
- resolution: {integrity: sha512-ur6CmmYQoeHMwmGb0v+qwkwN3yopZuZyf4xt1DBBSGBed8Hf9Gmbm/5dEWqgpLPdRx6Av6jcWXrjcKfkTzg/pw==}
+ /@vitest/utils@1.2.1:
+ resolution: {integrity: sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==}
dependencies:
- diff-sequences: 29.4.3
- loupe: 2.3.6
- pretty-format: 29.6.2
+ diff-sequences: 29.6.3
+ estree-walker: 3.0.3
+ loupe: 2.3.7
+ pretty-format: 29.7.0
dev: true
- /@volar/language-core@1.10.1:
- resolution: {integrity: sha512-JnsM1mIPdfGPxmoOcK1c7HYAsL6YOv0TCJ4aW3AXPZN/Jb4R77epDyMZIVudSGjWMbvv/JfUa+rQ+dGKTmgwBA==}
+ /@volar/language-core@1.11.1:
+ resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==}
dependencies:
- '@volar/source-map': 1.10.1
+ '@volar/source-map': 1.11.1
dev: true
- /@volar/source-map@1.10.1:
- resolution: {integrity: sha512-3/S6KQbqa7pGC8CxPrg69qHLpOvkiPHGJtWPkI/1AXCsktkJ6gIk/5z4hyuMp8Anvs6eS/Kvp/GZa3ut3votKA==}
+ /@volar/source-map@1.11.1:
+ resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==}
dependencies:
muggle-string: 0.3.1
dev: true
- /@volar/typescript@1.10.1:
- resolution: {integrity: sha512-+iiO9yUSRHIYjlteT+QcdRq8b44qH19/eiUZtjNtuh6D9ailYM7DVR0zO2sEgJlvCaunw/CF9Ov2KooQBpR4VQ==}
+ /@volar/typescript@1.11.1:
+ resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==}
dependencies:
- '@volar/language-core': 1.10.1
+ '@volar/language-core': 1.11.1
+ path-browserify: 1.0.1
dev: true
/@vue/cli-overlay@5.0.8:
@@ -1720,7 +1616,7 @@ packages:
peerDependencies:
'@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0
dependencies:
- '@vue/cli-service': 5.0.8(esbuild@0.18.20)(vue@3.3.4)
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.15)(esbuild@0.19.11)(vue@3.4.15)
'@vue/cli-shared-utils': 5.0.8
transitivePeerDependencies:
- encoding
@@ -1731,10 +1627,10 @@ packages:
peerDependencies:
'@vue/cli-service': ^3.0.0 || ^4.0.0 || ^5.0.0-0
dependencies:
- '@vue/cli-service': 5.0.8(esbuild@0.18.20)(vue@3.3.4)
+ '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.15)(esbuild@0.19.11)(vue@3.4.15)
dev: true
- /@vue/cli-service@5.0.8(esbuild@0.18.20)(vue@3.3.4):
+ /@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.15)(esbuild@0.19.11)(vue@3.4.15):
resolution: {integrity: sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==}
engines: {node: ^12.0.0 || >= 14.0.0}
hasBin: true
@@ -1774,7 +1670,7 @@ packages:
'@vue/cli-plugin-vuex': 5.0.8(@vue/cli-service@5.0.8)
'@vue/cli-shared-utils': 5.0.8
'@vue/component-compiler-utils': 3.3.0
- '@vue/vue-loader-v15': /vue-loader@15.11.1(css-loader@6.8.1)(webpack@5.88.2)
+ '@vue/vue-loader-v15': /vue-loader@15.11.1(@vue/compiler-sfc@3.4.15)(css-loader@6.8.1)(webpack@5.88.2)
'@vue/web-component-wrapper': 1.3.0
acorn: 8.10.0
acorn-walk: 8.2.0
@@ -1787,9 +1683,9 @@ packages:
cliui: 7.0.4
copy-webpack-plugin: 9.1.0(webpack@5.88.2)
css-loader: 6.8.1(webpack@5.88.2)
- css-minimizer-webpack-plugin: 3.4.1(esbuild@0.18.20)(webpack@5.88.2)
+ css-minimizer-webpack-plugin: 3.4.1(esbuild@0.19.11)(webpack@5.88.2)
cssnano: 5.1.15(postcss@8.4.27)
- debug: 4.3.4
+ debug: 4.3.4(supports-color@5.5.0)
default-gateway: 6.0.3
dotenv: 10.0.0
dotenv-expand: 5.1.0
@@ -1809,11 +1705,11 @@ packages:
postcss-loader: 6.2.1(postcss@8.4.27)(webpack@5.88.2)
progress-webpack-plugin: 1.0.16(webpack@5.88.2)
ssri: 8.0.1
- terser-webpack-plugin: 5.3.9(esbuild@0.18.20)(webpack@5.88.2)
+ terser-webpack-plugin: 5.3.9(esbuild@0.19.11)(webpack@5.88.2)
thread-loader: 3.0.4(webpack@5.88.2)
- vue-loader: 17.3.0(vue@3.3.4)(webpack@5.88.2)
+ vue-loader: 17.3.0(@vue/compiler-sfc@3.4.15)(vue@3.4.15)(webpack@5.88.2)
vue-style-loader: 4.1.3
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
webpack-bundle-analyzer: 4.9.1
webpack-chain: 6.5.1
webpack-dev-server: 4.15.1(debug@4.3.4)(webpack@5.88.2)
@@ -1916,32 +1812,48 @@ packages:
'@vue/shared': 3.3.4
estree-walker: 2.0.2
source-map-js: 1.0.2
+ dev: true
+
+ /@vue/compiler-core@3.4.15:
+ resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==}
+ dependencies:
+ '@babel/parser': 7.23.6
+ '@vue/shared': 3.4.15
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.0.2
/@vue/compiler-dom@3.3.4:
resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==}
dependencies:
'@vue/compiler-core': 3.3.4
'@vue/shared': 3.3.4
+ dev: true
- /@vue/compiler-sfc@3.3.4:
- resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==}
+ /@vue/compiler-dom@3.4.15:
+ resolution: {integrity: sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==}
dependencies:
- '@babel/parser': 7.22.10
- '@vue/compiler-core': 3.3.4
- '@vue/compiler-dom': 3.3.4
- '@vue/compiler-ssr': 3.3.4
- '@vue/reactivity-transform': 3.3.4
- '@vue/shared': 3.3.4
+ '@vue/compiler-core': 3.4.15
+ '@vue/shared': 3.4.15
+
+ /@vue/compiler-sfc@3.4.15:
+ resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==}
+ dependencies:
+ '@babel/parser': 7.23.6
+ '@vue/compiler-core': 3.4.15
+ '@vue/compiler-dom': 3.4.15
+ '@vue/compiler-ssr': 3.4.15
+ '@vue/shared': 3.4.15
estree-walker: 2.0.2
- magic-string: 0.30.3
- postcss: 8.4.27
+ magic-string: 0.30.5
+ postcss: 8.4.33
source-map-js: 1.0.2
- /@vue/compiler-ssr@3.3.4:
- resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==}
+ /@vue/compiler-ssr@3.4.15:
+ resolution: {integrity: sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==}
dependencies:
- '@vue/compiler-dom': 3.3.4
- '@vue/shared': 3.3.4
+ '@vue/compiler-dom': 3.4.15
+ '@vue/shared': 3.4.15
/@vue/component-compiler-utils@3.3.0:
resolution: {integrity: sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==}
@@ -2012,73 +1924,60 @@ packages:
- whiskers
dev: true
- /@vue/language-core@1.8.15(typescript@5.2.2):
- resolution: {integrity: sha512-zche5Aw8kkvp3YaghuLiOZyVIpoWHjSQ0EfjxGSsqHOPMamdCoa9x3HtbenpR38UMUoKJ88wiWuiOrV3B/Yq+A==}
+ /@vue/language-core@1.8.27(typescript@5.3.3):
+ resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- '@volar/language-core': 1.10.1
- '@volar/source-map': 1.10.1
+ '@volar/language-core': 1.11.1
+ '@volar/source-map': 1.11.1
'@vue/compiler-dom': 3.3.4
- '@vue/reactivity': 3.3.4
'@vue/shared': 3.3.4
- minimatch: 9.0.1
+ computeds: 0.0.1
+ minimatch: 9.0.3
muggle-string: 0.3.1
- typescript: 5.2.2
+ path-browserify: 1.0.1
+ typescript: 5.3.3
vue-template-compiler: 2.7.14
dev: true
- /@vue/reactivity-transform@3.3.4:
- resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==}
- dependencies:
- '@babel/parser': 7.22.10
- '@vue/compiler-core': 3.3.4
- '@vue/shared': 3.3.4
- estree-walker: 2.0.2
- magic-string: 0.30.3
-
- /@vue/reactivity@3.3.4:
- resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==}
+ /@vue/reactivity@3.4.15:
+ resolution: {integrity: sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==}
dependencies:
- '@vue/shared': 3.3.4
+ '@vue/shared': 3.4.15
- /@vue/runtime-core@3.3.4:
- resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==}
+ /@vue/runtime-core@3.4.15:
+ resolution: {integrity: sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==}
dependencies:
- '@vue/reactivity': 3.3.4
- '@vue/shared': 3.3.4
+ '@vue/reactivity': 3.4.15
+ '@vue/shared': 3.4.15
- /@vue/runtime-dom@3.3.4:
- resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==}
+ /@vue/runtime-dom@3.4.15:
+ resolution: {integrity: sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==}
dependencies:
- '@vue/runtime-core': 3.3.4
- '@vue/shared': 3.3.4
- csstype: 3.1.2
+ '@vue/runtime-core': 3.4.15
+ '@vue/shared': 3.4.15
+ csstype: 3.1.3
- /@vue/server-renderer@3.3.4(vue@3.3.4):
- resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==}
+ /@vue/server-renderer@3.4.15(vue@3.4.15):
+ resolution: {integrity: sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==}
peerDependencies:
- vue: 3.3.4
+ vue: 3.4.15
dependencies:
- '@vue/compiler-ssr': 3.3.4
- '@vue/shared': 3.3.4
- vue: 3.3.4
+ '@vue/compiler-ssr': 3.4.15
+ '@vue/shared': 3.4.15
+ vue: 3.4.15(typescript@5.3.3)
/@vue/shared@3.3.4:
resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==}
-
- /@vue/typescript@1.8.15(typescript@5.2.2):
- resolution: {integrity: sha512-qWyanQKXOsK84S8rP7QBrqsvUdQ0nZABZmTjXMpb3ox4Bp5IbkscREA3OPUrkgl64mAxwwCzIWcOc3BPTCPjQw==}
- dependencies:
- '@volar/typescript': 1.10.1
- '@vue/language-core': 1.8.15(typescript@5.2.2)
- transitivePeerDependencies:
- - typescript
dev: true
+ /@vue/shared@3.4.15:
+ resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==}
+
/@vue/web-component-wrapper@1.3.0:
resolution: {integrity: sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==}
dev: true
@@ -2209,20 +2108,28 @@ packages:
negotiator: 0.6.3
dev: true
- /acorn-import-assertions@1.9.0(acorn@8.8.2):
+ /acorn-import-assertions@1.9.0(acorn@8.10.0):
+ resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
+ peerDependencies:
+ acorn: ^8
+ dependencies:
+ acorn: 8.10.0
+ dev: true
+
+ /acorn-import-assertions@1.9.0(acorn@8.11.3):
resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
peerDependencies:
acorn: ^8
dependencies:
- acorn: 8.8.2
+ acorn: 8.11.3
dev: true
- /acorn-jsx@5.3.2(acorn@8.10.0):
+ /acorn-jsx@5.3.2(acorn@8.11.3):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- acorn: 8.10.0
+ acorn: 8.11.3
dev: true
/acorn-walk@8.2.0:
@@ -2230,31 +2137,27 @@ packages:
engines: {node: '>=0.4.0'}
dev: true
+ /acorn-walk@8.3.2:
+ resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
/acorn@8.10.0:
resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
engines: {node: '>=0.4.0'}
hasBin: true
+ dev: true
- /acorn@8.8.2:
- resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
+ /acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
engines: {node: '>=0.4.0'}
hasBin: true
- dev: true
/address@1.2.2:
resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
engines: {node: '>= 10.0.0'}
dev: true
- /agent-base@6.0.2:
- resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
- engines: {node: '>= 6.0.0'}
- dependencies:
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/ajv-formats@2.1.1(ajv@8.12.0):
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
peerDependencies:
@@ -2546,6 +2449,17 @@ packages:
node-releases: 2.0.13
update-browserslist-db: 1.0.11(browserslist@4.21.10)
+ /browserslist@4.22.2:
+ resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+ dependencies:
+ caniuse-lite: 1.0.30001579
+ electron-to-chromium: 1.4.640
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.13(browserslist@4.22.2)
+ dev: true
+
/buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
dev: true
@@ -2568,19 +2482,18 @@ packages:
semver: 7.5.4
dev: true
- /bumpp@9.2.0:
- resolution: {integrity: sha512-pgp7y3jp33QTaXFVDrE0IKuZF5Y8EsIz+ywZXFALW2nD+ZD+4crxJe/GypBQBoJuZrr5dc6TGrR3wl7fk3+C6w==}
+ /bumpp@9.3.0:
+ resolution: {integrity: sha512-P46VikoEZadYCqx7mbClKlaJnOyvc+JfRJPRf1YwlOjwqeYmutgFe1w9hvfXe819VhpU0N0TNXtxyVAUlAgaNA==}
engines: {node: '>=10'}
hasBin: true
dependencies:
'@jsdevtools/ez-spawn': 3.0.4
- c12: 1.4.2
+ c12: 1.6.1
cac: 6.7.14
- fast-glob: 3.3.1
+ fast-glob: 3.3.2
+ js-yaml: 4.1.0
prompts: 2.4.2
semver: 7.5.4
- transitivePeerDependencies:
- - supports-color
dev: true
/bundle-name@3.0.0:
@@ -2590,13 +2503,13 @@ packages:
run-applescript: 5.0.0
dev: true
- /bundle-require@4.0.1(esbuild@0.18.20):
+ /bundle-require@4.0.1(esbuild@0.19.11):
resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
peerDependencies:
esbuild: '>=0.17'
dependencies:
- esbuild: 0.18.20
+ esbuild: 0.19.11
load-tsconfig: 0.2.3
dev: true
@@ -2610,22 +2523,20 @@ packages:
engines: {node: '>= 0.8'}
dev: true
- /c12@1.4.2:
- resolution: {integrity: sha512-3IP/MuamSVRVw8W8+CHWAz9gKN4gd+voF2zm/Ln6D25C2RhytEZ1ABbC8MjKr4BR9rhoV1JQ7jJA158LDiTkLg==}
+ /c12@1.6.1:
+ resolution: {integrity: sha512-fAZOi3INDvIbmjuwAVVggusyRTxwNdTAnwLay8IsXwhFzDwPPGzFxzrx6L55CPFGPulUSZI0eyFUvRDXveoE3g==}
dependencies:
chokidar: 3.5.3
- defu: 6.1.2
+ defu: 6.1.4
dotenv: 16.3.1
- giget: 1.1.2
- jiti: 1.20.0
- mlly: 1.4.2
- ohash: 1.1.2
- pathe: 1.1.1
+ giget: 1.2.1
+ jiti: 1.21.0
+ mlly: 1.5.0
+ ohash: 1.1.3
+ pathe: 1.1.2
perfect-debounce: 1.0.0
pkg-types: 1.0.3
rc9: 2.1.1
- transitivePeerDependencies:
- - supports-color
dev: true
/cac@6.7.14:
@@ -2671,19 +2582,23 @@ packages:
/caniuse-lite@1.0.30001551:
resolution: {integrity: sha512-vtBAez47BoGMMzlbYhfXrMV1kvRF2WP/lqiMuDu1Sb4EE4LKEgjopFDSRtZfdVnslNRpOqV/woE+Xgrwj6VQlg==}
+ /caniuse-lite@1.0.30001579:
+ resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==}
+ dev: true
+
/case-sensitive-paths-webpack-plugin@2.4.0:
resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==}
engines: {node: '>=4'}
dev: true
- /chai@4.3.7:
- resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
+ /chai@4.4.1:
+ resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
engines: {node: '>=4'}
dependencies:
assertion-error: 1.1.0
- check-error: 1.0.2
+ check-error: 1.0.3
deep-eql: 4.1.3
- get-func-name: 2.0.0
+ get-func-name: 2.0.2
loupe: 2.3.6
pathval: 1.1.1
type-detect: 4.0.8
@@ -2731,8 +2646,10 @@ packages:
resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
dev: true
- /check-error@1.0.2:
- resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
+ /check-error@1.0.3:
+ resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
+ dependencies:
+ get-func-name: 2.0.2
dev: true
/chokidar@3.5.3:
@@ -2747,7 +2664,7 @@ packages:
normalize-path: 3.0.0
readdirp: 3.6.0
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: 2.3.3
/chownr@2.0.0:
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
@@ -2759,11 +2676,17 @@ packages:
engines: {node: '>=6.0'}
dev: true
- /ci-info@3.8.0:
- resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
+ /ci-info@4.0.0:
+ resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
engines: {node: '>=8'}
dev: true
+ /citty@0.1.5:
+ resolution: {integrity: sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==}
+ dependencies:
+ consola: 3.2.3
+ dev: true
+
/clean-css@5.3.2:
resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==}
engines: {node: '>= 10.0'}
@@ -2827,6 +2750,15 @@ packages:
wrap-ansi: 7.0.0
dev: true
+ /cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: true
+
/clone-deep@4.0.1:
resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
engines: {node: '>=6'}
@@ -2889,8 +2821,8 @@ packages:
engines: {node: '>= 12'}
dev: true
- /comment-parser@1.4.0:
- resolution: {integrity: sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==}
+ /comment-parser@1.4.1:
+ resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
engines: {node: '>= 12.0.0'}
dev: true
@@ -2920,6 +2852,10 @@ packages:
- supports-color
dev: true
+ /computeds@0.0.1:
+ resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
+ dev: true
+
/concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
@@ -3134,19 +3070,20 @@ packages:
peerDependencies:
webpack: ^5.1.0
dependencies:
- fast-glob: 3.3.1
+ fast-glob: 3.3.2
glob-parent: 6.0.2
globby: 11.1.0
normalize-path: 3.0.0
schema-utils: 3.3.0
serialize-javascript: 6.0.1
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
- /core-js-pure@3.32.1:
- resolution: {integrity: sha512-f52QZwkFVDPf7UEQZGHKx6NYxsxmVGJe5DIvbzOdRMJlmT6yv0KDjR8rmy3ngr/t5wU54c7Sp/qIJH0ppbhVpQ==}
- requiresBuild: true
- dev: false
+ /core-js-compat@3.35.0:
+ resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==}
+ dependencies:
+ browserslist: 4.22.2
+ dev: true
/core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
@@ -3206,10 +3143,10 @@ packages:
postcss-modules-values: 4.0.0(postcss@8.4.27)
postcss-value-parser: 4.2.0
semver: 7.5.4
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
- /css-minimizer-webpack-plugin@3.4.1(esbuild@0.18.20)(webpack@5.88.2):
+ /css-minimizer-webpack-plugin@3.4.1(esbuild@0.19.11)(webpack@5.88.2):
resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==}
engines: {node: '>= 12.13.0'}
peerDependencies:
@@ -3229,13 +3166,13 @@ packages:
optional: true
dependencies:
cssnano: 5.1.15(postcss@8.4.27)
- esbuild: 0.18.20
+ esbuild: 0.19.11
jest-worker: 27.5.1
postcss: 8.4.27
schema-utils: 4.2.0
serialize-javascript: 6.0.1
source-map: 0.6.1
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
/css-select@4.3.0:
@@ -3333,8 +3270,8 @@ packages:
css-tree: 1.1.3
dev: true
- /csstype@3.1.2:
- resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
+ /csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
/de-indent@1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
@@ -3351,7 +3288,7 @@ packages:
ms: 2.0.0
dev: true
- /debug@3.2.7(supports-color@5.5.0):
+ /debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
supports-color: '*'
@@ -3360,10 +3297,9 @@ packages:
optional: true
dependencies:
ms: 2.1.3
- supports-color: 5.5.0
dev: true
- /debug@4.3.4:
+ /debug@4.3.4(supports-color@5.5.0):
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
peerDependencies:
@@ -3373,6 +3309,7 @@ packages:
optional: true
dependencies:
ms: 2.1.2
+ supports-color: 5.5.0
dev: true
/deep-eql@4.1.3:
@@ -3432,8 +3369,8 @@ packages:
engines: {node: '>=12'}
dev: true
- /defu@6.1.2:
- resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==}
+ /defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
dev: true
/depd@1.1.2:
@@ -3459,8 +3396,8 @@ packages:
resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
dev: true
- /diff-sequences@29.4.3:
- resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==}
+ /diff-sequences@29.6.3:
+ resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dev: true
@@ -3482,13 +3419,6 @@ packages:
'@leichtgewicht/ip-codec': 2.0.4
dev: true
- /doctrine@2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
- dependencies:
- esutils: 2.0.3
- dev: true
-
/doctrine@3.0.0:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'}
@@ -3510,14 +3440,6 @@ packages:
entities: 2.2.0
dev: true
- /dom-serializer@2.0.0:
- resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- entities: 4.4.0
- dev: true
-
/domelementtype@2.3.0:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
dev: true
@@ -3529,13 +3451,6 @@ packages:
domelementtype: 2.3.0
dev: true
- /domhandler@5.0.3:
- resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
- engines: {node: '>= 4'}
- dependencies:
- domelementtype: 2.3.0
- dev: true
-
/domutils@2.8.0:
resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
dependencies:
@@ -3544,14 +3459,6 @@ packages:
domhandler: 4.3.1
dev: true
- /domutils@3.0.1:
- resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==}
- dependencies:
- dom-serializer: 2.0.0
- domelementtype: 2.3.0
- domhandler: 5.0.3
- dev: true
-
/dot-case@3.0.4:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
dependencies:
@@ -3597,6 +3504,10 @@ packages:
/electron-to-chromium@1.4.498:
resolution: {integrity: sha512-4LODxAzKGVy7CJyhhN5mebwe7U2L29P+0G+HUriHnabm0d7LSff8Yn7t+Wq+2/9ze2Fu1dhX7mww090xfv7qXQ==}
+ /electron-to-chromium@1.4.640:
+ resolution: {integrity: sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA==}
+ dev: true
+
/emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
dev: true
@@ -3621,15 +3532,6 @@ packages:
once: 1.4.0
dev: true
- /enhanced-resolve@4.5.0:
- resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- graceful-fs: 4.2.10
- memory-fs: 0.5.0
- tapable: 1.1.3
- dev: true
-
/enhanced-resolve@5.12.0:
resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==}
engines: {node: '>=10.13.0'}
@@ -3650,17 +3552,9 @@ packages:
resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
dev: true
- /entities@4.4.0:
- resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==}
+ /entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
- dev: true
-
- /errno@0.1.8:
- resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
- hasBin: true
- dependencies:
- prr: 1.0.1
- dev: true
/error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
@@ -3682,64 +3576,35 @@ packages:
resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==}
dev: true
- /esbuild@0.17.19:
- resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
+ /esbuild@0.19.11:
+ resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
- '@esbuild/android-arm': 0.17.19
- '@esbuild/android-arm64': 0.17.19
- '@esbuild/android-x64': 0.17.19
- '@esbuild/darwin-arm64': 0.17.19
- '@esbuild/darwin-x64': 0.17.19
- '@esbuild/freebsd-arm64': 0.17.19
- '@esbuild/freebsd-x64': 0.17.19
- '@esbuild/linux-arm': 0.17.19
- '@esbuild/linux-arm64': 0.17.19
- '@esbuild/linux-ia32': 0.17.19
- '@esbuild/linux-loong64': 0.17.19
- '@esbuild/linux-mips64el': 0.17.19
- '@esbuild/linux-ppc64': 0.17.19
- '@esbuild/linux-riscv64': 0.17.19
- '@esbuild/linux-s390x': 0.17.19
- '@esbuild/linux-x64': 0.17.19
- '@esbuild/netbsd-x64': 0.17.19
- '@esbuild/openbsd-x64': 0.17.19
- '@esbuild/sunos-x64': 0.17.19
- '@esbuild/win32-arm64': 0.17.19
- '@esbuild/win32-ia32': 0.17.19
- '@esbuild/win32-x64': 0.17.19
- dev: true
-
- /esbuild@0.18.20:
- resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/android-arm': 0.18.20
- '@esbuild/android-arm64': 0.18.20
- '@esbuild/android-x64': 0.18.20
- '@esbuild/darwin-arm64': 0.18.20
- '@esbuild/darwin-x64': 0.18.20
- '@esbuild/freebsd-arm64': 0.18.20
- '@esbuild/freebsd-x64': 0.18.20
- '@esbuild/linux-arm': 0.18.20
- '@esbuild/linux-arm64': 0.18.20
- '@esbuild/linux-ia32': 0.18.20
- '@esbuild/linux-loong64': 0.18.20
- '@esbuild/linux-mips64el': 0.18.20
- '@esbuild/linux-ppc64': 0.18.20
- '@esbuild/linux-riscv64': 0.18.20
- '@esbuild/linux-s390x': 0.18.20
- '@esbuild/linux-x64': 0.18.20
- '@esbuild/netbsd-x64': 0.18.20
- '@esbuild/openbsd-x64': 0.18.20
- '@esbuild/sunos-x64': 0.18.20
- '@esbuild/win32-arm64': 0.18.20
- '@esbuild/win32-ia32': 0.18.20
- '@esbuild/win32-x64': 0.18.20
+ '@esbuild/aix-ppc64': 0.19.11
+ '@esbuild/android-arm': 0.19.11
+ '@esbuild/android-arm64': 0.19.11
+ '@esbuild/android-x64': 0.19.11
+ '@esbuild/darwin-arm64': 0.19.11
+ '@esbuild/darwin-x64': 0.19.11
+ '@esbuild/freebsd-arm64': 0.19.11
+ '@esbuild/freebsd-x64': 0.19.11
+ '@esbuild/linux-arm': 0.19.11
+ '@esbuild/linux-arm64': 0.19.11
+ '@esbuild/linux-ia32': 0.19.11
+ '@esbuild/linux-loong64': 0.19.11
+ '@esbuild/linux-mips64el': 0.19.11
+ '@esbuild/linux-ppc64': 0.19.11
+ '@esbuild/linux-riscv64': 0.19.11
+ '@esbuild/linux-s390x': 0.19.11
+ '@esbuild/linux-x64': 0.19.11
+ '@esbuild/netbsd-x64': 0.19.11
+ '@esbuild/openbsd-x64': 0.19.11
+ '@esbuild/sunos-x64': 0.19.11
+ '@esbuild/win32-arm64': 0.19.11
+ '@esbuild/win32-ia32': 0.19.11
+ '@esbuild/win32-x64': 0.19.11
/escalade@3.1.1:
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
@@ -3764,17 +3629,50 @@ packages:
engines: {node: '>=12'}
dev: true
- /eslint-import-resolver-node@0.3.7:
- resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==}
+ /eslint-compat-utils@0.1.2(eslint@8.56.0):
+ resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ eslint: 8.56.0
+ dev: true
+
+ /eslint-compat-utils@0.4.1(eslint@8.56.0):
+ resolution: {integrity: sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ eslint: '>=6.0.0'
+ dependencies:
+ eslint: 8.56.0
+ semver: 7.5.4
+ dev: true
+
+ /eslint-config-flat-gitignore@0.1.2:
+ resolution: {integrity: sha512-PcBsqtd5QHEZH4ROvpnRN4EP0qcHh9voCCHgtyHxnJZHGspJREcZn7oPqRG/GfWt9m3C0fkC2l5CuBtMig2wXQ==}
+ dependencies:
+ parse-gitignore: 2.0.0
+ dev: true
+
+ /eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
dependencies:
- debug: 3.2.7(supports-color@5.5.0)
+ debug: 3.2.7
is-core-module: 2.13.0
resolve: 1.22.4
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.0)(eslint-import-resolver-node@0.3.7)(eslint@8.50.0):
+ /eslint-merge-processors@0.1.0(eslint@8.56.0):
+ resolution: {integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==}
+ peerDependencies:
+ eslint: '*'
+ dependencies:
+ eslint: 8.56.0
+ dev: true
+
+ /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'}
peerDependencies:
@@ -3795,67 +3693,59 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
- '@typescript-eslint/parser': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
- debug: 3.2.7(supports-color@5.5.0)
- eslint: 8.50.0
- eslint-import-resolver-node: 0.3.7
+ '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
+ debug: 3.2.7
+ eslint: 8.56.0
+ eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-plugin-antfu@0.42.1(eslint@8.50.0)(typescript@5.2.2):
- resolution: {integrity: sha512-uW4Z/j3RSzwloR0Ym4f1rY/ZLrodSC7kd6XTLQccYdhNBgNswTzqPyfPtIeFV0XnlLp/B6AeXfOWcK4c5ZyFkg==}
+ /eslint-plugin-antfu@2.1.1(eslint@8.56.0):
+ resolution: {integrity: sha512-HCPo3IP15/gOaruIb1ce6R4LUv/MKBZCmWzqYiLGDFW43WW4juPURnjaQIE3AgWNSoCURqD3wxerXYKzokKTgA==}
+ peerDependencies:
+ eslint: '*'
dependencies:
- '@typescript-eslint/utils': 6.7.0(eslint@8.50.0)(typescript@5.2.2)
- transitivePeerDependencies:
- - eslint
- - supports-color
- - typescript
+ eslint: 8.56.0
dev: true
- /eslint-plugin-es-x@7.2.0(eslint@8.50.0):
- resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==}
+ /eslint-plugin-es-x@7.5.0(eslint@8.56.0):
+ resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
eslint: '>=8'
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
'@eslint-community/regexpp': 4.6.2
- eslint: 8.50.0
+ eslint: 8.56.0
+ eslint-compat-utils: 0.1.2(eslint@8.56.0)
dev: true
- /eslint-plugin-eslint-comments@3.2.0(eslint@8.50.0):
+ /eslint-plugin-eslint-comments@3.2.0(eslint@8.56.0):
resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==}
engines: {node: '>=6.5.0'}
peerDependencies:
eslint: '>=4.19.1'
dependencies:
escape-string-regexp: 1.0.5
- eslint: 8.50.0
- ignore: 5.2.4
- dev: true
-
- /eslint-plugin-html@7.1.0:
- resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==}
- dependencies:
- htmlparser2: 8.0.1
+ eslint: 8.56.0
+ ignore: 5.3.0
dev: true
- /eslint-plugin-i@2.28.1(@typescript-eslint/parser@6.7.0)(eslint@8.50.0):
- resolution: {integrity: sha512-a4oVt0j3ixNhGhvV4XF6NS7OWRFK2rrJ0Q5C4S2dSRb8FxZi31J0uUd5WJLL58wnVJ/OiQ1BxiXnFA4dWQO1Cg==}
+ /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0):
+ resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==}
engines: {node: '>=12'}
peerDependencies:
eslint: ^7.2.0 || ^8
dependencies:
- debug: 3.2.7(supports-color@5.5.0)
- doctrine: 2.1.0
- eslint: 8.50.0
- eslint-import-resolver-node: 0.3.7
- eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.0)(eslint-import-resolver-node@0.3.7)(eslint@8.50.0)
- get-tsconfig: 4.7.0
+ debug: 4.3.4(supports-color@5.5.0)
+ doctrine: 3.0.0
+ eslint: 8.56.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0)
+ get-tsconfig: 4.7.2
is-glob: 4.0.3
minimatch: 3.1.2
- resolve: 1.22.4
semver: 7.5.4
transitivePeerDependencies:
- '@typescript-eslint/parser'
@@ -3864,83 +3754,67 @@ packages:
- supports-color
dev: true
- /eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@6.7.0)(eslint@8.50.0)(typescript@5.2.2):
- 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.7.0(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)(typescript@5.2.2)
- '@typescript-eslint/utils': 5.59.8(eslint@8.50.0)(typescript@5.2.2)
- eslint: 8.50.0
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
-
- /eslint-plugin-jsdoc@46.8.1(eslint@8.50.0):
- resolution: {integrity: sha512-uTce7IBluPKXIQMWJkIwFsI1gv7sZRmLjctca2K5DIxPi8fSBj9f4iru42XmGwuiMyH2f3nfc60sFmnSGv4Z/A==}
- engines: {node: '>=16'}
+ /eslint-plugin-jsdoc@48.0.2(eslint@8.56.0):
+ resolution: {integrity: sha512-CBFl5Jc7+jlV36RwDm+PQ8Uw5r28pn2/uW/OaB+Gw5bFwn4Py/1eYMZ3hGf9S4meUFZ/sRvS+hVif2mRAp6WqQ==}
+ engines: {node: '>=18'}
peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
+ eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
dependencies:
- '@es-joy/jsdoccomment': 0.40.1
+ '@es-joy/jsdoccomment': 0.41.0
are-docs-informative: 0.0.2
- comment-parser: 1.4.0
- debug: 4.3.4
+ comment-parser: 1.4.1
+ debug: 4.3.4(supports-color@5.5.0)
escape-string-regexp: 4.0.0
- eslint: 8.50.0
+ eslint: 8.56.0
esquery: 1.5.0
is-builtin-module: 3.2.1
semver: 7.5.4
- spdx-expression-parse: 3.0.1
+ spdx-expression-parse: 4.0.0
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-plugin-jsonc@2.9.0(eslint@8.50.0):
- resolution: {integrity: sha512-RK+LeONVukbLwT2+t7/OY54NJRccTXh/QbnXzPuTLpFMVZhPuq1C9E07+qWenGx7rrQl0kAalAWl7EmB+RjpGA==}
+ /eslint-plugin-jsonc@2.12.2(eslint@8.56.0):
+ resolution: {integrity: sha512-iv2BLi1bqkSxCPEvDOY6xiBXzAFi5iS2gTOU8fnXGfKxkC6MvC5Tw2XAgbP6R6WRlqV7AtFItx4Xb7mCONtmmw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
- eslint: 8.50.0
- jsonc-eslint-parser: 2.3.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ eslint: 8.56.0
+ eslint-compat-utils: 0.4.1(eslint@8.56.0)
+ espree: 9.6.1
+ graphemer: 1.4.0
+ jsonc-eslint-parser: 2.4.0
natural-compare: 1.4.0
dev: true
- /eslint-plugin-markdown@3.0.1(eslint@8.50.0):
+ /eslint-plugin-markdown@3.0.1(eslint@8.56.0):
resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- eslint: 8.50.0
+ eslint: 8.56.0
mdast-util-from-markdown: 0.8.5
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-plugin-n@16.1.0(eslint@8.50.0):
- resolution: {integrity: sha512-3wv/TooBst0N4ND+pnvffHuz9gNPmk/NkLwAxOt2JykTl/hcuECe6yhTtLJcZjIxtZwN+GX92ACp/QTLpHA3Hg==}
+ /eslint-plugin-n@16.6.2(eslint@8.56.0):
+ resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==}
engines: {node: '>=16.0.0'}
peerDependencies:
eslint: '>=7.0.0'
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
builtins: 5.0.1
- eslint: 8.50.0
- eslint-plugin-es-x: 7.2.0(eslint@8.50.0)
+ eslint: 8.56.0
+ eslint-plugin-es-x: 7.5.0(eslint@8.56.0)
get-tsconfig: 4.7.0
- ignore: 5.2.4
+ globals: 13.24.0
+ ignore: 5.3.0
+ is-builtin-module: 3.2.1
is-core-module: 2.13.0
minimatch: 3.1.2
resolve: 1.22.4
@@ -3952,80 +3826,140 @@ packages:
engines: {node: '>=5.0.0'}
dev: true
- /eslint-plugin-promise@6.1.1(eslint@8.50.0):
- resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==}
+ /eslint-plugin-perfectionist@2.5.0(eslint@8.56.0)(typescript@5.3.3)(vue-eslint-parser@9.4.0):
+ resolution: {integrity: sha512-F6XXcq4mKKUe/SREoMGQqzgw6cgCgf3pFzkFfQVIGtqD1yXVpQjnhTepzhBeZfxZwgMzR9HO4yH4CUhIQ2WBcQ==}
+ peerDependencies:
+ astro-eslint-parser: ^0.16.0
+ eslint: '>=8.0.0'
+ svelte: '>=3.0.0'
+ svelte-eslint-parser: ^0.33.0
+ vue-eslint-parser: '>=9.0.0'
+ peerDependenciesMeta:
+ astro-eslint-parser:
+ optional: true
+ svelte:
+ optional: true
+ svelte-eslint-parser:
+ optional: true
+ vue-eslint-parser:
+ optional: true
+ dependencies:
+ '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ minimatch: 9.0.3
+ natural-compare-lite: 1.4.0
+ vue-eslint-parser: 9.4.0(eslint@8.56.0)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /eslint-plugin-toml@0.9.2(eslint@8.56.0):
+ resolution: {integrity: sha512-ri0xf63PYf3pIq/WY9BIwrqxZmGTIwSkAO0bHddI0ajUwN4KGz6W8vOvdXFHOpRdRfzxlmXze/vfsY/aTEXESg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
- eslint: ^7.0.0 || ^8.0.0
+ eslint: '>=6.0.0'
dependencies:
- eslint: 8.50.0
+ debug: 4.3.4(supports-color@5.5.0)
+ eslint: 8.56.0
+ eslint-compat-utils: 0.4.1(eslint@8.56.0)
+ lodash: 4.17.21
+ toml-eslint-parser: 0.9.3
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /eslint-plugin-unicorn@48.0.1(eslint@8.50.0):
- resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==}
+ /eslint-plugin-unicorn@50.0.1(eslint@8.56.0):
+ resolution: {integrity: sha512-KxenCZxqSYW0GWHH18okDlOQcpezcitm5aOSz6EnobyJ6BIByiPDviQRjJIUAjG/tMN11958MxaQ+qCoU6lfDA==}
engines: {node: '>=16'}
peerDependencies:
- eslint: '>=8.44.0'
+ eslint: '>=8.56.0'
dependencies:
- '@babel/helper-validator-identifier': 7.22.5
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
- ci-info: 3.8.0
+ '@babel/helper-validator-identifier': 7.22.20
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ '@eslint/eslintrc': 2.1.4
+ ci-info: 4.0.0
clean-regexp: 1.0.0
- eslint: 8.50.0
+ core-js-compat: 3.35.0
+ eslint: 8.56.0
esquery: 1.5.0
indent-string: 4.0.0
is-builtin-module: 3.2.1
jsesc: 3.0.2
- lodash: 4.17.21
pluralize: 8.0.0
read-pkg-up: 7.0.1
regexp-tree: 0.1.27
regjsparser: 0.10.0
semver: 7.5.4
strip-indent: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.7.0)(eslint@8.50.0):
+ /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.19.0)(eslint@8.56.0):
resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
- '@typescript-eslint/eslint-plugin': ^6.0.0
- eslint: ^8.0.0
+ '@typescript-eslint/eslint-plugin': ^6.0.0
+ eslint: ^8.0.0
+ peerDependenciesMeta:
+ '@typescript-eslint/eslint-plugin':
+ optional: true
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ eslint-rule-composer: 0.3.0
+ dev: true
+
+ /eslint-plugin-vitest@0.3.20(@typescript-eslint/eslint-plugin@6.19.0)(eslint@8.56.0)(typescript@5.3.3)(vitest@1.2.1):
+ resolution: {integrity: sha512-O05k4j9TGMOkkghj9dRgpeLDyOSiVIxQWgNDPfhYPm5ioJsehcYV/zkRLekQs+c8+RBCVXucSED3fYOyy2EoWA==}
+ engines: {node: ^18.0.0 || >= 20.0.0}
+ peerDependencies:
+ '@typescript-eslint/eslint-plugin': '*'
+ eslint: '>=8.0.0'
+ vitest: '*'
peerDependenciesMeta:
'@typescript-eslint/eslint-plugin':
optional: true
+ vitest:
+ optional: true
dependencies:
- '@typescript-eslint/eslint-plugin': 6.7.0(@typescript-eslint/parser@6.7.0)(eslint@8.50.0)(typescript@5.2.2)
- eslint: 8.50.0
- eslint-rule-composer: 0.3.0
+ '@typescript-eslint/eslint-plugin': 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3)
+ '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3)
+ eslint: 8.56.0
+ vitest: 1.2.1(@types/node@20.11.5)
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
dev: true
- /eslint-plugin-vue@9.17.0(eslint@8.50.0):
- resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==}
+ /eslint-plugin-vue@9.20.1(eslint@8.56.0):
+ resolution: {integrity: sha512-GyCs8K3lkEvoyC1VV97GJhP1SvqsKCiWGHnbn0gVUYiUhaH2+nB+Dv1uekv1THFMPbBfYxukrzQdltw950k+LQ==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
- eslint: 8.50.0
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
+ eslint: 8.56.0
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.0.13
semver: 7.5.4
- vue-eslint-parser: 9.3.1(eslint@8.50.0)
+ vue-eslint-parser: 9.4.0(eslint@8.56.0)
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-plugin-yml@1.9.0(eslint@8.50.0):
- resolution: {integrity: sha512-ayuC57WyVQ5+QZ02y62GiB//5+zsiyzUGxUX/mrhLni+jfsKA4KoITjkbR65iUdjjhWpyTJHPcAIFLKQIOwgsw==}
+ /eslint-plugin-yml@1.12.2(eslint@8.56.0):
+ resolution: {integrity: sha512-hvS9p08FhPT7i/ynwl7/Wt7ke7Rf4P2D6fT8lZlL43peZDTsHtH2A0SIFQ7Kt7+mJ6if6P+FX3iJhMkdnxQwpg==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
- debug: 4.3.4
- eslint: 8.50.0
+ debug: 4.3.4(supports-color@5.5.0)
+ eslint: 8.56.0
+ eslint-compat-utils: 0.4.1(eslint@8.56.0)
lodash: 4.17.21
natural-compare: 1.4.0
yaml-eslint-parser: 1.2.2
@@ -4033,6 +3967,16 @@ packages:
- supports-color
dev: true
+ /eslint-processor-vue-blocks@0.1.1(@vue/compiler-sfc@3.4.15)(eslint@8.56.0):
+ resolution: {integrity: sha512-9+dU5lU881log570oBwpelaJmOfOzSniben7IWEDRYQPPWwlvaV7NhOtsTuUWDqpYT+dtKKWPsgz4OkOi+aZnA==}
+ peerDependencies:
+ '@vue/compiler-sfc': ^3.3.0
+ eslint: ^8.50.0
+ dependencies:
+ '@vue/compiler-sfc': 3.4.15
+ eslint: 8.56.0
+ dev: true
+
/eslint-rule-composer@0.3.0:
resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==}
engines: {node: '>=4.0.0'}
@@ -4059,22 +4003,23 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /eslint@8.50.0:
- resolution: {integrity: sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==}
+ /eslint@8.56.0:
+ resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
'@eslint-community/regexpp': 4.6.2
- '@eslint/eslintrc': 2.1.2
- '@eslint/js': 8.50.0
- '@humanwhocodes/config-array': 0.11.11
+ '@eslint/eslintrc': 2.1.4
+ '@eslint/js': 8.56.0
+ '@humanwhocodes/config-array': 0.11.14
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
+ '@ungap/structured-clone': 1.2.0
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
- debug: 4.3.4
+ debug: 4.3.4(supports-color@5.5.0)
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
@@ -4105,19 +4050,19 @@ packages:
- supports-color
dev: true
- /esno@0.17.0:
- resolution: {integrity: sha512-w78cQGlptQfsBYfootUCitsKS+MD74uR5L6kNsvwVkJsfzEepIafbvWsx2xK4rcFP4IUftt4F6J8EhagUxX+Bg==}
+ /esno@4.0.0:
+ resolution: {integrity: sha512-tmaM9gfnSWqzePVJ5FJLYX9mMyE6ZevvOIvd1CMoMk2Fn1F3aKI/OQPjubS5wCIKlPpWfDfKFEtoslCNCiZJpQ==}
hasBin: true
dependencies:
- tsx: 3.12.7
+ tsx: 4.7.0
dev: true
/espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.10.0
- acorn-jsx: 5.3.2(acorn@8.10.0)
+ acorn: 8.11.3
+ acorn-jsx: 5.3.2(acorn@8.11.3)
eslint-visitor-keys: 3.4.3
dev: true
@@ -4151,7 +4096,7 @@ packages:
/estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
dependencies:
- '@types/estree': 1.0.0
+ '@types/estree': 1.0.5
dev: true
/esutils@2.0.3:
@@ -4221,6 +4166,21 @@ packages:
strip-final-newline: 3.0.0
dev: true
+ /execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 8.0.1
+ human-signals: 5.0.0
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.1.0
+ onetime: 6.0.0
+ signal-exit: 4.1.0
+ strip-final-newline: 3.0.0
+ dev: true
+
/express@4.18.2:
resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
engines: {node: '>= 0.10.0'}
@@ -4263,8 +4223,8 @@ packages:
/fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- /fast-glob@3.3.1:
- resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+ /fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -4372,7 +4332,7 @@ packages:
debug:
optional: true
dependencies:
- debug: 4.3.4
+ debug: 4.3.4(supports-color@5.5.0)
dev: true
/for-each@0.3.3:
@@ -4386,7 +4346,7 @@ packages:
engines: {node: '>=14'}
dependencies:
cross-spawn: 7.0.3
- signal-exit: 4.0.2
+ signal-exit: 4.1.0
dev: true
/forwarded@0.2.0:
@@ -4437,8 +4397,8 @@ packages:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
- /fsevents@2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
requiresBuild: true
@@ -4457,8 +4417,8 @@ packages:
engines: {node: 6.* || 8.* || >= 10.*}
dev: true
- /get-func-name@2.0.0:
- resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
+ /get-func-name@2.0.2:
+ resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
dev: true
/get-intrinsic@1.2.1:
@@ -4481,25 +4441,35 @@ packages:
engines: {node: '>=10'}
dev: true
+ /get-stream@8.0.1:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+ dev: true
+
/get-tsconfig@4.7.0:
resolution: {integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==}
dependencies:
resolve-pkg-maps: 1.0.0
dev: true
- /giget@1.1.2:
- resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==}
+ /get-tsconfig@4.7.2:
+ resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+ dev: true
+
+ /giget@1.2.1:
+ resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==}
hasBin: true
dependencies:
- colorette: 2.0.20
- defu: 6.1.2
- https-proxy-agent: 5.0.1
- mri: 1.2.0
- node-fetch-native: 1.1.1
- pathe: 1.1.1
- tar: 6.1.15
- transitivePeerDependencies:
- - supports-color
+ citty: 0.1.5
+ consola: 3.2.3
+ defu: 6.1.4
+ node-fetch-native: 1.6.1
+ nypm: 0.3.4
+ ohash: 1.1.3
+ pathe: 1.1.2
+ tar: 6.2.0
dev: true
/glob-parent@5.1.2:
@@ -4525,7 +4495,7 @@ packages:
dependencies:
foreground-child: 3.1.1
jackspeak: 2.3.6
- minimatch: 9.0.1
+ minimatch: 9.0.3
minipass: 6.0.2
path-scurry: 1.10.1
dev: true
@@ -4564,27 +4534,35 @@ packages:
type-fest: 0.20.2
dev: true
+ /globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
/globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
dependencies:
array-union: 2.1.0
dir-glob: 3.0.1
- fast-glob: 3.3.1
+ fast-glob: 3.3.2
ignore: 5.2.4
merge2: 1.4.1
slash: 3.0.0
dev: true
- /globby@13.2.2:
- resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ /globby@14.0.0:
+ resolution: {integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==}
+ engines: {node: '>=18'}
dependencies:
- dir-glob: 3.0.1
- fast-glob: 3.3.1
- ignore: 5.2.4
- merge2: 1.4.1
- slash: 4.0.0
+ '@sindresorhus/merge-streams': 1.0.0
+ fast-glob: 3.3.2
+ ignore: 5.3.0
+ path-type: 5.0.0
+ slash: 5.1.0
+ unicorn-magic: 0.1.0
dev: true
/gopd@1.0.1:
@@ -4704,7 +4682,7 @@ packages:
lodash: 4.17.21
pretty-error: 4.0.0
tapable: 2.2.1
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
/htmlparser2@6.1.0:
@@ -4716,15 +4694,6 @@ packages:
entities: 2.2.0
dev: true
- /htmlparser2@8.0.1:
- resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==}
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.0.1
- entities: 4.4.0
- dev: true
-
/http-deceiver@1.2.7:
resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
dev: true
@@ -4784,16 +4753,6 @@ packages:
- debug
dev: true
- /https-proxy-agent@5.0.1:
- resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
- engines: {node: '>= 6'}
- dependencies:
- agent-base: 6.0.2
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/human-signals@2.1.0:
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
engines: {node: '>=10.17.0'}
@@ -4804,6 +4763,11 @@ packages:
engines: {node: '>=14.18.0'}
dev: true
+ /human-signals@5.0.0:
+ resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
+ engines: {node: '>=16.17.0'}
+ dev: true
+
/iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
@@ -4833,6 +4797,11 @@ packages:
engines: {node: '>= 4'}
dev: true
+ /ignore@5.3.0:
+ resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
+ engines: {node: '>= 4'}
+ dev: true
+
/import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -5078,13 +5047,13 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/node': 20.7.1
+ '@types/node': 20.11.5
merge-stream: 2.0.0
supports-color: 8.1.1
dev: true
- /jiti@1.20.0:
- resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==}
+ /jiti@1.21.0:
+ resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
hasBin: true
dev: true
@@ -5173,11 +5142,11 @@ packages:
hasBin: true
dev: true
- /jsonc-eslint-parser@2.3.0:
- resolution: {integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==}
+ /jsonc-eslint-parser@2.4.0:
+ resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.10.0
+ acorn: 8.11.3
eslint-visitor-keys: 3.4.3
espree: 9.6.1
semver: 7.5.4
@@ -5272,9 +5241,12 @@ packages:
json5: 2.2.3
dev: true
- /local-pkg@0.4.3:
- resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+ /local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
engines: {node: '>=14'}
+ dependencies:
+ mlly: 1.4.2
+ pkg-types: 1.0.3
dev: true
/locate-path@5.0.0:
@@ -5362,8 +5334,15 @@ packages:
/loupe@2.3.6:
resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
+ deprecated: Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5
dependencies:
- get-func-name: 2.0.0
+ get-func-name: 2.0.2
+ dev: true
+
+ /loupe@2.3.7:
+ resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
+ dependencies:
+ get-func-name: 2.0.2
dev: true
/lower-case@2.0.2:
@@ -5397,8 +5376,8 @@ packages:
engines: {node: 14 || >=16.14}
dev: true
- /magic-string@0.30.3:
- resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==}
+ /magic-string@0.30.5:
+ resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
@@ -5435,14 +5414,6 @@ packages:
fs-monkey: 1.0.5
dev: true
- /memory-fs@0.5.0:
- resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==}
- engines: {node: '>=4.3.0 <5.0.0 || >=5.10'}
- dependencies:
- errno: 0.1.8
- readable-stream: 2.3.8
- dev: true
-
/merge-descriptors@1.0.1:
resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
dev: true
@@ -5470,7 +5441,7 @@ packages:
/micromark@2.11.4:
resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
dependencies:
- debug: 4.3.4
+ debug: 4.3.4(supports-color@5.5.0)
parse-entities: 2.0.0
transitivePeerDependencies:
- supports-color
@@ -5529,7 +5500,7 @@ packages:
webpack: ^5.0.0
dependencies:
schema-utils: 4.2.0
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
/minimalistic-assert@1.0.1:
@@ -5542,8 +5513,8 @@ packages:
brace-expansion: 1.1.11
dev: true
- /minimatch@9.0.1:
- resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==}
+ /minimatch@9.0.3:
+ resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
brace-expansion: 2.0.1
@@ -5594,12 +5565,21 @@ packages:
/mlly@1.4.2:
resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==}
dependencies:
- acorn: 8.10.0
+ acorn: 8.11.3
pathe: 1.1.1
pkg-types: 1.0.3
ufo: 1.3.0
dev: true
+ /mlly@1.5.0:
+ resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==}
+ dependencies:
+ acorn: 8.11.3
+ pathe: 1.1.2
+ pkg-types: 1.0.3
+ ufo: 1.3.2
+ dev: true
+
/module-alias@2.2.3:
resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==}
dev: true
@@ -5650,6 +5630,16 @@ packages:
resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ dev: true
+
+ /nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ /natural-compare-lite@1.4.0:
+ resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
+ dev: true
/natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
@@ -5674,8 +5664,8 @@ packages:
tslib: 2.6.2
dev: true
- /node-fetch-native@1.1.1:
- resolution: {integrity: sha512-9VvspTSUp2Sxbl+9vbZTlFGq9lHwE8GDVVekxx6YsNd1YH59sb3Ba8v3Y3cD8PkLNcileGGcA21PFjVl0jzDaw==}
+ /node-fetch-native@1.6.1:
+ resolution: {integrity: sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==}
dev: true
/node-fetch@2.7.0:
@@ -5698,17 +5688,21 @@ packages:
/node-releases@2.0.13:
resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
+ /node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+ dev: true
+
/node-releases@2.0.3:
resolution: {integrity: sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==}
dev: true
- /nodemon@3.0.1:
- resolution: {integrity: sha512-g9AZ7HmkhQkqXkRc20w+ZfQ73cHLbE8hnPbtaFbFtCumZsjyMhKk9LajQ07U5Ux28lvFjZ5X7HvWR1xzU8jHVw==}
+ /nodemon@3.0.3:
+ resolution: {integrity: sha512-7jH/NXbFPxVaMwmBCC2B9F/V6X1VkEdNgx3iu9jji8WxWcvhMWkmhNWhI5077zknOnZnBzba9hZP6bCPJLSReQ==}
engines: {node: '>=10'}
hasBin: true
dependencies:
chokidar: 3.5.3
- debug: 3.2.7(supports-color@5.5.0)
+ debug: 4.3.4(supports-color@5.5.0)
ignore-by-default: 1.0.1
minimatch: 3.1.2
pstree.remy: 1.1.8
@@ -5776,6 +5770,17 @@ packages:
boolbase: 1.0.0
dev: true
+ /nypm@0.3.4:
+ resolution: {integrity: sha512-1JLkp/zHBrkS3pZ692IqOaIKSYHmQXgqfELk6YTOfVBnwealAmPA1q2kKK7PHJAHSMBozerThEFZXP3G6o7Ukg==}
+ engines: {node: ^14.16.0 || >=16.10.0}
+ hasBin: true
+ dependencies:
+ citty: 0.1.5
+ execa: 8.0.1
+ pathe: 1.1.2
+ ufo: 1.3.2
+ dev: true
+
/object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -5789,8 +5794,8 @@ packages:
resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
dev: true
- /ohash@1.1.2:
- resolution: {integrity: sha512-9CIOSq5945rI045GFtcO3uudyOkYVY1nyfFxVQp+9BRgslr8jPNiSSrsFGg/BNTUFOLqx0P5tng6G32brIPw0w==}
+ /ohash@1.1.3:
+ resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==}
dev: true
/on-finished@2.4.1:
@@ -5902,9 +5907,9 @@ packages:
yocto-queue: 0.1.0
dev: true
- /p-limit@4.0.0:
- resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ /p-limit@5.0.0:
+ resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
+ engines: {node: '>=18'}
dependencies:
yocto-queue: 1.0.0
dev: true
@@ -5961,6 +5966,11 @@ packages:
is-hexadecimal: 1.0.4
dev: true
+ /parse-gitignore@2.0.0:
+ resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
+ engines: {node: '>=14'}
+ dev: true
+
/parse-json@5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
@@ -5997,6 +6007,10 @@ packages:
tslib: 2.6.2
dev: true
+ /path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+ dev: true
+
/path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
@@ -6043,10 +6057,19 @@ packages:
engines: {node: '>=8'}
dev: true
+ /path-type@5.0.0:
+ resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
+ engines: {node: '>=12'}
+ dev: true
+
/pathe@1.1.1:
resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==}
dev: true
+ /pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+ dev: true
+
/pathval@1.1.1:
resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
dev: true
@@ -6075,8 +6098,8 @@ packages:
resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
dependencies:
jsonc-parser: 3.2.0
- mlly: 1.4.2
- pathe: 1.1.1
+ mlly: 1.5.0
+ pathe: 1.1.2
dev: true
/pluralize@8.0.0:
@@ -6089,7 +6112,7 @@ packages:
engines: {node: '>= 0.12.0'}
dependencies:
async: 2.6.4
- debug: 3.2.7(supports-color@5.5.0)
+ debug: 3.2.7
mkdirp: 0.5.6
transitivePeerDependencies:
- supports-color
@@ -6165,12 +6188,6 @@ packages:
postcss: 8.4.27
dev: true
- /postcss-import-resolver@2.0.0:
- resolution: {integrity: sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==}
- dependencies:
- enhanced-resolve: 4.5.0
- dev: true
-
/postcss-load-config@4.0.1:
resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
engines: {node: '>= 14'}
@@ -6198,7 +6215,7 @@ packages:
klona: 2.0.6
postcss: 8.4.27
semver: 7.5.4
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
/postcss-merge-longhand@5.1.7(postcss@8.4.27):
@@ -6481,6 +6498,15 @@ packages:
nanoid: 3.3.6
picocolors: 1.0.0
source-map-js: 1.0.2
+ dev: true
+
+ /postcss@8.4.33:
+ resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
/prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
@@ -6502,11 +6528,11 @@ packages:
renderkid: 3.0.0
dev: true
- /pretty-format@29.6.2:
- resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==}
+ /pretty-format@29.7.0:
+ resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/schemas': 29.6.0
+ '@jest/schemas': 29.6.3
ansi-styles: 5.2.0
react-is: 18.2.0
dev: true
@@ -6524,7 +6550,7 @@ packages:
chalk: 2.4.2
figures: 2.0.0
log-update: 2.3.0
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
/prompts@2.4.2:
@@ -6543,10 +6569,6 @@ packages:
ipaddr.js: 1.9.1
dev: true
- /prr@1.0.1:
- resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
- dev: true
-
/pseudomap@1.0.2:
resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
dev: true
@@ -6601,7 +6623,7 @@ packages:
/rc9@2.1.1:
resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==}
dependencies:
- defu: 6.1.2
+ defu: 6.1.4
destr: 2.0.1
flat: 5.0.2
dev: true
@@ -6661,10 +6683,6 @@ packages:
dependencies:
picomatch: 2.3.1
- /regenerator-runtime@0.14.0:
- resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
- dev: false
-
/regexp-tree@0.1.27:
resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
hasBin: true
@@ -6769,20 +6787,27 @@ packages:
glob: 10.3.10
dev: true
- /rollup@3.29.2:
- resolution: {integrity: sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==}
- engines: {node: '>=14.18.0', npm: '>=8.0.0'}
- hasBin: true
- optionalDependencies:
- fsevents: 2.3.2
- dev: true
-
- /rollup@3.29.4:
- resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
- engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+ /rollup@4.9.5:
+ resolution: {integrity: sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ dependencies:
+ '@types/estree': 1.0.5
optionalDependencies:
- fsevents: 2.3.2
+ '@rollup/rollup-android-arm-eabi': 4.9.5
+ '@rollup/rollup-android-arm64': 4.9.5
+ '@rollup/rollup-darwin-arm64': 4.9.5
+ '@rollup/rollup-darwin-x64': 4.9.5
+ '@rollup/rollup-linux-arm-gnueabihf': 4.9.5
+ '@rollup/rollup-linux-arm64-gnu': 4.9.5
+ '@rollup/rollup-linux-arm64-musl': 4.9.5
+ '@rollup/rollup-linux-riscv64-gnu': 4.9.5
+ '@rollup/rollup-linux-x64-gnu': 4.9.5
+ '@rollup/rollup-linux-x64-musl': 4.9.5
+ '@rollup/rollup-win32-arm64-msvc': 4.9.5
+ '@rollup/rollup-win32-ia32-msvc': 4.9.5
+ '@rollup/rollup-win32-x64-msvc': 4.9.5
+ fsevents: 2.3.3
dev: true
/run-applescript@5.0.0:
@@ -6828,8 +6853,8 @@ packages:
ajv-formats: 2.1.1(ajv@8.12.0)
ajv-keywords: 5.1.0(ajv@8.12.0)
- /scule@1.0.0:
- resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==}
+ /scule@1.2.0:
+ resolution: {integrity: sha512-CRCmi5zHQnSoeCik9565PONMg0kfkvYmcSqrbOJY4txFfy1wvVULV4FDaiXhUblUgahdqz3F2NwHZ8i4eBTwUw==}
dev: true
/select-hose@2.0.0:
@@ -6974,8 +6999,8 @@ packages:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
dev: true
- /signal-exit@4.0.2:
- resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==}
+ /signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
dev: true
@@ -7004,9 +7029,9 @@ packages:
engines: {node: '>=8'}
dev: true
- /slash@4.0.0:
- resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
- engines: {node: '>=12'}
+ /slash@5.1.0:
+ resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
+ engines: {node: '>=14.16'}
dev: true
/sockjs@0.3.24:
@@ -7058,6 +7083,13 @@ packages:
spdx-license-ids: 3.0.11
dev: true
+ /spdx-expression-parse@4.0.0:
+ resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
+ dependencies:
+ spdx-exceptions: 2.3.0
+ spdx-license-ids: 3.0.11
+ dev: true
+
/spdx-license-ids@3.0.11:
resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==}
dev: true
@@ -7065,7 +7097,7 @@ packages:
/spdy-transport@3.0.0:
resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
dependencies:
- debug: 4.3.4
+ debug: 4.3.4(supports-color@5.5.0)
detect-node: 2.1.0
hpack.js: 2.1.6
obuf: 1.1.2
@@ -7079,7 +7111,7 @@ packages:
resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
engines: {node: '>=6.0.0'}
dependencies:
- debug: 4.3.4
+ debug: 4.3.4(supports-color@5.5.0)
handle-thing: 2.0.1
http-deceiver: 1.2.7
select-hose: 2.0.0
@@ -7118,8 +7150,8 @@ packages:
engines: {node: '>= 0.8'}
dev: true
- /std-env@3.4.3:
- resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==}
+ /std-env@3.7.0:
+ resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
dev: true
/string-argv@0.3.1:
@@ -7210,7 +7242,7 @@ packages:
/strip-literal@1.3.0:
resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
dependencies:
- acorn: 8.10.0
+ acorn: 8.11.3
dev: true
/stylehacks@5.1.1(postcss@8.4.27):
@@ -7284,17 +7316,12 @@ packages:
stable: 0.1.8
dev: true
- /tapable@1.1.3:
- resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==}
- engines: {node: '>=6'}
- dev: true
-
/tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
- /tar@6.1.15:
- resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==}
+ /tar@6.2.0:
+ resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==}
engines: {node: '>=10'}
dependencies:
chownr: 2.0.0
@@ -7313,7 +7340,32 @@ packages:
supports-hyperlinks: 2.3.0
dev: false
- /terser-webpack-plugin@5.3.9(esbuild@0.18.20)(webpack@5.88.2):
+ /terser-webpack-plugin@5.3.9(esbuild@0.19.11)(webpack@5.88.2):
+ resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.18
+ esbuild: 0.19.11
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.1
+ terser: 5.17.7
+ webpack: 5.88.2(esbuild@0.19.11)
+ dev: true
+
+ /terser-webpack-plugin@5.3.9(esbuild@0.19.11)(webpack@5.89.0):
resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==}
engines: {node: '>= 10.13.0'}
peerDependencies:
@@ -7330,12 +7382,12 @@ packages:
optional: true
dependencies:
'@jridgewell/trace-mapping': 0.3.18
- esbuild: 0.18.20
+ esbuild: 0.19.11
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.1
terser: 5.17.7
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.89.0(esbuild@0.19.11)
dev: true
/terser@5.17.7:
@@ -7344,7 +7396,7 @@ packages:
hasBin: true
dependencies:
'@jridgewell/source-map': 0.3.3
- acorn: 8.10.0
+ acorn: 8.11.3
commander: 2.20.3
source-map-support: 0.5.21
dev: true
@@ -7377,24 +7429,24 @@ packages:
loader-utils: 2.0.4
neo-async: 2.6.2
schema-utils: 3.3.0
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
/thunky@1.1.0:
resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
dev: true
- /tinybench@2.5.0:
- resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==}
+ /tinybench@2.6.0:
+ resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==}
dev: true
- /tinypool@0.7.0:
- resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==}
+ /tinypool@0.8.2:
+ resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==}
engines: {node: '>=14.0.0'}
dev: true
- /tinyspy@2.1.1:
- resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==}
+ /tinyspy@2.2.0:
+ resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==}
engines: {node: '>=14.0.0'}
dev: true
@@ -7418,6 +7470,13 @@ packages:
engines: {node: '>=0.6'}
dev: true
+ /toml-eslint-parser@0.9.3:
+ resolution: {integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ eslint-visitor-keys: 3.4.3
+ dev: true
+
/totalist@3.0.0:
resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==}
engines: {node: '>=6'}
@@ -7445,35 +7504,34 @@ packages:
hasBin: true
dev: true
- /ts-api-utils@1.0.1(typescript@5.2.2):
+ /ts-api-utils@1.0.1(typescript@5.3.3):
resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==}
engines: {node: '>=16.13.0'}
peerDependencies:
typescript: '>=4.2.0'
dependencies:
- typescript: 5.2.2
+ typescript: 5.3.3
dev: true
/ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
dev: true
- /tslib@1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
- dev: true
-
/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
- /tsup@7.2.0(typescript@5.2.2):
- resolution: {integrity: sha512-vDHlczXbgUvY3rWvqFEbSqmC1L7woozbzngMqTtL2PGBODTtWlRwGDDawhvWzr5c1QjKe4OAKqJGfE1xeXUvtQ==}
- engines: {node: '>=16.14'}
+ /tsup@8.0.1(typescript@5.3.3):
+ resolution: {integrity: sha512-hvW7gUSG96j53ZTSlT4j/KL0q1Q2l6TqGBFc6/mu/L46IoNWqLLUzLRLP1R8Q7xrJTmkDxxDoojV5uCVs1sVOg==}
+ engines: {node: '>=18'}
hasBin: true
peerDependencies:
+ '@microsoft/api-extractor': ^7.36.0
'@swc/core': ^1
postcss: ^8.4.12
- typescript: '>=4.1.0'
+ typescript: '>=4.5.0'
peerDependenciesMeta:
+ '@microsoft/api-extractor':
+ optional: true
'@swc/core':
optional: true
postcss:
@@ -7481,45 +7539,35 @@ packages:
typescript:
optional: true
dependencies:
- bundle-require: 4.0.1(esbuild@0.18.20)
+ bundle-require: 4.0.1(esbuild@0.19.11)
cac: 6.7.14
chokidar: 3.5.3
- debug: 4.3.4
- esbuild: 0.18.20
+ debug: 4.3.4(supports-color@5.5.0)
+ esbuild: 0.19.11
execa: 5.1.1
globby: 11.1.0
joycon: 3.1.1
postcss-load-config: 4.0.1
resolve-from: 5.0.0
- rollup: 3.29.4
+ rollup: 4.9.5
source-map: 0.8.0-beta.0
sucrase: 3.21.0
tree-kill: 1.2.2
- typescript: 5.2.2
+ typescript: 5.3.3
transitivePeerDependencies:
- supports-color
- ts-node
dev: true
- /tsutils@3.21.0(typescript@5.2.2):
- resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
- engines: {node: '>= 6'}
- peerDependencies:
- typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
- dependencies:
- tslib: 1.14.1
- typescript: 5.2.2
- dev: true
-
- /tsx@3.12.7:
- resolution: {integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==}
+ /tsx@4.7.0:
+ resolution: {integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==}
+ engines: {node: '>=18.0.0'}
hasBin: true
dependencies:
- '@esbuild-kit/cjs-loader': 2.4.2
- '@esbuild-kit/core-utils': 3.1.0
- '@esbuild-kit/esm-loader': 2.5.5
+ esbuild: 0.19.11
+ get-tsconfig: 4.7.2
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: 2.3.3
dev: true
/type-check@0.4.0:
@@ -7562,43 +7610,57 @@ packages:
mime-types: 2.1.35
dev: true
- /typescript@5.2.2:
- resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
+ /typescript@5.3.3:
+ resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
engines: {node: '>=14.17'}
hasBin: true
- dev: true
/ufo@1.3.0:
resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==}
dev: true
+ /ufo@1.3.2:
+ resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==}
+ dev: true
+
/unctx@2.3.1:
resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==}
dependencies:
- acorn: 8.10.0
+ acorn: 8.11.3
estree-walker: 3.0.3
- magic-string: 0.30.3
- unplugin: 1.5.0
+ magic-string: 0.30.5
+ unplugin: 1.6.0
dev: true
/undefsafe@2.0.5:
resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
dev: true
- /unimport@3.3.0(rollup@3.29.4):
- resolution: {integrity: sha512-3jhq3ZG5hFZzrWGDCpx83kjPzefP/EeuKkIO1T0MA4Zwj+dO/Og1mFvZ4aZ5WSDm0FVbbdVIRH1zKBG7c4wOpg==}
+ /undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ dev: true
+
+ /unicorn-magic@0.1.0:
+ resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
+ engines: {node: '>=18'}
+ dev: true
+
+ /unimport@3.7.1(rollup@4.9.5):
+ resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==}
dependencies:
- '@rollup/pluginutils': 5.0.4(rollup@3.29.4)
+ '@rollup/pluginutils': 5.1.0(rollup@4.9.5)
+ acorn: 8.11.3
escape-string-regexp: 5.0.0
- fast-glob: 3.3.1
- local-pkg: 0.4.3
- magic-string: 0.30.3
- mlly: 1.4.2
- pathe: 1.1.1
+ estree-walker: 3.0.3
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ magic-string: 0.30.5
+ mlly: 1.5.0
+ pathe: 1.1.2
pkg-types: 1.0.3
- scule: 1.0.0
+ scule: 1.2.0
strip-literal: 1.3.0
- unplugin: 1.5.0
+ unplugin: 1.6.0
transitivePeerDependencies:
- rollup
dev: true
@@ -7619,13 +7681,13 @@ packages:
engines: {node: '>= 0.8'}
dev: true
- /unplugin@1.5.0:
- resolution: {integrity: sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==}
+ /unplugin@1.6.0:
+ resolution: {integrity: sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==}
dependencies:
- acorn: 8.10.0
+ acorn: 8.11.3
chokidar: 3.5.3
webpack-sources: 3.2.3
- webpack-virtual-modules: 0.5.0
+ webpack-virtual-modules: 0.6.1
/untildify@4.0.0:
resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==}
@@ -7639,10 +7701,10 @@ packages:
'@babel/core': 7.22.10
'@babel/standalone': 7.22.10
'@babel/types': 7.22.10
- defu: 6.1.2
- jiti: 1.20.0
+ defu: 6.1.4
+ jiti: 1.21.0
mri: 1.2.0
- scule: 1.0.0
+ scule: 1.2.0
transitivePeerDependencies:
- supports-color
dev: true
@@ -7657,6 +7719,17 @@ packages:
escalade: 3.1.1
picocolors: 1.0.0
+ /update-browserslist-db@1.0.13(browserslist@4.22.2):
+ resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+ dependencies:
+ browserslist: 4.22.2
+ escalade: 3.1.1
+ picocolors: 1.0.0
+ dev: true
+
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
@@ -7702,17 +7775,16 @@ packages:
engines: {node: '>= 0.8'}
dev: true
- /vite-node@0.34.5(@types/node@20.7.1):
- resolution: {integrity: sha512-RNZ+DwbCvDoI5CbCSQSyRyzDTfFvFauvMs6Yq4ObJROKlIKuat1KgSX/Ako5rlDMfVCyMcpMRMTkJBxd6z8YRA==}
- engines: {node: '>=v14.18.0'}
+ /vite-node@1.2.1(@types/node@20.11.5):
+ resolution: {integrity: sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
dependencies:
cac: 6.7.14
- debug: 4.3.4
- mlly: 1.4.2
+ debug: 4.3.4(supports-color@5.5.0)
pathe: 1.1.1
picocolors: 1.0.0
- vite: 4.4.9(@types/node@20.7.1)
+ vite: 5.0.12(@types/node@20.11.5)
transitivePeerDependencies:
- '@types/node'
- less
@@ -7724,37 +7796,37 @@ packages:
- terser
dev: true
- /vite-plugin-inspect@0.7.38(@nuxt/kit@3.7.4)(rollup@3.29.4)(vite@4.4.9):
- resolution: {integrity: sha512-+p6pJVtBOLGv+RBrcKAFUdx+euizg0bjL35HhPyM0MjtKlqoC5V9xkCmO9Ctc8JrTyXqODbHqiLWJKumu5zJ7g==}
+ /vite-plugin-inspect@0.8.1(@nuxt/kit@3.9.3)(rollup@4.9.5)(vite@5.0.12):
+ resolution: {integrity: sha512-oPBPVGp6tBd5KdY/qY6lrbLXqrbHRG0hZLvEaJfiZ/GQfDB+szRuLHblQh1oi1Hhh8GeLit/50l4xfs2SA+TCA==}
engines: {node: '>=14'}
peerDependencies:
'@nuxt/kit': '*'
- vite: ^3.1.0 || ^4.0.0
+ vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0
peerDependenciesMeta:
'@nuxt/kit':
optional: true
dependencies:
'@antfu/utils': 0.7.6
- '@nuxt/kit': 3.7.4(rollup@3.29.4)
- '@rollup/pluginutils': 5.0.2(rollup@3.29.4)
- debug: 4.3.4
+ '@nuxt/kit': 3.9.3(rollup@4.9.5)
+ '@rollup/pluginutils': 5.1.0(rollup@4.9.5)
+ debug: 4.3.4(supports-color@5.5.0)
error-stack-parser-es: 0.1.1
fs-extra: 11.1.1
open: 9.1.0
picocolors: 1.0.0
sirv: 2.0.3
- vite: 4.4.9(@types/node@20.7.1)
+ vite: 5.0.12(@types/node@20.11.5)
transitivePeerDependencies:
- rollup
- supports-color
dev: true
- /vite@4.4.9(@types/node@20.7.1):
- resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==}
- engines: {node: ^14.18.0 || >=16.0.0}
+ /vite@5.0.12(@types/node@20.11.5):
+ resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
- '@types/node': '>= 14'
+ '@types/node': ^18.0.0 || >=20.0.0
less: '*'
lightningcss: ^1.21.0
sass: '*'
@@ -7777,30 +7849,30 @@ packages:
terser:
optional: true
dependencies:
- '@types/node': 20.7.1
- esbuild: 0.18.20
- postcss: 8.4.27
- rollup: 3.29.2
+ '@types/node': 20.11.5
+ esbuild: 0.19.11
+ postcss: 8.4.33
+ rollup: 4.9.5
optionalDependencies:
- fsevents: 2.3.2
+ fsevents: 2.3.3
dev: true
- /vitest@0.34.5:
- resolution: {integrity: sha512-CPI68mmnr2DThSB3frSuE5RLm9wo5wU4fbDrDwWQQB1CWgq9jQVoQwnQSzYAjdoBOPoH2UtXpOgHVge/uScfZg==}
- engines: {node: '>=v14.18.0'}
+ /vitest@1.2.1(@types/node@20.11.5):
+ resolution: {integrity: sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
- '@vitest/browser': '*'
- '@vitest/ui': '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ '@vitest/browser': ^1.0.0
+ '@vitest/ui': ^1.0.0
happy-dom: '*'
jsdom: '*'
- playwright: '*'
- safaridriver: '*'
- webdriverio: '*'
peerDependenciesMeta:
'@edge-runtime/vm':
optional: true
+ '@types/node':
+ optional: true
'@vitest/browser':
optional: true
'@vitest/ui':
@@ -7809,36 +7881,28 @@ packages:
optional: true
jsdom:
optional: true
- playwright:
- optional: true
- safaridriver:
- optional: true
- webdriverio:
- optional: true
dependencies:
- '@types/chai': 4.3.5
- '@types/chai-subset': 1.3.3
- '@types/node': 20.7.1
- '@vitest/expect': 0.34.5
- '@vitest/runner': 0.34.5
- '@vitest/snapshot': 0.34.5
- '@vitest/spy': 0.34.5
- '@vitest/utils': 0.34.5
- acorn: 8.10.0
- acorn-walk: 8.2.0
+ '@types/node': 20.11.5
+ '@vitest/expect': 1.2.1
+ '@vitest/runner': 1.2.1
+ '@vitest/snapshot': 1.2.1
+ '@vitest/spy': 1.2.1
+ '@vitest/utils': 1.2.1
+ acorn-walk: 8.3.2
cac: 6.7.14
- chai: 4.3.7
- debug: 4.3.4
- local-pkg: 0.4.3
- magic-string: 0.30.3
+ chai: 4.4.1
+ debug: 4.3.4(supports-color@5.5.0)
+ execa: 8.0.1
+ local-pkg: 0.5.0
+ magic-string: 0.30.5
pathe: 1.1.1
picocolors: 1.0.0
- std-env: 3.4.3
+ std-env: 3.7.0
strip-literal: 1.3.0
- tinybench: 2.5.0
- tinypool: 0.7.0
- vite: 4.4.9(@types/node@20.7.1)
- vite-node: 0.34.5(@types/node@20.7.1)
+ tinybench: 2.6.0
+ tinypool: 0.8.2
+ vite: 5.0.12(@types/node@20.11.5)
+ vite-node: 1.2.1(@types/node@20.11.5)
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
@@ -7850,14 +7914,14 @@ packages:
- terser
dev: true
- /vue-eslint-parser@9.3.1(eslint@8.50.0):
- resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==}
+ /vue-eslint-parser@9.4.0(eslint@8.56.0):
+ resolution: {integrity: sha512-7KsNBb6gHFA75BtneJsoK/dbZ281whUIwFYdQxA68QrCrGMXYzUMbPDHGcOQ0OocIVKrWSKWXZ4mL7tonCXoUw==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
- debug: 4.3.4
- eslint: 8.50.0
+ debug: 4.3.4(supports-color@5.5.0)
+ eslint: 8.56.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
@@ -7872,7 +7936,7 @@ packages:
resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==}
dev: true
- /vue-loader@15.11.1(css-loader@6.8.1)(webpack@5.88.2):
+ /vue-loader@15.11.1(@vue/compiler-sfc@3.4.15)(css-loader@6.8.1)(webpack@5.88.2):
resolution: {integrity: sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==}
peerDependencies:
'@vue/compiler-sfc': ^3.0.8
@@ -7891,13 +7955,14 @@ packages:
vue-template-compiler:
optional: true
dependencies:
+ '@vue/compiler-sfc': 3.4.15
'@vue/component-compiler-utils': 3.3.0
css-loader: 6.8.1(webpack@5.88.2)
hash-sum: 1.0.2
loader-utils: 1.4.2
vue-hot-reload-api: 2.3.4
vue-style-loader: 4.1.3
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
transitivePeerDependencies:
- arc-templates
- atpl
@@ -7954,7 +8019,7 @@ packages:
- whiskers
dev: true
- /vue-loader@17.3.0(vue@3.3.4)(webpack@5.88.2):
+ /vue-loader@17.3.0(@vue/compiler-sfc@3.4.15)(vue@3.4.15)(webpack@5.88.2):
resolution: {integrity: sha512-VUURABiN0TIUz0yvJJ/V/rZjGUh10JZtD+IDI5bXFslzFi9mV6ebKkPzoqiSi8e0vh8Ip7JHJx+I0AzAG0KsCA==}
peerDependencies:
'@vue/compiler-sfc': '*'
@@ -7966,11 +8031,12 @@ packages:
vue:
optional: true
dependencies:
+ '@vue/compiler-sfc': 3.4.15
chalk: 4.1.2
hash-sum: 2.0.0
- vue: 3.3.4
+ vue: 3.4.15(typescript@5.3.3)
watchpack: 2.4.0
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
/vue-style-loader@4.1.3:
@@ -7991,26 +8057,32 @@ packages:
resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==}
dev: true
- /vue-tsc@1.8.15(typescript@5.2.2):
- resolution: {integrity: sha512-4DoB3LUj7IToLmggoCxRiFG+QU5lem0nv03m1ocqugXA9rSVoTOEoYYaP8vu8b99Eh+/cCVdYOeIAQ+RsgUYUw==}
+ /vue-tsc@1.8.27(typescript@5.3.3):
+ resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==}
hasBin: true
peerDependencies:
typescript: '*'
dependencies:
- '@vue/language-core': 1.8.15(typescript@5.2.2)
- '@vue/typescript': 1.8.15(typescript@5.2.2)
+ '@volar/typescript': 1.11.1
+ '@vue/language-core': 1.8.27(typescript@5.3.3)
semver: 7.5.4
- typescript: 5.2.2
+ typescript: 5.3.3
dev: true
- /vue@3.3.4:
- resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==}
+ /vue@3.4.15(typescript@5.3.3):
+ resolution: {integrity: sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
dependencies:
- '@vue/compiler-dom': 3.3.4
- '@vue/compiler-sfc': 3.3.4
- '@vue/runtime-dom': 3.3.4
- '@vue/server-renderer': 3.3.4(vue@3.3.4)
- '@vue/shared': 3.3.4
+ '@vue/compiler-dom': 3.4.15
+ '@vue/compiler-sfc': 3.4.15
+ '@vue/runtime-dom': 3.4.15
+ '@vue/server-renderer': 3.4.15(vue@3.4.15)
+ '@vue/shared': 3.4.15
+ typescript: 5.3.3
/watchpack@2.4.0:
resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
@@ -8045,7 +8117,7 @@ packages:
hasBin: true
dependencies:
'@discoveryjs/json-ext': 0.5.7
- acorn: 8.10.0
+ acorn: 8.11.3
acorn-walk: 8.2.0
commander: 7.2.0
escape-string-regexp: 4.0.0
@@ -8085,7 +8157,7 @@ packages:
mime-types: 2.1.35
range-parser: 1.2.1
schema-utils: 4.2.0
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
dev: true
/webpack-dev-server@4.15.1(debug@4.3.4)(webpack@5.88.2):
@@ -8129,7 +8201,7 @@ packages:
serve-index: 1.9.1
sockjs: 0.3.24
spdy: 4.0.2
- webpack: 5.88.2(esbuild@0.18.20)
+ webpack: 5.88.2(esbuild@0.19.11)
webpack-dev-middleware: 5.3.3(webpack@5.88.2)
ws: 8.14.2
transitivePeerDependencies:
@@ -8156,10 +8228,10 @@ packages:
resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==}
dev: true
- /webpack-virtual-modules@0.5.0:
- resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
+ /webpack-virtual-modules@0.6.1:
+ resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==}
- /webpack@5.88.2(esbuild@0.18.20):
+ /webpack@5.88.2(esbuild@0.19.11):
resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==}
engines: {node: '>=10.13.0'}
hasBin: true
@@ -8170,12 +8242,12 @@ packages:
optional: true
dependencies:
'@types/eslint-scope': 3.7.3
- '@types/estree': 1.0.0
+ '@types/estree': 1.0.5
'@webassemblyjs/ast': 1.11.6
'@webassemblyjs/wasm-edit': 1.11.6
'@webassemblyjs/wasm-parser': 1.11.6
- acorn: 8.8.2
- acorn-import-assertions: 1.9.0(acorn@8.8.2)
+ acorn: 8.11.3
+ acorn-import-assertions: 1.9.0(acorn@8.11.3)
browserslist: 4.20.2
chrome-trace-event: 1.0.3
enhanced-resolve: 5.15.0
@@ -8190,7 +8262,47 @@ packages:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.9(esbuild@0.18.20)(webpack@5.88.2)
+ terser-webpack-plugin: 5.3.9(esbuild@0.19.11)(webpack@5.88.2)
+ watchpack: 2.4.0
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+ dev: true
+
+ /webpack@5.89.0(esbuild@0.19.11):
+ resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ dependencies:
+ '@types/eslint-scope': 3.7.3
+ '@types/estree': 1.0.0
+ '@webassemblyjs/ast': 1.11.6
+ '@webassemblyjs/wasm-edit': 1.11.6
+ '@webassemblyjs/wasm-parser': 1.11.6
+ acorn: 8.10.0
+ acorn-import-assertions: 1.9.0(acorn@8.10.0)
+ browserslist: 4.21.10
+ chrome-trace-event: 1.0.3
+ enhanced-resolve: 5.15.0
+ es-module-lexer: 1.2.1
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.10
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.0
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 3.3.0
+ tapable: 2.2.1
+ terser-webpack-plugin: 5.3.9(esbuild@0.19.11)(webpack@5.89.0)
watchpack: 2.4.0
webpack-sources: 3.2.3
transitivePeerDependencies:
@@ -8332,12 +8444,6 @@ packages:
engines: {node: '>=12'}
dev: true
- /xregexp@5.1.1:
- resolution: {integrity: sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg==}
- dependencies:
- '@babel/runtime-corejs3': 7.22.15
- dev: false
-
/y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -8379,6 +8485,11 @@ packages:
engines: {node: '>=10'}
dev: true
+ /yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+ dev: true
+
/yargs@16.2.0:
resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
engines: {node: '>=10'}
@@ -8392,6 +8503,19 @@ packages:
yargs-parser: 20.2.9
dev: true
+ /yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.1.1
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+ dev: true
+
/yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
diff --git a/src/core/constant.ts b/src/core/constant.ts
new file mode 100644
index 0000000..cc6ebfa
--- /dev/null
+++ b/src/core/constant.ts
@@ -0,0 +1,25 @@
+import type { Comment } from './types'
+
+export const comments: Comment[] = [
+ // js
+ {
+ type: 'js',
+ start: '// ',
+ end: '',
+ regex: /^\/\/\s?(.*)$/,
+ },
+ // css
+ {
+ type: 'css',
+ start: '/* ',
+ end: ' */',
+ regex: /^\/\*\s?(.*)\*\/$/,
+ },
+ // html
+ {
+ type: 'html',
+ start: '',
+ regex: /^$/,
+ },
+]
diff --git a/src/core/context.ts b/src/core/context.ts
deleted file mode 100644
index 1b533b2..0000000
--- a/src/core/context.ts
+++ /dev/null
@@ -1,203 +0,0 @@
-import process from 'node:process'
-import MagicString from 'magic-string'
-
-import type { Logger } from 'vite'
-import { createFilter, createLogger, loadEnv } from 'vite'
-import XRegExp from 'xregexp'
-import type {
- Directive,
- MatchGroup,
- NormalDirective,
- RecursiveDirective,
- UserOptions,
-} from '../types'
-
-import { builtinDirectives } from './directives'
-
-export interface replaceOptions {
- code: string
- id: string
- directive: Directive
-}
-export function sortUserDirectives(
- directives: Directive[],
-): [Directive[], Directive[], Directive[]] {
- const preDirectives: Directive[] = []
- const postDirectives: Directive[] = []
- const normalDirectives: Directive[] = []
-
- if (directives) {
- directives.forEach((p) => {
- if (p.enforce === 'pre')
- preDirectives.push(p)
- else if (p.enforce === 'post')
- postDirectives.push(p)
- else normalDirectives.push(p)
- })
- }
-
- return [preDirectives, normalDirectives, postDirectives]
-}
-
-export class Context {
- cwd: string
- XRegExp: typeof XRegExp
- env: Record
- directives: Directive[] = []
- logger: Logger
- directiveLoggers: Record
- filter: (id: unknown) => boolean
- constructor({ cwd = process.cwd(), directives = [], exclude = [/[\\/]node_modules[\\/]/, /[\\/]\.git[\\/]/], include = ['**/*'] }: UserOptions = {}) {
- this.cwd = cwd
- this.XRegExp = XRegExp
- this.env = loadEnv(
- process.env.NODE_ENV || 'development',
- cwd,
- '',
- )
-
- if (directives.length === 0) {
- directives = [...builtinDirectives.map(v =>
- typeof v === 'function' ? v(this) : v,
- )]
- }
-
- const [preDirectives, normalDirectives, postDirectives] = sortUserDirectives(directives.map(v =>
- typeof v === 'function' ? v(this) : v,
- ))
-
- this.directives = [...preDirectives, ...normalDirectives, ...postDirectives]
-
- this.logger = createLogger(undefined, {
- prefix: 'unplugin-preprocessor-directives',
- })
- this.directiveLoggers = this.directives.reduce((acc, directive) => {
- acc[directive.name] = createLogger(undefined, {
- prefix: `unplugin-preprocessor-directives:${directive.name}`,
- })
- return acc
- }, {} as Record)
-
- this.filter = createFilter(include, exclude)
- }
-
- replace({ code, id, directive: _directive }: replaceOptions) {
- const directive = _directive as NormalDirective
- return this.XRegExp.replace(code, directive.pattern, directive.processor({
- id,
- code,
- directive,
- ctx: this,
- }))
- }
-
- replaceRecursive({
- code,
- id,
- directive: _directive,
- }: replaceOptions) {
- const directive = _directive as RecursiveDirective
- const startRegex = new RegExp(directive.pattern.start, 'mi')
- const endRegex = new RegExp(directive.pattern.end, 'mi')
-
- const replace = (code: string) => {
- const matches = XRegExp.matchRecursive(
- code,
- startRegex.source,
- endRegex.source,
- 'gmi',
- {
- valueNames: ['between', 'left', 'match', 'right'],
- },
- )
- let builder = ''
- const matchGroup: MatchGroup = {
- left: null,
- match: '',
- right: null,
- }
-
- if (!matches.length)
- builder += code
-
- matches.forEach((match) => {
- switch (match.name) {
- case 'between':
- builder += match.value
- break
- case 'left':
- matchGroup.left = startRegex.exec(match.value)
- break
- case 'match':
- matchGroup.match = match.value
- break
- case 'right':
- matchGroup.right = endRegex.exec(match.value)
- builder += directive.processor({
- id,
- code,
- directive,
- ctx: this,
-
- replace,
- matchGroup,
- })
- break
- }
- })
-
- return builder
- }
-
- return replace(code)
- }
-
- createSource(code: string, id: string) {
- return new MagicString(code, {
- filename: id,
- })
- }
-
- transform(code: string, id: string) {
- if (!this.filter(id))
- return
- const source = this.createSource(code, id)
- const data = this.directives.reduce((acc, directive) => {
- const { exclude = [], include = ['**/*'] } = directive
- const filter = createFilter(include, exclude)
- if (!filter(id))
- return acc
- try {
- acc = directive.nested
- ? this.replaceRecursive({
- code,
- id,
- directive: directive as RecursiveDirective,
- })
- : this.replace({
- code: acc,
- id,
- directive: directive as NormalDirective,
- })
- return acc
- }
- catch (error: any) {
- this.directiveLoggers[directive.name].error(error)
- return acc
- }
- }, code)
- if (data !== code)
- source.overwrite(0, source.length(), data)
-
- if (source.hasChanged()) {
- return {
- code: source.toString(),
- map: source.generateMap({
- source: id,
- file: `${id}.map`,
- includeContent: true,
- }),
- }
- }
- }
-}
diff --git a/src/core/context/generator.ts b/src/core/context/generator.ts
new file mode 100644
index 0000000..eb260cf
--- /dev/null
+++ b/src/core/context/generator.ts
@@ -0,0 +1,33 @@
+import type { Generate, SimpleNode } from '../types'
+import { findComment } from '../utils'
+
+export class Generator {
+ constructor(public node: SimpleNode, public generates: Generate[] = []) {
+ }
+
+ walk(node: SimpleNode): string | void {
+ switch (node.type) {
+ case 'Program':
+ return node.body.map(this.walk.bind(this)).filter((n: any) => !!n).join('\n')
+ case 'CodeStatement':
+ return node.value
+ }
+
+ for (const generate of this.generates) {
+ const comment = findComment(node.comment!)
+ const generated = generate.call(this, node, comment)
+ if (generated)
+ return generated
+ }
+
+ throw new Error(`Generator: Unknown node type: ${node.type}`)
+ }
+
+ private generate(): string {
+ return this.walk(this.node) as string
+ }
+
+ static generate(node: SimpleNode, generates: Generate[] = []) {
+ return new Generator(node, generates).generate()
+ }
+}
diff --git a/src/core/context/index.ts b/src/core/context/index.ts
new file mode 100644
index 0000000..2c438e4
--- /dev/null
+++ b/src/core/context/index.ts
@@ -0,0 +1,99 @@
+import process from 'node:process'
+import type { Logger } from 'vite'
+import { createFilter, createLogger, loadEnv } from 'vite'
+import MagicString from 'magic-string'
+import type { UserOptions } from '../../types'
+import type { Generate, Lex, ObjectDirective, Parse, Transform } from '../types'
+import { Generator } from './generator'
+import { Lexer } from './lexer'
+import { Parser } from './parser'
+import { Transformer } from './transformer'
+
+export * from './lexer'
+export * from './parser'
+
+export function resolveOptions(options?: UserOptions): Required {
+ return {
+ cwd: process.cwd(),
+ include: ['**/*'],
+ exclude: [/[\\/]node_modules[\\/]/, /[\\/]\.git[\\/]/],
+ directives: [],
+ ...options,
+ }
+}
+
+export function sortUserDirectives(
+ directives: ObjectDirective[],
+): [ObjectDirective[], ObjectDirective[], ObjectDirective[]] {
+ const preDirectives: ObjectDirective[] = []
+ const postDirectives: ObjectDirective[] = []
+ const normalDirectives: ObjectDirective[] = []
+
+ if (directives) {
+ directives.forEach((p) => {
+ if (p.enforce === 'pre')
+ preDirectives.push(p)
+ else if (p.enforce === 'post')
+ postDirectives.push(p)
+ else normalDirectives.push(p)
+ })
+ }
+
+ return [preDirectives, normalDirectives, postDirectives]
+}
+
+export class Context {
+ options: Required
+ directives: ObjectDirective[]
+ lexers: Lex[]
+ parsers: Parse[]
+ transforms: Transform[]
+ generates: Generate[]
+ filter: (id: string) => boolean
+ env: Record = process.env
+ logger: Logger
+ constructor(options?: UserOptions) {
+ this.options = resolveOptions(options)
+ this.directives = sortUserDirectives(this.options.directives.map(d => typeof d === 'function' ? d(this) : d)).flat()
+
+ this.lexers = this.directives.map(d => d.lex)
+ this.parsers = this.directives.map(d => d.parse)
+ this.transforms = this.directives.map(d => d.transform)
+ this.generates = this.directives.map(d => d.generate)
+
+ this.filter = createFilter(this.options.include, this.options.exclude)
+ this.logger = createLogger(undefined, {
+ prefix: 'unplugin-preprocessor-directives',
+ })
+ this.env = this.loadEnv()
+ }
+
+ loadEnv(mode = process.env.NODE_ENV || 'development') {
+ return loadEnv(
+ mode,
+ this.options.cwd,
+ '',
+ )
+ }
+
+ transform(code: string, _id: string) {
+ const tokens = Lexer.lex(code, this.lexers)
+ const ast = Parser.parse(tokens, this.parsers)
+
+ const transformed = Transformer.transform(ast, this.transforms)
+ if (transformed)
+ return Generator.generate(transformed, this.generates)
+ }
+
+ transformWithMap(code: string, _id: string) {
+ const generated = this.transform(code, _id)
+ if (generated) {
+ const ms = new MagicString(code, { filename: _id })
+ ms.overwrite(0, code.length, generated)
+ return {
+ code: ms.toString(),
+ map: ms.generateMap({ hires: true }),
+ }
+ }
+ }
+}
diff --git a/src/core/context/lexer.ts b/src/core/context/lexer.ts
new file mode 100644
index 0000000..080af53
--- /dev/null
+++ b/src/core/context/lexer.ts
@@ -0,0 +1,47 @@
+/* eslint-disable no-restricted-syntax */
+/* eslint-disable no-labels */
+import { isComment, parseComment } from '../utils'
+import type { CodeToken, Lex, SimpleToken } from '../types'
+
+export class Lexer {
+ current = 0
+ tokens: SimpleToken[] = []
+ constructor(public code: string, public lexers: Lex[] = []) {
+ }
+
+ private lex() {
+ const code = this.code
+ scanner:
+ while (this.current < code.length) {
+ const startIndex = this.current
+ let endIndex = code.indexOf('\n', startIndex + 1)
+ if (endIndex === -1)
+ endIndex = code.length
+
+ const line = code.slice(startIndex, endIndex).trim()
+ if (isComment(line)) {
+ for (const lex of this.lexers) {
+ const comment = parseComment(line)
+
+ const token = lex.bind(this)(comment.content!)
+ if (token) {
+ this.tokens.push({ comment: comment.type, ...token })
+ this.current = endIndex
+ continue scanner
+ }
+ }
+ }
+ this.tokens.push({
+ type: 'code',
+ value: line,
+ } as CodeToken)
+ this.current = endIndex
+ }
+ return this.tokens
+ }
+
+ static lex(code: string, lexers: Lex[] = []) {
+ const lexer = new Lexer(code, lexers)
+ return lexer.lex()
+ }
+}
diff --git a/src/core/context/parser.ts b/src/core/context/parser.ts
new file mode 100644
index 0000000..2aa1be3
--- /dev/null
+++ b/src/core/context/parser.ts
@@ -0,0 +1,38 @@
+import type { CodeStatement, Parse, SimpleToken } from '../types'
+import { createProgramNode } from '../utils'
+
+export class Parser {
+ ast = createProgramNode()
+ current = 0
+ constructor(public tokens: SimpleToken[], public parsers: Parse[] = []) {
+ }
+
+ walk() {
+ const token = this.tokens[this.current]
+
+ if (token.type === 'code') {
+ this.current++
+ return { type: 'CodeStatement', value: token.value } as CodeStatement
+ }
+
+ for (const parser of this.parsers) {
+ const node = parser.bind(this)(token)
+ if (node)
+ return { comment: token.comment, ...node }
+ }
+
+ throw new Error(`Parser: Unknown token type: ${token.type}`)
+ }
+
+ private parse() {
+ while (this.current < this.tokens.length)
+ this.ast.body.push(this.walk())
+
+ return this.ast
+ }
+
+ static parse(tokens: SimpleToken[], parsers: Parse[] = []) {
+ const parser = new Parser(tokens, parsers)
+ return parser.parse()
+ }
+}
diff --git a/src/core/context/transformer.ts b/src/core/context/transformer.ts
new file mode 100644
index 0000000..2b83dc4
--- /dev/null
+++ b/src/core/context/transformer.ts
@@ -0,0 +1,37 @@
+import type { ProgramNode, SimpleNode, Transform } from '../types'
+
+export class Transformer {
+ constructor(public program: ProgramNode, public transforms: Transform[] = []) {
+ }
+
+ public walk(node: SimpleNode): SimpleNode | void {
+ switch (node.type) {
+ case 'Program':
+ return {
+ ...node,
+ body: node.body.map(this.walk.bind(this)).filter((n: any) => !!n),
+ } as ProgramNode
+ case 'CodeStatement':
+ return node
+ }
+
+ for (const transformer of this.transforms) {
+ const transformed = transformer.bind(this)(node)
+ if (transformed)
+ return transformed
+ }
+
+ throw new Error(`Transformer: Unknown node type: ${node.type}`)
+ }
+
+ private transform(): SimpleNode | void {
+ const ast = this.walk(this.program)
+
+ return ast
+ }
+
+ static transform(program: ProgramNode, transforms: Transform[] = []) {
+ const transformer = new Transformer(program, transforms)
+ return transformer.transform()
+ }
+}
diff --git a/src/core/directive.ts b/src/core/directive.ts
index b83e745..ea933f3 100644
--- a/src/core/directive.ts
+++ b/src/core/directive.ts
@@ -1,9 +1,5 @@
-import type { DirectiveFactory } from '../types'
+import type { Directive, SimpleNode, SimpleToken } from './types/index'
-export function defineDirective(
- factory: DirectiveFactory,
-) {
- return (userOptions?: UserOptions) => {
- return factory(userOptions!)
- }
+export function defineDirective(directive: Directive) {
+ return directive
}
diff --git a/src/core/directives/define.ts b/src/core/directives/define.ts
index 7a8ad6d..5b9c964 100644
--- a/src/core/directives/define.ts
+++ b/src/core/directives/define.ts
@@ -1,21 +1,68 @@
-import type { NamedGroupsArray } from 'xregexp'
+/* eslint-disable curly */
+/* eslint-disable no-new-func */
+import process from 'node:process'
import { defineDirective } from '../directive'
+import type { DefineStatement, DefineToken } from '../types'
+import { createProgramNode } from '../utils'
-export default defineDirective(() => ({
- nested: false,
- name: '#define',
- pattern: /.*?#(?(?:un)?def(?:ine)?)\s*(?[\w]*)\s/gm,
- processor({ ctx }) {
- return (...args) => {
- const group = args[args.length - 1] as NamedGroupsArray
- if (group.directive === 'define')
- // @ts-expect-error ignore
- ctx.env[group.key] = true
+function resolveDefineNameAndValue(expression: string, env = process.env): [string, boolean] {
+ if (/^\w*$/.test(expression)) {
+ return [expression, true]
+ }
- else if (group.directive === 'undef')
- delete ctx.env[group.key]
+ else {
+ const evaluateExpression = new Function('env', `with (env){ return {${expression.replace('=', ':')}} }`)
+ return Object.entries(evaluateExpression(env))[0] as any
+ }
+}
- return ''
+export const theDefineDirective = defineDirective(context => ({
+ lex(comment) {
+ const defineMath = comment.match(/#define\s?(.*)/)
+
+ if (defineMath) {
+ return {
+ type: 'define',
+ value: defineMath[1]?.trim(),
+ }
+ }
+ const undefMatch = comment.match(/#undef\s?(\w*)/)
+ if (undefMatch) {
+ return {
+ type: 'undef',
+ value: undefMatch[1]?.trim(),
+ }
+ }
+ },
+ parse(token) {
+ if (token.type === 'define' || token.type === 'undef') {
+ this.current++
+ return {
+ type: 'DefineStatement',
+ kind: token.type,
+ value: token.value,
+ }
+ }
+ },
+ transform(node) {
+ if (node.type === 'DefineStatement') {
+ if (node.kind === 'define') {
+ const [name, value] = resolveDefineNameAndValue(node.value, context.env)
+ context.env[name] = value
+ }
+ else if (node.kind === 'undef')
+ context.env[node.value] = false
+
+ return createProgramNode()
+ }
+ },
+ generate(node, comment) {
+ if (node.type === 'DefineStatement' && comment) {
+ if (node.kind === 'define')
+ return `${comment.start} #${node.kind} ${node.value} ${comment.end}`
+
+ else if (node.kind === 'undef')
+ return `${comment.start} #${node.kind} ${node.value} ${comment.end}`
}
},
}))
diff --git a/src/core/directives/error.ts b/src/core/directives/error.ts
deleted file mode 100644
index b7a6125..0000000
--- a/src/core/directives/error.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { relative } from 'node:path'
-import type { NamedGroupsArray } from 'xregexp'
-import { defineDirective } from '../directive'
-
-export default defineDirective(() => ({
- nested: false,
- name: '#error',
- pattern: /.*?#(?(?:warning)|(?:error)|(?:info))\s*(?[\u4E00-\u9FA5 \t\w]*).*?$/gm,
- processor({ ctx, id }) {
- return (...args) => {
- const group = args[args.length - 1] as NamedGroupsArray
- const source = args[args.length - 2] as string
- const index = args[args.length - 3] as number
- const lineNumber = (source.substring(0, index).match(/\n/g) || []).length + 1
- const file = `${relative(ctx.cwd, id)}:${lineNumber}`
- if (group.directive === 'warning')
- group.directive = 'warn'
- // @ts-expect-error ignore
- ctx.logger[group.directive](`${file}: ${group.message}`, { timestamp: true })
- return ''
- }
- },
-}))
diff --git a/src/core/directives/if.ts b/src/core/directives/if.ts
index 7a4f4aa..89c6716 100644
--- a/src/core/directives/if.ts
+++ b/src/core/directives/if.ts
@@ -1,15 +1,18 @@
import process from 'node:process'
import { defineDirective } from '../directive'
+import type { IfStatement, IfToken } from '../types'
+import { simpleMatchToken } from '../utils'
export function resolveConditional(test: string, env = process.env) {
test = test || 'true'
test = test.trim()
test = test.replace(/([^=!])=([^=])/g, '$1==$2')
+
// eslint-disable-next-line no-new-func
const evaluateCondition = new Function('env', `with (env){ return ( ${test} ) }`)
try {
- return evaluateCondition(env)
+ return evaluateCondition(env) === 'false' ? false : !!evaluateCondition(env)
}
catch (error) {
if (error instanceof ReferenceError) {
@@ -25,32 +28,76 @@ export function resolveConditional(test: string, env = process.env) {
}
}
-export default defineDirective(() => ({
- name: '#if',
- nested: true,
- pattern: {
- start: /.*?#if\s([\w !=&|()'"]*).*[\r\n]{1,2}/gm,
- end: /\s*.*?#endif.*?$/gm,
- },
- processor({ matchGroup, replace, ctx }) {
- const code = replace(matchGroup.match)
- const regex = /.*?(#el(?:if|se))\s?([\w !=&|()'"]*).*[\r\n]{1,2}/gm
- const codeBlock = [
- '#if',
- matchGroup.left?.[1] || '',
- ...ctx.XRegExp.split(code, regex),
- ].map(v => v.trim())
-
- while (codeBlock.length) {
- const [variant, conditional, block] = codeBlock.splice(0, 3)
- if (variant === '#if' || variant === '#elif') {
- if (resolveConditional(conditional, ctx.env))
- return block
+export const ifDirective = defineDirective((context) => {
+ return {
+ lex(comment) {
+ return simpleMatchToken(comment, /#(if|else|elif|endif)\s?(.*)/)
+ },
+ parse(token) {
+ if (token.type === 'if' || token.type === 'elif' || token.type === 'else') {
+ const node: IfStatement = {
+ type: 'IfStatement',
+ test: token.value,
+ consequent: [],
+ alternate: [],
+ kind: token.type,
+ }
+ this.current++
+
+ while (this.current < this.tokens.length) {
+ const nextToken = this.tokens[this.current]
+
+ if (nextToken.type === 'elif' || nextToken.type === 'else') {
+ node.alternate.push(this.walk())
+ break
+ }
+ else if (nextToken.type === 'endif') {
+ this.current++ // Skip 'endif'
+ break
+ }
+ else {
+ node.consequent.push(this.walk())
+ }
+ }
+ return node
}
- else if (variant === '#else') {
- return block
+ },
+ transform(node) {
+ if (node.type === 'IfStatement') {
+ if (resolveConditional(node.test, context.env)) {
+ return {
+ type: 'Program',
+ body: node.consequent.map(this.walk.bind(this)).filter(n => n != null),
+ }
+ }
+ else if (node.alternate) {
+ return {
+ type: 'Program',
+ body: node.alternate.map(this.walk.bind(this)).filter(n => n != null),
+ }
+ }
}
- }
- return ''
- },
-}))
+ },
+ generate(node, comment) {
+ if (node.type === 'IfStatement' && comment) {
+ let code = ''
+ if (node.kind === 'else')
+ code = `${comment.start} ${node.kind} ${comment.end}`
+
+ else
+ code = `${comment.start} #${node.kind} ${node.test}${comment.end}`
+
+ const consequentCode = node.consequent.map(this.walk.bind(this)).join('\n')
+ code += `\n${consequentCode}`
+ if (node.alternate.length) {
+ const alternateCode = node.alternate.map(this.walk.bind(this)).join('\n')
+ code += `\n${alternateCode}`
+ }
+ else {
+ code += `\n${comment.start} #endif ${comment.end}`
+ }
+ return code
+ }
+ },
+ }
+})
diff --git a/src/core/directives/index.ts b/src/core/directives/index.ts
index c556c3e..80382f3 100644
--- a/src/core/directives/index.ts
+++ b/src/core/directives/index.ts
@@ -1,9 +1,3 @@
-import IfDirective from './if'
-import DefineDirective from './define'
-import ErrorDirective from './error'
-
-export { default as IfDirective } from './if'
-export { default as DefineDirective } from './define'
-export { default as ErrorDirective } from './error'
-
-export const builtinDirectives = [DefineDirective(), IfDirective(), ErrorDirective()]
+export * from './if'
+export * from './define'
+export * from './message'
diff --git a/src/core/directives/message.ts b/src/core/directives/message.ts
new file mode 100644
index 0000000..a55ab74
--- /dev/null
+++ b/src/core/directives/message.ts
@@ -0,0 +1,39 @@
+import { defineDirective } from '../directive'
+import type { MessageStatement, MessageToken } from '../types'
+import { createProgramNode, simpleMatchToken } from '../utils'
+
+export const MessageDirective = defineDirective(context => ({
+ lex(comment) {
+ return simpleMatchToken(comment, /#(error|warning|info)\s*(.*)/)
+ },
+ parse(token) {
+ if (token.type === 'error' || token.type === 'warning' || token.type === 'info') {
+ this.current++
+ return {
+ type: 'MessageStatement',
+ kind: token.type,
+ value: token.value,
+ }
+ }
+ },
+ transform(node) {
+ if (node.type === 'MessageStatement') {
+ switch (node.kind) {
+ case 'error':
+ context.logger.error(node.value, { timestamp: true })
+ break
+ case 'warning':
+ context.logger.warn(node.value, { timestamp: true })
+ break
+ case 'info':
+ context.logger.info(node.value, { timestamp: true })
+ break
+ }
+ return createProgramNode()
+ }
+ },
+ generate(node, comment) {
+ if (node.type === 'MessageStatement' && comment)
+ return `${comment.start} #${node.kind} ${node.value} ${comment.end}`
+ },
+}))
diff --git a/src/core/index.ts b/src/core/index.ts
index 4c67edd..88febb5 100644
--- a/src/core/index.ts
+++ b/src/core/index.ts
@@ -1,4 +1,7 @@
+export * from './unplugin'
export * from './context'
-export * from './directive'
export * from './directives'
-export * from './unplugin'
+export * from './directive'
+export * from './types'
+export * from './utils'
+export * from './constant'
diff --git a/src/core/types/comment.ts b/src/core/types/comment.ts
new file mode 100644
index 0000000..67a08b4
--- /dev/null
+++ b/src/core/types/comment.ts
@@ -0,0 +1,6 @@
+export interface Comment {
+ type: string
+ start: string
+ end: string
+ regex: RegExp
+}
diff --git a/src/core/types/directive.ts b/src/core/types/directive.ts
new file mode 100644
index 0000000..f6dc994
--- /dev/null
+++ b/src/core/types/directive.ts
@@ -0,0 +1,38 @@
+import type { Context } from '../context'
+import type { Lexer } from '../context/lexer'
+import type { Parser } from '../context/parser'
+import type { Transformer } from '../context/transformer'
+import type { Generator } from '../context/generator'
+import type { Comment } from '../types'
+
+export interface SimpleToken {
+ comment?: string
+ type: string
+ value: string
+ [x: string]: any
+}
+
+export interface SimpleNode {
+ comment?: string
+ type: string
+ [x: string]: any
+}
+
+export type Lex = (this: Lexer, currentLine: string) => (T | void)
+export type Parse = (this: Parser, currentToken: T) => (N | void)
+export type Transform = (this: Transformer, currentNode: N) => (ResultN | void)
+export type Generate = (this: Generator, ast: SimpleNode, comment?: Comment) => (string | void)
+
+export interface ObjectDirective {
+ enforce?: 'pre' | 'post'
+ lex: Lex
+ parse: Parse
+ transform: Transform
+ generate: Generate
+}
+
+export interface FunctionDirective {
+ (context: Context): ObjectDirective
+}
+
+export type Directive = ObjectDirective | FunctionDirective
diff --git a/src/core/types/index.ts b/src/core/types/index.ts
new file mode 100644
index 0000000..f45a56e
--- /dev/null
+++ b/src/core/types/index.ts
@@ -0,0 +1,4 @@
+export * from './directive'
+export * from './token'
+export * from './node'
+export * from './comment'
diff --git a/src/core/types/node.ts b/src/core/types/node.ts
new file mode 100644
index 0000000..f68f5fd
--- /dev/null
+++ b/src/core/types/node.ts
@@ -0,0 +1,31 @@
+import type { IfToken, SimpleNode } from '.'
+
+export interface ProgramNode extends SimpleNode {
+ type: 'Program'
+ body: SimpleNode[]
+}
+
+export interface CodeStatement extends SimpleNode {
+ type: 'CodeStatement'
+ value: string
+}
+
+export interface IfStatement extends SimpleNode {
+ type: 'IfStatement'
+ test: string
+ consequent: SimpleNode[]
+ alternate: SimpleNode[]
+ kind: IfToken['type']
+}
+
+export interface DefineStatement extends SimpleNode {
+ type: 'DefineStatement'
+ kind: 'define' | 'undef'
+ value: string
+}
+
+export interface MessageStatement extends SimpleNode {
+ type: 'MessageStatement'
+ kind: 'error' | 'warning' | 'info'
+ value: string
+}
diff --git a/src/core/types/token.ts b/src/core/types/token.ts
new file mode 100644
index 0000000..d43b43b
--- /dev/null
+++ b/src/core/types/token.ts
@@ -0,0 +1,19 @@
+import type { SimpleToken } from '.'
+
+export interface CodeToken extends SimpleToken {
+ type: 'code'
+ value: string
+}
+export interface IfToken extends SimpleToken {
+ type: 'if' | 'else' | 'elif' | 'endif'
+ value: string
+}
+export interface DefineToken extends SimpleToken {
+ type: 'define' | 'undef'
+ value: string
+}
+
+export interface MessageToken extends SimpleToken {
+ type: 'error' | 'warning' | 'info'
+ value: string
+}
diff --git a/src/core/unplugin.ts b/src/core/unplugin.ts
index 6ca7a88..d4c79fe 100644
--- a/src/core/unplugin.ts
+++ b/src/core/unplugin.ts
@@ -1,12 +1,15 @@
import type { UnpluginFactory } from 'unplugin'
import { createUnplugin } from 'unplugin'
+import remapping from '@ampproject/remapping'
import type { UserOptions } from '../types'
import { Context } from './context'
+import { MessageDirective, ifDirective, theDefineDirective } from './directives'
export const unpluginFactory: UnpluginFactory = (
options,
) => {
- const ctx = new Context(options)
+ // @ts-expect-error ignore
+ const ctx = new Context({ ...options, directives: [ifDirective, theDefineDirective, MessageDirective, ...options?.directives ?? []] })
return {
name: 'unplugin-preprocessor-directives',
enforce: 'pre',
@@ -16,7 +19,25 @@ export const unpluginFactory: UnpluginFactory = (
},
vite: {
configResolved(config) {
- ctx.env = { ...ctx.env, ...config.env }
+ ctx.env = {
+ ...ctx.loadEnv(config.mode),
+ ...config.env,
+ }
+ },
+ transform(code, id) {
+ if (ctx.filter(id)) {
+ const transformed = ctx.transformWithMap(code, id)
+ if (transformed) {
+ const map = remapping(
+ [transformed.map, this.getCombinedSourcemap() as any],
+ () => null,
+ ) as any
+ return {
+ code: transformed.code,
+ map,
+ }
+ }
+ }
},
},
}
diff --git a/src/core/utils.ts b/src/core/utils.ts
new file mode 100644
index 0000000..3c64977
--- /dev/null
+++ b/src/core/utils.ts
@@ -0,0 +1,37 @@
+import { comments } from './constant'
+import type { ProgramNode, SimpleNode, SimpleToken } from './types'
+
+export function simpleMatchToken(comment: string, regex: RegExp) {
+ const match = comment.match(regex)
+ if (match) {
+ return {
+ type: match[1],
+ value: match[2]?.trim(),
+ } as T
+ }
+}
+
+export function createProgramNode(body: SimpleNode[] = []) {
+ return {
+ type: 'Program',
+ body,
+ } as ProgramNode
+}
+
+export function isComment(line: string) {
+ return comments.some(comment => comment.regex.test(line))
+}
+
+export function parseComment(line: string) {
+ const comment = comments.find(comment => comment.start === line.slice(0, comment.start.length))
+ const content = comment?.regex.exec(line)?.[1]
+
+ return {
+ type: comment?.type,
+ content: content?.trim(),
+ }
+}
+
+export function findComment(type: string) {
+ return comments.find(comment => comment.type === type)!
+}
diff --git a/src/types.ts b/src/types.ts
index 27d3f0e..3c8b5a4 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -1,66 +1,11 @@
-import type { ReplacementValue } from 'xregexp'
import type { FilterPattern } from 'vite'
-import type { Context } from './core/context'
-
-export interface MatchGroup {
- left: RegExpExecArray | null
- match: string
- right: RegExpExecArray | null
-}
-
-interface BaseDirective {
- name: string
- enforce?: 'pre' | 'post'
- nested?: boolean
- include?: FilterPattern
- exclude?: FilterPattern
-}
-
-export interface _ProcessorOptions {
- code: string
- id: string
- directive: Directive
- ctx: Context
-}
-
-export interface NormalProcessorOptions extends _ProcessorOptions {
- directive: NormalDirective
-}
-
-export interface RecursiveProcessorOptions extends _ProcessorOptions {
- directive: RecursiveDirective
- matchGroup: MatchGroup
- replace: (code: string) => string
-}
-
-export interface RecursiveDirective extends BaseDirective {
- nested: true
- pattern: {
- start: string | RegExp
- end: string | RegExp
- }
- processor(options: RecursiveProcessorOptions): string
-}
-
-export interface NormalDirective extends BaseDirective {
- nested?: false
- pattern: string | RegExp
- processor(options: NormalProcessorOptions): ReplacementValue
-}
-
-export type Directive = RecursiveDirective | NormalDirective
-export type FunctionDirective = ((ctx: DirectiveContext) => Directive)
-export type Plugin = Directive
-
-export type DirectiveContext = Context
+import type { Directive } from './core/types'
export interface Options {
cwd: string
- directives: (Directive | FunctionDirective)[]
+ directives: Directive[]
include: FilterPattern
exclude: FilterPattern
}
export interface UserOptions extends Partial { }
-
-export type DirectiveFactory = (options: UserOptions) => FunctionDirective | Directive
diff --git a/test/__snapshots__/if.test.ts.snap b/test/__snapshots__/if.test.ts.snap
new file mode 100644
index 0000000..d9069e8
--- /dev/null
+++ b/test/__snapshots__/if.test.ts.snap
@@ -0,0 +1,55 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`if > should parse if.css, dev = false 1`] = `
+"body {
+}
+body {
+content: "!DEV";
+}
+body {
+content: "!DEV";
+}
+body {
+}"
+`;
+
+exports[`if > should parse if.css, dev = true 1`] = `
+"body {
+content: "DEV";
+}
+body {
+content: "!DEV else";
+}
+body {
+content: "TEST";
+}
+body {
+content: "else";
+}"
+`;
+
+exports[`if > should parse if.html, dev = false 1`] = `
+"!DEV
+!DEV
"
+`;
+
+exports[`if > should parse if.html, dev = true 1`] = `
+"DEV
+!DEV else
+TEST
+"
+`;
+
+exports[`if > should parse if.js, dev = false 1`] = `
+"console.log('!DEV')
+console.log('!DEV')"
+`;
+
+exports[`if > should parse if.js, dev = true 1`] = `
+"console.log('DEV')
+console.log('!DEV else')
+console.log('TEST')
+console.log('else')"
+`;
diff --git a/test/define.test.ts b/test/define.test.ts
new file mode 100644
index 0000000..37194f2
--- /dev/null
+++ b/test/define.test.ts
@@ -0,0 +1,31 @@
+import { resolve } from 'node:path'
+import { readFileSync } from 'node:fs'
+import { describe, expect, it } from 'vitest'
+import { Context, theDefineDirective } from '../src'
+
+describe('define', () => {
+ const root = resolve(__dirname, './fixtures')
+ const context = new Context({
+ // @ts-expect-error ignore
+ directives: [theDefineDirective],
+ })
+
+ it('should define env', () => {
+ const code = readFileSync(resolve(root, 'define.txt'), 'utf-8')
+ context.transform(code, 'define.txt')
+
+ expect(context.env.html).toBeTruthy()
+ expect(context.env.css).toBeTruthy()
+ expect(context.env.js).toBeTruthy()
+ expect(context.env.DEV).toBe('2')
+ })
+ it('should undef env', () => {
+ const code = readFileSync(resolve(root, 'undef.txt'), 'utf-8')
+ context.transform(code, 'undef.txt')
+
+ expect(context.env.html).toBeFalsy()
+ expect(context.env.css).toBeFalsy()
+ expect(context.env.js).toBeFalsy()
+ expect(context.env.DEV).toBeFalsy()
+ })
+})
diff --git a/test/directive.test.ts b/test/directive.test.ts
deleted file mode 100644
index cdacec8..0000000
--- a/test/directive.test.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { describe, expect, it } from 'vitest'
-import { defineDirective } from '../src'
-
-describe('directive', () => {
- it('define', () => {
- const directive = defineDirective({
- name: '#test',
- nested: false,
- pattern: /#test/g,
- processor({ code }) {
- return code
- },
- })
- expect(directive).to.toBeDefined()
- })
-})
diff --git a/test/directives/__snapshots__/if.test.ts.snap b/test/directives/__snapshots__/if.test.ts.snap
deleted file mode 100644
index 78f9b14..0000000
--- a/test/directives/__snapshots__/if.test.ts.snap
+++ /dev/null
@@ -1,71 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`css > elif 1`] = `
-"body {
-content: \\"TEST\\";
-}
-"
-`;
-
-exports[`css > else 1`] = `
-"body {
-content: \\"!DEV else\\";
-}
-"
-`;
-
-exports[`css > if 1`] = `
-"body {
-content: \\"DEV\\";
-}
-"
-`;
-
-exports[`css > nested 1`] = `
-"body {
-content: \\"else\\";
-}
-"
-`;
-
-exports[`html > elif 1`] = `
-"TEST
-"
-`;
-
-exports[`html > else 1`] = `
-"!DEV else
-"
-`;
-
-exports[`html > if 1`] = `
-"DEV
-"
-`;
-
-exports[`html > nested 1`] = `
-"
-"
-`;
-
-exports[`js > elif 1`] = `
-"console.log(\\"TEST\\")
-"
-`;
-
-exports[`js > else 1`] = `
-"console.log(\\"!DEV else\\")
-"
-`;
-
-exports[`js > if 1`] = `
-"console.log(\\"DEV\\")
-"
-`;
-
-exports[`js > nested 1`] = `
-"console.log(\\"else\\")
-"
-`;
diff --git a/test/directives/define.test.ts b/test/directives/define.test.ts
deleted file mode 100644
index 02081ac..0000000
--- a/test/directives/define.test.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import { resolve } from 'node:path'
-import fs from 'node:fs'
-import { describe, expect, it } from 'vitest'
-import { Context } from '../../src/core/context'
-
-describe('css', () => {
- const root = resolve(__dirname, '../fixtures/css')
- const ctx = new Context({
- cwd: root,
- })
- function transform(fileName: string) {
- const filePath = resolve(root, fileName)
- const code = fs.readFileSync(filePath, { encoding: 'utf-8' })
- return ctx.transform(code, filePath)?.code
- }
-
- it('define', () => {
- transform('define.css')
- expect(ctx.env.CSS).to.true
- })
-
- it('undef', () => {
- transform('undef.css')
- expect(ctx.env.CSS).to.undefined
- })
-})
-
-describe('js', () => {
- const root = resolve(__dirname, '../fixtures/js')
- const ctx = new Context({
- cwd: root,
- })
- function transform(fileName: string) {
- const filePath = resolve(root, fileName)
- const code = fs.readFileSync(filePath, { encoding: 'utf-8' })
- return ctx.transform(code, filePath)?.code
- }
-
- it('define', () => {
- transform('define.js')
- expect(ctx.env.JS).to.true
- })
-
- it('undef', () => {
- transform('undef.js')
- expect(ctx.env.JS).to.undefined
- })
-})
-
-describe('html', () => {
- const root = resolve(__dirname, '../fixtures/html')
- const ctx = new Context({
- cwd: root,
- })
- function transform(fileName: string) {
- const filePath = resolve(root, fileName)
- const code = fs.readFileSync(filePath, { encoding: 'utf-8' })
- return ctx.transform(code, filePath)?.code
- }
-
- it('define', () => {
- transform('define.html')
- expect(ctx.env.HTML).to.true
- })
-
- it('undef', () => {
- transform('undef.html')
- expect(ctx.env.HTML).to.undefined
- })
-})
diff --git a/test/directives/error.test.ts b/test/directives/error.test.ts
deleted file mode 100644
index b62d361..0000000
--- a/test/directives/error.test.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import { resolve } from 'node:path'
-import fs from 'node:fs'
-import { afterEach, describe, expect, it, vi } from 'vitest'
-import { Context } from '../../src/core/context'
-
-describe('css', () => {
- afterEach(() => {
- vi.restoreAllMocks()
- })
- const root = resolve(__dirname, '../fixtures/css')
- const ctx = new Context({
- cwd: root,
- })
- function transform(fileName: string) {
- const filePath = resolve(root, fileName)
- const code = fs.readFileSync(filePath, { encoding: 'utf-8' })
- return ctx.transform(code, filePath)?.code
- }
- it('error', () => {
- const spy = vi.spyOn(console, 'error')
- transform('error.css')
- expect(spy).toHaveBeenCalled()
- })
- it('warning', () => {
- const spy = vi.spyOn(console, 'warn')
- transform('warning.css')
- expect(spy).toHaveBeenCalled()
- })
- it('info', () => {
- const spy = vi.spyOn(console, 'log')
- transform('info.css')
- expect(spy).toHaveBeenCalled()
- })
-})
diff --git a/test/directives/if.test.ts b/test/directives/if.test.ts
deleted file mode 100644
index 3f7b45e..0000000
--- a/test/directives/if.test.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-import { resolve } from 'node:path'
-import fs from 'node:fs'
-import { describe, expect, it } from 'vitest'
-import { Context } from '../../src/core/context'
-
-describe('css', () => {
- const root = resolve(__dirname, '../fixtures/css')
- const ctx = new Context({
- cwd: root,
- })
- function transform(fileName: string) {
- const filePath = resolve(root, fileName)
- const code = fs.readFileSync(filePath, { encoding: 'utf-8' })
- return ctx.transform(code, filePath)?.code
- }
-
- it('if', () => {
- expect(transform('if.css')).toMatchSnapshot()
- })
-
- it('else', () => {
- expect(transform('else.css')).toMatchSnapshot()
- })
-
- it('elif', () => {
- expect(transform('elif.css')).toMatchSnapshot()
- })
-
- it('nested', () => {
- expect(transform('nested.css')).toMatchSnapshot()
- })
-
- it('empty', () => {
- expect(transform('empty.css')).toBe(undefined)
- })
-})
-
-describe('js', () => {
- const root = resolve(__dirname, '../fixtures/js')
- const ctx = new Context({
- cwd: root,
- })
- function transform(fileName: string) {
- const filePath = resolve(root, fileName)
- const code = fs.readFileSync(filePath, { encoding: 'utf-8' })
- return ctx.transform(code, filePath)?.code
- }
-
- it('if', () => {
- expect(transform('if.js')).toMatchSnapshot()
- })
-
- it('else', () => {
- expect(transform('else.js')).toMatchSnapshot()
- })
-
- it('elif', () => {
- expect(transform('elif.js')).toMatchSnapshot()
- })
-
- it('nested', () => {
- expect(transform('nested.js')).toMatchSnapshot()
- })
-
- it('empty', () => {
- expect(transform('empty.js')).toBe(undefined)
- })
-})
-describe('html', () => {
- const root = resolve(__dirname, '../fixtures/html')
- const ctx = new Context({
- cwd: root,
- })
- function transform(fileName: string) {
- const filePath = resolve(root, fileName)
- const code = fs.readFileSync(filePath, { encoding: 'utf-8' })
- return ctx.transform(code, filePath)?.code
- }
-
- it('if', () => {
- expect(transform('if.html')).toMatchSnapshot()
- })
-
- it('else', () => {
- expect(transform('else.html')).toMatchSnapshot()
- })
-
- it('elif', () => {
- expect(transform('elif.html')).toMatchSnapshot()
- })
-
- it('nested', () => {
- expect(transform('nested.html')).toMatchSnapshot()
- })
-
- it('empty', () => {
- expect(transform('empty.html')).toBe(undefined)
- })
-})
diff --git a/test/fixtures/css/define.css b/test/fixtures/css/define.css
deleted file mode 100644
index f59489d..0000000
--- a/test/fixtures/css/define.css
+++ /dev/null
@@ -1 +0,0 @@
-/* #define CSS */
diff --git a/test/fixtures/css/elif.css b/test/fixtures/css/elif.css
deleted file mode 100644
index 8c064c9..0000000
--- a/test/fixtures/css/elif.css
+++ /dev/null
@@ -1,9 +0,0 @@
-body {
- /* #if !DEV */
- content: "!DEV";
- /* #elif TEST */
- content: "TEST";
- /* #else */
- content: "!DEV else";
- /* #endif */
-}
diff --git a/test/fixtures/css/else.css b/test/fixtures/css/else.css
deleted file mode 100644
index 88c91e3..0000000
--- a/test/fixtures/css/else.css
+++ /dev/null
@@ -1,7 +0,0 @@
-body {
- /* #if !DEV */
- content: "!DEV";
- /* #else */
- content: "!DEV else";
- /* #endif */
-}
diff --git a/test/fixtures/css/empty.css b/test/fixtures/css/empty.css
deleted file mode 100644
index e69de29..0000000
diff --git a/test/fixtures/css/error.css b/test/fixtures/css/error.css
deleted file mode 100644
index 9788fd1..0000000
--- a/test/fixtures/css/error.css
+++ /dev/null
@@ -1 +0,0 @@
-/* #error this is message */
diff --git a/test/fixtures/css/if.css b/test/fixtures/css/if.css
deleted file mode 100644
index 8616e40..0000000
--- a/test/fixtures/css/if.css
+++ /dev/null
@@ -1,5 +0,0 @@
-body {
- /* #if DEV */
- content: "DEV";
- /* #endif */
-}
diff --git a/test/fixtures/css/info.css b/test/fixtures/css/info.css
deleted file mode 100644
index 0c539d9..0000000
--- a/test/fixtures/css/info.css
+++ /dev/null
@@ -1 +0,0 @@
-/* #info this is message */
diff --git a/test/fixtures/css/nested.css b/test/fixtures/css/nested.css
deleted file mode 100644
index 289f9ae..0000000
--- a/test/fixtures/css/nested.css
+++ /dev/null
@@ -1,9 +0,0 @@
-body {
- /* #if DEV */
- /* #if !TEST */
- content: "!DEV !TEST";
- /* #else */
- content: "else";
- /* #endif */
- /* #endif */
-}
diff --git a/test/fixtures/css/undef.css b/test/fixtures/css/undef.css
deleted file mode 100644
index 40b56f7..0000000
--- a/test/fixtures/css/undef.css
+++ /dev/null
@@ -1 +0,0 @@
-/* #undef CSS */
diff --git a/test/fixtures/css/warning.css b/test/fixtures/css/warning.css
deleted file mode 100644
index 0b219c0..0000000
--- a/test/fixtures/css/warning.css
+++ /dev/null
@@ -1 +0,0 @@
-/* #warning this is message */
diff --git a/test/fixtures/define.txt b/test/fixtures/define.txt
new file mode 100644
index 0000000..8aaa9a3
--- /dev/null
+++ b/test/fixtures/define.txt
@@ -0,0 +1,4 @@
+
+/* #define css */
+// #define js
+// #define DEV = !TEST ? '1' : '2'
diff --git a/test/fixtures/html/define.html b/test/fixtures/html/define.html
deleted file mode 100644
index a882857..0000000
--- a/test/fixtures/html/define.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/test/fixtures/html/elif.html b/test/fixtures/html/elif.html
deleted file mode 100644
index 728974d..0000000
--- a/test/fixtures/html/elif.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-!DEV
-
-TEST
-
-!DEV else
-
diff --git a/test/fixtures/html/else.html b/test/fixtures/html/else.html
deleted file mode 100644
index 351fe13..0000000
--- a/test/fixtures/html/else.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-!DEV
-
-!DEV else
-
diff --git a/test/fixtures/html/empty.html b/test/fixtures/html/empty.html
deleted file mode 100644
index e69de29..0000000
diff --git a/test/fixtures/html/if.html b/test/fixtures/html/if.html
deleted file mode 100644
index 9f64ba6..0000000
--- a/test/fixtures/html/if.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
-DEV
-
diff --git a/test/fixtures/html/nested.html b/test/fixtures/html/nested.html
deleted file mode 100644
index a7a4217..0000000
--- a/test/fixtures/html/nested.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
!DEV !TEST
-
-
else
-
-
-
diff --git a/test/fixtures/html/undef.html b/test/fixtures/html/undef.html
deleted file mode 100644
index 5f6fae7..0000000
--- a/test/fixtures/html/undef.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/test/fixtures/if.css b/test/fixtures/if.css
new file mode 100644
index 0000000..549e709
--- /dev/null
+++ b/test/fixtures/if.css
@@ -0,0 +1,36 @@
+body {
+ /* #if DEV */
+ content: "DEV";
+ /* #endif */
+}
+
+
+body {
+ /* #if !DEV */
+ content: "!DEV";
+ /* #else */
+ content: "!DEV else";
+ /* #endif */
+}
+
+
+body {
+ /* #if !DEV */
+ content: "!DEV";
+ /* #elif TEST */
+ content: "TEST";
+ /* #else */
+ content: "!DEV else";
+ /* #endif */
+}
+
+
+body {
+ /* #if DEV */
+ /* #if !TEST */
+ content: "!DEV !TEST";
+ /* #else */
+ content: "else";
+ /* #endif */
+ /* #endif */
+}
diff --git a/test/fixtures/if.html b/test/fixtures/if.html
new file mode 100644
index 0000000..1a0645d
--- /dev/null
+++ b/test/fixtures/if.html
@@ -0,0 +1,27 @@
+
+DEV
+
+
+
+!DEV
+
+!DEV else
+
+
+
+!DEV
+
+TEST
+
+!DEV else
+
+
+
+
+
+
!DEV !TEST
+
+
else
+
+
+
diff --git a/test/fixtures/if.js b/test/fixtures/if.js
new file mode 100644
index 0000000..6cd9f3b
--- /dev/null
+++ b/test/fixtures/if.js
@@ -0,0 +1,25 @@
+// #if DEV
+console.log('DEV')
+// #endif
+
+// #if !DEV
+console.log('!DEV')
+// #else
+console.log('!DEV else')
+// #endif
+
+// #if !DEV
+console.log('!DEV')
+// #elif TEST
+console.log('TEST')
+// #else
+console.log('!DEV else')
+// #endif
+
+// #if DEV
+// #if !TEST
+console.log('!DEV !TEST')
+// #else
+console.log('else')
+// #endif
+// #endif
diff --git a/test/fixtures/js/define.js b/test/fixtures/js/define.js
deleted file mode 100644
index 70f44db..0000000
--- a/test/fixtures/js/define.js
+++ /dev/null
@@ -1 +0,0 @@
-// #define JS
diff --git a/test/fixtures/js/elif.js b/test/fixtures/js/elif.js
deleted file mode 100644
index ae54c0c..0000000
--- a/test/fixtures/js/elif.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// #if !DEV
-console.log("!DEV")
-// #elif TEST
-console.log("TEST")
-// #else
-console.log("!DEV else")
-// #endif
diff --git a/test/fixtures/js/else.js b/test/fixtures/js/else.js
deleted file mode 100644
index 06612e7..0000000
--- a/test/fixtures/js/else.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// #if !DEV
-console.log("!DEV")
-// #else
-console.log("!DEV else")
-// #endif
diff --git a/test/fixtures/js/empty.js b/test/fixtures/js/empty.js
deleted file mode 100644
index e69de29..0000000
diff --git a/test/fixtures/js/if.js b/test/fixtures/js/if.js
deleted file mode 100644
index dd8e5fd..0000000
--- a/test/fixtures/js/if.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// #if DEV
-console.log("DEV")
-// #endif
diff --git a/test/fixtures/js/nested.js b/test/fixtures/js/nested.js
deleted file mode 100644
index 14cb932..0000000
--- a/test/fixtures/js/nested.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// #if DEV
- // #if !TEST
- console.log("!DEV !TEST")
- // #else
- console.log("else")
- // #endif
-// #endif
diff --git a/test/fixtures/js/undef.js b/test/fixtures/js/undef.js
deleted file mode 100644
index ecfa019..0000000
--- a/test/fixtures/js/undef.js
+++ /dev/null
@@ -1 +0,0 @@
-// #undef JS
diff --git a/test/fixtures/undef.txt b/test/fixtures/undef.txt
new file mode 100644
index 0000000..fb62c61
--- /dev/null
+++ b/test/fixtures/undef.txt
@@ -0,0 +1,4 @@
+
+/* #undef css */
+// #undef js
+// #undef DEV
diff --git a/test/generator.test.ts b/test/generator.test.ts
new file mode 100644
index 0000000..8555b99
--- /dev/null
+++ b/test/generator.test.ts
@@ -0,0 +1,45 @@
+import { readFileSync } from 'node:fs'
+import { resolve } from 'node:path'
+import { describe, expect, it } from 'vitest'
+import { Generator } from '../src/core/context/generator'
+import { Context, Lexer, Parser } from '../src'
+
+describe('generator', () => {
+ it('should generate code for Program node', () => {
+ const node = {
+ type: 'Program',
+ body: [
+ { type: 'CodeStatement', value: 'console.log("Hello, World!");' },
+ { type: 'CodeStatement', value: 'console.log("Hello, KeJun");' },
+ ],
+ }
+ const result = Generator.generate(node)
+ expect(result).toBe('console.log("Hello, World!");\nconsole.log("Hello, KeJun");')
+ })
+
+ it('should generate code for CodeStatement node', () => {
+ const node = {
+ type: 'CodeStatement',
+ value: 'console.log("Hello, World!");',
+ }
+ const result = Generator.generate(node)
+ expect(result).toBe('console.log("Hello, World!");')
+ })
+
+ it('should generate code without transform', () => {
+ const ctx = new Context()
+ const code = readFileSync(resolve(__dirname, './fixtures/if.html'), 'utf-8')
+ const tokens = Lexer.lex(code, ctx.lexers)
+ const ast = Parser.parse(tokens, ctx.parsers)
+ const generated = Generator.generate(ast, ctx.generates)
+ expect(generated.replaceAll(/\s/g, '')).toBe(code.replaceAll(/\s/g, ''))
+ })
+
+ it('should throw an error for unknown node type', () => {
+ const node = {
+ type: 'UnknownNode',
+ value: 'console.log("Hello, World!");',
+ }
+ expect(() => Generator.generate(node)).toThrowError('Generator: Unknown node type: UnknownNode')
+ })
+})
diff --git a/test/if.test.ts b/test/if.test.ts
new file mode 100644
index 0000000..7a5eb9c
--- /dev/null
+++ b/test/if.test.ts
@@ -0,0 +1,31 @@
+import { resolve } from 'node:path'
+import { readFileSync } from 'node:fs'
+import { describe, expect, it } from 'vitest'
+import fg from 'fast-glob'
+import { Context, ifDirective } from '../src'
+
+describe('if', () => {
+ const root = resolve(__dirname, './fixtures')
+ const context = new Context({
+ // @ts-expect-error ignore
+ directives: [ifDirective],
+ })
+
+ fg.sync('if.*', { cwd: root }).forEach((file) => {
+ it(`should parse ${file}, dev = true`, () => {
+ context.env.DEV = true
+ const code = readFileSync(resolve(root, file), 'utf-8')
+ const result = context.transform(code, file)
+ expect(result).toMatchSnapshot()
+ })
+ })
+
+ fg.sync('if.*', { cwd: root }).forEach((file) => {
+ it(`should parse ${file}, dev = false`, () => {
+ context.env.DEV = false
+ const code = readFileSync(resolve(root, file), 'utf-8')
+ const result = context.transform(code, file)
+ expect(result).toMatchSnapshot()
+ })
+ })
+})
diff --git a/test/lexer.test.ts b/test/lexer.test.ts
new file mode 100644
index 0000000..bdc1a64
--- /dev/null
+++ b/test/lexer.test.ts
@@ -0,0 +1,36 @@
+import { describe, expect, it } from 'vitest'
+import { Lexer } from '../src'
+
+describe('lexer', () => {
+ it('should tokenize code with comments', () => {
+ const code = `
+ // This is a comment
+ const foo = 'bar';
+ // Another comment
+ const baz = 'qux';`
+ const expectedTokens = [
+ { type: 'code', value: '// This is a comment' },
+ { type: 'code', value: 'const foo = \'bar\';' },
+ { type: 'code', value: '// Another comment' },
+ { type: 'code', value: 'const baz = \'qux\';' },
+ ]
+
+ const tokens = Lexer.lex(code)
+
+ expect(tokens).toEqual(expectedTokens)
+ })
+
+ it('should tokenize code without comments', () => {
+ const code = `
+ const foo = 'bar';
+ const baz = 'qux';`
+ const expectedTokens = [
+ { type: 'code', value: 'const foo = \'bar\';' },
+ { type: 'code', value: 'const baz = \'qux\';' },
+ ]
+
+ const tokens = Lexer.lex(code)
+
+ expect(tokens).toEqual(expectedTokens)
+ })
+})
diff --git a/test/parser.test.ts b/test/parser.test.ts
new file mode 100644
index 0000000..78de640
--- /dev/null
+++ b/test/parser.test.ts
@@ -0,0 +1,17 @@
+import { describe, expect, it } from 'vitest'
+import { Parser } from '../src'
+
+describe('parser', () => {
+ it('should parse code statements', () => {
+ const tokens = [{ type: 'code', value: 'console.log("Hello, World!")' }]
+ const ast = Parser.parse(tokens)
+ expect(ast.body).toHaveLength(1)
+ expect(ast.body[0].type).toBe('CodeStatement')
+ expect(ast.body[0].value).toBe('console.log("Hello, World!")')
+ })
+
+ it('should throw an error for unknown token type', () => {
+ const tokens = [{ type: 'unknown', value: 'unknown token' }]
+ expect(() => Parser.parse(tokens)).toThrowError('Parser: Unknown token type: unknown')
+ })
+})
diff --git a/test/transformer.test.ts b/test/transformer.test.ts
new file mode 100644
index 0000000..8474554
--- /dev/null
+++ b/test/transformer.test.ts
@@ -0,0 +1,37 @@
+import { describe, expect, it } from 'vitest'
+import { Transformer } from '../src/core/context/transformer'
+import type { ProgramNode } from '../src'
+import { createProgramNode } from '../src'
+
+describe('transformer', () => {
+ it('should transform the program correctly', () => {
+ const program = createProgramNode([
+ {
+ type: 'CodeStatement',
+ code: 'console.log("Hello, world!");',
+ },
+ ])
+ const transformedProgram = Transformer.transform(program)
+
+ // Assert the transformed program
+ expect(transformedProgram).toEqual({
+ type: 'Program',
+ body: [
+ {
+ type: 'CodeStatement',
+ code: 'console.log("Hello, world!");',
+ },
+ ],
+ })
+ })
+
+ it('should throw an error for unknown node type', () => {
+ const program = {
+ type: 'UnknownNodeType',
+ body: [],
+ } as unknown as ProgramNode
+ expect(() => {
+ Transformer.transform(program)
+ }).toThrowError('Transformer: Unknown node type: UnknownNodeType')
+ })
+})
diff --git a/tsconfig.json b/tsconfig.json
index 374365d..e5c524f 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,12 +1,12 @@
{
"compilerOptions": {
"target": "es2017",
- "module": "esnext",
"lib": ["esnext", "DOM"],
+ "module": "esnext",
"moduleResolution": "node",
- "esModuleInterop": true,
+ "resolveJsonModule": true,
"strict": true,
"strictNullChecks": true,
- "resolveJsonModule": true
+ "esModuleInterop": true
}
}