├── .husky
└── pre-commit
├── pnpm-workspace.yaml
├── deps.d.ts
├── .gitignore
├── examples
└── app-router
│ ├── src
│ └── app
│ │ ├── favicon.ico
│ │ ├── fonts
│ │ ├── GeistVF.woff
│ │ └── GeistMonoVF.woff
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ ├── page.tsx
│ │ └── page.module.css
│ ├── public
│ ├── vercel.svg
│ ├── window.svg
│ ├── file.svg
│ ├── globe.svg
│ └── next.svg
│ ├── next.config.ts
│ ├── package.json
│ ├── .gitignore
│ ├── tsconfig.json
│ └── README.md
├── package
├── tsconfig.json
├── package.json
└── src
│ ├── withClassnamesMinifier.ts
│ └── lib
│ └── injectConfig.ts
├── eslint.config.mjs
├── README.md
├── package.json
├── LICENSE
├── .github
└── workflows
│ └── npm-publish.yml
└── pnpm-lock.yaml
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | pnpm run lint
2 |
--------------------------------------------------------------------------------
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - 'package'
--------------------------------------------------------------------------------
/deps.d.ts:
--------------------------------------------------------------------------------
1 | declare module "css-loader/dist/utils";
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # build
2 | dist
3 | *.tgz
4 |
5 | # dependencies
6 | node_modules
7 | yarn.lock
8 | yarn-error.log
--------------------------------------------------------------------------------
/examples/app-router/src/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vordgi/nimpl-classnames-minifier/HEAD/examples/app-router/src/app/favicon.ico
--------------------------------------------------------------------------------
/examples/app-router/src/app/fonts/GeistVF.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vordgi/nimpl-classnames-minifier/HEAD/examples/app-router/src/app/fonts/GeistVF.woff
--------------------------------------------------------------------------------
/examples/app-router/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/app-router/src/app/fonts/GeistMonoVF.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vordgi/nimpl-classnames-minifier/HEAD/examples/app-router/src/app/fonts/GeistMonoVF.woff
--------------------------------------------------------------------------------
/package/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2016",
4 | "module": "commonjs",
5 | "esModuleInterop": true,
6 | "forceConsistentCasingInFileNames": true,
7 | "strict": true,
8 | "skipLibCheck": true,
9 | "outDir": "dist",
10 | "rootDir": "src",
11 | "declaration": true
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/examples/app-router/next.config.ts:
--------------------------------------------------------------------------------
1 | import type { NextConfig } from "next";
2 | import classNamesMinifier from "@nimpl/classnames-minifier";
3 |
4 | const withClassNamesMinifier = classNamesMinifier({
5 | prefix: "_",
6 | });
7 |
8 | const nextConfig: NextConfig = withClassNamesMinifier({
9 | /* config options here */
10 | });
11 |
12 | export default nextConfig;
13 |
--------------------------------------------------------------------------------
/examples/app-router/public/window.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/app-router/public/file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/app-router/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "base",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "@nimpl/classnames-minifier": "link:..\\..\\package",
13 | "next": "15.0.1",
14 | "react": "19.0.0-rc-69d4b800-20241021",
15 | "react-dom": "19.0.0-rc-69d4b800-20241021"
16 | },
17 | "devDependencies": {
18 | "@types/node": "^20",
19 | "@types/react": "^18",
20 | "@types/react-dom": "^18",
21 | "typescript": "^5"
22 | }
23 | }
--------------------------------------------------------------------------------
/examples/app-router/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | /pnpm-lock.yaml
7 | .pnp.*
8 | .yarn/*
9 | !.yarn/patches
10 | !.yarn/plugins
11 | !.yarn/releases
12 | !.yarn/versions
13 |
14 | # testing
15 | /coverage
16 |
17 | # next.js
18 | /.next/
19 | /out/
20 |
21 | # production
22 | /build
23 |
24 | # misc
25 | .DS_Store
26 | *.pem
27 |
28 | # debug
29 | npm-debug.log*
30 | yarn-debug.log*
31 | yarn-error.log*
32 |
33 | # env files (can opt-in for commiting if needed)
34 | .env*
35 |
36 | # vercel
37 | .vercel
38 |
39 | # typescript
40 | *.tsbuildinfo
41 | next-env.d.ts
42 |
--------------------------------------------------------------------------------
/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended";
2 | import tseslint from "typescript-eslint";
3 |
4 | export default [
5 | {
6 | rules: {
7 | "prettier/prettier": [
8 | "error",
9 | {
10 | endOfLine: "auto",
11 | tabWidth: 4,
12 | printWidth: 120,
13 | arrowParens: "always",
14 | },
15 | ],
16 | },
17 | },
18 | ...tseslint.configs.recommended,
19 | eslintPluginPrettierRecommended,
20 | {
21 | ignores: ["**/node_modules/**", "**/dist/**", "**/.next/**"],
22 | },
23 | ];
24 |
--------------------------------------------------------------------------------
/examples/app-router/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2017",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "noEmit": true,
9 | "esModuleInterop": true,
10 | "module": "esnext",
11 | "moduleResolution": "bundler",
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "jsx": "preserve",
15 | "incremental": true,
16 | "plugins": [
17 | {
18 | "name": "next"
19 | }
20 | ],
21 | "paths": {
22 | "@/*": ["./src/*"]
23 | }
24 | },
25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
26 | "exclude": ["node_modules"]
27 | }
28 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # @nimpl/classnames-minifier
2 |
3 | Library for configuring style _(css/scss/sass)_ modules to generate compressed classes (`.header` -> `.a`, `.nav` -> `.b`, ..., `.footer` -> `.aad`, etc.) with support for changes and rebuilding without clearing the built application. The package itself synchronizes minified classnames with components of the application compiled earlier.
4 |
5 | Visit https://nimpl.dev/docs/classnames-minifier to view the full documentation.
6 |
7 | ## Installation
8 |
9 | **Using npm:**
10 | ```bash
11 | npm i @nimpl/classnames-minifier
12 | ```
13 |
14 | **Using yarn:**
15 | ```bash
16 | yarn add @nimpl/classnames-minifier
17 | ```
18 |
19 | ## License
20 |
21 | [MIT](https://github.com/vordgi/nimpl-classnames-minifier/blob/main/LICENSE)
22 |
--------------------------------------------------------------------------------
/examples/app-router/src/app/globals.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --background: #ffffff;
3 | --foreground: #171717;
4 | }
5 |
6 | @media (prefers-color-scheme: dark) {
7 | :root {
8 | --background: #0a0a0a;
9 | --foreground: #ededed;
10 | }
11 | }
12 |
13 | html,
14 | body {
15 | max-width: 100vw;
16 | overflow-x: hidden;
17 | }
18 |
19 | body {
20 | color: var(--foreground);
21 | background: var(--background);
22 | font-family: Arial, Helvetica, sans-serif;
23 | -webkit-font-smoothing: antialiased;
24 | -moz-osx-font-smoothing: grayscale;
25 | }
26 |
27 | * {
28 | box-sizing: border-box;
29 | padding: 0;
30 | margin: 0;
31 | }
32 |
33 | a {
34 | color: inherit;
35 | text-decoration: none;
36 | }
37 |
38 | @media (prefers-color-scheme: dark) {
39 | html {
40 | color-scheme: dark;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/examples/app-router/src/app/layout.tsx:
--------------------------------------------------------------------------------
1 | import type { Metadata } from "next";
2 | import localFont from "next/font/local";
3 | import "./globals.css";
4 |
5 | const geistSans = localFont({
6 | src: "./fonts/GeistVF.woff",
7 | variable: "--font-geist-sans",
8 | weight: "100 900",
9 | });
10 | const geistMono = localFont({
11 | src: "./fonts/GeistMonoVF.woff",
12 | variable: "--font-geist-mono",
13 | weight: "100 900",
14 | });
15 |
16 | export const metadata: Metadata = {
17 | title: "Create Next App",
18 | description: "Generated by create next app",
19 | };
20 |
21 | export default function RootLayout({
22 | children,
23 | }: Readonly<{
24 | children: React.ReactNode;
25 | }>) {
26 | return (
27 |
28 |
{children}
29 |
30 | );
31 | }
32 |
--------------------------------------------------------------------------------
/examples/app-router/public/globe.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nimpl-classnames-minifier",
3 | "version": "1.0.0",
4 | "description": "",
5 | "scripts": {
6 | "nimpl:classnames-minifier": "pnpm --filter @nimpl/classnames-minifier",
7 | "lint": "eslint \"package/\"",
8 | "eslint": "eslint",
9 | "prettier": "prettier",
10 | "prepare": "husky"
11 | },
12 | "repository": {
13 | "type": "git",
14 | "url": "git://github.com/vordgi/nimpl-classnames-minifier.git"
15 | },
16 | "author": {
17 | "name": "Savelyev Alexander",
18 | "email": "vordgi1@gmail.com",
19 | "url": "https://github.com/vordgi/"
20 | },
21 | "devDependencies": {
22 | "eslint": "9.13.0",
23 | "eslint-config-prettier": "9.1.0",
24 | "eslint-plugin-prettier": "5.2.1",
25 | "husky": "9.1.6",
26 | "prettier": "3.3.3",
27 | "typescript-eslint": "8.11.0"
28 | },
29 | "license": "MIT",
30 | "packageManager": "pnpm@10.8.0+sha512.0e82714d1b5b43c74610193cb20734897c1d00de89d0e18420aebc5977fa13d780a9cb05734624e81ebd81cc876cd464794850641c48b9544326b5622ca29971"
31 | }
32 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Alexander Savelyev
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/package/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@nimpl/classnames-minifier",
3 | "version": "4.0.1",
4 | "description": "Library for configuring style modules to generate compressed classes",
5 | "main": "dist/withClassnamesMinifier.js",
6 | "types": "dist/withClassnamesMinifier.d.ts",
7 | "files": [
8 | "dist"
9 | ],
10 | "scripts": {
11 | "build": "tsc"
12 | },
13 | "keywords": [
14 | "next",
15 | "next.js",
16 | "classname",
17 | "class",
18 | "minify",
19 | "compress",
20 | "cut",
21 | "css",
22 | "sass",
23 | "scss",
24 | "modules"
25 | ],
26 | "repository": {
27 | "type": "git",
28 | "url": "git://github.com/vordgi/nimpl-classnames-minifier.git"
29 | },
30 | "author": {
31 | "name": "Savelyev Alexander",
32 | "email": "vordgi1@gmail.com",
33 | "url": "https://github.com/vordgi/"
34 | },
35 | "license": "MIT",
36 | "devDependencies": {
37 | "@types/node": "22.8.1",
38 | "@types/uuid": "10.0.0",
39 | "@types/webpack": "5.28.5",
40 | "css-loader": "7.1.2",
41 | "typescript": "5.6.3"
42 | },
43 | "peerDependencies": {
44 | "css-loader": ">=4.0.0"
45 | },
46 | "dependencies": {
47 | "classnames-minifier": "1.0.0",
48 | "uuid": "10.0.0"
49 | }
50 | }
--------------------------------------------------------------------------------
/examples/app-router/public/next.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.github/workflows/npm-publish.yml:
--------------------------------------------------------------------------------
1 | name: Publish package
2 |
3 | on:
4 | release:
5 | types: [created]
6 |
7 | jobs:
8 | publish:
9 | runs-on: ubuntu-latest
10 |
11 | steps:
12 | - name: Checkout code
13 | uses: actions/checkout@v4
14 |
15 | - name: Set up Node.js
16 | uses: actions/setup-node@v3
17 | with:
18 | node-version: "20"
19 |
20 | - name: Install pnpm
21 | uses: pnpm/action-setup@v3
22 | with:
23 | version: 8
24 |
25 | - name: Install dependencies and build
26 | run: |
27 | pnpm install
28 | pnpm run build
29 | cp ../README.md .
30 | cp ../LICENSE .
31 | working-directory: ./package
32 |
33 | - name: Publish on main
34 | if: "!contains(github.ref_name, 'canary')"
35 | run: |
36 | npm set //registry.npmjs.org/:_authToken=${{secrets.NPM_TOKEN}}
37 | npm publish --access public
38 | working-directory: ./package
39 |
40 | - name: Publish on canary
41 | if: contains(github.ref_name, 'canary')
42 | run: |
43 | npm set //registry.npmjs.org/:_authToken=${{secrets.NPM_TOKEN}}
44 | npm version --no-git-tag-version ${{github.ref_name}}
45 | npm publish --tag canary --access public
46 | working-directory: ./package
47 |
--------------------------------------------------------------------------------
/examples/app-router/README.md:
--------------------------------------------------------------------------------
1 | This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
2 |
3 | ## Getting Started
4 |
5 | First, run the development server:
6 |
7 | ```bash
8 | npm run dev
9 | # or
10 | yarn dev
11 | # or
12 | pnpm dev
13 | # or
14 | bun dev
15 | ```
16 |
17 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
18 |
19 | You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
20 |
21 | This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
22 |
23 | ## Learn More
24 |
25 | To learn more about Next.js, take a look at the following resources:
26 |
27 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
28 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
29 |
30 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
31 |
32 | ## Deploy on Vercel
33 |
34 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
35 |
36 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
37 |
--------------------------------------------------------------------------------
/package/src/withClassnamesMinifier.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/no-explicit-any */
2 | import type { Configuration } from "webpack";
3 | import type { Config } from "classnames-minifier/dist/lib/types/plugin";
4 | import ClassnamesMinifier from "classnames-minifier";
5 | import path from "path";
6 | import fs from "fs";
7 |
8 | import injectConfig from "./lib/injectConfig";
9 |
10 | type PluginOptions = Omit & { disabled?: boolean };
11 |
12 | let classnamesMinifier: ClassnamesMinifier;
13 |
14 | const withClassnameMinifier = (pluginOptions: PluginOptions = {}) => {
15 | return (nextConfig: any = {}) => {
16 | if (pluginOptions.disabled) return nextConfig;
17 |
18 | if (!classnamesMinifier) {
19 | const distDir = nextConfig?.distDir || ".next";
20 | const distDirAbsolute = path.join(process.cwd(), distDir);
21 | const cacheDir = path.join(distDirAbsolute, "cache/ncm");
22 | classnamesMinifier = new ClassnamesMinifier({
23 | prefix: pluginOptions.prefix,
24 | reservedNames: pluginOptions.reservedNames,
25 | distDeletionPolicy: pluginOptions.distDeletionPolicy,
26 | experimental: pluginOptions.experimental,
27 | distDir: distDirAbsolute,
28 | checkDistFreshness: () => {
29 | return !fs.existsSync(".next/build-manifest.json");
30 | },
31 | cacheDir,
32 | });
33 | }
34 |
35 | return {
36 | ...nextConfig,
37 | webpack: (config: Configuration, options: any) => {
38 | injectConfig({ classnamesMinifier }, config.module?.rules);
39 |
40 | if (typeof nextConfig.webpack === "function") {
41 | return nextConfig.webpack(config, options);
42 | }
43 |
44 | return config;
45 | },
46 | };
47 | };
48 | };
49 |
50 | export default withClassnameMinifier;
51 |
--------------------------------------------------------------------------------
/package/src/lib/injectConfig.ts:
--------------------------------------------------------------------------------
1 | import type { RuleSetUseItem, ModuleOptions } from "webpack";
2 | import type ClassnamesMinifier from "classnames-minifier";
3 |
4 | export type InjectConfig = {
5 | localIdentName?: string;
6 | classnamesMinifier: ClassnamesMinifier;
7 | };
8 |
9 | const injectConfig = (config: InjectConfig, rules?: ModuleOptions["rules"]) => {
10 | if (!rules) return;
11 |
12 | const oneOfRule = rules?.find((rule) => typeof rule === "object" && typeof rule?.oneOf === "object");
13 |
14 | if (oneOfRule && typeof oneOfRule === "object") {
15 | const testCssLoaderWithModules = (loaderObj: RuleSetUseItem) =>
16 | typeof loaderObj === "object" &&
17 | loaderObj?.loader?.match("css-loader") &&
18 | typeof loaderObj.options === "object" &&
19 | loaderObj.options.modules;
20 | const testFontLoader = (loaderObj: RuleSetUseItem) =>
21 | typeof loaderObj === "object" && loaderObj?.loader?.match("next-font-loader");
22 | oneOfRule.oneOf?.forEach((rule) => {
23 | if (rule && Array.isArray(rule.use)) {
24 | let cssLoaderIndex = null as null | number;
25 | for (let i = rule.use.length - 1; i >= 0; i--) {
26 | const loaderObj = rule.use[i];
27 |
28 | if (!loaderObj) continue;
29 |
30 | /**
31 | * Next.js has special logic for generating font classes,
32 | * so we don't change the rules that work with fonts and, as a result, do not minify font classes
33 | */
34 | if (testFontLoader(loaderObj)) break;
35 |
36 | if (testCssLoaderWithModules(loaderObj)) {
37 | if (typeof loaderObj !== "object" || typeof loaderObj.options !== "object") continue;
38 | cssLoaderIndex = i;
39 | loaderObj.options.modules.getLocalIdent = config.classnamesMinifier.getLocalIdent;
40 | }
41 | }
42 |
43 | if (cssLoaderIndex !== null) {
44 | rule.use.splice(
45 | cssLoaderIndex,
46 | 1,
47 | config.classnamesMinifier.postLoader,
48 | rule.use[cssLoaderIndex],
49 | config.classnamesMinifier.preLoader,
50 | );
51 | }
52 | }
53 | });
54 | }
55 | };
56 |
57 | export default injectConfig;
58 |
--------------------------------------------------------------------------------
/examples/app-router/src/app/page.tsx:
--------------------------------------------------------------------------------
1 | import Image from "next/image";
2 | import styles from "./page.module.css";
3 |
4 | export default function Home() {
5 | return (
6 |
7 |
8 |
9 |
10 | -
11 | Get started by editing
src/app/page.tsx.
12 |
13 | - Save and see your changes instantly.
14 |
15 |
16 |
35 |
36 |
62 |
63 | );
64 | }
65 |
--------------------------------------------------------------------------------
/examples/app-router/src/app/page.module.css:
--------------------------------------------------------------------------------
1 | .page {
2 | --gray-rgb: 0, 0, 0;
3 | --gray-alpha-200: rgba(var(--gray-rgb), 0.08);
4 | --gray-alpha-100: rgba(var(--gray-rgb), 0.05);
5 |
6 | --button-primary-hover: #383838;
7 | --button-secondary-hover: #f2f2f2;
8 |
9 | display: grid;
10 | grid-template-rows: 20px 1fr 20px;
11 | align-items: center;
12 | justify-items: center;
13 | min-height: 100svh;
14 | padding: 80px;
15 | gap: 64px;
16 | font-family: var(--font-geist-sans);
17 | }
18 |
19 | @media (prefers-color-scheme: dark) {
20 | .page {
21 | --gray-rgb: 255, 255, 255;
22 | --gray-alpha-200: rgba(var(--gray-rgb), 0.145);
23 | --gray-alpha-100: rgba(var(--gray-rgb), 0.06);
24 |
25 | --button-primary-hover: #ccc;
26 | --button-secondary-hover: #1a1a1a;
27 | }
28 | }
29 |
30 | .main {
31 | display: flex;
32 | flex-direction: column;
33 | gap: 32px;
34 | grid-row-start: 2;
35 | }
36 |
37 | .main ol {
38 | font-family: var(--font-geist-mono);
39 | padding-left: 0;
40 | margin: 0;
41 | font-size: 14px;
42 | line-height: 24px;
43 | letter-spacing: -0.01em;
44 | list-style-position: inside;
45 | }
46 |
47 | .main li:not(:last-of-type) {
48 | margin-bottom: 8px;
49 | }
50 |
51 | .main code {
52 | font-family: inherit;
53 | background: var(--gray-alpha-100);
54 | padding: 2px 4px;
55 | border-radius: 4px;
56 | font-weight: 600;
57 | }
58 |
59 | .ctas {
60 | display: flex;
61 | gap: 16px;
62 | }
63 |
64 | .ctas a {
65 | appearance: none;
66 | border-radius: 128px;
67 | height: 48px;
68 | padding: 0 20px;
69 | border: none;
70 | border: 1px solid transparent;
71 | transition:
72 | background 0.2s,
73 | color 0.2s,
74 | border-color 0.2s;
75 | cursor: pointer;
76 | display: flex;
77 | align-items: center;
78 | justify-content: center;
79 | font-size: 16px;
80 | line-height: 20px;
81 | font-weight: 500;
82 | }
83 |
84 | a.primary {
85 | background: var(--foreground);
86 | color: var(--background);
87 | gap: 8px;
88 | }
89 |
90 | a.secondary {
91 | border-color: var(--gray-alpha-200);
92 | min-width: 180px;
93 | }
94 |
95 | .footer {
96 | grid-row-start: 3;
97 | display: flex;
98 | gap: 24px;
99 | }
100 |
101 | .footer a {
102 | display: flex;
103 | align-items: center;
104 | gap: 8px;
105 | }
106 |
107 | .footer img {
108 | flex-shrink: 0;
109 | }
110 |
111 | /* Enable hover only on non-touch devices */
112 | @media (hover: hover) and (pointer: fine) {
113 | a.primary:hover {
114 | background: var(--button-primary-hover);
115 | border-color: transparent;
116 | }
117 |
118 | a.secondary:hover {
119 | background: var(--button-secondary-hover);
120 | border-color: transparent;
121 | }
122 |
123 | .footer a:hover {
124 | text-decoration: underline;
125 | text-underline-offset: 4px;
126 | }
127 | }
128 |
129 | @media (max-width: 600px) {
130 | .page {
131 | padding: 32px;
132 | padding-bottom: 80px;
133 | }
134 |
135 | .main {
136 | align-items: center;
137 | }
138 |
139 | .main ol {
140 | text-align: center;
141 | }
142 |
143 | .ctas {
144 | flex-direction: column;
145 | }
146 |
147 | .ctas a {
148 | font-size: 14px;
149 | height: 40px;
150 | padding: 0 16px;
151 | }
152 |
153 | a.secondary {
154 | min-width: auto;
155 | }
156 |
157 | .footer {
158 | flex-wrap: wrap;
159 | align-items: center;
160 | justify-content: center;
161 | }
162 | }
163 |
164 | @media (prefers-color-scheme: dark) {
165 | .logo {
166 | filter: invert();
167 | }
168 | }
169 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | devDependencies:
11 | eslint:
12 | specifier: 9.13.0
13 | version: 9.13.0
14 | eslint-config-prettier:
15 | specifier: 9.1.0
16 | version: 9.1.0(eslint@9.13.0)
17 | eslint-plugin-prettier:
18 | specifier: 5.2.1
19 | version: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.13.0))(eslint@9.13.0)(prettier@3.3.3)
20 | husky:
21 | specifier: 9.1.6
22 | version: 9.1.6
23 | prettier:
24 | specifier: 3.3.3
25 | version: 3.3.3
26 | typescript-eslint:
27 | specifier: 8.11.0
28 | version: 8.11.0(eslint@9.13.0)(typescript@5.6.3)
29 |
30 | package:
31 | dependencies:
32 | classnames-minifier:
33 | specifier: 1.0.0
34 | version: 1.0.0(css-loader@7.1.2(webpack@5.95.0))
35 | uuid:
36 | specifier: 10.0.0
37 | version: 10.0.0
38 | devDependencies:
39 | '@types/node':
40 | specifier: 22.8.1
41 | version: 22.8.1
42 | '@types/uuid':
43 | specifier: 10.0.0
44 | version: 10.0.0
45 | '@types/webpack':
46 | specifier: 5.28.5
47 | version: 5.28.5
48 | css-loader:
49 | specifier: 7.1.2
50 | version: 7.1.2(webpack@5.95.0)
51 | typescript:
52 | specifier: 5.6.3
53 | version: 5.6.3
54 |
55 | packages:
56 |
57 | '@eslint-community/eslint-utils@4.4.1':
58 | resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
59 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
60 | peerDependencies:
61 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
62 |
63 | '@eslint-community/regexpp@4.11.2':
64 | resolution: {integrity: sha512-2WwyTYNVaMNUWPZTOJdkax9iqTdirrApgTbk+Qoq5EPX6myqZvG8QGFRgdKmkjKVG6/G/a565vpPauHk0+hpBA==}
65 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
66 |
67 | '@eslint/config-array@0.18.0':
68 | resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
69 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
70 |
71 | '@eslint/core@0.7.0':
72 | resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==}
73 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
74 |
75 | '@eslint/eslintrc@3.1.0':
76 | resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
77 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
78 |
79 | '@eslint/js@9.13.0':
80 | resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==}
81 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
82 |
83 | '@eslint/object-schema@2.1.4':
84 | resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
85 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
86 |
87 | '@eslint/plugin-kit@0.2.1':
88 | resolution: {integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==}
89 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
90 |
91 | '@humanfs/core@0.19.0':
92 | resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==}
93 | engines: {node: '>=18.18.0'}
94 |
95 | '@humanfs/node@0.16.5':
96 | resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==}
97 | engines: {node: '>=18.18.0'}
98 |
99 | '@humanwhocodes/module-importer@1.0.1':
100 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
101 | engines: {node: '>=12.22'}
102 |
103 | '@humanwhocodes/retry@0.3.1':
104 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
105 | engines: {node: '>=18.18'}
106 |
107 | '@jridgewell/gen-mapping@0.3.5':
108 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
109 | engines: {node: '>=6.0.0'}
110 |
111 | '@jridgewell/resolve-uri@3.1.2':
112 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
113 | engines: {node: '>=6.0.0'}
114 |
115 | '@jridgewell/set-array@1.2.1':
116 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
117 | engines: {node: '>=6.0.0'}
118 |
119 | '@jridgewell/source-map@0.3.6':
120 | resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
121 |
122 | '@jridgewell/sourcemap-codec@1.5.0':
123 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
124 |
125 | '@jridgewell/trace-mapping@0.3.25':
126 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
127 |
128 | '@nodelib/fs.scandir@2.1.5':
129 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
130 | engines: {node: '>= 8'}
131 |
132 | '@nodelib/fs.stat@2.0.5':
133 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
134 | engines: {node: '>= 8'}
135 |
136 | '@nodelib/fs.walk@1.2.8':
137 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
138 | engines: {node: '>= 8'}
139 |
140 | '@pkgr/core@0.1.1':
141 | resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
142 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
143 |
144 | '@types/estree@1.0.6':
145 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
146 |
147 | '@types/json-schema@7.0.15':
148 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
149 |
150 | '@types/node@22.8.1':
151 | resolution: {integrity: sha512-k6Gi8Yyo8EtrNtkHXutUu2corfDf9su95VYVP10aGYMMROM6SAItZi0w1XszA6RtWTHSVp5OeFof37w0IEqCQg==}
152 |
153 | '@types/uuid@10.0.0':
154 | resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==}
155 |
156 | '@types/webpack@5.28.5':
157 | resolution: {integrity: sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw==}
158 |
159 | '@typescript-eslint/eslint-plugin@8.11.0':
160 | resolution: {integrity: sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==}
161 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
162 | peerDependencies:
163 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
164 | eslint: ^8.57.0 || ^9.0.0
165 | typescript: '*'
166 | peerDependenciesMeta:
167 | typescript:
168 | optional: true
169 |
170 | '@typescript-eslint/parser@8.11.0':
171 | resolution: {integrity: sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==}
172 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
173 | peerDependencies:
174 | eslint: ^8.57.0 || ^9.0.0
175 | typescript: '*'
176 | peerDependenciesMeta:
177 | typescript:
178 | optional: true
179 |
180 | '@typescript-eslint/scope-manager@8.11.0':
181 | resolution: {integrity: sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==}
182 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
183 |
184 | '@typescript-eslint/type-utils@8.11.0':
185 | resolution: {integrity: sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==}
186 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
187 | peerDependencies:
188 | typescript: '*'
189 | peerDependenciesMeta:
190 | typescript:
191 | optional: true
192 |
193 | '@typescript-eslint/types@8.11.0':
194 | resolution: {integrity: sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==}
195 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
196 |
197 | '@typescript-eslint/typescript-estree@8.11.0':
198 | resolution: {integrity: sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==}
199 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
200 | peerDependencies:
201 | typescript: '*'
202 | peerDependenciesMeta:
203 | typescript:
204 | optional: true
205 |
206 | '@typescript-eslint/utils@8.11.0':
207 | resolution: {integrity: sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==}
208 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
209 | peerDependencies:
210 | eslint: ^8.57.0 || ^9.0.0
211 |
212 | '@typescript-eslint/visitor-keys@8.11.0':
213 | resolution: {integrity: sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==}
214 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
215 |
216 | '@webassemblyjs/ast@1.12.1':
217 | resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
218 |
219 | '@webassemblyjs/floating-point-hex-parser@1.11.6':
220 | resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
221 |
222 | '@webassemblyjs/helper-api-error@1.11.6':
223 | resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
224 |
225 | '@webassemblyjs/helper-buffer@1.12.1':
226 | resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==}
227 |
228 | '@webassemblyjs/helper-numbers@1.11.6':
229 | resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
230 |
231 | '@webassemblyjs/helper-wasm-bytecode@1.11.6':
232 | resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
233 |
234 | '@webassemblyjs/helper-wasm-section@1.12.1':
235 | resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==}
236 |
237 | '@webassemblyjs/ieee754@1.11.6':
238 | resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
239 |
240 | '@webassemblyjs/leb128@1.11.6':
241 | resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
242 |
243 | '@webassemblyjs/utf8@1.11.6':
244 | resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
245 |
246 | '@webassemblyjs/wasm-edit@1.12.1':
247 | resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==}
248 |
249 | '@webassemblyjs/wasm-gen@1.12.1':
250 | resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==}
251 |
252 | '@webassemblyjs/wasm-opt@1.12.1':
253 | resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==}
254 |
255 | '@webassemblyjs/wasm-parser@1.12.1':
256 | resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==}
257 |
258 | '@webassemblyjs/wast-printer@1.12.1':
259 | resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==}
260 |
261 | '@xtuc/ieee754@1.2.0':
262 | resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
263 |
264 | '@xtuc/long@4.2.2':
265 | resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
266 |
267 | acorn-import-attributes@1.9.5:
268 | resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
269 | peerDependencies:
270 | acorn: ^8
271 |
272 | acorn-jsx@5.3.2:
273 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
274 | peerDependencies:
275 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
276 |
277 | acorn@8.13.0:
278 | resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==}
279 | engines: {node: '>=0.4.0'}
280 | hasBin: true
281 |
282 | ajv-keywords@3.5.2:
283 | resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
284 | peerDependencies:
285 | ajv: ^6.9.1
286 |
287 | ajv@6.12.6:
288 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
289 |
290 | ansi-styles@4.3.0:
291 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
292 | engines: {node: '>=8'}
293 |
294 | argparse@2.0.1:
295 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
296 |
297 | balanced-match@1.0.2:
298 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
299 |
300 | brace-expansion@1.1.11:
301 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
302 |
303 | brace-expansion@2.0.1:
304 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
305 |
306 | braces@3.0.3:
307 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
308 | engines: {node: '>=8'}
309 |
310 | browserslist@4.24.2:
311 | resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
312 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
313 | hasBin: true
314 |
315 | buffer-from@1.1.2:
316 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
317 |
318 | callsites@3.1.0:
319 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
320 | engines: {node: '>=6'}
321 |
322 | caniuse-lite@1.0.30001671:
323 | resolution: {integrity: sha512-jocyVaSSfXg2faluE6hrWkMgDOiULBMca4QLtDT39hw1YxaIPHWc1CcTCKkPmHgGH6tKji6ZNbMSmUAvENf2/A==}
324 |
325 | chalk@4.1.2:
326 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
327 | engines: {node: '>=10'}
328 |
329 | chrome-trace-event@1.0.4:
330 | resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
331 | engines: {node: '>=6.0'}
332 |
333 | classnames-minifier@1.0.0:
334 | resolution: {integrity: sha512-f+oH54ka5SGsY2PB30/ztd74xhPC395anKTszSrKouZx3YQd+EEtfmFIOtOsdhmKkN9vCiuAvTEV78kdUUkVww==}
335 | peerDependencies:
336 | css-loader: '>=4.0.0'
337 |
338 | color-convert@2.0.1:
339 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
340 | engines: {node: '>=7.0.0'}
341 |
342 | color-name@1.1.4:
343 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
344 |
345 | commander@2.20.3:
346 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
347 |
348 | concat-map@0.0.1:
349 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
350 |
351 | cross-spawn@7.0.3:
352 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
353 | engines: {node: '>= 8'}
354 |
355 | css-loader@7.1.2:
356 | resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==}
357 | engines: {node: '>= 18.12.0'}
358 | peerDependencies:
359 | '@rspack/core': 0.x || 1.x
360 | webpack: ^5.27.0
361 | peerDependenciesMeta:
362 | '@rspack/core':
363 | optional: true
364 | webpack:
365 | optional: true
366 |
367 | cssesc@3.0.0:
368 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
369 | engines: {node: '>=4'}
370 | hasBin: true
371 |
372 | debug@4.3.7:
373 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
374 | engines: {node: '>=6.0'}
375 | peerDependencies:
376 | supports-color: '*'
377 | peerDependenciesMeta:
378 | supports-color:
379 | optional: true
380 |
381 | deep-is@0.1.4:
382 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
383 |
384 | electron-to-chromium@1.5.47:
385 | resolution: {integrity: sha512-zS5Yer0MOYw4rtK2iq43cJagHZ8sXN0jDHDKzB+86gSBSAI4v07S97mcq+Gs2vclAxSh1j7vOAHxSVgduiiuVQ==}
386 |
387 | enhanced-resolve@5.17.1:
388 | resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
389 | engines: {node: '>=10.13.0'}
390 |
391 | es-module-lexer@1.5.4:
392 | resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
393 |
394 | escalade@3.2.0:
395 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
396 | engines: {node: '>=6'}
397 |
398 | escape-string-regexp@4.0.0:
399 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
400 | engines: {node: '>=10'}
401 |
402 | eslint-config-prettier@9.1.0:
403 | resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
404 | hasBin: true
405 | peerDependencies:
406 | eslint: '>=7.0.0'
407 |
408 | eslint-plugin-prettier@5.2.1:
409 | resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==}
410 | engines: {node: ^14.18.0 || >=16.0.0}
411 | peerDependencies:
412 | '@types/eslint': '>=8.0.0'
413 | eslint: '>=8.0.0'
414 | eslint-config-prettier: '*'
415 | prettier: '>=3.0.0'
416 | peerDependenciesMeta:
417 | '@types/eslint':
418 | optional: true
419 | eslint-config-prettier:
420 | optional: true
421 |
422 | eslint-scope@5.1.1:
423 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
424 | engines: {node: '>=8.0.0'}
425 |
426 | eslint-scope@8.1.0:
427 | resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==}
428 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
429 |
430 | eslint-visitor-keys@3.4.3:
431 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
432 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
433 |
434 | eslint-visitor-keys@4.1.0:
435 | resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==}
436 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
437 |
438 | eslint@9.13.0:
439 | resolution: {integrity: sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==}
440 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
441 | hasBin: true
442 | peerDependencies:
443 | jiti: '*'
444 | peerDependenciesMeta:
445 | jiti:
446 | optional: true
447 |
448 | espree@10.2.0:
449 | resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==}
450 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
451 |
452 | esquery@1.6.0:
453 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
454 | engines: {node: '>=0.10'}
455 |
456 | esrecurse@4.3.0:
457 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
458 | engines: {node: '>=4.0'}
459 |
460 | estraverse@4.3.0:
461 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
462 | engines: {node: '>=4.0'}
463 |
464 | estraverse@5.3.0:
465 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
466 | engines: {node: '>=4.0'}
467 |
468 | esutils@2.0.3:
469 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
470 | engines: {node: '>=0.10.0'}
471 |
472 | events@3.3.0:
473 | resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
474 | engines: {node: '>=0.8.x'}
475 |
476 | fast-deep-equal@3.1.3:
477 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
478 |
479 | fast-diff@1.3.0:
480 | resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
481 |
482 | fast-glob@3.3.2:
483 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
484 | engines: {node: '>=8.6.0'}
485 |
486 | fast-json-stable-stringify@2.1.0:
487 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
488 |
489 | fast-levenshtein@2.0.6:
490 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
491 |
492 | fastq@1.17.1:
493 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
494 |
495 | file-entry-cache@8.0.0:
496 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
497 | engines: {node: '>=16.0.0'}
498 |
499 | fill-range@7.1.1:
500 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
501 | engines: {node: '>=8'}
502 |
503 | find-up@5.0.0:
504 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
505 | engines: {node: '>=10'}
506 |
507 | flat-cache@4.0.1:
508 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
509 | engines: {node: '>=16'}
510 |
511 | flatted@3.3.1:
512 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
513 |
514 | glob-parent@5.1.2:
515 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
516 | engines: {node: '>= 6'}
517 |
518 | glob-parent@6.0.2:
519 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
520 | engines: {node: '>=10.13.0'}
521 |
522 | glob-to-regexp@0.4.1:
523 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
524 |
525 | globals@14.0.0:
526 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
527 | engines: {node: '>=18'}
528 |
529 | graceful-fs@4.2.11:
530 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
531 |
532 | graphemer@1.4.0:
533 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
534 |
535 | has-flag@4.0.0:
536 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
537 | engines: {node: '>=8'}
538 |
539 | husky@9.1.6:
540 | resolution: {integrity: sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==}
541 | engines: {node: '>=18'}
542 | hasBin: true
543 |
544 | icss-utils@5.1.0:
545 | resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
546 | engines: {node: ^10 || ^12 || >= 14}
547 | peerDependencies:
548 | postcss: ^8.1.0
549 |
550 | ignore@5.3.2:
551 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
552 | engines: {node: '>= 4'}
553 |
554 | import-fresh@3.3.0:
555 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
556 | engines: {node: '>=6'}
557 |
558 | imurmurhash@0.1.4:
559 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
560 | engines: {node: '>=0.8.19'}
561 |
562 | is-extglob@2.1.1:
563 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
564 | engines: {node: '>=0.10.0'}
565 |
566 | is-glob@4.0.3:
567 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
568 | engines: {node: '>=0.10.0'}
569 |
570 | is-number@7.0.0:
571 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
572 | engines: {node: '>=0.12.0'}
573 |
574 | isexe@2.0.0:
575 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
576 |
577 | jest-worker@27.5.1:
578 | resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
579 | engines: {node: '>= 10.13.0'}
580 |
581 | js-yaml@4.1.0:
582 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
583 | hasBin: true
584 |
585 | json-buffer@3.0.1:
586 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
587 |
588 | json-parse-even-better-errors@2.3.1:
589 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
590 |
591 | json-schema-traverse@0.4.1:
592 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
593 |
594 | json-stable-stringify-without-jsonify@1.0.1:
595 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
596 |
597 | keyv@4.5.4:
598 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
599 |
600 | levn@0.4.1:
601 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
602 | engines: {node: '>= 0.8.0'}
603 |
604 | loader-runner@4.3.0:
605 | resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
606 | engines: {node: '>=6.11.5'}
607 |
608 | locate-path@6.0.0:
609 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
610 | engines: {node: '>=10'}
611 |
612 | lodash.merge@4.6.2:
613 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
614 |
615 | merge-stream@2.0.0:
616 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
617 |
618 | merge2@1.4.1:
619 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
620 | engines: {node: '>= 8'}
621 |
622 | micromatch@4.0.8:
623 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
624 | engines: {node: '>=8.6'}
625 |
626 | mime-db@1.52.0:
627 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
628 | engines: {node: '>= 0.6'}
629 |
630 | mime-types@2.1.35:
631 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
632 | engines: {node: '>= 0.6'}
633 |
634 | minimatch@3.1.2:
635 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
636 |
637 | minimatch@9.0.5:
638 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
639 | engines: {node: '>=16 || 14 >=14.17'}
640 |
641 | ms@2.1.3:
642 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
643 |
644 | nanoid@3.3.7:
645 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
646 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
647 | hasBin: true
648 |
649 | natural-compare@1.4.0:
650 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
651 |
652 | neo-async@2.6.2:
653 | resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
654 |
655 | node-releases@2.0.18:
656 | resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
657 |
658 | optionator@0.9.4:
659 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
660 | engines: {node: '>= 0.8.0'}
661 |
662 | p-limit@3.1.0:
663 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
664 | engines: {node: '>=10'}
665 |
666 | p-locate@5.0.0:
667 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
668 | engines: {node: '>=10'}
669 |
670 | parent-module@1.0.1:
671 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
672 | engines: {node: '>=6'}
673 |
674 | path-exists@4.0.0:
675 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
676 | engines: {node: '>=8'}
677 |
678 | path-key@3.1.1:
679 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
680 | engines: {node: '>=8'}
681 |
682 | picocolors@1.1.1:
683 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
684 |
685 | picomatch@2.3.1:
686 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
687 | engines: {node: '>=8.6'}
688 |
689 | postcss-modules-extract-imports@3.1.0:
690 | resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
691 | engines: {node: ^10 || ^12 || >= 14}
692 | peerDependencies:
693 | postcss: ^8.1.0
694 |
695 | postcss-modules-local-by-default@4.0.5:
696 | resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==}
697 | engines: {node: ^10 || ^12 || >= 14}
698 | peerDependencies:
699 | postcss: ^8.1.0
700 |
701 | postcss-modules-scope@3.2.0:
702 | resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==}
703 | engines: {node: ^10 || ^12 || >= 14}
704 | peerDependencies:
705 | postcss: ^8.1.0
706 |
707 | postcss-modules-values@4.0.0:
708 | resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
709 | engines: {node: ^10 || ^12 || >= 14}
710 | peerDependencies:
711 | postcss: ^8.1.0
712 |
713 | postcss-selector-parser@6.1.2:
714 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
715 | engines: {node: '>=4'}
716 |
717 | postcss-value-parser@4.2.0:
718 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
719 |
720 | postcss@8.4.47:
721 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
722 | engines: {node: ^10 || ^12 || >=14}
723 |
724 | prelude-ls@1.2.1:
725 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
726 | engines: {node: '>= 0.8.0'}
727 |
728 | prettier-linter-helpers@1.0.0:
729 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
730 | engines: {node: '>=6.0.0'}
731 |
732 | prettier@3.3.3:
733 | resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
734 | engines: {node: '>=14'}
735 | hasBin: true
736 |
737 | punycode@2.3.1:
738 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
739 | engines: {node: '>=6'}
740 |
741 | queue-microtask@1.2.3:
742 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
743 |
744 | randombytes@2.1.0:
745 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
746 |
747 | resolve-from@4.0.0:
748 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
749 | engines: {node: '>=4'}
750 |
751 | reusify@1.0.4:
752 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
753 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
754 |
755 | run-parallel@1.2.0:
756 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
757 |
758 | safe-buffer@5.2.1:
759 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
760 |
761 | schema-utils@3.3.0:
762 | resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
763 | engines: {node: '>= 10.13.0'}
764 |
765 | semver@7.6.3:
766 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
767 | engines: {node: '>=10'}
768 | hasBin: true
769 |
770 | serialize-javascript@6.0.2:
771 | resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
772 |
773 | shebang-command@2.0.0:
774 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
775 | engines: {node: '>=8'}
776 |
777 | shebang-regex@3.0.0:
778 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
779 | engines: {node: '>=8'}
780 |
781 | source-map-js@1.2.1:
782 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
783 | engines: {node: '>=0.10.0'}
784 |
785 | source-map-support@0.5.21:
786 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
787 |
788 | source-map@0.6.1:
789 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
790 | engines: {node: '>=0.10.0'}
791 |
792 | strip-json-comments@3.1.1:
793 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
794 | engines: {node: '>=8'}
795 |
796 | supports-color@7.2.0:
797 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
798 | engines: {node: '>=8'}
799 |
800 | supports-color@8.1.1:
801 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
802 | engines: {node: '>=10'}
803 |
804 | synckit@0.9.2:
805 | resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
806 | engines: {node: ^14.18.0 || >=16.0.0}
807 |
808 | tapable@2.2.1:
809 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
810 | engines: {node: '>=6'}
811 |
812 | terser-webpack-plugin@5.3.10:
813 | resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
814 | engines: {node: '>= 10.13.0'}
815 | peerDependencies:
816 | '@swc/core': '*'
817 | esbuild: '*'
818 | uglify-js: '*'
819 | webpack: ^5.1.0
820 | peerDependenciesMeta:
821 | '@swc/core':
822 | optional: true
823 | esbuild:
824 | optional: true
825 | uglify-js:
826 | optional: true
827 |
828 | terser@5.36.0:
829 | resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==}
830 | engines: {node: '>=10'}
831 | hasBin: true
832 |
833 | text-table@0.2.0:
834 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
835 |
836 | to-regex-range@5.0.1:
837 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
838 | engines: {node: '>=8.0'}
839 |
840 | ts-api-utils@1.3.0:
841 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
842 | engines: {node: '>=16'}
843 | peerDependencies:
844 | typescript: '>=4.2.0'
845 |
846 | tslib@2.8.0:
847 | resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==}
848 |
849 | type-check@0.4.0:
850 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
851 | engines: {node: '>= 0.8.0'}
852 |
853 | typescript-eslint@8.11.0:
854 | resolution: {integrity: sha512-cBRGnW3FSlxaYwU8KfAewxFK5uzeOAp0l2KebIlPDOT5olVi65KDG/yjBooPBG0kGW/HLkoz1c/iuBFehcS3IA==}
855 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
856 | peerDependencies:
857 | typescript: '*'
858 | peerDependenciesMeta:
859 | typescript:
860 | optional: true
861 |
862 | typescript@5.6.3:
863 | resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
864 | engines: {node: '>=14.17'}
865 | hasBin: true
866 |
867 | undici-types@6.19.8:
868 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
869 |
870 | update-browserslist-db@1.1.1:
871 | resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
872 | hasBin: true
873 | peerDependencies:
874 | browserslist: '>= 4.21.0'
875 |
876 | uri-js@4.4.1:
877 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
878 |
879 | util-deprecate@1.0.2:
880 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
881 |
882 | uuid@10.0.0:
883 | resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==}
884 | hasBin: true
885 |
886 | uuid@9.0.1:
887 | resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
888 | hasBin: true
889 |
890 | watchpack@2.4.2:
891 | resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==}
892 | engines: {node: '>=10.13.0'}
893 |
894 | webpack-sources@3.2.3:
895 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
896 | engines: {node: '>=10.13.0'}
897 |
898 | webpack@5.95.0:
899 | resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==}
900 | engines: {node: '>=10.13.0'}
901 | hasBin: true
902 | peerDependencies:
903 | webpack-cli: '*'
904 | peerDependenciesMeta:
905 | webpack-cli:
906 | optional: true
907 |
908 | which@2.0.2:
909 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
910 | engines: {node: '>= 8'}
911 | hasBin: true
912 |
913 | word-wrap@1.2.5:
914 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
915 | engines: {node: '>=0.10.0'}
916 |
917 | yocto-queue@0.1.0:
918 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
919 | engines: {node: '>=10'}
920 |
921 | snapshots:
922 |
923 | '@eslint-community/eslint-utils@4.4.1(eslint@9.13.0)':
924 | dependencies:
925 | eslint: 9.13.0
926 | eslint-visitor-keys: 3.4.3
927 |
928 | '@eslint-community/regexpp@4.11.2': {}
929 |
930 | '@eslint/config-array@0.18.0':
931 | dependencies:
932 | '@eslint/object-schema': 2.1.4
933 | debug: 4.3.7
934 | minimatch: 3.1.2
935 | transitivePeerDependencies:
936 | - supports-color
937 |
938 | '@eslint/core@0.7.0': {}
939 |
940 | '@eslint/eslintrc@3.1.0':
941 | dependencies:
942 | ajv: 6.12.6
943 | debug: 4.3.7
944 | espree: 10.2.0
945 | globals: 14.0.0
946 | ignore: 5.3.2
947 | import-fresh: 3.3.0
948 | js-yaml: 4.1.0
949 | minimatch: 3.1.2
950 | strip-json-comments: 3.1.1
951 | transitivePeerDependencies:
952 | - supports-color
953 |
954 | '@eslint/js@9.13.0': {}
955 |
956 | '@eslint/object-schema@2.1.4': {}
957 |
958 | '@eslint/plugin-kit@0.2.1':
959 | dependencies:
960 | levn: 0.4.1
961 |
962 | '@humanfs/core@0.19.0': {}
963 |
964 | '@humanfs/node@0.16.5':
965 | dependencies:
966 | '@humanfs/core': 0.19.0
967 | '@humanwhocodes/retry': 0.3.1
968 |
969 | '@humanwhocodes/module-importer@1.0.1': {}
970 |
971 | '@humanwhocodes/retry@0.3.1': {}
972 |
973 | '@jridgewell/gen-mapping@0.3.5':
974 | dependencies:
975 | '@jridgewell/set-array': 1.2.1
976 | '@jridgewell/sourcemap-codec': 1.5.0
977 | '@jridgewell/trace-mapping': 0.3.25
978 |
979 | '@jridgewell/resolve-uri@3.1.2': {}
980 |
981 | '@jridgewell/set-array@1.2.1': {}
982 |
983 | '@jridgewell/source-map@0.3.6':
984 | dependencies:
985 | '@jridgewell/gen-mapping': 0.3.5
986 | '@jridgewell/trace-mapping': 0.3.25
987 |
988 | '@jridgewell/sourcemap-codec@1.5.0': {}
989 |
990 | '@jridgewell/trace-mapping@0.3.25':
991 | dependencies:
992 | '@jridgewell/resolve-uri': 3.1.2
993 | '@jridgewell/sourcemap-codec': 1.5.0
994 |
995 | '@nodelib/fs.scandir@2.1.5':
996 | dependencies:
997 | '@nodelib/fs.stat': 2.0.5
998 | run-parallel: 1.2.0
999 |
1000 | '@nodelib/fs.stat@2.0.5': {}
1001 |
1002 | '@nodelib/fs.walk@1.2.8':
1003 | dependencies:
1004 | '@nodelib/fs.scandir': 2.1.5
1005 | fastq: 1.17.1
1006 |
1007 | '@pkgr/core@0.1.1': {}
1008 |
1009 | '@types/estree@1.0.6': {}
1010 |
1011 | '@types/json-schema@7.0.15': {}
1012 |
1013 | '@types/node@22.8.1':
1014 | dependencies:
1015 | undici-types: 6.19.8
1016 |
1017 | '@types/uuid@10.0.0': {}
1018 |
1019 | '@types/webpack@5.28.5':
1020 | dependencies:
1021 | '@types/node': 22.8.1
1022 | tapable: 2.2.1
1023 | webpack: 5.95.0
1024 | transitivePeerDependencies:
1025 | - '@swc/core'
1026 | - esbuild
1027 | - uglify-js
1028 | - webpack-cli
1029 |
1030 | '@typescript-eslint/eslint-plugin@8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.13.0)(typescript@5.6.3))(eslint@9.13.0)(typescript@5.6.3)':
1031 | dependencies:
1032 | '@eslint-community/regexpp': 4.11.2
1033 | '@typescript-eslint/parser': 8.11.0(eslint@9.13.0)(typescript@5.6.3)
1034 | '@typescript-eslint/scope-manager': 8.11.0
1035 | '@typescript-eslint/type-utils': 8.11.0(eslint@9.13.0)(typescript@5.6.3)
1036 | '@typescript-eslint/utils': 8.11.0(eslint@9.13.0)(typescript@5.6.3)
1037 | '@typescript-eslint/visitor-keys': 8.11.0
1038 | eslint: 9.13.0
1039 | graphemer: 1.4.0
1040 | ignore: 5.3.2
1041 | natural-compare: 1.4.0
1042 | ts-api-utils: 1.3.0(typescript@5.6.3)
1043 | optionalDependencies:
1044 | typescript: 5.6.3
1045 | transitivePeerDependencies:
1046 | - supports-color
1047 |
1048 | '@typescript-eslint/parser@8.11.0(eslint@9.13.0)(typescript@5.6.3)':
1049 | dependencies:
1050 | '@typescript-eslint/scope-manager': 8.11.0
1051 | '@typescript-eslint/types': 8.11.0
1052 | '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3)
1053 | '@typescript-eslint/visitor-keys': 8.11.0
1054 | debug: 4.3.7
1055 | eslint: 9.13.0
1056 | optionalDependencies:
1057 | typescript: 5.6.3
1058 | transitivePeerDependencies:
1059 | - supports-color
1060 |
1061 | '@typescript-eslint/scope-manager@8.11.0':
1062 | dependencies:
1063 | '@typescript-eslint/types': 8.11.0
1064 | '@typescript-eslint/visitor-keys': 8.11.0
1065 |
1066 | '@typescript-eslint/type-utils@8.11.0(eslint@9.13.0)(typescript@5.6.3)':
1067 | dependencies:
1068 | '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3)
1069 | '@typescript-eslint/utils': 8.11.0(eslint@9.13.0)(typescript@5.6.3)
1070 | debug: 4.3.7
1071 | ts-api-utils: 1.3.0(typescript@5.6.3)
1072 | optionalDependencies:
1073 | typescript: 5.6.3
1074 | transitivePeerDependencies:
1075 | - eslint
1076 | - supports-color
1077 |
1078 | '@typescript-eslint/types@8.11.0': {}
1079 |
1080 | '@typescript-eslint/typescript-estree@8.11.0(typescript@5.6.3)':
1081 | dependencies:
1082 | '@typescript-eslint/types': 8.11.0
1083 | '@typescript-eslint/visitor-keys': 8.11.0
1084 | debug: 4.3.7
1085 | fast-glob: 3.3.2
1086 | is-glob: 4.0.3
1087 | minimatch: 9.0.5
1088 | semver: 7.6.3
1089 | ts-api-utils: 1.3.0(typescript@5.6.3)
1090 | optionalDependencies:
1091 | typescript: 5.6.3
1092 | transitivePeerDependencies:
1093 | - supports-color
1094 |
1095 | '@typescript-eslint/utils@8.11.0(eslint@9.13.0)(typescript@5.6.3)':
1096 | dependencies:
1097 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0)
1098 | '@typescript-eslint/scope-manager': 8.11.0
1099 | '@typescript-eslint/types': 8.11.0
1100 | '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3)
1101 | eslint: 9.13.0
1102 | transitivePeerDependencies:
1103 | - supports-color
1104 | - typescript
1105 |
1106 | '@typescript-eslint/visitor-keys@8.11.0':
1107 | dependencies:
1108 | '@typescript-eslint/types': 8.11.0
1109 | eslint-visitor-keys: 3.4.3
1110 |
1111 | '@webassemblyjs/ast@1.12.1':
1112 | dependencies:
1113 | '@webassemblyjs/helper-numbers': 1.11.6
1114 | '@webassemblyjs/helper-wasm-bytecode': 1.11.6
1115 |
1116 | '@webassemblyjs/floating-point-hex-parser@1.11.6': {}
1117 |
1118 | '@webassemblyjs/helper-api-error@1.11.6': {}
1119 |
1120 | '@webassemblyjs/helper-buffer@1.12.1': {}
1121 |
1122 | '@webassemblyjs/helper-numbers@1.11.6':
1123 | dependencies:
1124 | '@webassemblyjs/floating-point-hex-parser': 1.11.6
1125 | '@webassemblyjs/helper-api-error': 1.11.6
1126 | '@xtuc/long': 4.2.2
1127 |
1128 | '@webassemblyjs/helper-wasm-bytecode@1.11.6': {}
1129 |
1130 | '@webassemblyjs/helper-wasm-section@1.12.1':
1131 | dependencies:
1132 | '@webassemblyjs/ast': 1.12.1
1133 | '@webassemblyjs/helper-buffer': 1.12.1
1134 | '@webassemblyjs/helper-wasm-bytecode': 1.11.6
1135 | '@webassemblyjs/wasm-gen': 1.12.1
1136 |
1137 | '@webassemblyjs/ieee754@1.11.6':
1138 | dependencies:
1139 | '@xtuc/ieee754': 1.2.0
1140 |
1141 | '@webassemblyjs/leb128@1.11.6':
1142 | dependencies:
1143 | '@xtuc/long': 4.2.2
1144 |
1145 | '@webassemblyjs/utf8@1.11.6': {}
1146 |
1147 | '@webassemblyjs/wasm-edit@1.12.1':
1148 | dependencies:
1149 | '@webassemblyjs/ast': 1.12.1
1150 | '@webassemblyjs/helper-buffer': 1.12.1
1151 | '@webassemblyjs/helper-wasm-bytecode': 1.11.6
1152 | '@webassemblyjs/helper-wasm-section': 1.12.1
1153 | '@webassemblyjs/wasm-gen': 1.12.1
1154 | '@webassemblyjs/wasm-opt': 1.12.1
1155 | '@webassemblyjs/wasm-parser': 1.12.1
1156 | '@webassemblyjs/wast-printer': 1.12.1
1157 |
1158 | '@webassemblyjs/wasm-gen@1.12.1':
1159 | dependencies:
1160 | '@webassemblyjs/ast': 1.12.1
1161 | '@webassemblyjs/helper-wasm-bytecode': 1.11.6
1162 | '@webassemblyjs/ieee754': 1.11.6
1163 | '@webassemblyjs/leb128': 1.11.6
1164 | '@webassemblyjs/utf8': 1.11.6
1165 |
1166 | '@webassemblyjs/wasm-opt@1.12.1':
1167 | dependencies:
1168 | '@webassemblyjs/ast': 1.12.1
1169 | '@webassemblyjs/helper-buffer': 1.12.1
1170 | '@webassemblyjs/wasm-gen': 1.12.1
1171 | '@webassemblyjs/wasm-parser': 1.12.1
1172 |
1173 | '@webassemblyjs/wasm-parser@1.12.1':
1174 | dependencies:
1175 | '@webassemblyjs/ast': 1.12.1
1176 | '@webassemblyjs/helper-api-error': 1.11.6
1177 | '@webassemblyjs/helper-wasm-bytecode': 1.11.6
1178 | '@webassemblyjs/ieee754': 1.11.6
1179 | '@webassemblyjs/leb128': 1.11.6
1180 | '@webassemblyjs/utf8': 1.11.6
1181 |
1182 | '@webassemblyjs/wast-printer@1.12.1':
1183 | dependencies:
1184 | '@webassemblyjs/ast': 1.12.1
1185 | '@xtuc/long': 4.2.2
1186 |
1187 | '@xtuc/ieee754@1.2.0': {}
1188 |
1189 | '@xtuc/long@4.2.2': {}
1190 |
1191 | acorn-import-attributes@1.9.5(acorn@8.13.0):
1192 | dependencies:
1193 | acorn: 8.13.0
1194 |
1195 | acorn-jsx@5.3.2(acorn@8.13.0):
1196 | dependencies:
1197 | acorn: 8.13.0
1198 |
1199 | acorn@8.13.0: {}
1200 |
1201 | ajv-keywords@3.5.2(ajv@6.12.6):
1202 | dependencies:
1203 | ajv: 6.12.6
1204 |
1205 | ajv@6.12.6:
1206 | dependencies:
1207 | fast-deep-equal: 3.1.3
1208 | fast-json-stable-stringify: 2.1.0
1209 | json-schema-traverse: 0.4.1
1210 | uri-js: 4.4.1
1211 |
1212 | ansi-styles@4.3.0:
1213 | dependencies:
1214 | color-convert: 2.0.1
1215 |
1216 | argparse@2.0.1: {}
1217 |
1218 | balanced-match@1.0.2: {}
1219 |
1220 | brace-expansion@1.1.11:
1221 | dependencies:
1222 | balanced-match: 1.0.2
1223 | concat-map: 0.0.1
1224 |
1225 | brace-expansion@2.0.1:
1226 | dependencies:
1227 | balanced-match: 1.0.2
1228 |
1229 | braces@3.0.3:
1230 | dependencies:
1231 | fill-range: 7.1.1
1232 |
1233 | browserslist@4.24.2:
1234 | dependencies:
1235 | caniuse-lite: 1.0.30001671
1236 | electron-to-chromium: 1.5.47
1237 | node-releases: 2.0.18
1238 | update-browserslist-db: 1.1.1(browserslist@4.24.2)
1239 |
1240 | buffer-from@1.1.2: {}
1241 |
1242 | callsites@3.1.0: {}
1243 |
1244 | caniuse-lite@1.0.30001671: {}
1245 |
1246 | chalk@4.1.2:
1247 | dependencies:
1248 | ansi-styles: 4.3.0
1249 | supports-color: 7.2.0
1250 |
1251 | chrome-trace-event@1.0.4: {}
1252 |
1253 | classnames-minifier@1.0.0(css-loader@7.1.2(webpack@5.95.0)):
1254 | dependencies:
1255 | css-loader: 7.1.2(webpack@5.95.0)
1256 | uuid: 9.0.1
1257 |
1258 | color-convert@2.0.1:
1259 | dependencies:
1260 | color-name: 1.1.4
1261 |
1262 | color-name@1.1.4: {}
1263 |
1264 | commander@2.20.3: {}
1265 |
1266 | concat-map@0.0.1: {}
1267 |
1268 | cross-spawn@7.0.3:
1269 | dependencies:
1270 | path-key: 3.1.1
1271 | shebang-command: 2.0.0
1272 | which: 2.0.2
1273 |
1274 | css-loader@7.1.2(webpack@5.95.0):
1275 | dependencies:
1276 | icss-utils: 5.1.0(postcss@8.4.47)
1277 | postcss: 8.4.47
1278 | postcss-modules-extract-imports: 3.1.0(postcss@8.4.47)
1279 | postcss-modules-local-by-default: 4.0.5(postcss@8.4.47)
1280 | postcss-modules-scope: 3.2.0(postcss@8.4.47)
1281 | postcss-modules-values: 4.0.0(postcss@8.4.47)
1282 | postcss-value-parser: 4.2.0
1283 | semver: 7.6.3
1284 | optionalDependencies:
1285 | webpack: 5.95.0
1286 |
1287 | cssesc@3.0.0: {}
1288 |
1289 | debug@4.3.7:
1290 | dependencies:
1291 | ms: 2.1.3
1292 |
1293 | deep-is@0.1.4: {}
1294 |
1295 | electron-to-chromium@1.5.47: {}
1296 |
1297 | enhanced-resolve@5.17.1:
1298 | dependencies:
1299 | graceful-fs: 4.2.11
1300 | tapable: 2.2.1
1301 |
1302 | es-module-lexer@1.5.4: {}
1303 |
1304 | escalade@3.2.0: {}
1305 |
1306 | escape-string-regexp@4.0.0: {}
1307 |
1308 | eslint-config-prettier@9.1.0(eslint@9.13.0):
1309 | dependencies:
1310 | eslint: 9.13.0
1311 |
1312 | eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.13.0))(eslint@9.13.0)(prettier@3.3.3):
1313 | dependencies:
1314 | eslint: 9.13.0
1315 | prettier: 3.3.3
1316 | prettier-linter-helpers: 1.0.0
1317 | synckit: 0.9.2
1318 | optionalDependencies:
1319 | eslint-config-prettier: 9.1.0(eslint@9.13.0)
1320 |
1321 | eslint-scope@5.1.1:
1322 | dependencies:
1323 | esrecurse: 4.3.0
1324 | estraverse: 4.3.0
1325 |
1326 | eslint-scope@8.1.0:
1327 | dependencies:
1328 | esrecurse: 4.3.0
1329 | estraverse: 5.3.0
1330 |
1331 | eslint-visitor-keys@3.4.3: {}
1332 |
1333 | eslint-visitor-keys@4.1.0: {}
1334 |
1335 | eslint@9.13.0:
1336 | dependencies:
1337 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0)
1338 | '@eslint-community/regexpp': 4.11.2
1339 | '@eslint/config-array': 0.18.0
1340 | '@eslint/core': 0.7.0
1341 | '@eslint/eslintrc': 3.1.0
1342 | '@eslint/js': 9.13.0
1343 | '@eslint/plugin-kit': 0.2.1
1344 | '@humanfs/node': 0.16.5
1345 | '@humanwhocodes/module-importer': 1.0.1
1346 | '@humanwhocodes/retry': 0.3.1
1347 | '@types/estree': 1.0.6
1348 | '@types/json-schema': 7.0.15
1349 | ajv: 6.12.6
1350 | chalk: 4.1.2
1351 | cross-spawn: 7.0.3
1352 | debug: 4.3.7
1353 | escape-string-regexp: 4.0.0
1354 | eslint-scope: 8.1.0
1355 | eslint-visitor-keys: 4.1.0
1356 | espree: 10.2.0
1357 | esquery: 1.6.0
1358 | esutils: 2.0.3
1359 | fast-deep-equal: 3.1.3
1360 | file-entry-cache: 8.0.0
1361 | find-up: 5.0.0
1362 | glob-parent: 6.0.2
1363 | ignore: 5.3.2
1364 | imurmurhash: 0.1.4
1365 | is-glob: 4.0.3
1366 | json-stable-stringify-without-jsonify: 1.0.1
1367 | lodash.merge: 4.6.2
1368 | minimatch: 3.1.2
1369 | natural-compare: 1.4.0
1370 | optionator: 0.9.4
1371 | text-table: 0.2.0
1372 | transitivePeerDependencies:
1373 | - supports-color
1374 |
1375 | espree@10.2.0:
1376 | dependencies:
1377 | acorn: 8.13.0
1378 | acorn-jsx: 5.3.2(acorn@8.13.0)
1379 | eslint-visitor-keys: 4.1.0
1380 |
1381 | esquery@1.6.0:
1382 | dependencies:
1383 | estraverse: 5.3.0
1384 |
1385 | esrecurse@4.3.0:
1386 | dependencies:
1387 | estraverse: 5.3.0
1388 |
1389 | estraverse@4.3.0: {}
1390 |
1391 | estraverse@5.3.0: {}
1392 |
1393 | esutils@2.0.3: {}
1394 |
1395 | events@3.3.0: {}
1396 |
1397 | fast-deep-equal@3.1.3: {}
1398 |
1399 | fast-diff@1.3.0: {}
1400 |
1401 | fast-glob@3.3.2:
1402 | dependencies:
1403 | '@nodelib/fs.stat': 2.0.5
1404 | '@nodelib/fs.walk': 1.2.8
1405 | glob-parent: 5.1.2
1406 | merge2: 1.4.1
1407 | micromatch: 4.0.8
1408 |
1409 | fast-json-stable-stringify@2.1.0: {}
1410 |
1411 | fast-levenshtein@2.0.6: {}
1412 |
1413 | fastq@1.17.1:
1414 | dependencies:
1415 | reusify: 1.0.4
1416 |
1417 | file-entry-cache@8.0.0:
1418 | dependencies:
1419 | flat-cache: 4.0.1
1420 |
1421 | fill-range@7.1.1:
1422 | dependencies:
1423 | to-regex-range: 5.0.1
1424 |
1425 | find-up@5.0.0:
1426 | dependencies:
1427 | locate-path: 6.0.0
1428 | path-exists: 4.0.0
1429 |
1430 | flat-cache@4.0.1:
1431 | dependencies:
1432 | flatted: 3.3.1
1433 | keyv: 4.5.4
1434 |
1435 | flatted@3.3.1: {}
1436 |
1437 | glob-parent@5.1.2:
1438 | dependencies:
1439 | is-glob: 4.0.3
1440 |
1441 | glob-parent@6.0.2:
1442 | dependencies:
1443 | is-glob: 4.0.3
1444 |
1445 | glob-to-regexp@0.4.1: {}
1446 |
1447 | globals@14.0.0: {}
1448 |
1449 | graceful-fs@4.2.11: {}
1450 |
1451 | graphemer@1.4.0: {}
1452 |
1453 | has-flag@4.0.0: {}
1454 |
1455 | husky@9.1.6: {}
1456 |
1457 | icss-utils@5.1.0(postcss@8.4.47):
1458 | dependencies:
1459 | postcss: 8.4.47
1460 |
1461 | ignore@5.3.2: {}
1462 |
1463 | import-fresh@3.3.0:
1464 | dependencies:
1465 | parent-module: 1.0.1
1466 | resolve-from: 4.0.0
1467 |
1468 | imurmurhash@0.1.4: {}
1469 |
1470 | is-extglob@2.1.1: {}
1471 |
1472 | is-glob@4.0.3:
1473 | dependencies:
1474 | is-extglob: 2.1.1
1475 |
1476 | is-number@7.0.0: {}
1477 |
1478 | isexe@2.0.0: {}
1479 |
1480 | jest-worker@27.5.1:
1481 | dependencies:
1482 | '@types/node': 22.8.1
1483 | merge-stream: 2.0.0
1484 | supports-color: 8.1.1
1485 |
1486 | js-yaml@4.1.0:
1487 | dependencies:
1488 | argparse: 2.0.1
1489 |
1490 | json-buffer@3.0.1: {}
1491 |
1492 | json-parse-even-better-errors@2.3.1: {}
1493 |
1494 | json-schema-traverse@0.4.1: {}
1495 |
1496 | json-stable-stringify-without-jsonify@1.0.1: {}
1497 |
1498 | keyv@4.5.4:
1499 | dependencies:
1500 | json-buffer: 3.0.1
1501 |
1502 | levn@0.4.1:
1503 | dependencies:
1504 | prelude-ls: 1.2.1
1505 | type-check: 0.4.0
1506 |
1507 | loader-runner@4.3.0: {}
1508 |
1509 | locate-path@6.0.0:
1510 | dependencies:
1511 | p-locate: 5.0.0
1512 |
1513 | lodash.merge@4.6.2: {}
1514 |
1515 | merge-stream@2.0.0: {}
1516 |
1517 | merge2@1.4.1: {}
1518 |
1519 | micromatch@4.0.8:
1520 | dependencies:
1521 | braces: 3.0.3
1522 | picomatch: 2.3.1
1523 |
1524 | mime-db@1.52.0: {}
1525 |
1526 | mime-types@2.1.35:
1527 | dependencies:
1528 | mime-db: 1.52.0
1529 |
1530 | minimatch@3.1.2:
1531 | dependencies:
1532 | brace-expansion: 1.1.11
1533 |
1534 | minimatch@9.0.5:
1535 | dependencies:
1536 | brace-expansion: 2.0.1
1537 |
1538 | ms@2.1.3: {}
1539 |
1540 | nanoid@3.3.7: {}
1541 |
1542 | natural-compare@1.4.0: {}
1543 |
1544 | neo-async@2.6.2: {}
1545 |
1546 | node-releases@2.0.18: {}
1547 |
1548 | optionator@0.9.4:
1549 | dependencies:
1550 | deep-is: 0.1.4
1551 | fast-levenshtein: 2.0.6
1552 | levn: 0.4.1
1553 | prelude-ls: 1.2.1
1554 | type-check: 0.4.0
1555 | word-wrap: 1.2.5
1556 |
1557 | p-limit@3.1.0:
1558 | dependencies:
1559 | yocto-queue: 0.1.0
1560 |
1561 | p-locate@5.0.0:
1562 | dependencies:
1563 | p-limit: 3.1.0
1564 |
1565 | parent-module@1.0.1:
1566 | dependencies:
1567 | callsites: 3.1.0
1568 |
1569 | path-exists@4.0.0: {}
1570 |
1571 | path-key@3.1.1: {}
1572 |
1573 | picocolors@1.1.1: {}
1574 |
1575 | picomatch@2.3.1: {}
1576 |
1577 | postcss-modules-extract-imports@3.1.0(postcss@8.4.47):
1578 | dependencies:
1579 | postcss: 8.4.47
1580 |
1581 | postcss-modules-local-by-default@4.0.5(postcss@8.4.47):
1582 | dependencies:
1583 | icss-utils: 5.1.0(postcss@8.4.47)
1584 | postcss: 8.4.47
1585 | postcss-selector-parser: 6.1.2
1586 | postcss-value-parser: 4.2.0
1587 |
1588 | postcss-modules-scope@3.2.0(postcss@8.4.47):
1589 | dependencies:
1590 | postcss: 8.4.47
1591 | postcss-selector-parser: 6.1.2
1592 |
1593 | postcss-modules-values@4.0.0(postcss@8.4.47):
1594 | dependencies:
1595 | icss-utils: 5.1.0(postcss@8.4.47)
1596 | postcss: 8.4.47
1597 |
1598 | postcss-selector-parser@6.1.2:
1599 | dependencies:
1600 | cssesc: 3.0.0
1601 | util-deprecate: 1.0.2
1602 |
1603 | postcss-value-parser@4.2.0: {}
1604 |
1605 | postcss@8.4.47:
1606 | dependencies:
1607 | nanoid: 3.3.7
1608 | picocolors: 1.1.1
1609 | source-map-js: 1.2.1
1610 |
1611 | prelude-ls@1.2.1: {}
1612 |
1613 | prettier-linter-helpers@1.0.0:
1614 | dependencies:
1615 | fast-diff: 1.3.0
1616 |
1617 | prettier@3.3.3: {}
1618 |
1619 | punycode@2.3.1: {}
1620 |
1621 | queue-microtask@1.2.3: {}
1622 |
1623 | randombytes@2.1.0:
1624 | dependencies:
1625 | safe-buffer: 5.2.1
1626 |
1627 | resolve-from@4.0.0: {}
1628 |
1629 | reusify@1.0.4: {}
1630 |
1631 | run-parallel@1.2.0:
1632 | dependencies:
1633 | queue-microtask: 1.2.3
1634 |
1635 | safe-buffer@5.2.1: {}
1636 |
1637 | schema-utils@3.3.0:
1638 | dependencies:
1639 | '@types/json-schema': 7.0.15
1640 | ajv: 6.12.6
1641 | ajv-keywords: 3.5.2(ajv@6.12.6)
1642 |
1643 | semver@7.6.3: {}
1644 |
1645 | serialize-javascript@6.0.2:
1646 | dependencies:
1647 | randombytes: 2.1.0
1648 |
1649 | shebang-command@2.0.0:
1650 | dependencies:
1651 | shebang-regex: 3.0.0
1652 |
1653 | shebang-regex@3.0.0: {}
1654 |
1655 | source-map-js@1.2.1: {}
1656 |
1657 | source-map-support@0.5.21:
1658 | dependencies:
1659 | buffer-from: 1.1.2
1660 | source-map: 0.6.1
1661 |
1662 | source-map@0.6.1: {}
1663 |
1664 | strip-json-comments@3.1.1: {}
1665 |
1666 | supports-color@7.2.0:
1667 | dependencies:
1668 | has-flag: 4.0.0
1669 |
1670 | supports-color@8.1.1:
1671 | dependencies:
1672 | has-flag: 4.0.0
1673 |
1674 | synckit@0.9.2:
1675 | dependencies:
1676 | '@pkgr/core': 0.1.1
1677 | tslib: 2.8.0
1678 |
1679 | tapable@2.2.1: {}
1680 |
1681 | terser-webpack-plugin@5.3.10(webpack@5.95.0):
1682 | dependencies:
1683 | '@jridgewell/trace-mapping': 0.3.25
1684 | jest-worker: 27.5.1
1685 | schema-utils: 3.3.0
1686 | serialize-javascript: 6.0.2
1687 | terser: 5.36.0
1688 | webpack: 5.95.0
1689 |
1690 | terser@5.36.0:
1691 | dependencies:
1692 | '@jridgewell/source-map': 0.3.6
1693 | acorn: 8.13.0
1694 | commander: 2.20.3
1695 | source-map-support: 0.5.21
1696 |
1697 | text-table@0.2.0: {}
1698 |
1699 | to-regex-range@5.0.1:
1700 | dependencies:
1701 | is-number: 7.0.0
1702 |
1703 | ts-api-utils@1.3.0(typescript@5.6.3):
1704 | dependencies:
1705 | typescript: 5.6.3
1706 |
1707 | tslib@2.8.0: {}
1708 |
1709 | type-check@0.4.0:
1710 | dependencies:
1711 | prelude-ls: 1.2.1
1712 |
1713 | typescript-eslint@8.11.0(eslint@9.13.0)(typescript@5.6.3):
1714 | dependencies:
1715 | '@typescript-eslint/eslint-plugin': 8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.13.0)(typescript@5.6.3))(eslint@9.13.0)(typescript@5.6.3)
1716 | '@typescript-eslint/parser': 8.11.0(eslint@9.13.0)(typescript@5.6.3)
1717 | '@typescript-eslint/utils': 8.11.0(eslint@9.13.0)(typescript@5.6.3)
1718 | optionalDependencies:
1719 | typescript: 5.6.3
1720 | transitivePeerDependencies:
1721 | - eslint
1722 | - supports-color
1723 |
1724 | typescript@5.6.3: {}
1725 |
1726 | undici-types@6.19.8: {}
1727 |
1728 | update-browserslist-db@1.1.1(browserslist@4.24.2):
1729 | dependencies:
1730 | browserslist: 4.24.2
1731 | escalade: 3.2.0
1732 | picocolors: 1.1.1
1733 |
1734 | uri-js@4.4.1:
1735 | dependencies:
1736 | punycode: 2.3.1
1737 |
1738 | util-deprecate@1.0.2: {}
1739 |
1740 | uuid@10.0.0: {}
1741 |
1742 | uuid@9.0.1: {}
1743 |
1744 | watchpack@2.4.2:
1745 | dependencies:
1746 | glob-to-regexp: 0.4.1
1747 | graceful-fs: 4.2.11
1748 |
1749 | webpack-sources@3.2.3: {}
1750 |
1751 | webpack@5.95.0:
1752 | dependencies:
1753 | '@types/estree': 1.0.6
1754 | '@webassemblyjs/ast': 1.12.1
1755 | '@webassemblyjs/wasm-edit': 1.12.1
1756 | '@webassemblyjs/wasm-parser': 1.12.1
1757 | acorn: 8.13.0
1758 | acorn-import-attributes: 1.9.5(acorn@8.13.0)
1759 | browserslist: 4.24.2
1760 | chrome-trace-event: 1.0.4
1761 | enhanced-resolve: 5.17.1
1762 | es-module-lexer: 1.5.4
1763 | eslint-scope: 5.1.1
1764 | events: 3.3.0
1765 | glob-to-regexp: 0.4.1
1766 | graceful-fs: 4.2.11
1767 | json-parse-even-better-errors: 2.3.1
1768 | loader-runner: 4.3.0
1769 | mime-types: 2.1.35
1770 | neo-async: 2.6.2
1771 | schema-utils: 3.3.0
1772 | tapable: 2.2.1
1773 | terser-webpack-plugin: 5.3.10(webpack@5.95.0)
1774 | watchpack: 2.4.2
1775 | webpack-sources: 3.2.3
1776 | transitivePeerDependencies:
1777 | - '@swc/core'
1778 | - esbuild
1779 | - uglify-js
1780 |
1781 | which@2.0.2:
1782 | dependencies:
1783 | isexe: 2.0.0
1784 |
1785 | word-wrap@1.2.5: {}
1786 |
1787 | yocto-queue@0.1.0: {}
1788 |
--------------------------------------------------------------------------------