diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index d6f111be2..000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright The Perses Authors -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Base eslint configuration for typescript projects -module.exports = { - extends: [ - 'eslint:recommended', - 'plugin:react/recommended', - 'plugin:react-hooks/recommended', - 'plugin:jsx-a11y/recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:prettier/recommended', - ], - - plugins: ['import'], - - env: { - commonjs: true, - es6: true, - jest: true, - node: true, - browser: true, - }, - - parser: '@typescript-eslint/parser', - - parserOptions: { - ecmaVersion: 2018, - sourceType: 'module', - ecmaFeatures: { - jsx: true, - }, - }, - - settings: { - react: { - version: 'detect', - }, - }, - - rules: { - '@typescript-eslint/explicit-function-return-type': 'error', - '@typescript-eslint/explicit-module-boundary-types': 'error', - - 'prettier/prettier': 'error', - '@typescript-eslint/array-type': [ - 'error', - { - default: 'array-simple', - }, - ], - eqeqeq: ['error', 'always'], - 'import/order': 'error', - // you must disable the base rule as it can report incorrect errors - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': [ - 'error', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_', - }, - ], - - 'react/prop-types': 'off', - 'react-hooks/exhaustive-deps': 'error', - // Not necessary in React 17 - 'react/react-in-jsx-scope': 'off', - 'react/jsx-curly-brace-presence': ['error', { props: 'never', children: 'never', propElementValues: 'always' }], - - // We use this rule instead of the core eslint `no-duplicate-imports` - // because it avoids false errors on cases where we have a regular - // import and an `import type`. - 'import/no-duplicates': 'error', - - 'no-restricted-imports': [ - 'error', - { - patterns: [ - { - /** - * This library is gigantic and named imports end up slowing down builds/blowing out bundle sizes, - * so this prevents that style of import. - */ - group: ['mdi-material-ui', '!mdi-material-ui/'], - message: ` -Please use the default import from the icon file directly rather than using a named import. - -Good: -import IconName from 'mdi-material-ui/IconName'; - -Bad: -import { IconName } from 'mdi-material-ui'; -`, - }, - ], - }, - ], - }, - - ignorePatterns: ['**/dist'], -}; diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 81d3758eb..c382bc412 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,4 +2,4 @@ blank_issues_enabled: false contact_links: - name: Bug Report or Feature Request url: https://github.com/perses/perses/issues - about: Please open all issues in the perses/perses repository. \ No newline at end of file + about: Please open all issues in the perses/perses repository. diff --git a/.github/ISSUE_TEMPLATE/other.yml b/.github/ISSUE_TEMPLATE/other.yml index 6319cd020..a9a91bd47 100644 --- a/.github/ISSUE_TEMPLATE/other.yml +++ b/.github/ISSUE_TEMPLATE/other.yml @@ -1,7 +1,7 @@ --- name: Other description: Other kind of issue. -labels: [ "bug" ] +labels: ['bug'] body: - type: markdown attributes: @@ -11,4 +11,4 @@ body: Even if it concerns a specific plugin, if your issue is a feature request or bug report please create it in the [perses/perses](https://github.com/perses/perses/issues) repository instead. - type: textarea attributes: - label: Description \ No newline at end of file + label: Description diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7c5cbbcc5..925599006 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,29 +1,29 @@ version: 2 updates: - - package-ecosystem: "gomod" + - package-ecosystem: 'gomod' directories: - - "**/*" + - '**/*' open-pull-requests-limit: 10 schedule: - interval: "weekly" + interval: 'weekly' groups: gomod: patterns: - - "*" - - package-ecosystem: "github-actions" - directory: "/" + - '*' + - package-ecosystem: 'github-actions' + directory: '/' schedule: - interval: "weekly" + interval: 'weekly' groups: actions: patterns: - - "*" - - package-ecosystem: "docker" + - '*' + - package-ecosystem: 'docker' directories: - - "/" + - '/' schedule: - interval: "weekly" + interval: 'weekly' groups: docker: patterns: - - "*" + - '*' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c7c987cda..f2cb64ea7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ on: jobs: build: - name: "build" + name: 'build' runs-on: ubuntu-latest steps: - name: checkout @@ -22,11 +22,11 @@ jobs: enable_npm: true enable_go: true enable_cue: true - cue_version: "v0.15.1" + cue_version: 'v0.15.1' - name: install percli uses: perses/cli-actions/actions/install_percli@v0.2.1 with: - cli-version: "v0.53.0-rc.0" + cli-version: 'v0.53.0-rc.0' - name: cache cue deps uses: actions/cache@v5 with: @@ -52,7 +52,7 @@ jobs: !node_modules lint-npm: - name: "lint-npm" + name: 'lint-npm' runs-on: ubuntu-latest steps: - name: checkout @@ -63,8 +63,9 @@ jobs: enable_npm: true - run: npm ci - run: npm run lint + - run: npm run format:check test-npm: - name: "test-npm" + name: 'test-npm' runs-on: ubuntu-latest steps: - name: checkout @@ -77,7 +78,7 @@ jobs: - run: npm run test e2e: - name: "e2e tests" + name: 'e2e tests' needs: build # <--- CRITICAL: Wait for build to finish. PERSES_PLUGIN_ARCHIVE_PATHS accepts archive files only runs-on: ubuntu-latest steps: @@ -97,12 +98,12 @@ jobs: - name: start dev env uses: hoverkraft-tech/compose-action@v3.0.0 with: - compose-file: .github/dev/docker-compose.ci.yml + compose-file: .github/dev/docker-compose.ci.yml - uses: perses/github-actions@v0.12.0 - uses: ./.github/perses-ci/actions/setup_environment with: enable_npm: true - nvmrc_path: ".nvmrc" + nvmrc_path: '.nvmrc' - name: install dependencies run: npm ci - name: install Playwright browsers @@ -110,10 +111,9 @@ jobs: working-directory: e2e - name: run e2e tests run: npm run test:ci --prefix e2e -- src/tests - type-check: - name: "type-check" + name: 'type-check' runs-on: ubuntu-latest steps: - name: checkout @@ -124,9 +124,9 @@ jobs: enable_npm: true - run: npm ci - run: npm run type-check - + checkformat-cue: - name: "Check CUE files format" + name: 'Check CUE files format' runs-on: ubuntu-latest steps: - name: checkout @@ -136,11 +136,11 @@ jobs: with: enable_go: true enable_cue: true - cue_version: "v0.15.1" + cue_version: 'v0.15.1' - run: make checkformat-cue validate-schemas: - name: "Validate plugin schemas" + name: 'Validate plugin schemas' runs-on: ubuntu-latest steps: - name: checkout @@ -150,11 +150,11 @@ jobs: with: enable_go: true enable_cue: true - cue_version: "v0.15.1" + cue_version: 'v0.15.1' - name: Install percli uses: perses/cli-actions/actions/install_percli@v0.2.1 with: - cli-version: "v0.53.0-rc.0" + cli-version: 'v0.53.0-rc.0' - uses: actions/cache@v5 id: cache with: @@ -166,7 +166,7 @@ jobs: - run: make test-schemas-plugins module-check: - name: "Check plugin modules" + name: 'Check plugin modules' runs-on: ubuntu-latest steps: - name: checkout @@ -176,7 +176,7 @@ jobs: with: enable_go: true enable_cue: true - cue_version: "v0.15.1" + cue_version: 'v0.15.1' - uses: actions/cache@v5 id: cache with: @@ -190,8 +190,8 @@ jobs: run: git diff --exit-code -- */cue.mod release: - name: "release" - needs: "build" + name: 'release' + needs: 'build' runs-on: ubuntu-latest permissions: contents: write @@ -207,8 +207,8 @@ jobs: enable_npm: true enable_go: true enable_cue: true - cue_version: "v0.15.1" - nvmrc_path: "./.nvmrc" + cue_version: 'v0.15.1' + nvmrc_path: './.nvmrc' - name: Download archive uses: actions/download-artifact@v8 with: diff --git a/.github/workflows/doc.yml b/.github/workflows/doc.yml index 60c5da11e..d19ffca78 100644 --- a/.github/workflows/doc.yml +++ b/.github/workflows/doc.yml @@ -12,7 +12,7 @@ on: jobs: docs-fmt: - name: "Check docs format" + name: 'Check docs format' runs-on: ubuntu-latest steps: - name: checkout @@ -25,5 +25,3 @@ jobs: run: go install github.com/bwplotka/mdox@latest - name: check docs run: make checkdocs - - diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index e08e56b66..9ac9dca21 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -12,7 +12,7 @@ concurrency: jobs: test-go: - name: "test-go" + name: 'test-go' runs-on: ubuntu-latest steps: - name: checkout @@ -22,7 +22,7 @@ jobs: with: enable_go: true enable_cue: true # needed for DaC CLI commands unit tests - cue_version: "v0.14.0" + cue_version: 'v0.14.0' - name: test run: make test golangci: @@ -44,7 +44,7 @@ jobs: version: v2.12.2 - run: make golangci-lint checklicense: - name: "check license headers" + name: 'check license headers' runs-on: ubuntu-latest steps: - name: checkout diff --git a/.mdox.validate.yaml b/.mdox.validate.yaml index ee8fde261..ececffe01 100644 --- a/.mdox.validate.yaml +++ b/.mdox.validate.yaml @@ -9,4 +9,4 @@ validators: type: 'ignore' # getting 403 forbidden in the CI - regex: 'npmjs\.com' - type: 'ignore' \ No newline at end of file + type: 'ignore' diff --git a/.oxfmtrc.json b/.oxfmtrc.json new file mode 100644 index 000000000..e2a8ef9fd --- /dev/null +++ b/.oxfmtrc.json @@ -0,0 +1,15 @@ +{ + "printWidth": 120, + "singleQuote": true, + "trailingComma": "es5", + "sortImports": {}, + "ignorePatterns": [ + "**/dist", + "**/lib", + "**/*.md", + "**/*.mdx", + "package-lock.json", + ".github/perses-ci", + ".github/perses-ci/**" + ] +} diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 000000000..00171f2a1 --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,46 @@ +{ + "plugins": ["typescript", "react", "jsx-a11y", "import"], + "categories": { + "correctness": "error" + }, + "env": { + "commonjs": true, + "es6": true, + "jest": true, + "browser": true + }, + "rules": { + "typescript/explicit-function-return-type": "error", + "typescript/explicit-module-boundary-types": "error", + "typescript/array-type": ["error", { "default": "array-simple" }], + "eqeqeq": ["error", "always"], + "no-unused-vars": "off", + "typescript/no-unused-vars": [ + "error", + { + "argsIgnorePattern": "^_", + "varsIgnorePattern": "^_", + "caughtErrorsIgnorePattern": "^_" + } + ], + "react/exhaustive-deps": "error", + "react/react-in-jsx-scope": "off", + "react/jsx-curly-brace-presence": [ + "error", + { "props": "never", "children": "never", "propElementValues": "always" } + ], + "import/no-duplicates": "error", + "no-restricted-imports": [ + "error", + { + "patterns": [ + { + "group": ["mdi-material-ui", "!mdi-material-ui/"], + "message": "Please use the default import from the icon file directly rather than using a named import.\n\nGood:\nimport IconName from 'mdi-material-ui/IconName';\n\nBad:\nimport { IconName } from 'mdi-material-ui';\n" + } + ] + } + ] + }, + "ignorePatterns": ["**/dist", "**/lib"] +} diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index 9d5ce399a..000000000 --- a/.prettierrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "printWidth": 120, - "singleQuote": true, - "trailingComma": "es5" -} diff --git a/barchart/jest.config.ts b/barchart/jest.config.ts index 5190fb4de..16027133b 100644 --- a/barchart/jest.config.ts +++ b/barchart/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/barchart/package.json b/barchart/package.json index 1243dbefd..1c281c6f3 100644 --- a/barchart/package.json +++ b/barchart/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/bar-chart-plugin", "version": "0.13.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", @@ -34,18 +40,12 @@ "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", "echarts": "5.5.0", + "immer": "^10.1.1", "lodash": "^4.17.21", "react": "^17.0.2 || ^18.0.0", "react-dom": "^17.0.2 || ^18.0.0", - "use-resize-observer": "^9.0.0", - "immer": "^10.1.1" + "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/barchart/rsbuild.config.ts b/barchart/rsbuild.config.ts index aae00b463..fdea5110a 100644 --- a/barchart/rsbuild.config.ts +++ b/barchart/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/barchart/schemas/migrate/tests/basic/expected.json b/barchart/schemas/migrate/tests/basic/expected.json index ab93a9036..4ed75cf51 100644 --- a/barchart/schemas/migrate/tests/basic/expected.json +++ b/barchart/schemas/migrate/tests/basic/expected.json @@ -7,4 +7,4 @@ "unit": "percent" } } -} \ No newline at end of file +} diff --git a/barchart/schemas/migrate/tests/basic/input.json b/barchart/schemas/migrate/tests/basic/input.json index 69e86cf06..ef375cba2 100644 --- a/barchart/schemas/migrate/tests/basic/input.json +++ b/barchart/schemas/migrate/tests/basic/input.json @@ -37,9 +37,7 @@ "options": { "reduceOptions": { "values": false, - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "" }, "orientation": "horizontal", @@ -61,4 +59,4 @@ ], "title": "Some metrics", "type": "bargauge" -} \ No newline at end of file +} diff --git a/barchart/src/BarChart.ts b/barchart/src/BarChart.ts index e8c11533c..e2b46880c 100644 --- a/barchart/src/BarChart.ts +++ b/barchart/src/BarChart.ts @@ -12,10 +12,11 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; + import { createInitialBarChartOptions, BarChartOptions } from './bar-chart-model'; +import { BarChartExportAction } from './BarChartExportAction'; import { BarChartOptionsEditorSettings } from './BarChartOptionsEditorSettings'; import { BarChartPanel, BarChartPanelProps } from './BarChartPanel'; -import { BarChartExportAction } from './BarChartExportAction'; /** * The core BarChart panel plugin for Perses. diff --git a/barchart/src/BarChartBase.tsx b/barchart/src/BarChartBase.tsx index 5836a769f..abed39083 100644 --- a/barchart/src/BarChartBase.tsx +++ b/barchart/src/BarChartBase.tsx @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, useMemo } from 'react'; +import { Box } from '@mui/material'; import { EChart, FormatOptions, @@ -20,11 +20,11 @@ import { getFormattedAxis, useChartsTheme, } from '@perses-dev/components'; -import { use, EChartsCoreOption } from 'echarts/core'; import { BarChart as EChartsBarChart } from 'echarts/charts'; import { GridComponent, DatasetComponent, TitleComponent, TooltipComponent, LegendComponent } from 'echarts/components'; +import { use, EChartsCoreOption } from 'echarts/core'; import { CanvasRenderer } from 'echarts/renderers'; -import { Box } from '@mui/material'; +import { ReactElement, useMemo } from 'react'; use([ EChartsBarChart, diff --git a/barchart/src/BarChartExportAction.tsx b/barchart/src/BarChartExportAction.tsx index be8e99a24..b9f406c0a 100644 --- a/barchart/src/BarChartExportAction.tsx +++ b/barchart/src/BarChartExportAction.tsx @@ -11,11 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -import React, { useCallback, useMemo } from 'react'; -import { exportDataAsCSV, extractExportableData, isExportableData, sanitizeFilename } from '@perses-dev/plugin-system'; -import { InfoTooltip } from '@perses-dev/components'; import { IconButton } from '@mui/material'; +import { InfoTooltip } from '@perses-dev/components'; +import { exportDataAsCSV, extractExportableData, isExportableData, sanitizeFilename } from '@perses-dev/plugin-system'; import DownloadIcon from 'mdi-material-ui/Download'; +import React, { useCallback, useMemo } from 'react'; + import { BarChartPanelProps } from './BarChartPanel'; export const BarChartExportAction: React.FC = ({ queryResults, definition }) => { diff --git a/barchart/src/BarChartOptionsEditorSettings.test.tsx b/barchart/src/BarChartOptionsEditorSettings.test.tsx index 669989791..9a1ecb8af 100644 --- a/barchart/src/BarChartOptionsEditorSettings.test.tsx +++ b/barchart/src/BarChartOptionsEditorSettings.test.tsx @@ -14,6 +14,7 @@ import { ChartsProvider, testChartsTheme } from '@perses-dev/components'; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; + import { BarChartOptions } from './bar-chart-model'; import { BarChartOptionsEditorSettings } from './BarChartOptionsEditorSettings'; diff --git a/barchart/src/BarChartOptionsEditorSettings.tsx b/barchart/src/BarChartOptionsEditorSettings.tsx index 27edaf3a3..09c6d9121 100644 --- a/barchart/src/BarChartOptionsEditorSettings.tsx +++ b/barchart/src/BarChartOptionsEditorSettings.tsx @@ -45,6 +45,7 @@ import { import { produce } from 'immer'; import merge from 'lodash/merge'; import { MouseEventHandler, ReactElement } from 'react'; + import { BarChartOptions, BarChartOptionsEditorProps, diff --git a/barchart/src/BarChartPanel.tsx b/barchart/src/BarChartPanel.tsx index 07a40a4ce..87d2dca60 100644 --- a/barchart/src/BarChartPanel.tsx +++ b/barchart/src/BarChartPanel.tsx @@ -11,14 +11,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { useChartsTheme } from '@perses-dev/components'; import { Box } from '@mui/material'; -import { ReactElement, useMemo } from 'react'; +import { useChartsTheme } from '@perses-dev/components'; import { CalculationsMap, CalculationType, PanelProps } from '@perses-dev/plugin-system'; import { TimeSeriesData } from '@perses-dev/spec'; +import { ReactElement, useMemo } from 'react'; + import { BarChartOptions } from './bar-chart-model'; -import { calculatePercentages, sortSeriesData } from './utils'; import { BarChartBase, BarChartData, StackedBarChartData, StackedBarChartSeries } from './BarChartBase'; +import { calculatePercentages, sortSeriesData } from './utils'; export type BarChartPanelProps = PanelProps; diff --git a/barchart/src/getPluginModule.ts b/barchart/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/barchart/src/getPluginModule.ts +++ b/barchart/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/barchart/src/utils.ts b/barchart/src/utils.ts index 1f8c99e53..eaf23be8b 100644 --- a/barchart/src/utils.ts +++ b/barchart/src/utils.ts @@ -12,6 +12,7 @@ // limitations under the License. import { SortOption } from '@perses-dev/components'; + import { DEFAULT_SORT } from './bar-chart-model'; import { BarChartData } from './BarChartBase'; diff --git a/clickhouse/jest.config.ts b/clickhouse/jest.config.ts index 5190fb4de..16027133b 100644 --- a/clickhouse/jest.config.ts +++ b/clickhouse/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/clickhouse/package.json b/clickhouse/package.json index 6e1b9cfc2..2e37bb541 100644 --- a/clickhouse/package.json +++ b/clickhouse/package.json @@ -2,6 +2,15 @@ "name": "@perses-dev/clickhouse-plugin", "version": "0.6.0-beta.0", "license": "Apache-2.0", + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -9,23 +18,20 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", "@hookform/resolvers": "^3.2.0", + "@perses-dev/client": "^0.54.0-beta.7", "@perses-dev/components": "^0.54.0-beta.7", "@perses-dev/dashboards": "^0.54.0-beta.7", - "@perses-dev/spec": "^0.2.0-beta.2", "@perses-dev/explore": "^0.54.0-beta.7", "@perses-dev/plugin-system": "^0.54.0-beta.7", - "@perses-dev/client": "^0.54.0-beta.7", + "@perses-dev/spec": "^0.2.0-beta.2", "@tanstack/react-query": "^4.39.1", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", @@ -37,12 +43,6 @@ "react-hook-form": "^7.52.2", "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "moduleName": "ClickHouse", "schemasPath": "schemas", diff --git a/clickhouse/rsbuild.config.ts b/clickhouse/rsbuild.config.ts index 89c1a1645..679ead081 100644 --- a/clickhouse/rsbuild.config.ts +++ b/clickhouse/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/clickhouse/src/components/ClickQLEditor.tsx b/clickhouse/src/components/ClickQLEditor.tsx index cc6e80b8e..de08f5bfa 100644 --- a/clickhouse/src/components/ClickQLEditor.tsx +++ b/clickhouse/src/components/ClickQLEditor.tsx @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import CodeMirror, { ReactCodeMirrorProps } from '@uiw/react-codemirror'; import { EditorView } from '@codemirror/view'; import { useTheme, InputLabel, Stack } from '@mui/material'; +import CodeMirror, { ReactCodeMirrorProps } from '@uiw/react-codemirror'; import { ReactElement } from 'react'; export type ClickQLEditorProps = Omit; diff --git a/clickhouse/src/datasources/click-house-datasource/ClickHouseDatasource.tsx b/clickhouse/src/datasources/click-house-datasource/ClickHouseDatasource.tsx index 01662c865..162073865 100644 --- a/clickhouse/src/datasources/click-house-datasource/ClickHouseDatasource.tsx +++ b/clickhouse/src/datasources/click-house-datasource/ClickHouseDatasource.tsx @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourcePlugin } from '@perses-dev/plugin-system'; + import { query } from '../../model/click-house-client'; import { ClickHouseDatasourceSpec, ClickHouseDatasourceClient } from './click-house-datasource-types'; import { ClickHouseDatasourceEditor } from './ClickHouseDatasourceEditor'; diff --git a/clickhouse/src/datasources/click-house-datasource/ClickHouseDatasourceEditor.tsx b/clickhouse/src/datasources/click-house-datasource/ClickHouseDatasourceEditor.tsx index 4106583e0..dc8b5e65e 100644 --- a/clickhouse/src/datasources/click-house-datasource/ClickHouseDatasourceEditor.tsx +++ b/clickhouse/src/datasources/click-house-datasource/ClickHouseDatasourceEditor.tsx @@ -13,6 +13,7 @@ import { HTTPSettingsEditor } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; + import { ClickHouseDatasourceSpec } from './click-house-datasource-types'; export interface ClickHouseDatasourceEditorProps { diff --git a/clickhouse/src/getPluginModule.ts b/clickhouse/src/getPluginModule.ts index cab8b384b..515511f2f 100644 --- a/clickhouse/src/getPluginModule.ts +++ b/clickhouse/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/clickhouse/src/queries/click-house-log-query/ClickHouseLogQuery.tsx b/clickhouse/src/queries/click-house-log-query/ClickHouseLogQuery.tsx index 8d4d1df06..00ce5fff3 100644 --- a/clickhouse/src/queries/click-house-log-query/ClickHouseLogQuery.tsx +++ b/clickhouse/src/queries/click-house-log-query/ClickHouseLogQuery.tsx @@ -12,9 +12,10 @@ // limitations under the License. import { parseVariables, LogQueryPlugin } from '@perses-dev/plugin-system'; -import { getClickHouseLogData } from './get-click-house-log-data'; -import { ClickHouseLogQueryEditor } from './ClickHouseLogQueryEditor'; + import { ClickHouseLogQuerySpec } from './click-house-log-query-types'; +import { ClickHouseLogQueryEditor } from './ClickHouseLogQueryEditor'; +import { getClickHouseLogData } from './get-click-house-log-data'; export const ClickHouseLogQuery: LogQueryPlugin = { getLogData: getClickHouseLogData, diff --git a/clickhouse/src/queries/click-house-log-query/ClickHouseLogQueryEditor.tsx b/clickhouse/src/queries/click-house-log-query/ClickHouseLogQueryEditor.tsx index ced1283b0..97c9fa144 100644 --- a/clickhouse/src/queries/click-house-log-query/ClickHouseLogQueryEditor.tsx +++ b/clickhouse/src/queries/click-house-log-query/ClickHouseLogQueryEditor.tsx @@ -11,19 +11,20 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { Stack } from '@mui/material'; +import { createModEnterHandler } from '@perses-dev/dashboards'; import { DatasourceSelect, DatasourceSelectProps, isVariableDatasource, OptionsEditorProps, } from '@perses-dev/plugin-system'; -import { ReactElement, useCallback } from 'react'; import { produce } from 'immer'; -import { Stack } from '@mui/material'; -import { createModEnterHandler } from '@perses-dev/dashboards'; -import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; +import { ReactElement, useCallback } from 'react'; + import { ClickQLEditor } from '../../components'; import { queryExample } from '../../components/constants'; +import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; import { useQueryState } from '../query-editor-model'; import { ClickHouseLogQuerySpec } from './click-house-log-query-types'; diff --git a/clickhouse/src/queries/click-house-log-query/click-house-log-query-types.test.ts b/clickhouse/src/queries/click-house-log-query/click-house-log-query-types.test.ts index 8c31875d8..178f590f4 100644 --- a/clickhouse/src/queries/click-house-log-query/click-house-log-query-types.test.ts +++ b/clickhouse/src/queries/click-house-log-query/click-house-log-query-types.test.ts @@ -12,6 +12,7 @@ // limitations under the License. import { LogQueryContext } from '@perses-dev/plugin-system'; + import { ClickHouseDatasource, ClickHouseDatasourceSpec } from '../../datasources/click-house-datasource'; import { ClickHouseQueryResponse } from '../../model/click-house-client'; import { ClickHouseLogQuery } from './ClickHouseLogQuery'; diff --git a/clickhouse/src/queries/click-house-log-query/get-click-house-log-data.ts b/clickhouse/src/queries/click-house-log-query/get-click-house-log-data.ts index f8e42081f..8452d4b61 100644 --- a/clickhouse/src/queries/click-house-log-query/get-click-house-log-data.ts +++ b/clickhouse/src/queries/click-house-log-query/get-click-house-log-data.ts @@ -13,6 +13,7 @@ import { replaceVariables, LogQueryPlugin } from '@perses-dev/plugin-system'; import { LogData, LogEntry } from '@perses-dev/spec'; + import { ClickHouseClient, ClickHouseQueryResponse } from '../../model/click-house-client'; import { DEFAULT_DATASOURCE } from '../constants'; import { ClickHouseLogQuerySpec } from './click-house-log-query-types'; diff --git a/clickhouse/src/queries/click-house-time-series-query/ClickHouseQuery.tsx b/clickhouse/src/queries/click-house-time-series-query/ClickHouseQuery.tsx index 4c5fa8d41..f3e6fbdeb 100644 --- a/clickhouse/src/queries/click-house-time-series-query/ClickHouseQuery.tsx +++ b/clickhouse/src/queries/click-house-time-series-query/ClickHouseQuery.tsx @@ -12,9 +12,10 @@ // limitations under the License. import { TimeSeriesQueryPlugin, parseVariables } from '@perses-dev/plugin-system'; -import { getTimeSeriesData } from './get-click-house-data'; -import { ClickHouseTimeSeriesQueryEditor } from './ClickHouseQueryEditor'; + import { ClickHouseTimeSeriesQuerySpec } from './click-house-query-types'; +import { ClickHouseTimeSeriesQueryEditor } from './ClickHouseQueryEditor'; +import { getTimeSeriesData } from './get-click-house-data'; export const ClickHouseTimeSeriesQuery: TimeSeriesQueryPlugin = { getTimeSeriesData, diff --git a/clickhouse/src/queries/click-house-time-series-query/ClickHouseQueryEditor.tsx b/clickhouse/src/queries/click-house-time-series-query/ClickHouseQueryEditor.tsx index 5df4e9439..6e6ca5040 100644 --- a/clickhouse/src/queries/click-house-time-series-query/ClickHouseQueryEditor.tsx +++ b/clickhouse/src/queries/click-house-time-series-query/ClickHouseQueryEditor.tsx @@ -11,19 +11,20 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { Stack } from '@mui/material'; +import { createModEnterHandler } from '@perses-dev/dashboards'; import { DatasourceSelect, DatasourceSelectProps, isVariableDatasource, OptionsEditorProps, } from '@perses-dev/plugin-system'; -import { ReactElement, useCallback } from 'react'; import { produce } from 'immer'; -import { Stack } from '@mui/material'; -import { createModEnterHandler } from '@perses-dev/dashboards'; -import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; +import { ReactElement, useCallback } from 'react'; + import { ClickQLEditor } from '../../components'; import { queryExample } from '../../components/constants'; +import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; import { useQueryState } from '../query-editor-model'; import { ClickHouseTimeSeriesQuerySpec } from './click-house-query-types'; diff --git a/clickhouse/src/queries/click-house-time-series-query/click-house-query-types.test.ts b/clickhouse/src/queries/click-house-time-series-query/click-house-query-types.test.ts index 9ecff6f12..8c5978d6c 100644 --- a/clickhouse/src/queries/click-house-time-series-query/click-house-query-types.test.ts +++ b/clickhouse/src/queries/click-house-time-series-query/click-house-query-types.test.ts @@ -17,6 +17,7 @@ jest.mock('echarts/core'); import { TimeSeriesQueryContext } from '@perses-dev/plugin-system'; import { DatasourceSpec } from '@perses-dev/spec'; + import { ClickHouseDatasource, ClickHouseDatasourceSpec } from '../../datasources'; import { ClickHouseQueryResponse } from '../../model/click-house-client'; import { ClickHouseTimeSeriesQuery } from './ClickHouseQuery'; diff --git a/clickhouse/src/queries/click-house-time-series-query/get-click-house-data.ts b/clickhouse/src/queries/click-house-time-series-query/get-click-house-data.ts index 4178a48a3..13a3250d1 100644 --- a/clickhouse/src/queries/click-house-time-series-query/get-click-house-data.ts +++ b/clickhouse/src/queries/click-house-time-series-query/get-click-house-data.ts @@ -13,9 +13,10 @@ import { TimeSeriesQueryPlugin, replaceVariables } from '@perses-dev/plugin-system'; import { TimeSeries } from '@perses-dev/spec'; -import { DEFAULT_DATASOURCE } from '../constants'; -import { TimeSeriesEntry } from '../../model/click-house-data-types'; + import { ClickHouseClient, ClickHouseQueryResponse } from '../../model/click-house-client'; +import { TimeSeriesEntry } from '../../model/click-house-data-types'; +import { DEFAULT_DATASOURCE } from '../constants'; import { ClickHouseTimeSeriesQuerySpec, DatasourceQueryResponse } from './click-house-query-types'; function buildTimeSeries(response?: DatasourceQueryResponse): TimeSeries[] { diff --git a/clickhouse/src/queries/query-editor-model.ts b/clickhouse/src/queries/query-editor-model.ts index b26ac0c2f..d492e8552 100644 --- a/clickhouse/src/queries/query-editor-model.ts +++ b/clickhouse/src/queries/query-editor-model.ts @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { useState } from 'react'; -import { produce } from 'immer'; import { OptionsEditorProps } from '@perses-dev/plugin-system'; +import { produce } from 'immer'; +import { useState } from 'react'; /** * Generic type for any ClickHouse query spec that has a query field diff --git a/datasourcevariable/package.json b/datasourcevariable/package.json index 6e71b6996..95ac434dc 100644 --- a/datasourcevariable/package.json +++ b/datasourcevariable/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/datasource-variable-plugin", "version": "0.6.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest --passWithNoTests", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", @@ -38,12 +44,6 @@ "react-dom": "^17.0.2 || ^18.0.0", "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/datasourcevariable/rsbuild.config.ts b/datasourcevariable/rsbuild.config.ts index cc39bce53..5843da712 100644 --- a/datasourcevariable/rsbuild.config.ts +++ b/datasourcevariable/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/datasourcevariable/schemas/migrate/tests/basic/expected.json b/datasourcevariable/schemas/migrate/tests/basic/expected.json index 3c5e43be2..2b6dbb861 100644 --- a/datasourcevariable/schemas/migrate/tests/basic/expected.json +++ b/datasourcevariable/schemas/migrate/tests/basic/expected.json @@ -3,4 +3,4 @@ "spec": { "datasourcePluginKind": "PrometheusDatasource" } -} \ No newline at end of file +} diff --git a/datasourcevariable/schemas/migrate/tests/basic/input.json b/datasourcevariable/schemas/migrate/tests/basic/input.json index d4bf83b09..0bfe1dab8 100644 --- a/datasourcevariable/schemas/migrate/tests/basic/input.json +++ b/datasourcevariable/schemas/migrate/tests/basic/input.json @@ -15,4 +15,4 @@ "regex": "my-ds", "skipUrlSync": false, "type": "datasource" -} \ No newline at end of file +} diff --git a/datasourcevariable/schemas/tests/valid/datasource.json b/datasourcevariable/schemas/tests/valid/datasource.json index 3c5e43be2..2b6dbb861 100644 --- a/datasourcevariable/schemas/tests/valid/datasource.json +++ b/datasourcevariable/schemas/tests/valid/datasource.json @@ -3,4 +3,4 @@ "spec": { "datasourcePluginKind": "PrometheusDatasource" } -} \ No newline at end of file +} diff --git a/datasourcevariable/src/DatasourceVariable.tsx b/datasourcevariable/src/DatasourceVariable.tsx index 30a718210..1a993cd91 100644 --- a/datasourcevariable/src/DatasourceVariable.tsx +++ b/datasourcevariable/src/DatasourceVariable.tsx @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { OptionsEditorProps, useListPluginMetadata, VariablePlugin } from '@perses-dev/plugin-system'; import { Autocomplete, TextField } from '@mui/material'; +import { OptionsEditorProps, useListPluginMetadata, VariablePlugin } from '@perses-dev/plugin-system'; import { ReactElement, useEffect, useMemo } from 'react'; type StaticListVariableOptions = { diff --git a/datasourcevariable/src/getPluginModule.ts b/datasourcevariable/src/getPluginModule.ts index cab8b384b..515511f2f 100644 --- a/datasourcevariable/src/getPluginModule.ts +++ b/datasourcevariable/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/e2e/package.json b/e2e/package.json index 178c25c7e..5db532190 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -1,8 +1,8 @@ { "name": "@perses-dev/plugins-e2e", "version": "0.1.0", - "description": "e2e tests for plugins", "private": true, + "description": "e2e tests for plugins", "scripts": { "test:ci": "npx playwright test --workers=1 --reporter=github,list", "test:install": "npx playwright install --with-deps", diff --git a/flamechart/jest.config.ts b/flamechart/jest.config.ts index 5190fb4de..16027133b 100644 --- a/flamechart/jest.config.ts +++ b/flamechart/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/flamechart/package.json b/flamechart/package.json index c825668e5..0516f2bd4 100644 --- a/flamechart/package.json +++ b/flamechart/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/flame-chart-plugin", "version": "0.6.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "devDependencies": { "@types/color-hash": "^2.0.0" }, @@ -38,18 +44,12 @@ "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", "echarts": "5.5.0", + "immer": "^10.1.1", "lodash": "^4.17.21", "react": "^17.0.2 || ^18.0.0", "react-dom": "^17.0.2 || ^18.0.0", - "use-resize-observer": "^9.0.0", - "immer": "^10.1.1" + "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/flamechart/rsbuild.config.ts b/flamechart/rsbuild.config.ts index dc17a39ea..93d7d6d10 100644 --- a/flamechart/rsbuild.config.ts +++ b/flamechart/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/flamechart/src/FlameChart.ts b/flamechart/src/FlameChart.ts index 186e742d1..b443a943b 100644 --- a/flamechart/src/FlameChart.ts +++ b/flamechart/src/FlameChart.ts @@ -12,8 +12,9 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; -import { createInitialFlameChartOptions, FlameChartOptions } from './flame-chart-model'; + import { FlameChartPanel, FlameChartPanelProps, FlameChartOptionsEditorSettings } from './components'; +import { createInitialFlameChartOptions, FlameChartOptions } from './flame-chart-model'; /** * The core FlameChart panel plugin for Perses. diff --git a/flamechart/src/components/CustomBreadcrumb.tsx b/flamechart/src/components/CustomBreadcrumb.tsx index 5f9bac4cb..c04280cfe 100644 --- a/flamechart/src/components/CustomBreadcrumb.tsx +++ b/flamechart/src/components/CustomBreadcrumb.tsx @@ -11,14 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; import { Stack, Breadcrumbs } from '@mui/material'; -import ChevronRightIcon from 'mdi-material-ui/ChevronRight'; -import EyeIcon from 'mdi-material-ui/EyeOutline'; -import CloseIcon from 'mdi-material-ui/Close'; import Chip from '@mui/material/Chip'; import { emphasize, styled } from '@mui/material/styles'; import { formatValue } from '@perses-dev/components'; +import ChevronRightIcon from 'mdi-material-ui/ChevronRight'; +import CloseIcon from 'mdi-material-ui/Close'; +import EyeIcon from 'mdi-material-ui/EyeOutline'; +import { ReactElement } from 'react'; export interface CustomBreadcrumbProps { totalValue: string; diff --git a/flamechart/src/components/FlameChart.tsx b/flamechart/src/components/FlameChart.tsx index 626bef656..1b63c0488 100644 --- a/flamechart/src/components/FlameChart.tsx +++ b/flamechart/src/components/FlameChart.tsx @@ -11,23 +11,24 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { Stack, Box, Menu, MenuItem, Divider, useTheme } from '@mui/material'; +import { useChartsTheme, EChart, MouseEventsParameters } from '@perses-dev/components'; +import { ProfileData } from '@perses-dev/spec'; import { CustomSeriesRenderItem, CustomSeriesRenderItemAPI, CustomSeriesRenderItemParams, CustomSeriesRenderItemReturn, } from 'echarts'; -import { Stack, Box, Menu, MenuItem, Divider, useTheme } from '@mui/material'; -import { ReactElement, useState, useMemo, MouseEvent } from 'react'; -import { useChartsTheme, EChart, MouseEventsParameters } from '@perses-dev/components'; -import RefreshIcon from 'mdi-material-ui/Refresh'; -import EyeIcon from 'mdi-material-ui/EyeOutline'; -import ContentCopyIcon from 'mdi-material-ui/ContentCopy'; import { EChartsCoreOption } from 'echarts/core'; -import { ProfileData } from '@perses-dev/spec'; +import ContentCopyIcon from 'mdi-material-ui/ContentCopy'; +import EyeIcon from 'mdi-material-ui/EyeOutline'; +import RefreshIcon from 'mdi-material-ui/Refresh'; +import { ReactElement, useState, useMemo, MouseEvent } from 'react'; + +import { FlameChartSample as Sample } from '../utils/data-model'; import { buildSamples, findTotalSampleByName } from '../utils/data-transform'; import { generateTooltip } from '../utils/tooltip'; -import { FlameChartSample as Sample } from '../utils/data-model'; import { CustomBreadcrumb } from './CustomBreadcrumb'; const ITEM_GAP = 2; // vertical gap between flame chart items diff --git a/flamechart/src/components/FlameChartOptionsEditorSettings.tsx b/flamechart/src/components/FlameChartOptionsEditorSettings.tsx index b26b55954..3f06f687b 100644 --- a/flamechart/src/components/FlameChartOptionsEditorSettings.tsx +++ b/flamechart/src/components/FlameChartOptionsEditorSettings.tsx @@ -11,14 +11,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; +import { Button, TextField } from '@mui/material'; import { OptionsEditorGroup, OptionsEditorGrid, OptionsEditorColumn, OptionsEditorControl, } from '@perses-dev/components'; -import { Button, TextField } from '@mui/material'; +import { ReactElement } from 'react'; + import { FlameChartOptionsEditorProps } from '../flame-chart-model'; import { usePaletteState, diff --git a/flamechart/src/components/FlameChartPanel.tsx b/flamechart/src/components/FlameChartPanel.tsx index 179ab7ac0..d7cb2dbe0 100644 --- a/flamechart/src/components/FlameChartPanel.tsx +++ b/flamechart/src/components/FlameChartPanel.tsx @@ -11,18 +11,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TitleComponentOption } from 'echarts'; -import { useChartsTheme } from '@perses-dev/components'; import { Stack, Typography, SxProps, useMediaQuery, useTheme } from '@mui/material'; -import { FC, useState, useEffect, useMemo } from 'react'; +import { useChartsTheme } from '@perses-dev/components'; import { PanelProps } from '@perses-dev/plugin-system'; import { ProfileData, StackTrace } from '@perses-dev/spec'; +import { TitleComponentOption } from 'echarts'; +import { FC, useState, useEffect, useMemo } from 'react'; + import { FlameChartOptions } from '../flame-chart-model'; import { filterStackTraceById, getMaxDepth } from '../utils/data-transform'; import { FlameChart } from './FlameChart'; +import { SeriesChart } from './SeriesChart'; import { Settings } from './Settings'; import { TableChart } from './TableChart'; -import { SeriesChart } from './SeriesChart'; const LARGE_PANEL_THRESHOLD = 600; const DEFAULT_SERIES_CHART_HEIGHT = 200; diff --git a/flamechart/src/components/PaletteSelector.tsx b/flamechart/src/components/PaletteSelector.tsx index 7c0040581..28e429717 100644 --- a/flamechart/src/components/PaletteSelector.tsx +++ b/flamechart/src/components/PaletteSelector.tsx @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; import { OptionsEditorControl, SettingsAutocomplete } from '@perses-dev/components'; +import { ReactElement } from 'react'; const PALETTE_OPTIONS: Array<{ id: PaletteOption; label: string }> = [ { id: 'package-name', label: 'By Package Name' }, diff --git a/flamechart/src/components/SearchBar.tsx b/flamechart/src/components/SearchBar.tsx index 09e169a71..c03766330 100644 --- a/flamechart/src/components/SearchBar.tsx +++ b/flamechart/src/components/SearchBar.tsx @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; import { TextField, InputAdornment, Chip } from '@mui/material'; import Magnify from 'mdi-material-ui/Magnify'; +import { ReactElement } from 'react'; export interface SearchBarProps { searchValue: string; diff --git a/flamechart/src/components/SeriesChart.tsx b/flamechart/src/components/SeriesChart.tsx index 30b3b3c3c..e739f8e35 100644 --- a/flamechart/src/components/SeriesChart.tsx +++ b/flamechart/src/components/SeriesChart.tsx @@ -11,17 +11,18 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, useMemo, useRef } from 'react'; import { Stack, useTheme } from '@mui/material'; import { useChartsTheme, EChart, ZoomEventData, OnEventsType, enableDataZoom } from '@perses-dev/components'; import { useTimeRange } from '@perses-dev/plugin-system'; +import { ProfileData, Timeline } from '@perses-dev/spec'; import type { EChartsCoreOption, LineSeriesOption } from 'echarts'; import { ECharts as EChartsInstance } from 'echarts/core'; import { CallbackDataParams } from 'echarts/types/dist/shared'; -import { ProfileData, Timeline } from '@perses-dev/spec'; +import { ReactElement, useMemo, useRef } from 'react'; + +import { SeriesSample } from '../utils/data-model'; import { formatItemValue } from '../utils/format'; import { getSeriesTooltip } from '../utils/series-tooltip'; -import { SeriesSample } from '../utils/data-model'; const LINE_WIDTH = 1.25; const POINT_SIZE_OFFSET = 2; diff --git a/flamechart/src/components/Settings.tsx b/flamechart/src/components/Settings.tsx index 9c0f1bbd0..39d83594f 100644 --- a/flamechart/src/components/Settings.tsx +++ b/flamechart/src/components/Settings.tsx @@ -11,13 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, useState, useMemo } from 'react'; -import RefreshIcon from 'mdi-material-ui/Refresh'; -import PaletteIcon from 'mdi-material-ui/Palette'; import { Stack, Button, useTheme, MenuItem, Menu, Fade } from '@mui/material'; import { ToolbarIconButton, InfoTooltip } from '@perses-dev/components'; -import { TOOLTIP_TEXT } from '../utils/ui-text'; +import PaletteIcon from 'mdi-material-ui/Palette'; +import RefreshIcon from 'mdi-material-ui/Refresh'; +import { ReactElement, useState, useMemo } from 'react'; + import { FlameChartOptions } from '../flame-chart-model'; +import { TOOLTIP_TEXT } from '../utils/ui-text'; export interface SettingsProps { value: FlameChartOptions; diff --git a/flamechart/src/components/SwitchSelector.tsx b/flamechart/src/components/SwitchSelector.tsx index de12268ec..745bb27c0 100644 --- a/flamechart/src/components/SwitchSelector.tsx +++ b/flamechart/src/components/SwitchSelector.tsx @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; -import { OptionsEditorControl } from '@perses-dev/components'; import { Switch } from '@mui/material'; +import { OptionsEditorControl } from '@perses-dev/components'; +import { ReactElement } from 'react'; export interface SwitchSelectorProps { onChange: (newValue: boolean) => void; diff --git a/flamechart/src/components/TableChart.tsx b/flamechart/src/components/TableChart.tsx index 63b149e9b..172f8fd22 100644 --- a/flamechart/src/components/TableChart.tsx +++ b/flamechart/src/components/TableChart.tsx @@ -11,14 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, useMemo, useState } from 'react'; import { Stack, useTheme, Link } from '@mui/material'; - import { Table, TableColumnConfig } from '@perses-dev/components'; -import { SortingState } from '@tanstack/react-table'; import { ProfileData } from '@perses-dev/spec'; -import { tableRecursionJson } from '../utils/data-transform'; +import { SortingState } from '@tanstack/react-table'; +import { ReactElement, useMemo, useState } from 'react'; + import { TableChartSample } from '../utils/data-model'; +import { tableRecursionJson } from '../utils/data-transform'; import { formatItemValue } from '../utils/format'; import { SearchBar } from './SearchBar'; diff --git a/flamechart/src/getPluginModule.ts b/flamechart/src/getPluginModule.ts index cab8b384b..515511f2f 100644 --- a/flamechart/src/getPluginModule.ts +++ b/flamechart/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/flamechart/src/utils/data-transform.test.ts b/flamechart/src/utils/data-transform.test.ts index f17324534..996362057 100644 --- a/flamechart/src/utils/data-transform.test.ts +++ b/flamechart/src/utils/data-transform.test.ts @@ -12,6 +12,7 @@ // limitations under the License. import { StackTrace } from '@perses-dev/spec'; + import { FlameChartSample as Sample } from './data-model'; import { filterStackTraceById, buildSamples } from './data-transform'; import { getSpanColor } from './palette-gen'; diff --git a/flamechart/src/utils/data-transform.ts b/flamechart/src/utils/data-transform.ts index 5059f6625..0ca4c8fa3 100644 --- a/flamechart/src/utils/data-transform.ts +++ b/flamechart/src/utils/data-transform.ts @@ -12,9 +12,10 @@ // limitations under the License. import { ProfileMetaData, StackTrace } from '@perses-dev/spec'; + import { FlameChartSample as Sample, TableChartSample } from './data-model'; -import { getSpanColor } from './palette-gen'; import { formatItemValue } from './format'; +import { getSpanColor } from './palette-gen'; /** * Filter the global stacktrace by a function ID to focus on that function and display its corresponding flame chart diff --git a/flamechart/src/utils/tooltip.ts b/flamechart/src/utils/tooltip.ts index f94a3e2a8..0f898189e 100644 --- a/flamechart/src/utils/tooltip.ts +++ b/flamechart/src/utils/tooltip.ts @@ -12,6 +12,7 @@ // limitations under the License. import * as echarts from 'echarts'; + import { FlameChartSample } from './data-model'; import { formatItemValue } from './format'; diff --git a/flamechart/src/utils/utils.ts b/flamechart/src/utils/utils.ts index d889b278b..5c1192ab0 100644 --- a/flamechart/src/utils/utils.ts +++ b/flamechart/src/utils/utils.ts @@ -13,6 +13,7 @@ import { produce } from 'immer'; import { ChangeEventHandler } from 'react'; + import { FlameChartOptionsEditorProps } from '../flame-chart-model'; /** diff --git a/gaugechart/jest.config.ts b/gaugechart/jest.config.ts index 5190fb4de..16027133b 100644 --- a/gaugechart/jest.config.ts +++ b/gaugechart/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/gaugechart/package.json b/gaugechart/package.json index ce564228d..bc24744e0 100644 --- a/gaugechart/package.json +++ b/gaugechart/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/gauge-chart-plugin", "version": "0.13.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,35 +26,26 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", "@hookform/resolvers": "^3.2.0", "@perses-dev/components": "^0.54.0-beta.7", - "@perses-dev/spec": "^0.2.0-beta.2", "@perses-dev/plugin-system": "^0.54.0-beta.7", + "@perses-dev/spec": "^0.2.0-beta.2", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", "echarts": "5.5.0", + "immer": "^10.1.1", "lodash": "^4.17.21", "react": "^17.0.2 || ^18.0.0", "react-dom": "^17.0.2 || ^18.0.0", - "use-resize-observer": "^9.0.0", - "immer": "^10.1.1" + "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/gaugechart/rsbuild.config.ts b/gaugechart/rsbuild.config.ts index f1a34430d..0be16e3e9 100644 --- a/gaugechart/rsbuild.config.ts +++ b/gaugechart/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/gaugechart/schemas/migrate/tests/basic/expected.json b/gaugechart/schemas/migrate/tests/basic/expected.json index 2a12bbbb8..8fc1ba5de 100644 --- a/gaugechart/schemas/migrate/tests/basic/expected.json +++ b/gaugechart/schemas/migrate/tests/basic/expected.json @@ -19,4 +19,4 @@ ] } } -} \ No newline at end of file +} diff --git a/gaugechart/schemas/migrate/tests/basic/input.json b/gaugechart/schemas/migrate/tests/basic/input.json index 24c3020cb..13f3a8f01 100644 --- a/gaugechart/schemas/migrate/tests/basic/input.json +++ b/gaugechart/schemas/migrate/tests/basic/input.json @@ -38,9 +38,7 @@ "options": { "orientation": "auto", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -63,4 +61,4 @@ ], "title": "My 2nd panel", "type": "gauge" -} \ No newline at end of file +} diff --git a/gaugechart/src/GaugeChart.ts b/gaugechart/src/GaugeChart.ts index 879665db0..f94ec4e30 100644 --- a/gaugechart/src/GaugeChart.ts +++ b/gaugechart/src/GaugeChart.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; + import { createInitialGaugeChartOptions, GaugeChartOptions } from './gauge-chart-model'; import { GaugeChartOptionsEditorSettings } from './GaugeChartOptionsEditorSettings'; import { GaugeChartLoading, GaugeChartPanel, GaugeChartPanelProps } from './GaugeChartPanel'; diff --git a/gaugechart/src/GaugeChartBase.tsx b/gaugechart/src/GaugeChartBase.tsx index d56a5752f..371a75344 100644 --- a/gaugechart/src/GaugeChartBase.tsx +++ b/gaugechart/src/GaugeChartBase.tsx @@ -12,9 +12,9 @@ // limitations under the License. import { EChart, FormatOptions, formatValue, useChartsTheme, useDeepMemo } from '@perses-dev/components'; -import { use, EChartsCoreOption } from 'echarts/core'; import { GaugeChart as EChartsGaugeChart, GaugeSeriesOption } from 'echarts/charts'; import { GridComponent, TitleComponent, TooltipComponent } from 'echarts/components'; +import { use, EChartsCoreOption } from 'echarts/core'; import { CanvasRenderer } from 'echarts/renderers'; import { ReactElement } from 'react'; diff --git a/gaugechart/src/GaugeChartOptionsEditorSettings.test.tsx b/gaugechart/src/GaugeChartOptionsEditorSettings.test.tsx index 43ab878a6..348418fd6 100644 --- a/gaugechart/src/GaugeChartOptionsEditorSettings.test.tsx +++ b/gaugechart/src/GaugeChartOptionsEditorSettings.test.tsx @@ -15,6 +15,7 @@ import { ChartsProvider, testChartsTheme } from '@perses-dev/components'; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; + import { GaugeChartOptions } from './gauge-chart-model'; import { GaugeChartOptionsEditorSettings } from './GaugeChartOptionsEditorSettings'; diff --git a/gaugechart/src/GaugeChartOptionsEditorSettings.tsx b/gaugechart/src/GaugeChartOptionsEditorSettings.tsx index b52b5ea89..e249bf9e8 100644 --- a/gaugechart/src/GaugeChartOptionsEditorSettings.tsx +++ b/gaugechart/src/GaugeChartOptionsEditorSettings.tsx @@ -26,6 +26,7 @@ import { CalculationSelector, CalculationSelectorProps } from '@perses-dev/plugi import { produce } from 'immer'; import merge from 'lodash/merge'; import { ReactElement } from 'react'; + import { DEFAULT_FORMAT, DEFAULT_MAX_PERCENT, @@ -36,7 +37,7 @@ import { export function GaugeChartOptionsEditorSettings(props: GaugeChartOptionsEditorProps): ReactElement { const { onChange, value } = props; - /* If legend setting doesn't exist (because it is optional), the legend should show by default + /* If legend setting doesn't exist (because it is optional), the legend should show by default This is for the records before the legend option was added */ const showLegend = value?.legend?.show ?? true; diff --git a/gaugechart/src/GaugeChartPanel.tsx b/gaugechart/src/GaugeChartPanel.tsx index 3ee76faea..5b84a064d 100644 --- a/gaugechart/src/GaugeChartPanel.tsx +++ b/gaugechart/src/GaugeChartPanel.tsx @@ -14,18 +14,19 @@ import { Box, Skeleton, Stack } from '@mui/material'; import { FormatOptions, formatValue, useChartsTheme } from '@perses-dev/components'; import { CalculationsMap, DEFAULT_CALCULATION, PanelProps } from '@perses-dev/plugin-system'; +import { TimeSeriesData } from '@perses-dev/spec'; import type { GaugeSeriesOption } from 'echarts'; import merge from 'lodash/merge'; import { ReactElement, useMemo } from 'react'; -import { TimeSeriesData } from '@perses-dev/spec'; + import { DEFAULT_FORMAT, DEFAULT_MAX_PERCENT, DEFAULT_MAX_PERCENT_DECIMAL, GaugeChartOptions, } from './gauge-chart-model'; -import { convertThresholds, defaultThresholdInput } from './thresholds'; import { GaugeChartBase, GaugeSeries } from './GaugeChartBase'; +import { convertThresholds, defaultThresholdInput } from './thresholds'; const EMPTY_GAUGE_SERIES: GaugeSeries = { label: '', value: undefined }; const GAUGE_MIN_WIDTH = 90; diff --git a/gaugechart/src/getPluginModule.ts b/gaugechart/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/gaugechart/src/getPluginModule.ts +++ b/gaugechart/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/greptimedb/jest.config.ts b/greptimedb/jest.config.ts index 5190fb4de..16027133b 100644 --- a/greptimedb/jest.config.ts +++ b/greptimedb/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/greptimedb/package.json b/greptimedb/package.json index 6353b7e91..1231e2133 100644 --- a/greptimedb/package.json +++ b/greptimedb/package.json @@ -2,6 +2,15 @@ "name": "@perses-dev/greptimedb-plugin", "version": "0.1.0-beta.0", "license": "Apache-2.0", + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -9,21 +18,18 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", "@hookform/resolvers": "^3.2.0", + "@perses-dev/client": "^0.54.0-beta.7", "@perses-dev/components": "^0.54.0-beta.7", "@perses-dev/dashboards": "^0.54.0-beta.7", "@perses-dev/plugin-system": "^0.54.0-beta.7", - "@perses-dev/client": "^0.54.0-beta.7", "@perses-dev/spec": "^0.2.0-beta.2", "@tanstack/react-query": "^4.39.1", "date-fns": "^4.1.0", @@ -36,12 +42,6 @@ "react-hook-form": "^7.52.2", "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "moduleName": "GreptimeDB", "schemasPath": "schemas", diff --git a/greptimedb/rsbuild.config.ts b/greptimedb/rsbuild.config.ts index 6eb97d4ab..0c397105f 100644 --- a/greptimedb/rsbuild.config.ts +++ b/greptimedb/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/greptimedb/src/components/GreptimeDBQLEditor.tsx b/greptimedb/src/components/GreptimeDBQLEditor.tsx index 64342ebea..db0d21715 100644 --- a/greptimedb/src/components/GreptimeDBQLEditor.tsx +++ b/greptimedb/src/components/GreptimeDBQLEditor.tsx @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import CodeMirror, { ReactCodeMirrorProps } from '@uiw/react-codemirror'; import { EditorView } from '@codemirror/view'; import { InputLabel, Stack, useTheme } from '@mui/material'; +import CodeMirror, { ReactCodeMirrorProps } from '@uiw/react-codemirror'; import { ReactElement } from 'react'; export function GreptimeDBQLEditor(props: ReactCodeMirrorProps): ReactElement { diff --git a/greptimedb/src/datasources/greptimedb-datasource/GreptimeDBDatasource.tsx b/greptimedb/src/datasources/greptimedb-datasource/GreptimeDBDatasource.tsx index 64a011706..2354c426c 100644 --- a/greptimedb/src/datasources/greptimedb-datasource/GreptimeDBDatasource.tsx +++ b/greptimedb/src/datasources/greptimedb-datasource/GreptimeDBDatasource.tsx @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourcePlugin } from '@perses-dev/plugin-system'; + import { greptimedbQuery } from '../../model/greptimedb-client'; import { GreptimeDBDatasourceClient, GreptimeDBDatasourceSpec } from './greptimedb-datasource-types'; import { GreptimeDBDatasourceEditor } from './GreptimeDBDatasourceEditor'; diff --git a/greptimedb/src/datasources/greptimedb-datasource/GreptimeDBDatasourceEditor.tsx b/greptimedb/src/datasources/greptimedb-datasource/GreptimeDBDatasourceEditor.tsx index 4d3e78d72..379bd1d4f 100644 --- a/greptimedb/src/datasources/greptimedb-datasource/GreptimeDBDatasourceEditor.tsx +++ b/greptimedb/src/datasources/greptimedb-datasource/GreptimeDBDatasourceEditor.tsx @@ -13,6 +13,7 @@ import { HTTPSettingsEditor } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; + import { GreptimeDBDatasourceSpec } from './greptimedb-datasource-types'; export interface GreptimeDBDatasourceEditorProps { diff --git a/greptimedb/src/datasources/greptimedb-datasource/greptimedb-datasource-types.ts b/greptimedb/src/datasources/greptimedb-datasource/greptimedb-datasource-types.ts index 46d0ab282..fb5c98a2a 100644 --- a/greptimedb/src/datasources/greptimedb-datasource/greptimedb-datasource-types.ts +++ b/greptimedb/src/datasources/greptimedb-datasource/greptimedb-datasource-types.ts @@ -11,10 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { DatasourceClient } from '@perses-dev/plugin-system'; - import { RequestHeaders } from '@perses-dev/client'; +import { DatasourceClient } from '@perses-dev/plugin-system'; import { HTTPProxy } from '@perses-dev/spec'; + import { GreptimeDBResponseData } from '../../model/greptimedb-data-types'; export interface GreptimeDBDatasourceSpec { diff --git a/greptimedb/src/getPluginModule.ts b/greptimedb/src/getPluginModule.ts index cab8b384b..515511f2f 100644 --- a/greptimedb/src/getPluginModule.ts +++ b/greptimedb/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/greptimedb/src/model/greptimedb-client.ts b/greptimedb/src/model/greptimedb-client.ts index e5eb67b09..f77ce0835 100644 --- a/greptimedb/src/model/greptimedb-client.ts +++ b/greptimedb/src/model/greptimedb-client.ts @@ -12,6 +12,7 @@ // limitations under the License. import { RequestHeaders } from '@perses-dev/client'; + import { GreptimeDBDatasourceResponse, GreptimeDBQueryRequestParameters } from '../datasources/greptimedb-datasource'; import { GreptimeDBResponseData } from './greptimedb-data-types'; diff --git a/greptimedb/src/queries/greptimedb-log-query/GreptimeDBLogQuery.tsx b/greptimedb/src/queries/greptimedb-log-query/GreptimeDBLogQuery.tsx index ec3247161..38ceb2ea2 100644 --- a/greptimedb/src/queries/greptimedb-log-query/GreptimeDBLogQuery.tsx +++ b/greptimedb/src/queries/greptimedb-log-query/GreptimeDBLogQuery.tsx @@ -12,8 +12,9 @@ // limitations under the License. import { parseVariables } from '@perses-dev/plugin-system'; -import { GreptimeDBLogQuerySpec } from './greptimedb-log-query-types'; + import { getGreptimeDBLogData } from './get-greptimedb-log-data'; +import { GreptimeDBLogQuerySpec } from './greptimedb-log-query-types'; import { GreptimeDBLogQueryEditor } from './GreptimeDBLogQueryEditor'; import { LogQueryPlugin } from './log-query-plugin-interface'; diff --git a/greptimedb/src/queries/greptimedb-log-query/GreptimeDBLogQueryEditor.tsx b/greptimedb/src/queries/greptimedb-log-query/GreptimeDBLogQueryEditor.tsx index 003cc6f54..321855d7e 100644 --- a/greptimedb/src/queries/greptimedb-log-query/GreptimeDBLogQueryEditor.tsx +++ b/greptimedb/src/queries/greptimedb-log-query/GreptimeDBLogQueryEditor.tsx @@ -11,18 +11,19 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { Stack, useTheme } from '@mui/material'; import { DatasourceSelect, DatasourceSelectProps, isVariableDatasource, OptionsEditorProps, } from '@perses-dev/plugin-system'; -import { ReactElement, useCallback } from 'react'; import { produce } from 'immer'; -import { Stack, useTheme } from '@mui/material'; -import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; +import { ReactElement, useCallback } from 'react'; + import { GreptimeDBQLEditor } from '../../components'; import { queryExample } from '../../components/constants'; +import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; import { useQueryState } from '../query-editor-model'; import { GreptimeDBLogQuerySpec } from './greptimedb-log-query-types'; diff --git a/greptimedb/src/queries/greptimedb-log-query/get-greptimedb-log-data.ts b/greptimedb/src/queries/greptimedb-log-query/get-greptimedb-log-data.ts index a8b948f1e..9a2b66320 100644 --- a/greptimedb/src/queries/greptimedb-log-query/get-greptimedb-log-data.ts +++ b/greptimedb/src/queries/greptimedb-log-query/get-greptimedb-log-data.ts @@ -12,6 +12,7 @@ // limitations under the License. import { LogData, LogEntry } from '@perses-dev/spec'; + import { GreptimeDBClient, GreptimeDBQueryResponse } from '../../model/greptimedb-client'; import { DEFAULT_DATASOURCE } from '../constants'; import { diff --git a/greptimedb/src/queries/greptimedb-log-query/greptimedb-log-query-types.test.ts b/greptimedb/src/queries/greptimedb-log-query/greptimedb-log-query-types.test.ts index f58b66429..de5961ea6 100644 --- a/greptimedb/src/queries/greptimedb-log-query/greptimedb-log-query-types.test.ts +++ b/greptimedb/src/queries/greptimedb-log-query/greptimedb-log-query-types.test.ts @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourceSpec } from '@perses-dev/spec'; + import { GreptimeDBDatasource, GreptimeDBDatasourceSpec } from '../../datasources'; import { GreptimeDBQueryResponse } from '../../model/greptimedb-client'; import { GreptimeDBLogQuery } from './GreptimeDBLogQuery'; diff --git a/greptimedb/src/queries/greptimedb-query-data-model.ts b/greptimedb/src/queries/greptimedb-query-data-model.ts index ae492b686..d10e0f457 100644 --- a/greptimedb/src/queries/greptimedb-query-data-model.ts +++ b/greptimedb/src/queries/greptimedb-query-data-model.ts @@ -13,6 +13,7 @@ import { replaceVariables, VariableStateMap } from '@perses-dev/plugin-system'; import { AbsoluteTimeRange } from '@perses-dev/spec'; + import { GreptimeDBColumnSchema, GreptimeDBRecords, GreptimeDBResponseData } from '../model/greptimedb-data-types'; export type { GreptimeDBColumnSchema, GreptimeDBRecords, GreptimeDBResponseData }; diff --git a/greptimedb/src/queries/greptimedb-time-series-query/GreptimeDBQuery.tsx b/greptimedb/src/queries/greptimedb-time-series-query/GreptimeDBQuery.tsx index 89bc7728f..65d83309d 100644 --- a/greptimedb/src/queries/greptimedb-time-series-query/GreptimeDBQuery.tsx +++ b/greptimedb/src/queries/greptimedb-time-series-query/GreptimeDBQuery.tsx @@ -12,8 +12,9 @@ // limitations under the License. import { parseVariables, TimeSeriesQueryPlugin } from '@perses-dev/plugin-system'; -import { GreptimeDBTimeSeriesQuerySpec } from './greptimedb-query-types'; + import { getTimeSeriesData } from './get-greptimedb-data'; +import { GreptimeDBTimeSeriesQuerySpec } from './greptimedb-query-types'; import { GreptimeDBTimeSeriesQueryEditor } from './GreptimeDBQueryEditor'; export const GreptimeDBTimeSeriesQuery: TimeSeriesQueryPlugin = { diff --git a/greptimedb/src/queries/greptimedb-time-series-query/GreptimeDBQueryEditor.tsx b/greptimedb/src/queries/greptimedb-time-series-query/GreptimeDBQueryEditor.tsx index 833973387..5a514b812 100644 --- a/greptimedb/src/queries/greptimedb-time-series-query/GreptimeDBQueryEditor.tsx +++ b/greptimedb/src/queries/greptimedb-time-series-query/GreptimeDBQueryEditor.tsx @@ -11,18 +11,19 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { Stack } from '@mui/material'; import { DatasourceSelect, DatasourceSelectProps, isVariableDatasource, OptionsEditorProps, } from '@perses-dev/plugin-system'; -import { ReactElement, useCallback } from 'react'; import { produce } from 'immer'; -import { Stack } from '@mui/material'; -import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; +import { ReactElement, useCallback } from 'react'; + import { GreptimeDBQLEditor } from '../../components'; import { queryExample } from '../../components/constants'; +import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; import { useQueryState } from '../query-editor-model'; import { GreptimeDBTimeSeriesQuerySpec } from './greptimedb-query-types'; diff --git a/greptimedb/src/queries/greptimedb-time-series-query/get-greptimedb-data.ts b/greptimedb/src/queries/greptimedb-time-series-query/get-greptimedb-data.ts index 50b3a4537..879feb719 100644 --- a/greptimedb/src/queries/greptimedb-time-series-query/get-greptimedb-data.ts +++ b/greptimedb/src/queries/greptimedb-time-series-query/get-greptimedb-data.ts @@ -12,6 +12,7 @@ // limitations under the License. import { TimeSeriesQueryPlugin } from '@perses-dev/plugin-system'; + import { GreptimeDBClient, GreptimeDBQueryResponse } from '../../model/greptimedb-client'; import { DEFAULT_DATASOURCE } from '../constants'; import { diff --git a/greptimedb/src/queries/greptimedb-time-series-query/greptimedb-query-types.test.ts b/greptimedb/src/queries/greptimedb-time-series-query/greptimedb-query-types.test.ts index 4ed391e3d..6e2ec85d0 100644 --- a/greptimedb/src/queries/greptimedb-time-series-query/greptimedb-query-types.test.ts +++ b/greptimedb/src/queries/greptimedb-time-series-query/greptimedb-query-types.test.ts @@ -13,6 +13,7 @@ import { TimeSeriesQueryContext } from '@perses-dev/plugin-system'; import { DatasourceSpec } from '@perses-dev/spec'; + import { GreptimeDBDatasource, GreptimeDBDatasourceSpec } from '../../datasources'; import { GreptimeDBQueryResponse } from '../../model/greptimedb-client'; import { GreptimeDBTimeSeriesQuery } from './GreptimeDBQuery'; diff --git a/greptimedb/src/queries/greptimedb-trace-query/GreptimeDBTraceQuery.tsx b/greptimedb/src/queries/greptimedb-trace-query/GreptimeDBTraceQuery.tsx index 5ec9d9028..3bc023f5a 100644 --- a/greptimedb/src/queries/greptimedb-trace-query/GreptimeDBTraceQuery.tsx +++ b/greptimedb/src/queries/greptimedb-trace-query/GreptimeDBTraceQuery.tsx @@ -12,8 +12,9 @@ // limitations under the License. import { parseVariables, TraceQueryPlugin } from '@perses-dev/plugin-system'; -import { GreptimeDBTraceQuerySpec } from './greptimedb-trace-query-types'; + import { getGreptimeDBTraceData } from './get-greptimedb-trace-data'; +import { GreptimeDBTraceQuerySpec } from './greptimedb-trace-query-types'; import { GreptimeDBTraceQueryEditor } from './GreptimeDBTraceQueryEditor'; export const GreptimeDBTraceQuery: TraceQueryPlugin = { diff --git a/greptimedb/src/queries/greptimedb-trace-query/GreptimeDBTraceQueryEditor.tsx b/greptimedb/src/queries/greptimedb-trace-query/GreptimeDBTraceQueryEditor.tsx index 360de9194..f29652fc6 100644 --- a/greptimedb/src/queries/greptimedb-trace-query/GreptimeDBTraceQueryEditor.tsx +++ b/greptimedb/src/queries/greptimedb-trace-query/GreptimeDBTraceQueryEditor.tsx @@ -12,14 +12,15 @@ // limitations under the License. import { Stack } from '@mui/material'; -import { produce } from 'immer'; import { DatasourceSelect, DatasourceSelectProps, isVariableDatasource, OptionsEditorProps, } from '@perses-dev/plugin-system'; +import { produce } from 'immer'; import { ReactElement, useCallback } from 'react'; + import { GreptimeDBQLEditor } from '../../components'; import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; import { useQueryState } from '../query-editor-model'; diff --git a/greptimedb/src/queries/greptimedb-trace-query/get-greptimedb-trace-data.ts b/greptimedb/src/queries/greptimedb-trace-query/get-greptimedb-trace-data.ts index 6e4c8914a..cdd7918cd 100644 --- a/greptimedb/src/queries/greptimedb-trace-query/get-greptimedb-trace-data.ts +++ b/greptimedb/src/queries/greptimedb-trace-query/get-greptimedb-trace-data.ts @@ -13,8 +13,9 @@ import { replaceVariables, TraceQueryPlugin } from '@perses-dev/plugin-system'; import { TraceSearchResult } from '@perses-dev/spec'; -import * as otlptracev1 from '@perses-dev/spec/dist/dashboard/query-type/otlp/trace/v1/trace'; import * as otlpcommonv1 from '@perses-dev/spec/dist/dashboard/query-type/otlp/common/v1/common'; +import * as otlptracev1 from '@perses-dev/spec/dist/dashboard/query-type/otlp/trace/v1/trace'; + import { GreptimeDBClient, GreptimeDBQueryResponse } from '../../model/greptimedb-client'; import { DEFAULT_DATASOURCE } from '../constants'; import { diff --git a/greptimedb/src/queries/greptimedb-trace-query/greptimedb-trace-query.test.ts b/greptimedb/src/queries/greptimedb-trace-query/greptimedb-trace-query.test.ts index 987c33c5c..ee69c7f2e 100644 --- a/greptimedb/src/queries/greptimedb-trace-query/greptimedb-trace-query.test.ts +++ b/greptimedb/src/queries/greptimedb-trace-query/greptimedb-trace-query.test.ts @@ -13,6 +13,7 @@ import { TraceQueryContext } from '@perses-dev/plugin-system'; import { DatasourceSpec } from '@perses-dev/spec'; + import { GreptimeDBDatasource, GreptimeDBDatasourceSpec } from '../../datasources'; import { GreptimeDBQueryResponse } from '../../model/greptimedb-client'; import { GreptimeDBTraceQuery } from './GreptimeDBTraceQuery'; diff --git a/heatmapchart/jest.config.ts b/heatmapchart/jest.config.ts index 5190fb4de..16027133b 100644 --- a/heatmapchart/jest.config.ts +++ b/heatmapchart/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/heatmapchart/package.json b/heatmapchart/package.json index d18ea040c..b9f42ee48 100644 --- a/heatmapchart/package.json +++ b/heatmapchart/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/heatmap-chart-plugin", "version": "0.5.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,29 +26,20 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@perses-dev/components": "^0.54.0-beta.7", "@perses-dev/plugin-system": "^0.54.0-beta.7", "@perses-dev/spec": "^0.2.0-beta.2", "echarts": "5.5.0", + "immer": "^10.1.1", "lodash": "^4.17.21", "react": "^17.0.2 || ^18.0.0", - "react-dom": "^17.0.2 || ^18.0.0", - "immer": "^10.1.1" + "react-dom": "^17.0.2 || ^18.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/heatmapchart/rsbuild.config.ts b/heatmapchart/rsbuild.config.ts index 920658ca0..22abfc9d5 100644 --- a/heatmapchart/rsbuild.config.ts +++ b/heatmapchart/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/heatmapchart/src/HeatMapChart.ts b/heatmapchart/src/HeatMapChart.ts index 58b581327..af8ec88b5 100644 --- a/heatmapchart/src/HeatMapChart.ts +++ b/heatmapchart/src/HeatMapChart.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; + import { HeatMapChartOptionsEditorSettings, HeatMapChartPanel, HeatMapChartPanelProps } from './components'; import { createInitialHeatMapChartOptions, HeatMapChartOptions } from './heat-map-chart-model'; diff --git a/heatmapchart/src/components/HeatMapChart.tsx b/heatmapchart/src/components/HeatMapChart.tsx index a52cf9dc4..341a0d329 100644 --- a/heatmapchart/src/components/HeatMapChart.tsx +++ b/heatmapchart/src/components/HeatMapChart.tsx @@ -11,14 +11,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, useMemo } from 'react'; +import { useTheme } from '@mui/material'; import { EChart, FormatOptions, formatValue, useChartsTheme, useTimeZone } from '@perses-dev/components'; -import { use, EChartsCoreOption } from 'echarts/core'; -import { CustomChart } from 'echarts/charts'; +import { TimeScale } from '@perses-dev/spec'; import type { CustomSeriesRenderItemAPI, CustomSeriesRenderItemParams } from 'echarts'; -import { useTheme } from '@mui/material'; +import { CustomChart } from 'echarts/charts'; +import { use, EChartsCoreOption } from 'echarts/core'; import { CustomSeriesRenderItemReturn } from 'echarts/types/dist/echarts'; -import { TimeScale } from '@perses-dev/spec'; +import { ReactElement, useMemo } from 'react'; + import { LOG_BASE } from '../heat-map-chart-model'; import { getFormattedHeatmapAxisLabel } from '../utils'; import { generateTooltipHTML } from './HeatMapTooltip'; diff --git a/heatmapchart/src/components/HeatMapChartOptionsEditorSettings.test.tsx b/heatmapchart/src/components/HeatMapChartOptionsEditorSettings.test.tsx index 3a5d768b6..a4d8d3124 100644 --- a/heatmapchart/src/components/HeatMapChartOptionsEditorSettings.test.tsx +++ b/heatmapchart/src/components/HeatMapChartOptionsEditorSettings.test.tsx @@ -15,6 +15,7 @@ import { ChartsProvider, testChartsTheme } from '@perses-dev/components'; import { fireEvent, render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React, { act } from 'react'; + import { DEFAULT_FORMAT, HeatMapChartOptions } from '../heat-map-chart-model'; import { HeatMapChartOptionsEditorSettings } from './HeatMapChartOptionsEditorSettings'; diff --git a/heatmapchart/src/components/HeatMapChartOptionsEditorSettings.tsx b/heatmapchart/src/components/HeatMapChartOptionsEditorSettings.tsx index 9abc76be4..d19f36eb7 100644 --- a/heatmapchart/src/components/HeatMapChartOptionsEditorSettings.tsx +++ b/heatmapchart/src/components/HeatMapChartOptionsEditorSettings.tsx @@ -24,6 +24,7 @@ import { import { produce } from 'immer'; import merge from 'lodash/merge'; import { ReactElement } from 'react'; + import { DEFAULT_FORMAT, HeatMapChartOptions, diff --git a/heatmapchart/src/components/HeatMapChartPanel.tsx b/heatmapchart/src/components/HeatMapChartPanel.tsx index 4c8ec7751..8795e280a 100644 --- a/heatmapchart/src/components/HeatMapChartPanel.tsx +++ b/heatmapchart/src/components/HeatMapChartPanel.tsx @@ -13,9 +13,10 @@ import { Stack, Typography } from '@mui/material'; import { PanelProps } from '@perses-dev/plugin-system'; +import { TimeScale, TimeSeries, TimeSeriesData } from '@perses-dev/spec'; import merge from 'lodash/merge'; import { ReactElement, useMemo } from 'react'; -import { TimeScale, TimeSeries, TimeSeriesData } from '@perses-dev/spec'; + import { DEFAULT_FORMAT, HeatMapChartOptions, LOG_BASE } from '../heat-map-chart-model'; import { generateCompleteTimestamps, getCommonTimeScaleForQueries } from '../utils'; import { HeatMapChart, HeatMapDataItem } from './HeatMapChart'; diff --git a/heatmapchart/src/components/HeatMapTooltip.ts b/heatmapchart/src/components/HeatMapTooltip.ts index d6bac4a0e..c84f04f01 100644 --- a/heatmapchart/src/components/HeatMapTooltip.ts +++ b/heatmapchart/src/components/HeatMapTooltip.ts @@ -13,6 +13,7 @@ import { css, Theme } from '@mui/material'; import { FormatOptions, formatValue, getDateAndTime } from '@perses-dev/components'; + import { HeatMapData } from './HeatMapChart'; interface CustomTooltipProps { diff --git a/heatmapchart/src/getPluginModule.ts b/heatmapchart/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/heatmapchart/src/getPluginModule.ts +++ b/heatmapchart/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/histogramchart/jest.config.ts b/histogramchart/jest.config.ts index 5190fb4de..16027133b 100644 --- a/histogramchart/jest.config.ts +++ b/histogramchart/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/histogramchart/package.json b/histogramchart/package.json index 290a73d4b..f2419e590 100644 --- a/histogramchart/package.json +++ b/histogramchart/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/histogram-chart-plugin", "version": "0.12.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,29 +26,20 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@perses-dev/components": "^0.54.0-beta.7", "@perses-dev/plugin-system": "^0.54.0-beta.7", "@perses-dev/spec": "^0.2.0-beta.2", "echarts": "5.5.0", + "immer": "^10.1.1", "lodash": "^4.17.21", "react": "^17.0.2 || ^18.0.0", - "react-dom": "^17.0.2 || ^18.0.0", - "immer": "^10.1.1" + "react-dom": "^17.0.2 || ^18.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/histogramchart/rsbuild.config.ts b/histogramchart/rsbuild.config.ts index f5c41edbf..2e35852de 100644 --- a/histogramchart/rsbuild.config.ts +++ b/histogramchart/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/histogramchart/src/HistogramChart.ts b/histogramchart/src/HistogramChart.ts index e2e2f0767..d12ad1861 100644 --- a/histogramchart/src/HistogramChart.ts +++ b/histogramchart/src/HistogramChart.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; + import { HistogramChartOptionsEditorSettings, HistogramChartPanel, HistogramChartPanelProps } from './components'; import { createInitialHistogramChartOptions, HistogramChartOptions } from './histogram-chart-model'; diff --git a/histogramchart/src/components/HistogramChart.tsx b/histogramchart/src/components/HistogramChart.tsx index 5266389c6..8a98f61de 100644 --- a/histogramchart/src/components/HistogramChart.tsx +++ b/histogramchart/src/components/HistogramChart.tsx @@ -11,15 +11,16 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, useMemo } from 'react'; import { EChart, FormatOptions, getFormattedAxis, ThresholdOptions, useChartsTheme } from '@perses-dev/components'; -import { use, EChartsCoreOption } from 'echarts/core'; +import { BucketTuple } from '@perses-dev/spec'; import { CustomSeriesRenderItemAPI, CustomSeriesRenderItemParams } from 'echarts'; import { CustomChart } from 'echarts/charts'; +import { use, EChartsCoreOption } from 'echarts/core'; import { CustomSeriesRenderItemReturn } from 'echarts/types/dist/echarts'; -import { BucketTuple } from '@perses-dev/spec'; -import { getColorFromThresholds } from '../utils'; +import { ReactElement, useMemo } from 'react'; + import { LOG_BASE } from '../histogram-chart-model'; +import { getColorFromThresholds } from '../utils'; use([CustomChart]); diff --git a/histogramchart/src/components/HistogramChartOptionsEditorSettings.test.tsx b/histogramchart/src/components/HistogramChartOptionsEditorSettings.test.tsx index f1227e6d4..acf0a3c84 100644 --- a/histogramchart/src/components/HistogramChartOptionsEditorSettings.test.tsx +++ b/histogramchart/src/components/HistogramChartOptionsEditorSettings.test.tsx @@ -14,6 +14,7 @@ import { ChartsProvider, testChartsTheme } from '@perses-dev/components'; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; + import { HistogramChartOptions } from '../histogram-chart-model'; import { HistogramChartOptionsEditorSettings } from './HistogramChartOptionsEditorSettings'; diff --git a/histogramchart/src/components/HistogramChartOptionsEditorSettings.tsx b/histogramchart/src/components/HistogramChartOptionsEditorSettings.tsx index 76ca54259..ca8789656 100644 --- a/histogramchart/src/components/HistogramChartOptionsEditorSettings.tsx +++ b/histogramchart/src/components/HistogramChartOptionsEditorSettings.tsx @@ -26,6 +26,7 @@ import { import { produce } from 'immer'; import merge from 'lodash/merge'; import { ReactElement } from 'react'; + import { DEFAULT_FORMAT, DEFAULT_MAX_PERCENT, diff --git a/histogramchart/src/components/HistogramChartPanel.tsx b/histogramchart/src/components/HistogramChartPanel.tsx index c4f1483ac..4ad6acfe3 100644 --- a/histogramchart/src/components/HistogramChartPanel.tsx +++ b/histogramchart/src/components/HistogramChartPanel.tsx @@ -12,11 +12,12 @@ // limitations under the License. import { Box, Stack, Typography } from '@mui/material'; +import { useChartsTheme } from '@perses-dev/components'; import { PanelProps } from '@perses-dev/plugin-system'; +import { TimeSeriesData } from '@perses-dev/spec'; import merge from 'lodash/merge'; import { ReactElement, useMemo } from 'react'; -import { useChartsTheme } from '@perses-dev/components'; -import { TimeSeriesData } from '@perses-dev/spec'; + import { DEFAULT_FORMAT, DEFAULT_THRESHOLDS, HistogramChartOptions } from '../histogram-chart-model'; import { HistogramChart, HistogramChartData } from './HistogramChart'; diff --git a/histogramchart/src/getPluginModule.ts b/histogramchart/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/histogramchart/src/getPluginModule.ts +++ b/histogramchart/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/jaeger/jest.config.ts b/jaeger/jest.config.ts index 602ff9f7b..89782643e 100644 --- a/jaeger/jest.config.ts +++ b/jaeger/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/jaeger/package.json b/jaeger/package.json index 8e7ddd9f7..41c29cd90 100644 --- a/jaeger/package.json +++ b/jaeger/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/jaeger-plugin", "version": "0.1.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,22 +26,19 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", "@hookform/resolvers": "^3.2.0", + "@perses-dev/client": "^0.54.0-beta.7", "@perses-dev/components": "^0.54.0-beta.7", "@perses-dev/dashboards": "^0.54.0-beta.7", "@perses-dev/explore": "^0.54.0-beta.7", "@perses-dev/plugin-system": "^0.54.0-beta.7", - "@perses-dev/client": "^0.54.0-beta.7", "@perses-dev/spec": "^0.2.0-beta.2", "@tanstack/react-query": "^4.39.1", "date-fns": "^4.1.0", @@ -45,12 +51,6 @@ "react-hook-form": "^7.52.2", "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/jaeger/rsbuild.config.ts b/jaeger/rsbuild.config.ts index 46f085879..a5b33d048 100644 --- a/jaeger/rsbuild.config.ts +++ b/jaeger/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/jaeger/src/getPluginModule.ts b/jaeger/src/getPluginModule.ts index 2bf440477..2c762611b 100644 --- a/jaeger/src/getPluginModule.ts +++ b/jaeger/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; export function getPluginModule(): PluginModuleResource { diff --git a/jaeger/src/model/jaeger-client.ts b/jaeger/src/model/jaeger-client.ts index 676ad06f1..cbb3bf976 100644 --- a/jaeger/src/model/jaeger-client.ts +++ b/jaeger/src/model/jaeger-client.ts @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { DatasourceClient } from '@perses-dev/plugin-system'; import { RequestHeaders } from '@perses-dev/client'; +import { DatasourceClient } from '@perses-dev/plugin-system'; + import { JaegerApiResponse, JaegerOperation, JaegerSearchRequestParameters, JaegerTrace } from './api-types'; interface JaegerClientOptions { diff --git a/jaeger/src/model/trace-query-model.ts b/jaeger/src/model/trace-query-model.ts index 5c682a03f..159e1f6f3 100644 --- a/jaeger/src/model/trace-query-model.ts +++ b/jaeger/src/model/trace-query-model.ts @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourceSelectValue } from '@perses-dev/plugin-system'; + import { JaegerDatasourceSelector } from './jaeger-selectors'; export interface JaegerTraceQuerySpec { diff --git a/jaeger/src/plugins/JaegerDatasourceEditor.tsx b/jaeger/src/plugins/JaegerDatasourceEditor.tsx index ce51c9160..864d8a240 100644 --- a/jaeger/src/plugins/JaegerDatasourceEditor.tsx +++ b/jaeger/src/plugins/JaegerDatasourceEditor.tsx @@ -13,6 +13,7 @@ import { HTTPSettingsEditor } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; + import { JaegerDatasourceSpec } from './jaeger-datasource-types'; export interface JaegerDatasourceEditorProps { diff --git a/jaeger/src/plugins/JaegerTraceQuery.ts b/jaeger/src/plugins/JaegerTraceQuery.ts index 58403bcb6..efdabfbc3 100644 --- a/jaeger/src/plugins/JaegerTraceQuery.ts +++ b/jaeger/src/plugins/JaegerTraceQuery.ts @@ -12,6 +12,7 @@ // limitations under the License. import { isVariableDatasource, parseVariables, TraceQueryPlugin } from '@perses-dev/plugin-system'; + import { JaegerTraceQuerySpec } from '../model'; import { getTraceData } from './get-trace-data'; import { JaegerTraceQueryEditor } from './JaegerTraceQueryEditor'; diff --git a/jaeger/src/plugins/JaegerTraceQueryEditor.test.tsx b/jaeger/src/plugins/JaegerTraceQueryEditor.test.tsx index f9e8430a2..d6be24308 100644 --- a/jaeger/src/plugins/JaegerTraceQueryEditor.test.tsx +++ b/jaeger/src/plugins/JaegerTraceQueryEditor.test.tsx @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { fireEvent, render, screen, waitFor } from '@testing-library/react'; import { useDatasourceClient, useDatasourceSelectValueToSelector } from '@perses-dev/plugin-system'; +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; + import { JaegerTraceQueryEditor } from './JaegerTraceQueryEditor'; jest.mock('@perses-dev/components', () => ({ diff --git a/jaeger/src/plugins/JaegerTraceQueryEditor.tsx b/jaeger/src/plugins/JaegerTraceQueryEditor.tsx index 4c654a635..4997ebfc8 100644 --- a/jaeger/src/plugins/JaegerTraceQueryEditor.tsx +++ b/jaeger/src/plugins/JaegerTraceQueryEditor.tsx @@ -30,6 +30,7 @@ import { } from '@perses-dev/plugin-system'; import { produce } from 'immer'; import { ChangeEvent, ReactElement, SyntheticEvent, useCallback, useEffect, useMemo, useState } from 'react'; + import { DEFAULT_JAEGER, JaegerClient, diff --git a/jaeger/src/plugins/get-trace-data.test.ts b/jaeger/src/plugins/get-trace-data.test.ts index 4848f90ff..e24b7eee9 100644 --- a/jaeger/src/plugins/get-trace-data.test.ts +++ b/jaeger/src/plugins/get-trace-data.test.ts @@ -13,9 +13,10 @@ import { replaceVariables, TraceQueryContext } from '@perses-dev/plugin-system'; import { DatasourceSpec } from '@perses-dev/spec'; + import { JaegerClient } from '../model'; -import { JaegerDatasource } from './jaeger-datasource'; import { getTraceData, jaegerTraceToOTLP } from './get-trace-data'; +import { JaegerDatasource } from './jaeger-datasource'; jest.mock('@perses-dev/plugin-system', () => { const actual = jest.requireActual('@perses-dev/plugin-system'); diff --git a/jaeger/src/plugins/get-trace-data.ts b/jaeger/src/plugins/get-trace-data.ts index 31537969c..568a11fc5 100644 --- a/jaeger/src/plugins/get-trace-data.ts +++ b/jaeger/src/plugins/get-trace-data.ts @@ -18,8 +18,9 @@ import { VariableStateMap, } from '@perses-dev/plugin-system'; import { AbsoluteTimeRange, Notice, TraceSearchResult } from '@perses-dev/spec'; -import * as otlptracev1 from '@perses-dev/spec/dist/dashboard/query-type/otlp/trace/v1/trace'; import * as otlpcommonv1 from '@perses-dev/spec/dist/dashboard/query-type/otlp/common/v1/common'; +import * as otlptracev1 from '@perses-dev/spec/dist/dashboard/query-type/otlp/trace/v1/trace'; + import { DEFAULT_JAEGER, DEFAULT_SEARCH_LIMIT, diff --git a/jaeger/src/plugins/jaeger-datasource.tsx b/jaeger/src/plugins/jaeger-datasource.tsx index bb29231b1..9f8870bd6 100644 --- a/jaeger/src/plugins/jaeger-datasource.tsx +++ b/jaeger/src/plugins/jaeger-datasource.tsx @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourcePlugin } from '@perses-dev/plugin-system'; + import { getTrace, JaegerClient, searchOperations, searchServices, searchTraces } from '../model'; import { JaegerDatasourceSpec } from './jaeger-datasource-types'; import { JaegerDatasourceEditor } from './JaegerDatasourceEditor'; diff --git a/jest.shared.ts b/jest.shared.ts index a09696422..8d4f4079b 100644 --- a/jest.shared.ts +++ b/jest.shared.ts @@ -13,6 +13,7 @@ import { readFileSync } from 'fs'; import { resolve } from 'path'; + import type { Config } from '@jest/types'; const swcrcPath = resolve(__dirname, './.cjs.swcrc'); diff --git a/logexplorer/jest.config.ts b/logexplorer/jest.config.ts index 13276c6cd..368681296 100644 --- a/logexplorer/jest.config.ts +++ b/logexplorer/jest.config.ts @@ -11,16 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -import type { Config } from "@jest/types"; -import shared from "../jest.shared"; +import type { Config } from '@jest/types'; + +import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { ...shared, - setupFilesAfterEnv: [ - ...(shared.setupFilesAfterEnv ?? []), - "/src/setup-tests.ts", - ], + setupFilesAfterEnv: [...(shared.setupFilesAfterEnv ?? []), '/src/setup-tests.ts'], }; export default jestConfig; diff --git a/logexplorer/package.json b/logexplorer/package.json index b22b98780..d96c088eb 100644 --- a/logexplorer/package.json +++ b/logexplorer/package.json @@ -2,13 +2,22 @@ "name": "@perses-dev/log-explorer", "version": "0.1.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -16,13 +25,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest --passWithNoTests", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "devDependencies": { "@types/qs": "^6.9.18" }, @@ -46,12 +52,6 @@ "react-hook-form": "^7.52.2", "react-router-dom": "^5 || ^6 || ^7" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "moduleName": "LogExplorer", "moduleOrg": "perses.dev", diff --git a/logexplorer/rsbuild.config.ts b/logexplorer/rsbuild.config.ts index a46647113..f4ba68952 100644 --- a/logexplorer/rsbuild.config.ts +++ b/logexplorer/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/logexplorer/src/explore/log-explorer/LogExplorer.tsx b/logexplorer/src/explore/log-explorer/LogExplorer.tsx index 83938b4e5..879f6c308 100644 --- a/logexplorer/src/explore/log-explorer/LogExplorer.tsx +++ b/logexplorer/src/explore/log-explorer/LogExplorer.tsx @@ -12,6 +12,8 @@ // limitations under the License. import { Box, Stack } from '@mui/material'; +import { Panel } from '@perses-dev/dashboards'; +import { useExplorerManagerContext } from '@perses-dev/explore'; import { DataQueriesProvider, LogQueryContext, @@ -22,11 +24,9 @@ import { usePluginRegistry, useTimeRange, } from '@perses-dev/plugin-system'; -import { ReactElement, useMemo, useState } from 'react'; import { QueryDefinition } from '@perses-dev/spec'; -import { Panel } from '@perses-dev/dashboards'; -import { useExplorerManagerContext } from '@perses-dev/explore'; import { useQuery } from '@tanstack/react-query'; +import { ReactElement, useMemo, useState } from 'react'; interface LogExplorerQueryParams { queries?: QueryDefinition[]; diff --git a/logexplorer/src/getPluginModule.ts b/logexplorer/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/logexplorer/src/getPluginModule.ts +++ b/logexplorer/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/logstable/jest.config.ts b/logstable/jest.config.ts index 44271c334..8e8bcee0d 100644 --- a/logstable/jest.config.ts +++ b/logstable/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/logstable/package.json b/logstable/package.json index 263ea64b6..1db54aee2 100644 --- a/logstable/package.json +++ b/logstable/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/logs-table-plugin", "version": "0.3.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "dependencies": { "ansi_up": "^6.0.0", "dompurify": "^3.4.8" @@ -33,8 +39,8 @@ "@emotion/styled": "^11.6.0", "@hookform/resolvers": "^3.2.0", "@perses-dev/components": "^0.54.0-beta.7", - "@perses-dev/plugin-system": "^0.54.0-beta.7", "@perses-dev/dashboards": "^0.54.0-beta.7", + "@perses-dev/plugin-system": "^0.54.0-beta.7", "@perses-dev/spec": "^0.2.0-beta.2", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", @@ -44,12 +50,6 @@ "react-dom": "^17.0.2 || ^18.0.0", "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/logstable/rsbuild.config.ts b/logstable/rsbuild.config.ts index a275f6295..d693be18d 100644 --- a/logstable/rsbuild.config.ts +++ b/logstable/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/logstable/src/LogsTable.ts b/logstable/src/LogsTable.ts index ed63e65d6..d90ac9c2c 100644 --- a/logstable/src/LogsTable.ts +++ b/logstable/src/LogsTable.ts @@ -12,11 +12,12 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; + import { LogsTableComponent } from './LogsTableComponent'; +import { LogsTableExportAction } from './LogsTableExportAction'; import { LogsTableItemSelectionActionsEditor } from './LogsTableItemSelectionActionsEditor'; import { LogsTableSettingsEditor } from './LogsTableSettingsEditor'; import { LogsTableOptions, LogsTableProps } from './model'; -import { LogsTableExportAction } from './LogsTableExportAction'; export const LogsTable: PanelPlugin = { PanelComponent: LogsTableComponent, diff --git a/logstable/src/LogsTableComponent.tsx b/logstable/src/LogsTableComponent.tsx index fdcb99ef9..dace0a136 100644 --- a/logstable/src/LogsTableComponent.tsx +++ b/logstable/src/LogsTableComponent.tsx @@ -11,10 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; import { Box, Typography } from '@mui/material'; -import { LogsTableProps } from './model'; +import { ReactElement } from 'react'; + import { LogsList } from './components/LogsList'; +import { LogsTableProps } from './model'; export function LogsTableComponent(props: LogsTableProps): ReactElement | null { const { queryResults, spec } = props; diff --git a/logstable/src/LogsTableExportAction.tsx b/logstable/src/LogsTableExportAction.tsx index 42d0bc850..f30a41d92 100644 --- a/logstable/src/LogsTableExportAction.tsx +++ b/logstable/src/LogsTableExportAction.tsx @@ -11,11 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { InfoTooltip } from '@perses-dev/components'; import { IconButton } from '@mui/material'; -import DownloadIcon from 'mdi-material-ui/Download'; +import { InfoTooltip } from '@perses-dev/components'; import { sanitizeFilename } from '@perses-dev/plugin-system'; +import DownloadIcon from 'mdi-material-ui/Download'; import { useCallback, useMemo } from 'react'; + import { LogsTableProps } from './model'; export const LogsTableExportAction: React.FC = ({ queryResults, definition }) => { diff --git a/logstable/src/LogsTableItemSelectionActionsEditor.tsx b/logstable/src/LogsTableItemSelectionActionsEditor.tsx index e94560c7f..d0eb68196 100644 --- a/logstable/src/LogsTableItemSelectionActionsEditor.tsx +++ b/logstable/src/LogsTableItemSelectionActionsEditor.tsx @@ -13,6 +13,7 @@ import { ActionOptions, ItemSelectionActionsEditor, SelectionOptions } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; + import { LogsTableSettingsEditorProps } from './model'; export function LogsTableItemSelectionActionsEditor({ value, onChange }: LogsTableSettingsEditorProps): ReactElement { diff --git a/logstable/src/LogsTablePanel.test.tsx b/logstable/src/LogsTablePanel.test.tsx index 8a02797c7..aa795626f 100644 --- a/logstable/src/LogsTablePanel.test.tsx +++ b/logstable/src/LogsTablePanel.test.tsx @@ -22,6 +22,7 @@ import { VariableProvider } from '@perses-dev/dashboards'; import { TimeRangeProviderBasic } from '@perses-dev/plugin-system'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { fireEvent, render, screen } from '@testing-library/react'; + import { LogsTablePanel } from './LogsTablePanel'; import { LogsQueryData, LogsTableProps } from './model'; import { MOCK_LOGS_QUERY_DEFINITION, MOCK_LOGS_QUERY_RESULT, MOCK_LOGS_QUERY_RESULTS } from './test/mock-query-results'; diff --git a/logstable/src/LogsTablePanel.tsx b/logstable/src/LogsTablePanel.tsx index f32fd01c9..b624ec3c6 100644 --- a/logstable/src/LogsTablePanel.tsx +++ b/logstable/src/LogsTablePanel.tsx @@ -14,6 +14,7 @@ import { Box } from '@mui/material'; import { useChartsTheme } from '@perses-dev/components'; import { ReactElement } from 'react'; + import { LogsTableComponent } from './LogsTableComponent'; import { LogsTableProps } from './model'; diff --git a/logstable/src/LogsTableSettingsEditor.tsx b/logstable/src/LogsTableSettingsEditor.tsx index 64b56d289..8bb8dd271 100644 --- a/logstable/src/LogsTableSettingsEditor.tsx +++ b/logstable/src/LogsTableSettingsEditor.tsx @@ -19,6 +19,7 @@ import { } from '@perses-dev/components'; import { LegendOptionsEditor, LegendOptionsEditorProps, OptionsEditorProps } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; + import { LogsTableOptions } from './model'; type LogsTableSettingsEditorProps = OptionsEditorProps; diff --git a/logstable/src/components/EmptyLogsState.tsx b/logstable/src/components/EmptyLogsState.tsx index 1ef881c96..73d6d159c 100644 --- a/logstable/src/components/EmptyLogsState.tsx +++ b/logstable/src/components/EmptyLogsState.tsx @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import React from 'react'; import { Box, Typography, useTheme } from '@mui/material'; +import React from 'react'; interface EmptyLogsStateProps { message?: string; diff --git a/logstable/src/components/LogRow/LogDetailsTable.tsx b/logstable/src/components/LogRow/LogDetailsTable.tsx index 01d457b33..2aaaab8f7 100644 --- a/logstable/src/components/LogRow/LogDetailsTable.tsx +++ b/logstable/src/components/LogRow/LogDetailsTable.tsx @@ -11,10 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -import React, { useMemo } from 'react'; import { Table, TableBody, TableRow, TableCell, useTheme, alpha } from '@mui/material'; -import './ansiColors.css'; import { Labels } from '@perses-dev/spec'; + +import './ansiColors.css'; +import React, { useMemo } from 'react'; + import { ansiToSanitizedHtml } from '../../utils/ansi'; const AnsiValue: React.FC<{ value: string }> = ({ value }) => { diff --git a/logstable/src/components/LogRow/LogRow.test.tsx b/logstable/src/components/LogRow/LogRow.test.tsx index 8b12498b8..31cd69ec3 100644 --- a/logstable/src/components/LogRow/LogRow.test.tsx +++ b/logstable/src/components/LogRow/LogRow.test.tsx @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { render, screen, waitFor, fireEvent, RenderResult } from '@testing-library/react'; import { LogEntry } from '@perses-dev/spec'; +import { render, screen, waitFor, fireEvent, RenderResult } from '@testing-library/react'; + import { LogRow } from './LogRow'; // Mock clipboard API diff --git a/logstable/src/components/LogRow/LogRow.tsx b/logstable/src/components/LogRow/LogRow.tsx index 09447c6d4..6ae07dc05 100644 --- a/logstable/src/components/LogRow/LogRow.tsx +++ b/logstable/src/components/LogRow/LogRow.tsx @@ -22,6 +22,7 @@ import { Tooltip, useTheme, } from '@mui/material'; +import { LogEntry } from '@perses-dev/spec'; import Check from 'mdi-material-ui/Check'; import ChevronDown from 'mdi-material-ui/ChevronDown'; import ChevronRight from 'mdi-material-ui/ChevronRight'; @@ -29,13 +30,14 @@ import CodeJson from 'mdi-material-ui/CodeJson'; import ContentCopy from 'mdi-material-ui/ContentCopy'; import FormatQuoteClose from 'mdi-material-ui/FormatQuoteClose'; import React, { memo, ReactNode, useCallback, useEffect, useMemo, useRef, useState } from 'react'; -import { LogEntry } from '@perses-dev/spec'; + import { ansiToSanitizedHtml } from '../../utils/ansi'; import { formatLogAsJson, formatLogEntry, formatLogMessage } from '../../utils/copyHelpers'; import { useSeverityColor } from '../hooks/useSeverity'; import { LogDetailsTable } from './LogDetailsTable'; -import { LogTimestamp } from './LogTimestamp'; import { ExpandButton, LogRowContainer, LogRowContent, LogText } from './LogsStyles'; +import { LogTimestamp } from './LogTimestamp'; + import './ansiColors.css'; const COPY_SUCCESS_DURATION_MS = 1500; diff --git a/logstable/src/components/LogRow/ansiColors.css b/logstable/src/components/LogRow/ansiColors.css index 0a5d8b5be..ea7fc605f 100644 --- a/logstable/src/components/LogRow/ansiColors.css +++ b/logstable/src/components/LogRow/ansiColors.css @@ -1,93 +1,143 @@ /* Light mode defaults */ :root { - --ansi-black: #000000; - --ansi-red: #cc0000; - --ansi-green: #00aa00; - --ansi-yellow: #aa5500; - --ansi-blue: #0000aa; - --ansi-magenta: #aa00aa; - --ansi-cyan: #00aaaa; - --ansi-white: #aaaaaa; - --ansi-bright-black: #555555; - --ansi-bright-red: #ff5555; - --ansi-bright-green: #55ff55; - --ansi-bright-yellow: #ffff55; - --ansi-bright-blue: #5555ff; + --ansi-black: #000000; + --ansi-red: #cc0000; + --ansi-green: #00aa00; + --ansi-yellow: #aa5500; + --ansi-blue: #0000aa; + --ansi-magenta: #aa00aa; + --ansi-cyan: #00aaaa; + --ansi-white: #aaaaaa; + --ansi-bright-black: #555555; + --ansi-bright-red: #ff5555; + --ansi-bright-green: #55ff55; + --ansi-bright-yellow: #ffff55; + --ansi-bright-blue: #5555ff; --ansi-bright-magenta: #ff55ff; - --ansi-bright-cyan: #55ffff; - --ansi-bright-white: #ffffff; + --ansi-bright-cyan: #55ffff; + --ansi-bright-white: #ffffff; } /* Dark mode overrides — MUI sets [data-mui-color-scheme="dark"] on the root, falling back to OS preference via prefers-color-scheme */ -[data-mui-color-scheme="dark"], +[data-mui-color-scheme='dark'], .dark-mode { - --ansi-black: #555555; - --ansi-red: #ff6b6b; - --ansi-green: #69db7c; - --ansi-yellow: #ffd43b; - --ansi-blue: #74c0fc; - --ansi-magenta: #da77f2; - --ansi-cyan: #66d9e8; - --ansi-white: #ffffff; - --ansi-bright-black: #888888; - --ansi-bright-red: #ff8787; - --ansi-bright-green: #8ce99a; - --ansi-bright-yellow: #ffe066; - --ansi-bright-blue: #a5d8ff; + --ansi-black: #555555; + --ansi-red: #ff6b6b; + --ansi-green: #69db7c; + --ansi-yellow: #ffd43b; + --ansi-blue: #74c0fc; + --ansi-magenta: #da77f2; + --ansi-cyan: #66d9e8; + --ansi-white: #ffffff; + --ansi-bright-black: #888888; + --ansi-bright-red: #ff8787; + --ansi-bright-green: #8ce99a; + --ansi-bright-yellow: #ffe066; + --ansi-bright-blue: #a5d8ff; --ansi-bright-magenta: #e599f7; - --ansi-bright-cyan: #99e9f2; - --ansi-bright-white: #ffffff; + --ansi-bright-cyan: #99e9f2; + --ansi-bright-white: #ffffff; } @media (prefers-color-scheme: dark) { - :root:not([data-mui-color-scheme="light"]) { - --ansi-black: #555555; - --ansi-red: #ff6b6b; - --ansi-green: #69db7c; - --ansi-yellow: #ffd43b; - --ansi-blue: #74c0fc; - --ansi-magenta: #da77f2; - --ansi-cyan: #66d9e8; - --ansi-white: #ffffff; - --ansi-bright-black: #888888; - --ansi-bright-red: #ff8787; - --ansi-bright-green: #8ce99a; - --ansi-bright-yellow: #ffe066; - --ansi-bright-blue: #a5d8ff; + :root:not([data-mui-color-scheme='light']) { + --ansi-black: #555555; + --ansi-red: #ff6b6b; + --ansi-green: #69db7c; + --ansi-yellow: #ffd43b; + --ansi-blue: #74c0fc; + --ansi-magenta: #da77f2; + --ansi-cyan: #66d9e8; + --ansi-white: #ffffff; + --ansi-bright-black: #888888; + --ansi-bright-red: #ff8787; + --ansi-bright-green: #8ce99a; + --ansi-bright-yellow: #ffe066; + --ansi-bright-blue: #a5d8ff; --ansi-bright-magenta: #e599f7; - --ansi-bright-cyan: #99e9f2; - --ansi-bright-white: #ffffff; + --ansi-bright-cyan: #99e9f2; + --ansi-bright-white: #ffffff; } } /* Foreground colors */ -.ansi-black-fg { color: var(--ansi-black); } -.ansi-red-fg { color: var(--ansi-red); } -.ansi-green-fg { color: var(--ansi-green); } -.ansi-yellow-fg { color: var(--ansi-yellow); } -.ansi-blue-fg { color: var(--ansi-blue); } -.ansi-magenta-fg { color: var(--ansi-magenta); } -.ansi-cyan-fg { color: var(--ansi-cyan); } -.ansi-white-fg { color: var(--ansi-white); } -.ansi-bright-black-fg { color: var(--ansi-bright-black); } -.ansi-bright-red-fg { color: var(--ansi-bright-red); } -.ansi-bright-green-fg { color: var(--ansi-bright-green); } -.ansi-bright-yellow-fg { color: var(--ansi-bright-yellow); } -.ansi-bright-blue-fg { color: var(--ansi-bright-blue); } -.ansi-bright-magenta-fg { color: var(--ansi-bright-magenta); } -.ansi-bright-cyan-fg { color: var(--ansi-bright-cyan); } -.ansi-bright-white-fg { color: var(--ansi-bright-white); } +.ansi-black-fg { + color: var(--ansi-black); +} +.ansi-red-fg { + color: var(--ansi-red); +} +.ansi-green-fg { + color: var(--ansi-green); +} +.ansi-yellow-fg { + color: var(--ansi-yellow); +} +.ansi-blue-fg { + color: var(--ansi-blue); +} +.ansi-magenta-fg { + color: var(--ansi-magenta); +} +.ansi-cyan-fg { + color: var(--ansi-cyan); +} +.ansi-white-fg { + color: var(--ansi-white); +} +.ansi-bright-black-fg { + color: var(--ansi-bright-black); +} +.ansi-bright-red-fg { + color: var(--ansi-bright-red); +} +.ansi-bright-green-fg { + color: var(--ansi-bright-green); +} +.ansi-bright-yellow-fg { + color: var(--ansi-bright-yellow); +} +.ansi-bright-blue-fg { + color: var(--ansi-bright-blue); +} +.ansi-bright-magenta-fg { + color: var(--ansi-bright-magenta); +} +.ansi-bright-cyan-fg { + color: var(--ansi-bright-cyan); +} +.ansi-bright-white-fg { + color: var(--ansi-bright-white); +} /* Background colors */ -.ansi-black-bg { background-color: var(--ansi-black); } -.ansi-red-bg { background-color: var(--ansi-red); } -.ansi-green-bg { background-color: var(--ansi-green); } -.ansi-yellow-bg { background-color: var(--ansi-yellow); } -.ansi-blue-bg { background-color: var(--ansi-blue); } -.ansi-magenta-bg { background-color: var(--ansi-magenta); } -.ansi-cyan-bg { background-color: var(--ansi-cyan); } -.ansi-white-bg { background-color: var(--ansi-white); } +.ansi-black-bg { + background-color: var(--ansi-black); +} +.ansi-red-bg { + background-color: var(--ansi-red); +} +.ansi-green-bg { + background-color: var(--ansi-green); +} +.ansi-yellow-bg { + background-color: var(--ansi-yellow); +} +.ansi-blue-bg { + background-color: var(--ansi-blue); +} +.ansi-magenta-bg { + background-color: var(--ansi-magenta); +} +.ansi-cyan-bg { + background-color: var(--ansi-cyan); +} +.ansi-white-bg { + background-color: var(--ansi-white); +} /* Text decoration */ -.ansi-bold { font-weight: bold; } +.ansi-bold { + font-weight: bold; +} diff --git a/logstable/src/components/LogsList.tsx b/logstable/src/components/LogsList.tsx index bfce700aa..551bdff8d 100644 --- a/logstable/src/components/LogsList.tsx +++ b/logstable/src/components/LogsList.tsx @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import React from 'react'; import { LogEntry } from '@perses-dev/spec'; +import React from 'react'; + import { LogsTableOptions } from '../model'; import { EmptyLogsState } from './EmptyLogsState'; import { useExpandedRows } from './hooks/useExpandedRows'; diff --git a/logstable/src/components/VirtualizedLogsList.tsx b/logstable/src/components/VirtualizedLogsList.tsx index cdb749b9a..a7dffc233 100644 --- a/logstable/src/components/VirtualizedLogsList.tsx +++ b/logstable/src/components/VirtualizedLogsList.tsx @@ -11,16 +11,17 @@ // See the License for the specific language governing permissions and // limitations under the License. -import React, { useCallback, useState, useEffect, useRef, ReactNode } from 'react'; import { Box, useTheme, Popover, Button, ButtonGroup, IconButton } from '@mui/material'; -import CloseIcon from 'mdi-material-ui/Close'; -import { Virtuoso } from 'react-virtuoso'; import { useSelection } from '@perses-dev/components'; import { formatForDisplay, useSelectionItemActions } from '@perses-dev/dashboards'; import { ActionOptions, useAllVariableValues } from '@perses-dev/plugin-system'; import { LogEntry } from '@perses-dev/spec'; -import { formatLogEntries, formatLogMessage } from '../utils/copyHelpers'; +import CloseIcon from 'mdi-material-ui/Close'; +import React, { useCallback, useState, useEffect, useRef, ReactNode } from 'react'; +import { Virtuoso } from 'react-virtuoso'; + import { LogsTableOptions } from '../model'; +import { formatLogEntries, formatLogMessage } from '../utils/copyHelpers'; import { LogRow } from './LogRow'; const PERSES_LOGSTABLE_HINTS_DISMISSED = 'PERSES_LOGSTABLE_HINTS_DISMISSED'; diff --git a/logstable/src/components/hooks/useSeverity.ts b/logstable/src/components/hooks/useSeverity.ts index 14a6562fe..0d29dedd6 100644 --- a/logstable/src/components/hooks/useSeverity.ts +++ b/logstable/src/components/hooks/useSeverity.ts @@ -13,6 +13,7 @@ import { useTheme } from '@mui/material'; import { LogEntry } from '@perses-dev/spec'; + import { getSeverity } from '../utils'; export const useSeverityColor = (log?: LogEntry): string => { diff --git a/logstable/src/getPluginModule.ts b/logstable/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/logstable/src/getPluginModule.ts +++ b/logstable/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/logstable/src/utils/copyHelpers.test.ts b/logstable/src/utils/copyHelpers.test.ts index e3025b389..9e26a16cd 100644 --- a/logstable/src/utils/copyHelpers.test.ts +++ b/logstable/src/utils/copyHelpers.test.ts @@ -12,6 +12,7 @@ // limitations under the License. import { LogEntry } from '@perses-dev/spec'; + import { formatTimestamp, formatLabels, diff --git a/logstable/src/utils/copyHelpers.ts b/logstable/src/utils/copyHelpers.ts index 8b8f07b11..8d3302e4d 100644 --- a/logstable/src/utils/copyHelpers.ts +++ b/logstable/src/utils/copyHelpers.ts @@ -12,6 +12,7 @@ // limitations under the License. import { LogEntry } from '@perses-dev/spec'; + import { stripAnsi } from './ansi'; /** diff --git a/loki/jest.config.ts b/loki/jest.config.ts index 5190fb4de..16027133b 100644 --- a/loki/jest.config.ts +++ b/loki/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/loki/package.json b/loki/package.json index 003ddc200..96e36b703 100644 --- a/loki/package.json +++ b/loki/package.json @@ -2,6 +2,15 @@ "name": "@perses-dev/loki-plugin", "version": "0.6.0-beta.0", "license": "Apache-2.0", + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -9,13 +18,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "dependencies": { "@grafana/lezer-logql": "^0.2.8" }, @@ -39,12 +45,6 @@ "react-hook-form": "^7.52.2", "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "moduleName": "Loki", "schemasPath": "schemas", diff --git a/loki/rsbuild.config.ts b/loki/rsbuild.config.ts index 5e478fe88..64e8dc470 100644 --- a/loki/rsbuild.config.ts +++ b/loki/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/loki/schemas/variables/loki-label-names/tests/valid/loki-label-names.json b/loki/schemas/variables/loki-label-names/tests/valid/loki-label-names.json index 2175d023a..83a743363 100644 --- a/loki/schemas/variables/loki-label-names/tests/valid/loki-label-names.json +++ b/loki/schemas/variables/loki-label-names/tests/valid/loki-label-names.json @@ -1,8 +1,6 @@ { "kind": "LokiLabelNamesVariable", "spec": { - "matchers": [ - "{job=\"myapp\"}" - ] + "matchers": ["{job=\"myapp\"}"] } } diff --git a/loki/schemas/variables/loki-label-values/tests/valid/loki-label-values.json b/loki/schemas/variables/loki-label-values/tests/valid/loki-label-values.json index a18b14f53..fed12468c 100644 --- a/loki/schemas/variables/loki-label-values/tests/valid/loki-label-values.json +++ b/loki/schemas/variables/loki-label-values/tests/valid/loki-label-values.json @@ -2,8 +2,6 @@ "kind": "LokiLabelValuesVariable", "spec": { "labelName": "job", - "matchers": [ - "{job=\"myapp\"}" - ] + "matchers": ["{job=\"myapp\"}"] } } diff --git a/loki/src/components/complete.test.ts b/loki/src/components/complete.test.ts index 7dfdfe526..606c9b215 100644 --- a/loki/src/components/complete.test.ts +++ b/loki/src/components/complete.test.ts @@ -11,9 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { EditorState, EditorView } from '@uiw/react-codemirror'; -import { parser } from '@grafana/lezer-logql'; import { LRLanguage, ensureSyntaxTree } from '@codemirror/language'; +import { parser } from '@grafana/lezer-logql'; +import { EditorState, EditorView } from '@uiw/react-codemirror'; + import { identifyCompletion, applyQuotedCompletion } from './complete'; const logQLExtension = LRLanguage.define({ parser: parser }); diff --git a/loki/src/components/complete.ts b/loki/src/components/complete.ts index 500fe0078..5c2740e6d 100644 --- a/loki/src/components/complete.ts +++ b/loki/src/components/complete.ts @@ -14,7 +14,6 @@ import { Completion, CompletionContext, CompletionResult, insertCompletionText } from '@codemirror/autocomplete'; import { syntaxTree } from '@codemirror/language'; import { EditorState } from '@codemirror/state'; -import { SyntaxNode, Tree } from '@lezer/common'; import { Selector, Matchers, @@ -27,7 +26,9 @@ import { String as StringType, Pipe, } from '@grafana/lezer-logql'; +import { SyntaxNode, Tree } from '@lezer/common'; import { EditorView } from '@uiw/react-codemirror'; + import { toUnixSeconds } from '../model'; import { CompletionConfig } from './logql-extension'; diff --git a/loki/src/components/logql-editor.tsx b/loki/src/components/logql-editor.tsx index e37585668..ada2e4bbe 100644 --- a/loki/src/components/logql-editor.tsx +++ b/loki/src/components/logql-editor.tsx @@ -11,9 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, useMemo } from 'react'; import { useTheme } from '@mui/material'; import CodeMirror, { EditorView, ReactCodeMirrorProps } from '@uiw/react-codemirror'; +import { ReactElement, useMemo } from 'react'; + import { LogQLExtension, CompletionConfig } from './logql-extension'; export type LogQLEditorProps = Omit & { diff --git a/loki/src/components/logql-extension.ts b/loki/src/components/logql-extension.ts index 44a642004..06acc72aa 100644 --- a/loki/src/components/logql-extension.ts +++ b/loki/src/components/logql-extension.ts @@ -11,14 +11,15 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { CompletionContext } from '@codemirror/autocomplete'; import { LRLanguage } from '@codemirror/language'; import { parser } from '@grafana/lezer-logql'; -import { CompletionContext } from '@codemirror/autocomplete'; -import { Extension } from '@uiw/react-codemirror'; import { AbsoluteTimeRange } from '@perses-dev/spec'; +import { Extension } from '@uiw/react-codemirror'; + import { LokiClient } from '../model'; -import { logqlHighlight } from './logql-highlight'; import { complete } from './complete'; +import { logqlHighlight } from './logql-highlight'; function logqlLanguage(): LRLanguage { return LRLanguage.define({ diff --git a/loki/src/datasources/loki-datasource/LokiDatasource.tsx b/loki/src/datasources/loki-datasource/LokiDatasource.tsx index bd9f27ba6..a97c1ec14 100644 --- a/loki/src/datasources/loki-datasource/LokiDatasource.tsx +++ b/loki/src/datasources/loki-datasource/LokiDatasource.tsx @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourcePlugin } from '@perses-dev/plugin-system'; + import { LokiClient, query, diff --git a/loki/src/datasources/loki-datasource/LokiDatasourceEditor.tsx b/loki/src/datasources/loki-datasource/LokiDatasourceEditor.tsx index 0f55186f9..9767458f6 100644 --- a/loki/src/datasources/loki-datasource/LokiDatasourceEditor.tsx +++ b/loki/src/datasources/loki-datasource/LokiDatasourceEditor.tsx @@ -13,6 +13,7 @@ import { HTTPSettingsEditor } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; + import { LokiDatasourceSpec } from './loki-datasource-types'; export interface LokiDatasourceEditorProps { diff --git a/loki/src/getPluginModule.ts b/loki/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/loki/src/getPluginModule.ts +++ b/loki/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/loki/src/model/loki-client.test.ts b/loki/src/model/loki-client.test.ts index 592865e7d..b0ad89e7c 100644 --- a/loki/src/model/loki-client.test.ts +++ b/loki/src/model/loki-client.test.ts @@ -12,6 +12,7 @@ // limitations under the License. import { AbsoluteTimeRange } from '@perses-dev/spec'; + import { toUnixSeconds, getLokiTimeRange, labels, labelValues } from './loki-client'; // Mock global fetch for labels/labelValues tests diff --git a/loki/src/model/loki-client.ts b/loki/src/model/loki-client.ts index cd7869fe1..375744e7b 100644 --- a/loki/src/model/loki-client.ts +++ b/loki/src/model/loki-client.ts @@ -12,6 +12,7 @@ // limitations under the License. import { AbsoluteTimeRange } from '@perses-dev/spec'; + import { LokiQueryResponse, LokiQueryRangeResponse, diff --git a/loki/src/queries/loki-log-query/LokiLogQuery.tsx b/loki/src/queries/loki-log-query/LokiLogQuery.tsx index e5be8f0a4..ac396f52a 100644 --- a/loki/src/queries/loki-log-query/LokiLogQuery.tsx +++ b/loki/src/queries/loki-log-query/LokiLogQuery.tsx @@ -13,9 +13,10 @@ import { QueryDefinition } from '@perses-dev/core'; import { LogQueryPlugin, LogQueryContext, calculateVolumeInterval, parseVariables } from '@perses-dev/plugin-system'; + import { getLokiLogData } from './get-loki-log-data'; -import { LokiLogQueryEditor } from './LokiLogQueryEditor'; import { LokiLogQuerySpec } from './loki-log-query-types'; +import { LokiLogQueryEditor } from './LokiLogQueryEditor'; export const LokiLogQuery: LogQueryPlugin = { getLogData: getLokiLogData, diff --git a/loki/src/queries/loki-log-query/LokiLogQueryEditor.tsx b/loki/src/queries/loki-log-query/LokiLogQueryEditor.tsx index bfcae944d..0555fa708 100644 --- a/loki/src/queries/loki-log-query/LokiLogQueryEditor.tsx +++ b/loki/src/queries/loki-log-query/LokiLogQueryEditor.tsx @@ -11,6 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { InputLabel, Stack, ToggleButton, ToggleButtonGroup } from '@mui/material'; +import { OptionsEditorControl } from '@perses-dev/components'; +import { createModEnterHandler } from '@perses-dev/dashboards'; import { DatasourceSelect, DatasourceSelectProps, @@ -20,11 +23,9 @@ import { useDatasourceClient, useTimeRange, } from '@perses-dev/plugin-system'; -import { InputLabel, Stack, ToggleButton, ToggleButtonGroup } from '@mui/material'; -import { ReactElement, useCallback, useMemo } from 'react'; import { produce } from 'immer'; -import { OptionsEditorControl } from '@perses-dev/components'; -import { createModEnterHandler } from '@perses-dev/dashboards'; +import { ReactElement, useCallback, useMemo } from 'react'; + import { LogQLEditor } from '../../components'; import { isDefaultLokiSelector, LOKI_DATASOURCE_KIND, LokiDatasourceSelector, LokiClient } from '../../model'; import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; diff --git a/loki/src/queries/loki-log-query/get-loki-log-data.ts b/loki/src/queries/loki-log-query/get-loki-log-data.ts index bdf84ee45..181e73aca 100644 --- a/loki/src/queries/loki-log-query/get-loki-log-data.ts +++ b/loki/src/queries/loki-log-query/get-loki-log-data.ts @@ -13,8 +13,9 @@ import { replaceVariables, LogQueryPlugin, LogQueryContext } from '@perses-dev/plugin-system'; import { LogData, LogEntry } from '@perses-dev/spec'; -import { LokiStreamResult } from '../../model/loki-client-types'; + import { LokiClient } from '../../model/loki-client'; +import { LokiStreamResult } from '../../model/loki-client-types'; import { DEFAULT_DATASOURCE } from '../constants'; import { LokiLogQuerySpec } from './loki-log-query-types'; diff --git a/loki/src/queries/loki-log-query/loki-log-query-types.test.ts b/loki/src/queries/loki-log-query/loki-log-query-types.test.ts index 9318046d4..658bf5d67 100644 --- a/loki/src/queries/loki-log-query/loki-log-query-types.test.ts +++ b/loki/src/queries/loki-log-query/loki-log-query-types.test.ts @@ -12,9 +12,10 @@ // limitations under the License. import { LogQueryContext } from '@perses-dev/plugin-system'; -import { LokiQueryRangeStreamsResponse, LokiQueryRangeResponse } from '../../model/loki-client-types'; + import { LokiDatasource } from '../../datasources/loki-datasource'; import { LokiDatasourceSpec } from '../../datasources/loki-datasource/loki-datasource-types'; +import { LokiQueryRangeStreamsResponse, LokiQueryRangeResponse } from '../../model/loki-client-types'; import { LokiLogQuery } from './LokiLogQuery'; const datasource: LokiDatasourceSpec = { diff --git a/loki/src/queries/loki-log-query/loki-log-query-types.ts b/loki/src/queries/loki-log-query/loki-log-query-types.ts index 2f9b88117..c8fa5ef45 100644 --- a/loki/src/queries/loki-log-query/loki-log-query-types.ts +++ b/loki/src/queries/loki-log-query/loki-log-query-types.ts @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourceSelector } from '@perses-dev/spec'; + import { LokiQueryRangeStreamsResponse } from '../../model/loki-client-types'; export interface LokiLogQuerySpec { diff --git a/loki/src/queries/loki-time-series-query/LokiTimeSeriesQuery.tsx b/loki/src/queries/loki-time-series-query/LokiTimeSeriesQuery.tsx index 074157072..86d31c75c 100644 --- a/loki/src/queries/loki-time-series-query/LokiTimeSeriesQuery.tsx +++ b/loki/src/queries/loki-time-series-query/LokiTimeSeriesQuery.tsx @@ -12,9 +12,10 @@ // limitations under the License. import { TimeSeriesQueryPlugin, parseVariables } from '@perses-dev/plugin-system'; + import { getLokiTimeSeriesData } from './get-loki-time-series-data'; -import { LokiQueryEditor } from './LokiTimeSeriesQueryEditor'; import { LokiTimeSeriesQuerySpec } from './loki-time-series-query-types'; +import { LokiQueryEditor } from './LokiTimeSeriesQueryEditor'; export const LokiTimeSeriesQuery: TimeSeriesQueryPlugin = { getTimeSeriesData: getLokiTimeSeriesData, diff --git a/loki/src/queries/loki-time-series-query/LokiTimeSeriesQueryEditor.tsx b/loki/src/queries/loki-time-series-query/LokiTimeSeriesQueryEditor.tsx index 90cb5ff34..ec59aacdd 100644 --- a/loki/src/queries/loki-time-series-query/LokiTimeSeriesQueryEditor.tsx +++ b/loki/src/queries/loki-time-series-query/LokiTimeSeriesQueryEditor.tsx @@ -11,6 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { InputLabel, Stack } from '@mui/material'; +import { createModEnterHandler } from '@perses-dev/dashboards'; import { DatasourceSelect, DatasourceSelectProps, @@ -18,10 +20,9 @@ import { OptionsEditorProps, useDatasourceSelectValueToSelector, } from '@perses-dev/plugin-system'; -import { InputLabel, Stack } from '@mui/material'; -import { ReactElement, useCallback } from 'react'; -import { createModEnterHandler } from '@perses-dev/dashboards'; import { produce } from 'immer'; +import { ReactElement, useCallback } from 'react'; + import { LogQLEditor } from '../../components'; import { LOKI_DATASOURCE_KIND, LokiDatasourceSelector } from '../../model'; import { DATASOURCE_KIND, DEFAULT_DATASOURCE } from '../constants'; diff --git a/loki/src/queries/loki-time-series-query/get-loki-time-series-data.ts b/loki/src/queries/loki-time-series-query/get-loki-time-series-data.ts index d005279b6..46e4c9a7e 100644 --- a/loki/src/queries/loki-time-series-query/get-loki-time-series-data.ts +++ b/loki/src/queries/loki-time-series-query/get-loki-time-series-data.ts @@ -12,8 +12,9 @@ // limitations under the License. import { TimeSeriesQueryPlugin, replaceVariables } from '@perses-dev/plugin-system'; -import { milliseconds } from 'date-fns'; import { DurationString, parseDurationString, TimeSeries } from '@perses-dev/spec'; +import { milliseconds } from 'date-fns'; + import { LokiClient } from '../../model/loki-client'; import { LokiMatrixResult } from '../../model/loki-client-types'; import { DEFAULT_DATASOURCE } from '../constants'; diff --git a/loki/src/queries/loki-time-series-query/loki-time-series-query-types.test.ts b/loki/src/queries/loki-time-series-query/loki-time-series-query-types.test.ts index 9a7ae4c2a..0213f160a 100644 --- a/loki/src/queries/loki-time-series-query/loki-time-series-query-types.test.ts +++ b/loki/src/queries/loki-time-series-query/loki-time-series-query-types.test.ts @@ -17,9 +17,10 @@ jest.mock('echarts/core'); import { TimeSeriesQueryContext } from '@perses-dev/plugin-system'; import { DatasourceSpec } from '@perses-dev/spec'; -import { LokiQueryRangeMatrixResponse, LokiQueryRangeResponse } from '../../model/loki-client-types'; + import { LokiDatasource } from '../../datasources/loki-datasource'; import { LokiDatasourceSpec } from '../../datasources/loki-datasource/loki-datasource-types'; +import { LokiQueryRangeMatrixResponse, LokiQueryRangeResponse } from '../../model/loki-client-types'; import { LokiTimeSeriesQuery } from './LokiTimeSeriesQuery'; const datasource: LokiDatasourceSpec = { diff --git a/loki/src/queries/loki-time-series-query/loki-time-series-query-types.ts b/loki/src/queries/loki-time-series-query/loki-time-series-query-types.ts index 918d9a56b..a5ccecc76 100644 --- a/loki/src/queries/loki-time-series-query/loki-time-series-query-types.ts +++ b/loki/src/queries/loki-time-series-query/loki-time-series-query-types.ts @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourceSelector } from '@perses-dev/spec'; + import { LokiQueryRangeMatrixResponse } from '../../model/loki-client-types'; export interface LokiTimeSeriesQuerySpec { diff --git a/loki/src/queries/query-editor-model.ts b/loki/src/queries/query-editor-model.ts index 448a3fedb..a9a92ed12 100644 --- a/loki/src/queries/query-editor-model.ts +++ b/loki/src/queries/query-editor-model.ts @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { useState } from 'react'; -import { produce } from 'immer'; import { OptionsEditorProps } from '@perses-dev/plugin-system'; +import { produce } from 'immer'; +import { useState } from 'react'; /** * Generic type for any Loki query spec that has a query field diff --git a/loki/src/variables/LokiLabelNamesVariable.tsx b/loki/src/variables/LokiLabelNamesVariable.tsx index 5d2fd428d..163b75073 100644 --- a/loki/src/variables/LokiLabelNamesVariable.tsx +++ b/loki/src/variables/LokiLabelNamesVariable.tsx @@ -18,6 +18,7 @@ import { datasourceSelectValueToSelector, isVariableDatasource, } from '@perses-dev/plugin-system'; + import { LokiClient, DEFAULT_LOKI, getLokiTimeRange, LOKI_DATASOURCE_KIND } from '../model'; import { stringArrayToVariableOptions, LokiLabelNamesVariableEditor } from './loki-variables'; import { LokiLabelNamesVariableOptions } from './types'; diff --git a/loki/src/variables/LokiLabelValuesVariable.tsx b/loki/src/variables/LokiLabelValuesVariable.tsx index 3b40f7370..8bf688047 100644 --- a/loki/src/variables/LokiLabelValuesVariable.tsx +++ b/loki/src/variables/LokiLabelValuesVariable.tsx @@ -18,6 +18,7 @@ import { datasourceSelectValueToSelector, isVariableDatasource, } from '@perses-dev/plugin-system'; + import { LokiClient, DEFAULT_LOKI, getLokiTimeRange, LOKI_DATASOURCE_KIND } from '../model'; import { stringArrayToVariableOptions, LokiLabelValuesVariableEditor } from './loki-variables'; import { LokiLabelValuesVariableOptions } from './types'; diff --git a/loki/src/variables/LokiLogQLVariable.tsx b/loki/src/variables/LokiLogQLVariable.tsx index 3953e6036..5f52ea750 100644 --- a/loki/src/variables/LokiLogQLVariable.tsx +++ b/loki/src/variables/LokiLogQLVariable.tsx @@ -18,6 +18,7 @@ import { datasourceSelectValueToSelector, isVariableDatasource, } from '@perses-dev/plugin-system'; + import { LokiClient, DEFAULT_LOKI, LOKI_DATASOURCE_KIND, getLokiTimeRange } from '../model'; import { capturingMetric, diff --git a/loki/src/variables/loki-variables.test.ts b/loki/src/variables/loki-variables.test.ts index decb5e1f5..90164f356 100644 --- a/loki/src/variables/loki-variables.test.ts +++ b/loki/src/variables/loki-variables.test.ts @@ -12,10 +12,11 @@ // limitations under the License. import { GetVariableOptionsContext } from '@perses-dev/plugin-system'; + import { LokiStreamResult } from '../model/loki-client-types'; import { stringArrayToVariableOptions, capturingMetric, capturingStreams } from './loki-variables'; -import { LokiLabelValuesVariable } from './LokiLabelValuesVariable'; import { LokiLabelNamesVariable } from './LokiLabelNamesVariable'; +import { LokiLabelValuesVariable } from './LokiLabelValuesVariable'; import { LokiLogQLVariable } from './LokiLogQLVariable'; // Dummy context for dependsOn calls (the implementations don't use ctx) diff --git a/loki/src/variables/loki-variables.tsx b/loki/src/variables/loki-variables.tsx index 9ca26c241..751535365 100644 --- a/loki/src/variables/loki-variables.tsx +++ b/loki/src/variables/loki-variables.tsx @@ -23,6 +23,7 @@ import { } from '@perses-dev/plugin-system'; import { produce } from 'immer'; import { ReactElement, useCallback, ChangeEvent, FocusEvent } from 'react'; + import { LogQLEditor } from '../components'; import { DEFAULT_LOKI, diff --git a/loki/src/variables/types.ts b/loki/src/variables/types.ts index b9f33a3ab..d27fb0a6d 100644 --- a/loki/src/variables/types.ts +++ b/loki/src/variables/types.ts @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourceSelectValue } from '@perses-dev/plugin-system'; + import { LokiDatasourceSelector } from '../model/loki-selectors'; export interface LokiVariableOptionsBase { diff --git a/markdown/jest.config.ts b/markdown/jest.config.ts index 5190fb4de..16027133b 100644 --- a/markdown/jest.config.ts +++ b/markdown/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/markdown/package.json b/markdown/package.json index 1ca0121d4..323124537 100644 --- a/markdown/package.json +++ b/markdown/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/markdown-plugin", "version": "0.12.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest --passWithNoTests", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "dependencies": { "dompurify": "^3.4.8", "marked": "^15.0.6" @@ -43,12 +49,6 @@ "react-dom": "^17.0.2 || ^18.0.0", "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/markdown/rsbuild.config.ts b/markdown/rsbuild.config.ts index ef2630c3e..0adfaf222 100644 --- a/markdown/rsbuild.config.ts +++ b/markdown/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/markdown/schemas/migrate/tests/text/expected.json b/markdown/schemas/migrate/tests/text/expected.json index cc4435fa4..4ab64b411 100644 --- a/markdown/schemas/migrate/tests/text/expected.json +++ b/markdown/schemas/migrate/tests/text/expected.json @@ -3,4 +3,4 @@ "spec": { "text": "This dashboard does have some purpose, let me remind... uuuuh..." } -} \ No newline at end of file +} diff --git a/markdown/schemas/migrate/tests/text/input.json b/markdown/schemas/migrate/tests/text/input.json index db7c6f353..0b34d8fd7 100644 --- a/markdown/schemas/migrate/tests/text/input.json +++ b/markdown/schemas/migrate/tests/text/input.json @@ -22,4 +22,4 @@ "pluginVersion": "10.1.8", "title": "Purpose of the Dashboard", "type": "text" -} \ No newline at end of file +} diff --git a/markdown/src/Markdown.ts b/markdown/src/Markdown.ts index 7f62ecfc3..31df3563d 100644 --- a/markdown/src/Markdown.ts +++ b/markdown/src/Markdown.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; + import { createInitialMarkdownPanelOptions, MarkdownPanelOptions } from './markdown-panel-model'; import { MarkdownPanel } from './MarkdownPanel'; import { MarkdownPanelOptionsEditor } from './MarkdownPanelOptionsEditor'; diff --git a/markdown/src/MarkdownPanel.tsx b/markdown/src/MarkdownPanel.tsx index f84146633..d2f9e286f 100644 --- a/markdown/src/MarkdownPanel.tsx +++ b/markdown/src/MarkdownPanel.tsx @@ -17,6 +17,7 @@ import { PanelProps, useReplaceVariablesInString } from '@perses-dev/plugin-syst import DOMPurify from 'dompurify'; import { marked } from 'marked'; import React, { ReactElement, useMemo } from 'react'; + import { MarkdownPanelOptions } from './markdown-panel-model'; export type MarkdownPanelProps = PanelProps; diff --git a/markdown/src/MarkdownPanelOptionsEditor.tsx b/markdown/src/MarkdownPanelOptionsEditor.tsx index 277e882b1..8d8bd2145 100644 --- a/markdown/src/MarkdownPanelOptionsEditor.tsx +++ b/markdown/src/MarkdownPanelOptionsEditor.tsx @@ -11,9 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ChangeEvent, ReactElement } from 'react'; -import { OptionsEditorProps } from '@perses-dev/plugin-system'; import { Link, Stack, TextField } from '@mui/material'; +import { OptionsEditorProps } from '@perses-dev/plugin-system'; +import { ChangeEvent, ReactElement } from 'react'; + import { MarkdownPanelOptions } from './markdown-panel-model'; export type MarkdownPanelOptionsEditorProps = OptionsEditorProps; diff --git a/markdown/src/getPluginModule.ts b/markdown/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/markdown/src/getPluginModule.ts +++ b/markdown/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/package-lock.json b/package-lock.json index c6f58d4c7..d0f089c3c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,20 +59,14 @@ "@types/express": "^5.0.0", "@types/jest": "^30.0.0", "@types/lodash": "^4.17.5", - "@typescript-eslint/eslint-plugin": "^8.18.0", "concurrently": "^10.0.3", "cross-env": "^7.0.3", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jsx-a11y": "^6.8.0", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-react": "^7.34.1", - "eslint-plugin-react-hooks": "^4.6.2", "express": "^4.21.2", "jest": "^30.4.2", "jest-environment-jsdom": "^30.4.1", "mdi-material-ui": "^7.9.2", + "oxfmt": "0.55.0", + "oxlint": "1.70.0", "react-router": "^6.30.3", "react-router-dom": "^6.30.3", "rsbuild-plugin-dts": "^0.18.0", @@ -1603,103 +1597,6 @@ "license": "MIT", "peer": true }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, "node_modules/@fontsource/inter": { "version": "5.2.8", "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.2.8.tgz", @@ -1737,68 +1634,6 @@ "react-hook-form": "^7.0.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -4020,1690 +3855,401 @@ "integrity": "sha512-+swL9itqBe1rx5Pr8ihaIS7STOeFI90HpOFF8y/3wo3ryTxKs0Hf4xc+wiA4yi9nrY4wo3VC8HJOxNiekSBE4w==", "license": "MIT" }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@oxfmt/binding-android-arm-eabi": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.55.0.tgz", + "integrity": "sha512-+rFDOqQe5LOWgxrAJaZgLRudr6GQm0wGI6gtu7vVkrdLGjNMUSGbAlaCr8j7F2H2Er97vYQCU8WDb30onqMM1g==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 8" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@oxfmt/binding-android-arm64": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm64/-/binding-android-arm64-0.55.0.tgz", + "integrity": "sha512-ctulLq8s3x8Zmvw6+iccB09TIKERAklRSmbJ10gk8mlAn05qZxoyo52dj3Hi9IJcmDSwF54fQaTVh2CbL6PInw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 8" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@oxfmt/binding-darwin-arm64": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-arm64/-/binding-darwin-arm64-0.55.0.tgz", + "integrity": "sha512-xDQczLH9pw/RBk1h/GH0qcGMm8hQtmtVHBNLSH3lk1gEIR09hZ4L+mJQl4VqiVAvPK9VG9PYrWWuSQLt7xTbiA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 8" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@perses-dev/bar-chart-plugin": { - "resolved": "barchart", - "link": true + "node_modules/@oxfmt/binding-darwin-x64": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-x64/-/binding-darwin-x64-0.55.0.tgz", + "integrity": "sha512-JaNoFCkF2CJdGgpPSMbuO9HVyXyoNGIhMHPvp6NYAjeVKw9XEYc0HcUWJLPQa3Q69WV5wMa9m5jPMJPtbLtcRg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@perses-dev/clickhouse-plugin": { - "resolved": "clickhouse", - "link": true + "node_modules/@oxfmt/binding-freebsd-x64": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-freebsd-x64/-/binding-freebsd-x64-0.55.0.tgz", + "integrity": "sha512-DNbszhpg6S2MIzax5azdHFTTBIVkR5xr8yyRZuA4yoDAwOkzIp3tmldgKZM2+VlT+hJIG0xUksA+elISzMEAfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@perses-dev/client": { - "version": "0.54.0-beta.7", - "resolved": "https://registry.npmjs.org/@perses-dev/client/-/client-0.54.0-beta.7.tgz", - "integrity": "sha512-l6JYiyRZjJpgFROWCejPoJH2ZUBmJj6o8RgUnY2SihUF2z0R5xTuJaW/HaU/w0iJh2DNd64jCayEd+oqds4+og==", - "license": "Apache-2.0", - "dependencies": { - "@perses-dev/spec": "0.2.0-beta.3", - "zod": "^3.21.4" + "node_modules/@oxfmt/binding-linux-arm-gnueabihf": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.55.0.tgz", + "integrity": "sha512-2snoaoRfFFyGnbOcKUK36rREBYxe/Xgz3uHbiA5zbCB/s6R4DQj4mHqYAaWWhgizCUSDxV8cE9zAZ0XleNpKGw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@perses-dev/components": { - "version": "0.54.0-beta.7", - "resolved": "https://registry.npmjs.org/@perses-dev/components/-/components-0.54.0-beta.7.tgz", - "integrity": "sha512-vzw2MqIQM9VlYXTI7HNqthvsRKHd0OoFwI7dTbVO1sRviHJ4Onh9JzQhahKSzGinQW972oXNa11idh4Z/yz4rA==", - "license": "Apache-2.0", - "dependencies": { - "@atlaskit/pragmatic-drag-and-drop": "^1.4.0", - "@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.0.3", - "@codemirror/lang-json": "^6.0.1", - "@date-fns/tz": "^1.4.1", - "@fontsource/inter": "^5.0.0", - "@mui/x-date-pickers": "^7.23.1", - "@perses-dev/client": "0.54.0-beta.7", - "@perses-dev/spec": "0.2.0-beta.3", - "@tanstack/match-sorter-utils": "^8.19.4", - "@tanstack/react-table": "^8.20.5", - "@uiw/react-codemirror": "^4.19.1", - "date-fns": "^4.1.0", - "echarts": "5.5.0", - "immer": "^10.1.1", - "lodash": "^4.17.21", - "mathjs": "^10.6.4", - "mdi-material-ui": "^7.9.2", - "notistack": "^3.0.2", - "numbro": "^2.3.6", - "react-colorful": "^5.6.1", - "react-error-boundary": "^3.1.4", - "react-hook-form": "^7.51.3", - "react-virtuoso": "^4.12.2" - }, - "peerDependencies": { - "@emotion/react": "^11.14.0", - "@emotion/styled": "^11.14.1", - "@mui/material": "^6.1.10", - "lodash": "^4.17.21", - "react": "^17.0.2 || ^18.0.0", - "react-dom": "^17.0.2 || ^18.0.0" + "node_modules/@oxfmt/binding-linux-arm-musleabihf": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.55.0.tgz", + "integrity": "sha512-q1aktHF/WRpSK81BX1dE/9vWrS2jGw1Nax2kb4DBLGAewubCLcoNyp4Zl/NSMgbv3vUS46Z33wIQkBVYOP3PYg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@perses-dev/core": { - "version": "0.53.0", - "resolved": "https://registry.npmjs.org/@perses-dev/core/-/core-0.53.0.tgz", - "integrity": "sha512-mOs+lNXo4Cy8RvFD1dhPQuXp7+57njEVbF5e3iNrqbgxmmEcP2SdAaNASWB7ki4IgFiJuZwqLH56SlqARWN7hw==", - "license": "Apache-2.0", - "dependencies": { - "date-fns": "^4.1.0", - "lodash": "^4.17.21", - "mathjs": "^10.6.4", - "numbro": "^2.3.6", - "zod": "^3.21.4" + "node_modules/@oxfmt/binding-linux-arm64-gnu": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.55.0.tgz", + "integrity": "sha512-VD0y36aENezl/3tsclA/4G53Cc7iV+7Uoh7gz4yvcOTaEYBtJpQsE6PKDGTtUtOvGS4kv51ybfXY/nWZejO5IA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@perses-dev/dashboards": { - "version": "0.54.0-beta.7", - "resolved": "https://registry.npmjs.org/@perses-dev/dashboards/-/dashboards-0.54.0-beta.7.tgz", - "integrity": "sha512-OU6KBaOoW9TVO7IK8A+J6bRPHNkJVE2T/nYlPEJthxEd0iOEnpqS7etsOq/+NqBxdbFC4qZTRtK8TVEDgyrf5w==", - "license": "Apache-2.0", - "dependencies": { - "@perses-dev/client": "0.54.0-beta.7", - "@perses-dev/components": "0.54.0-beta.7", - "@perses-dev/plugin-system": "0.54.0-beta.7", - "@perses-dev/spec": "0.2.0-beta.3", - "@tanstack/hotkeys": "^0.8.0", - "@tanstack/react-hotkeys": "^0.9.1", - "immer": "^10.1.1", - "mdi-material-ui": "^7.9.2", - "react-grid-layout": "^1.3.4", - "react-hook-form": "^7.46.1", - "react-intersection-observer": "^9.4.0", - "use-immer": "^0.11.0", - "use-query-params": "^2.2.1", - "use-resize-observer": "^9.0.0", - "yaml": "^2.7.0", - "zustand": "^4.3.3" - }, - "peerDependencies": { - "@mui/material": "^6.1.10", - "@tanstack/react-query": "^4.39.1", - "react": "^17.0.2 || ^18.0.0", - "react-dom": "^17.0.2 || ^18.0.0" - } - }, - "node_modules/@perses-dev/dashboards/node_modules/@tanstack/hotkeys": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@tanstack/hotkeys/-/hotkeys-0.8.0.tgz", - "integrity": "sha512-vqH7X9nb0MTJ/O08++dB5bP9jgj4+BIPOUu/U+6myG86lDsirZSVSobpq5UQpE7nBuk62i8eIYeOhd+OMl/UrA==", - "license": "MIT", - "dependencies": { - "@tanstack/store": "^0.11.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@perses-dev/dashboards/node_modules/@tanstack/store": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.11.0.tgz", - "integrity": "sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@perses-dev/datasource-variable-plugin": { - "resolved": "datasourcevariable", - "link": true - }, - "node_modules/@perses-dev/explore": { - "version": "0.54.0-beta.7", - "resolved": "https://registry.npmjs.org/@perses-dev/explore/-/explore-0.54.0-beta.7.tgz", - "integrity": "sha512-OhqBQEpfMUlhIBxbcmvYANC7Ak6PlcKzfYxkLEXPdTwbD5Ch7PZ6Y3ubue6cXZFQfBIvhy4fp5ESezdlJTDEaA==", - "license": "Apache-2.0", - "dependencies": { - "@nexucis/fuzzy": "^0.5.1", - "@perses-dev/components": "0.54.0-beta.7", - "@perses-dev/dashboards": "0.54.0-beta.7", - "@perses-dev/plugin-system": "0.54.0-beta.7", - "mdi-material-ui": "^7.9.2", - "qs": "^6.14.0", - "react-virtuoso": "^4.12.2", - "use-query-params": "^2.2.1", - "use-resize-observer": "^9.0.0" - }, - "peerDependencies": { - "@mui/material": "^6.1.10", - "@tanstack/react-query": "^4.39.1", - "react": "^17.0.2 || ^18.0.0", - "react-dom": "^17.0.2 || ^18.0.0" - } - }, - "node_modules/@perses-dev/flame-chart-plugin": { - "resolved": "flamechart", - "link": true - }, - "node_modules/@perses-dev/gauge-chart-plugin": { - "resolved": "gaugechart", - "link": true - }, - "node_modules/@perses-dev/greptimedb-plugin": { - "resolved": "greptimedb", - "link": true - }, - "node_modules/@perses-dev/heatmap-chart-plugin": { - "resolved": "heatmapchart", - "link": true - }, - "node_modules/@perses-dev/histogram-chart-plugin": { - "resolved": "histogramchart", - "link": true - }, - "node_modules/@perses-dev/jaeger-plugin": { - "resolved": "jaeger", - "link": true - }, - "node_modules/@perses-dev/log-explorer": { - "resolved": "logexplorer", - "link": true - }, - "node_modules/@perses-dev/logs-table-plugin": { - "resolved": "logstable", - "link": true - }, - "node_modules/@perses-dev/loki-plugin": { - "resolved": "loki", - "link": true - }, - "node_modules/@perses-dev/markdown-plugin": { - "resolved": "markdown", - "link": true - }, - "node_modules/@perses-dev/pie-chart-plugin": { - "resolved": "piechart", - "link": true - }, - "node_modules/@perses-dev/plugin-system": { - "version": "0.54.0-beta.7", - "resolved": "https://registry.npmjs.org/@perses-dev/plugin-system/-/plugin-system-0.54.0-beta.7.tgz", - "integrity": "sha512-htXWhzqBqmNlUYDv1PXmb763mLIDFnB7efGJNcsHkwah+kCEm23OBD7fj5KhTfWqQFBYBxEjeQWCU96a+cy2ig==", - "license": "Apache-2.0", - "dependencies": { - "@module-federation/enhanced": "^2.3.3", - "@perses-dev/client": "0.54.0-beta.7", - "@perses-dev/components": "0.54.0-beta.7", - "@perses-dev/core": "0.53.0", - "@perses-dev/spec": "0.2.0-beta.3", - "date-fns": "^4.1.0", - "date-fns-tz": "^3.2.0", - "immer": "^10.1.1", - "react-hook-form": "^7.46.1", - "semver": "^7.8.0", - "use-query-params": "^2.2.1", - "zod": "^3.25.76" - }, - "peerDependencies": { - "@emotion/react": "^11.14.0", - "@emotion/styled": "^11.14.1", - "@hookform/resolvers": "^3.2.0", - "@mui/material": "^6.1.10", - "@tanstack/react-query": "^4.39.1", - "react": "^17.0.2 || ^18.0.0", - "react-dom": "^17.0.2 || ^18.0.0" - } - }, - "node_modules/@perses-dev/plugin-system/node_modules/semver": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", - "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@perses-dev/plugins-e2e": { - "resolved": "e2e", - "link": true - }, - "node_modules/@perses-dev/prometheus-plugin": { - "resolved": "prometheus", - "link": true - }, - "node_modules/@perses-dev/pyroscope-plugin": { - "resolved": "pyroscope", - "link": true - }, - "node_modules/@perses-dev/scatter-chart-plugin": { - "resolved": "scatterchart", - "link": true - }, - "node_modules/@perses-dev/spec": { - "version": "0.2.0-beta.3", - "resolved": "https://registry.npmjs.org/@perses-dev/spec/-/spec-0.2.0-beta.3.tgz", - "integrity": "sha512-04xxEAWt6n2lndYAdDz2lXOZozXKwBCq3Sw8uEwEKXtZNp6mxAKltofM5yJKFgfrWFav55lX1kYSwYG8nDk/+A==", - "license": "Apache-2.0", - "dependencies": { - "date-fns": "^4.1.0", - "mathjs": "^15.1.1", - "zod": "^3.21.4" - } - }, - "node_modules/@perses-dev/spec/node_modules/fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/@perses-dev/spec/node_modules/mathjs": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-15.2.0.tgz", - "integrity": "sha512-UAQzSVob9rNLdGpqcFMYmSu9dkuLYy7Lr2hBEQS5SHQdknA9VppJz3cy2KkpMzTODunad6V6cNv+5kOLsePLow==", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.26.10", - "complex.js": "^2.2.5", - "decimal.js": "^10.4.3", - "escape-latex": "^1.2.0", - "fraction.js": "^5.2.1", - "javascript-natural-sort": "^0.7.1", - "seedrandom": "^3.0.5", - "tiny-emitter": "^2.1.0", - "typed-function": "^4.2.1" - }, - "bin": { - "mathjs": "bin/cli.js" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@perses-dev/spec/node_modules/typed-function": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-4.2.2.tgz", - "integrity": "sha512-VwaXim9Gp1bngi/q3do8hgttYn2uC3MoT/gfuMWylnj1IeZBUAyPddHZlo1K05BDoj8DYPpMdiHqH1dDYdJf2A==", - "license": "MIT", - "engines": { - "node": ">= 18" - } - }, - "node_modules/@perses-dev/splunk-plugin": { - "resolved": "splunk", - "link": true - }, - "node_modules/@perses-dev/stat-chart-plugin": { - "resolved": "statchart", - "link": true - }, - "node_modules/@perses-dev/static-list-variable-plugin": { - "resolved": "staticlistvariable", - "link": true - }, - "node_modules/@perses-dev/status-history-chart-plugin": { - "resolved": "statushistorychart", - "link": true - }, - "node_modules/@perses-dev/table-plugin": { - "resolved": "table", - "link": true - }, - "node_modules/@perses-dev/tempo-plugin": { - "resolved": "tempo", - "link": true - }, - "node_modules/@perses-dev/timeseries-chart-plugin": { - "resolved": "timeserieschart", - "link": true - }, - "node_modules/@perses-dev/timeseries-table-plugin": { - "resolved": "timeseriestable", - "link": true - }, - "node_modules/@perses-dev/trace-table-plugin": { - "resolved": "tracetable", - "link": true - }, - "node_modules/@perses-dev/tracing-gantt-chart-plugin": { - "resolved": "tracingganttchart", - "link": true - }, - "node_modules/@perses-dev/victorialogs-plugin": { - "resolved": "victorialogs", - "link": true - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@pkgr/core": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", - "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/pkgr" - } - }, - "node_modules/@playwright/test": { - "version": "1.59.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", - "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.59.1" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "license": "MIT", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@remix-run/router": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.3.tgz", - "integrity": "sha512-4An71tdz9X8+3sI4Qqqd2LWd9vS39J7sqd9EU4Scw7TJE/qB10Flv/UuqbPVgfQV9XoK8Np6jNquZitnZq5i+Q==", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@rsbuild/core": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-1.7.5.tgz", - "integrity": "sha512-i37urpoV4y9NSsGiUOuLdoI42KJ5h4gAZ8EG8Ilmsond3bxoAoOCu7YvC+1pJ7p+r16suVPW8cki891ZKHOoXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rspack/core": "~1.7.10", - "@rspack/lite-tapable": "~1.1.0", - "@swc/helpers": "^0.5.20", - "core-js": "~3.47.0", - "jiti": "^2.6.1" - }, - "bin": { - "rsbuild": "bin/rsbuild.js" - }, - "engines": { - "node": ">=18.12.0" - } - }, - "node_modules/@rsbuild/core/node_modules/@module-federation/error-codes": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.22.0.tgz", - "integrity": "sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rsbuild/core/node_modules/@module-federation/runtime": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.22.0.tgz", - "integrity": "sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/error-codes": "0.22.0", - "@module-federation/runtime-core": "0.22.0", - "@module-federation/sdk": "0.22.0" - } - }, - "node_modules/@rsbuild/core/node_modules/@module-federation/runtime-core": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.22.0.tgz", - "integrity": "sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/error-codes": "0.22.0", - "@module-federation/sdk": "0.22.0" - } - }, - "node_modules/@rsbuild/core/node_modules/@module-federation/runtime-tools": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.22.0.tgz", - "integrity": "sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/runtime": "0.22.0", - "@module-federation/webpack-bundler-runtime": "0.22.0" - } - }, - "node_modules/@rsbuild/core/node_modules/@module-federation/sdk": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.22.0.tgz", - "integrity": "sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rsbuild/core/node_modules/@module-federation/webpack-bundler-runtime": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.22.0.tgz", - "integrity": "sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/runtime": "0.22.0", - "@module-federation/sdk": "0.22.0" - } - }, - "node_modules/@rsbuild/core/node_modules/@napi-rs/wasm-runtime": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", - "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.5.0", - "@emnapi/runtime": "^1.5.0", - "@tybys/wasm-util": "^0.10.1" - } - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.11.tgz", - "integrity": "sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "@rspack/binding-darwin-arm64": "1.7.11", - "@rspack/binding-darwin-x64": "1.7.11", - "@rspack/binding-linux-arm64-gnu": "1.7.11", - "@rspack/binding-linux-arm64-musl": "1.7.11", - "@rspack/binding-linux-x64-gnu": "1.7.11", - "@rspack/binding-linux-x64-musl": "1.7.11", - "@rspack/binding-wasm32-wasi": "1.7.11", - "@rspack/binding-win32-arm64-msvc": "1.7.11", - "@rspack/binding-win32-ia32-msvc": "1.7.11", - "@rspack/binding-win32-x64-msvc": "1.7.11" - } - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding-darwin-arm64": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.11.tgz", - "integrity": "sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding-darwin-x64": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.11.tgz", - "integrity": "sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding-linux-arm64-gnu": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.11.tgz", - "integrity": "sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding-linux-arm64-musl": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.11.tgz", - "integrity": "sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding-linux-x64-gnu": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.11.tgz", - "integrity": "sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/u6fYsdQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding-linux-x64-musl": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.11.tgz", - "integrity": "sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPDiPw10tpFg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding-wasm32-wasi": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.11.tgz", - "integrity": "sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "1.0.7" - } - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding-win32-arm64-msvc": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.11.tgz", - "integrity": "sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding-win32-ia32-msvc": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.11.tgz", - "integrity": "sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rsbuild/core/node_modules/@rspack/binding-win32-x64-msvc": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.11.tgz", - "integrity": "sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rsbuild/core/node_modules/@rspack/core": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.11.tgz", - "integrity": "sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@module-federation/runtime-tools": "0.22.0", - "@rspack/binding": "1.7.11", - "@rspack/lite-tapable": "1.1.0" - }, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "@swc/helpers": ">=0.5.1" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@rsbuild/core/node_modules/jiti": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", - "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/@rsbuild/plugin-react": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/@rsbuild/plugin-react/-/plugin-react-1.4.6.tgz", - "integrity": "sha512-LAT6xHlEyZKA0VjF/ph5d50iyG+WSmBx+7g98HNZUwb94VeeTMZFB8qVptTkbIRMss3BNKOXmHOu71Lhsh9oEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rspack/plugin-react-refresh": "^1.6.1", - "react-refresh": "^0.18.0" - }, - "peerDependencies": { - "@rsbuild/core": "^1.0.0 || ^2.0.0-0" - }, - "peerDependenciesMeta": { - "@rsbuild/core": { - "optional": true - } - } - }, - "node_modules/@rspack/binding": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-2.0.6.tgz", - "integrity": "sha512-z5EO9mPlmYNpHAlRGub0Chr6D+Klgy+tX36n7tCm7VRGRlwTmTU9wSENrYbHcCpFbegtrE0s30rDeTBeOu+JiQ==", - "license": "MIT", - "peer": true, - "optionalDependencies": { - "@rspack/binding-darwin-arm64": "2.0.6", - "@rspack/binding-darwin-x64": "2.0.6", - "@rspack/binding-linux-arm64-gnu": "2.0.6", - "@rspack/binding-linux-arm64-musl": "2.0.6", - "@rspack/binding-linux-x64-gnu": "2.0.6", - "@rspack/binding-linux-x64-musl": "2.0.6", - "@rspack/binding-wasm32-wasi": "2.0.6", - "@rspack/binding-win32-arm64-msvc": "2.0.6", - "@rspack/binding-win32-ia32-msvc": "2.0.6", - "@rspack/binding-win32-x64-msvc": "2.0.6" - } - }, - "node_modules/@rspack/binding-darwin-arm64": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-2.0.6.tgz", - "integrity": "sha512-0giCKiWlBfcM4i2scv1j2k9HlSecO9Ybhaa5wsMUyvcFeKr9HbNHh7C2eDFlC6zaI85IUdY71TXF/g/Tcxr9MA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/@rspack/binding-darwin-x64": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-2.0.6.tgz", - "integrity": "sha512-/mMo2IpI02aOKMlHbVbZue3TJxFqHGX+ibVTdEO+6bzRSuHs7+R9KM5U3XH2YxcWJy5Sid1X1T1pJAjsXcE3rA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/@rspack/binding-linux-arm64-gnu": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-2.0.6.tgz", - "integrity": "sha512-H6ACzeM1KBxYDEF8YAim3501Jb1aCsSG79Gjm1M4pwJ5OJPK2ydiJEa438ugXmh0962eKYMHI2yZY0sQq8txaw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rspack/binding-linux-arm64-musl": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-2.0.6.tgz", - "integrity": "sha512-QTFmBg0n+L397Wi8CIjbd5pe/hxpHnqCDaG1A7e2NWX8Fj9zulAoKLiKflQa1ELEhAY4Foq88aX75+Ilt2tHcw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rspack/binding-linux-x64-gnu": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-2.0.6.tgz", - "integrity": "sha512-rerCAz022zf0ewxI+7n3SrqLEaxCL+MXRxKjK5FLUGFa8UkIrivq+VUP/1OB6JLh2Bucebc7Y9WoWHvtk22mLA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rspack/binding-linux-x64-musl": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-2.0.6.tgz", - "integrity": "sha512-96IgOFXQjX6Wbxd+DCYJFy2r/VMu1OoHifW4Cr3kGTYDKoQOIMLwb0ieu/ILp2dGWFMZo5S8odiByAmNICAOIA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rspack/binding-wasm32-wasi": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-2.0.6.tgz", - "integrity": "sha512-0aWiF+qmdb0csp1x+MaR2o1pscoquLaEbLTVdKjmoTRs6sguMemtB1ObnVTahAUL73P66WePuNpFAJ81zNdqzQ==", - "cpu": [ - "wasm32" - ], - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@emnapi/core": "1.10.0", - "@emnapi/runtime": "1.10.0", - "@napi-rs/wasm-runtime": "1.1.4" - } - }, - "node_modules/@rspack/binding-win32-arm64-msvc": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-2.0.6.tgz", - "integrity": "sha512-BX638A1MXsjc2E3tUskVh3X/WBIHjLKK+lo395v7MmEL9u2BA6l3F6RyW+YaJOt5aEOOv83iA7iCZsviVZ49Uw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/@rspack/binding-win32-ia32-msvc": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-2.0.6.tgz", - "integrity": "sha512-DCK/+MlN35uvH7tp4j0hbg8wIs9MHArMIrNZXtiD8xP6DNw2wrXcGC1VaxxR5apyWpqXAfIL/KsXBiWS3ygCvg==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/@rspack/binding-win32-x64-msvc": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-2.0.6.tgz", - "integrity": "sha512-TxutgzdEX9BkAU/5liKxdQmggJ23INz7EZDWtzSJO6C2SiSYzTJdyPQDIJi1ddkM5TX/drzH184gAJMVOQefng==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/@rspack/lite-tapable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz", - "integrity": "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rspack/plugin-react-refresh": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.6.2.tgz", - "integrity": "sha512-k+/VrfTNgo+KirjI6V+8CWRj6y+DH9jOUWv8JorYY4vKf/9xfnZ8xHzuB4iqCwTtoZl9YnxOaOuoyjJipc2tiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "error-stack-parser": "^2.1.4" - }, - "peerDependencies": { - "react-refresh": ">=0.10.0 <1.0.0", - "webpack-hot-middleware": "2.x" - }, - "peerDependenciesMeta": { - "webpack-hot-middleware": { - "optional": true - } - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sinclair/typebox": { - "version": "0.34.49", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz", - "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sindresorhus/is": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.2.0.tgz", - "integrity": "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@sindresorhus/merge-streams": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "15.4.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.4.0.tgz", - "integrity": "sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.1" - } - }, - "node_modules/@swc/cli": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@swc/cli/-/cli-0.8.1.tgz", - "integrity": "sha512-L+ACCGHCiS0VqHVep/INLVnvRvJ2XooQFLZq4L8snhxw1jsqz+XRcY313UsyPVturPPE1shW3jic7rt3qEQTSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@swc/counter": "^0.1.3", - "@xhmikosr/bin-wrapper": "^14.0.0", - "commander": "^8.3.0", - "minimatch": "^9.0.3", - "piscina": "^4.3.1", - "semver": "^7.3.8", - "slash": "3.0.0", - "source-map": "^0.7.3", - "tinyglobby": "^0.2.13" - }, - "bin": { - "spack": "bin/spack.js", - "swc": "bin/swc.js", - "swcx": "bin/swcx.js" - }, - "engines": { - "node": ">= 20.19.0" - }, - "peerDependencies": { - "@swc/core": "^1.2.66", - "chokidar": "^5.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@swc/cli/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/@swc/cli/node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 12" - } - }, - "node_modules/@swc/core": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.33.tgz", - "integrity": "sha512-jOlwnFV2xhuuZeAUILGFULeR6vDPfijEJ57evfocwznQldLU3w2cZ9bSDryY9ip+AsM3r1NJKzf47V2NXebkeQ==", - "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.26" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/swc" - }, - "optionalDependencies": { - "@swc/core-darwin-arm64": "1.15.33", - "@swc/core-darwin-x64": "1.15.33", - "@swc/core-linux-arm-gnueabihf": "1.15.33", - "@swc/core-linux-arm64-gnu": "1.15.33", - "@swc/core-linux-arm64-musl": "1.15.33", - "@swc/core-linux-ppc64-gnu": "1.15.33", - "@swc/core-linux-s390x-gnu": "1.15.33", - "@swc/core-linux-x64-gnu": "1.15.33", - "@swc/core-linux-x64-musl": "1.15.33", - "@swc/core-win32-arm64-msvc": "1.15.33", - "@swc/core-win32-ia32-msvc": "1.15.33", - "@swc/core-win32-x64-msvc": "1.15.33" - }, - "peerDependencies": { - "@swc/helpers": ">=0.5.17" - }, - "peerDependenciesMeta": { - "@swc/helpers": { - "optional": true - } - } - }, - "node_modules/@swc/core-darwin-arm64": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.33.tgz", - "integrity": "sha512-N+L0uXhuO7FIfzqwgxmzv0zIpV0qEp8wPX3QQs2p4atjMoywup2JTeDlXPw+z9pWJGCae3JjM+tZ6myclI+2gA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-darwin-x64": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.33.tgz", - "integrity": "sha512-/Il4QHSOhV4FekbsDtkrNmKbsX26oSysvgrRswa/RYOHXAkwXDbB4jaeKq6PsJLSPkzJ2KzQ061gtBnk0vNHfA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.33.tgz", - "integrity": "sha512-C64hBnBxq4viOPQ8hlx+2lJ23bzZBGnjw7ryALmS+0Q3zHmwO8lw1/DArLENw4Q18/0w5wdEO1k3m1wWNtKGqQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.33.tgz", - "integrity": "sha512-TRJfnJbX3jqpxRDRoieMzRiCBS5jOmXNb3iQXmcgjFEHKLnAgK1RZRU8Cq1MsPqO4jAJp/ld1G4O3fXuxv85uw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.33.tgz", - "integrity": "sha512-il7tYM+CpUNzieQbwAjFT1P8zqAhmGWNAGhQZBnxurXZ0aNn+5nqYFTEUKNZl7QibtT0uQXzTZrNGHCIj6Y1Og==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-ppc64-gnu": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-linux-ppc64-gnu/-/core-linux-ppc64-gnu-1.15.33.tgz", - "integrity": "sha512-ZtNBwN0Z7CFj9Il0FcPaKdjgP7URyKu/3RfH46vq+0paOBqLj4NYldD6Qo//Duif/7IOtAraUfDOmp0PLAufog==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-s390x-gnu": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-linux-s390x-gnu/-/core-linux-s390x-gnu-1.15.33.tgz", - "integrity": "sha512-De1IyajoOmhOYYjw/lx66bKlyDpHZTueqwpDrWgf5O7T6d1ODeJJO9/OqMBmrBQc5C+dNnlmIufHsp4QVCWufA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.33.tgz", - "integrity": "sha512-mGTH0YxmUN+x6vRN/I6NOk5X0ogNktkwPnJ94IMvR7QjhRDwL0O8RXEDhyUM0YtwWrryBOqaJQBX4zruxEPRGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-linux-x64-musl": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.33.tgz", - "integrity": "sha512-hj628ZkSEJf6zMf5VMbYrG2O6QqyTIp2qwY6VlCjvIa9lAEZ5c2lfPblCLVGYubTeLJDxadLB/CxqQYOQABeEQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.33.tgz", - "integrity": "sha512-GV2oohtN2/5+KSccl86VULu3aT+LrISC8uzgSq0FRnikpD+Zwc+sBlXmoKQ+Db6jI57ITUOIB8jRkdGMABC29g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.33.tgz", - "integrity": "sha512-gtyvzSNR8DHKfFEA2uqb8Ld1myqi6uEg2jyeUq3ikn5ytYs7H8RpZYC8mdy4NXr8hfcdJfCLXPlYaqqfBXpoEQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.15.33", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.33.tgz", - "integrity": "sha512-d6fRqQSkJI+kmMEBWaDQ7TMl8+YjLYbwRUPZQ9DY0ORBJeTzOrG0twvfvlZ2xgw6jA0ScQKgfBm4vHLSLl5Hqg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 AND MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/@swc/helpers": { - "version": "0.5.23", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz", - "integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@swc/jest": { - "version": "0.2.39", - "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.39.tgz", - "integrity": "sha512-eyokjOwYd0Q8RnMHri+8/FS1HIrIUKK/sRrFp8c1dThUOfNeCWbLmBP1P5VsKdvmkd25JaH+OKYwEYiAYg9YAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/create-cache-key-function": "^30.0.0", - "@swc/counter": "^0.1.3", - "jsonc-parser": "^3.2.0" - }, - "engines": { - "npm": ">= 7.0.0" - }, - "peerDependencies": { - "@swc/core": "*" - } - }, - "node_modules/@swc/types": { - "version": "0.1.26", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.26.tgz", - "integrity": "sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3" - } - }, - "node_modules/@tanstack/hotkeys": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@tanstack/hotkeys/-/hotkeys-0.7.1.tgz", - "integrity": "sha512-YHVO1z6wnvUCu7bg870Kv5k2D+FIuIOSIcbN0dAmTTsJ3mLMDLwcTVx0qVaq+SZp1B514JJTqGVstvUp85yIpQ==", - "license": "MIT", - "dependencies": { - "@tanstack/store": "^0.9.3" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/match-sorter-utils": { - "version": "8.19.4", - "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.19.4.tgz", - "integrity": "sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==", + "node_modules/@oxfmt/binding-linux-arm64-musl": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.55.0.tgz", + "integrity": "sha512-r8xlKJFcsRmn0H5jZrdORae6RX9jDBrZVvOoxF+bCQtampQJClv80aZEHsv+NsLsp2KCE5ql79O7DpPVzYWpXA==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "remove-accents": "0.5.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/query-core": { - "version": "4.44.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.44.0.tgz", - "integrity": "sha512-swSgb7OiPRR3UuIL7NuDrZNSMGmQD+wdtHxPD7j60SvBEnxbXurl5XOirtGEX2gm2hbK6mC8kMV1I+uO3l0UOw==", - "license": "MIT", - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tanstack/react-hotkeys": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-hotkeys/-/react-hotkeys-0.9.1.tgz", - "integrity": "sha512-/qdQUUVkYAHAWRGdFXqFgWpW/S+a6OzkvxWNWKLLDHQODJlO6EPBPa073CglaafBfzig58RK07T09ET+NnZhpg==", + "node_modules/@oxfmt/binding-linux-ppc64-gnu": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.55.0.tgz", + "integrity": "sha512-GRKv/HXHcwIVld/WU61rF0g0R16hl5EJ+ScKdpjevT57lnLnagj/U2YUbXf2mT+2Pg1uCzWC+mvGicPV3CDdLQ==", + "cpu": [ + "ppc64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@tanstack/hotkeys": "0.7.1", - "@tanstack/react-store": "^0.9.3" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/@tanstack/react-query": { - "version": "4.44.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.44.0.tgz", - "integrity": "sha512-RuIqHYrS98LrK/8kJJOJMMSQ/BCpojwsXDh7p0fBmp38ZOz6dlk+uyFRRusH+V+t3POoCsDOQ2zhomEYOeReXw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@tanstack/query-core": "4.44.0", - "use-sync-external-store": "^1.6.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-native": "*" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, - "node_modules/@tanstack/react-store": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.9.3.tgz", - "integrity": "sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==", - "license": "MIT", - "dependencies": { - "@tanstack/store": "0.9.3", - "use-sync-external-store": "^1.6.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tanstack/react-table": { - "version": "8.21.3", - "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.21.3.tgz", - "integrity": "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww==", + "node_modules/@oxfmt/binding-linux-riscv64-gnu": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.55.0.tgz", + "integrity": "sha512-rdv57enTiPtpSYRMKfAiEbQb0Puw5t9N7isVinDoo5qeLDScro2gznmZqSgSWbVZRzLisTeCTW8Qwgw0bOHv3A==", + "cpu": [ + "riscv64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@tanstack/table-core": "8.21.3" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tanstack/store": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.9.3.tgz", - "integrity": "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==", + "node_modules/@oxfmt/binding-linux-riscv64-musl": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.55.0.tgz", + "integrity": "sha512-7v1nNrlD43VY6+sYQ6efYyb3lE6QY182304PD/768ZxTjOmFd/3dQa3u/nGBUAXYdGSWOQc5N3PnS0QzUXyEIA==", + "cpu": [ + "riscv64" + ], + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tanstack/table-core": { - "version": "8.21.3", - "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz", - "integrity": "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==", + "node_modules/@oxfmt/binding-linux-s390x-gnu": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.55.0.tgz", + "integrity": "sha512-f4lJLUSPOgScjFl9LiflKCTocyNRwE25JmTMbN4XQdDjoZzEHjqf3wA3VESF1/csg7i8m7+EQLbrZyYDqe10UQ==", + "cpu": [ + "s390x" + ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@testing-library/dom": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", - "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "node_modules/@oxfmt/binding-linux-x64-gnu": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.55.0.tgz", + "integrity": "sha512-MihqiPziJNoWy4MqNSV+jVA1g+07iQDjZiR0vaCaDoPgFEiJpCMsxamktzLV07cEeQsSJ04vQaU4CzCQwIvtDA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "picocolors": "1.1.1", - "pretty-format": "^27.0.2" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=18" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@testing-library/jest-dom": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", - "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", + "node_modules/@oxfmt/binding-linux-x64-musl": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-musl/-/binding-linux-x64-musl-0.55.0.tgz", + "integrity": "sha512-Yqghym7KYAVjP9MmSrNZiDeerMuoejNjo0r3ox5H3GDKk8eAfl8VyJm9i+pWCLDCTnAbcTUMMN2ZKjUYXH1v3g==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@adobe/css-tools": "^4.4.0", - "aria-query": "^5.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "picocolors": "^1.1.1", - "redent": "^3.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14", - "npm": ">=6", - "yarn": ">=1" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@testing-library/react": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", - "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", + "node_modules/@oxfmt/binding-openharmony-arm64": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-openharmony-arm64/-/binding-openharmony-arm64-0.55.0.tgz", + "integrity": "sha512-s5SDvVVSbyQl1V5UU3Yl12M+XLUQ3rl5SglNqgAA2K4PXUtQhyNSS00wivONPEnNo5W01rCou8WkDNyvI/RGHg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5" - }, + "optional": true, + "os": [ + "openharmony" + ], "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@testing-library/dom": "^10.0.0", - "@types/react": "^18.0.0 || ^19.0.0", - "@types/react-dom": "^18.0.0 || ^19.0.0", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "node_modules/@oxfmt/binding-win32-arm64-msvc": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.55.0.tgz", + "integrity": "sha512-7p9FB5R32tw2KyyNX3wpQrR2WHwEHvMEiBlGXxeTCaRMCVNx3UtFMAUbaQ/pRNWIrEUZmYhJ6tcUH52uPTRYjQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=10", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tokenizer/inflate": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.4.1.tgz", - "integrity": "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==", + "node_modules/@oxfmt/binding-win32-ia32-msvc": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.55.0.tgz", + "integrity": "sha512-ZYqj3fDnOT1IaVGMP5kpmkQl4F3tQIm2ZyAxvqkJYmI0xgWWak4ss4XYwv3VDfM+TWXeC9K4uQ/wW5jm/5XABA==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.4.3", - "token-types": "^6.1.1" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@tokenizer/token": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", - "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "node_modules/@oxfmt/binding-win32-x64-msvc": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.55.0.tgz", + "integrity": "sha512-eEYT5tivGnGbPHuOHuQpi6CGLObhh0re/5jcNQHihD2GRYkTM85dyi5a19zjP8Q00t1uqAx+/QGLUGdHeqzWyg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "node_modules/@oxlint/binding-android-arm-eabi": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm-eabi/-/binding-android-arm-eabi-1.70.0.tgz", + "integrity": "sha512-zFh0P4cswmRvw6nkyb89dr18rRanuaCPAsEXsFDoQY8WdaquI8Pt4NWFjaMJg6L23cy5NeN8J9cBnREbWzZhaw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "node_modules/@oxlint/binding-android-arm64": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm64/-/binding-android-arm64-1.70.0.tgz", + "integrity": "sha512-qI8o4HZjeGiBrWv+pJv4lH0Yi2Gl/JSp/EumBUApezJprIKa5PS4nU0lQsQngtky8k+SplQIOjv6hwu0SSxeyg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@turbo/darwin-64": { - "version": "2.9.17", - "resolved": "https://registry.npmjs.org/@turbo/darwin-64/-/darwin-64-2.9.17.tgz", - "integrity": "sha512-io5jn5RDeU+9YV78rWhwG++HD/OZ/Lxg1sg93+jDGKQNP3UDxY6RX2dmarbCILhNxNuAM8FH3WgGMY9E96Mf8w==", + "node_modules/@oxlint/binding-darwin-arm64": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-arm64/-/binding-darwin-arm64-1.70.0.tgz", + "integrity": "sha512-8KjgVVHI5F9nVwHCRwwA78Ty7zNKP4Wd9OeN5PSv3iu/F/u1RVXoOCgLhWqust6HmwQG6xc8c+RCyaWENy24+w==", "cpu": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@turbo/darwin-arm64": { - "version": "2.9.17", - "resolved": "https://registry.npmjs.org/@turbo/darwin-arm64/-/darwin-arm64-2.9.17.tgz", - "integrity": "sha512-83YZTYmN2sxFWf2LTMOwqbOvR3qZMa/TSFwnB6BHVBbIWyoPPe+TAdSTd8KevEx8ml8KkycJ/9A70DFVReyUww==", + "node_modules/@oxlint/binding-darwin-x64": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-x64/-/binding-darwin-x64-1.70.0.tgz", + "integrity": "sha512-WVydssv5PSUBXFJTdNBWlmGkbNmvPGaFt/2SUT/EZRB6bq6bEOHmMlbnupZD5jmlEvi9+mZJHi8TCw15lyfSfQ==", "cpu": [ - "arm64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@turbo/linux-64": { - "version": "2.9.17", - "resolved": "https://registry.npmjs.org/@turbo/linux-64/-/linux-64-2.9.17.tgz", - "integrity": "sha512-teKfwJg0zSC+C2ZSOsX3VnAJGVgcN+pgKNmnGWzcpXQ9eIkAQtYP+getrQ2f1Tw/ePudnreQhq8tVP8S73Vy6Q==", + "node_modules/@oxlint/binding-freebsd-x64": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-freebsd-x64/-/binding-freebsd-x64-1.70.0.tgz", + "integrity": "sha512-hJucmUf8OlinHNb1R7fI4Fw6WsAstOz7i8nmkWQfiHoZXtbufNm+MxiDTIMk1ggh2Ro4vLzgQ+bKvRY54MZoRA==", "cpu": [ "x64" ], @@ -5711,41 +4257,50 @@ "license": "MIT", "optional": true, "os": [ - "linux" - ] + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@turbo/linux-arm64": { - "version": "2.9.17", - "resolved": "https://registry.npmjs.org/@turbo/linux-arm64/-/linux-arm64-2.9.17.tgz", - "integrity": "sha512-mqO36x2CNtJ9CCbEf5xOqH662tVSc1wB0mxh7dopBpgXg0fEifdzwX0IEAUW1WUAaNH986L7iEUUgw3HNqUWgg==", + "node_modules/@oxlint/binding-linux-arm-gnueabihf": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.70.0.tgz", + "integrity": "sha512-1BnS7wbCYDSXwWzJJ+mc3NURoha6m6m6RT5c6vgAY3oz7C3OVXP+S0awo2mRq97arrJkVvO3qRQfyAHL+76xtQ==", "cpu": [ - "arm64" + "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@turbo/windows-64": { - "version": "2.9.17", - "resolved": "https://registry.npmjs.org/@turbo/windows-64/-/windows-64-2.9.17.tgz", - "integrity": "sha512-jbyoNePufyMoSSrvVr+/mglcjmya/MOgoIrSHPr67iZ1VFgrlMQXHXtptR2lR48gi+86b1XBvsviJZ9A7zrydg==", + "node_modules/@oxlint/binding-linux-arm-musleabihf": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-1.70.0.tgz", + "integrity": "sha512-yKy/UdbR55+M2yEcuiV5DCNC/gdQAjr/GioUy50QwBzSrKm8ueWADqyRLS9Xk+qjNeCYGg6A8FvUBds56ttfqg==", "cpu": [ - "x64" + "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "win32" - ] + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@turbo/windows-arm64": { - "version": "2.9.17", - "resolved": "https://registry.npmjs.org/@turbo/windows-arm64/-/windows-arm64-2.9.17.tgz", - "integrity": "sha512-+ql0wYc99Y2AMvyHCcC/P+xtyV4nz522L+C9HDnyi7ryHXBGM+ZjBP28M7SLBGMDImgpN8sk2szpgbvreMeXVA==", + "node_modules/@oxlint/binding-linux-arm64-gnu": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.70.0.tgz", + "integrity": "sha512-0A5XJ4alvmqFUFP/4oYSyaO+qLto/HrKEWTSaegiVl+HOufFngK2BjYw9x4RbwBt/du5QG6l5q1zeWiJYYG5yg==", "cpu": [ "arm64" ], @@ -5753,746 +4308,728 @@ "license": "MIT", "optional": true, "os": [ - "win32" - ] + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", - "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "node_modules/@oxlint/binding-linux-arm64-musl": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.70.0.tgz", + "integrity": "sha512-JiylyurlB0CLSedNtx1gzv3FvfWPF1h/2Y3BJszPLNt5XQFlBsH5ke0Jle3iJb3uqu5m2e7A/DwzpuCAHdiU+A==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", "optional": true, - "dependencies": { - "tslib": "^2.4.0" + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "node_modules/@oxlint/binding-linux-ppc64-gnu": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.70.0.tgz", + "integrity": "sha512-J8VPG7I3/HmgaU4u8pNU2kFx2+0U+vPLS1dXFxXOaR/2TQ0f8AC7DRz0SRGRI1bfphnX2hVYTTtLuhL4nYKL+Q==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "node_modules/@oxlint/binding-linux-riscv64-gnu": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-1.70.0.tgz", + "integrity": "sha512-N2+4lV2KLN+oXTIIIwmWDhwkrnvqf5oX7Hw0zPjk+RuIVgiBQSOlJWF7uQoFx2siEYX0ZQ5cfSbEAHm+J3t7Wg==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "node_modules/@oxlint/binding-linux-riscv64-musl": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-1.70.0.tgz", + "integrity": "sha512-1e2L7cFCvx9QDzq6NPP+0tABKb5z6nWHyddWTNKprEsjO9xNrAtPowuCGpjNXxkTdsMiZ4jc8YQ5SstZd4XK6g==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "node_modules/@oxlint/binding-linux-s390x-gnu": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.70.0.tgz", + "integrity": "sha512-Kwu/l/8GcYibCWA9m9N5pRXMIKVSsL/YbgpLzYkqDhWTiqdRfnNJ/+nqIKRKQiFbHWsdlHEhzMwruJK+qcEruA==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@types/body-parser": { - "version": "1.19.6", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", - "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "node_modules/@oxlint/binding-linux-x64-gnu": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.70.0.tgz", + "integrity": "sha512-tap04CsHYOl0nSAQJfPNIuBxqEPB2HnhQqwaOXLg1jnp2XfRo8Fa814dA4QC4zpvTWXCjAAaCY1W5LOORkEQuQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@types/chroma-js": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/chroma-js/-/chroma-js-3.1.2.tgz", - "integrity": "sha512-YBTQqArPN8A0niHXCwrO1z5x++a+6l0mLBykncUpr23oIPW7L4h39s6gokdK/bDrPmSh8+TjMmrhBPnyiaWPmQ==", + "node_modules/@oxlint/binding-linux-x64-musl": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-musl/-/binding-linux-x64-musl-1.70.0.tgz", + "integrity": "sha512-hzJa/WgvtJpbBD9rgfy0qe+MjbxOXNUT0bfR1S6EQQzfTtBFA9xg5q8KSwRrQ2QfSS+TaP4j+4mVPQrfNc6UNg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@types/color-hash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/color-hash/-/color-hash-2.0.0.tgz", - "integrity": "sha512-wVZU2AthjkuxcK8IQl2lpVzWZxu/nuOoQfEBv0cxsbV8mVlCiPExNaw9/Z1PBC0ostupYr8KbTmT2J4+qrOW7w==", + "node_modules/@oxlint/binding-openharmony-arm64": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-openharmony-arm64/-/binding-openharmony-arm64-1.70.0.tgz", + "integrity": "sha512-xbsaNSNzVSnaJACCUYr1HQMyY/Q/Q1LkePmHG3UvZPvGCYGNxrsZp9OmtA6ick8xH47ltRRbRrPCM1YXYcyC+A==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "node_modules/@oxlint/binding-win32-arm64-msvc": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.70.0.tgz", + "integrity": "sha512-icAEsUI7JbW1TMRdEXV83mVAInhRVQYuuAlPpxdGwJ95chNdnCzjloRW8GglT0WvzOEZSio6fnYSk2DJ2Hv7LQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@types/express": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", - "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", + "node_modules/@oxlint/binding-win32-ia32-msvc": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.70.0.tgz", + "integrity": "sha512-FHMSWbVsPVs/f+Jcl04ws4JJ2wUnauyTzlpxWRG/lSO/8GpX08Fo2gQZqdA6CrRFI+zvkxl+N/KwJGWfUwYVZA==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^5.0.0", - "@types/serve-static": "^2" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@types/express-serve-static-core": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", - "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", + "node_modules/@oxlint/binding-win32-x64-msvc": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.70.0.tgz", + "integrity": "sha512-ptOlKwCz7n4AKs5VweMqG6DAg677FmKOK+vBkkL9DMNgFATIQ+upqUYBTOEwRQyRAx1ncGlPlXleV2hIcm3z4g==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@types/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/bar-chart-plugin": { + "resolved": "barchart", + "link": true }, - "node_modules/@types/http-errors": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", - "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/clickhouse-plugin": { + "resolved": "clickhouse", + "link": true }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/client": { + "version": "0.54.0-beta.7", + "resolved": "https://registry.npmjs.org/@perses-dev/client/-/client-0.54.0-beta.7.tgz", + "integrity": "sha512-l6JYiyRZjJpgFROWCejPoJH2ZUBmJj6o8RgUnY2SihUF2z0R5xTuJaW/HaU/w0iJh2DNd64jCayEd+oqds4+og==", + "license": "Apache-2.0", + "dependencies": { + "@perses-dev/spec": "0.2.0-beta.3", + "zod": "^3.21.4" + } }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "license": "MIT", + "node_modules/@perses-dev/components": { + "version": "0.54.0-beta.7", + "resolved": "https://registry.npmjs.org/@perses-dev/components/-/components-0.54.0-beta.7.tgz", + "integrity": "sha512-vzw2MqIQM9VlYXTI7HNqthvsRKHd0OoFwI7dTbVO1sRviHJ4Onh9JzQhahKSzGinQW972oXNa11idh4Z/yz4rA==", + "license": "Apache-2.0", "dependencies": { - "@types/istanbul-lib-coverage": "*" + "@atlaskit/pragmatic-drag-and-drop": "^1.4.0", + "@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.0.3", + "@codemirror/lang-json": "^6.0.1", + "@date-fns/tz": "^1.4.1", + "@fontsource/inter": "^5.0.0", + "@mui/x-date-pickers": "^7.23.1", + "@perses-dev/client": "0.54.0-beta.7", + "@perses-dev/spec": "0.2.0-beta.3", + "@tanstack/match-sorter-utils": "^8.19.4", + "@tanstack/react-table": "^8.20.5", + "@uiw/react-codemirror": "^4.19.1", + "date-fns": "^4.1.0", + "echarts": "5.5.0", + "immer": "^10.1.1", + "lodash": "^4.17.21", + "mathjs": "^10.6.4", + "mdi-material-ui": "^7.9.2", + "notistack": "^3.0.2", + "numbro": "^2.3.6", + "react-colorful": "^5.6.1", + "react-error-boundary": "^3.1.4", + "react-hook-form": "^7.51.3", + "react-virtuoso": "^4.12.2" + }, + "peerDependencies": { + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@mui/material": "^6.1.10", + "lodash": "^4.17.21", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "license": "MIT", + "node_modules/@perses-dev/core": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@perses-dev/core/-/core-0.53.0.tgz", + "integrity": "sha512-mOs+lNXo4Cy8RvFD1dhPQuXp7+57njEVbF5e3iNrqbgxmmEcP2SdAaNASWB7ki4IgFiJuZwqLH56SlqARWN7hw==", + "license": "Apache-2.0", "dependencies": { - "@types/istanbul-lib-report": "*" + "date-fns": "^4.1.0", + "lodash": "^4.17.21", + "mathjs": "^10.6.4", + "numbro": "^2.3.6", + "zod": "^3.21.4" } }, - "node_modules/@types/jest": { - "version": "30.0.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", - "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", - "dev": true, - "license": "MIT", + "node_modules/@perses-dev/dashboards": { + "version": "0.54.0-beta.7", + "resolved": "https://registry.npmjs.org/@perses-dev/dashboards/-/dashboards-0.54.0-beta.7.tgz", + "integrity": "sha512-OU6KBaOoW9TVO7IK8A+J6bRPHNkJVE2T/nYlPEJthxEd0iOEnpqS7etsOq/+NqBxdbFC4qZTRtK8TVEDgyrf5w==", + "license": "Apache-2.0", "dependencies": { - "expect": "^30.0.0", - "pretty-format": "^30.0.0" + "@perses-dev/client": "0.54.0-beta.7", + "@perses-dev/components": "0.54.0-beta.7", + "@perses-dev/plugin-system": "0.54.0-beta.7", + "@perses-dev/spec": "0.2.0-beta.3", + "@tanstack/hotkeys": "^0.8.0", + "@tanstack/react-hotkeys": "^0.9.1", + "immer": "^10.1.1", + "mdi-material-ui": "^7.9.2", + "react-grid-layout": "^1.3.4", + "react-hook-form": "^7.46.1", + "react-intersection-observer": "^9.4.0", + "use-immer": "^0.11.0", + "use-query-params": "^2.2.1", + "use-resize-observer": "^9.0.0", + "yaml": "^2.7.0", + "zustand": "^4.3.3" + }, + "peerDependencies": { + "@mui/material": "^6.1.10", + "@tanstack/react-query": "^4.39.1", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" } }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, + "node_modules/@perses-dev/dashboards/node_modules/@tanstack/hotkeys": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@tanstack/hotkeys/-/hotkeys-0.8.0.tgz", + "integrity": "sha512-vqH7X9nb0MTJ/O08++dB5bP9jgj4+BIPOUu/U+6myG86lDsirZSVSobpq5UQpE7nBuk62i8eIYeOhd+OMl/UrA==", "license": "MIT", + "dependencies": { + "@tanstack/store": "^0.11.0" + }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", - "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", - "dev": true, + "node_modules/@perses-dev/dashboards/node_modules/@tanstack/store": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.11.0.tgz", + "integrity": "sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw==", "license": "MIT", - "dependencies": { - "@jest/schemas": "30.0.5", - "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" - }, - "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/datasource-variable-plugin": { + "resolved": "datasourcevariable", + "link": true }, - "node_modules/@types/jsdom": { - "version": "21.1.7", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", - "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", - "dev": true, - "license": "MIT", + "node_modules/@perses-dev/explore": { + "version": "0.54.0-beta.7", + "resolved": "https://registry.npmjs.org/@perses-dev/explore/-/explore-0.54.0-beta.7.tgz", + "integrity": "sha512-OhqBQEpfMUlhIBxbcmvYANC7Ak6PlcKzfYxkLEXPdTwbD5Ch7PZ6Y3ubue6cXZFQfBIvhy4fp5ESezdlJTDEaA==", + "license": "Apache-2.0", "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" + "@nexucis/fuzzy": "^0.5.1", + "@perses-dev/components": "0.54.0-beta.7", + "@perses-dev/dashboards": "0.54.0-beta.7", + "@perses-dev/plugin-system": "0.54.0-beta.7", + "mdi-material-ui": "^7.9.2", + "qs": "^6.14.0", + "react-virtuoso": "^4.12.2", + "use-query-params": "^2.2.1", + "use-resize-observer": "^9.0.0" + }, + "peerDependencies": { + "@mui/material": "^6.1.10", + "@tanstack/react-query": "^4.39.1", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/flame-chart-plugin": { + "resolved": "flamechart", + "link": true }, - "node_modules/@types/lodash": { - "version": "4.17.24", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", - "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/gauge-chart-plugin": { + "resolved": "gaugechart", + "link": true }, - "node_modules/@types/node": { - "version": "25.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", - "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.19.0" - } + "node_modules/@perses-dev/greptimedb-plugin": { + "resolved": "greptimedb", + "link": true }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "license": "MIT", - "peer": true + "node_modules/@perses-dev/heatmap-chart-plugin": { + "resolved": "heatmapchart", + "link": true }, - "node_modules/@types/prop-types": { - "version": "15.7.15", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", - "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", - "license": "MIT" + "node_modules/@perses-dev/histogram-chart-plugin": { + "resolved": "histogramchart", + "link": true }, - "node_modules/@types/qs": { - "version": "6.15.1", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.1.tgz", - "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/jaeger-plugin": { + "resolved": "jaeger", + "link": true }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/log-explorer": { + "resolved": "logexplorer", + "link": true }, - "node_modules/@types/react": { - "version": "18.3.28", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", - "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.2.2" - } + "node_modules/@perses-dev/logs-table-plugin": { + "resolved": "logstable", + "link": true }, - "node_modules/@types/react-dom": { - "version": "18.3.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", - "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", - "license": "MIT", - "peer": true, - "peerDependencies": { - "@types/react": "^18.0.0" - } + "node_modules/@perses-dev/loki-plugin": { + "resolved": "loki", + "link": true }, - "node_modules/@types/react-transition-group": { - "version": "4.4.12", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", - "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*" - } + "node_modules/@perses-dev/markdown-plugin": { + "resolved": "markdown", + "link": true }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "license": "MIT" + "node_modules/@perses-dev/pie-chart-plugin": { + "resolved": "piechart", + "link": true }, - "node_modules/@types/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", - "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", - "dev": true, - "license": "MIT", + "node_modules/@perses-dev/plugin-system": { + "version": "0.54.0-beta.7", + "resolved": "https://registry.npmjs.org/@perses-dev/plugin-system/-/plugin-system-0.54.0-beta.7.tgz", + "integrity": "sha512-htXWhzqBqmNlUYDv1PXmb763mLIDFnB7efGJNcsHkwah+kCEm23OBD7fj5KhTfWqQFBYBxEjeQWCU96a+cy2ig==", + "license": "Apache-2.0", "dependencies": { - "@types/node": "*" + "@module-federation/enhanced": "^2.3.3", + "@perses-dev/client": "0.54.0-beta.7", + "@perses-dev/components": "0.54.0-beta.7", + "@perses-dev/core": "0.53.0", + "@perses-dev/spec": "0.2.0-beta.3", + "date-fns": "^4.1.0", + "date-fns-tz": "^3.2.0", + "immer": "^10.1.1", + "react-hook-form": "^7.46.1", + "semver": "^7.8.0", + "use-query-params": "^2.2.1", + "zod": "^3.25.76" + }, + "peerDependencies": { + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@hookform/resolvers": "^3.2.0", + "@mui/material": "^6.1.10", + "@tanstack/react-query": "^4.39.1", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" } }, - "node_modules/@types/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*" + "node_modules/@perses-dev/plugin-system/node_modules/semver": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.1.tgz", + "integrity": "sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/plugins-e2e": { + "resolved": "e2e", + "link": true }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/prometheus-plugin": { + "resolved": "prometheus", + "link": true }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "license": "MIT", - "optional": true + "node_modules/@perses-dev/pyroscope-plugin": { + "resolved": "pyroscope", + "link": true }, - "node_modules/@types/yargs": { - "version": "17.0.35", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", - "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } + "node_modules/@perses-dev/scatter-chart-plugin": { + "resolved": "scatterchart", + "link": true }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true, - "license": "MIT" + "node_modules/@perses-dev/spec": { + "version": "0.2.0-beta.3", + "resolved": "https://registry.npmjs.org/@perses-dev/spec/-/spec-0.2.0-beta.3.tgz", + "integrity": "sha512-04xxEAWt6n2lndYAdDz2lXOZozXKwBCq3Sw8uEwEKXtZNp6mxAKltofM5yJKFgfrWFav55lX1kYSwYG8nDk/+A==", + "license": "Apache-2.0", + "dependencies": { + "date-fns": "^4.1.0", + "mathjs": "^15.1.1", + "zod": "^3.21.4" + } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.2.tgz", - "integrity": "sha512-j/bwmkBvHUtPNxzuWe5z6BEk3q54YRyGlBXkSsmfoih7zNrBvl5A9A98anlp/7JbyZcWIJ8KXo/3Tq/DjFLtuQ==", - "dev": true, + "node_modules/@perses-dev/spec/node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.59.2", - "@typescript-eslint/type-utils": "8.59.2", - "@typescript-eslint/utils": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.5.0" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "*" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.59.2", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "type": "github", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.2.tgz", - "integrity": "sha512-plR3pp6D+SSUn1HM7xvSkx12/DhoHInI2YF35KAcVFNZvlC0gtrWqx7Qq1oH2Ssgi0vlFRCTbP+DZc7B9+TtsQ==", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/@perses-dev/spec/node_modules/mathjs": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-15.2.0.tgz", + "integrity": "sha512-UAQzSVob9rNLdGpqcFMYmSu9dkuLYy7Lr2hBEQS5SHQdknA9VppJz3cy2KkpMzTODunad6V6cNv+5kOLsePLow==", + "license": "Apache-2.0", "dependencies": { - "@typescript-eslint/scope-manager": "8.59.2", - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "@babel/runtime": "^7.26.10", + "complex.js": "^2.2.5", + "decimal.js": "^10.4.3", + "escape-latex": "^1.2.0", + "fraction.js": "^5.2.1", + "javascript-natural-sort": "^0.7.1", + "seedrandom": "^3.0.5", + "tiny-emitter": "^2.1.0", + "typed-function": "^4.2.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "bin": { + "mathjs": "bin/cli.js" }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "engines": { + "node": ">= 18" } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.2.tgz", - "integrity": "sha512-+2hqvEkeyf/0FBor67duF0Ll7Ot8jyKzDQOSrxazF/danillRq2DwR9dLptsXpoZQqxE1UisSmoZewrlPas9Vw==", - "dev": true, + "node_modules/@perses-dev/spec/node_modules/typed-function": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-4.2.2.tgz", + "integrity": "sha512-VwaXim9Gp1bngi/q3do8hgttYn2uC3MoT/gfuMWylnj1IeZBUAyPddHZlo1K05BDoj8DYPpMdiHqH1dDYdJf2A==", "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.59.2", - "@typescript-eslint/types": "^8.59.2", - "debug": "^4.4.3" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" + "node": ">= 18" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.2.tgz", - "integrity": "sha512-JzfyEpEtOU89CcFSwyNS3mu4MLvLSXqnmX05+aKBDM+TdR5jzcGOEBwxwGNxrEQ7p/z6kK2WyioCGBf2zZBnvg==", + "node_modules/@perses-dev/splunk-plugin": { + "resolved": "splunk", + "link": true + }, + "node_modules/@perses-dev/stat-chart-plugin": { + "resolved": "statchart", + "link": true + }, + "node_modules/@perses-dev/static-list-variable-plugin": { + "resolved": "staticlistvariable", + "link": true + }, + "node_modules/@perses-dev/status-history-chart-plugin": { + "resolved": "statushistorychart", + "link": true + }, + "node_modules/@perses-dev/table-plugin": { + "resolved": "table", + "link": true + }, + "node_modules/@perses-dev/tempo-plugin": { + "resolved": "tempo", + "link": true + }, + "node_modules/@perses-dev/timeseries-chart-plugin": { + "resolved": "timeserieschart", + "link": true + }, + "node_modules/@perses-dev/timeseries-table-plugin": { + "resolved": "timeseriestable", + "link": true + }, + "node_modules/@perses-dev/trace-table-plugin": { + "resolved": "tracetable", + "link": true + }, + "node_modules/@perses-dev/tracing-gantt-chart-plugin": { + "resolved": "tracingganttchart", + "link": true + }, + "node_modules/@perses-dev/victorialogs-plugin": { + "resolved": "victorialogs", + "link": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2" - }, + "optional": true, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=14" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.2.tgz", - "integrity": "sha512-BKK4alN7oi4C/zv4VqHQ+uRU+lTa6JGIZ7s1juw7b3RHo9OfKB+bKX3u0iVZetdsUCBBkSbdWbarJbmN0fTeSw==", + "node_modules/@pkgr/core": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", "dev": true, "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" + "url": "https://opencollective.com/pkgr" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.2.tgz", - "integrity": "sha512-nhqaj1nmTdVVl/BP5omXNRGO38jn5iosis2vbdmupF2txCf8ylWT8lx+JlvMYYVqzGVKtjojUFoQ3JRWK+mfzQ==", + "node_modules/@playwright/test": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", + "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2", - "@typescript-eslint/utils": "8.59.2", - "debug": "^4.4.3", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "playwright": "1.59.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "bin": { + "playwright": "cli.js" }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.2.tgz", - "integrity": "sha512-e82GVOE8Ps3E++Egvb6Y3Dw0S10u8NkQ9KXmtRhCWJJ8kDhOJTvtMAWnFL16kB1583goCWXsr0NieKCZMs2/0Q==", - "dev": true, - "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=18" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.2.tgz", - "integrity": "sha512-o0XPGNwcWw+FIwStOWn+BwBuEmL6QXP0rsvAFg7ET1dey1Nr6Wb1ac8p5HEsK0ygO/6mUxlk+YWQD9xcb/nnXg==", - "dev": true, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.59.2", - "@typescript-eslint/tsconfig-utils": "8.59.2", - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/visitor-keys": "8.59.2", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, + "peer": true, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" + "url": "https://opencollective.com/popperjs" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, + "node_modules/@remix-run/router": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.3.tgz", + "integrity": "sha512-4An71tdz9X8+3sI4Qqqd2LWd9vS39J7sqd9EU4Scw7TJE/qB10Flv/UuqbPVgfQV9XoK8Np6jNquZitnZq5i+Q==", "license": "MIT", "engines": { - "node": "18 || 20 || >=22" + "node": ">=14.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "node_modules/@rsbuild/core": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@rsbuild/core/-/core-1.7.5.tgz", + "integrity": "sha512-i37urpoV4y9NSsGiUOuLdoI42KJ5h4gAZ8EG8Ilmsond3bxoAoOCu7YvC+1pJ7p+r16suVPW8cki891ZKHOoXQ==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^4.0.2" + "@rspack/core": "~1.7.10", + "@rspack/lite-tapable": "~1.1.0", + "@swc/helpers": "^0.5.20", + "core-js": "~3.47.0", + "jiti": "^2.6.1" }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" + "bin": { + "rsbuild": "bin/rsbuild.js" }, "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18.12.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "node_modules/@rsbuild/core/node_modules/@module-federation/error-codes": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/error-codes/-/error-codes-0.22.0.tgz", + "integrity": "sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/@typescript-eslint/utils": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.2.tgz", - "integrity": "sha512-Juw3EinkXqjaffxz6roowvV7GZT/kET5vSKKZT6upl5TXdWkLkYmNPXwDDL2Vkt2DPn0nODIS4egC/0AGxKo/Q==", + "node_modules/@rsbuild/core/node_modules/@module-federation/runtime": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.22.0.tgz", + "integrity": "sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.59.2", - "@typescript-eslint/types": "8.59.2", - "@typescript-eslint/typescript-estree": "8.59.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "@module-federation/error-codes": "0.22.0", + "@module-federation/runtime-core": "0.22.0", + "@module-federation/sdk": "0.22.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.59.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.2.tgz", - "integrity": "sha512-NwjLUnGy8/Zfx23fl50tRC8rYaYnM52xNRYFAXvmiil9yh1+K6aRVQMnzW6gQB/1DLgWt977lYQn7C+wtgXZiA==", + "node_modules/@rsbuild/core/node_modules/@module-federation/runtime-core": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-core/-/runtime-core-0.22.0.tgz", + "integrity": "sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.2", - "eslint-visitor-keys": "^5.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@module-federation/error-codes": "0.22.0", + "@module-federation/sdk": "0.22.0" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "node_modules/@rsbuild/core/node_modules/@module-federation/runtime-tools": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.22.0.tgz", + "integrity": "sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@uiw/codemirror-extensions-basic-setup": { - "version": "4.25.9", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.25.9.tgz", - "integrity": "sha512-QFAqr+pu6lDmNpAlecODcF49TlsrZ0bj15zPzfhiqSDl+Um3EsDLFLppixC7kFLn+rdDM2LTvVjn5CPvefpRgw==", "license": "MIT", "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/commands": "^6.0.0", - "@codemirror/language": "^6.0.0", - "@codemirror/lint": "^6.0.0", - "@codemirror/search": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0" - }, - "funding": { - "url": "https://jaywcjlove.github.io/#/sponsor" - }, - "peerDependencies": { - "@codemirror/autocomplete": ">=6.0.0", - "@codemirror/commands": ">=6.0.0", - "@codemirror/language": ">=6.0.0", - "@codemirror/lint": ">=6.0.0", - "@codemirror/search": ">=6.0.0", - "@codemirror/state": ">=6.0.0", - "@codemirror/view": ">=6.0.0" + "@module-federation/runtime": "0.22.0", + "@module-federation/webpack-bundler-runtime": "0.22.0" } }, - "node_modules/@uiw/react-codemirror": { - "version": "4.25.9", - "resolved": "https://registry.npmjs.org/@uiw/react-codemirror/-/react-codemirror-4.25.9.tgz", - "integrity": "sha512-HftqCBUYShAOH0pGi1CHP8vfm5L8fQ3+0j0VI6lQD6QpK+UBu3J7nxfEN5O/BXMilMNf9ZyFJRvRcuMMOLHMng==", + "node_modules/@rsbuild/core/node_modules/@module-federation/sdk": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.22.0.tgz", + "integrity": "sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rsbuild/core/node_modules/@module-federation/webpack-bundler-runtime": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.22.0.tgz", + "integrity": "sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==", + "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.18.6", - "@codemirror/commands": "^6.1.0", - "@codemirror/state": "^6.1.1", - "@codemirror/theme-one-dark": "^6.0.0", - "@uiw/codemirror-extensions-basic-setup": "4.25.9", - "codemirror": "^6.0.0" - }, - "funding": { - "url": "https://jaywcjlove.github.io/#/sponsor" - }, - "peerDependencies": { - "@babel/runtime": ">=7.11.0", - "@codemirror/state": ">=6.0.0", - "@codemirror/theme-one-dark": ">=6.0.0", - "@codemirror/view": ">=6.0.0", - "codemirror": ">=6.0.0", - "react": ">=17.0.0", - "react-dom": ">=17.0.0" + "@module-federation/runtime": "0.22.0", + "@module-federation/sdk": "0.22.0" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", - "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", + "node_modules/@rsbuild/core/node_modules/@napi-rs/wasm-runtime": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", + "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", "dev": true, - "license": "ISC" + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@tybys/wasm-util": "^0.10.1" + } }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", - "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", - "cpu": [ - "arm" - ], + "node_modules/@rsbuild/core/node_modules/@rspack/binding": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.7.11.tgz", + "integrity": "sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "optionalDependencies": { + "@rspack/binding-darwin-arm64": "1.7.11", + "@rspack/binding-darwin-x64": "1.7.11", + "@rspack/binding-linux-arm64-gnu": "1.7.11", + "@rspack/binding-linux-arm64-musl": "1.7.11", + "@rspack/binding-linux-x64-gnu": "1.7.11", + "@rspack/binding-linux-x64-musl": "1.7.11", + "@rspack/binding-wasm32-wasi": "1.7.11", + "@rspack/binding-win32-arm64-msvc": "1.7.11", + "@rspack/binding-win32-ia32-msvc": "1.7.11", + "@rspack/binding-win32-x64-msvc": "1.7.11" + } }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", - "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", + "node_modules/@rsbuild/core/node_modules/@rspack/binding-darwin-arm64": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.11.tgz", + "integrity": "sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==", "cpu": [ "arm64" ], @@ -6500,15 +5037,15 @@ "license": "MIT", "optional": true, "os": [ - "android" + "darwin" ] }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", - "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", + "node_modules/@rsbuild/core/node_modules/@rspack/binding-darwin-x64": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.11.tgz", + "integrity": "sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==", "cpu": [ - "arm64" + "x64" ], "dev": true, "license": "MIT", @@ -6517,40 +5054,40 @@ "darwin" ] }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", - "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", + "node_modules/@rsbuild/core/node_modules/@rspack/binding-linux-arm64-gnu": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.11.tgz", + "integrity": "sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==", "cpu": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "darwin" + "linux" ] }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", - "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", + "node_modules/@rsbuild/core/node_modules/@rspack/binding-linux-arm64-musl": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.11.tgz", + "integrity": "sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==", "cpu": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "freebsd" + "linux" ] }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", - "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", + "node_modules/@rsbuild/core/node_modules/@rspack/binding-linux-x64-gnu": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.11.tgz", + "integrity": "sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/u6fYsdQ==", "cpu": [ - "arm" + "x64" ], "dev": true, "license": "MIT", @@ -6559,12 +5096,12 @@ "linux" ] }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", - "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", + "node_modules/@rsbuild/core/node_modules/@rspack/binding-linux-x64-musl": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.11.tgz", + "integrity": "sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPDiPw10tpFg==", "cpu": [ - "arm" + "x64" ], "dev": true, "license": "MIT", @@ -6573,24 +5110,24 @@ "linux" ] }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", - "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", + "node_modules/@rsbuild/core/node_modules/@rspack/binding-wasm32-wasi": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.11.tgz", + "integrity": "sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==", "cpu": [ - "arm64" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@napi-rs/wasm-runtime": "1.0.7" + } }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", - "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", + "node_modules/@rsbuild/core/node_modules/@rspack/binding-win32-arm64-msvc": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.11.tgz", + "integrity": "sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==", "cpu": [ "arm64" ], @@ -6598,2771 +5135,2758 @@ "license": "MIT", "optional": true, "os": [ - "linux" + "win32" ] }, - "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", - "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "node_modules/@rsbuild/core/node_modules/@rspack/binding-win32-ia32-msvc": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.11.tgz", + "integrity": "sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==", "cpu": [ - "loong64" + "ia32" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "win32" ] }, - "node_modules/@unrs/resolver-binding-linux-loong64-musl": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", - "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "node_modules/@rsbuild/core/node_modules/@rspack/binding-win32-x64-msvc": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.11.tgz", + "integrity": "sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==", "cpu": [ - "loong64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "win32" ] }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", - "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", + "node_modules/@rsbuild/core/node_modules/@rspack/core": { + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.7.11.tgz", + "integrity": "sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@module-federation/runtime-tools": "0.22.0", + "@rspack/binding": "1.7.11", + "@rspack/lite-tapable": "1.1.0" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.1" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@rsbuild/core/node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/@rsbuild/plugin-react": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@rsbuild/plugin-react/-/plugin-react-1.4.6.tgz", + "integrity": "sha512-LAT6xHlEyZKA0VjF/ph5d50iyG+WSmBx+7g98HNZUwb94VeeTMZFB8qVptTkbIRMss3BNKOXmHOu71Lhsh9oEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rspack/plugin-react-refresh": "^1.6.1", + "react-refresh": "^0.18.0" + }, + "peerDependencies": { + "@rsbuild/core": "^1.0.0 || ^2.0.0-0" + }, + "peerDependenciesMeta": { + "@rsbuild/core": { + "optional": true + } + } + }, + "node_modules/@rspack/binding": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-2.0.6.tgz", + "integrity": "sha512-z5EO9mPlmYNpHAlRGub0Chr6D+Klgy+tX36n7tCm7VRGRlwTmTU9wSENrYbHcCpFbegtrE0s30rDeTBeOu+JiQ==", + "license": "MIT", + "peer": true, + "optionalDependencies": { + "@rspack/binding-darwin-arm64": "2.0.6", + "@rspack/binding-darwin-x64": "2.0.6", + "@rspack/binding-linux-arm64-gnu": "2.0.6", + "@rspack/binding-linux-arm64-musl": "2.0.6", + "@rspack/binding-linux-x64-gnu": "2.0.6", + "@rspack/binding-linux-x64-musl": "2.0.6", + "@rspack/binding-wasm32-wasi": "2.0.6", + "@rspack/binding-win32-arm64-msvc": "2.0.6", + "@rspack/binding-win32-ia32-msvc": "2.0.6", + "@rspack/binding-win32-x64-msvc": "2.0.6" + } + }, + "node_modules/@rspack/binding-darwin-arm64": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-2.0.6.tgz", + "integrity": "sha512-0giCKiWlBfcM4i2scv1j2k9HlSecO9Ybhaa5wsMUyvcFeKr9HbNHh7C2eDFlC6zaI85IUdY71TXF/g/Tcxr9MA==", "cpu": [ - "ppc64" + "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" - ] + "darwin" + ], + "peer": true }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", - "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", + "node_modules/@rspack/binding-darwin-x64": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-2.0.6.tgz", + "integrity": "sha512-/mMo2IpI02aOKMlHbVbZue3TJxFqHGX+ibVTdEO+6bzRSuHs7+R9KM5U3XH2YxcWJy5Sid1X1T1pJAjsXcE3rA==", "cpu": [ - "riscv64" + "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" - ] + "darwin" + ], + "peer": true }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", - "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", + "node_modules/@rspack/binding-linux-arm64-gnu": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-2.0.6.tgz", + "integrity": "sha512-H6ACzeM1KBxYDEF8YAim3501Jb1aCsSG79Gjm1M4pwJ5OJPK2ydiJEa438ugXmh0962eKYMHI2yZY0sQq8txaw==", "cpu": [ - "riscv64" + "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "peer": true }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", - "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", + "node_modules/@rspack/binding-linux-arm64-musl": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-2.0.6.tgz", + "integrity": "sha512-QTFmBg0n+L397Wi8CIjbd5pe/hxpHnqCDaG1A7e2NWX8Fj9zulAoKLiKflQa1ELEhAY4Foq88aX75+Ilt2tHcw==", "cpu": [ - "s390x" + "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "peer": true }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", - "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", + "node_modules/@rspack/binding-linux-x64-gnu": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-2.0.6.tgz", + "integrity": "sha512-rerCAz022zf0ewxI+7n3SrqLEaxCL+MXRxKjK5FLUGFa8UkIrivq+VUP/1OB6JLh2Bucebc7Y9WoWHvtk22mLA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "peer": true }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", - "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", + "node_modules/@rspack/binding-linux-x64-musl": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-2.0.6.tgz", + "integrity": "sha512-96IgOFXQjX6Wbxd+DCYJFy2r/VMu1OoHifW4Cr3kGTYDKoQOIMLwb0ieu/ILp2dGWFMZo5S8odiByAmNICAOIA==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] - }, - "node_modules/@unrs/resolver-binding-openharmony-arm64": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", - "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] + "peer": true }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", - "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", + "node_modules/@rspack/binding-wasm32-wasi": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-2.0.6.tgz", + "integrity": "sha512-0aWiF+qmdb0csp1x+MaR2o1pscoquLaEbLTVdKjmoTRs6sguMemtB1ObnVTahAUL73P66WePuNpFAJ81zNdqzQ==", "cpu": [ "wasm32" ], - "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0", - "@napi-rs/wasm-runtime": "^1.1.4" - }, - "engines": { - "node": ">=14.0.0" + "@napi-rs/wasm-runtime": "1.1.4" } }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", - "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", + "node_modules/@rspack/binding-win32-arm64-msvc": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-2.0.6.tgz", + "integrity": "sha512-BX638A1MXsjc2E3tUskVh3X/WBIHjLKK+lo395v7MmEL9u2BA6l3F6RyW+YaJOt5aEOOv83iA7iCZsviVZ49Uw==", "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] + ], + "peer": true }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", - "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", + "node_modules/@rspack/binding-win32-ia32-msvc": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-2.0.6.tgz", + "integrity": "sha512-DCK/+MlN35uvH7tp4j0hbg8wIs9MHArMIrNZXtiD8xP6DNw2wrXcGC1VaxxR5apyWpqXAfIL/KsXBiWS3ygCvg==", "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] + ], + "peer": true }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", - "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", + "node_modules/@rspack/binding-win32-x64-msvc": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-2.0.6.tgz", + "integrity": "sha512-TxutgzdEX9BkAU/5liKxdQmggJ23INz7EZDWtzSJO6C2SiSYzTJdyPQDIJi1ddkM5TX/drzH184gAJMVOQefng==", "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] - }, - "node_modules/@xhmikosr/archive-type": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/archive-type/-/archive-type-8.0.1.tgz", - "integrity": "sha512-toXuiWChyfOpEiCPsIw6HGHaNji5LVkvB6EREL548vGWr+hGaehwxG4LzN20vm9aGFXwnA/Jty8yW2/SmV+1zQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "file-type": "^21.3.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@xhmikosr/bin-check": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/bin-check/-/bin-check-8.2.1.tgz", - "integrity": "sha512-DNruLq+kalxcE7JeDxtqrN9kyWjLW8VqsQPLRTwD1t9ck/1rF4qBL0mX5Fe2/xLOMjo5wPb67BNX2kSAhzfLjA==", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^9.6.1", - "isexe": "^4.0.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@xhmikosr/bin-wrapper": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/@xhmikosr/bin-wrapper/-/bin-wrapper-14.2.3.tgz", - "integrity": "sha512-F8Sr2O2aqwYfoXTafemRNAYDG4xwBTaHJpAo9YVnnnRXHLP9gkb+HYDsFoCAsCneS3/J7BOfeYnxxlUCicLqjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@xhmikosr/bin-check": "^8.2.1", - "@xhmikosr/downloader": "^16.1.2", - "@xhmikosr/os-filter-obj": "^4.0.0", - "binary-version-check": "^6.1.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@xhmikosr/decompress": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress/-/decompress-11.1.2.tgz", - "integrity": "sha512-f2hlnMN1ChbifAfdzWns6mssojjr3lgJm6MtT4ttVAClx85QEIQAdGXN22bPqy/qKxbvDf93GdqbR6+xIO/a4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@xhmikosr/decompress-tar": "^9.0.1", - "@xhmikosr/decompress-tarbz2": "^9.0.1", - "@xhmikosr/decompress-targz": "^9.0.1", - "@xhmikosr/decompress-unzip": "^8.1.0", - "graceful-fs": "^4.2.11", - "strip-dirs": "^3.0.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@xhmikosr/decompress-tar": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tar/-/decompress-tar-9.0.1.tgz", - "integrity": "sha512-4AkVR1SoqTxYY22IRRYKDeLirPIDGqMqYsqgjKYuwhgRcBb+yDP4t5Xph33UCzL/nahK/aADmlMEjTNstbX7kw==", - "dev": true, - "license": "MIT", - "dependencies": { - "file-type": "^21.3.0", - "is-stream": "^4.0.1", - "tar-stream": "3.1.7" - }, - "engines": { - "node": ">=20" - } + ], + "peer": true }, - "node_modules/@xhmikosr/decompress-tarbz2": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tarbz2/-/decompress-tarbz2-9.0.1.tgz", - "integrity": "sha512-aFONnsbqEOuXudvK7V7wB8dcEAKR389oUYQfZhrQZA8OtogJpDjrUAvEH3Qlc9yFqTU6r5/svTEcRwtXhoIJbQ==", + "node_modules/@rspack/lite-tapable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz", + "integrity": "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw==", "dev": true, - "license": "MIT", - "dependencies": { - "@xhmikosr/decompress-tar": "^9.0.0", - "file-type": "^21.3.0", - "is-stream": "^4.0.1", - "seek-bzip": "^2.0.0", - "unbzip2-stream": "^1.4.3" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@xhmikosr/decompress-targz": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-targz/-/decompress-targz-9.0.1.tgz", - "integrity": "sha512-1JXu2b6yrpm5EuBoOzMU57B4qrHXJKWQQ7LlMynNEiz85mEjDciO3ayf//GXaTLLCEKiHjWlU3q3THjgf7uODA==", + "license": "MIT" + }, + "node_modules/@rspack/plugin-react-refresh": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@rspack/plugin-react-refresh/-/plugin-react-refresh-1.6.2.tgz", + "integrity": "sha512-k+/VrfTNgo+KirjI6V+8CWRj6y+DH9jOUWv8JorYY4vKf/9xfnZ8xHzuB4iqCwTtoZl9YnxOaOuoyjJipc2tiQ==", "dev": true, "license": "MIT", "dependencies": { - "@xhmikosr/decompress-tar": "^9.0.0", - "file-type": "^21.3.0", - "is-stream": "^4.0.1" + "error-stack-parser": "^2.1.4" }, - "engines": { - "node": ">=20" + "peerDependencies": { + "react-refresh": ">=0.10.0 <1.0.0", + "webpack-hot-middleware": "2.x" + }, + "peerDependenciesMeta": { + "webpack-hot-middleware": { + "optional": true + } } }, - "node_modules/@xhmikosr/decompress-unzip": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-unzip/-/decompress-unzip-8.1.1.tgz", - "integrity": "sha512-/B+Z0qJflGn5UEtmMZ2qeKeXwexOycxaibYhMOyLcRPJriXs4IkoSngVUVZXLYViu9TdHyFWynC6NB4EWBg8cg==", + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", "dev": true, - "license": "MIT", - "dependencies": { - "file-type": "^21.3.4", - "get-stream": "^9.0.1", - "yauzl": "^3.3.0" - }, - "engines": { - "node": ">=20" - } + "license": "MIT" }, - "node_modules/@xhmikosr/downloader": { - "version": "16.1.2", - "resolved": "https://registry.npmjs.org/@xhmikosr/downloader/-/downloader-16.1.2.tgz", - "integrity": "sha512-31KQzQ6p4Rwnbo/gwTe4/Z+hVRcC8YoH/8f5xl+so1Oqqah5u1R3CGte8od+wOyNVfZ77DFijwy1umHk2NT6ZQ==", + "node_modules/@sinclair/typebox": { + "version": "0.34.49", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz", + "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==", "dev": true, - "license": "MIT", - "dependencies": { - "@xhmikosr/archive-type": "^8.0.1", - "@xhmikosr/decompress": "^11.1.1", - "content-disposition": "^1.1.0", - "ext-name": "^5.0.0", - "file-type": "^21.3.4", - "filenamify": "^7.0.1", - "get-stream": "^9.0.1", - "got": "^14.6.6" - }, - "engines": { - "node": ">=20" - } + "license": "MIT" }, - "node_modules/@xhmikosr/os-filter-obj": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@xhmikosr/os-filter-obj/-/os-filter-obj-4.0.0.tgz", - "integrity": "sha512-CBJYipR5lrtQQZl9ylarWyh1qhcs/tMy9ydSHte/Hefn3ev8NMvS3ss+eqiXEoBr2wBVgKj2qjcViXO9P/8K4A==", + "node_modules/@sindresorhus/is": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.2.0.tgz", + "integrity": "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==", "dev": true, "license": "MIT", - "dependencies": { - "arch": "^3.0.0" - }, "engines": { - "node": ">=20" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@sinonjs/fake-timers": { + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.4.0.tgz", + "integrity": "sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==", "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" } }, - "node_modules/acorn-walk": { - "version": "8.3.5", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", - "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "node_modules/@swc/cli": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@swc/cli/-/cli-0.8.1.tgz", + "integrity": "sha512-L+ACCGHCiS0VqHVep/INLVnvRvJ2XooQFLZq4L8snhxw1jsqz+XRcY313UsyPVturPPE1shW3jic7rt3qEQTSQ==", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.11.0" + "@swc/counter": "^0.1.3", + "@xhmikosr/bin-wrapper": "^14.0.0", + "commander": "^8.3.0", + "minimatch": "^9.0.3", + "piscina": "^4.3.1", + "semver": "^7.3.8", + "slash": "3.0.0", + "source-map": "^0.7.3", + "tinyglobby": "^0.2.13" + }, + "bin": { + "spack": "bin/spack.js", + "swc": "bin/swc.js", + "swcx": "bin/swcx.js" }, "engines": { - "node": ">=0.4.0" + "node": ">= 20.19.0" + }, + "peerDependencies": { + "@swc/core": "^1.2.66", + "chokidar": "^5.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } } }, - "node_modules/adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", + "node_modules/@swc/cli/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, "license": "MIT", "engines": { - "node": ">=6.0" + "node": ">= 12" } }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "node_modules/@swc/cli/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "engines": { - "node": ">= 14" + "node": ">= 12" } }, - "node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "node_modules/@swc/core": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.33.tgz", + "integrity": "sha512-jOlwnFV2xhuuZeAUILGFULeR6vDPfijEJ57evfocwznQldLU3w2cZ9bSDryY9ip+AsM3r1NJKzf47V2NXebkeQ==", "dev": true, - "license": "MIT", + "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.26" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.15.33", + "@swc/core-darwin-x64": "1.15.33", + "@swc/core-linux-arm-gnueabihf": "1.15.33", + "@swc/core-linux-arm64-gnu": "1.15.33", + "@swc/core-linux-arm64-musl": "1.15.33", + "@swc/core-linux-ppc64-gnu": "1.15.33", + "@swc/core-linux-s390x-gnu": "1.15.33", + "@swc/core-linux-x64-gnu": "1.15.33", + "@swc/core-linux-x64-musl": "1.15.33", + "@swc/core-win32-arm64-msvc": "1.15.33", + "@swc/core-win32-ia32-msvc": "1.15.33", + "@swc/core-win32-x64-msvc": "1.15.33" }, "peerDependencies": { - "ajv": "^8.0.0" + "@swc/helpers": ">=0.5.17" }, "peerDependenciesMeta": { - "ajv": { + "@swc/helpers": { "optional": true } } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", - "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" + "node_modules/@swc/core-darwin-arm64": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.33.tgz", + "integrity": "sha512-N+L0uXhuO7FIfzqwgxmzv0zIpV0qEp8wPX3QQs2p4atjMoywup2JTeDlXPw+z9pWJGCae3JjM+tZ6myclI+2gA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } }, - "node_modules/ansi_up": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/ansi_up/-/ansi_up-6.0.6.tgz", - "integrity": "sha512-yIa1x3Ecf8jWP4UWEunNjqNX6gzE4vg2gGz+xqRGY+TBSucnYp6RRdPV4brmtg6bQ1ljD48mZ5iGSEj7QEpRKA==", - "license": "MIT", + "node_modules/@swc/core-darwin-x64": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.33.tgz", + "integrity": "sha512-/Il4QHSOhV4FekbsDtkrNmKbsX26oSysvgrRswa/RYOHXAkwXDbB4jaeKq6PsJLSPkzJ2KzQ061gtBnk0vNHfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "license": "MIT", + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.33.tgz", + "integrity": "sha512-C64hBnBxq4viOPQ8hlx+2lJ23bzZBGnjw7ryALmS+0Q3zHmwO8lw1/DArLENw4Q18/0w5wdEO1k3m1wWNtKGqQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.33.tgz", + "integrity": "sha512-TRJfnJbX3jqpxRDRoieMzRiCBS5jOmXNb3iQXmcgjFEHKLnAgK1RZRU8Cq1MsPqO4jAJp/ld1G4O3fXuxv85uw==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.33.tgz", + "integrity": "sha512-il7tYM+CpUNzieQbwAjFT1P8zqAhmGWNAGhQZBnxurXZ0aNn+5nqYFTEUKNZl7QibtT0uQXzTZrNGHCIj6Y1Og==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@swc/core-linux-ppc64-gnu": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-linux-ppc64-gnu/-/core-linux-ppc64-gnu-1.15.33.tgz", + "integrity": "sha512-ZtNBwN0Z7CFj9Il0FcPaKdjgP7URyKu/3RfH46vq+0paOBqLj4NYldD6Qo//Duif/7IOtAraUfDOmp0PLAufog==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@swc/core-linux-s390x-gnu": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-linux-s390x-gnu/-/core-linux-s390x-gnu-1.15.33.tgz", + "integrity": "sha512-De1IyajoOmhOYYjw/lx66bKlyDpHZTueqwpDrWgf5O7T6d1ODeJJO9/OqMBmrBQc5C+dNnlmIufHsp4QVCWufA==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=10" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.33.tgz", + "integrity": "sha512-mGTH0YxmUN+x6vRN/I6NOk5X0ogNktkwPnJ94IMvR7QjhRDwL0O8RXEDhyUM0YtwWrryBOqaJQBX4zruxEPRGw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.33.tgz", + "integrity": "sha512-hj628ZkSEJf6zMf5VMbYrG2O6QqyTIp2qwY6VlCjvIa9lAEZ5c2lfPblCLVGYubTeLJDxadLB/CxqQYOQABeEQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">=10" } }, - "node_modules/arch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-3.0.0.tgz", - "integrity": "sha512-AmIAC+Wtm2AU8lGfTtHsw0Y9Qtftx2YXEEtiBP10xFUtMOA+sHHx6OAddyL52mUKh1vsXQ6/w1mVDptZCyUt4Q==", + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.33.tgz", + "integrity": "sha512-GV2oohtN2/5+KSccl86VULu3aT+LrISC8uzgSq0FRnikpD+Zwc+sBlXmoKQ+Db6jI57ITUOIB8jRkdGMABC29g==", + "cpu": [ + "arm64" + ], "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" ], - "license": "MIT" + "engines": { + "node": ">=10" + } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.33.tgz", + "integrity": "sha512-gtyvzSNR8DHKfFEA2uqb8Ld1myqi6uEg2jyeUq3ikn5ytYs7H8RpZYC8mdy4NXr8hfcdJfCLXPlYaqqfBXpoEQ==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT" + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.15.33", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.33.tgz", + "integrity": "sha512-d6fRqQSkJI+kmMEBWaDQ7TMl8+YjLYbwRUPZQ9DY0ORBJeTzOrG0twvfvlZ2xgw6jA0ScQKgfBm4vHLSLl5Hqg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Python-2.0" + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz", + "integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==", + "devOptional": true, "license": "Apache-2.0", "dependencies": { - "dequal": "^2.0.3" + "tslib": "^2.8.0" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "node_modules/@swc/jest": { + "version": "0.2.39", + "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.39.tgz", + "integrity": "sha512-eyokjOwYd0Q8RnMHri+8/FS1HIrIUKK/sRrFp8c1dThUOfNeCWbLmBP1P5VsKdvmkd25JaH+OKYwEYiAYg9YAA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" + "@jest/create-cache-key-function": "^30.0.0", + "@swc/counter": "^0.1.3", + "jsonc-parser": "^3.2.0" }, "engines": { - "node": ">= 0.4" + "npm": ">= 7.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@swc/core": "*" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "node_modules/@swc/types": { + "version": "0.1.26", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.26.tgz", + "integrity": "sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==", "dev": true, - "license": "MIT" + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + } }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, + "node_modules/@tanstack/hotkeys": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@tanstack/hotkeys/-/hotkeys-0.7.1.tgz", + "integrity": "sha512-YHVO1z6wnvUCu7bg870Kv5k2D+FIuIOSIcbN0dAmTTsJ3mLMDLwcTVx0qVaq+SZp1B514JJTqGVstvUp85yIpQ==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" + "@tanstack/store": "^0.9.3" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, + "node_modules/@tanstack/match-sorter-utils": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.19.4.tgz", + "integrity": "sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "remove-accents": "0.5.0" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, + "node_modules/@tanstack/query-core": { + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.44.0.tgz", + "integrity": "sha512-swSgb7OiPRR3UuIL7NuDrZNSMGmQD+wdtHxPD7j60SvBEnxbXurl5XOirtGEX2gm2hbK6mC8kMV1I+uO3l0UOw==", "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, + "peer": true, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, + "node_modules/@tanstack/react-hotkeys": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-hotkeys/-/react-hotkeys-0.9.1.tgz", + "integrity": "sha512-/qdQUUVkYAHAWRGdFXqFgWpW/S+a6OzkvxWNWKLLDHQODJlO6EPBPa073CglaafBfzig58RK07T09ET+NnZhpg==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" + "@tanstack/hotkeys": "0.7.1", + "@tanstack/react-store": "^0.9.3" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, + "node_modules/@tanstack/react-query": { + "version": "4.44.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.44.0.tgz", + "integrity": "sha512-RuIqHYrS98LrK/8kJJOJMMSQ/BCpojwsXDh7p0fBmp38ZOz6dlk+uyFRRusH+V+t3POoCsDOQ2zhomEYOeReXw==", "license": "MIT", + "peer": true, "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "@tanstack/query-core": "4.44.0", + "use-sync-external-store": "^1.6.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, + "node_modules/@tanstack/react-store": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.9.3.tgz", + "integrity": "sha512-y2iHd/N9OkoQbFJLUX1T9vbc2O9tjH0pQRgTcx1/Nz4IlwLvkgpuglXUx+mXt0g5ZDFrEeDnONPqkbfxXJKwRg==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" + "@tanstack/store": "0.9.3", + "use-sync-external-store": "^1.6.0" }, - "engines": { - "node": ">= 0.4" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, + "node_modules/@tanstack/react-table": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.21.3.tgz", + "integrity": "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww==", "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" + "@tanstack/table-core": "8.21.3" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" } }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, + "node_modules/@tanstack/store": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.9.3.tgz", + "integrity": "sha512-8reSzl/qGWGGVKhBoxXPMWzATSbZLZFWhwBAFO9NAyp0TxzfBP0mIrGb8CP8KrQTmvzXlR/vFPPUrHTLBGyFyw==", "license": "MIT", - "engines": { - "node": ">= 0.4" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, + "node_modules/@tanstack/table-core": { + "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz", + "integrity": "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==", "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.11.4", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.4.tgz", - "integrity": "sha512-KunSNx+TVpkAw/6ULfhnx+HWRecjqZGTOyquAoWHYLRSdK1tB5Ihce1ZW+UY3fj33bYAFWPu7W/GRSmmrCGuxA==", - "dev": true, - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/babel-jest": { - "version": "30.4.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.4.1.tgz", - "integrity": "sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw==", + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "30.4.1", - "@types/babel__core": "^7.20.5", - "babel-plugin-istanbul": "^7.0.1", - "babel-preset-jest": "30.4.0", - "chalk": "^4.1.2", - "graceful-fs": "^4.2.11", - "slash": "^3.0.0" + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.11.0 || ^8.0.0-0" + "node": ">=18" } }, - "node_modules/babel-plugin-istanbul": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", - "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==", + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", + "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", "dev": true, - "license": "BSD-3-Clause", - "workspaces": [ - "test/babel-8" - ], + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-instrument": "^6.0.2", - "test-exclude": "^6.0.0" + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "30.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.4.0.tgz", - "integrity": "sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==", + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.2.tgz", + "integrity": "sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==", "dev": true, "license": "MIT", "dependencies": { - "@types/babel__core": "^7.20.5" + "@babel/runtime": "^7.12.5" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "@babel/runtime": "^7.12.5" }, "engines": { "node": ">=10", "npm": ">=6" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", - "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { - "@babel/core": "^7.0.0 || ^8.0.0-0" + "@testing-library/dom": ">=7.21.4" } }, - "node_modules/babel-preset-jest": { - "version": "30.4.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.4.0.tgz", - "integrity": "sha512-lBY4jxsNmCnSiu7kquw8ZC9F4+XLMOKypT3RnNHPvU2Kpd4W0xaPuLr5ZkRyOsvLYAY4yaW1ZwTW4xB7NIiZzg==", + "node_modules/@tokenizer/inflate": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.4.1.tgz", + "integrity": "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==", "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "30.4.0", - "babel-preset-current-node-syntax": "^1.2.0" + "debug": "^4.4.3", + "token-types": "^6.1.1" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": ">=18" }, - "peerDependencies": { - "@babel/core": "^7.11.0 || ^8.0.0-beta.1" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", "dev": true, "license": "MIT" }, - "node_modules/bare-events": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", - "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", "dev": true, - "license": "Apache-2.0", - "peerDependencies": { - "bare-abort-controller": "*" - }, - "peerDependenciesMeta": { - "bare-abort-controller": { - "optional": true - } - } + "license": "MIT" }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT" }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.37", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.37.tgz", - "integrity": "sha512-girxaJ7WZssDOFhzCGZTDKoTa1gk6A1TbflaYTpykLJ4UU9Fz9kx1aREM8JCuoVHbL8X8T/mJg7w2oYSq72Oig==", + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } + "license": "MIT" }, - "node_modules/bignumber.js": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", - "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", - "license": "MIT", - "engines": { - "node": "*" - } + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" }, - "node_modules/binary-version": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/binary-version/-/binary-version-7.1.0.tgz", - "integrity": "sha512-Iy//vPc3ANPNlIWd242Npqc8MK0a/i4kVcHDlDA6HNMv5zMxz4ulIFhOSYJVKw/8AbHdHy0CnGYEt1QqSXxPsw==", + "node_modules/@turbo/darwin-64": { + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/@turbo/darwin-64/-/darwin-64-2.9.17.tgz", + "integrity": "sha512-io5jn5RDeU+9YV78rWhwG++HD/OZ/Lxg1sg93+jDGKQNP3UDxY6RX2dmarbCILhNxNuAM8FH3WgGMY9E96Mf8w==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "execa": "^8.0.1", - "find-versions": "^6.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/binary-version-check": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/binary-version-check/-/binary-version-check-6.1.0.tgz", - "integrity": "sha512-REKdLKmuViV2WrtWXvNSiPX04KbIjfUV3Cy8batUeOg+FtmowavzJorfFhWq95cVJzINnL/44ixP26TrdJZACA==", + "node_modules/@turbo/darwin-arm64": { + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/@turbo/darwin-arm64/-/darwin-arm64-2.9.17.tgz", + "integrity": "sha512-83YZTYmN2sxFWf2LTMOwqbOvR3qZMa/TSFwnB6BHVBbIWyoPPe+TAdSTd8KevEx8ml8KkycJ/9A70DFVReyUww==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "binary-version": "^7.1.0", - "semver": "^7.6.0", - "semver-truncate": "^3.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/binary-version/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "node_modules/@turbo/linux-64": { + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/@turbo/linux-64/-/linux-64-2.9.17.tgz", + "integrity": "sha512-teKfwJg0zSC+C2ZSOsX3VnAJGVgcN+pgKNmnGWzcpXQ9eIkAQtYP+getrQ2f1Tw/ePudnreQhq8tVP8S73Vy6Q==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "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" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/binary-version/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "node_modules/@turbo/linux-arm64": { + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/@turbo/linux-arm64/-/linux-arm64-2.9.17.tgz", + "integrity": "sha512-mqO36x2CNtJ9CCbEf5xOqH662tVSc1wB0mxh7dopBpgXg0fEifdzwX0IEAUW1WUAaNH986L7iEUUgw3HNqUWgg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/binary-version/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "node_modules/@turbo/windows-64": { + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/@turbo/windows-64/-/windows-64-2.9.17.tgz", + "integrity": "sha512-jbyoNePufyMoSSrvVr+/mglcjmya/MOgoIrSHPr67iZ1VFgrlMQXHXtptR2lR48gi+86b1XBvsviJZ9A7zrydg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/binary-version/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "node_modules/@turbo/windows-arm64": { + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/@turbo/windows-arm64/-/windows-arm64-2.9.17.tgz", + "integrity": "sha512-+ql0wYc99Y2AMvyHCcC/P+xtyV4nz522L+C9HDnyi7ryHXBGM+ZjBP28M7SLBGMDImgpN8sk2szpgbvreMeXVA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/binary-version/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", "license": "MIT", + "optional": true, "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "tslib": "^2.4.0" } }, - "node_modules/binary-version/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/binary-version/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@babel/types": "^7.0.0" } }, - "node_modules/bind-event-listener": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bind-event-listener/-/bind-event-listener-3.0.0.tgz", - "integrity": "sha512-PJvH288AWQhKs2v9zyfYdPzlPqf5bXbGMmhmUIY9x4dAUGIWgomO771oBQNwJnMQSnUIXhKu6sgzpBRXTlvb8Q==", - "license": "MIT" - }, - "node_modules/body-parser": { - "version": "1.20.5", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", - "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "~3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.15.1", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "@babel/types": "^7.28.2" } }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" + "@types/connect": "*", + "@types/node": "*" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/@types/chroma-js": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/chroma-js/-/chroma-js-3.1.2.tgz", + "integrity": "sha512-YBTQqArPN8A0niHXCwrO1z5x++a+6l0mLBykncUpr23oIPW7L4h39s6gokdK/bDrPmSh8+TjMmrhBPnyiaWPmQ==", "dev": true, "license": "MIT" }, - "node_modules/brace-expansion": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", - "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "node_modules/@types/color-hash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/color-hash/-/color-hash-2.0.0.tgz", + "integrity": "sha512-wVZU2AthjkuxcK8IQl2lpVzWZxu/nuOoQfEBv0cxsbV8mVlCiPExNaw9/Z1PBC0ostupYr8KbTmT2J4+qrOW7w==", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } + "license": "MIT" }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" + "@types/node": "*" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/@types/express": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/serve-static": "^2" } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "node_modules/@types/express-serve-static-core": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", "dev": true, "license": "MIT", - "engines": { - "node": "*" + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "node_modules/@types/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", "dev": true, "license": "MIT" }, - "node_modules/byte-counter": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/byte-counter/-/byte-counter-0.1.0.tgz", - "integrity": "sha512-jheRLVMeUKrDBjVw2O5+k4EvR4t9wtxHL+bo/LxfkxsVeuGMy3a5SEGgXdAFA4FSzTrU8rQXQIrsZ3oBq5a0pQ==", + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } + "license": "MIT" }, - "node_modules/cacheable-lookup": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=14.16" + "dependencies": { + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/cacheable-request": { - "version": "13.0.18", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-13.0.18.tgz", - "integrity": "sha512-rFWadDRKJs3s2eYdXlGggnBZKG7MTblkFBB0YllFds+UYnfogDp2wcR6JN97FhRkHTvq59n2vhNoHNZn29dh/Q==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/http-cache-semantics": "^4.0.4", - "get-stream": "^9.0.1", - "http-cache-semantics": "^4.2.0", - "keyv": "^5.5.5", - "mimic-response": "^4.0.0", - "normalize-url": "^8.1.1", - "responselike": "^4.0.2" - }, - "engines": { - "node": ">=18" + "@types/istanbul-lib-report": "*" } }, - "node_modules/cacheable-request/node_modules/keyv": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", - "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", + "node_modules/@types/jest": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", + "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", "dev": true, "license": "MIT", "dependencies": { - "@keyv/serialize": "^1.1.1" + "expect": "^30.0.0", + "pretty-format": "^30.0.0" } }, - "node_modules/call-bind": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", - "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "get-intrinsic": "^1.3.0", - "set-function-length": "^1.2.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "30.3.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", + "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", + "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" + "@jest/schemas": "30.0.5", + "ansi-styles": "^5.2.0", + "react-is": "^18.3.1" }, "engines": { - "node": ">= 0.4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jsdom": { + "version": "21.1.7", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", + "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", + "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", + "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.6.0.tgz", + "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==", + "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "undici-types": "~7.19.0" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", + "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", "license": "MIT", - "engines": { - "node": ">=6" + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.2.2" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001799", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", - "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*" + } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@types/node": "*" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/@types/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*" } }, - "node_modules/chroma-js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-3.2.0.tgz", - "integrity": "sha512-os/OippSlX1RlWWr+QDPcGUZs0uoqr32urfxESG9U93lhUfbnlyckte84Q8P1UQY/qth983AS1JONKmLS4T0nw==", - "license": "(BSD-3-Clause AND Apache-2.0)" - }, - "node_modules/ci-info": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", - "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/cjs-module-lexer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", - "integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==", + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true, "license": "MIT" }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" + "@types/yargs-parser": "*" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", "dev": true, "license": "MIT" }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, + "node_modules/@uiw/codemirror-extensions-basic-setup": { + "version": "4.25.9", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.25.9.tgz", + "integrity": "sha512-QFAqr+pu6lDmNpAlecODcF49TlsrZ0bj15zPzfhiqSDl+Um3EsDLFLppixC7kFLn+rdDM2LTvVjn5CPvefpRgw==", "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@codemirror/autocomplete": ">=6.0.0", + "@codemirror/commands": ">=6.0.0", + "@codemirror/language": ">=6.0.0", + "@codemirror/lint": ">=6.0.0", + "@codemirror/search": ">=6.0.0", + "@codemirror/state": ">=6.0.0", + "@codemirror/view": ">=6.0.0" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "node_modules/@uiw/react-codemirror": { + "version": "4.25.9", + "resolved": "https://registry.npmjs.org/@uiw/react-codemirror/-/react-codemirror-4.25.9.tgz", + "integrity": "sha512-HftqCBUYShAOH0pGi1CHP8vfm5L8fQ3+0j0VI6lQD6QpK+UBu3J7nxfEN5O/BXMilMNf9ZyFJRvRcuMMOLHMng==", "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "@babel/runtime": "^7.18.6", + "@codemirror/commands": "^6.1.0", + "@codemirror/state": "^6.1.1", + "@codemirror/theme-one-dark": "^6.0.0", + "@uiw/codemirror-extensions-basic-setup": "4.25.9", + "codemirror": "^6.0.0" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://jaywcjlove.github.io/#/sponsor" + }, + "peerDependencies": { + "@babel/runtime": ">=7.11.0", + "@codemirror/state": ">=6.0.0", + "@codemirror/theme-one-dark": ">=6.0.0", + "@codemirror/view": ">=6.0.0", + "codemirror": ">=6.0.0", + "react": ">=17.0.0", + "react-dom": ">=17.0.0" } }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "node_modules/@ungap/structured-clone": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", + "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", + "cpu": [ + "arm" + ], + "dev": true, "license": "MIT", - "engines": { - "node": ">=6" - } + "optional": true, + "os": [ + "android" + ] }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", + "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } + "optional": true, + "os": [ + "android" + ] }, - "node_modules/codemirror": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.2.tgz", - "integrity": "sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==", + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", + "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/commands": "^6.0.0", - "@codemirror/language": "^6.0.0", - "@codemirror/lint": "^6.0.0", - "@codemirror/search": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0" - } + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", + "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", + "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/collect-v8-coverage": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", - "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", + "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", + "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/color-hash": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/color-hash/-/color-hash-2.0.2.tgz", - "integrity": "sha512-6exeENAqBTuIR1wIo36mR8xVVBv6l1hSLd7Qmvf6158Ld1L15/dbahR9VUOiX7GmGJBCnQyS0EY+I8x+wa7egg==", - "license": "MIT" + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", + "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", + "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", + "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "cpu": [ + "loong64" + ], + "dev": true, "license": "MIT", - "engines": { - "node": ">=16" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/complex.js": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.4.3.tgz", - "integrity": "sha512-UrQVSUur14tNX6tiP4y8T4w4FeJAX3bi2cIv0pu/DTLFNxoq7z2Yh83Vfzztj6Px3X/lubqQ9IrPp7Bpn6p4MQ==", + "node_modules/@unrs/resolver-binding-linux-loong64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", + "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "cpu": [ + "loong64" + ], + "dev": true, "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", + "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/concurrently": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-10.0.3.tgz", - "integrity": "sha512-hc3LH4UaKWd/bbyDK/IGVa4RB6PtQ3CUYwtrkzqHn+wIG3Hr5fhpRlk0L/gCa8ZE1L/Ufj50Zho69cI5w8SQBA==", + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", + "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "dependencies": { - "chalk": "5.6.2", - "rxjs": "7.8.2", - "shell-quote": "1.8.4", - "supports-color": "10.2.2", - "tree-kill": "1.2.2", - "yargs": "18.0.0" - }, - "bin": { - "conc": "dist/bin/index.js", - "concurrently": "dist/bin/index.js" - }, - "engines": { - "node": ">=22" - }, - "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/concurrently/node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", + "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/concurrently/node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", + "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/concurrently/node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", + "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/concurrently/node_modules/cliui": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", - "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", + "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=20" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/concurrently/node_modules/emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "node_modules/@unrs/resolver-binding-openharmony-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", + "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] }, - "node_modules/concurrently/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", + "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", + "cpu": [ + "wasm32" + ], "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.0.0" } }, - "node_modules/concurrently/node_modules/strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", + "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.2.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/concurrently/node_modules/supports-color": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", - "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", + "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/concurrently/node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", + "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/concurrently/node_modules/yargs": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", - "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "node_modules/@xhmikosr/archive-type": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/archive-type/-/archive-type-8.0.1.tgz", + "integrity": "sha512-toXuiWChyfOpEiCPsIw6HGHaNji5LVkvB6EREL548vGWr+hGaehwxG4LzN20vm9aGFXwnA/Jty8yW2/SmV+1zQ==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^9.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "string-width": "^7.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^22.0.0" + "file-type": "^21.3.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" + "node": ">=20" } }, - "node_modules/concurrently/node_modules/yargs-parser": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", - "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "node_modules/@xhmikosr/bin-check": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/bin-check/-/bin-check-8.2.1.tgz", + "integrity": "sha512-DNruLq+kalxcE7JeDxtqrN9kyWjLW8VqsQPLRTwD1t9ck/1rF4qBL0mX5Fe2/xLOMjo5wPb67BNX2kSAhzfLjA==", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "execa": "^9.6.1", + "isexe": "^4.0.0" + }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" + "node": ">=20" } }, - "node_modules/content-disposition": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", - "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "node_modules/@xhmikosr/bin-wrapper": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@xhmikosr/bin-wrapper/-/bin-wrapper-14.2.3.tgz", + "integrity": "sha512-F8Sr2O2aqwYfoXTafemRNAYDG4xwBTaHJpAo9YVnnnRXHLP9gkb+HYDsFoCAsCneS3/J7BOfeYnxxlUCicLqjg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" + "dependencies": { + "@xhmikosr/bin-check": "^8.2.1", + "@xhmikosr/downloader": "^16.1.2", + "@xhmikosr/os-filter-obj": "^4.0.0", + "binary-version-check": "^6.1.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "engines": { + "node": ">=20" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/@xhmikosr/decompress": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress/-/decompress-11.1.2.tgz", + "integrity": "sha512-f2hlnMN1ChbifAfdzWns6mssojjr3lgJm6MtT4ttVAClx85QEIQAdGXN22bPqy/qKxbvDf93GdqbR6+xIO/a4A==", "dev": true, "license": "MIT", + "dependencies": { + "@xhmikosr/decompress-tar": "^9.0.1", + "@xhmikosr/decompress-tarbz2": "^9.0.1", + "@xhmikosr/decompress-targz": "^9.0.1", + "@xhmikosr/decompress-unzip": "^8.1.0", + "graceful-fs": "^4.2.11", + "strip-dirs": "^3.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=20" } }, - "node_modules/convert-hrtime": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", - "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "node_modules/@xhmikosr/decompress-tar": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tar/-/decompress-tar-9.0.1.tgz", + "integrity": "sha512-4AkVR1SoqTxYY22IRRYKDeLirPIDGqMqYsqgjKYuwhgRcBb+yDP4t5Xph33UCzL/nahK/aADmlMEjTNstbX7kw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "file-type": "^21.3.0", + "is-stream": "^4.0.1", + "tar-stream": "3.1.7" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=20" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "license": "MIT", - "peer": true - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "node_modules/@xhmikosr/decompress-tarbz2": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-tarbz2/-/decompress-tarbz2-9.0.1.tgz", + "integrity": "sha512-aFONnsbqEOuXudvK7V7wB8dcEAKR389oUYQfZhrQZA8OtogJpDjrUAvEH3Qlc9yFqTU6r5/svTEcRwtXhoIJbQ==", "dev": true, "license": "MIT", + "dependencies": { + "@xhmikosr/decompress-tar": "^9.0.0", + "file-type": "^21.3.0", + "is-stream": "^4.0.1", + "seek-bzip": "^2.0.0", + "unbzip2-stream": "^1.4.3" + }, "engines": { - "node": ">= 0.6" + "node": ">=20" } }, - "node_modules/cookie-signature": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", - "dev": true, - "license": "MIT" - }, - "node_modules/core-js": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz", - "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==", + "node_modules/@xhmikosr/decompress-targz": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-targz/-/decompress-targz-9.0.1.tgz", + "integrity": "sha512-1JXu2b6yrpm5EuBoOzMU57B4qrHXJKWQQ7LlMynNEiz85mEjDciO3ayf//GXaTLLCEKiHjWlU3q3THjgf7uODA==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "license": "MIT", - "peer": true, "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" + "@xhmikosr/decompress-tar": "^9.0.0", + "file-type": "^21.3.0", + "is-stream": "^4.0.1" }, "engines": { - "node": ">=10" + "node": ">=20" } }, - "node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", - "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", - "license": "ISC", - "peer": true, + "node_modules/@xhmikosr/decompress-unzip": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@xhmikosr/decompress-unzip/-/decompress-unzip-8.1.1.tgz", + "integrity": "sha512-/B+Z0qJflGn5UEtmMZ2qeKeXwexOycxaibYhMOyLcRPJriXs4IkoSngVUVZXLYViu9TdHyFWynC6NB4EWBg8cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "file-type": "^21.3.4", + "get-stream": "^9.0.1", + "yauzl": "^3.3.0" + }, "engines": { - "node": ">= 6" + "node": ">=20" } }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "node_modules/@xhmikosr/downloader": { + "version": "16.1.2", + "resolved": "https://registry.npmjs.org/@xhmikosr/downloader/-/downloader-16.1.2.tgz", + "integrity": "sha512-31KQzQ6p4Rwnbo/gwTe4/Z+hVRcC8YoH/8f5xl+so1Oqqah5u1R3CGte8od+wOyNVfZ77DFijwy1umHk2NT6ZQ==", "dev": true, - "license": "MIT" - }, - "node_modules/crelt": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", - "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==", - "license": "MIT" - }, - "node_modules/cron-parser": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.9.0.tgz", - "integrity": "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==", "license": "MIT", "dependencies": { - "luxon": "^3.2.1" + "@xhmikosr/archive-type": "^8.0.1", + "@xhmikosr/decompress": "^11.1.1", + "content-disposition": "^1.1.0", + "ext-name": "^5.0.0", + "file-type": "^21.3.4", + "filenamify": "^7.0.1", + "get-stream": "^9.0.1", + "got": "^14.6.6" }, "engines": { - "node": ">=12.0.0" + "node": ">=20" } }, - "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "node_modules/@xhmikosr/os-filter-obj": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@xhmikosr/os-filter-obj/-/os-filter-obj-4.0.0.tgz", + "integrity": "sha512-CBJYipR5lrtQQZl9ylarWyh1qhcs/tMy9ydSHte/Hefn3ev8NMvS3ss+eqiXEoBr2wBVgKj2qjcViXO9P/8K4A==", "dev": true, "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" + "arch": "^3.0.0" }, "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" + "node": ">=20" } }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">= 8" + "node": ">= 0.6" } }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, - "license": "MIT" + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "node_modules/cssstyle": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", - "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", "dev": true, "license": "MIT", "dependencies": { - "@asamuzakjp/css-color": "^3.2.0", - "rrweb-cssom": "^0.8.0" + "acorn": "^8.11.0" }, "engines": { - "node": ">=18" + "node": ">=0.4.0" } }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "license": "MIT" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "devOptional": true, + "node_modules/adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", "license": "MIT", "engines": { - "node": ">= 12" + "node": ">=6.0" } }, - "node_modules/data-urls": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", - "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", - "dependencies": { - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0" - }, "engines": { - "node": ">=18" + "node": ">= 14" } }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" + "ajv": "^8.0.0" }, - "engines": { - "node": ">= 0.4" + "peerDependencies": { + "ajv": "^8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, "funding": { - "url": "https://github.com/sponsors/inspect-js" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/ansi_up": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/ansi_up/-/ansi_up-6.0.6.tgz", + "integrity": "sha512-yIa1x3Ecf8jWP4UWEunNjqNX6gzE4vg2gGz+xqRGY+TBSucnYp6RRdPV4brmtg6bQ1ljD48mZ5iGSEj7QEpRKA==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "type-fest": "^0.21.3" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", - "license": "MIT", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/kossnocorp" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/date-fns-tz": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-3.2.0.tgz", - "integrity": "sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==", + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "license": "MIT", - "peerDependencies": { - "date-fns": "^3.0.0 || ^4.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.3" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.0" + "node": ">=8" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/decimal.js": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", - "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", - "license": "MIT" - }, - "node_modules/decompress-response": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-10.0.0.tgz", - "integrity": "sha512-oj7KWToJuuxlPr7VV0vabvxEIiqNMo+q0NueIiL3XhtwC6FVOX7Hr1c0C4eD0bmf7Zr+S/dSf2xvkH3Ad6sU3Q==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "mimic-response": "^4.0.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/dedent": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", - "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" + "engines": { + "node": ">=8.6" }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "node_modules/arch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-3.0.0.tgz", + "integrity": "sha512-AmIAC+Wtm2AU8lGfTtHsw0Y9Qtftx2YXEEtiBP10xFUtMOA+sHHx6OAddyL52mUKh1vsXQ6/w1mVDptZCyUt4Q==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT" }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "license": "MIT" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-jest": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.4.1.tgz", + "integrity": "sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw==", "dev": true, "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" + "@jest/transform": "30.4.1", + "@types/babel__core": "^7.20.5", + "babel-plugin-istanbul": "^7.0.1", + "babel-preset-jest": "30.4.0", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-0" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "node_modules/babel-plugin-istanbul": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz", + "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", + "workspaces": [ + "test/babel-8" + ], "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-instrument": "^6.0.2", + "test-exclude": "^6.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/babel-plugin-jest-hoist": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.4.0.tgz", + "integrity": "sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==", "dev": true, "license": "MIT", + "dependencies": { + "@types/babel__core": "^7.20.5" + }, "engines": { - "node": ">= 0.8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, "engines": { - "node": ">=6" + "node": ">=10", + "npm": ">=6" } }, - "node_modules/destroy": { + "node_modules/babel-preset-current-node-syntax": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/babel-preset-jest": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.4.0.tgz", + "integrity": "sha512-lBY4jxsNmCnSiu7kquw8ZC9F4+XLMOKypT3RnNHPvU2Kpd4W0xaPuLr5ZkRyOsvLYAY4yaW1ZwTW4xB7NIiZzg==", "dev": true, "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "30.4.0", + "babel-preset-current-node-syntax": "^1.2.0" + }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0 || ^8.0.0-beta.1" } }, - "node_modules/diff": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", - "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.37", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.37.tgz", + "integrity": "sha512-girxaJ7WZssDOFhzCGZTDKoTa1gk6A1TbflaYTpykLJ4UU9Fz9kx1aREM8JCuoVHbL8X8T/mJg7w2oYSq72Oig==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" }, "engines": { "node": ">=6.0.0" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true, - "license": "MIT" - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "node_modules/bignumber.js": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" + "engines": { + "node": "*" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "node_modules/binary-version": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/binary-version/-/binary-version-7.1.0.tgz", + "integrity": "sha512-Iy//vPc3ANPNlIWd242Npqc8MK0a/i4kVcHDlDA6HNMv5zMxz4ulIFhOSYJVKw/8AbHdHy0CnGYEt1QqSXxPsw==", + "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" + "execa": "^8.0.1", + "find-versions": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "node_modules/binary-version-check": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/binary-version-check/-/binary-version-check-6.1.0.tgz", + "integrity": "sha512-REKdLKmuViV2WrtWXvNSiPX04KbIjfUV3Cy8batUeOg+FtmowavzJorfFhWq95cVJzINnL/44ixP26TrdJZACA==", "dev": true, - "license": "MIT" - }, - "node_modules/echarts": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz", - "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==", - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "tslib": "2.3.0", - "zrender": "5.5.0" + "binary-version": "^7.1.0", + "semver": "^7.6.0", + "semver-truncate": "^3.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/echarts/node_modules/tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", - "license": "0BSD" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true, - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.373", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.373.tgz", - "integrity": "sha512-G2Hym8JIf/QreuseqkDibgH8Ci8KfJzqGDKdakbhSx9UltwRBH2cBLAWU/lBX0sCdv0TlhyxQyDCnSfxgMWsjA==", - "dev": true, - "license": "ISC" - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "node_modules/binary-version/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "license": "MIT", + "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" + }, "engines": { - "node": ">=12" + "node": ">=16.17" }, "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "node_modules/binary-version/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "node_modules/binary-version/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "^0.6.2" + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" } }, - "node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "node_modules/binary-version/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "engines": { - "node": ">=0.12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "node_modules/binary-version/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "node_modules/binary-version/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "license": "MIT", - "dependencies": { - "stackframe": "^1.3.4" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-abstract": { - "version": "1.24.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", - "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", + "node_modules/binary-version/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "node_modules/bind-event-listener": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bind-event-listener/-/bind-event-listener-3.0.0.tgz", + "integrity": "sha512-PJvH288AWQhKs2v9zyfYdPzlPqf5bXbGMmhmUIY9x4dAUGIWgomO771oBQNwJnMQSnUIXhKu6sgzpBRXTlvb8Q==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "dev": true, "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/es-iterator-helpers": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.2.tgz", - "integrity": "sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==", + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.9", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.2", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.1.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.3.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.5", - "math-intrinsics": "^1.1.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" + "balanced-match": "^1.0.0" } }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">= 0.4" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" + "node-int64": "^0.4.0" } }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true, "license": "MIT" }, - "node_modules/escape-latex": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz", - "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/byte-counter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/byte-counter/-/byte-counter-0.1.0.tgz", + "integrity": "sha512-jheRLVMeUKrDBjVw2O5+k4EvR4t9wtxHL+bo/LxfkxsVeuGMy3a5SEGgXdAFA4FSzTrU8rQXQIrsZ3oBq5a0pQ==", + "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 0.8" } }, - "node_modules/eslint-config-prettier": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.2.tgz", - "integrity": "sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==", + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", "dev": true, "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "engines": { + "node": ">=14.16" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz", - "integrity": "sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==", + "node_modules/cacheable-request": { + "version": "13.0.18", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-13.0.18.tgz", + "integrity": "sha512-rFWadDRKJs3s2eYdXlGggnBZKG7MTblkFBB0YllFds+UYnfogDp2wcR6JN97FhRkHTvq59n2vhNoHNZn29dh/Q==", "dev": true, "license": "MIT", "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.16.1", - "resolve": "^2.0.0-next.6" + "@types/http-cache-semantics": "^4.0.4", + "get-stream": "^9.0.1", + "http-cache-semantics": "^4.2.0", + "keyv": "^5.5.5", + "mimic-response": "^4.0.0", + "normalize-url": "^8.1.1", + "responselike": "^4.0.2" + }, + "engines": { + "node": ">=18" } }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/cacheable-request/node_modules/keyv": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "@keyv/serialize": "^1.1.1" } }, - "node_modules/eslint-import-resolver-node/node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", - "dev": true, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "node-exports-info": "^1.6.0", - "object-keys": "^1.1.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "function-bind": "^1.1.2" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { "node": ">= 0.4" @@ -9371,1906 +7895,1728 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001799", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", + "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } + ], + "license": "CC-BY-4.0" }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "engines": { + "node": ">=10" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } + "node_modules/chroma-js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/chroma-js/-/chroma-js-3.2.0.tgz", + "integrity": "sha512-os/OippSlX1RlWWr+QDPcGUZs0uoqr32urfxESG9U93lhUfbnlyckte84Q8P1UQY/qth983AS1JONKmLS4T0nw==", + "license": "(BSD-3-Clause AND Apache-2.0)" }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "node_modules/cjs-module-lexer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", + "integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "license": "MIT" }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "dev": true, - "license": "MIT", "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + "node": ">=12" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } + "license": "MIT" }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/eslint-plugin-prettier": { - "version": "5.5.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz", - "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.1", - "synckit": "^0.11.12" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + "node": ">=6" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/eslint-plugin-react/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "dev": true, + "node_modules/codemirror": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.2.tgz", + "integrity": "sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" } }, - "node_modules/eslint-plugin-react/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "node_modules/collect-v8-coverage": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", + "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } + "license": "MIT" }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "node-exports-info": "^1.6.0", - "object-keys": "^1.1.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=7.0.0" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/color-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/color-hash/-/color-hash-2.0.2.tgz", + "integrity": "sha512-6exeENAqBTuIR1wIo36mR8xVVBv6l1hSLd7Qmvf6158Ld1L15/dbahR9VUOiX7GmGJBCnQyS0EY+I8x+wa7egg==", + "license": "MIT" }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "license": "MIT" + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=16" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", + "node_modules/complex.js": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.4.3.tgz", + "integrity": "sha512-UrQVSUur14tNX6tiP4y8T4w4FeJAX3bi2cIv0pu/DTLFNxoq7z2Yh83Vfzztj6Px3X/lubqQ9IrPp7Bpn6p4MQ==", + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "*" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "github", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "license": "MIT" }, - "node_modules/eslint/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "node_modules/concurrently": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-10.0.3.tgz", + "integrity": "sha512-hc3LH4UaKWd/bbyDK/IGVa4RB6PtQ3CUYwtrkzqHn+wIG3Hr5fhpRlk0L/gCa8ZE1L/Ufj50Zho69cI5w8SQBA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "chalk": "5.6.2", + "rxjs": "7.8.2", + "shell-quote": "1.8.4", + "supports-color": "10.2.2", + "tree-kill": "1.2.2", + "yargs": "18.0.0" + }, + "bin": { + "conc": "dist/bin/index.js", + "concurrently": "dist/bin/index.js" }, "engines": { - "node": "*" + "node": ">=22" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/concurrently/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/concurrently/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "node_modules/concurrently/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, + "license": "MIT", "engines": { - "node": ">=0.10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/concurrently/node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC", "dependencies": { - "estraverse": "^5.2.0" + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" + "node": ">=20" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/concurrently/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/concurrently/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/events-universal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", - "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", - "dev": true, - "license": "Apache-2.0", "dependencies": { - "bare-events": "^2.7.0" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/execa": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", - "integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==", + "node_modules/concurrently/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "dev": true, "license": "MIT", "dependencies": { - "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.6", - "figures": "^6.1.0", - "get-stream": "^9.0.0", - "human-signals": "^8.0.1", - "is-plain-obj": "^4.1.0", - "is-stream": "^4.0.1", - "npm-run-path": "^6.0.0", - "pretty-ms": "^9.2.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.1.1" + "ansi-regex": "^6.2.2" }, "engines": { - "node": "^18.19.0 || >=20.5.0" + "node": ">=12" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/exit-x": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", - "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", + "node_modules/concurrently/node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "node_modules/concurrently/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, "license": "MIT", "dependencies": { - "homedir-polyfill": "^1.0.1" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/expect": { - "version": "30.4.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-30.4.1.tgz", - "integrity": "sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==", + "node_modules/concurrently/node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/expect-utils": "30.4.1", - "@jest/get-type": "30.1.0", - "jest-matcher-utils": "30.4.1", - "jest-message-util": "30.4.1", - "jest-mock": "30.4.1", - "jest-util": "30.4.1" + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" }, "engines": { - "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + "node": "^20.19.0 || ^22.12.0 || >=23" } }, - "node_modules/express": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", - "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.5", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.15.1", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, + "node_modules/concurrently/node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", "engines": { - "node": ">= 0.10.0" + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, "engines": { "node": ">= 0.6" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", "dev": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT", + "peer": true }, - "node_modules/ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", - "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true, "license": "MIT", - "dependencies": { - "mime-db": "^1.28.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", - "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz", + "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==", "dev": true, + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "license": "MIT", + "peer": true, "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/fast-equals": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-4.0.3.tgz", - "integrity": "sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==", - "license": "MIT" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "dev": true, - "license": "MIT" + "node_modules/cosmiconfig/node_modules/yaml": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">= 6" + } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true, "license": "MIT" }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==", "license": "MIT" }, - "node_modules/fast-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", - "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" + "node_modules/cron-parser": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.9.0.tgz", + "integrity": "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==", + "license": "MIT", + "dependencies": { + "luxon": "^3.2.1" + }, + "engines": { + "node": ">=12.0.0" + } }, - "node_modules/fastq": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", - "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "reusify": "^1.0.4" + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "bser": "2.1.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" + "dependencies": { + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "engines": { + "node": ">=18" } }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "devOptional": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "devOptional": true, "license": "MIT", - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, "engines": { - "node": "^12.20 || >= 14.13" + "node": ">= 12" } }, - "node_modules/figures": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", - "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", "dev": true, "license": "MIT", "dependencies": { - "is-unicode-supported": "^2.0.0" + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" }, "engines": { "node": ">=18" - }, + } + }, + "node_modules/date-fns": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "license": "MIT", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, + "node_modules/date-fns-tz": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-3.2.0.tgz", + "integrity": "sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==", + "license": "MIT", + "peerDependencies": { + "date-fns": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "ms": "^2.1.3" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/file-type": { - "version": "21.3.4", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.4.tgz", - "integrity": "sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==", + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "license": "MIT" + }, + "node_modules/decompress-response": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-10.0.0.tgz", + "integrity": "sha512-oj7KWToJuuxlPr7VV0vabvxEIiqNMo+q0NueIiL3XhtwC6FVOX7Hr1c0C4eD0bmf7Zr+S/dSf2xvkH3Ad6sU3Q==", "dev": true, "license": "MIT", "dependencies": { - "@tokenizer/inflate": "^0.4.1", - "strtok3": "^10.3.4", - "token-types": "^6.1.1", - "uint8array-extras": "^1.4.0" + "mimic-response": "^4.0.0" }, "engines": { "node": ">=20" }, "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/filename-reserved-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-4.0.0.tgz", - "integrity": "sha512-9ZT504KxEQDamsOogZImAWGEN24R1uFAxU3ZS4AZqn2ooidmN68Olh7n4/RcA4lLatZztjA0ZSuxeLHVoCc8JA==", + "node_modules/dedent": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.2.tgz", + "integrity": "sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=20" + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/filenamify": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-7.0.1.tgz", - "integrity": "sha512-9b4rfnaX2MkJCgp27wypV6DAMvj4WMOSgJ+TdcpJIO84Dql+Cv6iJjdG4XDTLubOWkfNiBv3joO59sau/TXw+Q==", + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "license": "MIT", - "dependencies": { - "filename-reserved-regex": "^4.0.0" - }, "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/finalhandler": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", - "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "statuses": "~2.0.2", - "unpipe": "~1.0.0" - }, "engines": { "node": ">= 0.8" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "license": "MIT" - }, - "node_modules/find-file-up": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-2.0.1.tgz", - "integrity": "sha512-qVdaUhYO39zmh28/JLQM5CoYN9byEOKEH4qfa8K1eNV17W0UUMJ9WgbR/hHFH+t5rcl+6RTb5UC7ck/I+uRkpQ==", "license": "MIT", - "dependencies": { - "resolve-dir": "^1.0.1" - }, "engines": { - "node": ">=8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/find-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-2.0.0.tgz", - "integrity": "sha512-WgZ+nKbELDa6N3i/9nrHeNznm+lY3z4YfhDDWgW+5P0pdmMj26bxaxU11ookgY3NyP9GC7HvZ9etp0jRFqGEeQ==", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, "license": "MIT", - "dependencies": { - "find-file-up": "^2.0.1" - }, "engines": { "node": ">=8" } }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "license": "MIT", - "peer": true + "node_modules/diff": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true, + "license": "MIT" + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" } }, - "node_modules/find-versions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", - "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", - "dev": true, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "license": "MIT", "dependencies": { - "semver-regex": "^4.0.5", - "super-regex": "^1.0.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4" } }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/echarts": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz", + "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==", + "license": "Apache-2.0", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "tslib": "2.3.0", + "zrender": "5.5.0" } }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "node_modules/echarts/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.373", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.373.tgz", + "integrity": "sha512-G2Hym8JIf/QreuseqkDibgH8Ci8KfJzqGDKdakbhSx9UltwRBH2cBLAWU/lBX0sCdv0TlhyxQyDCnSfxgMWsjA==", "dev": true, "license": "ISC" }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "license": "MIT" }, - "node_modules/form-data-encoder": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-4.1.0.tgz", - "integrity": "sha512-G6NsmEW15s0Uw9XnCg+33H3ViYRyiM0hMrMhhqQOR8NFc5GhYrI+6I3u7OTw7b91J2g8rtvMBZJDbcGb2YUniw==", + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 18" + "node": ">= 0.8" } }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "devOptional": true, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, "license": "MIT", "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" + "iconv-lite": "^0.6.2" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": "*" + "node": ">=0.12" }, "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", "license": "MIT", - "engines": { - "node": ">= 0.6" + "dependencies": { + "is-arrayish": "^0.2.1" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "dependencies": { + "stackframe": "^1.3.4" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.4" } }, - "node_modules/function-timeout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", - "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", - "dev": true, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4" } }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" + "es-errors": "^1.3.0" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/generator-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=6" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "license": "MIT" }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } + "node_modules/escape-latex": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz", + "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==", + "license": "MIT" }, - "node_modules/get-east-asian-width": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", - "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", - "dev": true, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "license": "MIT", + "peer": true, "engines": { - "node": ">=18" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">= 0.4" + "node": ">=4" } }, - "node_modules/get-stream": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "license": "MIT", - "dependencies": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" - }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bare-events": "^2.7.0" } }, - "node_modules/glob": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "node_modules/execa": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz", + "integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.6", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.1", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.2.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.1.1" }, - "bin": { - "glob": "dist/esm/bin.mjs" + "engines": { + "node": "^18.19.0 || >=20.5.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/exit-x": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exit-x/-/exit-x-0.2.2.tgz", + "integrity": "sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, + "license": "MIT", "engines": { - "node": ">=10.13.0" + "node": ">= 0.8.0" } }, - "node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "license": "MIT", "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "homedir-polyfill": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "node_modules/expect": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.4.1.tgz", + "integrity": "sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==", + "dev": true, "license": "MIT", "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "@jest/expect-utils": "30.4.1", + "@jest/get-type": "30.1.0", + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-util": "30.4.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix/node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "node_modules/express": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.5", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.15.1", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, "engines": { - "node": ">=8" + "node": ">= 0.10.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/goober": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.18.tgz", - "integrity": "sha512-2vFqsaDVIT9Gz7N6kAL++pLpp41l3PfDuusHcjnGLfR6+huZkl6ziX+zgVC3ZxpqWhzH6pyDdGrCeDhMIvwaxw==", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "license": "MIT", - "peerDependencies": { - "csstype": "^3.0.10" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" }, - "node_modules/got": { - "version": "14.6.6", - "resolved": "https://registry.npmjs.org/got/-/got-14.6.6.tgz", - "integrity": "sha512-QLV1qeYSo5l13mQzWgP/y0LbMr5Plr5fJilgAIwgnwseproEbtNym8xpLsDzeZ6MWXgNE6kdWGBjdh3zT/Qerg==", + "node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", "dev": true, "license": "MIT", "dependencies": { - "@sindresorhus/is": "^7.0.1", - "byte-counter": "^0.1.0", - "cacheable-lookup": "^7.0.0", - "cacheable-request": "^13.0.12", - "decompress-response": "^10.0.0", - "form-data-encoder": "^4.0.2", - "http2-wrapper": "^2.2.1", - "keyv": "^5.5.3", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^4.0.1", - "responselike": "^4.0.2", - "type-fest": "^4.26.1" + "mime-db": "^1.28.0" }, "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sindresorhus/got?sponsor=1" - } - }, - "node_modules/got/node_modules/keyv": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", - "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@keyv/serialize": "^1.1.1" + "node": ">=0.10.0" } }, - "node_modules/got/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" + "license": "MIT", + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-equals": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-4.0.3.tgz", + "integrity": "sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==", + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, "license": "MIT" }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "node_modules/fast-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", + "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=12.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "devOptional": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, "engines": { - "node": ">=8" + "node": "^12.20 || >= 14.13" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, "license": "MIT", "dependencies": { - "es-define-property": "^1.0.0" + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "node_modules/file-type": { + "version": "21.3.4", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.3.4.tgz", + "integrity": "sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==", "dev": true, "license": "MIT", "dependencies": { - "dunder-proto": "^1.0.0" + "@tokenizer/inflate": "^0.4.1", + "strtok3": "^10.3.4", + "token-types": "^6.1.1", + "uint8array-extras": "^1.4.0" }, "engines": { - "node": ">= 0.4" + "node": ">=20" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/file-type?sponsor=1" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "node_modules/filename-reserved-regex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-4.0.0.tgz", + "integrity": "sha512-9ZT504KxEQDamsOogZImAWGEN24R1uFAxU3ZS4AZqn2ooidmN68Olh7n4/RcA4lLatZztjA0ZSuxeLHVoCc8JA==", + "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=20" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "node_modules/filenamify": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-7.0.1.tgz", + "integrity": "sha512-9b4rfnaX2MkJCgp27wypV6DAMvj4WMOSgJ+TdcpJIO84Dql+Cv6iJjdG4XDTLubOWkfNiBv3joO59sau/TXw+Q==", "dev": true, "license": "MIT", "dependencies": { - "has-symbols": "^1.0.3" + "filename-reserved-regex": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=20" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dev": true, "license": "MIT", "dependencies": { - "function-bind": "^1.1.2" + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.8" } }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", - "peer": true, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", "dependencies": { - "react-is": "^16.7.0" + "ms": "2.0.0" } }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT", - "peer": true + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "node_modules/find-file-up": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-2.0.1.tgz", + "integrity": "sha512-qVdaUhYO39zmh28/JLQM5CoYN9byEOKEH4qfa8K1eNV17W0UUMJ9WgbR/hHFH+t5rcl+6RTb5UC7ck/I+uRkpQ==", "license": "MIT", "dependencies": { - "parse-passwd": "^1.0.0" + "resolve-dir": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/html-encoding-sniffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", - "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", - "dev": true, + "node_modules/find-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-2.0.0.tgz", + "integrity": "sha512-WgZ+nKbELDa6N3i/9nrHeNznm+lY3z4YfhDDWgW+5P0pdmMj26bxaxU11ookgY3NyP9GC7HvZ9etp0jRFqGEeQ==", "license": "MIT", "dependencies": { - "whatwg-encoding": "^3.1.1" + "find-file-up": "^2.0.1" }, "engines": { - "node": ">=18" + "node": ">=8" } }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true, - "license": "MIT" + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT", + "peer": true }, - "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "node_modules/find-versions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", + "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", "dev": true, - "license": "BSD-2-Clause" + "license": "MIT", + "dependencies": { + "semver-regex": "^4.0.5", + "super-regex": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">=14" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "node_modules/form-data-encoder": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-4.1.0.tgz", + "integrity": "sha512-G6NsmEW15s0Uw9XnCg+33H3ViYRyiM0hMrMhhqQOR8NFc5GhYrI+6I3u7OTw7b91J2g8rtvMBZJDbcGb2YUniw==", "dev": true, "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, "engines": { - "node": ">= 14" + "node": ">= 18" } }, - "node_modules/http2-wrapper": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", - "dev": true, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "devOptional": true, "license": "MIT", "dependencies": { - "quick-lru": "^5.1.1", - "resolve-alpn": "^1.2.0" + "fetch-blob": "^3.1.2" }, "engines": { - "node": ">=10.19.0" + "node": ">=12.20.0" } }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, "engines": { - "node": ">= 14" + "node": ">= 0.6" } }, - "node_modules/human-signals": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", - "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", - "dev": true, - "license": "Apache-2.0", + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", "engines": { - "node": ">=18.18.0" + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" + "license": "ISC" }, - "node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 4" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/immer": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz", - "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==", + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "license": "MIT", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "node_modules/function-timeout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", + "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", + "dev": true, "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, "engines": { - "node": ">=6" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.9.0" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=0.8.19" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, - "node_modules/inspect-with-kind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/inspect-with-kind/-/inspect-with-kind-1.0.5.tgz", - "integrity": "sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==", - "dev": true, - "license": "ISC", - "dependencies": { - "kind-of": "^6.0.2" + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" } }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, "engines": { - "node": ">= 0.10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">= 0.4" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "license": "MIT", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "license": "MIT", "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/goober": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.18.tgz", + "integrity": "sha512-2vFqsaDVIT9Gz7N6kAL++pLpp41l3PfDuusHcjnGLfR6+huZkl6ziX+zgVC3ZxpqWhzH6pyDdGrCeDhMIvwaxw==", + "license": "MIT", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -11278,60 +9624,78 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "node_modules/got": { + "version": "14.6.6", + "resolved": "https://registry.npmjs.org/got/-/got-14.6.6.tgz", + "integrity": "sha512-QLV1qeYSo5l13mQzWgP/y0LbMr5Plr5fJilgAIwgnwseproEbtNym8xpLsDzeZ6MWXgNE6kdWGBjdh3zT/Qerg==", "dev": true, "license": "MIT", "dependencies": { - "has-bigints": "^1.0.2" + "@sindresorhus/is": "^7.0.1", + "byte-counter": "^0.1.0", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^13.0.12", + "decompress-response": "^10.0.0", + "form-data-encoder": "^4.0.2", + "http2-wrapper": "^2.2.1", + "keyv": "^5.5.3", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^4.0.1", + "responselike": "^4.0.2", + "type-fest": "^4.26.1" }, "engines": { - "node": ">= 0.4" + "node": ">=20" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "node_modules/got/node_modules/keyv": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, + "@keyv/serialize": "^1.1.1" + } + }, + "node_modules/got/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">= 0.4" + "node": ">=16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/is-core-module": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", - "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "license": "MIT", - "dependencies": { - "hasown": "^2.0.3" - }, "engines": { "node": ">= 0.4" }, @@ -11339,281 +9703,306 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" + "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT", + "peer": true + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" + "parse-passwd": "^1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", "dev": true, "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">= 0.8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, "engines": { - "node": ">=8" + "node": ">= 14" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", "dev": true, "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, "engines": { - "node": ">=6" + "node": ">=10.19.0" } }, - "node_modules/is-generator-function": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" + "agent-base": "^7.1.2", + "debug": "4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 14" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/immer": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz", + "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==", "license": "MIT", - "engines": { - "node": ">= 0.4" - }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/immer" } }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "license": "MIT", + "peer": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.8.19" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "ISC" }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/inspect-with-kind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/inspect-with-kind/-/inspect-with-kind-1.0.5.tgz", + "integrity": "sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "kind-of": "^6.0.2" } }, - "node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.10" } }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" + "hasown": "^2.0.3" }, "engines": { "node": ">= 0.4" @@ -11622,79 +10011,70 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/is-unicode-supported": { + "node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-windows": { @@ -11706,13 +10086,6 @@ "node": ">=0.10.0" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, "node_modules/isexe": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", @@ -11803,24 +10176,6 @@ "node": ">=8" } }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -13740,29 +12095,6 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, - "node_modules/js-yaml": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", - "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/puzrin" - }, - { - "type": "github", - "url": "https://github.com/sponsors/nodeca" - } - ], - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/jsdom": { "version": "26.1.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", @@ -13815,33 +12147,12 @@ "node": ">=6" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "license": "MIT" }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -13862,32 +12173,6 @@ "dev": true, "license": "MIT" }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -13898,26 +12183,6 @@ "node": ">=0.10.0" } }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dev": true, - "license": "MIT", - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -13928,55 +12193,18 @@ "node": ">=6" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "license": "MIT" }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/lodash": { "version": "4.18.1", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, "node_modules/long-timeout": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/long-timeout/-/long-timeout-0.1.1.tgz", @@ -14290,16 +12518,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/minipass": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", @@ -14370,35 +12588,6 @@ "node": ">=10.5.0" } }, - "node_modules/node-exports-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", - "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array.prototype.flatmap": "^1.3.3", - "es-errors": "^1.3.0", - "object.entries": "^1.1.9", - "semver": "^6.3.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/node-exports-info/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/node-fetch": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", @@ -14573,106 +12762,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -14712,40 +12801,105 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "node_modules/oxfmt": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.55.0.tgz", + "integrity": "sha512-jSj2wCTakwgPMxkfiVZX0jf+nX+Nz6xlyAZjqNE0qXTFdCBPYlP6JAN+ODjmealw7DXBjOzYbdsqwBMAZnPZ6A==", "dev": true, "license": "MIT", "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" + "tinypool": "2.1.0" + }, + "bin": { + "oxfmt": "bin/oxfmt" }, "engines": { - "node": ">= 0.8.0" + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/Boshen" + }, + "optionalDependencies": { + "@oxfmt/binding-android-arm-eabi": "0.55.0", + "@oxfmt/binding-android-arm64": "0.55.0", + "@oxfmt/binding-darwin-arm64": "0.55.0", + "@oxfmt/binding-darwin-x64": "0.55.0", + "@oxfmt/binding-freebsd-x64": "0.55.0", + "@oxfmt/binding-linux-arm-gnueabihf": "0.55.0", + "@oxfmt/binding-linux-arm-musleabihf": "0.55.0", + "@oxfmt/binding-linux-arm64-gnu": "0.55.0", + "@oxfmt/binding-linux-arm64-musl": "0.55.0", + "@oxfmt/binding-linux-ppc64-gnu": "0.55.0", + "@oxfmt/binding-linux-riscv64-gnu": "0.55.0", + "@oxfmt/binding-linux-riscv64-musl": "0.55.0", + "@oxfmt/binding-linux-s390x-gnu": "0.55.0", + "@oxfmt/binding-linux-x64-gnu": "0.55.0", + "@oxfmt/binding-linux-x64-musl": "0.55.0", + "@oxfmt/binding-openharmony-arm64": "0.55.0", + "@oxfmt/binding-win32-arm64-msvc": "0.55.0", + "@oxfmt/binding-win32-ia32-msvc": "0.55.0", + "@oxfmt/binding-win32-x64-msvc": "0.55.0" + }, + "peerDependencies": { + "svelte": "^5.0.0", + "vite-plus": "*" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + }, + "vite-plus": { + "optional": true + } } }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "node_modules/oxlint": { + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.70.0.tgz", + "integrity": "sha512-D6JgHtzkhRwvEC+A0Nw5AEc5bk8x5i1pHzvZIEf/a0C4hOzmAACNGtkDGPyFaxxX3ZVGxCPeig3P3rMM8XU3/g==", "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" + "bin": { + "oxlint": "bin/oxlint" }, "engines": { - "node": ">= 0.4" + "node": "^20.19.0 || >=22.12.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/Boshen" + }, + "optionalDependencies": { + "@oxlint/binding-android-arm-eabi": "1.70.0", + "@oxlint/binding-android-arm64": "1.70.0", + "@oxlint/binding-darwin-arm64": "1.70.0", + "@oxlint/binding-darwin-x64": "1.70.0", + "@oxlint/binding-freebsd-x64": "1.70.0", + "@oxlint/binding-linux-arm-gnueabihf": "1.70.0", + "@oxlint/binding-linux-arm-musleabihf": "1.70.0", + "@oxlint/binding-linux-arm64-gnu": "1.70.0", + "@oxlint/binding-linux-arm64-musl": "1.70.0", + "@oxlint/binding-linux-ppc64-gnu": "1.70.0", + "@oxlint/binding-linux-riscv64-gnu": "1.70.0", + "@oxlint/binding-linux-riscv64-musl": "1.70.0", + "@oxlint/binding-linux-s390x-gnu": "1.70.0", + "@oxlint/binding-linux-x64-gnu": "1.70.0", + "@oxlint/binding-linux-x64-musl": "1.70.0", + "@oxlint/binding-openharmony-arm64": "1.70.0", + "@oxlint/binding-win32-arm64-msvc": "1.70.0", + "@oxlint/binding-win32-ia32-msvc": "1.70.0", + "@oxlint/binding-win32-x64-msvc": "1.70.0" + }, + "peerDependencies": { + "oxlint-tsgolint": ">=0.22.1", + "vite-plus": "*" + }, + "peerDependenciesMeta": { + "oxlint-tsgolint": { + "optional": true + }, + "vite-plus": { + "optional": true + } } }, "node_modules/p-cancelable": { @@ -14790,22 +12944,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-timeout": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", @@ -14841,6 +12979,7 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "license": "MIT", + "peer": true, "dependencies": { "callsites": "^3.0.0" }, @@ -15150,56 +13289,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", - "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", - "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/pretty-format": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", @@ -15324,27 +13413,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/quick-lru": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", @@ -15637,50 +13705,6 @@ "node": ">=8" } }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/remove-accents": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", @@ -15783,6 +13807,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "license": "MIT", + "peer": true, "engines": { "node": ">=4" } @@ -15803,80 +13828,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/rrweb-cssom": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", @@ -15914,30 +13865,6 @@ } } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, "node_modules/rxjs": { "version": "7.8.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", @@ -15948,26 +13875,6 @@ "tslib": "^2.1.0" } }, - "node_modules/safe-array-concat": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", - "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.9", - "call-bound": "^1.0.4", - "get-intrinsic": "^1.3.0", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -15989,41 +13896,6 @@ ], "license": "MIT" }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -16242,55 +14114,6 @@ "node": ">= 0.8.0" } }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -16539,28 +14362,14 @@ "dev": true, "license": "MIT" }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, "engines": { - "node": ">= 0.4" + "node": ">= 0.8" } }, "node_modules/streamx": { @@ -16659,119 +14468,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -17091,13 +14787,6 @@ } } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -17144,6 +14833,16 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tinypool": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-2.1.0.tgz", + "integrity": "sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.0.0 || >=22.0.0" + } + }, "node_modules/tldts": { "version": "6.1.86", "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", @@ -17236,19 +14935,6 @@ "tree-kill": "cli.js" } }, - "node_modules/ts-api-utils": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", - "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, "node_modules/ts-node": { "version": "10.9.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", @@ -17293,42 +14979,6 @@ } } }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -17354,19 +15004,6 @@ "@turbo/windows-arm64": "2.9.17" } }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -17377,19 +15014,6 @@ "node": ">=4" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -17404,84 +15028,6 @@ "node": ">= 0.6" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/typed-function": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-2.1.0.tgz", @@ -17516,25 +15062,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/unbzip2-stream": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", @@ -17664,16 +15191,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, "node_modules/use-immer": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/use-immer/-/use-immer-0.11.0.tgz", @@ -17888,95 +15405,6 @@ "node": ">= 8" } }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which/node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -17984,16 +15412,6 @@ "dev": true, "license": "ISC" }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", diff --git a/package.json b/package.json index 3ca4dc70d..5e7dee9f6 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,7 @@ { "name": "perses-plugins", - "description": "Monorepo for the Perses plugins", "version": "0.1.0", - "scripts": { - "dev": "turbo run dev --concurrency 20", - "build": "turbo run build", - "lint": "turbo run lint", - "lint:fix": "turbo run lint -- --fix", - "test": "turbo run test", - "type-check": "turbo run type-check" - }, + "description": "Monorepo for the Perses plugins", "workspaces": [ "barchart", "clickhouse", @@ -41,10 +33,15 @@ "victorialogs", "e2e" ], - "peerDependencies": { - "@types/react-dom": "^18.3.0", - "react": "^17.0.2 || ^18.0.0", - "react-dom": "^17.0.2 || ^18.0.0" + "scripts": { + "dev": "turbo run dev --concurrency 20", + "build": "turbo run build", + "lint": "turbo run lint", + "lint:fix": "turbo run lint -- --fix", + "format": "oxfmt", + "format:check": "oxfmt --check", + "test": "turbo run test", + "type-check": "turbo run type-check" }, "devDependencies": { "@module-federation/rsbuild-plugin": "^2.3.3", @@ -67,20 +64,14 @@ "@types/express": "^5.0.0", "@types/jest": "^30.0.0", "@types/lodash": "^4.17.5", - "@typescript-eslint/eslint-plugin": "^8.18.0", "concurrently": "^10.0.3", "cross-env": "^7.0.3", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jsx-a11y": "^6.8.0", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-react": "^7.34.1", - "eslint-plugin-react-hooks": "^4.6.2", "express": "^4.21.2", "jest": "^30.4.2", "jest-environment-jsdom": "^30.4.1", "mdi-material-ui": "^7.9.2", + "oxfmt": "0.55.0", + "oxlint": "1.70.0", "react-router": "^6.30.3", "react-router-dom": "^6.30.3", "rsbuild-plugin-dts": "^0.18.0", @@ -88,6 +79,11 @@ "turbo": "^2.6.1", "typescript": "^5.4.2" }, + "peerDependencies": { + "@types/react-dom": "^18.3.0", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" + }, "overrides": { "@module-federation/rsbuild-plugin": { "node-fetch": "^3.3.2" diff --git a/piechart/jest.config.ts b/piechart/jest.config.ts index 5190fb4de..16027133b 100644 --- a/piechart/jest.config.ts +++ b/piechart/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/piechart/package.json b/piechart/package.json index 8c69d6b05..e19d51734 100644 --- a/piechart/package.json +++ b/piechart/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/pie-chart-plugin", "version": "0.14.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", @@ -34,18 +40,12 @@ "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", "echarts": "5.5.0", + "immer": "^10.1.1", "lodash": "^4.17.21", "react": "^17.0.2 || ^18.0.0", "react-dom": "^17.0.2 || ^18.0.0", - "use-resize-observer": "^9.0.0", - "immer": "^10.1.1" + "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/piechart/rsbuild.config.ts b/piechart/rsbuild.config.ts index c204957b6..76c72a82b 100644 --- a/piechart/rsbuild.config.ts +++ b/piechart/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/piechart/schemas/migrate/tests/basic/expected.json b/piechart/schemas/migrate/tests/basic/expected.json index ff131403c..5bb902294 100644 --- a/piechart/schemas/migrate/tests/basic/expected.json +++ b/piechart/schemas/migrate/tests/basic/expected.json @@ -10,4 +10,4 @@ "colorPalette": ["#e02f44"], "radius": 50 } -} \ No newline at end of file +} diff --git a/piechart/schemas/migrate/tests/basic/input.json b/piechart/schemas/migrate/tests/basic/input.json index 4f6b0843b..5c47a00ec 100644 --- a/piechart/schemas/migrate/tests/basic/input.json +++ b/piechart/schemas/migrate/tests/basic/input.json @@ -31,9 +31,7 @@ }, "pieType": "pie", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -41,9 +39,7 @@ "mode": "single", "sort": "none" }, - "displayLabels": [ - "name" - ] + "displayLabels": ["name"] }, "pluginVersion": "11.3.0-pre", "targets": [ @@ -60,4 +56,4 @@ ], "title": "Piechart sample", "type": "piechart" -} \ No newline at end of file +} diff --git a/piechart/schemas/tests/valid/pie.json b/piechart/schemas/tests/valid/pie.json index eabb9548e..17b19f435 100644 --- a/piechart/schemas/tests/valid/pie.json +++ b/piechart/schemas/tests/valid/pie.json @@ -15,4 +15,4 @@ "radius": 50, "showLabels": true } -} \ No newline at end of file +} diff --git a/piechart/src/PieChart.ts b/piechart/src/PieChart.ts index d64d1dde5..bb63d6d31 100644 --- a/piechart/src/PieChart.ts +++ b/piechart/src/PieChart.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; + import { createInitialPieChartOptions, PieChartOptions } from './pie-chart-model'; import { PieChartOptionsEditorSettings } from './PieChartOptionsEditorSettings'; import { PieChartPanel, PieChartPanelProps } from './PieChartPanel'; diff --git a/piechart/src/PieChartBase.tsx b/piechart/src/PieChartBase.tsx index 42386b69a..8347ce4dc 100644 --- a/piechart/src/PieChartBase.tsx +++ b/piechart/src/PieChartBase.tsx @@ -11,13 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { use } from 'echarts/core'; +import { Box, useTheme } from '@mui/material'; +import { EChart, FormatOptions, ModeOption, useChartsTheme } from '@perses-dev/components'; import { PieChart as EChartsPieChart } from 'echarts/charts'; import { DatasetComponent, GridComponent, LegendComponent, TitleComponent, TooltipComponent } from 'echarts/components'; +import { use } from 'echarts/core'; import { CanvasRenderer } from 'echarts/renderers'; -import { Box, useTheme } from '@mui/material'; import { ReactElement } from 'react'; -import { EChart, FormatOptions, ModeOption, useChartsTheme } from '@perses-dev/components'; + import { getLabelFormatter, getTooltipFormatter } from './utils'; use([ diff --git a/piechart/src/PieChartOptionsEditorSettings.tsx b/piechart/src/PieChartOptionsEditorSettings.tsx index 3194a56df..df9585585 100644 --- a/piechart/src/PieChartOptionsEditorSettings.tsx +++ b/piechart/src/PieChartOptionsEditorSettings.tsx @@ -11,15 +11,17 @@ // See the License for the specific language governing permissions and // limitations under the License. -import merge from 'lodash/merge'; import { - CalculationSelector, - CalculationSelectorProps, - CalculationType, - LegendOptionsEditor, - LegendOptionsEditorProps, -} from '@perses-dev/plugin-system'; -import { produce } from 'immer'; + Button, + FormControl, + InputLabel, + MenuItem, + Select, + Stack, + Switch, + SwitchProps, + Typography, +} from '@mui/material'; import { FormatControls, FormatControlsProps, @@ -39,17 +41,16 @@ import { isPercentUnit, } from '@perses-dev/components'; import { - Button, - FormControl, - InputLabel, - MenuItem, - Select, - Stack, - Switch, - SwitchProps, - Typography, -} from '@mui/material'; + CalculationSelector, + CalculationSelectorProps, + CalculationType, + LegendOptionsEditor, + LegendOptionsEditorProps, +} from '@perses-dev/plugin-system'; +import { produce } from 'immer'; +import merge from 'lodash/merge'; import { ReactElement, useMemo } from 'react'; + import { PieChartOptions, PieChartOptionsEditorProps, DEFAULT_FORMAT } from './pie-chart-model'; export function PieChartOptionsEditorSettings(props: PieChartOptionsEditorProps): ReactElement { diff --git a/piechart/src/PieChartPanel.tsx b/piechart/src/PieChartPanel.tsx index f60e66547..e092e1a4c 100644 --- a/piechart/src/PieChartPanel.tsx +++ b/piechart/src/PieChartPanel.tsx @@ -22,19 +22,20 @@ import { useId, } from '@perses-dev/components'; import { CalculationsMap, CalculationType, PanelProps, validateLegendSpec } from '@perses-dev/plugin-system'; +import { TimeSeriesData } from '@perses-dev/spec'; import merge from 'lodash/merge'; import { ReactElement, useMemo, useRef, useState } from 'react'; -import { TimeSeriesData } from '@perses-dev/spec'; -import { PieChartOptions } from './pie-chart-model'; -import { PieChartLegendMapper, PieChartListLegendMapper, PieChartTableLegendMapper, sortSeriesData } from './utils'; + import { getSeriesColor } from './colors'; +import { PieChartOptions } from './pie-chart-model'; import { PieChartBase, PieChartData } from './PieChartBase'; +import { PieChartLegendMapper, PieChartListLegendMapper, PieChartTableLegendMapper, sortSeriesData } from './utils'; export type PieChartPanelProps = PanelProps; export function PieChartPanel(props: PieChartPanelProps): ReactElement | null { const { - spec: { calculation, sort, mode, format: formatOptions, legend: pieChartLegend, colorPalette: colorPalette }, + spec: { calculation, sort, mode, format: formatOptions, legend: pieChartLegend, colorPalette }, contentDimensions, queryResults, } = props; diff --git a/piechart/src/getPluginModule.ts b/piechart/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/piechart/src/getPluginModule.ts +++ b/piechart/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/piechart/src/utils.test.ts b/piechart/src/utils.test.ts index 8a895f152..f613beffe 100644 --- a/piechart/src/utils.test.ts +++ b/piechart/src/utils.test.ts @@ -12,6 +12,7 @@ // limitations under the License. import { CellContext, ColumnDefTemplate } from '@tanstack/react-table'; + import { PieChartData } from './PieChartBase'; import { PieChartListLegendMapper, PieChartTableLegendMapper, sortSeriesData } from './utils'; diff --git a/piechart/src/utils.ts b/piechart/src/utils.ts index 388223454..5f92ff529 100644 --- a/piechart/src/utils.ts +++ b/piechart/src/utils.ts @@ -19,10 +19,11 @@ import { SortOption, TableColumnConfig, } from '@perses-dev/components'; -import { format } from 'echarts'; import { comparisonLegends, ComparisonValues, LegendValue } from '@perses-dev/plugin-system'; -import { PieChartData } from './PieChartBase'; +import { format } from 'echarts'; + import { DEFAULT_SORT } from './pie-chart-model'; +import { PieChartData } from './PieChartBase'; export function sortSeriesData(data: T[], sortOrder: SortOption = DEFAULT_SORT): T[] { return data.sort((a, b) => { diff --git a/prometheus/jest.config.ts b/prometheus/jest.config.ts index 5190fb4de..16027133b 100644 --- a/prometheus/jest.config.ts +++ b/prometheus/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/prometheus/package.json b/prometheus/package.json index 1b3d58357..5d2bbf9e2 100644 --- a/prometheus/package.json +++ b/prometheus/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/prometheus-plugin", "version": "0.58.0-beta.2", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "dependencies": { "@nexucis/fuzzy": "^0.5.1", "@prometheus-io/codemirror-promql": "^0.311.3", @@ -31,15 +37,18 @@ "qs": "^6.13.0", "react-virtuoso": "^4.12.2" }, + "devDependencies": { + "@types/qs": "^6.9.18" + }, "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", "@hookform/resolvers": "^3.2.0", + "@perses-dev/client": "^0.54.0-beta.7", "@perses-dev/components": "^0.54.0-beta.7", "@perses-dev/dashboards": "^0.54.0-beta.7", "@perses-dev/explore": "^0.54.0-beta.7", "@perses-dev/plugin-system": "^0.54.0-beta.7", - "@perses-dev/client": "^0.54.0-beta.7", "@perses-dev/spec": "^0.2.0-beta.2", "@tanstack/react-query": "^4.39.1", "date-fns": "^4.1.0", @@ -53,15 +62,6 @@ "react-router-dom": "^5 || ^6 || ^7", "use-resize-observer": "^9.0.0" }, - "devDependencies": { - "@types/qs": "^6.9.18" - }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "schemasPath": "schemas", "plugins": [ diff --git a/prometheus/rsbuild.config.ts b/prometheus/rsbuild.config.ts index cdf2ae1a9..0705f6909 100644 --- a/prometheus/rsbuild.config.ts +++ b/prometheus/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/prometheus/schemas/datasource/tests/valid/prometheus-proxy-with-query-params.json b/prometheus/schemas/datasource/tests/valid/prometheus-proxy-with-query-params.json index 4ec7368a9..50e42545e 100644 --- a/prometheus/schemas/datasource/tests/valid/prometheus-proxy-with-query-params.json +++ b/prometheus/schemas/datasource/tests/valid/prometheus-proxy-with-query-params.json @@ -13,4 +13,4 @@ "tenant": "default" } } -} \ No newline at end of file +} diff --git a/prometheus/schemas/datasource/tests/valid/prometheus-with-query-params.json b/prometheus/schemas/datasource/tests/valid/prometheus-with-query-params.json index d59185e51..a7fe65d70 100644 --- a/prometheus/schemas/datasource/tests/valid/prometheus-with-query-params.json +++ b/prometheus/schemas/datasource/tests/valid/prometheus-with-query-params.json @@ -8,4 +8,4 @@ "timeout": "30s" } } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-names/migrate/tests/basic/expected.json b/prometheus/schemas/prometheus-label-names/migrate/tests/basic/expected.json index cbcd24edb..74d5052c5 100644 --- a/prometheus/schemas/prometheus-label-names/migrate/tests/basic/expected.json +++ b/prometheus/schemas/prometheus-label-names/migrate/tests/basic/expected.json @@ -3,4 +3,4 @@ "spec": { "matchers": [] } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-names/migrate/tests/basic/input.json b/prometheus/schemas/prometheus-label-names/migrate/tests/basic/input.json index 709d6b100..3eeedd799 100644 --- a/prometheus/schemas/prometheus-label-names/migrate/tests/basic/input.json +++ b/prometheus/schemas/prometheus-label-names/migrate/tests/basic/input.json @@ -1,4 +1,3 @@ - { "current": {}, "datasource": { @@ -20,4 +19,4 @@ "skipUrlSync": false, "sort": 0, "type": "query" -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-names/tests/valid/prometheus-label-names.json b/prometheus/schemas/prometheus-label-names/tests/valid/prometheus-label-names.json index a27e70b5a..889274946 100644 --- a/prometheus/schemas/prometheus-label-names/tests/valid/prometheus-label-names.json +++ b/prometheus/schemas/prometheus-label-names/tests/valid/prometheus-label-names.json @@ -1,9 +1,6 @@ - { "kind": "PrometheusLabelNamesVariable", "spec": { - "matchers": [ - "up{job=\"$job\"}" - ] + "matchers": ["up{job=\"$job\"}"] } } diff --git a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-2/expected.json b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-2/expected.json index 66ad27bf3..89c44f838 100644 --- a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-2/expected.json +++ b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-2/expected.json @@ -2,8 +2,6 @@ "kind": "PrometheusLabelValuesVariable", "spec": { "labelName": "stack", - "matchers": [ - "thanos_build_info" - ] + "matchers": ["thanos_build_info"] } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-2/input.json b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-2/input.json index 4ffa50fe7..02167ab29 100644 --- a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-2/input.json +++ b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-2/input.json @@ -1,4 +1,3 @@ - { "current": {}, "datasource": { @@ -22,4 +21,4 @@ "skipUrlSync": false, "sort": 0, "type": "query" -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-3/expected.json b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-3/expected.json index 02f0bda36..c0ca6ca02 100644 --- a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-3/expected.json +++ b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-3/expected.json @@ -2,8 +2,6 @@ "kind": "PrometheusLabelValuesVariable", "spec": { "labelName": "stack", - "matchers": [ - "thanos_build_info{stack=~\"erd.+\"}" - ] + "matchers": ["thanos_build_info{stack=~\"erd.+\"}"] } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-3/input.json b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-3/input.json index 0bef37b38..baba78cd0 100644 --- a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-3/input.json +++ b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-3/input.json @@ -1,4 +1,3 @@ - { "current": {}, "datasource": { @@ -22,4 +21,4 @@ "skipUrlSync": false, "sort": 1, "type": "query" -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-4/expected.json b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-4/expected.json index 70861bfc9..b13688668 100644 --- a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-4/expected.json +++ b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-4/expected.json @@ -2,8 +2,6 @@ "kind": "PrometheusLabelValuesVariable", "spec": { "labelName": "stack", - "matchers": [ - "thanos_build_info{stack=~\"$lv1\"}" - ] + "matchers": ["thanos_build_info{stack=~\"$lv1\"}"] } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-4/input.json b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-4/input.json index ed216b59e..7e752f7dd 100644 --- a/prometheus/schemas/prometheus-label-values/migrate/tests/basic-4/input.json +++ b/prometheus/schemas/prometheus-label-values/migrate/tests/basic-4/input.json @@ -1,4 +1,3 @@ - { "current": {}, "datasource": { @@ -22,4 +21,4 @@ "skipUrlSync": false, "sort": 2, "type": "query" -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-values/migrate/tests/basic/expected.json b/prometheus/schemas/prometheus-label-values/migrate/tests/basic/expected.json index 48db1b9bc..454cf393f 100644 --- a/prometheus/schemas/prometheus-label-values/migrate/tests/basic/expected.json +++ b/prometheus/schemas/prometheus-label-values/migrate/tests/basic/expected.json @@ -4,4 +4,4 @@ "labelName": "stack", "matchers": [] } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-values/migrate/tests/basic/input.json b/prometheus/schemas/prometheus-label-values/migrate/tests/basic/input.json index 31f21812c..bd6feb7c4 100644 --- a/prometheus/schemas/prometheus-label-values/migrate/tests/basic/input.json +++ b/prometheus/schemas/prometheus-label-values/migrate/tests/basic/input.json @@ -22,4 +22,4 @@ "skipUrlSync": false, "sort": 0, "type": "query" -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-label-values/tests/valid/prometheus-label-values.json b/prometheus/schemas/prometheus-label-values/tests/valid/prometheus-label-values.json index 1006dd090..6829b113c 100644 --- a/prometheus/schemas/prometheus-label-values/tests/valid/prometheus-label-values.json +++ b/prometheus/schemas/prometheus-label-values/tests/valid/prometheus-label-values.json @@ -1,10 +1,7 @@ - { "kind": "PrometheusLabelValuesVariable", "spec": { "labelName": "job", - "matchers": [ - "up{job=\"$job\"}" - ] + "matchers": ["up{job=\"$job\"}"] } } diff --git a/prometheus/schemas/prometheus-promql/migrate/tests/basic/expected.json b/prometheus/schemas/prometheus-promql/migrate/tests/basic/expected.json index cae1b7783..e8ea635ac 100644 --- a/prometheus/schemas/prometheus-promql/migrate/tests/basic/expected.json +++ b/prometheus/schemas/prometheus-promql/migrate/tests/basic/expected.json @@ -4,4 +4,4 @@ "expr": "group by(type) (up{osname=~\".*Linux.*\", job=~\"node-exporter.*\", prometheus=~\"system\"})", "labelName": "type" } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-promql/migrate/tests/basic/input.json b/prometheus/schemas/prometheus-promql/migrate/tests/basic/input.json index 76d94797a..2f9f2aa41 100644 --- a/prometheus/schemas/prometheus-promql/migrate/tests/basic/input.json +++ b/prometheus/schemas/prometheus-promql/migrate/tests/basic/input.json @@ -1,4 +1,3 @@ - { "current": {}, "datasource": { @@ -22,4 +21,4 @@ "skipUrlSync": false, "sort": 5, "type": "query" -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-promql/migrate/tests/legacy-format/expected.json b/prometheus/schemas/prometheus-promql/migrate/tests/legacy-format/expected.json index 8cc4bcaf1..81e661366 100644 --- a/prometheus/schemas/prometheus-promql/migrate/tests/legacy-format/expected.json +++ b/prometheus/schemas/prometheus-promql/migrate/tests/legacy-format/expected.json @@ -4,4 +4,4 @@ "expr": "max by (cluster) (thanos_build_info{prometheus=\"app\",federation=\"\"}) or ( label_replace(vector(1), \"cluster\", \"EU\", \"\", \"\") ) ", "labelName": "cluster" } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-promql/migrate/tests/legacy-format/input.json b/prometheus/schemas/prometheus-promql/migrate/tests/legacy-format/input.json index d9d1cb003..4cb54e3c2 100644 --- a/prometheus/schemas/prometheus-promql/migrate/tests/legacy-format/input.json +++ b/prometheus/schemas/prometheus-promql/migrate/tests/legacy-format/input.json @@ -24,4 +24,4 @@ "tagsQuery": "", "type": "query", "useTags": false -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-promql/migrate/tests/no-aggr/expected.json b/prometheus/schemas/prometheus-promql/migrate/tests/no-aggr/expected.json index 7a77b7453..4058655d5 100644 --- a/prometheus/schemas/prometheus-promql/migrate/tests/no-aggr/expected.json +++ b/prometheus/schemas/prometheus-promql/migrate/tests/no-aggr/expected.json @@ -4,4 +4,4 @@ "expr": "query_result(present_over_time(up{osname=~\".*Linux.*\", job=~\"node-exporter\", prometheus=~\"system\"}[$__range]))", "labelName": "migration_from_grafana_not_supported" } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-promql/migrate/tests/no-aggr/input.json b/prometheus/schemas/prometheus-promql/migrate/tests/no-aggr/input.json index 97c21922d..5187e3380 100644 --- a/prometheus/schemas/prometheus-promql/migrate/tests/no-aggr/input.json +++ b/prometheus/schemas/prometheus-promql/migrate/tests/no-aggr/input.json @@ -1,4 +1,3 @@ - { "current": {}, "datasource": { @@ -21,4 +20,4 @@ "skipUrlSync": false, "sort": 0, "type": "query" -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-promql/migrate/tests/volatile/expected.json b/prometheus/schemas/prometheus-promql/migrate/tests/volatile/expected.json index 54f32dbbc..80e417c24 100644 --- a/prometheus/schemas/prometheus-promql/migrate/tests/volatile/expected.json +++ b/prometheus/schemas/prometheus-promql/migrate/tests/volatile/expected.json @@ -4,4 +4,4 @@ "expr": "group by(type) (present_over_time(up{osname=~\".*Linux.*\", job=~\"node-exporter\", prometheus=~\"system\"}[$__range]))", "labelName": "type" } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-promql/migrate/tests/volatile/input.json b/prometheus/schemas/prometheus-promql/migrate/tests/volatile/input.json index 83291a46e..165b3f118 100644 --- a/prometheus/schemas/prometheus-promql/migrate/tests/volatile/input.json +++ b/prometheus/schemas/prometheus-promql/migrate/tests/volatile/input.json @@ -1,4 +1,3 @@ - { "current": {}, "datasource": { @@ -21,4 +20,4 @@ "skipUrlSync": false, "sort": 6, "type": "query" -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-time-series-query/migrate/tests/basic/expected.json b/prometheus/schemas/prometheus-time-series-query/migrate/tests/basic/expected.json index d55e7ba65..e22f3baa7 100644 --- a/prometheus/schemas/prometheus-time-series-query/migrate/tests/basic/expected.json +++ b/prometheus/schemas/prometheus-time-series-query/migrate/tests/basic/expected.json @@ -3,4 +3,4 @@ "spec": { "query": "up{env=\"demo\",instance=~\"demo.do.prometheus.io.*\"}" } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-time-series-query/migrate/tests/basic/input.json b/prometheus/schemas/prometheus-time-series-query/migrate/tests/basic/input.json index 012ecffbb..104243b96 100644 --- a/prometheus/schemas/prometheus-time-series-query/migrate/tests/basic/input.json +++ b/prometheus/schemas/prometheus-time-series-query/migrate/tests/basic/input.json @@ -1,4 +1,4 @@ { "expr": "up{env=\"demo\",instance=~\"demo.do.prometheus.io.*\"}", "refID": "A" -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-time-series-query/migrate/tests/legend-format/expected.json b/prometheus/schemas/prometheus-time-series-query/migrate/tests/legend-format/expected.json index d57f0ba29..b93bc289d 100644 --- a/prometheus/schemas/prometheus-time-series-query/migrate/tests/legend-format/expected.json +++ b/prometheus/schemas/prometheus-time-series-query/migrate/tests/legend-format/expected.json @@ -9,4 +9,4 @@ "query": "avg without (instance) (hadoop_hdfs_datanode_capacity{bar_stack_id=\"$bar_stack_id\", _target=~\"$datanode\"})", "seriesNameFormat": "{{_target}}" } -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-time-series-query/migrate/tests/legend-format/input.json b/prometheus/schemas/prometheus-time-series-query/migrate/tests/legend-format/input.json index 1cb215da9..c02673a3b 100644 --- a/prometheus/schemas/prometheus-time-series-query/migrate/tests/legend-format/input.json +++ b/prometheus/schemas/prometheus-time-series-query/migrate/tests/legend-format/input.json @@ -9,4 +9,4 @@ "legendFormat": "{{_target}}", "range": true, "refId": "A" -} \ No newline at end of file +} diff --git a/prometheus/schemas/prometheus-time-series-query/tests/valid/prometheus-time-series-query.json b/prometheus/schemas/prometheus-time-series-query/tests/valid/prometheus-time-series-query.json index 61139fe0c..d0b98a89e 100644 --- a/prometheus/schemas/prometheus-time-series-query/tests/valid/prometheus-time-series-query.json +++ b/prometheus/schemas/prometheus-time-series-query/tests/valid/prometheus-time-series-query.json @@ -1,10 +1,9 @@ - { "kind": "PrometheusTimeSeriesQuery", "spec": { "datasource": { - "kind": "PrometheusDatasource", - "name": "MyDemoDatasource" + "kind": "PrometheusDatasource", + "name": "MyDemoDatasource" }, "query": "max by (job, instance) (up)", "seriesNameFormat": "{{ job }}/{{ instance }}", diff --git a/prometheus/src/components/PromQLEditor.tsx b/prometheus/src/components/PromQLEditor.tsx index 0629a98c1..04768d4e6 100644 --- a/prometheus/src/components/PromQLEditor.tsx +++ b/prometheus/src/components/PromQLEditor.tsx @@ -11,15 +11,16 @@ // See the License for the specific language governing permissions and // limitations under the License. -import CodeMirror, { ReactCodeMirrorProps } from '@uiw/react-codemirror'; -import { PromQLExtension, CompleteConfiguration } from '@prometheus-io/codemirror-promql'; import { EditorView } from '@codemirror/view'; import { useTheme, CircularProgress, InputLabel, Stack, IconButton, Tooltip } from '@mui/material'; -import FileTreeIcon from 'mdi-material-ui/FileTree'; -import { ReactElement, useMemo, useState } from 'react'; import { ErrorAlert } from '@perses-dev/components'; -import CloseIcon from 'mdi-material-ui/Close'; import { useReplaceVariablesInString } from '@perses-dev/plugin-system'; +import { PromQLExtension, CompleteConfiguration } from '@prometheus-io/codemirror-promql'; +import CodeMirror, { ReactCodeMirrorProps } from '@uiw/react-codemirror'; +import CloseIcon from 'mdi-material-ui/Close'; +import FileTreeIcon from 'mdi-material-ui/FileTree'; +import { ReactElement, useMemo, useState } from 'react'; + import { PrometheusDatasourceSelector } from '../model'; import { replacePromBuiltinVariables } from '../plugins/prometheus-time-series-query/replace-prom-builtin-variables'; import { useParseQuery } from './query'; diff --git a/prometheus/src/components/TreeNode.tsx b/prometheus/src/components/TreeNode.tsx index 1b2748505..fbdd782ea 100644 --- a/prometheus/src/components/TreeNode.tsx +++ b/prometheus/src/components/TreeNode.tsx @@ -14,17 +14,17 @@ // Forked from https://github.com/prometheus/prometheus/blob/65f610353919b1c7b42d3776c3a95b68046a6bba/web/ui/mantine-ui/src/pages/query/TreeNode.tsx import { Box, CircularProgress, List, ListItem, Stack, Tooltip, Typography, useTheme } from '@mui/material'; +import { StatusError } from '@perses-dev/client'; +import AlertCircle from 'mdi-material-ui/AlertCircle'; import CircleIcon from 'mdi-material-ui/Circle'; import { ReactElement, useCallback, useEffect, useLayoutEffect, useMemo, useState } from 'react'; -import AlertCircle from 'mdi-material-ui/AlertCircle'; -import { StatusError } from '@perses-dev/client'; import { PrometheusDatasourceSelector } from '../model'; import ASTNode, { nodeType } from './promql/ast'; -import { escapeString, getNodeChildren } from './promql/utils'; import { formatNode } from './promql/format'; -import serializeNode from './promql/serialize'; import { functionSignatures } from './promql/functionSignatures'; +import serializeNode from './promql/serialize'; +import { escapeString, getNodeChildren } from './promql/utils'; import { useInstantQuery } from './query'; // The indentation factor for each level of the tree. diff --git a/prometheus/src/components/promql/format.tsx b/prometheus/src/components/promql/format.tsx index c8bdcd849..94eaa67e5 100644 --- a/prometheus/src/components/promql/format.tsx +++ b/prometheus/src/components/promql/format.tsx @@ -13,10 +13,10 @@ // Forked from https://github.com/prometheus/prometheus/blob/65f610353919b1c7b42d3776c3a95b68046a6bba/web/ui/mantine-ui/src/promql/format.tsx -import React, { ReactElement, ReactNode } from 'react'; import { styled } from '@mui/material'; - import { convertTimeToDuration, formatDuration } from '@perses-dev/spec'; +import React, { ReactElement, ReactNode } from 'react'; + import ASTNode, { VectorSelector, matchType, diff --git a/prometheus/src/components/promql/serialize.ts b/prometheus/src/components/promql/serialize.ts index b94c8e414..d521e81a6 100644 --- a/prometheus/src/components/promql/serialize.ts +++ b/prometheus/src/components/promql/serialize.ts @@ -14,6 +14,7 @@ // Forked from https://github.com/prometheus/prometheus/blob/65f610353919b1c7b42d3776c3a95b68046a6bba/web/ui/mantine-ui/src/promql/serialize.ts import { convertTimeToDuration, formatDuration } from '@perses-dev/spec'; + import ASTNode, { VectorSelector, matchType, diff --git a/prometheus/src/components/query.ts b/prometheus/src/components/query.ts index fe613b932..f920b5922 100644 --- a/prometheus/src/components/query.ts +++ b/prometheus/src/components/query.ts @@ -11,10 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { StatusError } from '@perses-dev/client'; import { useDatasourceClient, useDatasourceStore, useVariableValues } from '@perses-dev/plugin-system'; -import { useQuery, UseQueryResult } from '@tanstack/react-query'; import { DatasourceSelector } from '@perses-dev/spec'; -import { StatusError } from '@perses-dev/client'; +import { useQuery, UseQueryResult } from '@tanstack/react-query'; + import { InstantQueryRequestParameters, MonitoredInstantQueryResponse, diff --git a/prometheus/src/explore/PrometheusExplorer.tsx b/prometheus/src/explore/PrometheusExplorer.tsx index fbf4e87bb..8922e388a 100644 --- a/prometheus/src/explore/PrometheusExplorer.tsx +++ b/prometheus/src/explore/PrometheusExplorer.tsx @@ -12,15 +12,16 @@ // limitations under the License. import { Box, Stack, Tab, Tabs } from '@mui/material'; -import { DataQueriesProvider, MultiQueryEditor, useSuggestedStepMs } from '@perses-dev/plugin-system'; -import { useExplorerManagerContext } from '@perses-dev/explore'; -import useResizeObserver from 'use-resize-observer'; import { Panel } from '@perses-dev/dashboards'; -import { ReactElement, useState } from 'react'; +import { useExplorerManagerContext } from '@perses-dev/explore'; +import { DataQueriesProvider, MultiQueryEditor, useSuggestedStepMs } from '@perses-dev/plugin-system'; import { QueryDefinition } from '@perses-dev/spec'; +import { ReactElement, useState } from 'react'; +import useResizeObserver from 'use-resize-observer'; + import { DEFAULT_PROM } from '../model/prometheus-selectors'; -import { FinderQueryParams } from './PrometheusMetricsFinder/types'; import { PrometheusMetricsFinder } from './PrometheusMetricsFinder'; +import { FinderQueryParams } from './PrometheusMetricsFinder/types'; interface MetricsExplorerQueryParams extends FinderQueryParams { tab?: string; diff --git a/prometheus/src/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.tsx b/prometheus/src/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.tsx index 8b72ac640..d79f5e367 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.tsx +++ b/prometheus/src/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.tsx @@ -28,12 +28,13 @@ import { } from '@mui/material'; import { Fuzzy, FuzzyMatchingInterval } from '@nexucis/fuzzy'; import { useExplorerQueryParams } from '@perses-dev/explore'; +import { DatasourceSelector } from '@perses-dev/spec'; import ArrowLeftIcon from 'mdi-material-ui/ArrowLeft'; import CogIcon from 'mdi-material-ui/Cog'; import Magnify from 'mdi-material-ui/Magnify'; import { MouseEvent, ReactElement, useMemo, useState } from 'react'; import { Link as RouterLink } from 'react-router-dom'; -import { DatasourceSelector } from '@perses-dev/spec'; + import { DEFAULT_PROM } from '../../model'; import { MetricList } from './display/list/MetricList'; import { FinderFilters } from './filter/FinderFilters'; diff --git a/prometheus/src/explore/PrometheusMetricsFinder/display/list/MetricList.test.tsx b/prometheus/src/explore/PrometheusMetricsFinder/display/list/MetricList.test.tsx index d9e8de1ce..db4b7f7aa 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/display/list/MetricList.test.tsx +++ b/prometheus/src/explore/PrometheusMetricsFinder/display/list/MetricList.test.tsx @@ -14,6 +14,7 @@ import { render, RenderResult, screen } from '@testing-library/react'; import { MemoryRouter } from 'react-router-dom'; import { VirtuosoMockContext } from 'react-virtuoso'; + import { DEFAULT_PROM } from '../../../../model/prometheus-selectors'; import { MetricList, MetricListProps } from './MetricList'; diff --git a/prometheus/src/explore/PrometheusMetricsFinder/display/list/MetricList.tsx b/prometheus/src/explore/PrometheusMetricsFinder/display/list/MetricList.tsx index ccb3ff260..fdbe341cc 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/display/list/MetricList.tsx +++ b/prometheus/src/explore/PrometheusMetricsFinder/display/list/MetricList.tsx @@ -14,11 +14,12 @@ import { Button, Divider, Skeleton, Stack, StackProps, TableCell, Typography } from '@mui/material'; import { Fuzzy, FuzzyMatchingInterval } from '@nexucis/fuzzy'; import { useExplorerQueryParams } from '@perses-dev/explore'; +import { DatasourceSelector } from '@perses-dev/spec'; import CompassIcon from 'mdi-material-ui/Compass'; import { ReactElement, ReactNode, useMemo } from 'react'; import { Link as RouterLink } from 'react-router-dom'; import { TableVirtuoso } from 'react-virtuoso'; -import { DatasourceSelector } from '@perses-dev/spec'; + import { LabelFilter } from '../../types'; import { useMetricMetadata } from '../../utils'; import { MetricChip } from '../MetricChip'; diff --git a/prometheus/src/explore/PrometheusMetricsFinder/filter/FilterInputs.test.tsx b/prometheus/src/explore/PrometheusMetricsFinder/filter/FilterInputs.test.tsx index d8dc3115e..f6c099ec0 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/filter/FilterInputs.test.tsx +++ b/prometheus/src/explore/PrometheusMetricsFinder/filter/FilterInputs.test.tsx @@ -12,6 +12,7 @@ // limitations under the License. import { act, fireEvent, render, screen } from '@testing-library/react'; + import { RawFilterInput, RawFilterInputProps } from './FilterInputs'; describe('FilterInputs', () => { diff --git a/prometheus/src/explore/PrometheusMetricsFinder/filter/FilterInputs.tsx b/prometheus/src/explore/PrometheusMetricsFinder/filter/FilterInputs.tsx index d26afd2cc..45210b82d 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/filter/FilterInputs.tsx +++ b/prometheus/src/explore/PrometheusMetricsFinder/filter/FilterInputs.tsx @@ -11,16 +11,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { - cloneElement, - forwardRef, - HTMLAttributes, - ReactElement, - SyntheticEvent, - useMemo, - useRef, - useState, -} from 'react'; import { Autocomplete, CircularProgress, @@ -32,9 +22,20 @@ import { Stack, TextField, } from '@mui/material'; +import { DatasourceSelector } from '@perses-dev/spec'; import DeleteIcon from 'mdi-material-ui/Delete'; +import { + cloneElement, + forwardRef, + HTMLAttributes, + ReactElement, + SyntheticEvent, + useMemo, + useRef, + useState, +} from 'react'; import { Virtuoso } from 'react-virtuoso'; -import { DatasourceSelector } from '@perses-dev/spec'; + import { LabelFilter, Operator } from '../types'; import { useLabels, useLabelValues } from '../utils'; diff --git a/prometheus/src/explore/PrometheusMetricsFinder/filter/FinderFilters.tsx b/prometheus/src/explore/PrometheusMetricsFinder/filter/FinderFilters.tsx index 80060b2e9..b479845de 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/filter/FinderFilters.tsx +++ b/prometheus/src/explore/PrometheusMetricsFinder/filter/FinderFilters.tsx @@ -12,16 +12,16 @@ // limitations under the License. import { Button, FormControl, Stack, StackProps } from '@mui/material'; - import { DatasourceSelect, DatasourceSelectValue, datasourceSelectValueToSelector, useListDatasourceSelectItems, } from '@perses-dev/plugin-system'; +import { DatasourceSelector } from '@perses-dev/spec'; import PlusIcon from 'mdi-material-ui/Plus'; import { ReactElement } from 'react'; -import { DatasourceSelector } from '@perses-dev/spec'; + import { PROM_DATASOURCE_KIND } from '../../../model/prometheus-selectors'; import { LabelFilter } from '../types'; import { LabelFilterInput } from './FilterInputs'; diff --git a/prometheus/src/explore/PrometheusMetricsFinder/overview/MetricOverview.tsx b/prometheus/src/explore/PrometheusMetricsFinder/overview/MetricOverview.tsx index de817c098..8b9f2081f 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/overview/MetricOverview.tsx +++ b/prometheus/src/explore/PrometheusMetricsFinder/overview/MetricOverview.tsx @@ -12,17 +12,17 @@ // limitations under the License. import { Checkbox, FormControlLabel, Skeleton, Stack, StackProps, Tab, Tabs, Tooltip } from '@mui/material'; -import { ReactElement, useMemo, useState } from 'react'; - import { Panel } from '@perses-dev/dashboards'; -import useResizeObserver from 'use-resize-observer'; import { DataQueriesProvider, useSuggestedStepMs } from '@perses-dev/plugin-system'; -import HelpCircleOutlineIcon from 'mdi-material-ui/HelpCircleOutline'; import { DatasourceSelector, Definition, QueryDefinition, UnknownSpec } from '@perses-dev/spec'; +import HelpCircleOutlineIcon from 'mdi-material-ui/HelpCircleOutline'; +import { ReactElement, useMemo, useState } from 'react'; +import useResizeObserver from 'use-resize-observer'; + import { computeFilterExpr, LabelFilter } from '../types'; import { useMetricMetadata } from '../utils'; -import { OverviewTab } from './tabs/OverviewTab'; import { JobTab } from './tabs/JobTab'; +import { OverviewTab } from './tabs/OverviewTab'; import { SimilarTab } from './tabs/SimilarTab'; export interface OverviewPanelProps extends StackProps { diff --git a/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/JobTab.tsx b/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/JobTab.tsx index 03bd9dceb..484b9de03 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/JobTab.tsx +++ b/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/JobTab.tsx @@ -21,8 +21,9 @@ import { StackProps, Typography, } from '@mui/material'; -import { ReactElement, useMemo, useState } from 'react'; import { DatasourceSelector } from '@perses-dev/spec'; +import { ReactElement, useMemo, useState } from 'react'; + import { MetricList } from '../../display/list/MetricList'; import { LabelFilter } from '../../types'; import { useLabelValues } from '../../utils'; diff --git a/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.tsx b/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.tsx index ea1534f24..2e01ee3f9 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.tsx +++ b/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.tsx @@ -11,7 +11,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, useMemo, useState } from 'react'; import { Autocomplete, Button, @@ -30,15 +29,17 @@ import { useMediaQuery, useTheme, } from '@mui/material'; -import PlusIcon from 'mdi-material-ui/Plus'; -import CheckIcon from 'mdi-material-ui/Check'; -import CloseIcon from 'mdi-material-ui/Close'; import { ErrorAlert } from '@perses-dev/components'; import { DatasourceSelector } from '@perses-dev/spec'; -import { LabelFilter, LabelValueCounter, Operator } from '../../types'; +import CheckIcon from 'mdi-material-ui/Check'; +import CloseIcon from 'mdi-material-ui/Close'; +import PlusIcon from 'mdi-material-ui/Plus'; +import { ReactElement, useMemo, useState } from 'react'; + +import { MetricChip } from '../../display/MetricChip'; import { ListboxComponent } from '../../filter/FilterInputs'; +import { LabelFilter, LabelValueCounter, Operator } from '../../types'; import { useMetricMetadata, useSeriesStates } from '../../utils'; -import { MetricChip } from '../../display/MetricChip'; export interface LabelValuesRowProps extends StackProps { label: string; diff --git a/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.tsx b/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.tsx index 158be7232..5f56d5279 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.tsx +++ b/prometheus/src/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.tsx @@ -12,8 +12,9 @@ // limitations under the License. import { CircularProgress, Stack, StackProps } from '@mui/material'; -import { ReactElement, useMemo } from 'react'; import { DatasourceSelector } from '@perses-dev/spec'; +import { ReactElement, useMemo } from 'react'; + import { MetricList } from '../../display/list/MetricList'; import { LabelFilter } from '../../types'; import { useLabelValues } from '../../utils'; diff --git a/prometheus/src/explore/PrometheusMetricsFinder/utils.ts b/prometheus/src/explore/PrometheusMetricsFinder/utils.ts index 3f704c714..601809109 100644 --- a/prometheus/src/explore/PrometheusMetricsFinder/utils.ts +++ b/prometheus/src/explore/PrometheusMetricsFinder/utils.ts @@ -11,11 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { StatusError } from '@perses-dev/client'; import { useDatasourceClient, useTimeRange, useVariableValues, useDatasourceStore } from '@perses-dev/plugin-system'; +import { DatasourceSelector } from '@perses-dev/spec'; import { useQuery, UseQueryResult } from '@tanstack/react-query'; import { useMemo } from 'react'; -import { DatasourceSelector } from '@perses-dev/spec'; -import { StatusError } from '@perses-dev/client'; + import { LabelNamesRequestParameters, LabelValuesRequestParameters, diff --git a/prometheus/src/getPluginModule.ts b/prometheus/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/prometheus/src/getPluginModule.ts +++ b/prometheus/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/prometheus/src/model/api-types.ts b/prometheus/src/model/api-types.ts index 31b4a069b..994e780e2 100644 --- a/prometheus/src/model/api-types.ts +++ b/prometheus/src/model/api-types.ts @@ -12,6 +12,7 @@ // limitations under the License. import { DurationString } from '@perses-dev/spec'; + import ASTNode from '../components/promql/ast'; // Just reuse dashboard model's type and re-export diff --git a/prometheus/src/model/prometheus-client.ts b/prometheus/src/model/prometheus-client.ts index bc2ce34df..18ef1eec7 100644 --- a/prometheus/src/model/prometheus-client.ts +++ b/prometheus/src/model/prometheus-client.ts @@ -11,9 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { fetchJson, RequestHeaders } from '@perses-dev/client'; import { QueryParamValues } from '@perses-dev/components'; import { DatasourceClient } from '@perses-dev/plugin-system'; -import { fetchJson, RequestHeaders } from '@perses-dev/client'; + import { InstantQueryRequestParameters, InstantQueryResponse, diff --git a/prometheus/src/model/time.ts b/prometheus/src/model/time.ts index cbb9e70f1..b4f4d95b6 100644 --- a/prometheus/src/model/time.ts +++ b/prometheus/src/model/time.ts @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { milliseconds, getUnixTime } from 'date-fns'; import { AbsoluteTimeRange, DurationString, parseDurationString } from '@perses-dev/spec'; +import { milliseconds, getUnixTime } from 'date-fns'; + import { UnixTimestampSeconds } from './api-types'; export interface PrometheusTimeRange { diff --git a/prometheus/src/plugins/PrometheusDatasourceEditor.tsx b/prometheus/src/plugins/PrometheusDatasourceEditor.tsx index f19340e99..f4df21a72 100644 --- a/prometheus/src/plugins/PrometheusDatasourceEditor.tsx +++ b/prometheus/src/plugins/PrometheusDatasourceEditor.tsx @@ -14,10 +14,11 @@ import { Box, IconButton, TextField, Typography } from '@mui/material'; import { QueryParamValues } from '@perses-dev/components'; import { HTTPSettingsEditor } from '@perses-dev/plugin-system'; +import { DurationString } from '@perses-dev/spec'; import MinusIcon from 'mdi-material-ui/Minus'; import PlusIcon from 'mdi-material-ui/Plus'; import { ReactElement, useRef, useState } from 'react'; -import { DurationString } from '@perses-dev/spec'; + import { DEFAULT_SCRAPE_INTERVAL, PrometheusDatasourceSpec } from './types'; interface QueryParamEntry { diff --git a/prometheus/src/plugins/PrometheusLabelNamesVariable.tsx b/prometheus/src/plugins/PrometheusLabelNamesVariable.tsx index f374c63fc..404b0c4e7 100644 --- a/prometheus/src/plugins/PrometheusLabelNamesVariable.tsx +++ b/prometheus/src/plugins/PrometheusLabelNamesVariable.tsx @@ -19,9 +19,10 @@ import { datasourceSelectValueToSelector, isVariableDatasource, } from '@perses-dev/plugin-system'; + import { DEFAULT_PROM, getPrometheusTimeRange, PROM_DATASOURCE_KIND } from '../model'; -import { stringArrayToVariableOptions, PrometheusLabelNamesVariableEditor } from './prometheus-variables'; import { resolvePrometheusDatasource } from './interpolation'; +import { stringArrayToVariableOptions, PrometheusLabelNamesVariableEditor } from './prometheus-variables'; import { PrometheusLabelNamesVariableOptions } from './types'; export const PrometheusLabelNamesVariable: VariablePlugin = { diff --git a/prometheus/src/plugins/PrometheusLabelValuesVariable.tsx b/prometheus/src/plugins/PrometheusLabelValuesVariable.tsx index 28da8f49c..cdce12418 100644 --- a/prometheus/src/plugins/PrometheusLabelValuesVariable.tsx +++ b/prometheus/src/plugins/PrometheusLabelValuesVariable.tsx @@ -21,9 +21,10 @@ import { DatasourceStore, } from '@perses-dev/plugin-system'; import { DatasourceSelector, DatasourceSpec } from '@perses-dev/spec'; + import { DEFAULT_PROM, getPrometheusTimeRange, PROM_DATASOURCE_KIND } from '../model'; -import { stringArrayToVariableOptions, PrometheusLabelValuesVariableEditor } from './prometheus-variables'; import { resolvePrometheusDatasource } from './interpolation'; +import { stringArrayToVariableOptions, PrometheusLabelValuesVariableEditor } from './prometheus-variables'; import { PrometheusLabelValuesVariableOptions, PrometheusDatasourceSpec } from './types'; function extractDatasourceVariables(datasourceSpec: DatasourceSpec): string[] { diff --git a/prometheus/src/plugins/PrometheusPromQLVariable.tsx b/prometheus/src/plugins/PrometheusPromQLVariable.tsx index 2a0bc9fe2..4b9ccc74b 100644 --- a/prometheus/src/plugins/PrometheusPromQLVariable.tsx +++ b/prometheus/src/plugins/PrometheusPromQLVariable.tsx @@ -19,14 +19,15 @@ import { datasourceSelectValueToSelector, isVariableDatasource, } from '@perses-dev/plugin-system'; + import { DEFAULT_PROM, PROM_DATASOURCE_KIND } from '../model'; +import { resolvePrometheusDatasource } from './interpolation'; import { capturingMatrix, capturingVector, stringArrayToVariableOptions, PrometheusPromQLVariableEditor, } from './prometheus-variables'; -import { resolvePrometheusDatasource } from './interpolation'; import { PrometheusPromQLVariableOptions } from './types'; export const PrometheusPromQLVariable: VariablePlugin = { diff --git a/prometheus/src/plugins/interpolation.ts b/prometheus/src/plugins/interpolation.ts index bec02ddbc..84afeabac 100644 --- a/prometheus/src/plugins/interpolation.ts +++ b/prometheus/src/plugins/interpolation.ts @@ -14,6 +14,7 @@ import { interpolateHeaders, interpolateQueryParams, VariableStateMap } from '@perses-dev/components'; import { DatasourceStore } from '@perses-dev/plugin-system'; import { DatasourceSelector, DatasourceSpec } from '@perses-dev/spec'; + import { ClientRequestOptions, PrometheusClient } from '../model'; import { PrometheusDatasourceSpec } from './types'; diff --git a/prometheus/src/plugins/prometheus-datasource.tsx b/prometheus/src/plugins/prometheus-datasource.tsx index 53fc53293..398e68635 100644 --- a/prometheus/src/plugins/prometheus-datasource.tsx +++ b/prometheus/src/plugins/prometheus-datasource.tsx @@ -11,10 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { RequestHeaders } from '@perses-dev/client'; import { QueryParamValues } from '@perses-dev/components'; import { DatasourcePlugin } from '@perses-dev/plugin-system'; import { BuiltinVariableDefinition } from '@perses-dev/spec'; -import { RequestHeaders } from '@perses-dev/client'; + import { ClientRequestOptions, healthCheck, diff --git a/prometheus/src/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.ts b/prometheus/src/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.ts index e4c5708fb..101964be6 100644 --- a/prometheus/src/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.ts +++ b/prometheus/src/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.ts @@ -12,6 +12,7 @@ // limitations under the License. import { TimeSeriesQueryPlugin, isVariableDatasource, parseVariables } from '@perses-dev/plugin-system'; + import { getTimeSeriesData } from './get-time-series-data'; import { PrometheusTimeSeriesQueryEditor } from './PrometheusTimeSeriesQueryEditor'; import { PrometheusTimeSeriesQuerySpec } from './time-series-query-model'; diff --git a/prometheus/src/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.tsx b/prometheus/src/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.tsx index 5a75faf24..1b7ce4ed2 100644 --- a/prometheus/src/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.tsx +++ b/prometheus/src/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.tsx @@ -11,7 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { produce } from 'immer'; +import { FormControl, Stack, TextField } from '@mui/material'; +import { useId } from '@perses-dev/components'; +import { PanelEditorContext } from '@perses-dev/dashboards'; import { DatasourceSelect, DatasourceSelectProps, @@ -23,10 +25,10 @@ import { useSuggestedStepMs, useTimeRange, } from '@perses-dev/plugin-system'; -import { useId } from '@perses-dev/components'; -import { FormControl, Stack, TextField } from '@mui/material'; +import { produce } from 'immer'; import { ReactElement, useContext, useMemo } from 'react'; -import { PanelEditorContext } from '@perses-dev/dashboards'; + +import { PromQLEditor } from '../../components'; import { DEFAULT_PROM, DurationString, @@ -40,7 +42,6 @@ import { PrometheusDatasourceSelector, } from '../../model'; import { DEFAULT_SCRAPE_INTERVAL, PrometheusDatasourceSpec } from '../types'; -import { PromQLEditor } from '../../components'; import { PrometheusTimeSeriesQueryEditorProps, useQueryState, @@ -76,7 +77,7 @@ export function PrometheusTimeSeriesQueryEditor(props: PrometheusTimeSeriesQuery const { minStep, handleMinStepChange, handleMinStepBlur } = useMinStepState(props); const minStepPlaceholder = minStep ?? - (datasourceResource && (datasourceResource?.plugin.spec as PrometheusDatasourceSpec).scrapeInterval) ?? + (datasourceResource && (datasourceResource.plugin.spec as PrometheusDatasourceSpec).scrapeInterval) ?? DEFAULT_SCRAPE_INTERVAL; const handleDatasourceChange: DatasourceSelectProps['onChange'] = (next) => { diff --git a/prometheus/src/plugins/prometheus-time-series-query/get-time-series-data.ts b/prometheus/src/plugins/prometheus-time-series-query/get-time-series-data.ts index 6b480ade2..d783a1a25 100644 --- a/prometheus/src/plugins/prometheus-time-series-query/get-time-series-data.ts +++ b/prometheus/src/plugins/prometheus-time-series-query/get-time-series-data.ts @@ -12,7 +12,6 @@ // limitations under the License. import { TimeSeriesQueryPlugin, datasourceSelectValueToSelector, replaceVariables } from '@perses-dev/plugin-system'; -import { fromUnixTime, milliseconds } from 'date-fns'; import { DatasourceSpec, DurationString, @@ -21,6 +20,8 @@ import { TimeSeries, TimeSeriesData, } from '@perses-dev/spec'; +import { fromUnixTime, milliseconds } from 'date-fns'; + import { parseValueTuple, PrometheusClient, @@ -37,8 +38,8 @@ import { import { getFormattedPrometheusSeriesName } from '../../utils'; import { interpolateDatasourceProxyParams } from '../interpolation'; import { DEFAULT_SCRAPE_INTERVAL, PrometheusDatasourceSpec } from '../types'; -import { PrometheusTimeSeriesQuerySpec } from './time-series-query-model'; import { replacePromBuiltinVariables } from './replace-prom-builtin-variables'; +import { PrometheusTimeSeriesQuerySpec } from './time-series-query-model'; export const getTimeSeriesData: TimeSeriesQueryPlugin['getTimeSeriesData'] = async ( spec, diff --git a/prometheus/src/plugins/prometheus-time-series-query/plugin.test.ts b/prometheus/src/plugins/prometheus-time-series-query/plugin.test.ts index 5d9d469da..af7470199 100644 --- a/prometheus/src/plugins/prometheus-time-series-query/plugin.test.ts +++ b/prometheus/src/plugins/prometheus-time-series-query/plugin.test.ts @@ -17,6 +17,7 @@ jest.mock('echarts/core'); import { TimeSeriesQueryContext } from '@perses-dev/plugin-system'; import { DatasourceSpec } from '@perses-dev/spec'; + import { RangeQueryResponse } from '../../model'; import { PrometheusDatasource } from '../prometheus-datasource'; import { PrometheusDatasourceSpec } from '../types'; diff --git a/prometheus/src/plugins/prometheus-time-series-query/query-editor-model.ts b/prometheus/src/plugins/prometheus-time-series-query/query-editor-model.ts index e7581ab10..c9bfbfed3 100644 --- a/prometheus/src/plugins/prometheus-time-series-query/query-editor-model.ts +++ b/prometheus/src/plugins/prometheus-time-series-query/query-editor-model.ts @@ -11,10 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { useState } from 'react'; -import { produce } from 'immer'; import { OptionsEditorProps } from '@perses-dev/plugin-system'; import { DurationString } from '@perses-dev/spec'; +import { produce } from 'immer'; +import { useState } from 'react'; + import { PrometheusTimeSeriesQuerySpec } from './time-series-query-model'; export type PrometheusTimeSeriesQueryEditorProps = OptionsEditorProps; diff --git a/prometheus/src/plugins/prometheus-time-series-query/time-series-query-model.ts b/prometheus/src/plugins/prometheus-time-series-query/time-series-query-model.ts index 8dc68f213..8f718e4a9 100644 --- a/prometheus/src/plugins/prometheus-time-series-query/time-series-query-model.ts +++ b/prometheus/src/plugins/prometheus-time-series-query/time-series-query-model.ts @@ -13,6 +13,7 @@ import { DatasourceSelectValue } from '@perses-dev/plugin-system'; import { DurationString } from '@perses-dev/spec'; + import { PrometheusDatasourceSelector } from '../../model'; /** * The spec/options for the PrometheusTimeSeriesQuery plugin. diff --git a/prometheus/src/plugins/prometheus-variables.tsx b/prometheus/src/plugins/prometheus-variables.tsx index 362732993..996af7999 100644 --- a/prometheus/src/plugins/prometheus-variables.tsx +++ b/prometheus/src/plugins/prometheus-variables.tsx @@ -22,6 +22,7 @@ import { } from '@perses-dev/plugin-system'; import { produce } from 'immer'; import { ReactElement, useCallback, ChangeEvent, FocusEvent } from 'react'; + import { PromQLEditor } from '../components'; import { DEFAULT_PROM, diff --git a/prometheus/src/plugins/types.ts b/prometheus/src/plugins/types.ts index 5e9b5e56a..c4a1248be 100644 --- a/prometheus/src/plugins/types.ts +++ b/prometheus/src/plugins/types.ts @@ -14,6 +14,7 @@ import { QueryParamValues } from '@perses-dev/components'; import { DatasourceSelectValue } from '@perses-dev/plugin-system'; import { DurationString, HTTPProxy } from '@perses-dev/spec'; + import { PrometheusDatasourceSelector } from '../model'; export const DEFAULT_SCRAPE_INTERVAL: DurationString = '1m'; diff --git a/prometheus/src/plugins/variable.tsx b/prometheus/src/plugins/variable.tsx index 2744d0d4a..1bf34f395 100644 --- a/prometheus/src/plugins/variable.tsx +++ b/prometheus/src/plugins/variable.tsx @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { VariablePlugin, VariableOption, OptionsEditorProps } from '@perses-dev/plugin-system'; import { Autocomplete, TextField } from '@mui/material'; +import { VariablePlugin, VariableOption, OptionsEditorProps } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; type StaticListOption = string | VariableOption; diff --git a/pyroscope/jest.config.ts b/pyroscope/jest.config.ts index 5190fb4de..16027133b 100644 --- a/pyroscope/jest.config.ts +++ b/pyroscope/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/pyroscope/package.json b/pyroscope/package.json index 809f85e56..e569010e2 100644 --- a/pyroscope/package.json +++ b/pyroscope/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/pyroscope-plugin", "version": "0.6.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "dependencies": { "@codemirror/autocomplete": "^6.18.4", "@lezer/highlight": "^1.2.1x" @@ -32,30 +38,24 @@ "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", "@hookform/resolvers": "^3.2.0", + "@perses-dev/client": "^0.54.0-beta.7", "@perses-dev/components": "^0.54.0-beta.7", "@perses-dev/dashboards": "^0.54.0-beta.7", + "@perses-dev/explore": "^0.54.0-beta.7", "@perses-dev/plugin-system": "^0.54.0-beta.7", - "@perses-dev/client": "^0.54.0-beta.7", "@perses-dev/spec": "^0.2.0-beta.2", - "@perses-dev/explore": "^0.54.0-beta.7", "@tanstack/react-query": "^4.39.1", "@uiw/react-codemirror": "^4.19.1", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", "echarts": "5.5.0", + "immer": "^10.1.1", "lodash": "^4.17.21", "react": "^17.0.2 || ^18.0.0", "react-dom": "^17.0.2 || ^18.0.0", - "use-resize-observer": "^9.0.0", "react-hook-form": "^7.52.2", - "immer": "^10.1.1" + "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/pyroscope/rsbuild.config.ts b/pyroscope/rsbuild.config.ts index 9ceb874e4..af722f05f 100644 --- a/pyroscope/rsbuild.config.ts +++ b/pyroscope/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/pyroscope/schemas/pyroscope-profile-query/tests/valid/pyroscope-profile-query.json b/pyroscope/schemas/pyroscope-profile-query/tests/valid/pyroscope-profile-query.json index dbcd30728..4425ba8f9 100644 --- a/pyroscope/schemas/pyroscope-profile-query/tests/valid/pyroscope-profile-query.json +++ b/pyroscope/schemas/pyroscope-profile-query/tests/valid/pyroscope-profile-query.json @@ -1,10 +1,9 @@ - { "kind": "PyroscopeProfileQuery", "spec": { "datasource": { - "kind": "PyroscopeDatasource", - "name": "MyDemoDatasource" + "kind": "PyroscopeDatasource", + "name": "MyDemoDatasource" }, "maxNodes": 3, "profileType": "idk" diff --git a/pyroscope/src/components/AddFilterItem.tsx b/pyroscope/src/components/AddFilterItem.tsx index 1aa0ac30b..d480d34ad 100644 --- a/pyroscope/src/components/AddFilterItem.tsx +++ b/pyroscope/src/components/AddFilterItem.tsx @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; -import PlusIcon from 'mdi-material-ui/Plus'; import { ToolbarIconButton } from '@perses-dev/components'; +import PlusIcon from 'mdi-material-ui/Plus'; +import { ReactElement } from 'react'; export interface AddFilterItemProps { onClick: () => void; diff --git a/pyroscope/src/components/DeleteFilterItem.tsx b/pyroscope/src/components/DeleteFilterItem.tsx index 8d89da7f1..87d1ca418 100644 --- a/pyroscope/src/components/DeleteFilterItem.tsx +++ b/pyroscope/src/components/DeleteFilterItem.tsx @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; -import CloseIcon from 'mdi-material-ui/Close'; import { ToolbarIconButton } from '@perses-dev/components'; +import CloseIcon from 'mdi-material-ui/Close'; +import { ReactElement } from 'react'; export interface DeleteFilterItemProps { onClick: () => void; diff --git a/pyroscope/src/components/FilterItem.tsx b/pyroscope/src/components/FilterItem.tsx index 15a6ce66f..36bf064ae 100644 --- a/pyroscope/src/components/FilterItem.tsx +++ b/pyroscope/src/components/FilterItem.tsx @@ -11,14 +11,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; import { Grid2 as Grid, Stack } from '@mui/material'; +import { ReactElement } from 'react'; + import { PyroscopeDatasourceSelector } from '../model'; import { LabelFilter, OperatorType } from '../utils/types'; +import { DeleteFilterItem } from './DeleteFilterItem'; import { LabelName } from './LabelName'; -import { Operator } from './Operator'; import { LabelValue } from './LabelValue'; -import { DeleteFilterItem } from './DeleteFilterItem'; +import { Operator } from './Operator'; export interface FilterItemProps { datasource: PyroscopeDatasourceSelector; diff --git a/pyroscope/src/components/Filters.tsx b/pyroscope/src/components/Filters.tsx index c863b5c05..d470925b3 100644 --- a/pyroscope/src/components/Filters.tsx +++ b/pyroscope/src/components/Filters.tsx @@ -11,12 +11,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; import { InputLabel, Stack, useTheme } from '@mui/material'; +import { ReactElement } from 'react'; + import { PyroscopeDatasourceSelector } from '../model'; import { LabelFilter } from '../utils/types'; -import { FilterItem } from './FilterItem'; import { AddFilterItem } from './AddFilterItem'; +import { FilterItem } from './FilterItem'; export interface FiltersProps { datasource: PyroscopeDatasourceSelector; diff --git a/pyroscope/src/components/LabelName.tsx b/pyroscope/src/components/LabelName.tsx index 5a9b4420b..d8fd68036 100644 --- a/pyroscope/src/components/LabelName.tsx +++ b/pyroscope/src/components/LabelName.tsx @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, useMemo } from 'react'; import { TextField, Autocomplete } from '@mui/material'; +import { ReactElement, useMemo } from 'react'; + import { PyroscopeDatasourceSelector } from '../model'; import { useLabelNames, filterLabelNamesOptions } from '../utils/use-query'; diff --git a/pyroscope/src/components/LabelValue.tsx b/pyroscope/src/components/LabelValue.tsx index 025b8a9a0..aa91003fd 100644 --- a/pyroscope/src/components/LabelValue.tsx +++ b/pyroscope/src/components/LabelValue.tsx @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; import { TextField, Autocomplete } from '@mui/material'; +import { ReactElement } from 'react'; + import { PyroscopeDatasourceSelector } from '../model'; import { useLabelValues } from '../utils/use-query'; diff --git a/pyroscope/src/components/Operator.tsx b/pyroscope/src/components/Operator.tsx index d1316e24c..baa6c4096 100644 --- a/pyroscope/src/components/Operator.tsx +++ b/pyroscope/src/components/Operator.tsx @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; import { Select, MenuItem } from '@mui/material'; +import { ReactElement } from 'react'; export interface OperatorProps { value: string; diff --git a/pyroscope/src/components/ProfileTypeSelector.tsx b/pyroscope/src/components/ProfileTypeSelector.tsx index 8284a1921..506fe8a7a 100644 --- a/pyroscope/src/components/ProfileTypeSelector.tsx +++ b/pyroscope/src/components/ProfileTypeSelector.tsx @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement } from 'react'; import { Stack, TextField, MenuItem, CircularProgress } from '@mui/material'; +import { ReactElement } from 'react'; + import { PyroscopeDatasourceSelector } from '../model'; import { useProfileTypes } from '../utils/use-query'; diff --git a/pyroscope/src/components/Service.tsx b/pyroscope/src/components/Service.tsx index 82937b814..286c37f22 100644 --- a/pyroscope/src/components/Service.tsx +++ b/pyroscope/src/components/Service.tsx @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, SyntheticEvent } from 'react'; import { Stack, TextField, Autocomplete } from '@mui/material'; +import { ReactElement, SyntheticEvent } from 'react'; + import { PyroscopeDatasourceSelector } from '../model'; import { useServices } from '../utils/use-query'; diff --git a/pyroscope/src/explore/PyroscopeExplorer.tsx b/pyroscope/src/explore/PyroscopeExplorer.tsx index 6f0f1788a..b95f43462 100644 --- a/pyroscope/src/explore/PyroscopeExplorer.tsx +++ b/pyroscope/src/explore/PyroscopeExplorer.tsx @@ -12,11 +12,11 @@ // limitations under the License. import { Box, Stack } from '@mui/material'; -import { ReactElement, useState } from 'react'; -import { DataQueriesProvider, MultiQueryEditor } from '@perses-dev/plugin-system'; import { Panel } from '@perses-dev/dashboards'; import { useExplorerManagerContext } from '@perses-dev/explore'; +import { DataQueriesProvider, MultiQueryEditor } from '@perses-dev/plugin-system'; import { QueryDefinition } from '@perses-dev/spec'; +import { ReactElement, useState } from 'react'; interface ProfilesExplorerQueryParams { queries?: QueryDefinition[]; diff --git a/pyroscope/src/getPluginModule.ts b/pyroscope/src/getPluginModule.ts index cab8b384b..515511f2f 100644 --- a/pyroscope/src/getPluginModule.ts +++ b/pyroscope/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/pyroscope/src/model/pyroscope-client.ts b/pyroscope/src/model/pyroscope-client.ts index ec4fa06bb..498d7e817 100644 --- a/pyroscope/src/model/pyroscope-client.ts +++ b/pyroscope/src/model/pyroscope-client.ts @@ -11,8 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { DatasourceClient } from '@perses-dev/plugin-system'; import { RequestHeaders } from '@perses-dev/client'; +import { DatasourceClient } from '@perses-dev/plugin-system'; + import { SearchProfilesParameters, SearchProfilesResponse, diff --git a/pyroscope/src/plugins/PyroscopeDatasourceEditor.tsx b/pyroscope/src/plugins/PyroscopeDatasourceEditor.tsx index 328622257..3250330f3 100644 --- a/pyroscope/src/plugins/PyroscopeDatasourceEditor.tsx +++ b/pyroscope/src/plugins/PyroscopeDatasourceEditor.tsx @@ -13,6 +13,7 @@ import { HTTPSettingsEditor } from '@perses-dev/plugin-system'; import React, { ReactElement } from 'react'; + import { PyroscopeDatasourceSpec } from './pyroscope-datasource-types'; export interface PyroscopeDatasourceEditorProps { diff --git a/pyroscope/src/plugins/pyroscope-datasource.tsx b/pyroscope/src/plugins/pyroscope-datasource.tsx index 26d44cbeb..c60c515dc 100644 --- a/pyroscope/src/plugins/pyroscope-datasource.tsx +++ b/pyroscope/src/plugins/pyroscope-datasource.tsx @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourcePlugin } from '@perses-dev/plugin-system'; + import { PyroscopeClient, searchProfiles, diff --git a/pyroscope/src/plugins/pyroscope-profile-query/PyroscopeProfileQueryEditor.tsx b/pyroscope/src/plugins/pyroscope-profile-query/PyroscopeProfileQueryEditor.tsx index 139b09561..03c111936 100644 --- a/pyroscope/src/plugins/pyroscope-profile-query/PyroscopeProfileQueryEditor.tsx +++ b/pyroscope/src/plugins/pyroscope-profile-query/PyroscopeProfileQueryEditor.tsx @@ -11,18 +11,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { DatasourceSelect, DatasourceSelectProps } from '@perses-dev/plugin-system'; +import { FormControl, InputLabel, Stack, TextField, useTheme } from '@mui/material'; import { useId } from '@perses-dev/components'; +import { DatasourceSelect, DatasourceSelectProps } from '@perses-dev/plugin-system'; import { produce } from 'immer'; -import { FormControl, InputLabel, Stack, TextField, useTheme } from '@mui/material'; import { ReactElement } from 'react'; + +import { ProfileTypeSelector, Service, Filters } from '../../components'; import { DEFAULT_PYROSCOPE, isDefaultPyroscopeSelector, isPyroscopeDatasourceSelector, PYROSCOPE_DATASOURCE_KIND, } from '../../model'; -import { ProfileTypeSelector, Service, Filters } from '../../components'; import { ProfileQueryEditorProps, useMaxNodesState, diff --git a/pyroscope/src/plugins/pyroscope-profile-query/get-profile-data.ts b/pyroscope/src/plugins/pyroscope-profile-query/get-profile-data.ts index 1b4656115..40df3ed86 100644 --- a/pyroscope/src/plugins/pyroscope-profile-query/get-profile-data.ts +++ b/pyroscope/src/plugins/pyroscope-profile-query/get-profile-data.ts @@ -12,11 +12,12 @@ // limitations under the License. import { ProfileQueryPlugin } from '@perses-dev/plugin-system'; -import { getUnixTime } from 'date-fns'; import { AbsoluteTimeRange, ProfileData, StackTrace } from '@perses-dev/spec'; +import { getUnixTime } from 'date-fns'; + import { PyroscopeProfileQuerySpec, PYROSCOPE_DATASOURCE_KIND, PyroscopeDatasourceSelector } from '../../model'; -import { PyroscopeClient } from '../../model/pyroscope-client'; import { SearchProfilesParameters, SearchProfilesResponse } from '../../model/api-types'; +import { PyroscopeClient } from '../../model/pyroscope-client'; import { computeFilterExpr } from '../../utils/types'; export function getUnixTimeRange(timeRange: AbsoluteTimeRange): { start: number; end: number } { diff --git a/pyroscope/src/plugins/pyroscope-profile-query/query-editor-model.ts b/pyroscope/src/plugins/pyroscope-profile-query/query-editor-model.ts index f1239afe3..b0517f888 100644 --- a/pyroscope/src/plugins/pyroscope-profile-query/query-editor-model.ts +++ b/pyroscope/src/plugins/pyroscope-profile-query/query-editor-model.ts @@ -11,9 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { useState } from 'react'; -import { produce } from 'immer'; import { OptionsEditorProps } from '@perses-dev/plugin-system'; +import { produce } from 'immer'; +import { useState } from 'react'; + import { PyroscopeProfileQuerySpec } from '../../model/profile-query-model'; import { LabelFilter } from '../../utils/types'; diff --git a/pyroscope/src/utils/use-query.ts b/pyroscope/src/utils/use-query.ts index 23f24d9fe..061f9ee56 100644 --- a/pyroscope/src/utils/use-query.ts +++ b/pyroscope/src/utils/use-query.ts @@ -11,11 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { StatusError } from '@perses-dev/client'; import { useDatasourceClient, useTimeRange } from '@perses-dev/plugin-system'; - -import { useQuery, UseQueryResult } from '@tanstack/react-query'; import { DatasourceSelector } from '@perses-dev/spec'; -import { StatusError } from '@perses-dev/client'; +import { useQuery, UseQueryResult } from '@tanstack/react-query'; + import { SearchLabelNamesResponse, SearchLabelValuesResponse, diff --git a/rsbuild.shared.ts b/rsbuild.shared.ts index a61466f4d..8bc8a4ab4 100644 --- a/rsbuild.shared.ts +++ b/rsbuild.shared.ts @@ -73,7 +73,7 @@ interface PluginConfigOptions { * }); * ``` */ -export function createConfigForPlugin(options: PluginConfigOptions) { +export function createConfigForPlugin(options: PluginConfigOptions): RsbuildConfig { const { name, rsbuildConfig = {}, moduleFederation = {} } = options; const mfConfig: ModuleFederationOptions = { diff --git a/scatterchart/jest.config.ts b/scatterchart/jest.config.ts index 5190fb4de..16027133b 100644 --- a/scatterchart/jest.config.ts +++ b/scatterchart/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/scatterchart/package.json b/scatterchart/package.json index 059505a29..2d22e48e0 100644 --- a/scatterchart/package.json +++ b/scatterchart/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/scatter-chart-plugin", "version": "0.11.0-beta.1", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,16 +26,16 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "dependencies": { "react-virtuoso": "^4.12.2" }, + "devDependencies": { + "react-router-dom": "^5 || ^6 || ^7" + }, "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", @@ -42,15 +51,6 @@ "react-dom": "^17.0.2 || ^18.0.0", "use-resize-observer": "^9.0.0" }, - "devDependencies": { - "react-router-dom": "^5 || ^6 || ^7" - }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/scatterchart/rsbuild.config.ts b/scatterchart/rsbuild.config.ts index ed785439a..d51732446 100644 --- a/scatterchart/rsbuild.config.ts +++ b/scatterchart/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/scatterchart/src/ScatterChart.ts b/scatterchart/src/ScatterChart.ts index 83ffb811f..ea7306eb7 100644 --- a/scatterchart/src/ScatterChart.ts +++ b/scatterchart/src/ScatterChart.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; + import { createInitialScatterChartOptions, ScatterChartOptions } from './scatter-chart-model'; import { ScatterChartPanel, ScatterChartPanelProps } from './ScatterChartPanel'; diff --git a/scatterchart/src/ScatterChartPanel.test.tsx b/scatterchart/src/ScatterChartPanel.test.tsx index 5ed74c06a..eb2c5ce96 100644 --- a/scatterchart/src/ScatterChartPanel.test.tsx +++ b/scatterchart/src/ScatterChartPanel.test.tsx @@ -11,13 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { PanelData, ReactRouterProvider, TimeRangeProviderBasic } from '@perses-dev/plugin-system'; -import { screen, render } from '@testing-library/react'; import { ChartsProvider, testChartsTheme } from '@perses-dev/components'; -import { MemoryRouter } from 'react-router-dom'; import { VariableProvider } from '@perses-dev/dashboards'; -import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { PanelData, ReactRouterProvider, TimeRangeProviderBasic } from '@perses-dev/plugin-system'; import { TraceData } from '@perses-dev/spec'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import { screen, render } from '@testing-library/react'; +import { MemoryRouter } from 'react-router-dom'; + import { MOCK_TRACE_SEARCH_RESULT_QUERY_RESULT, MOCK_TRACE_SEARCH_RESULT_QUERY_RESULT_EMPTY } from './mock-trace-data'; import { getSymbolSize, ScatterChartPanel, ScatterChartPanelProps } from './ScatterChartPanel'; diff --git a/scatterchart/src/ScatterChartPanel.tsx b/scatterchart/src/ScatterChartPanel.tsx index 8c6a07f73..4d8dba905 100644 --- a/scatterchart/src/ScatterChartPanel.tsx +++ b/scatterchart/src/ScatterChartPanel.tsx @@ -11,13 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { PanelProps } from '@perses-dev/plugin-system'; -import { ReactElement, useMemo } from 'react'; -import { EChartsOption, SeriesOption } from 'echarts'; import { NoDataOverlay, useChartsTheme } from '@perses-dev/components'; +import { PanelProps } from '@perses-dev/plugin-system'; import { TraceData, TraceSearchResult } from '@perses-dev/spec'; -import { Scatterplot } from './Scatterplot'; +import { EChartsOption, SeriesOption } from 'echarts'; +import { ReactElement, useMemo } from 'react'; + import { ScatterChartOptions } from './scatter-chart-model'; +import { Scatterplot } from './Scatterplot'; export interface EChartTraceValue extends Omit { name: string; diff --git a/scatterchart/src/Scatterplot.tsx b/scatterchart/src/Scatterplot.tsx index b49d187ab..c4d96d76a 100644 --- a/scatterchart/src/Scatterplot.tsx +++ b/scatterchart/src/Scatterplot.tsx @@ -11,9 +11,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { ReactElement, useMemo } from 'react'; import { EChart, formatValue, OnEventsType, useChartsTheme } from '@perses-dev/components'; -import { use, EChartsCoreOption } from 'echarts/core'; +import { + replaceVariablesInString, + useAllVariableValues, + useRouterContext, + useTimeRange, +} from '@perses-dev/plugin-system'; +import { EChartsOption, ScatterSeriesOption } from 'echarts'; import { ScatterChart as EChartsScatterChart } from 'echarts/charts'; import { DatasetComponent, @@ -23,14 +28,10 @@ import { TitleComponent, TooltipComponent, } from 'echarts/components'; +import { use, EChartsCoreOption } from 'echarts/core'; import { CanvasRenderer } from 'echarts/renderers'; -import { EChartsOption, ScatterSeriesOption } from 'echarts'; -import { - replaceVariablesInString, - useAllVariableValues, - useRouterContext, - useTimeRange, -} from '@perses-dev/plugin-system'; +import { ReactElement, useMemo } from 'react'; + import { EChartTraceValue } from './ScatterChartPanel'; use([ diff --git a/scatterchart/src/getPluginModule.ts b/scatterchart/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/scatterchart/src/getPluginModule.ts +++ b/scatterchart/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/splunk/jest.config.ts b/splunk/jest.config.ts index 5190fb4de..16027133b 100644 --- a/splunk/jest.config.ts +++ b/splunk/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/splunk/package.json b/splunk/package.json index 6e5ae92e9..cd23caa75 100644 --- a/splunk/package.json +++ b/splunk/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/splunk-plugin", "version": "0.1.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,14 +26,12 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "dependencies": {}, + "devDependencies": {}, "peerDependencies": { "@perses-dev/components": "^0.54.0-beta.7", "@perses-dev/plugin-system": "^0.54.0-beta.7", @@ -32,13 +39,6 @@ "immer": "^10.1.1", "react": "^17.0.2 || ^18.0.0" }, - "devDependencies": {}, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "moduleName": "Splunk", "schemasPath": "schemas", diff --git a/splunk/rsbuild.config.ts b/splunk/rsbuild.config.ts index ad24f5169..3933ed71e 100644 --- a/splunk/rsbuild.config.ts +++ b/splunk/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/splunk/src/datasources/splunk-datasource/SplunkDatasource.tsx b/splunk/src/datasources/splunk-datasource/SplunkDatasource.tsx index 7262c9da2..7ee9593b1 100644 --- a/splunk/src/datasources/splunk-datasource/SplunkDatasource.tsx +++ b/splunk/src/datasources/splunk-datasource/SplunkDatasource.tsx @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourcePlugin } from '@perses-dev/plugin-system'; + import { SplunkClient, createJob, diff --git a/splunk/src/datasources/splunk-datasource/SplunkDatasourceEditor.tsx b/splunk/src/datasources/splunk-datasource/SplunkDatasourceEditor.tsx index 23e3892ee..c88d389af 100644 --- a/splunk/src/datasources/splunk-datasource/SplunkDatasourceEditor.tsx +++ b/splunk/src/datasources/splunk-datasource/SplunkDatasourceEditor.tsx @@ -13,6 +13,7 @@ import { HTTPSettingsEditor } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; + import { SplunkDatasourceSpec } from './splunk-datasource-types'; export interface SplunkDatasourceEditorProps { diff --git a/splunk/src/getPluginModule.ts b/splunk/src/getPluginModule.ts index cab8b384b..515511f2f 100644 --- a/splunk/src/getPluginModule.ts +++ b/splunk/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/splunk/src/model/splunk-client.ts b/splunk/src/model/splunk-client.ts index e0db9b3f5..58bce086b 100644 --- a/splunk/src/model/splunk-client.ts +++ b/splunk/src/model/splunk-client.ts @@ -12,6 +12,7 @@ // limitations under the License. import { fetchJson } from '@perses-dev/client'; + import { SplunkJobCreateResponse, SplunkJobStatusResponse, diff --git a/splunk/src/queries/splunk-log-query/SplunkLogQuery.test.ts b/splunk/src/queries/splunk-log-query/SplunkLogQuery.test.ts index 89d32d5e9..d7aaf7505 100644 --- a/splunk/src/queries/splunk-log-query/SplunkLogQuery.test.ts +++ b/splunk/src/queries/splunk-log-query/SplunkLogQuery.test.ts @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { SplunkLogQuery } from './SplunkLogQuery'; import { LogQueryContext } from './log-query-plugin-interface'; +import { SplunkLogQuery } from './SplunkLogQuery'; const createStubContext = (): LogQueryContext => ({ datasourceStore: { diff --git a/splunk/src/queries/splunk-log-query/SplunkLogQuery.tsx b/splunk/src/queries/splunk-log-query/SplunkLogQuery.tsx index aac5d8625..1047d46c1 100644 --- a/splunk/src/queries/splunk-log-query/SplunkLogQuery.tsx +++ b/splunk/src/queries/splunk-log-query/SplunkLogQuery.tsx @@ -12,10 +12,11 @@ // limitations under the License. import { parseVariables } from '@perses-dev/plugin-system'; + import { getSplunkLogData } from './get-splunk-log-data'; -import { SplunkLogQueryEditor } from './SplunkLogQueryEditor'; -import { SplunkLogQuerySpec } from './splunk-log-query-types'; import { LogQueryPlugin } from './log-query-plugin-interface'; +import { SplunkLogQuerySpec } from './splunk-log-query-types'; +import { SplunkLogQueryEditor } from './SplunkLogQueryEditor'; export const SplunkLogQuery: LogQueryPlugin = { getLogData: getSplunkLogData, diff --git a/splunk/src/queries/splunk-log-query/SplunkLogQueryEditor.tsx b/splunk/src/queries/splunk-log-query/SplunkLogQueryEditor.tsx index d9799c7cf..bb8f3f696 100644 --- a/splunk/src/queries/splunk-log-query/SplunkLogQueryEditor.tsx +++ b/splunk/src/queries/splunk-log-query/SplunkLogQueryEditor.tsx @@ -11,6 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { Box, InputLabel, Stack, TextField } from '@mui/material'; import { DatasourceSelect, DatasourceSelectProps, @@ -18,9 +19,9 @@ import { OptionsEditorProps, useDatasourceSelectValueToSelector, } from '@perses-dev/plugin-system'; -import { Box, InputLabel, Stack, TextField } from '@mui/material'; -import { ReactElement } from 'react'; import { produce } from 'immer'; +import { ReactElement } from 'react'; + import { SplunkLogQuerySpec } from './splunk-log-query-types'; const DATASOURCE_KIND = 'SplunkDatasource'; diff --git a/splunk/src/queries/splunk-log-query/get-splunk-log-data.ts b/splunk/src/queries/splunk-log-query/get-splunk-log-data.ts index e10cf16bc..e1ead8397 100644 --- a/splunk/src/queries/splunk-log-query/get-splunk-log-data.ts +++ b/splunk/src/queries/splunk-log-query/get-splunk-log-data.ts @@ -13,17 +13,18 @@ import { replaceVariables } from '@perses-dev/plugin-system'; import { HTTPAllowedEndpoint, LogData, LogEntry } from '@perses-dev/spec'; -import { SplunkClient } from '../../model/splunk-client'; + import { SplunkDatasourceSpec } from '../../datasources/splunk-datasource/splunk-datasource-types'; -import { DEFAULT_DATASOURCE } from '../constants'; +import { SplunkClient } from '../../model/splunk-client'; import { SplunkIndexResponse, SplunkJobCreateResponse, SplunkJobStatusResponse, SplunkResultsResponse, } from '../../model/splunk-client-types'; -import { SplunkLogQuerySpec } from './splunk-log-query-types'; +import { DEFAULT_DATASOURCE } from '../constants'; import { LogQueryPlugin, LogQueryContext } from './log-query-plugin-interface'; +import { SplunkLogQuerySpec } from './splunk-log-query-types'; function convertResultsToLogs( results: diff --git a/splunk/src/queries/splunk-log-query/splunk-log-query-types.ts b/splunk/src/queries/splunk-log-query/splunk-log-query-types.ts index b0544bca5..16209b050 100644 --- a/splunk/src/queries/splunk-log-query/splunk-log-query-types.ts +++ b/splunk/src/queries/splunk-log-query/splunk-log-query-types.ts @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourceSelector } from '@perses-dev/spec'; + import { SplunkLogResults } from '../../model/splunk-client-types'; export interface SplunkLogQuerySpec { diff --git a/splunk/src/queries/splunk-time-series-query/SplunkTimeSeriesQuery.tsx b/splunk/src/queries/splunk-time-series-query/SplunkTimeSeriesQuery.tsx index da88d5cc5..7fdd74232 100644 --- a/splunk/src/queries/splunk-time-series-query/SplunkTimeSeriesQuery.tsx +++ b/splunk/src/queries/splunk-time-series-query/SplunkTimeSeriesQuery.tsx @@ -12,9 +12,10 @@ // limitations under the License. import { TimeSeriesQueryPlugin, parseVariables } from '@perses-dev/plugin-system'; + import { getSplunkTimeSeriesData } from './get-splunk-time-series-data'; -import { SplunkTimeSeriesQueryEditor } from './SplunkTimeSeriesQueryEditor'; import { SplunkTimeSeriesQuerySpec } from './splunk-time-series-query-types'; +import { SplunkTimeSeriesQueryEditor } from './SplunkTimeSeriesQueryEditor'; export const SplunkTimeSeriesQuery: TimeSeriesQueryPlugin = { getTimeSeriesData: getSplunkTimeSeriesData, diff --git a/splunk/src/queries/splunk-time-series-query/SplunkTimeSeriesQueryEditor.tsx b/splunk/src/queries/splunk-time-series-query/SplunkTimeSeriesQueryEditor.tsx index f928b48b3..9370674f0 100644 --- a/splunk/src/queries/splunk-time-series-query/SplunkTimeSeriesQueryEditor.tsx +++ b/splunk/src/queries/splunk-time-series-query/SplunkTimeSeriesQueryEditor.tsx @@ -11,6 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { Box, InputLabel, Stack, TextField } from '@mui/material'; import { DatasourceSelect, DatasourceSelectProps, @@ -18,9 +19,9 @@ import { OptionsEditorProps, useDatasourceSelectValueToSelector, } from '@perses-dev/plugin-system'; -import { Box, InputLabel, Stack, TextField } from '@mui/material'; -import { ReactElement } from 'react'; import { produce } from 'immer'; +import { ReactElement } from 'react'; + import { SplunkTimeSeriesQuerySpec } from './splunk-time-series-query-types'; const DATASOURCE_KIND = 'SplunkDatasource'; diff --git a/splunk/src/queries/splunk-time-series-query/get-splunk-time-series-data.ts b/splunk/src/queries/splunk-time-series-query/get-splunk-time-series-data.ts index a3b88e5fe..4f467c3a3 100644 --- a/splunk/src/queries/splunk-time-series-query/get-splunk-time-series-data.ts +++ b/splunk/src/queries/splunk-time-series-query/get-splunk-time-series-data.ts @@ -13,10 +13,11 @@ import { TimeSeriesQueryPlugin, replaceVariables } from '@perses-dev/plugin-system'; import { HTTPAllowedEndpoint, TimeSeries } from '@perses-dev/spec'; -import { SplunkClient } from '../../model/splunk-client'; + import { SplunkDatasourceSpec } from '../../datasources/splunk-datasource/splunk-datasource-types'; -import { DEFAULT_DATASOURCE } from '../constants'; import { SplunkJobCreateResponse, SplunkJobStatusResponse, SplunkResultsResponse } from '../../model'; +import { SplunkClient } from '../../model/splunk-client'; +import { DEFAULT_DATASOURCE } from '../constants'; import { SplunkTimeSeriesQuerySpec } from './splunk-time-series-query-types'; function convertResultsToTimeSeries( diff --git a/splunk/src/queries/splunk-time-series-query/splunk-time-series-query-types.ts b/splunk/src/queries/splunk-time-series-query/splunk-time-series-query-types.ts index e535cd09f..46bc70edc 100644 --- a/splunk/src/queries/splunk-time-series-query/splunk-time-series-query-types.ts +++ b/splunk/src/queries/splunk-time-series-query/splunk-time-series-query-types.ts @@ -12,6 +12,7 @@ // limitations under the License. import { DatasourceSelector } from '@perses-dev/spec'; + import { SplunkTimeSeriesResults } from '../../model/splunk-client-types'; export interface SplunkTimeSeriesQuerySpec { diff --git a/statchart/jest.config.ts b/statchart/jest.config.ts index 5190fb4de..16027133b 100644 --- a/statchart/jest.config.ts +++ b/statchart/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/statchart/package.json b/statchart/package.json index 03d542ad1..bfa083dea 100644 --- a/statchart/package.json +++ b/statchart/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/stat-chart-plugin", "version": "0.13.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,16 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", + "dependencies": { + "chroma-js": "^3.1.2" + }, + "devDependencies": { + "@types/chroma-js": "^3.1.2" + }, "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", @@ -40,12 +52,6 @@ "react-dom": "^17.0.2 || ^18.0.0", "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { @@ -58,11 +64,5 @@ } } ] - }, - "dependencies": { - "chroma-js": "^3.1.2" - }, - "devDependencies": { - "@types/chroma-js": "^3.1.2" } } diff --git a/statchart/rsbuild.config.ts b/statchart/rsbuild.config.ts index 332163f4e..6ab798968 100644 --- a/statchart/rsbuild.config.ts +++ b/statchart/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/statchart/schemas/migrate/tests/basic/input.json b/statchart/schemas/migrate/tests/basic/input.json index f9ada9c9e..12429767e 100644 --- a/statchart/schemas/migrate/tests/basic/input.json +++ b/statchart/schemas/migrate/tests/basic/input.json @@ -41,9 +41,7 @@ "justifyMode": "auto", "orientation": "auto", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -65,4 +63,4 @@ ], "title": "My Stat chart", "type": "stat" -} \ No newline at end of file +} diff --git a/statchart/schemas/migrate/tests/label-display-from-legend/input.json b/statchart/schemas/migrate/tests/label-display-from-legend/input.json index aca94badf..de1562e51 100644 --- a/statchart/schemas/migrate/tests/label-display-from-legend/input.json +++ b/statchart/schemas/migrate/tests/label-display-from-legend/input.json @@ -44,9 +44,7 @@ "options": { "reduceOptions": { "values": false, - "calcs": [ - "mean" - ], + "calcs": ["mean"], "fields": "" }, "orientation": "auto", @@ -58,4 +56,4 @@ "showPercentChange": false, "percentChangeColorMode": "standard" } -} \ No newline at end of file +} diff --git a/statchart/schemas/migrate/tests/label-display-from-options/input.json b/statchart/schemas/migrate/tests/label-display-from-options/input.json index a0b57e6c8..007e2b68c 100644 --- a/statchart/schemas/migrate/tests/label-display-from-options/input.json +++ b/statchart/schemas/migrate/tests/label-display-from-options/input.json @@ -44,9 +44,7 @@ "options": { "reduceOptions": { "values": false, - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "/^version$/" }, "orientation": "auto", diff --git a/statchart/schemas/migrate/tests/mappings/expected.json b/statchart/schemas/migrate/tests/mappings/expected.json index 069e6aded..4dc38d9cf 100644 --- a/statchart/schemas/migrate/tests/mappings/expected.json +++ b/statchart/schemas/migrate/tests/mappings/expected.json @@ -71,4 +71,4 @@ ] } } -} \ No newline at end of file +} diff --git a/statchart/schemas/migrate/tests/overrides_to_mappings/input.json b/statchart/schemas/migrate/tests/overrides_to_mappings/input.json index 66a2afda7..5f77d743b 100644 --- a/statchart/schemas/migrate/tests/overrides_to_mappings/input.json +++ b/statchart/schemas/migrate/tests/overrides_to_mappings/input.json @@ -98,9 +98,7 @@ "options": { "reduceOptions": { "values": false, - "calcs": [ - "mean" - ], + "calcs": ["mean"], "fields": "" }, "orientation": "auto", @@ -112,4 +110,4 @@ "showPercentChange": false, "percentChangeColorMode": "standard" } -} \ No newline at end of file +} diff --git a/statchart/src/StatChart.ts b/statchart/src/StatChart.ts index efa3cf8c3..074a8ac50 100644 --- a/statchart/src/StatChart.ts +++ b/statchart/src/StatChart.ts @@ -12,10 +12,11 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; + import { createInitialStatChartOptions, StatChartOptions } from './stat-chart-model'; -import { StatChartValueMappingEditor } from './StatChartValueMappingEditor'; import { StatChartOptionsEditorSettings } from './StatChartOptionsEditorSettings'; import { StatChartPanel, StatChartPanelProps } from './StatChartPanel'; +import { StatChartValueMappingEditor } from './StatChartValueMappingEditor'; /** * The core StatChart panel plugin for Perses. diff --git a/statchart/src/StatChartBase.test.tsx b/statchart/src/StatChartBase.test.tsx index 84897e6b4..9988bdc43 100644 --- a/statchart/src/StatChartBase.test.tsx +++ b/statchart/src/StatChartBase.test.tsx @@ -11,9 +11,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { ChartsProvider, FormatOptions, testChartsTheme } from '@perses-dev/components'; import { render, screen } from '@testing-library/react'; -import { ChartsProvider, FormatOptions, testChartsTheme } from '@perses-dev/components'; import { StatChartBase, StatChartData } from './StatChartBase'; jest.mock('./utils/calculate-font-size', () => ({ diff --git a/statchart/src/StatChartBase.tsx b/statchart/src/StatChartBase.tsx index 461a87204..c2c9a8820 100644 --- a/statchart/src/StatChartBase.tsx +++ b/statchart/src/StatChartBase.tsx @@ -11,18 +11,19 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { FC, ReactNode, useMemo } from 'react'; import { Box, Typography, styled, useTheme } from '@mui/material'; -import merge from 'lodash/merge'; -import { use, EChartsCoreOption } from 'echarts/core'; +import { EChart, FontSizeOption, FormatOptions, GraphSeries, useChartsTheme } from '@perses-dev/components'; +import chroma from 'chroma-js'; import { LineChart as EChartsLineChart, LineSeriesOption } from 'echarts/charts'; import { GridComponent, DatasetComponent, TitleComponent, TooltipComponent } from 'echarts/components'; +import { use, EChartsCoreOption } from 'echarts/core'; import { CanvasRenderer } from 'echarts/renderers'; -import { EChart, FontSizeOption, FormatOptions, GraphSeries, useChartsTheme } from '@perses-dev/components'; -import chroma from 'chroma-js'; +import merge from 'lodash/merge'; +import { FC, ReactNode, useMemo } from 'react'; + +import { ColorMode } from './stat-chart-model'; import { useOptimalFontSize } from './utils/calculate-font-size'; import { formatStatChartValue } from './utils/format-stat-chart-value'; -import { ColorMode } from './stat-chart-model'; use([EChartsLineChart, GridComponent, DatasetComponent, TitleComponent, TooltipComponent, CanvasRenderer]); diff --git a/statchart/src/StatChartOptionsEditorSettings.test.tsx b/statchart/src/StatChartOptionsEditorSettings.test.tsx index b6e755f0e..d3a21bade 100644 --- a/statchart/src/StatChartOptionsEditorSettings.test.tsx +++ b/statchart/src/StatChartOptionsEditorSettings.test.tsx @@ -14,6 +14,7 @@ import { ChartsProvider, testChartsTheme } from '@perses-dev/components'; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; + import { StatChartOptions } from './stat-chart-model'; import { StatChartOptionsEditorSettings } from './StatChartOptionsEditorSettings'; diff --git a/statchart/src/StatChartOptionsEditorSettings.tsx b/statchart/src/StatChartOptionsEditorSettings.tsx index 1126a8846..40396d4c5 100644 --- a/statchart/src/StatChartOptionsEditorSettings.tsx +++ b/statchart/src/StatChartOptionsEditorSettings.tsx @@ -36,6 +36,7 @@ import { import { produce } from 'immer'; import merge from 'lodash/merge'; import { ReactElement, useCallback, useMemo } from 'react'; + import { COLOR_MODE_LABELS, ColorModeLabelItem, diff --git a/statchart/src/StatChartPanel.tsx b/statchart/src/StatChartPanel.tsx index 030734b77..0487aecc2 100644 --- a/statchart/src/StatChartPanel.tsx +++ b/statchart/src/StatChartPanel.tsx @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TitleComponentOption } from 'echarts'; +import { Stack, Typography, SxProps } from '@mui/material'; import { useChartsTheme, GraphSeries, @@ -20,15 +20,16 @@ import { applyValueMapping, createRegexFromString, } from '@perses-dev/components'; -import { Stack, Typography, SxProps } from '@mui/material'; -import { FC, useMemo } from 'react'; import { PanelProps, PanelData } from '@perses-dev/plugin-system'; import { Labels, TimeSeriesData } from '@perses-dev/spec'; +import { TitleComponentOption } from 'echarts'; +import { FC, useMemo } from 'react'; + import { StatChartOptions } from './stat-chart-model'; -import { convertSparkline } from './utils/data-transform'; +import { StatChartBase, StatChartData } from './StatChartBase'; import { calculateValue } from './utils/calculate-value'; +import { convertSparkline } from './utils/data-transform'; import { getStatChartColor } from './utils/get-color'; -import { StatChartBase, StatChartData } from './StatChartBase'; const MIN_WIDTH = 100; const SPACING = 2; @@ -38,7 +39,7 @@ export type StatChartPanelProps = PanelProps; export const StatChartPanel: FC = (props) => { const { spec, contentDimensions, queryResults } = props; - const { format, sparkline, valueFontSize: valueFontSize, colorMode } = spec; + const { format, sparkline, valueFontSize, colorMode } = spec; const chartsTheme = useChartsTheme(); const statChartData = useStatChartData(queryResults, spec, chartsTheme); diff --git a/statchart/src/StatChartValueMappingEditor.tsx b/statchart/src/StatChartValueMappingEditor.tsx index e5cfae356..37ea15070 100644 --- a/statchart/src/StatChartValueMappingEditor.tsx +++ b/statchart/src/StatChartValueMappingEditor.tsx @@ -11,9 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { OptionsEditorProps } from '@perses-dev/plugin-system'; import { ValueMapping, ValueMappingsEditor } from '@perses-dev/components'; +import { OptionsEditorProps } from '@perses-dev/plugin-system'; import { FC } from 'react'; + import { StatChartOptions } from './stat-chart-model'; export type StatChartValueMappingEditorProps = OptionsEditorProps; diff --git a/statchart/src/getPluginModule.ts b/statchart/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/statchart/src/getPluginModule.ts +++ b/statchart/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/statchart/src/utils/calculate-font-size.ts b/statchart/src/utils/calculate-font-size.ts index 9b2d52a85..0d2fd5523 100644 --- a/statchart/src/utils/calculate-font-size.ts +++ b/statchart/src/utils/calculate-font-size.ts @@ -56,7 +56,7 @@ export function useOptimalFontSize({ } const textStyle = echartsTheme.textStyle; - const fontSize = Number(textStyle?.fontSize) ?? 12; + const fontSize = Number(textStyle?.fontSize ?? 12); const fontFamily = textStyle?.fontFamily ?? 'Lato'; // set the font on the canvas context diff --git a/statchart/src/utils/data-transform.test.ts b/statchart/src/utils/data-transform.test.ts index 6d11e2696..691b40946 100644 --- a/statchart/src/utils/data-transform.test.ts +++ b/statchart/src/utils/data-transform.test.ts @@ -13,6 +13,7 @@ import { testChartsTheme, ThresholdOptions } from '@perses-dev/components'; import { LineSeriesOption } from 'echarts'; + import { StatChartOptions, StatChartSparklineOptions } from '../stat-chart-model'; import { convertSparkline } from './data-transform'; import { getStatChartColor } from './get-color'; diff --git a/statchart/src/utils/data-transform.ts b/statchart/src/utils/data-transform.ts index 1f1862e23..f2a6db88f 100644 --- a/statchart/src/utils/data-transform.ts +++ b/statchart/src/utils/data-transform.ts @@ -13,6 +13,7 @@ import { PersesChartsTheme } from '@perses-dev/components'; import { LineSeriesOption } from 'echarts/charts'; + import { StatChartSparklineOptions } from '../stat-chart-model'; export function convertSparkline( diff --git a/statchart/src/utils/get-color.ts b/statchart/src/utils/get-color.ts index 892ff12ef..eea4da52c 100644 --- a/statchart/src/utils/get-color.ts +++ b/statchart/src/utils/get-color.ts @@ -12,6 +12,7 @@ // limitations under the License. import { applyValueMapping, PersesChartsTheme, ThresholdOptions, ValueMapping } from '@perses-dev/components'; + import { StatChartOptions } from '../stat-chart-model'; type StatChartValue = number | string | null; diff --git a/staticlistvariable/package.json b/staticlistvariable/package.json index 41e246469..548f658cb 100644 --- a/staticlistvariable/package.json +++ b/staticlistvariable/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/static-list-variable-plugin", "version": "0.9.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest --passWithNoTests", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "dependencies": { "color-hash": "^2.0.2" }, @@ -41,12 +47,6 @@ "react-dom": "^17.0.2 || ^18.0.0", "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/staticlistvariable/rsbuild.config.ts b/staticlistvariable/rsbuild.config.ts index ebfc9455a..e9278ad55 100644 --- a/staticlistvariable/rsbuild.config.ts +++ b/staticlistvariable/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/staticlistvariable/schemas/migrate/tests/custom-complex/expected.json b/staticlistvariable/schemas/migrate/tests/custom-complex/expected.json index bdd5f8c00..83a4ea1c5 100644 --- a/staticlistvariable/schemas/migrate/tests/custom-complex/expected.json +++ b/staticlistvariable/schemas/migrate/tests/custom-complex/expected.json @@ -16,4 +16,4 @@ } ] } -} \ No newline at end of file +} diff --git a/staticlistvariable/schemas/migrate/tests/custom-complex/input.json b/staticlistvariable/schemas/migrate/tests/custom-complex/input.json index 90ea142d4..5edce5adc 100644 --- a/staticlistvariable/schemas/migrate/tests/custom-complex/input.json +++ b/staticlistvariable/schemas/migrate/tests/custom-complex/input.json @@ -30,4 +30,4 @@ "query": "All : on(cluster\\,name\\,namespace) group_left()(0*(sum by(cluster\\,namespace\\,name)(kubevirt_vm_info))), stopped : on(cluster\\,name\\,namespace) group_left()(0*(sum by(cluster\\,namespace\\,name)(kubevirt_vm_info{status_group=\"non_running\"}>0))), starting : on(cluster\\,name\\,namespace) group_left()(0*(sum by(cluster\\,namespace\\,name)(kubevirt_vm_info{status_group=\"starting\"} > 0)))", "skipUrlSync": false, "type": "custom" -} \ No newline at end of file +} diff --git a/staticlistvariable/schemas/migrate/tests/custom/expected.json b/staticlistvariable/schemas/migrate/tests/custom/expected.json index 721a81f21..5175355fe 100644 --- a/staticlistvariable/schemas/migrate/tests/custom/expected.json +++ b/staticlistvariable/schemas/migrate/tests/custom/expected.json @@ -10,4 +10,4 @@ } ] } -} \ No newline at end of file +} diff --git a/staticlistvariable/schemas/migrate/tests/custom/input.json b/staticlistvariable/schemas/migrate/tests/custom/input.json index 9534a8a65..5abcffbdf 100644 --- a/staticlistvariable/schemas/migrate/tests/custom/input.json +++ b/staticlistvariable/schemas/migrate/tests/custom/input.json @@ -30,4 +30,4 @@ "query": "one, two ,three : 3 ", "skipUrlSync": false, "type": "custom" -} \ No newline at end of file +} diff --git a/staticlistvariable/schemas/migrate/tests/interval-no-options/expected.json b/staticlistvariable/schemas/migrate/tests/interval-no-options/expected.json index e54a62d0a..108f60183 100644 --- a/staticlistvariable/schemas/migrate/tests/interval-no-options/expected.json +++ b/staticlistvariable/schemas/migrate/tests/interval-no-options/expected.json @@ -1,16 +1,6 @@ { "kind": "StaticListVariable", "spec": { - "values": [ - "15s", - "30s", - "1m", - "5m", - "10m", - "30m", - "1h", - "6h", - "1d" - ] + "values": ["15s", "30s", "1m", "5m", "10m", "30m", "1h", "6h", "1d"] } -} \ No newline at end of file +} diff --git a/staticlistvariable/schemas/migrate/tests/interval-no-options/input.json b/staticlistvariable/schemas/migrate/tests/interval-no-options/input.json index 60e388a35..b65fcd1bd 100644 --- a/staticlistvariable/schemas/migrate/tests/interval-no-options/input.json +++ b/staticlistvariable/schemas/migrate/tests/interval-no-options/input.json @@ -10,4 +10,4 @@ "query": "15s,30s,1m,5m,10m,30m,1h,6h,1d", "refresh": 2, "type": "interval" -} \ No newline at end of file +} diff --git a/staticlistvariable/schemas/migrate/tests/interval/expected.json b/staticlistvariable/schemas/migrate/tests/interval/expected.json index 53134715b..83ab9b70a 100644 --- a/staticlistvariable/schemas/migrate/tests/interval/expected.json +++ b/staticlistvariable/schemas/migrate/tests/interval/expected.json @@ -1,17 +1,6 @@ { "kind": "StaticListVariable", "spec": { - "values": [ - "1m", - "10m", - "30m", - "1h", - "6h", - "12h", - "1d", - "7d", - "14d", - "30d" - ] + "values": ["1m", "10m", "30m", "1h", "6h", "12h", "1d", "7d", "14d", "30d"] } -} \ No newline at end of file +} diff --git a/staticlistvariable/schemas/migrate/tests/interval/input.json b/staticlistvariable/schemas/migrate/tests/interval/input.json index 5b2978cbc..d3ea330de 100644 --- a/staticlistvariable/schemas/migrate/tests/interval/input.json +++ b/staticlistvariable/schemas/migrate/tests/interval/input.json @@ -66,4 +66,4 @@ "refresh": 2, "skipUrlSync": false, "type": "interval" -} \ No newline at end of file +} diff --git a/staticlistvariable/schemas/tests/valid/static-list.json b/staticlistvariable/schemas/tests/valid/static-list.json index a15ef39dc..0f36bd855 100644 --- a/staticlistvariable/schemas/tests/valid/static-list.json +++ b/staticlistvariable/schemas/tests/valid/static-list.json @@ -16,4 +16,4 @@ } ] } -} \ No newline at end of file +} diff --git a/staticlistvariable/src/StaticListVariable.tsx b/staticlistvariable/src/StaticListVariable.tsx index 75ec134c4..feea4195c 100644 --- a/staticlistvariable/src/StaticListVariable.tsx +++ b/staticlistvariable/src/StaticListVariable.tsx @@ -11,11 +11,11 @@ // See the License for the specific language governing permissions and // limitations under the License. +import { Autocomplete, Chip, IconButton, TextField, Typography } from '@mui/material'; /* eslint-disable jsx-a11y/no-autofocus */ import { VariablePlugin, VariableOption, OptionsEditorProps } from '@perses-dev/plugin-system'; -import { Autocomplete, Chip, IconButton, TextField, Typography } from '@mui/material'; -import { ReactElement, useCallback, useState } from 'react'; import PlusCircleIcon from 'mdi-material-ui/PlusCircle'; +import { ReactElement, useCallback, useState } from 'react'; type StaticListOption = string | VariableOption; diff --git a/staticlistvariable/src/getPluginModule.ts b/staticlistvariable/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/staticlistvariable/src/getPluginModule.ts +++ b/staticlistvariable/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/statushistorychart/jest.config.ts b/statushistorychart/jest.config.ts index 5190fb4de..16027133b 100644 --- a/statushistorychart/jest.config.ts +++ b/statushistorychart/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/statushistorychart/package.json b/statushistorychart/package.json index 06aa4b24a..a3a22269c 100644 --- a/statushistorychart/package.json +++ b/statushistorychart/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/status-history-chart-plugin", "version": "0.13.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,13 +26,10 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", @@ -34,18 +40,12 @@ "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", "echarts": "5.5.0", + "immer": "^10.1.1", "lodash": "^4.17.21", "react": "^17.0.2 || ^18.0.0", "react-dom": "^17.0.2 || ^18.0.0", - "use-resize-observer": "^9.0.0", - "immer": "^10.1.1" + "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/statushistorychart/rsbuild.config.ts b/statushistorychart/rsbuild.config.ts index 39feb9407..c040b99ae 100644 --- a/statushistorychart/rsbuild.config.ts +++ b/statushistorychart/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/statushistorychart/schemas/migrate/tests/mappings/input.json b/statushistorychart/schemas/migrate/tests/mappings/input.json index 857eccdb1..8d256dde3 100644 --- a/statushistorychart/schemas/migrate/tests/mappings/input.json +++ b/statushistorychart/schemas/migrate/tests/mappings/input.json @@ -110,4 +110,4 @@ ], "title": "Network interfaces status", "type": "status-history" -} \ No newline at end of file +} diff --git a/statushistorychart/schemas/tests/valid/status-history.json b/statushistorychart/schemas/tests/valid/status-history.json index f948d2c9b..e120729a4 100644 --- a/statushistorychart/schemas/tests/valid/status-history.json +++ b/statushistorychart/schemas/tests/valid/status-history.json @@ -1,9 +1,9 @@ { - "kind": "StatusHistoryChart", - "spec": { - "legend": { - "position": "bottom" - }, - "sorting": "asc" - } -} \ No newline at end of file + "kind": "StatusHistoryChart", + "spec": { + "legend": { + "position": "bottom" + }, + "sorting": "asc" + } +} diff --git a/statushistorychart/src/StatusHistoryChartBase.tsx b/statushistorychart/src/StatusHistoryChartBase.tsx index 115a1e756..104ccc6a8 100644 --- a/statushistorychart/src/StatusHistoryChartBase.tsx +++ b/statushistorychart/src/StatusHistoryChartBase.tsx @@ -12,6 +12,9 @@ // limitations under the License. import { Box, SxProps, Typography, useTheme } from '@mui/material'; +import { EChart, useChartsTheme, useTimeZone } from '@perses-dev/components'; +import { TimeScale } from '@perses-dev/spec'; +import { EChartsCoreOption, TitleComponentOption } from 'echarts'; import { HeatmapChart as EChartsHeatmapChart } from 'echarts/charts'; import { GridComponent, @@ -23,12 +26,10 @@ import { } from 'echarts/components'; import { use } from 'echarts/core'; import { CanvasRenderer } from 'echarts/renderers'; -import { EChartsCoreOption, TitleComponentOption } from 'echarts'; import { FC } from 'react'; -import { EChart, useChartsTheme, useTimeZone } from '@perses-dev/components'; -import { TimeScale } from '@perses-dev/spec'; -import { getFormattedStatusHistoryAxisLabel } from './utils/get-formatted-axis-label'; + import { generateTooltipHTML } from './StatusHistoryTooltip'; +import { getFormattedStatusHistoryAxisLabel } from './utils/get-formatted-axis-label'; use([ EChartsHeatmapChart, diff --git a/statushistorychart/src/StatusHistoryChartOptionsEditorSettings.tsx b/statushistorychart/src/StatusHistoryChartOptionsEditorSettings.tsx index 5dec4c19f..574de6a77 100644 --- a/statushistorychart/src/StatusHistoryChartOptionsEditorSettings.tsx +++ b/statushistorychart/src/StatusHistoryChartOptionsEditorSettings.tsx @@ -11,8 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { LegendOptionsEditor, LegendOptionsEditorProps } from '@perses-dev/plugin-system'; -import { produce } from 'immer'; +import { Button } from '@mui/material'; import { OptionsEditorGroup, OptionsEditorGrid, @@ -21,8 +20,10 @@ import { SortOption, SortSelectorProps, } from '@perses-dev/components'; -import { Button } from '@mui/material'; +import { LegendOptionsEditor, LegendOptionsEditorProps } from '@perses-dev/plugin-system'; +import { produce } from 'immer'; import { ReactElement } from 'react'; + import { StatusHistoryChartOptions, StatusHistroyChartEditorProps } from './status-history-model.js'; export function StatusHistoryChartOptionsEditorSettings(props: StatusHistroyChartEditorProps): ReactElement { diff --git a/statushistorychart/src/StatusHistoryPanel.tsx b/statushistorychart/src/StatusHistoryPanel.tsx index 1a2ab2b85..1b6868094 100644 --- a/statushistorychart/src/StatusHistoryPanel.tsx +++ b/statushistorychart/src/StatusHistoryPanel.tsx @@ -14,12 +14,13 @@ import { Box } from '@mui/material'; import { ContentWithLegend, useChartsTheme } from '@perses-dev/components'; import { PanelProps, validateLegendSpec } from '@perses-dev/plugin-system'; +import { TimeSeriesData } from '@perses-dev/spec'; import { merge } from 'lodash'; import { ReactElement, useMemo } from 'react'; -import { TimeSeriesData } from '@perses-dev/spec'; -import { useStatusHistoryDataModel } from './utils/data-transform'; + import { StatusHistoryChartOptions } from './status-history-model.js'; import { StatusHistoryChartBase } from './StatusHistoryChartBase'; +import { useStatusHistoryDataModel } from './utils/data-transform'; export type StatusHistoryChartPanelProps = PanelProps; diff --git a/statushistorychart/src/StatusHistoryTooltip.ts b/statushistorychart/src/StatusHistoryTooltip.ts index 3e71aec88..0857475a7 100644 --- a/statushistorychart/src/StatusHistoryTooltip.ts +++ b/statushistorychart/src/StatusHistoryTooltip.ts @@ -13,6 +13,7 @@ import { css, Theme } from '@mui/material'; import { getDateAndTime } from '@perses-dev/components'; + import { StatusHistoryData } from './StatusHistoryChartBase'; interface CustomTooltipProps { diff --git a/statushistorychart/src/StatusHistoryValueMappingEditor.tsx b/statushistorychart/src/StatusHistoryValueMappingEditor.tsx index 08ab60a50..ee2bf28ec 100644 --- a/statushistorychart/src/StatusHistoryValueMappingEditor.tsx +++ b/statushistorychart/src/StatusHistoryValueMappingEditor.tsx @@ -11,9 +11,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { OptionsEditorProps } from '@perses-dev/plugin-system'; import { ValueMapping, ValueMappingsEditor } from '@perses-dev/components'; +import { OptionsEditorProps } from '@perses-dev/plugin-system'; import { FC } from 'react'; + import { StatusHistoryChartOptions } from './status-history-model'; export type StatusHistoryValueMappingEditorProps = OptionsEditorProps; diff --git a/statushistorychart/src/getPluginModule.ts b/statushistorychart/src/getPluginModule.ts index ee2f25a74..5e96075ae 100644 --- a/statushistorychart/src/getPluginModule.ts +++ b/statushistorychart/src/getPluginModule.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PluginModuleResource, PluginModuleSpec } from '@perses-dev/plugin-system'; + import packageJson from '../package.json'; /** diff --git a/statushistorychart/src/utils/data-transform.test.ts b/statushistorychart/src/utils/data-transform.test.ts index 7fd75235e..231cc534f 100644 --- a/statushistorychart/src/utils/data-transform.test.ts +++ b/statushistorychart/src/utils/data-transform.test.ts @@ -12,8 +12,9 @@ // limitations under the License. import { PanelData } from '@perses-dev/plugin-system'; -import { renderHook } from '@testing-library/react'; import { TimeSeriesData } from '@perses-dev/spec'; +import { renderHook } from '@testing-library/react'; + import { useStatusHistoryDataModel } from './data-transform'; describe('useStatusHistoryDataModel', () => { diff --git a/statushistorychart/src/utils/data-transform.ts b/statushistorychart/src/utils/data-transform.ts index f8b8ab42d..427c9e771 100644 --- a/statushistorychart/src/utils/data-transform.ts +++ b/statushistorychart/src/utils/data-transform.ts @@ -13,8 +13,9 @@ import { applyValueMapping, LegendItem } from '@perses-dev/components'; import { PanelData } from '@perses-dev/plugin-system'; -import { useMemo } from 'react'; import { TimeScale, TimeSeriesData } from '@perses-dev/spec'; +import { useMemo } from 'react'; + import { StatusHistoryChartOptions } from '../status-history-model'; import { StatusHistoryDataItem } from '../StatusHistoryChartBase'; import { FALLBACK_COLOR, getColorsForValues } from './get-color'; diff --git a/table/jest.config.ts b/table/jest.config.ts index 5190fb4de..16027133b 100644 --- a/table/jest.config.ts +++ b/table/jest.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import type { Config } from '@jest/types'; + import shared from '../jest.shared'; const jestConfig: Config.InitialOptions = { diff --git a/table/package.json b/table/package.json index e0df1b073..41b73cb97 100644 --- a/table/package.json +++ b/table/package.json @@ -1,15 +1,24 @@ { "name": "@perses-dev/table-plugin", "version": "0.13.0-beta.0", - "license": "Apache-2.0", "homepage": "https://github.com/perses/plugins/blob/main/README.md", + "bugs": { + "url": "https://github.com/perses/plugins/issues" + }, + "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/perses/plugins.git" }, - "bugs": { - "url": "https://github.com/perses/plugins/issues" - }, + "files": [ + "lib/**/*", + "__mf/**/*", + "mf-manifest.json", + "mf-stats.json" + ], + "main": "lib/cjs/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", "scripts": { "dev": "rsbuild dev", "build": "npm run build-mf && concurrently \"npm:build:*\"", @@ -17,21 +26,18 @@ "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc", "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc", "build:types": "tsc --project tsconfig.build.json", - "lint": "eslint src --ext .ts,.tsx", + "lint": "oxlint src", "test": "cross-env LC_ALL=C TZ=UTC jest", "type-check": "tsc --noEmit" }, - "main": "lib/cjs/index.js", - "module": "lib/index.js", - "types": "lib/index.d.ts", "peerDependencies": { "@emotion/react": "^11.7.1", "@emotion/styled": "^11.6.0", "@hookform/resolvers": "^3.2.0", "@perses-dev/components": "^0.54.0-beta.7", - "@perses-dev/spec": "^0.2.0-beta.2", - "@perses-dev/plugin-system": "^0.54.0-beta.7", "@perses-dev/dashboards": "^0.54.0-beta.7", + "@perses-dev/plugin-system": "^0.54.0-beta.7", + "@perses-dev/spec": "^0.2.0-beta.2", "@tanstack/react-table": "^8.20.5", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", @@ -41,12 +47,6 @@ "react-dom": "^17.0.2 || ^18.0.0", "use-resize-observer": "^9.0.0" }, - "files": [ - "lib/**/*", - "__mf/**/*", - "mf-manifest.json", - "mf-stats.json" - ], "perses": { "plugins": [ { diff --git a/table/rsbuild.config.ts b/table/rsbuild.config.ts index 8f57fa01f..ac06d56e5 100644 --- a/table/rsbuild.config.ts +++ b/table/rsbuild.config.ts @@ -12,6 +12,7 @@ // limitations under the License. import { pluginReact } from '@rsbuild/plugin-react'; + import { createConfigForPlugin } from '../rsbuild.shared'; export default createConfigForPlugin({ diff --git a/table/schemas/migrate/tests/conflicting-rename-using-organize/expected.json b/table/schemas/migrate/tests/conflicting-rename-using-organize/expected.json index 0daa52127..c9dff4d77 100644 --- a/table/schemas/migrate/tests/conflicting-rename-using-organize/expected.json +++ b/table/schemas/migrate/tests/conflicting-rename-using-organize/expected.json @@ -9,4 +9,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/conflicting-rename-using-organize/input.json b/table/schemas/migrate/tests/conflicting-rename-using-organize/input.json index 8f6be34aa..5f786963d 100644 --- a/table/schemas/migrate/tests/conflicting-rename-using-organize/input.json +++ b/table/schemas/migrate/tests/conflicting-rename-using-organize/input.json @@ -27,4 +27,4 @@ } } ] -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/legacy-panel/expected.json b/table/schemas/migrate/tests/legacy-panel/expected.json index f4db5f267..8e9d5ec34 100644 --- a/table/schemas/migrate/tests/legacy-panel/expected.json +++ b/table/schemas/migrate/tests/legacy-panel/expected.json @@ -14,4 +14,4 @@ } ] } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/legacy-panel/input.json b/table/schemas/migrate/tests/legacy-panel/input.json index 2bdc35ea0..6e992183f 100644 --- a/table/schemas/migrate/tests/legacy-panel/input.json +++ b/table/schemas/migrate/tests/legacy-panel/input.json @@ -32,11 +32,7 @@ "$$hashKey": "object:282", "alias": "APP Component", "align": "right", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], + "colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, @@ -65,4 +61,4 @@ "title": "My table-old panel", "transform": "table", "type": "table-old" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/override-width-undefined-value/expected.json b/table/schemas/migrate/tests/override-width-undefined-value/expected.json index 08c785e8a..bf9c31397 100644 --- a/table/schemas/migrate/tests/override-width-undefined-value/expected.json +++ b/table/schemas/migrate/tests/override-width-undefined-value/expected.json @@ -9,4 +9,4 @@ } ] } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/override-width-undefined-value/input.json b/table/schemas/migrate/tests/override-width-undefined-value/input.json index 3fab809ba..08a3e5a63 100644 --- a/table/schemas/migrate/tests/override-width-undefined-value/input.json +++ b/table/schemas/migrate/tests/override-width-undefined-value/input.json @@ -43,9 +43,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -70,4 +68,4 @@ "title": "Override width but doesnt define a value", "description": "When there is a width override that doesn't define a value, it falls back to auto => we should set auto explicitly in Perses", "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-and-width-using-overrides/expected.json b/table/schemas/migrate/tests/rename-and-width-using-overrides/expected.json index 9acd3399b..c8be2b36d 100644 --- a/table/schemas/migrate/tests/rename-and-width-using-overrides/expected.json +++ b/table/schemas/migrate/tests/rename-and-width-using-overrides/expected.json @@ -15,4 +15,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-and-width-using-overrides/input.json b/table/schemas/migrate/tests/rename-and-width-using-overrides/input.json index 42098f75e..776b95f40 100644 --- a/table/schemas/migrate/tests/rename-and-width-using-overrides/input.json +++ b/table/schemas/migrate/tests/rename-and-width-using-overrides/input.json @@ -77,9 +77,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -104,4 +102,4 @@ "title": "Rename+width using overrides", "transformations": [], "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-same-using-both/expected.json b/table/schemas/migrate/tests/rename-same-using-both/expected.json index 52336626d..fb49ba590 100644 --- a/table/schemas/migrate/tests/rename-same-using-both/expected.json +++ b/table/schemas/migrate/tests/rename-same-using-both/expected.json @@ -13,4 +13,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-same-using-both/input.json b/table/schemas/migrate/tests/rename-same-using-both/input.json index 2fb293fdb..16896d22d 100644 --- a/table/schemas/migrate/tests/rename-same-using-both/input.json +++ b/table/schemas/migrate/tests/rename-same-using-both/input.json @@ -69,9 +69,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -108,4 +106,4 @@ } ], "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-twice-using-overrides/expected.json b/table/schemas/migrate/tests/rename-twice-using-overrides/expected.json index 8fd870e37..c782feb60 100644 --- a/table/schemas/migrate/tests/rename-twice-using-overrides/expected.json +++ b/table/schemas/migrate/tests/rename-twice-using-overrides/expected.json @@ -9,4 +9,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-twice-using-overrides/input.json b/table/schemas/migrate/tests/rename-twice-using-overrides/input.json index 26119aeee..5d6db5d37 100644 --- a/table/schemas/migrate/tests/rename-twice-using-overrides/input.json +++ b/table/schemas/migrate/tests/rename-twice-using-overrides/input.json @@ -69,9 +69,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -95,4 +93,4 @@ ], "title": "Duplicated rename using field overrides", "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-twice-using-transform/expected.json b/table/schemas/migrate/tests/rename-twice-using-transform/expected.json index e58c4fcc7..03a9311a8 100644 --- a/table/schemas/migrate/tests/rename-twice-using-transform/expected.json +++ b/table/schemas/migrate/tests/rename-twice-using-transform/expected.json @@ -21,4 +21,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-twice-using-transform/input.json b/table/schemas/migrate/tests/rename-twice-using-transform/input.json index b85713aa7..2e837462f 100644 --- a/table/schemas/migrate/tests/rename-twice-using-transform/input.json +++ b/table/schemas/migrate/tests/rename-twice-using-transform/input.json @@ -44,9 +44,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -94,4 +92,4 @@ } ], "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-using-overrides/expected.json b/table/schemas/migrate/tests/rename-using-overrides/expected.json index 31f675250..8e0d49b37 100644 --- a/table/schemas/migrate/tests/rename-using-overrides/expected.json +++ b/table/schemas/migrate/tests/rename-using-overrides/expected.json @@ -45,4 +45,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-using-overrides/input.json b/table/schemas/migrate/tests/rename-using-overrides/input.json index 1cf268172..c69dc01bb 100644 --- a/table/schemas/migrate/tests/rename-using-overrides/input.json +++ b/table/schemas/migrate/tests/rename-using-overrides/input.json @@ -96,9 +96,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -122,4 +120,4 @@ ], "title": "Rename using field overrides", "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-using-transform/expected.json b/table/schemas/migrate/tests/rename-using-transform/expected.json index dcc1faaee..280de1275 100644 --- a/table/schemas/migrate/tests/rename-using-transform/expected.json +++ b/table/schemas/migrate/tests/rename-using-transform/expected.json @@ -13,4 +13,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/rename-using-transform/input.json b/table/schemas/migrate/tests/rename-using-transform/input.json index a6f27683c..f0e310967 100644 --- a/table/schemas/migrate/tests/rename-using-transform/input.json +++ b/table/schemas/migrate/tests/rename-using-transform/input.json @@ -44,9 +44,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -83,4 +81,4 @@ } ], "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/several-settings-using-both-2/expected.json b/table/schemas/migrate/tests/several-settings-using-both-2/expected.json index fbe536ddd..de88f5785 100644 --- a/table/schemas/migrate/tests/several-settings-using-both-2/expected.json +++ b/table/schemas/migrate/tests/several-settings-using-both-2/expected.json @@ -22,4 +22,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/several-settings-using-both-2/input.json b/table/schemas/migrate/tests/several-settings-using-both-2/input.json index 93c94027b..c6cdbf208 100644 --- a/table/schemas/migrate/tests/several-settings-using-both-2/input.json +++ b/table/schemas/migrate/tests/several-settings-using-both-2/input.json @@ -57,9 +57,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -107,4 +105,4 @@ } ], "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/several-settings-using-both-3/expected.json b/table/schemas/migrate/tests/several-settings-using-both-3/expected.json index 2c48c3da9..71a11cff2 100644 --- a/table/schemas/migrate/tests/several-settings-using-both-3/expected.json +++ b/table/schemas/migrate/tests/several-settings-using-both-3/expected.json @@ -27,4 +27,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/several-settings-using-both-3/input.json b/table/schemas/migrate/tests/several-settings-using-both-3/input.json index 34819db6f..7fa9e1286 100644 --- a/table/schemas/migrate/tests/several-settings-using-both-3/input.json +++ b/table/schemas/migrate/tests/several-settings-using-both-3/input.json @@ -69,9 +69,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -126,4 +124,4 @@ } ], "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/several-settings-using-both/expected.json b/table/schemas/migrate/tests/several-settings-using-both/expected.json index b395c48c2..5dd29995a 100644 --- a/table/schemas/migrate/tests/several-settings-using-both/expected.json +++ b/table/schemas/migrate/tests/several-settings-using-both/expected.json @@ -15,4 +15,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/several-settings-using-both/input.json b/table/schemas/migrate/tests/several-settings-using-both/input.json index 6ff4e9d2a..72b4f44c7 100644 --- a/table/schemas/migrate/tests/several-settings-using-both/input.json +++ b/table/schemas/migrate/tests/several-settings-using-both/input.json @@ -57,9 +57,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -98,4 +96,4 @@ } ], "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/width-twice-using-overrides/expected.json b/table/schemas/migrate/tests/width-twice-using-overrides/expected.json index bc4c317a6..60cda4d5a 100644 --- a/table/schemas/migrate/tests/width-twice-using-overrides/expected.json +++ b/table/schemas/migrate/tests/width-twice-using-overrides/expected.json @@ -9,4 +9,4 @@ ], "density": "compact" } -} \ No newline at end of file +} diff --git a/table/schemas/migrate/tests/width-twice-using-overrides/input.json b/table/schemas/migrate/tests/width-twice-using-overrides/input.json index ad924893f..e1648cab4 100644 --- a/table/schemas/migrate/tests/width-twice-using-overrides/input.json +++ b/table/schemas/migrate/tests/width-twice-using-overrides/input.json @@ -69,9 +69,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -95,4 +93,4 @@ ], "title": "Duplicated width using field overrides", "type": "table" -} \ No newline at end of file +} diff --git a/table/schemas/tests/valid/table.json b/table/schemas/tests/valid/table.json index 66d5cf478..8334c2cf8 100644 --- a/table/schemas/tests/valid/table.json +++ b/table/schemas/tests/valid/table.json @@ -2,7 +2,7 @@ "kind": "Table", "spec": { "density": "compact", - "columnSettings" : [ + "columnSettings": [ { "name": "value", "header": "Value", diff --git a/table/src/Table.ts b/table/src/Table.ts index 0c9df73a3..af02d8021 100644 --- a/table/src/Table.ts +++ b/table/src/Table.ts @@ -12,6 +12,7 @@ // limitations under the License. import { PanelPlugin } from '@perses-dev/plugin-system'; + import { getTablePanelQueryOptions, TableCellsEditor, diff --git a/table/src/TableExportAction.test.ts b/table/src/TableExportAction.test.ts index 522dd3348..59f067783 100644 --- a/table/src/TableExportAction.test.ts +++ b/table/src/TableExportAction.test.ts @@ -13,6 +13,7 @@ import { PanelData } from '@perses-dev/plugin-system'; import { TimeSeriesData } from '@perses-dev/spec'; + import { TableOptions } from './models'; import { buildTableData } from './TableExportAction'; diff --git a/table/src/TableExportAction.tsx b/table/src/TableExportAction.tsx index 4bbea6d42..870e80d33 100644 --- a/table/src/TableExportAction.tsx +++ b/table/src/TableExportAction.tsx @@ -11,12 +11,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -import React, { useCallback, useMemo } from 'react'; -import { escapeCsvValue, PanelData, sanitizeFilename } from '@perses-dev/plugin-system'; -import { InfoTooltip, transformData } from '@perses-dev/components'; import { IconButton } from '@mui/material'; -import DownloadIcon from 'mdi-material-ui/Download'; +import { InfoTooltip, transformData } from '@perses-dev/components'; +import { escapeCsvValue, PanelData, sanitizeFilename } from '@perses-dev/plugin-system'; import { TimeSeriesData } from '@perses-dev/spec'; +import DownloadIcon from 'mdi-material-ui/Download'; +import React, { useCallback, useMemo } from 'react'; + import { TableProps } from './components'; import type { TableOptions } from './models'; import { buildRawTableData } from './table-data-utils'; diff --git a/table/src/components/CellsEditor/CellsEditor.tsx b/table/src/components/CellsEditor/CellsEditor.tsx index 860875ac0..a3bf4ba87 100644 --- a/table/src/components/CellsEditor/CellsEditor.tsx +++ b/table/src/components/CellsEditor/CellsEditor.tsx @@ -12,6 +12,7 @@ // limitations under the License. import { ReactElement } from 'react'; + import { CellSettings } from '../../models'; import { ConditionalPanel } from '../ConditionalPanel'; diff --git a/table/src/components/ColumnsEditor/ColumnEditor.tsx b/table/src/components/ColumnsEditor/ColumnEditor.tsx index 9e5fdd2cf..17079080e 100644 --- a/table/src/components/ColumnsEditor/ColumnEditor.tsx +++ b/table/src/components/ColumnsEditor/ColumnEditor.tsx @@ -12,7 +12,6 @@ // limitations under the License. import { Button, ButtonGroup, Stack, StackProps, Switch, TextField, Typography } from '@mui/material'; -import { ReactElement, useState } from 'react'; import { AlignSelector, FormatControls, @@ -24,6 +23,7 @@ import { SortSelectorButtons, } from '@perses-dev/components'; import { PluginKindSelect } from '@perses-dev/plugin-system'; +import { ReactElement, useState } from 'react'; import { ColumnSettings } from '../../models'; import { ConditionalPanel } from '../ConditionalPanel'; diff --git a/table/src/components/ColumnsEditor/ColumnEditorContainer.tsx b/table/src/components/ColumnsEditor/ColumnEditorContainer.tsx index 7b04ba9d5..a7d5fba5c 100644 --- a/table/src/components/ColumnsEditor/ColumnEditorContainer.tsx +++ b/table/src/components/ColumnsEditor/ColumnEditorContainer.tsx @@ -12,13 +12,14 @@ // limitations under the License. import { Divider, IconButton, Stack, Tooltip, Typography } from '@mui/material'; -import ChevronRight from 'mdi-material-ui/ChevronRight'; +import { DragAndDropElement, DragButton } from '@perses-dev/components'; import ChevronDown from 'mdi-material-ui/ChevronDown'; +import ChevronRight from 'mdi-material-ui/ChevronRight'; import DeleteIcon from 'mdi-material-ui/DeleteOutline'; -import EyeIcon from 'mdi-material-ui/EyeOutline'; import EyeOffIcon from 'mdi-material-ui/EyeOffOutline'; -import { DragAndDropElement, DragButton } from '@perses-dev/components'; +import EyeIcon from 'mdi-material-ui/EyeOutline'; import { ReactElement } from 'react'; + import { ColumnEditor, ColumnEditorProps } from './ColumnEditor'; export interface ColumnEditorContainerProps extends ColumnEditorProps { diff --git a/table/src/components/ColumnsEditor/ColumnsEditor.tsx b/table/src/components/ColumnsEditor/ColumnsEditor.tsx index 3ffbe237e..ecc5bdb9a 100644 --- a/table/src/components/ColumnsEditor/ColumnsEditor.tsx +++ b/table/src/components/ColumnsEditor/ColumnsEditor.tsx @@ -12,9 +12,10 @@ // limitations under the License. import { Button, Stack } from '@mui/material'; -import { ReactElement, useState } from 'react'; -import AddIcon from 'mdi-material-ui/Plus'; import { handleMoveDown, handleMoveUp, useDragAndDropMonitor } from '@perses-dev/components'; +import AddIcon from 'mdi-material-ui/Plus'; +import { ReactElement, useState } from 'react'; + import { ColumnSettings } from '../../models'; import { ColumnEditorContainer } from './ColumnEditorContainer'; diff --git a/table/src/components/ColumnsEditor/DataLinkEditorDialog.tsx b/table/src/components/ColumnsEditor/DataLinkEditorDialog.tsx index f77746ba1..a12ab1cfc 100644 --- a/table/src/components/ColumnsEditor/DataLinkEditorDialog.tsx +++ b/table/src/components/ColumnsEditor/DataLinkEditorDialog.tsx @@ -11,11 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { LinkEditorForm } from '@perses-dev/components'; -import { ReactElement } from 'react'; import { IconButton, Stack, Typography } from '@mui/material'; -import PlusIcon from 'mdi-material-ui/Plus'; +import { LinkEditorForm } from '@perses-dev/components'; import MinusIcon from 'mdi-material-ui/Minus'; +import PlusIcon from 'mdi-material-ui/Plus'; +import { ReactElement } from 'react'; + import { ColumnEditorProps } from './ColumnEditor'; export type Props = Pick; diff --git a/table/src/components/ConditionalPanel.tsx b/table/src/components/ConditionalPanel.tsx index d7eadf90c..afbfb46c9 100644 --- a/table/src/components/ConditionalPanel.tsx +++ b/table/src/components/ConditionalPanel.tsx @@ -11,7 +11,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -import React, { ReactElement } from 'react'; import { Button, Divider, @@ -24,9 +23,11 @@ import { Typography, Grid2 as Grid, } from '@mui/material'; +import { OptionsColorPicker } from '@perses-dev/components'; import DeleteIcon from 'mdi-material-ui/DeleteOutline'; import AddIcon from 'mdi-material-ui/Plus'; -import { OptionsColorPicker } from '@perses-dev/components'; +import React, { ReactElement } from 'react'; + import { CellSettings, renderConditionEditor } from '../models'; // Individual conditional formatting rule component diff --git a/table/src/components/EmbeddedPanel.tsx b/table/src/components/EmbeddedPanel.tsx index 33d8bbcb6..d0ffbe262 100644 --- a/table/src/components/EmbeddedPanel.tsx +++ b/table/src/components/EmbeddedPanel.tsx @@ -11,12 +11,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { PanelData } from '@perses-dev/plugin-system'; -import { PanelPluginLoader } from '@perses-dev/dashboards'; -import useResizeObserver from 'use-resize-observer'; import { ErrorAlert, ErrorBoundary } from '@perses-dev/components'; -import { ReactElement } from 'react'; +import { PanelPluginLoader } from '@perses-dev/dashboards'; +import { PanelData } from '@perses-dev/plugin-system'; import { QueryDataType, UnknownSpec } from '@perses-dev/spec'; +import { ReactElement } from 'react'; +import useResizeObserver from 'use-resize-observer'; interface EmbeddedPanelProps { kind: string; diff --git a/table/src/components/TableCellsEditor.tsx b/table/src/components/TableCellsEditor.tsx index c8e45adaf..add90d78a 100644 --- a/table/src/components/TableCellsEditor.tsx +++ b/table/src/components/TableCellsEditor.tsx @@ -13,6 +13,7 @@ import { OptionsEditorProps } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; + import { CellSettings, TableOptions } from '../models'; import { CellsEditor } from './CellsEditor'; diff --git a/table/src/components/TableColumnsEditor.test.tsx b/table/src/components/TableColumnsEditor.test.tsx index 4af298aa1..ddd0f26f6 100644 --- a/table/src/components/TableColumnsEditor.test.tsx +++ b/table/src/components/TableColumnsEditor.test.tsx @@ -12,6 +12,7 @@ // limitations under the License. import { fireEvent, render, screen } from '@testing-library/react'; + import { TableOptions } from '../models'; import { TableColumnsEditor } from './TableColumnsEditor'; diff --git a/table/src/components/TableColumnsEditor.tsx b/table/src/components/TableColumnsEditor.tsx index e32b703e7..509deef03 100644 --- a/table/src/components/TableColumnsEditor.tsx +++ b/table/src/components/TableColumnsEditor.tsx @@ -13,6 +13,7 @@ import { OptionsEditorProps } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; + import { ColumnSettings, TableOptions } from '../models'; import { ColumnsEditor } from './ColumnsEditor'; diff --git a/table/src/components/TableItemSelectionActionsEditor.tsx b/table/src/components/TableItemSelectionActionsEditor.tsx index 088bf62b2..eeb0d2ac5 100644 --- a/table/src/components/TableItemSelectionActionsEditor.tsx +++ b/table/src/components/TableItemSelectionActionsEditor.tsx @@ -13,6 +13,7 @@ import { ActionOptions, ItemSelectionActionsEditor, SelectionOptions } from '@perses-dev/plugin-system'; import { ReactElement } from 'react'; + import { TableSettingsEditorProps } from '../models'; export function TableItemSelectionActionsEditor({ value, onChange }: TableSettingsEditorProps): ReactElement { diff --git a/table/src/components/TablePanel.test.tsx b/table/src/components/TablePanel.test.tsx index c1925d744..0d6a00a79 100644 --- a/table/src/components/TablePanel.test.tsx +++ b/table/src/components/TablePanel.test.tsx @@ -19,11 +19,12 @@ import { PluginRegistry, VariableStateMap, } from '@perses-dev/plugin-system'; +import { TimeSeriesData } from '@perses-dev/spec'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { render, screen, waitFor, within } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { VirtuosoMockContext } from 'react-virtuoso'; -import { TimeSeriesData } from '@perses-dev/spec'; + import { TableOptions, TimeSeriesTableProps } from '../models'; import { MOCK_TIME_SERIES_DATA_MULTIVALUE, diff --git a/table/src/components/TablePanel.tsx b/table/src/components/TablePanel.tsx index db5b240a3..6e60bed4f 100644 --- a/table/src/components/TablePanel.tsx +++ b/table/src/components/TablePanel.tsx @@ -31,9 +31,10 @@ import { useAllVariableValues, VariableStateMap, } from '@perses-dev/plugin-system'; +import { QueryDataType, TimeSeriesData } from '@perses-dev/spec'; import { ColumnFiltersState, PaginationState, RowSelectionState, SortingState } from '@tanstack/react-table'; import { ReactElement, useCallback, useEffect, useMemo, useRef, useState } from 'react'; -import { QueryDataType, TimeSeriesData } from '@perses-dev/spec'; + import { CellSettings, ColumnSettings, evaluateConditionalFormatting, TableOptions } from '../models'; import { buildRawTableData, getTablePanelQueryMode } from '../table-data-utils'; import { EmbeddedPanel } from './EmbeddedPanel'; @@ -291,6 +292,8 @@ function ColumnFilterDropdown({ /> {filteredValues.map((value, index) => (
+ {/* Decorative hover styling on the label that wraps the interactive checkbox below. */} + {/* oxlint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}