├── .commitlintrc.cjs ├── .eslintignore ├── .eslintrc ├── .gitignore ├── .husky └── commit-msg ├── .prettierrc ├── .versionrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── package.json ├── packages └── create-app │ ├── fs.mts │ ├── git.mts │ ├── index.mts │ ├── npm.mts │ └── template.mts ├── pnpm-lock.yaml ├── src └── cli.mts ├── templates ├── component-library │ ├── .gitignore │ ├── .vscode │ │ ├── extensions.json │ │ └── settings.json │ ├── README.md │ ├── index.html │ ├── package.json │ ├── src │ │ ├── components │ │ │ └── example-element.ts │ │ ├── index.ts │ │ └── styles │ │ │ └── theme.ts │ ├── tsconfig.json │ └── vite.config.ts ├── default │ ├── .gitignore │ ├── .vscode │ │ ├── extensions.json │ │ └── settings.json │ ├── README.md │ ├── index.html │ ├── package.json │ ├── src │ │ └── lit-app.ts │ ├── tsconfig.json │ └── vite.config.ts └── production-template │ ├── .gitignore │ ├── .prettierrc.json │ ├── .vscode │ ├── extensions.json │ └── settings.json │ ├── LICENSE │ ├── README.md │ ├── index.html │ ├── package.json │ ├── pnpm-lock.yaml │ ├── public │ ├── index.universal.html │ ├── manifest.json │ └── service-worker.js │ ├── res │ └── drawable │ │ ├── favicon.svg │ │ ├── logo-192x192.png │ │ ├── logo-48x48.png │ │ ├── logo-512x512.png │ │ └── og │ │ └── default.png │ ├── src │ ├── base │ │ ├── app-404.ts │ │ ├── app-localstorage.ts │ │ ├── app-router.ts │ │ └── styles │ │ │ ├── default-theme.ts │ │ │ └── lit-shared-styles.ts │ ├── home │ │ └── activities │ │ │ └── home-app.ts │ ├── lit-app.ts │ ├── login │ │ └── activities │ │ │ └── app-login.ts │ └── xconfig │ │ ├── strings │ │ ├── index.ts │ │ └── lang │ │ │ └── es.ts │ │ └── typings.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── tsconfig.json └── types ├── gitconfig.d.ts ├── is-utf8.d.ts └── license.js.d.ts /.commitlintrc.cjs: -------------------------------------------------------------------------------- 1 | /** 2 | * Message: "type(scope): commit message" 3 | * Example: `git commit -m "feat(scope): Removed before you go" -m "[Ticket-123](https://pivotal-link)"` 4 | * @see http://marionebl.github.io/commitlint/ 5 | * 6 | * @commitlint/config-conventional 7 | * @see https://github.com/conventional-changelog/commitlint/tree/master/@commitlint/config-conventional 8 | */ 9 | 10 | const type = [ 11 | 'build', 12 | 'chore', 13 | 'ci', 14 | 'docs', 15 | 'feat', 16 | 'fix', 17 | 'perf', 18 | 'refactor', 19 | 'revert', 20 | 'style', 21 | 'test' 22 | ]; 23 | 24 | const scope = ['core']; 25 | 26 | module.exports = { 27 | extends: ['@commitlint/config-conventional'], 28 | rules: { 29 | 'header-max-length': [2, 'always', Infinity], 30 | 'type-enum': [2, 'always', type], 31 | 'scope-enum': [2, 'always', scope], 32 | 'footer-leading-blank': [1, 'never'], 33 | 'subject-case': [2, 'always', 'sentence-case'] 34 | }, 35 | parserPreset: { 36 | parserOpts: { 37 | issuePrefixes: ['Ticket-'] 38 | } 39 | } 40 | }; 41 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | templates/**/*.ts 2 | node_modules 3 | dist -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "parser": "@typescript-eslint/parser", 3 | "parserOptions": { 4 | "ecmaVersion": 2020, 5 | "sourceType": "module" 6 | }, 7 | "extends": [ 8 | "plugin:@typescript-eslint/recommended", 9 | "prettier", 10 | "google" 11 | ], 12 | "plugins": [ 13 | "prettier" 14 | ], 15 | "indent": [ 16 | "tab" 17 | ], 18 | "rules": {} 19 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | \.DS_Store 2 | \.idea 3 | node_modules 4 | cred/2_script.sh.txt 5 | *.log 6 | .history/ 7 | scripts/3_deploy_develop.sh.txt 8 | db 9 | dist/ 10 | .env 11 | tmp.* 12 | yarn.lock -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | pnpm commitlint --edit $1 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 200, 3 | "bracketSpacing": true, 4 | "htmlWhitespaceSensitivity": "css", 5 | "insertPragma": false, 6 | "jsxBracketSameLine": true, 7 | "jsxSingleQuote": false, 8 | "proseWrap": "preserve", 9 | "arrowParens": "avoid", 10 | "quoteProps": "as-needed", 11 | "requirePragma": false, 12 | "semi": true, 13 | "singleQuote": false, 14 | "tabWidth": 4, 15 | "trailingComma": "none", 16 | "useTabs": true 17 | } -------------------------------------------------------------------------------- /.versionrc: -------------------------------------------------------------------------------- 1 | { 2 | "header": "# Changelog\n\n\n\nAll notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.\n", 3 | "types": [ 4 | {"type": "chore", "section": "Chore"}, 5 | {"type": "feat", "section": "Features"}, 6 | {"type": "fix", "section": "Bug Fixes"}, 7 | {"type": "build", "section": "Build System"}, 8 | {"type": "refactor", "section": "Improvements"}, 9 | {"type": "perf", "section": "Improvements"}, 10 | {"type": "docs", "section": "Documentation"}, 11 | {"type": "revert", "section": "Roll Back"}, 12 | {"type": "style", "section": "Styling"}, 13 | {"type": "test", "section": "Tests"}, 14 | {"type": "ci", "section": "CI", "hidden": true} 15 | ], 16 | "scripts": { 17 | "prerelease": "git fetch --tags" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | 4 | 5 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. 6 | 7 | ## [1.4.0](https://github.com/litelement-dev/create-lit/compare/v1.2.0...v1.4.0) (2022-04-03) 8 | 9 | ## 1.2.0 (2022-02-13) 10 | 11 | 12 | ### Features 13 | 14 | * **core:** Add Convensions - Update prod template ([046c5d1](https://github.com/litelement-dev/create-lit/commit/046c5d11e7dc051086d5a7b7476a03b2706083ad)) 15 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Create lit 2 | 3 | Loving Create lit and want to get involved? Thanks! There are plenty of ways you can help. 4 | 5 | Please take a moment to review this document in order to make the contribution process straightforward and effective for everyone involved. 6 | 7 | Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue or assessing patches and features. 8 | 9 | ## Core Ideas 10 | 11 | As much as possible, we try to avoid adding configuration and flags. The purpose of this tool is to provide the best experience for people getting started with `lit`, and this will always be our first priority. This means that sometimes we [sacrifice additional functionality](https://gettingreal.37signals.com/ch05_Half_Not_Half_Assed.php) (such as server rendering) because it is too hard to solve it in a way that wouldn’t require any configuration. 12 | 13 | We prefer **convention, heuristics, or interactivity** over configuration.
14 | Here are a few examples of them in action. 15 | 16 | ### Convention 17 | 18 | Instead of letting the user specify the entry filename, we always assume it to be `src/lit-app.ts`. Rather than letting the user specify the output bundle name, we generate it, but make sure to include the content hash in it. Whenever possible, we want to leverage convention to make good choices for the user, especially in cases where it’s easy to misconfigure something. 19 | 20 | ### Heuristics 21 | 22 | Normally, `npm run dev` runs on port `3000`, and this is not explicitly configurable. Create Lit reads `PORT` environment variable and prefers it when it is specified in `production-template`. The trick is that we know cloud IDEs already specify it automatically, so there is no need for the user to do anything. Create Lit relies on heuristics to do the right thing depending on environment. 23 | 24 | ### Interactivity 25 | 26 | We prefer to add interactivity to the command line interface rather than add configuration flags. For example, `npm run dev` will attempt to run with port `3000` by default, but it may be busy. Many other tools fail. if the port is already being used, `Vite` will automatically try the next available port so this may not be the actual port the server ends up listening on. 27 | 28 | ### Breaking the Rules 29 | 30 | No rules are perfect. Sometimes we may introduce flags or configuration if we believe the value is high enough to justify the complexity. For example, we know that apps may be hosted paths different from the root, and we need to support this use case. However, we still try to fall back to heuristics when possible. 31 | 32 | ## Submitting a Pull Request 33 | 34 | Good pull requests, such as patches, improvements, and new features, are a fantastic help. They should remain focused in scope and avoid containing unrelated commits. 35 | 36 | Please **ask first** if somebody else is already working on this or the core developers think your feature is in-scope for Create Lit. Generally always have a related issue with discussions for whatever you are including. 37 | 38 | Please also provide a **test plan**, i.e. specify how you verified that your addition works. -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2021 litelement.dev 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 14 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 15 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 16 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 17 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 18 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 19 | OR OTHER DEALINGS IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

create-lit

2 | 3 |

4 | Downloads per month 5 | NPM Version 6 | Contributors 7 | Contributors 8 |

9 | 10 | Create lit is a way to create simple-starter-kit `lit` applications. It offers a modern build setup with [Vite](https://vitejs.dev). 11 | 12 | ## Quick Start 13 | 14 | ```bash 15 | npx create-lit my-app 16 | cd my-app 17 | npm run dev 18 | ``` 19 | 20 | Then open [http://localhost:3000/](http://localhost:3000/) to see your app. 21 | 22 | 30 | 31 | ## Creating an App 32 | 33 | You’ll need to have Node >= 10 on your system 34 | 35 | To create a new app, you may choose one of the following methods: 36 | 37 | ### npx 38 | 39 | ```bash 40 | npx create-lit my-app 41 | ``` 42 | 43 | (npx comes with npm 5.2+ and higher, see instructions for older npm versions) 44 | 45 | ### PNPM 46 | 47 | ```bash 48 | pnpm dlx create-lit my-app 49 | ``` 50 | 51 | ### Yarn 52 | 53 | ```bash 54 | yarn create lit my-app 55 | ``` 56 | 57 | ### npm 58 | 59 | ```bash 60 | npm init lit my-app 61 | ``` 62 | 63 | ## Special mention 64 | 65 | Thanks to [@uetchy](https://github.com/uetchy) and the repo [create-create-app](https://github.com/uetchy/create-create-app) . This repo ports from CJS to ESM from [create-create-app](https://github.com/uetchy/create-create-app) 66 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "create-lit", 3 | "version": "1.5.0", 4 | "main": "./src/cli.js", 5 | "type": "module", 6 | "license": "MIT", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/litelement-dev/create-lit.git" 10 | }, 11 | "scripts": { 12 | "build": "tsup src/cli.mts --minify", 13 | "clean": "shx rm -rf dist", 14 | "dev": "tsup src/cli.mts --watch", 15 | "prepublishOnly": "pnpm clean && pnpm build", 16 | "lint": "eslint --ext .ts --ignore-path .eslintignore .", 17 | "release": "standard-version --no-verify", 18 | "minor": "standard-version --release-as minor --no-verify" 19 | }, 20 | "tsup": { 21 | "format": [ 22 | "esm" 23 | ] 24 | }, 25 | "bin": "dist/cli.js", 26 | "files": [ 27 | "dist", 28 | "templates" 29 | ], 30 | "dependencies": { 31 | "@types/cross-spawn": "^6.0.6", 32 | "@types/is-utf8": "^0.2.3", 33 | "@types/uuid": "^10.0.0", 34 | "chalk": "^5.3.0", 35 | "command-exists": "^1.2.9", 36 | "common-tags": "^1.8.2", 37 | "create-create-app": "^7.3.0", 38 | "cross-spawn": "^7.0.3", 39 | "epicfail": "^3.0.0", 40 | "execa": "^9.4.1", 41 | "gitconfig": "^2.0.8", 42 | "globby": "^14.0.2", 43 | "handlebars": "^4.7.8", 44 | "is-utf8": "^0.2.1", 45 | "license.js": "^3.1.2", 46 | "slash": "^5.1.0", 47 | "uuid": "^10.0.0", 48 | "yargs-interactive": "^3.0.1" 49 | }, 50 | "devDependencies": { 51 | "@commitlint/cli": "^19.5.0", 52 | "@commitlint/config-conventional": "^19.5.0", 53 | "@types/command-exists": "^1.2.3", 54 | "@types/common-tags": "^1.8.4", 55 | "@types/node": "^22.7.7", 56 | "@typescript-eslint/eslint-plugin": "^8.10.0", 57 | "@typescript-eslint/parser": "^8.10.0", 58 | "eslint": "^9.13.0", 59 | "eslint-config-google": "^0.14.0", 60 | "eslint-config-prettier": "^9.1.0", 61 | "eslint-plugin-prettier": "^5.2.1", 62 | "husky": "^9.1.6", 63 | "import-sort-style-module": "^6.0.0", 64 | "prettier": "^3.3.3", 65 | "shx": "^0.3.4", 66 | "standard-version": "^9.5.0", 67 | "tsup": "^8.3.0", 68 | "typescript": "^5.6.3" 69 | }, 70 | "importSort": { 71 | ".js, .mjs, .ts, .mts, .cts": { 72 | "style": "module", 73 | "parser": "typescript" 74 | } 75 | }, 76 | "engines": { 77 | "node": ">=22.4.0", 78 | "pnpm": ">=9.0.0" 79 | } 80 | } -------------------------------------------------------------------------------- /packages/create-app/fs.mts: -------------------------------------------------------------------------------- 1 | import { CommonSpawnOptions } from 'child_process'; 2 | import { spawn } from 'cross-spawn'; 3 | import fs from 'fs'; 4 | import path from 'path'; 5 | 6 | export function spawnPromise( 7 | command: string, 8 | args: string[] = [], 9 | options: CommonSpawnOptions = {} 10 | ): Promise { 11 | return new Promise((resolve, reject) => { 12 | const child = spawn(command, args, { stdio: 'inherit', ...options }); 13 | child.on('close', (code) => { 14 | if (code !== 0) { 15 | return reject(code); 16 | } 17 | resolve(code); 18 | }); 19 | }); 20 | } 21 | 22 | export function exists(filePath: string, baseDir: string): boolean { 23 | return fs.existsSync(path.resolve(baseDir, filePath)); 24 | } 25 | 26 | export function isOccupied(dirname: string) { 27 | try { 28 | return ( 29 | fs.readdirSync(dirname).filter((s) => !s.startsWith('.')).length !== 0 30 | ); 31 | } catch (err: any) { 32 | if (err?.code === 'ENOENT') { 33 | return false; 34 | } 35 | throw err; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /packages/create-app/git.mts: -------------------------------------------------------------------------------- 1 | import { execa } from "execa"; 2 | import gitconfig from "gitconfig"; 3 | 4 | import { printCommand } from "./index.mjs"; 5 | 6 | export async function initGit(root: string) { 7 | printCommand("git init"); 8 | execa("git init", { shell: true, cwd: root }); 9 | } 10 | 11 | export async function getGitUser(): Promise<{ name?: string; email?: string }> { 12 | try { 13 | const config = await gitconfig.get({ location: "global" }); 14 | return config.user ?? {}; 15 | } catch (err) { 16 | return {}; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /packages/create-app/index.mts: -------------------------------------------------------------------------------- 1 | import fs from "fs"; 2 | import path from "path"; 3 | import { fileURLToPath } from "url"; 4 | 5 | import chalk from "chalk"; 6 | import { epicfail } from "epicfail"; 7 | import { CommonOptions, ExecaChildProcess, execa } from "execa"; 8 | import { availableLicenses, makeLicenseSync } from "license.js"; 9 | import yargsInteractive, { OptionData } from "yargs-interactive"; 10 | 11 | import { exists, isOccupied } from "./fs.mjs"; 12 | import { getGitUser, initGit } from "./git.mjs"; 13 | import { addDeps, getPM, installDeps } from "./npm.mjs"; 14 | import { copy, getAvailableTemplates } from "./template.mjs"; 15 | 16 | const __filename = fileURLToPath(import.meta.url); 17 | 18 | export interface Option { 19 | [key: string]: OptionData | { default: boolean }; 20 | } 21 | 22 | export interface Options { 23 | templateRoot: string; 24 | fallbackAppName?: string; 25 | promptForTemplate?: boolean; 26 | promptForPM?: boolean; 27 | modifyName?: (name: string) => string | Promise; 28 | extra?: Option; 29 | caveat?: string | ((options: AfterHookOptions) => string | void | Promise); 30 | after?: (options: AfterHookOptions) => void | Promise; 31 | } 32 | 33 | export interface View { 34 | name: string; 35 | description: string; 36 | author: string; 37 | email: string; 38 | contact: string; 39 | license: string; 40 | [key: string]: string | number | boolean | any[]; 41 | } 42 | 43 | export interface AfterHookOptions { 44 | name: string; 45 | packageDir: string; 46 | template: string; 47 | templateDir: string; 48 | year: number; 49 | answers: Omit; 50 | run: (command: string, options?: CommonOptions) => ExecaChildProcess; 51 | installNpmPackage: (packageName: string) => Promise; 52 | } 53 | 54 | export enum NodePM { 55 | Npm = "npm", 56 | Yarn = "yarn", 57 | Pnpm = "pnpm" 58 | } 59 | 60 | export class CLIError extends Error { 61 | constructor(message: string) { 62 | super(message); 63 | this.name = "CLIError"; 64 | } 65 | } 66 | 67 | export async function printCommand(...commands: string[]) { 68 | console.log(chalk.gray(">", ...commands)); 69 | } 70 | 71 | function getContact(author: string, email?: string) { 72 | return `${author}${email ? ` <${email}>` : ""}`; 73 | } 74 | 75 | async function getYargsOptions(options: Options) { 76 | const gitUser = await getGitUser(); 77 | const availableTemplates = getAvailableTemplates(options.templateRoot); 78 | const isMultipleTemplates = availableTemplates.length > 1; 79 | const askForTemplate = isMultipleTemplates && !!options.promptForTemplate; 80 | const yargOption: Option = { 81 | interactive: { default: true }, 82 | description: { 83 | type: "input", 84 | describe: "description", 85 | default: "description", 86 | prompt: "if-no-arg" 87 | }, 88 | author: { 89 | type: "input", 90 | describe: "author name", 91 | default: gitUser.name, 92 | prompt: "if-no-arg" 93 | }, 94 | email: { 95 | type: "input", 96 | describe: "author email", 97 | default: gitUser.email, 98 | prompt: "if-no-arg" 99 | }, 100 | template: { 101 | type: "list", 102 | describe: "template", 103 | default: "default", 104 | prompt: askForTemplate ? "if-no-arg" : "never", 105 | choices: availableTemplates 106 | }, 107 | license: { 108 | type: "list", 109 | describe: "license", 110 | choices: [...availableLicenses(), "UNLICENSED"], 111 | default: "MIT", 112 | prompt: "if-no-arg" 113 | }, 114 | "node-pm": { 115 | type: "list", 116 | describe: "select package manager to use for installing packages from npm", 117 | choices: ["npm", "yarn", "pnpm"], 118 | default: "npm", 119 | prompt: options.promptForPM ? "if-no-arg" : "never" 120 | }, 121 | ...options.extra 122 | }; 123 | return yargOption; 124 | } 125 | 126 | export async function create(appName: string, options: Options) { 127 | epicfail(__filename, { 128 | assertExpected: err => err.name === "CLIError" 129 | }); 130 | 131 | const firstArg = process.argv[2] || options.fallbackAppName; 132 | 133 | if (firstArg === undefined) { 134 | throw new CLIError(`${appName} `); 135 | } 136 | 137 | const useCurrentDir = firstArg === "."; 138 | const name: string = useCurrentDir ? path.basename(process.cwd()) : options.modifyName ? await Promise.resolve(options.modifyName(firstArg)) : firstArg; 139 | const packageDir = useCurrentDir ? process.cwd() : path.resolve(name); 140 | 141 | if (isOccupied(packageDir)) { 142 | throw new CLIError(`"${firstArg}" is not empty directory. Check ${packageDir}`); 143 | } 144 | 145 | console.log(`\nWelcome to ${chalk.cyan.bold("create-lit")}.\n`); 146 | console.log(`Creating app on ${chalk.cyan.bold(packageDir)}.\n`); 147 | 148 | const yargsOption = await getYargsOptions(options); 149 | const args = await yargsInteractive() 150 | .usage("$0 [args]") 151 | .interactive(yargsOption as any); 152 | 153 | const template = args.template; 154 | const templateDir = path.resolve(options.templateRoot, template); 155 | const year = new Date().getFullYear(); 156 | const contact = getContact(args.author, args.email); 157 | 158 | if (!fs.existsSync(templateDir)) { 159 | throw new CLIError("No template found"); 160 | } 161 | 162 | const filteredArgs = Object.entries(args) 163 | .filter(arg => arg[0].match(/^[^$_]/) && !["interactive", "template"].includes(arg[0])) 164 | .reduce( 165 | (sum, cur) => ((sum[cur[0]] = cur[1]), sum), 166 | {} as { 167 | [key in keyof View]: View[key]; 168 | } 169 | ); 170 | 171 | const view = { 172 | ...filteredArgs, 173 | name, 174 | year, 175 | contact 176 | }; 177 | 178 | // copy files from template 179 | console.log(`\nCreating a new package in ${chalk.green(packageDir)}.`); 180 | await copy({ 181 | packageDir, 182 | templateDir, 183 | view 184 | }); 185 | 186 | // create license file 187 | try { 188 | const license = makeLicenseSync(args.license, { 189 | year, 190 | project: name, 191 | description: args.description, 192 | organization: getContact(args.author, args.email) 193 | }); 194 | const licenseText = (license.header ?? "") + license.text + (license.warranty ?? ""); 195 | fs.writeFileSync(path.resolve(packageDir, "LICENSE"), licenseText); 196 | } catch (e) { 197 | // do not generate LICENSE 198 | } 199 | 200 | // init git 201 | try { 202 | console.log("\nInitializing a git repository"); 203 | await initGit(packageDir); 204 | } catch (err: any) { 205 | if (err?.exitCode == 127) return; // no git available 206 | throw err; 207 | } 208 | 209 | const run = async (command: string, options: CommonOptions = {}) => { 210 | const args = command.split(" "); 211 | return execa(args[0], args.slice(1), { 212 | stdio: "inherit", 213 | cwd: packageDir, 214 | ...options 215 | }); 216 | }; 217 | 218 | // run Node.js related tasks (only if `package.json` does exist in the template root) 219 | let installNpmPackage = async (packageName: string): Promise => {}; 220 | 221 | if (exists("package.json", packageDir)) { 222 | let packageManager = args["node-pm"]; 223 | if (!options.promptForPM) { 224 | packageManager = getPM(!!options.promptForPM); 225 | } 226 | 227 | console.log(`Installing dependencies using ${packageManager}`); 228 | packageManager = await installDeps(packageDir, packageManager); 229 | 230 | installNpmPackage = async (pkg: string | string[], isDev: boolean = false): Promise => { 231 | await addDeps({ 232 | rootDir: packageDir, 233 | deps: Array.isArray(pkg) ? pkg : [pkg], 234 | isDev, 235 | pm: packageManager 236 | }); 237 | }; 238 | } 239 | 240 | const afterHookOptions = { 241 | name, 242 | packageDir, 243 | template, 244 | templateDir, 245 | year, 246 | run: run as any, 247 | installNpmPackage, 248 | answers: { 249 | ...filteredArgs, 250 | contact 251 | } 252 | }; 253 | 254 | // run after hook script 255 | if (options.after) { 256 | await Promise.resolve(options.after(afterHookOptions)); 257 | } 258 | 259 | console.log(`\nSuccessfully created ${chalk.bold.cyan(packageDir)}`); 260 | 261 | // show caveat 262 | if (options.caveat) { 263 | switch (typeof options.caveat) { 264 | case "string": 265 | console.log(options.caveat); 266 | break; 267 | case "function": 268 | const response = await Promise.resolve(options.caveat(afterHookOptions)); 269 | if (response) { 270 | console.log(response); 271 | } 272 | break; 273 | default: 274 | } 275 | } 276 | } 277 | -------------------------------------------------------------------------------- /packages/create-app/npm.mts: -------------------------------------------------------------------------------- 1 | import commandExists from "command-exists"; 2 | 3 | import { spawnPromise } from "./fs.mjs"; 4 | import { CLIError, NodePM, printCommand } from "./index.mjs"; 5 | 6 | export function getPM(promptForPM: boolean) { 7 | let ce = commandExists.sync; 8 | if (!promptForPM) { 9 | if (ce("pnpm")) { 10 | return NodePM.Pnpm; 11 | } else if (ce("yarn")) { 12 | return NodePM.Yarn; 13 | } else { 14 | return NodePM.Npm; 15 | } 16 | } 17 | return NodePM.Npm; 18 | } 19 | 20 | export async function installDeps(rootDir: string, pm: NodePM) { 21 | let command: string; 22 | let args: string[]; 23 | 24 | switch (pm) { 25 | case NodePM.Npm: { 26 | command = "npm"; 27 | args = ["install"]; 28 | process.chdir(rootDir); 29 | break; 30 | } 31 | case NodePM.Yarn: { 32 | command = "yarnpkg"; 33 | args = ["install", "--cwd", rootDir]; 34 | break; 35 | } 36 | case NodePM.Pnpm: { 37 | command = "pnpm"; 38 | args = ["install", "--dir", rootDir]; 39 | break; 40 | } 41 | } 42 | 43 | printCommand(command, ...args); 44 | 45 | try { 46 | await spawnPromise(command, args, { stdio: "inherit" }); 47 | } catch (err) { 48 | throw new CLIError(`Failed to install dependencies: ${err}`); 49 | } 50 | return pm; 51 | } 52 | 53 | export async function addDeps({ rootDir, deps, isDev = false, pm }: { rootDir: string; deps: string[]; isDev?: boolean; pm: NodePM }) { 54 | let command: string; 55 | let args: string[]; 56 | 57 | switch (pm) { 58 | case NodePM.Npm: { 59 | command = "npm"; 60 | args = ["install", isDev ? "-D" : "-S", ...deps]; 61 | process.chdir(rootDir); 62 | break; 63 | } 64 | case NodePM.Yarn: { 65 | command = "yarnpkg"; 66 | args = ["add", "--cwd", rootDir, ...deps, isDev ? "-D" : ""]; 67 | break; 68 | } 69 | case NodePM.Pnpm: { 70 | command = "pnpm"; 71 | args = ["add", "--dir", rootDir, ...deps, isDev ? "-D" : ""]; 72 | break; 73 | } 74 | } 75 | 76 | printCommand(command, ...args); 77 | 78 | try { 79 | await spawnPromise(command, args, { stdio: "inherit" }); 80 | } catch (err) { 81 | throw new CLIError(`Failed to add dependencies: ${err}`); 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /packages/create-app/template.mts: -------------------------------------------------------------------------------- 1 | import fs from "fs"; 2 | import path from "path"; 3 | 4 | import { globby } from "globby"; 5 | import Handlebars from "handlebars"; 6 | import isUtf8 from "is-utf8"; 7 | import slash from "slash"; 8 | import { v4 as uuidv4 } from "uuid"; 9 | 10 | import { View } from "./index.mjs"; 11 | 12 | function split(word: string): string[] { 13 | return word.split(/[-_\s]+/); 14 | } 15 | 16 | function space(word: string): string { 17 | return split(trim(word)).join(" "); 18 | } 19 | Handlebars.registerHelper("space", space); 20 | 21 | function trim(text: string) { 22 | return text.replace(/[\r\n]/g, ""); 23 | } 24 | Handlebars.registerHelper("trim", trim); 25 | 26 | function upper(text: string) { 27 | return trim(text).toUpperCase(); 28 | } 29 | Handlebars.registerHelper("upper", upper); 30 | 31 | function lower(text: string, options?: any) { 32 | const space = options && options.hash && options.hash.space; 33 | return trim(text).toLowerCase(); 34 | } 35 | Handlebars.registerHelper("lower", lower); 36 | 37 | function capital(text: string, options?: any) { 38 | const space = options && options.hash && options.hash.space; 39 | return split(trim(text)) 40 | .map(s => s.charAt(0).toUpperCase() + s.slice(1).toLowerCase()) 41 | .join(space ? " " : ""); 42 | } 43 | Handlebars.registerHelper("capital", capital); 44 | 45 | function camel(text: string) { 46 | return capital(text).replace(/^./, s => s.toLowerCase()); 47 | } 48 | Handlebars.registerHelper("camel", camel); 49 | 50 | function snake(text: string) { 51 | return capital(text) 52 | .replace(/(?<=([a-z](?=[A-Z])|[A-Za-z](?=[0-9])))(?=[A-Z0-9])/g, "_") 53 | .toLowerCase(); 54 | } 55 | Handlebars.registerHelper("snake", snake); 56 | 57 | function kebab(text: string) { 58 | return snake(text).replace(/_/g, "-"); 59 | } 60 | Handlebars.registerHelper("kebab", kebab); 61 | 62 | function uuid() { 63 | return uuidv4(); 64 | } 65 | Handlebars.registerHelper("uuid", uuid); 66 | 67 | function format(text: Buffer | string, view: T) { 68 | const template = Handlebars.compile(text.toString(), { noEscape: true }); 69 | return template(view); 70 | } 71 | 72 | function prepareDirectory(filePath: string) { 73 | try { 74 | const target = path.dirname(filePath); 75 | fs.mkdirSync(target, { recursive: true }); 76 | } catch {} 77 | } 78 | 79 | export function getAvailableTemplates(root: string) { 80 | return fs.readdirSync(root).filter(d => !d.startsWith(".")); 81 | } 82 | 83 | export interface CopyConfig { 84 | packageDir: string; 85 | templateDir: string; 86 | view: View; 87 | } 88 | 89 | export async function copy(args: CopyConfig) { 90 | const templateFiles = await globby(slash(args.templateDir), { dot: true }); 91 | for (const sourcePath of templateFiles) { 92 | const relativePath = path.relative(args.templateDir, sourcePath); 93 | const targetPath = format(path.resolve(args.packageDir, relativePath), args.view); 94 | prepareDirectory(targetPath); 95 | 96 | let sourceData = fs.readFileSync(sourcePath); 97 | let targetData = sourceData; 98 | if (isUtf8(sourceData)) { 99 | targetData = Buffer.from(format(sourceData, args.view)); 100 | } 101 | fs.writeFileSync(targetPath, targetData, "utf-8"); 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /src/cli.mts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | import { resolve } from "path"; 4 | import { dirname, join } from "path"; 5 | import { fileURLToPath } from "url"; 6 | 7 | import { stripIndents } from "common-tags"; 8 | 9 | import { create } from "../packages/create-app/index.mjs"; 10 | 11 | const __filename = fileURLToPath(import.meta.url); 12 | const __dirname = dirname(__filename); 13 | 14 | const templateRoot = resolve(__dirname, "..", "templates"); 15 | 16 | // See https://github.com/uetchy/create-create-app/blob/master/README.md for the all options. 17 | create("create-lit", { 18 | templateRoot, 19 | promptForTemplate: true, 20 | fallbackAppName: "lit-app", 21 | modifyName: name => { 22 | name = name.toLowerCase(); 23 | const regexDashCase = /^[a-z]+(-[a-z]+)*$/; 24 | if (!regexDashCase.test(name)) { 25 | throw new Error("Project name must be dash-cased. For example my-app"); 26 | } 27 | 28 | if (!name.includes("-")) { 29 | console.log(stripIndents` 30 | NOTE: Because your project name is not dash-case, 31 | "element" has been added as a suffix. 32 | `); 33 | return `${name}-element`; 34 | } 35 | 36 | return name; 37 | }, 38 | caveat: ({ name }) => stripIndents` 39 | Successfully created your Lit project! 40 | Now run: 41 | cd ${name} 42 | npm run dev 43 | ` 44 | }); 45 | -------------------------------------------------------------------------------- /templates/component-library/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .git 3 | build 4 | node_modules 5 | .DS_Store 6 | dist/ 7 | .history 8 | *.log 9 | -------------------------------------------------------------------------------- /templates/component-library/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. 3 | // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp 4 | // List of extensions which should be recommended for users of this workspace. 5 | "recommendations": [ 6 | "runem.lit-plugin","oderwat.indent-rainbow","lit.lit-snippets","esbenp.prettier-vscode" 7 | ], 8 | // List of extensions recommended by VS Code that should not be recommended for users of this workspace. 9 | "unwantedRecommendations": [] 10 | } -------------------------------------------------------------------------------- /templates/component-library/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "node_modules/typescript/lib", 3 | "lit-plugin.strict": true, 4 | "editor.rulers": [180], 5 | } 6 | -------------------------------------------------------------------------------- /templates/component-library/README.md: -------------------------------------------------------------------------------- 1 | # {{name}} 2 | 3 | {{description}} 4 | -------------------------------------------------------------------------------- /templates/component-library/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{capital name space=true}} Lit Element Simple Starter Kit 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /templates/component-library/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "{{kebab name}}", 3 | "version": "1.0.0", 4 | "main": "./dist/{{kebab name}}.umd.js", 5 | "module": "./dist/{{kebab name}}.es.js", 6 | "exports": { 7 | ".": { 8 | "import": "./dist/{{kebab name}}.es.js", 9 | "require": "./dist/{{kebab name}}.umd.js" 10 | } 11 | }, 12 | "license": "MIT", 13 | "scripts": { 14 | "dev": "vite", 15 | "build": "vite build" 16 | }, 17 | "dependencies": { 18 | "lit": "^3.2.1" 19 | }, 20 | "devDependencies": { 21 | "@types/node": "^22.7.7", 22 | "vite": "^5.4.9" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /templates/component-library/src/components/example-element.ts: -------------------------------------------------------------------------------- 1 | import { LitElement, html, css } from 'lit'; 2 | import { customElement, property } from 'lit/decorators.js'; 3 | import { theme } from '../styles/theme'; 4 | 5 | @customElement('example-element') 6 | export class ExampleComponent extends LitElement { 7 | static styles = [ 8 | theme, 9 | css` 10 | :host { 11 | display: block; 12 | color: var(--color-primary); 13 | } 14 | ` 15 | ]; 16 | 17 | @property() name = '{{capital name space=true}}'; 18 | 19 | render() { 20 | return html`

Hello, ${this.name}

`; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /templates/component-library/src/index.ts: -------------------------------------------------------------------------------- 1 | export { ExampleComponent } from './components/example-element'; -------------------------------------------------------------------------------- /templates/component-library/src/styles/theme.ts: -------------------------------------------------------------------------------- 1 | import { css } from 'lit'; 2 | 3 | /** 4 | * Global Styles - can be imported in Lit components and referenced in your style definition. 5 | * @ref https://material.io/design/color/the-color-system.html 6 | */ 7 | export let theme = css` 8 | :host { 9 | --color-primary: #4287f5; 10 | --color-secondary: #9f40f7; 11 | 12 | --color-background: #f9f9f9; 13 | --color-on-background: #535353; 14 | 15 | --color-surface: #ffffff; 16 | --color-on-surface: #535353; 17 | } 18 | ` 19 | export default theme; -------------------------------------------------------------------------------- /templates/component-library/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Basic Options */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | "target": "es2020", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ 8 | "module": "es2020", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ 9 | // "lib": [], /* Specify library files to be included in the compilation. */ 10 | // "allowJs": true, /* Allow javascript files to be compiled. */ 11 | // "checkJs": true, /* Report errors in .js files. */ 12 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ 13 | // "declaration": true, /* Generates corresponding '.d.ts' file. */ 14 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 15 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 16 | // "outFile": "./", /* Concatenate and emit output to single file. */ 17 | // "outDir": "./", /* Redirect output structure to the directory. */ 18 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 19 | // "composite": true, /* Enable project compilation */ 20 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 21 | // "removeComments": true, /* Do not emit comments to output. */ 22 | // "noEmit": true, /* Do not emit outputs. */ 23 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 24 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 25 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 26 | 27 | /* Strict Type-Checking Options */ 28 | "strict": true, /* Enable all strict type-checking options. */ 29 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 30 | // "strictNullChecks": true, /* Enable strict null checks. */ 31 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 32 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 33 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 34 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 35 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 36 | 37 | /* Additional Checks */ 38 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 39 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 40 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 41 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 42 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 43 | // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ 44 | 45 | /* Module Resolution Options */ 46 | "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 47 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 48 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 49 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 50 | // "typeRoots": [], /* List of folders to include type definitions from. */ 51 | // "types": [], /* Type declaration files to be included in compilation. */ 52 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 53 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 54 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 55 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 56 | 57 | /* Source Map Options */ 58 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 59 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 60 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 61 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 62 | 63 | /* Experimental Options */ 64 | "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 65 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 66 | 67 | /* Advanced Options */ 68 | "skipLibCheck": true, /* Skip type checking of declaration files. */ 69 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /templates/component-library/vite.config.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import { defineConfig } from "vite"; 3 | 4 | export default defineConfig({ 5 | build: { 6 | lib: { 7 | entry: path.resolve(__dirname, 'src/index.ts'), 8 | name: 'ComponentLibrary', 9 | }, 10 | rollupOptions: { 11 | external: ['lit'], 12 | output: { 13 | globals: { 14 | lit: 'lit', 15 | }, 16 | }, 17 | }, 18 | }, 19 | }); 20 | -------------------------------------------------------------------------------- /templates/default/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .git 3 | build 4 | node_modules 5 | .DS_Store 6 | dist/ 7 | .history 8 | *.log 9 | -------------------------------------------------------------------------------- /templates/default/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. 3 | // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp 4 | // List of extensions which should be recommended for users of this workspace. 5 | "recommendations": [ 6 | "runem.lit-plugin","oderwat.indent-rainbow","lit.lit-snippets","esbenp.prettier-vscode" 7 | ], 8 | // List of extensions recommended by VS Code that should not be recommended for users of this workspace. 9 | "unwantedRecommendations": [] 10 | } -------------------------------------------------------------------------------- /templates/default/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "node_modules/typescript/lib", 3 | "lit-plugin.strict": true, 4 | "editor.rulers": [180], 5 | } 6 | -------------------------------------------------------------------------------- /templates/default/README.md: -------------------------------------------------------------------------------- 1 | # {{name}} 2 | 3 | {{description}} 4 | -------------------------------------------------------------------------------- /templates/default/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{capital name space=true}} Lit Element Simple Starter Kit 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /templates/default/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "{{name}}", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "scripts": { 7 | "dev": "vite" 8 | }, 9 | "dependencies": { 10 | "lit": "^3.2.1" 11 | }, 12 | "devDependencies": { 13 | "@types/node": "^22.7.7", 14 | "vite": "^5.4.9" 15 | } 16 | } -------------------------------------------------------------------------------- /templates/default/src/lit-app.ts: -------------------------------------------------------------------------------- 1 | import {LitElement, html, css} from 'lit'; 2 | import {customElement, property} from 'lit/decorators.js'; 3 | 4 | @customElement('lit-app') 5 | export class LitApp extends LitElement { 6 | static styles = [ 7 | css` 8 | :host { 9 | display: block; 10 | } 11 | ` 12 | ]; 13 | 14 | @property() name = '{{capital name space=true}}'; 15 | 16 | render() { 17 | return html`

Hello, ${this.name}

`; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /templates/default/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Basic Options */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | "target": "es2020", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ 8 | "module": "es2020", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ 9 | // "lib": [], /* Specify library files to be included in the compilation. */ 10 | // "allowJs": true, /* Allow javascript files to be compiled. */ 11 | // "checkJs": true, /* Report errors in .js files. */ 12 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ 13 | // "declaration": true, /* Generates corresponding '.d.ts' file. */ 14 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 15 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 16 | // "outFile": "./", /* Concatenate and emit output to single file. */ 17 | // "outDir": "./", /* Redirect output structure to the directory. */ 18 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 19 | // "composite": true, /* Enable project compilation */ 20 | // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ 21 | // "removeComments": true, /* Do not emit comments to output. */ 22 | // "noEmit": true, /* Do not emit outputs. */ 23 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 24 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 25 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 26 | 27 | /* Strict Type-Checking Options */ 28 | "strict": true, /* Enable all strict type-checking options. */ 29 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 30 | // "strictNullChecks": true, /* Enable strict null checks. */ 31 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 32 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 33 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 34 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 35 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 36 | 37 | /* Additional Checks */ 38 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 39 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 40 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 41 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 42 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 43 | // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ 44 | 45 | /* Module Resolution Options */ 46 | "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 47 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 48 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 49 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 50 | // "typeRoots": [], /* List of folders to include type definitions from. */ 51 | // "types": [], /* Type declaration files to be included in compilation. */ 52 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 53 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 54 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 55 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 56 | 57 | /* Source Map Options */ 58 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 59 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 60 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 61 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 62 | 63 | /* Experimental Options */ 64 | "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 65 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 66 | 67 | /* Advanced Options */ 68 | "skipLibCheck": true, /* Skip type checking of declaration files. */ 69 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /templates/default/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | 3 | export default defineConfig({}); 4 | -------------------------------------------------------------------------------- /templates/production-template/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .git 3 | .DS_Store 4 | .history 5 | .firebase 6 | build 7 | dist 8 | node_modules 9 | *.log 10 | -------------------------------------------------------------------------------- /templates/production-template/.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "avoid", 3 | "bracketSpacing": true, 4 | "htmlWhitespaceSensitivity": "css", 5 | "insertPragma": false, 6 | "jsxBracketSameLine": false, 7 | "jsxSingleQuote": false, 8 | "printWidth": 180, 9 | "proseWrap": "preserve", 10 | "quoteProps": "as-needed", 11 | "requirePragma": false, 12 | "semi": true, 13 | "singleQuote": true, 14 | "tabWidth": 2, 15 | "trailingComma": "none", 16 | "useTabs": true, 17 | "resolveGlobalModules": true 18 | } 19 | -------------------------------------------------------------------------------- /templates/production-template/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. 3 | // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp 4 | // List of extensions which should be recommended for users of this workspace. 5 | "recommendations": [ 6 | "runem.lit-plugin","oderwat.indent-rainbow","lit.lit-snippets","esbenp.prettier-vscode" 7 | ], 8 | // List of extensions recommended by VS Code that should not be recommended for users of this workspace. 9 | "unwantedRecommendations": [] 10 | } -------------------------------------------------------------------------------- /templates/production-template/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "typescript.tsdk": "node_modules/typescript/lib", 3 | "lit-plugin.strict": true, 4 | "editor.rulers": [180], 5 | } 6 | -------------------------------------------------------------------------------- /templates/production-template/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2024 Herberth Obregón 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 14 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 15 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 16 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 17 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 18 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 19 | OR OTHER DEALINGS IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /templates/production-template/README.md: -------------------------------------------------------------------------------- 1 | # LitElement starter site 2 | 3 | this project has a ready to production configuration. 4 | 5 | ## Litelement + Typescript + Vitejs + Rollup.js 6 | This project includes a **VERY sample site** to start using LitElement with TypeScript (you can also use JS). 7 | 8 | The project tries to have the same structure as an `Android project`. The idea is that it feels familiar and we develop with a standard (or as similar as possible) 9 | 10 | This will help the LitElement developer community grow and we all align our efforts in a standardized and orderly direction. 11 | 12 | You will find a `res` folder and within it it should have the same structure as a **Native Android Project**. 13 | 14 | With this configuration you can mix and use javascript. But we **highly recommend** that you use Typescript, if you don't already know Typescript you should learn it as this will greatly improve the quality of your code. 15 | 16 | # Let's write the future together 🚀 17 | ## ⚙ Setup 18 | 19 | Install dependencies: 20 | 21 | ```bash 22 | npm i 23 | #or 24 | yarn 25 | ``` 26 | 27 | ## 🚀 Start 28 | 29 | This sample uses the `Babel` and `esbuild` with `Vitejs` to produce JavaScript that runs in modern browsers. 30 | 31 | ### Dev Server 32 | 33 | This sample uses [Vitejs](https://vitejs.dev/) for previewing the project without additional build steps. `Vitejs` handles resolving Node-style "bare" import specifiers, which aren't supported in browsers. It also automatically transpiles Typescript to JavaScript files. 34 | 35 | There is a development HTML file located at `index.html` that you can view at http://localhost:8000. 36 | 37 | To `build` and `run` the JavaScript version of your component (include watcher): 38 | 39 | ```bash 40 | npm run dev 41 | # or 42 | yarn dev 43 | ``` 44 | 45 | 46 | ## 📝 Editing (highly recommend) 47 | 48 | If you use VS Code, we **highly recommend** the [lit-plugin extension](https://marketplace.visualstudio.com/items?itemName=runem.lit-plugin), made by [@runem](https://github.com/runem) which enables some extremely useful features for lit-html templates: 49 | - Syntax highlighting 50 | - Type-checking 51 | - Code completion 52 | - Hover-over docs 53 | - Jump to definition 54 | - Linting 55 | - Quick Fixes 56 | 57 | The project is setup to recommend lit-plugin to VS Code users if they don't already have it installed. 58 | 59 | **Go to repo to leave a start ★ -> [https://github.com/runem/lit-analyzer](https://github.com/runem/lit-analyzer)** 60 | 61 | ## 📄 Formatting 62 | 63 | [Prettier](https://prettier.io/) is used for code formatting. It has been pre-configured according to the Polymer Project's style. You can change this in `.prettierrc.json`. 64 | 65 | Prettier has not been configured to run when commiting files, but this can be added with Husky and and `pretty-quick`. See the [prettier.io](https://prettier.io/) site for instructions. 66 | 67 | If you use VS code, we reccommend the [prettier-vscode extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) 68 | 69 | ## Contribute and more information 70 | 71 | See we develop a [Get started web site (soon)](#) to show more information. 72 | If you have the desire to collaborate, send me a Tweet to [@herberthobregon](https://twitter.com/herberthobregon) and let's talk! -------------------------------------------------------------------------------- /templates/production-template/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | LitElement Starter Project 6 | 7 | 8 | 9 | 10 | 11 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /templates/production-template/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "boda-app", 4 | "version": "1.0.0", 5 | "main": "index.html", 6 | "type": "module", 7 | "scripts": { 8 | "dev": "vite", 9 | "build": "vite build" 10 | }, 11 | "dependencies": { 12 | "@conectate/ct-lit": "^4.0.0", 13 | "@conectate/ct-router": "^4.0.0", 14 | "lit": "^3.2.1" 15 | }, 16 | "devDependencies": { 17 | "@babel/core": "^7.25.8", 18 | "@babel/plugin-proposal-decorators": "^7.25.7", 19 | "@babel/plugin-proposal-export-default-from": "^7.25.8", 20 | "@babel/plugin-syntax-dynamic-import": "^7.8.3", 21 | "@babel/plugin-syntax-import-meta": "^7.10.4", 22 | "@babel/preset-env": "^7.25.8", 23 | "@firebase/app-types": "^0.9.2", 24 | "@rollup/plugin-babel": "^6.0.4", 25 | "@rollup/plugin-node-resolve": "^15.3.0", 26 | "@rollup/plugin-terser": "^0.4.4", 27 | "@types/node": "^22.7.7", 28 | "babel-plugin-bundled-import-meta": "^0.3.2", 29 | "babel-plugin-template-html-minifier": "^4.1.0", 30 | "core-js": "^3.38.1", 31 | "prettier": "^3.3.3", 32 | "rollup": "^4.24.0", 33 | "rollup-plugin-copy": "^3.5.0", 34 | "rollup-plugin-html-literals": "^1.1.8", 35 | "rollup-plugin-summary": "^2.0.1", 36 | "rollup-plugin-visualizer": "^5.12.0", 37 | "typescript": "^5.6.3", 38 | "vite": "^5.4.9" 39 | } 40 | } -------------------------------------------------------------------------------- /templates/production-template/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@conectate/ct-lit': 12 | specifier: ^4.0.0 13 | version: 4.0.0 14 | '@conectate/ct-router': 15 | specifier: ^4.0.0 16 | version: 4.0.0 17 | lit: 18 | specifier: ^3.2.1 19 | version: 3.2.1 20 | devDependencies: 21 | '@babel/core': 22 | specifier: ^7.25.8 23 | version: 7.25.8 24 | '@babel/plugin-proposal-decorators': 25 | specifier: ^7.25.7 26 | version: 7.25.7(@babel/core@7.25.8) 27 | '@babel/plugin-proposal-export-default-from': 28 | specifier: ^7.25.8 29 | version: 7.25.8(@babel/core@7.25.8) 30 | '@babel/plugin-syntax-dynamic-import': 31 | specifier: ^7.8.3 32 | version: 7.8.3(@babel/core@7.25.8) 33 | '@babel/plugin-syntax-import-meta': 34 | specifier: ^7.10.4 35 | version: 7.10.4(@babel/core@7.25.8) 36 | '@babel/preset-env': 37 | specifier: ^7.25.8 38 | version: 7.25.8(@babel/core@7.25.8) 39 | '@firebase/app-types': 40 | specifier: ^0.9.2 41 | version: 0.9.2 42 | '@rollup/plugin-babel': 43 | specifier: ^6.0.4 44 | version: 6.0.4(@babel/core@7.25.8)(rollup@4.24.0) 45 | '@rollup/plugin-node-resolve': 46 | specifier: ^15.3.0 47 | version: 15.3.0(rollup@4.24.0) 48 | '@rollup/plugin-terser': 49 | specifier: ^0.4.4 50 | version: 0.4.4(rollup@4.24.0) 51 | '@types/node': 52 | specifier: ^22.7.7 53 | version: 22.7.7 54 | babel-plugin-bundled-import-meta: 55 | specifier: ^0.3.2 56 | version: 0.3.2(@babel/core@7.25.8) 57 | babel-plugin-template-html-minifier: 58 | specifier: ^4.1.0 59 | version: 4.1.0 60 | core-js: 61 | specifier: ^3.38.1 62 | version: 3.38.1 63 | prettier: 64 | specifier: ^3.3.3 65 | version: 3.3.3 66 | rollup: 67 | specifier: ^4.24.0 68 | version: 4.24.0 69 | rollup-plugin-copy: 70 | specifier: ^3.5.0 71 | version: 3.5.0 72 | rollup-plugin-html-literals: 73 | specifier: ^1.1.8 74 | version: 1.1.8(rollup@4.24.0) 75 | rollup-plugin-summary: 76 | specifier: ^2.0.1 77 | version: 2.0.1(rollup@4.24.0) 78 | rollup-plugin-visualizer: 79 | specifier: ^5.12.0 80 | version: 5.12.0(rollup@4.24.0) 81 | typescript: 82 | specifier: ^5.6.3 83 | version: 5.6.3 84 | vite: 85 | specifier: ^5.4.9 86 | version: 5.4.9(@types/node@22.7.7)(terser@5.36.0) 87 | 88 | packages: 89 | 90 | '@ampproject/remapping@2.3.0': 91 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 92 | engines: {node: '>=6.0.0'} 93 | 94 | '@babel/code-frame@7.25.7': 95 | resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} 96 | engines: {node: '>=6.9.0'} 97 | 98 | '@babel/compat-data@7.25.8': 99 | resolution: {integrity: sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==} 100 | engines: {node: '>=6.9.0'} 101 | 102 | '@babel/core@7.25.8': 103 | resolution: {integrity: sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==} 104 | engines: {node: '>=6.9.0'} 105 | 106 | '@babel/generator@7.25.7': 107 | resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} 108 | engines: {node: '>=6.9.0'} 109 | 110 | '@babel/helper-annotate-as-pure@7.25.7': 111 | resolution: {integrity: sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==} 112 | engines: {node: '>=6.9.0'} 113 | 114 | '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7': 115 | resolution: {integrity: sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==} 116 | engines: {node: '>=6.9.0'} 117 | 118 | '@babel/helper-compilation-targets@7.25.7': 119 | resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} 120 | engines: {node: '>=6.9.0'} 121 | 122 | '@babel/helper-create-class-features-plugin@7.25.7': 123 | resolution: {integrity: sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==} 124 | engines: {node: '>=6.9.0'} 125 | peerDependencies: 126 | '@babel/core': ^7.0.0 127 | 128 | '@babel/helper-create-regexp-features-plugin@7.25.7': 129 | resolution: {integrity: sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==} 130 | engines: {node: '>=6.9.0'} 131 | peerDependencies: 132 | '@babel/core': ^7.0.0 133 | 134 | '@babel/helper-define-polyfill-provider@0.6.2': 135 | resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} 136 | peerDependencies: 137 | '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 138 | 139 | '@babel/helper-member-expression-to-functions@7.25.7': 140 | resolution: {integrity: sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==} 141 | engines: {node: '>=6.9.0'} 142 | 143 | '@babel/helper-module-imports@7.25.7': 144 | resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} 145 | engines: {node: '>=6.9.0'} 146 | 147 | '@babel/helper-module-transforms@7.25.7': 148 | resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} 149 | engines: {node: '>=6.9.0'} 150 | peerDependencies: 151 | '@babel/core': ^7.0.0 152 | 153 | '@babel/helper-optimise-call-expression@7.25.7': 154 | resolution: {integrity: sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==} 155 | engines: {node: '>=6.9.0'} 156 | 157 | '@babel/helper-plugin-utils@7.25.7': 158 | resolution: {integrity: sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==} 159 | engines: {node: '>=6.9.0'} 160 | 161 | '@babel/helper-remap-async-to-generator@7.25.7': 162 | resolution: {integrity: sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==} 163 | engines: {node: '>=6.9.0'} 164 | peerDependencies: 165 | '@babel/core': ^7.0.0 166 | 167 | '@babel/helper-replace-supers@7.25.7': 168 | resolution: {integrity: sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==} 169 | engines: {node: '>=6.9.0'} 170 | peerDependencies: 171 | '@babel/core': ^7.0.0 172 | 173 | '@babel/helper-simple-access@7.25.7': 174 | resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} 175 | engines: {node: '>=6.9.0'} 176 | 177 | '@babel/helper-skip-transparent-expression-wrappers@7.25.7': 178 | resolution: {integrity: sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==} 179 | engines: {node: '>=6.9.0'} 180 | 181 | '@babel/helper-string-parser@7.25.7': 182 | resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} 183 | engines: {node: '>=6.9.0'} 184 | 185 | '@babel/helper-validator-identifier@7.25.7': 186 | resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} 187 | engines: {node: '>=6.9.0'} 188 | 189 | '@babel/helper-validator-option@7.25.7': 190 | resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} 191 | engines: {node: '>=6.9.0'} 192 | 193 | '@babel/helper-wrap-function@7.25.7': 194 | resolution: {integrity: sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==} 195 | engines: {node: '>=6.9.0'} 196 | 197 | '@babel/helpers@7.25.7': 198 | resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} 199 | engines: {node: '>=6.9.0'} 200 | 201 | '@babel/highlight@7.25.7': 202 | resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} 203 | engines: {node: '>=6.9.0'} 204 | 205 | '@babel/parser@7.25.8': 206 | resolution: {integrity: sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==} 207 | engines: {node: '>=6.0.0'} 208 | hasBin: true 209 | 210 | '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7': 211 | resolution: {integrity: sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==} 212 | engines: {node: '>=6.9.0'} 213 | peerDependencies: 214 | '@babel/core': ^7.0.0 215 | 216 | '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.7': 217 | resolution: {integrity: sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==} 218 | engines: {node: '>=6.9.0'} 219 | peerDependencies: 220 | '@babel/core': ^7.0.0 221 | 222 | '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.7': 223 | resolution: {integrity: sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==} 224 | engines: {node: '>=6.9.0'} 225 | peerDependencies: 226 | '@babel/core': ^7.0.0 227 | 228 | '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7': 229 | resolution: {integrity: sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==} 230 | engines: {node: '>=6.9.0'} 231 | peerDependencies: 232 | '@babel/core': ^7.13.0 233 | 234 | '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7': 235 | resolution: {integrity: sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==} 236 | engines: {node: '>=6.9.0'} 237 | peerDependencies: 238 | '@babel/core': ^7.0.0 239 | 240 | '@babel/plugin-proposal-decorators@7.25.7': 241 | resolution: {integrity: sha512-q1mqqqH0e1lhmsEQHV5U8OmdueBC2y0RFr2oUzZoFRtN3MvPmt2fsFRcNQAoGLTSNdHBFUYGnlgcRFhkBbKjPw==} 242 | engines: {node: '>=6.9.0'} 243 | peerDependencies: 244 | '@babel/core': ^7.0.0-0 245 | 246 | '@babel/plugin-proposal-export-default-from@7.25.8': 247 | resolution: {integrity: sha512-5SLPHA/Gk7lNdaymtSVS9jH77Cs7yuHTR3dYj+9q+M7R7tNLXhNuvnmOfafRIzpWL+dtMibuu1I4ofrc768Gkw==} 248 | engines: {node: '>=6.9.0'} 249 | peerDependencies: 250 | '@babel/core': ^7.0.0-0 251 | 252 | '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': 253 | resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} 254 | engines: {node: '>=6.9.0'} 255 | peerDependencies: 256 | '@babel/core': ^7.0.0-0 257 | 258 | '@babel/plugin-syntax-decorators@7.25.7': 259 | resolution: {integrity: sha512-oXduHo642ZhstLVYTe2z2GSJIruU0c/W3/Ghr6A5yGMsVrvdnxO1z+3pbTcT7f3/Clnt+1z8D/w1r1f1SHaCHw==} 260 | engines: {node: '>=6.9.0'} 261 | peerDependencies: 262 | '@babel/core': ^7.0.0-0 263 | 264 | '@babel/plugin-syntax-dynamic-import@7.8.3': 265 | resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} 266 | peerDependencies: 267 | '@babel/core': ^7.0.0-0 268 | 269 | '@babel/plugin-syntax-import-assertions@7.25.7': 270 | resolution: {integrity: sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==} 271 | engines: {node: '>=6.9.0'} 272 | peerDependencies: 273 | '@babel/core': ^7.0.0-0 274 | 275 | '@babel/plugin-syntax-import-attributes@7.25.7': 276 | resolution: {integrity: sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==} 277 | engines: {node: '>=6.9.0'} 278 | peerDependencies: 279 | '@babel/core': ^7.0.0-0 280 | 281 | '@babel/plugin-syntax-import-meta@7.10.4': 282 | resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} 283 | peerDependencies: 284 | '@babel/core': ^7.0.0-0 285 | 286 | '@babel/plugin-syntax-unicode-sets-regex@7.18.6': 287 | resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} 288 | engines: {node: '>=6.9.0'} 289 | peerDependencies: 290 | '@babel/core': ^7.0.0 291 | 292 | '@babel/plugin-transform-arrow-functions@7.25.7': 293 | resolution: {integrity: sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==} 294 | engines: {node: '>=6.9.0'} 295 | peerDependencies: 296 | '@babel/core': ^7.0.0-0 297 | 298 | '@babel/plugin-transform-async-generator-functions@7.25.8': 299 | resolution: {integrity: sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA==} 300 | engines: {node: '>=6.9.0'} 301 | peerDependencies: 302 | '@babel/core': ^7.0.0-0 303 | 304 | '@babel/plugin-transform-async-to-generator@7.25.7': 305 | resolution: {integrity: sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==} 306 | engines: {node: '>=6.9.0'} 307 | peerDependencies: 308 | '@babel/core': ^7.0.0-0 309 | 310 | '@babel/plugin-transform-block-scoped-functions@7.25.7': 311 | resolution: {integrity: sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==} 312 | engines: {node: '>=6.9.0'} 313 | peerDependencies: 314 | '@babel/core': ^7.0.0-0 315 | 316 | '@babel/plugin-transform-block-scoping@7.25.7': 317 | resolution: {integrity: sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==} 318 | engines: {node: '>=6.9.0'} 319 | peerDependencies: 320 | '@babel/core': ^7.0.0-0 321 | 322 | '@babel/plugin-transform-class-properties@7.25.7': 323 | resolution: {integrity: sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==} 324 | engines: {node: '>=6.9.0'} 325 | peerDependencies: 326 | '@babel/core': ^7.0.0-0 327 | 328 | '@babel/plugin-transform-class-static-block@7.25.8': 329 | resolution: {integrity: sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ==} 330 | engines: {node: '>=6.9.0'} 331 | peerDependencies: 332 | '@babel/core': ^7.12.0 333 | 334 | '@babel/plugin-transform-classes@7.25.7': 335 | resolution: {integrity: sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==} 336 | engines: {node: '>=6.9.0'} 337 | peerDependencies: 338 | '@babel/core': ^7.0.0-0 339 | 340 | '@babel/plugin-transform-computed-properties@7.25.7': 341 | resolution: {integrity: sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==} 342 | engines: {node: '>=6.9.0'} 343 | peerDependencies: 344 | '@babel/core': ^7.0.0-0 345 | 346 | '@babel/plugin-transform-destructuring@7.25.7': 347 | resolution: {integrity: sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==} 348 | engines: {node: '>=6.9.0'} 349 | peerDependencies: 350 | '@babel/core': ^7.0.0-0 351 | 352 | '@babel/plugin-transform-dotall-regex@7.25.7': 353 | resolution: {integrity: sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==} 354 | engines: {node: '>=6.9.0'} 355 | peerDependencies: 356 | '@babel/core': ^7.0.0-0 357 | 358 | '@babel/plugin-transform-duplicate-keys@7.25.7': 359 | resolution: {integrity: sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==} 360 | engines: {node: '>=6.9.0'} 361 | peerDependencies: 362 | '@babel/core': ^7.0.0-0 363 | 364 | '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7': 365 | resolution: {integrity: sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==} 366 | engines: {node: '>=6.9.0'} 367 | peerDependencies: 368 | '@babel/core': ^7.0.0 369 | 370 | '@babel/plugin-transform-dynamic-import@7.25.8': 371 | resolution: {integrity: sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A==} 372 | engines: {node: '>=6.9.0'} 373 | peerDependencies: 374 | '@babel/core': ^7.0.0-0 375 | 376 | '@babel/plugin-transform-exponentiation-operator@7.25.7': 377 | resolution: {integrity: sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==} 378 | engines: {node: '>=6.9.0'} 379 | peerDependencies: 380 | '@babel/core': ^7.0.0-0 381 | 382 | '@babel/plugin-transform-export-namespace-from@7.25.8': 383 | resolution: {integrity: sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw==} 384 | engines: {node: '>=6.9.0'} 385 | peerDependencies: 386 | '@babel/core': ^7.0.0-0 387 | 388 | '@babel/plugin-transform-for-of@7.25.7': 389 | resolution: {integrity: sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==} 390 | engines: {node: '>=6.9.0'} 391 | peerDependencies: 392 | '@babel/core': ^7.0.0-0 393 | 394 | '@babel/plugin-transform-function-name@7.25.7': 395 | resolution: {integrity: sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==} 396 | engines: {node: '>=6.9.0'} 397 | peerDependencies: 398 | '@babel/core': ^7.0.0-0 399 | 400 | '@babel/plugin-transform-json-strings@7.25.8': 401 | resolution: {integrity: sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA==} 402 | engines: {node: '>=6.9.0'} 403 | peerDependencies: 404 | '@babel/core': ^7.0.0-0 405 | 406 | '@babel/plugin-transform-literals@7.25.7': 407 | resolution: {integrity: sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==} 408 | engines: {node: '>=6.9.0'} 409 | peerDependencies: 410 | '@babel/core': ^7.0.0-0 411 | 412 | '@babel/plugin-transform-logical-assignment-operators@7.25.8': 413 | resolution: {integrity: sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g==} 414 | engines: {node: '>=6.9.0'} 415 | peerDependencies: 416 | '@babel/core': ^7.0.0-0 417 | 418 | '@babel/plugin-transform-member-expression-literals@7.25.7': 419 | resolution: {integrity: sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==} 420 | engines: {node: '>=6.9.0'} 421 | peerDependencies: 422 | '@babel/core': ^7.0.0-0 423 | 424 | '@babel/plugin-transform-modules-amd@7.25.7': 425 | resolution: {integrity: sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==} 426 | engines: {node: '>=6.9.0'} 427 | peerDependencies: 428 | '@babel/core': ^7.0.0-0 429 | 430 | '@babel/plugin-transform-modules-commonjs@7.25.7': 431 | resolution: {integrity: sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==} 432 | engines: {node: '>=6.9.0'} 433 | peerDependencies: 434 | '@babel/core': ^7.0.0-0 435 | 436 | '@babel/plugin-transform-modules-systemjs@7.25.7': 437 | resolution: {integrity: sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==} 438 | engines: {node: '>=6.9.0'} 439 | peerDependencies: 440 | '@babel/core': ^7.0.0-0 441 | 442 | '@babel/plugin-transform-modules-umd@7.25.7': 443 | resolution: {integrity: sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==} 444 | engines: {node: '>=6.9.0'} 445 | peerDependencies: 446 | '@babel/core': ^7.0.0-0 447 | 448 | '@babel/plugin-transform-named-capturing-groups-regex@7.25.7': 449 | resolution: {integrity: sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==} 450 | engines: {node: '>=6.9.0'} 451 | peerDependencies: 452 | '@babel/core': ^7.0.0 453 | 454 | '@babel/plugin-transform-new-target@7.25.7': 455 | resolution: {integrity: sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==} 456 | engines: {node: '>=6.9.0'} 457 | peerDependencies: 458 | '@babel/core': ^7.0.0-0 459 | 460 | '@babel/plugin-transform-nullish-coalescing-operator@7.25.8': 461 | resolution: {integrity: sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ==} 462 | engines: {node: '>=6.9.0'} 463 | peerDependencies: 464 | '@babel/core': ^7.0.0-0 465 | 466 | '@babel/plugin-transform-numeric-separator@7.25.8': 467 | resolution: {integrity: sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q==} 468 | engines: {node: '>=6.9.0'} 469 | peerDependencies: 470 | '@babel/core': ^7.0.0-0 471 | 472 | '@babel/plugin-transform-object-rest-spread@7.25.8': 473 | resolution: {integrity: sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g==} 474 | engines: {node: '>=6.9.0'} 475 | peerDependencies: 476 | '@babel/core': ^7.0.0-0 477 | 478 | '@babel/plugin-transform-object-super@7.25.7': 479 | resolution: {integrity: sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==} 480 | engines: {node: '>=6.9.0'} 481 | peerDependencies: 482 | '@babel/core': ^7.0.0-0 483 | 484 | '@babel/plugin-transform-optional-catch-binding@7.25.8': 485 | resolution: {integrity: sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg==} 486 | engines: {node: '>=6.9.0'} 487 | peerDependencies: 488 | '@babel/core': ^7.0.0-0 489 | 490 | '@babel/plugin-transform-optional-chaining@7.25.8': 491 | resolution: {integrity: sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg==} 492 | engines: {node: '>=6.9.0'} 493 | peerDependencies: 494 | '@babel/core': ^7.0.0-0 495 | 496 | '@babel/plugin-transform-parameters@7.25.7': 497 | resolution: {integrity: sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==} 498 | engines: {node: '>=6.9.0'} 499 | peerDependencies: 500 | '@babel/core': ^7.0.0-0 501 | 502 | '@babel/plugin-transform-private-methods@7.25.7': 503 | resolution: {integrity: sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==} 504 | engines: {node: '>=6.9.0'} 505 | peerDependencies: 506 | '@babel/core': ^7.0.0-0 507 | 508 | '@babel/plugin-transform-private-property-in-object@7.25.8': 509 | resolution: {integrity: sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow==} 510 | engines: {node: '>=6.9.0'} 511 | peerDependencies: 512 | '@babel/core': ^7.0.0-0 513 | 514 | '@babel/plugin-transform-property-literals@7.25.7': 515 | resolution: {integrity: sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==} 516 | engines: {node: '>=6.9.0'} 517 | peerDependencies: 518 | '@babel/core': ^7.0.0-0 519 | 520 | '@babel/plugin-transform-regenerator@7.25.7': 521 | resolution: {integrity: sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==} 522 | engines: {node: '>=6.9.0'} 523 | peerDependencies: 524 | '@babel/core': ^7.0.0-0 525 | 526 | '@babel/plugin-transform-reserved-words@7.25.7': 527 | resolution: {integrity: sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==} 528 | engines: {node: '>=6.9.0'} 529 | peerDependencies: 530 | '@babel/core': ^7.0.0-0 531 | 532 | '@babel/plugin-transform-shorthand-properties@7.25.7': 533 | resolution: {integrity: sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==} 534 | engines: {node: '>=6.9.0'} 535 | peerDependencies: 536 | '@babel/core': ^7.0.0-0 537 | 538 | '@babel/plugin-transform-spread@7.25.7': 539 | resolution: {integrity: sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==} 540 | engines: {node: '>=6.9.0'} 541 | peerDependencies: 542 | '@babel/core': ^7.0.0-0 543 | 544 | '@babel/plugin-transform-sticky-regex@7.25.7': 545 | resolution: {integrity: sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==} 546 | engines: {node: '>=6.9.0'} 547 | peerDependencies: 548 | '@babel/core': ^7.0.0-0 549 | 550 | '@babel/plugin-transform-template-literals@7.25.7': 551 | resolution: {integrity: sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==} 552 | engines: {node: '>=6.9.0'} 553 | peerDependencies: 554 | '@babel/core': ^7.0.0-0 555 | 556 | '@babel/plugin-transform-typeof-symbol@7.25.7': 557 | resolution: {integrity: sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==} 558 | engines: {node: '>=6.9.0'} 559 | peerDependencies: 560 | '@babel/core': ^7.0.0-0 561 | 562 | '@babel/plugin-transform-unicode-escapes@7.25.7': 563 | resolution: {integrity: sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==} 564 | engines: {node: '>=6.9.0'} 565 | peerDependencies: 566 | '@babel/core': ^7.0.0-0 567 | 568 | '@babel/plugin-transform-unicode-property-regex@7.25.7': 569 | resolution: {integrity: sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==} 570 | engines: {node: '>=6.9.0'} 571 | peerDependencies: 572 | '@babel/core': ^7.0.0-0 573 | 574 | '@babel/plugin-transform-unicode-regex@7.25.7': 575 | resolution: {integrity: sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==} 576 | engines: {node: '>=6.9.0'} 577 | peerDependencies: 578 | '@babel/core': ^7.0.0-0 579 | 580 | '@babel/plugin-transform-unicode-sets-regex@7.25.7': 581 | resolution: {integrity: sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==} 582 | engines: {node: '>=6.9.0'} 583 | peerDependencies: 584 | '@babel/core': ^7.0.0 585 | 586 | '@babel/preset-env@7.25.8': 587 | resolution: {integrity: sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg==} 588 | engines: {node: '>=6.9.0'} 589 | peerDependencies: 590 | '@babel/core': ^7.0.0-0 591 | 592 | '@babel/preset-modules@0.1.6-no-external-plugins': 593 | resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} 594 | peerDependencies: 595 | '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 596 | 597 | '@babel/runtime@7.25.7': 598 | resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==} 599 | engines: {node: '>=6.9.0'} 600 | 601 | '@babel/template@7.25.7': 602 | resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} 603 | engines: {node: '>=6.9.0'} 604 | 605 | '@babel/traverse@7.25.7': 606 | resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} 607 | engines: {node: '>=6.9.0'} 608 | 609 | '@babel/types@7.25.8': 610 | resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==} 611 | engines: {node: '>=6.9.0'} 612 | 613 | '@colors/colors@1.5.0': 614 | resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} 615 | engines: {node: '>=0.1.90'} 616 | 617 | '@conectate/ct-lit@4.0.0': 618 | resolution: {integrity: sha512-6QQd82m6we+Idx/IrdURHS4q+C7blhdks3ZRSR5n8E1fUKcTp35lP0Z6zC/sOS1bwgpF9MsXQWGKRDbZ8udyAw==} 619 | 620 | '@conectate/ct-router@4.0.0': 621 | resolution: {integrity: sha512-3HdRHn8rvhZV0A8CxWuYJ4u6qfqq21L0Wx10wbXYseSCvpdIrb8k8mI9zKzfmyfVIEBDT1dJ36Z9pp/qRp+ZXg==} 622 | 623 | '@esbuild/aix-ppc64@0.21.5': 624 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 625 | engines: {node: '>=12'} 626 | cpu: [ppc64] 627 | os: [aix] 628 | 629 | '@esbuild/android-arm64@0.21.5': 630 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 631 | engines: {node: '>=12'} 632 | cpu: [arm64] 633 | os: [android] 634 | 635 | '@esbuild/android-arm@0.21.5': 636 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 637 | engines: {node: '>=12'} 638 | cpu: [arm] 639 | os: [android] 640 | 641 | '@esbuild/android-x64@0.21.5': 642 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 643 | engines: {node: '>=12'} 644 | cpu: [x64] 645 | os: [android] 646 | 647 | '@esbuild/darwin-arm64@0.21.5': 648 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 649 | engines: {node: '>=12'} 650 | cpu: [arm64] 651 | os: [darwin] 652 | 653 | '@esbuild/darwin-x64@0.21.5': 654 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 655 | engines: {node: '>=12'} 656 | cpu: [x64] 657 | os: [darwin] 658 | 659 | '@esbuild/freebsd-arm64@0.21.5': 660 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 661 | engines: {node: '>=12'} 662 | cpu: [arm64] 663 | os: [freebsd] 664 | 665 | '@esbuild/freebsd-x64@0.21.5': 666 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 667 | engines: {node: '>=12'} 668 | cpu: [x64] 669 | os: [freebsd] 670 | 671 | '@esbuild/linux-arm64@0.21.5': 672 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 673 | engines: {node: '>=12'} 674 | cpu: [arm64] 675 | os: [linux] 676 | 677 | '@esbuild/linux-arm@0.21.5': 678 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 679 | engines: {node: '>=12'} 680 | cpu: [arm] 681 | os: [linux] 682 | 683 | '@esbuild/linux-ia32@0.21.5': 684 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 685 | engines: {node: '>=12'} 686 | cpu: [ia32] 687 | os: [linux] 688 | 689 | '@esbuild/linux-loong64@0.21.5': 690 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 691 | engines: {node: '>=12'} 692 | cpu: [loong64] 693 | os: [linux] 694 | 695 | '@esbuild/linux-mips64el@0.21.5': 696 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 697 | engines: {node: '>=12'} 698 | cpu: [mips64el] 699 | os: [linux] 700 | 701 | '@esbuild/linux-ppc64@0.21.5': 702 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 703 | engines: {node: '>=12'} 704 | cpu: [ppc64] 705 | os: [linux] 706 | 707 | '@esbuild/linux-riscv64@0.21.5': 708 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 709 | engines: {node: '>=12'} 710 | cpu: [riscv64] 711 | os: [linux] 712 | 713 | '@esbuild/linux-s390x@0.21.5': 714 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 715 | engines: {node: '>=12'} 716 | cpu: [s390x] 717 | os: [linux] 718 | 719 | '@esbuild/linux-x64@0.21.5': 720 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 721 | engines: {node: '>=12'} 722 | cpu: [x64] 723 | os: [linux] 724 | 725 | '@esbuild/netbsd-x64@0.21.5': 726 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 727 | engines: {node: '>=12'} 728 | cpu: [x64] 729 | os: [netbsd] 730 | 731 | '@esbuild/openbsd-x64@0.21.5': 732 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 733 | engines: {node: '>=12'} 734 | cpu: [x64] 735 | os: [openbsd] 736 | 737 | '@esbuild/sunos-x64@0.21.5': 738 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 739 | engines: {node: '>=12'} 740 | cpu: [x64] 741 | os: [sunos] 742 | 743 | '@esbuild/win32-arm64@0.21.5': 744 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 745 | engines: {node: '>=12'} 746 | cpu: [arm64] 747 | os: [win32] 748 | 749 | '@esbuild/win32-ia32@0.21.5': 750 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 751 | engines: {node: '>=12'} 752 | cpu: [ia32] 753 | os: [win32] 754 | 755 | '@esbuild/win32-x64@0.21.5': 756 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 757 | engines: {node: '>=12'} 758 | cpu: [x64] 759 | os: [win32] 760 | 761 | '@firebase/app-types@0.9.2': 762 | resolution: {integrity: sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ==} 763 | 764 | '@jridgewell/gen-mapping@0.3.5': 765 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 766 | engines: {node: '>=6.0.0'} 767 | 768 | '@jridgewell/resolve-uri@3.1.2': 769 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 770 | engines: {node: '>=6.0.0'} 771 | 772 | '@jridgewell/set-array@1.2.1': 773 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 774 | engines: {node: '>=6.0.0'} 775 | 776 | '@jridgewell/source-map@0.3.6': 777 | resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} 778 | 779 | '@jridgewell/sourcemap-codec@1.5.0': 780 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 781 | 782 | '@jridgewell/trace-mapping@0.3.25': 783 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 784 | 785 | '@lit-labs/ssr-dom-shim@1.2.1': 786 | resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} 787 | 788 | '@lit/reactive-element@2.0.4': 789 | resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} 790 | 791 | '@nodelib/fs.scandir@2.1.5': 792 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 793 | engines: {node: '>= 8'} 794 | 795 | '@nodelib/fs.stat@2.0.5': 796 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 797 | engines: {node: '>= 8'} 798 | 799 | '@nodelib/fs.walk@1.2.8': 800 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 801 | engines: {node: '>= 8'} 802 | 803 | '@rollup/plugin-babel@6.0.4': 804 | resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} 805 | engines: {node: '>=14.0.0'} 806 | peerDependencies: 807 | '@babel/core': ^7.0.0 808 | '@types/babel__core': ^7.1.9 809 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 810 | peerDependenciesMeta: 811 | '@types/babel__core': 812 | optional: true 813 | rollup: 814 | optional: true 815 | 816 | '@rollup/plugin-node-resolve@15.3.0': 817 | resolution: {integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==} 818 | engines: {node: '>=14.0.0'} 819 | peerDependencies: 820 | rollup: ^2.78.0||^3.0.0||^4.0.0 821 | peerDependenciesMeta: 822 | rollup: 823 | optional: true 824 | 825 | '@rollup/plugin-terser@0.4.4': 826 | resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} 827 | engines: {node: '>=14.0.0'} 828 | peerDependencies: 829 | rollup: ^2.0.0||^3.0.0||^4.0.0 830 | peerDependenciesMeta: 831 | rollup: 832 | optional: true 833 | 834 | '@rollup/pluginutils@5.1.2': 835 | resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} 836 | engines: {node: '>=14.0.0'} 837 | peerDependencies: 838 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 839 | peerDependenciesMeta: 840 | rollup: 841 | optional: true 842 | 843 | '@rollup/rollup-android-arm-eabi@4.24.0': 844 | resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==} 845 | cpu: [arm] 846 | os: [android] 847 | 848 | '@rollup/rollup-android-arm64@4.24.0': 849 | resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==} 850 | cpu: [arm64] 851 | os: [android] 852 | 853 | '@rollup/rollup-darwin-arm64@4.24.0': 854 | resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==} 855 | cpu: [arm64] 856 | os: [darwin] 857 | 858 | '@rollup/rollup-darwin-x64@4.24.0': 859 | resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==} 860 | cpu: [x64] 861 | os: [darwin] 862 | 863 | '@rollup/rollup-linux-arm-gnueabihf@4.24.0': 864 | resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==} 865 | cpu: [arm] 866 | os: [linux] 867 | 868 | '@rollup/rollup-linux-arm-musleabihf@4.24.0': 869 | resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==} 870 | cpu: [arm] 871 | os: [linux] 872 | 873 | '@rollup/rollup-linux-arm64-gnu@4.24.0': 874 | resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==} 875 | cpu: [arm64] 876 | os: [linux] 877 | 878 | '@rollup/rollup-linux-arm64-musl@4.24.0': 879 | resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==} 880 | cpu: [arm64] 881 | os: [linux] 882 | 883 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': 884 | resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==} 885 | cpu: [ppc64] 886 | os: [linux] 887 | 888 | '@rollup/rollup-linux-riscv64-gnu@4.24.0': 889 | resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==} 890 | cpu: [riscv64] 891 | os: [linux] 892 | 893 | '@rollup/rollup-linux-s390x-gnu@4.24.0': 894 | resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==} 895 | cpu: [s390x] 896 | os: [linux] 897 | 898 | '@rollup/rollup-linux-x64-gnu@4.24.0': 899 | resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==} 900 | cpu: [x64] 901 | os: [linux] 902 | 903 | '@rollup/rollup-linux-x64-musl@4.24.0': 904 | resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==} 905 | cpu: [x64] 906 | os: [linux] 907 | 908 | '@rollup/rollup-win32-arm64-msvc@4.24.0': 909 | resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==} 910 | cpu: [arm64] 911 | os: [win32] 912 | 913 | '@rollup/rollup-win32-ia32-msvc@4.24.0': 914 | resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==} 915 | cpu: [ia32] 916 | os: [win32] 917 | 918 | '@rollup/rollup-win32-x64-msvc@4.24.0': 919 | resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==} 920 | cpu: [x64] 921 | os: [win32] 922 | 923 | '@types/clean-css@4.2.11': 924 | resolution: {integrity: sha512-Y8n81lQVTAfP2TOdtJJEsCoYl1AnOkqDqMvXb9/7pfgZZ7r8YrEyurrAvAoAjHOGXKRybay+5CsExqIH6liccw==} 925 | 926 | '@types/estree@1.0.6': 927 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 928 | 929 | '@types/fs-extra@8.1.5': 930 | resolution: {integrity: sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==} 931 | 932 | '@types/glob@7.2.0': 933 | resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} 934 | 935 | '@types/html-minifier@3.5.3': 936 | resolution: {integrity: sha512-j1P/4PcWVVCPEy5lofcHnQ6BtXz9tHGiFPWzqm7TtGuWZEfCHEP446HlkSNc9fQgNJaJZ6ewPtp2aaFla/Uerg==} 937 | 938 | '@types/minimatch@5.1.2': 939 | resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} 940 | 941 | '@types/node@22.7.7': 942 | resolution: {integrity: sha512-SRxCrrg9CL/y54aiMCG3edPKdprgMVGDXjA3gB8UmmBW5TcXzRUYAh8EWzTnSJFAd1rgImPELza+A3bJ+qxz8Q==} 943 | 944 | '@types/relateurl@0.2.33': 945 | resolution: {integrity: sha512-bTQCKsVbIdzLqZhLkF5fcJQreE4y1ro4DIyVrlDNSCJRRwHhB8Z+4zXXa8jN6eDvc2HbRsEYgbvrnGvi54EpSw==} 946 | 947 | '@types/resolve@1.20.2': 948 | resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} 949 | 950 | '@types/trusted-types@2.0.7': 951 | resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} 952 | 953 | '@types/uglify-js@3.17.5': 954 | resolution: {integrity: sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ==} 955 | 956 | acorn@8.13.0: 957 | resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} 958 | engines: {node: '>=0.4.0'} 959 | hasBin: true 960 | 961 | ansi-regex@5.0.1: 962 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 963 | engines: {node: '>=8'} 964 | 965 | ansi-styles@3.2.1: 966 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 967 | engines: {node: '>=4'} 968 | 969 | ansi-styles@4.3.0: 970 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 971 | engines: {node: '>=8'} 972 | 973 | array-union@2.1.0: 974 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 975 | engines: {node: '>=8'} 976 | 977 | babel-plugin-bundled-import-meta@0.3.2: 978 | resolution: {integrity: sha512-RMXzsnWoFHDSUc1X/QiejEwQBtQ0Y68HQZ542JQ4voFa5Sgl5f/D4T7+EOocUeSbiT4XIDbrhfxbH5OmcV8Ibw==} 979 | engines: {node: '>=8'} 980 | peerDependencies: 981 | '@babel/core': ^7.7.0 982 | 983 | babel-plugin-polyfill-corejs2@0.4.11: 984 | resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} 985 | peerDependencies: 986 | '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 987 | 988 | babel-plugin-polyfill-corejs3@0.10.6: 989 | resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} 990 | peerDependencies: 991 | '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 992 | 993 | babel-plugin-polyfill-regenerator@0.6.2: 994 | resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} 995 | peerDependencies: 996 | '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 997 | 998 | babel-plugin-template-html-minifier@4.1.0: 999 | resolution: {integrity: sha512-fyuqn/SEPG68v+YUrBehOhQ81fxlu1A3YPATo3XXTNTsYsUFejRNNFTdQk5vkramMYy7/9XKIXIwsnB0VVvVTg==} 1000 | engines: {node: '>=10.13.0'} 1001 | 1002 | balanced-match@1.0.2: 1003 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1004 | 1005 | brace-expansion@1.1.11: 1006 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1007 | 1008 | braces@3.0.3: 1009 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 1010 | engines: {node: '>=8'} 1011 | 1012 | brotli-size@4.0.0: 1013 | resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==} 1014 | engines: {node: '>= 10.16.0'} 1015 | 1016 | browserslist@4.24.0: 1017 | resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} 1018 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1019 | hasBin: true 1020 | 1021 | buffer-from@1.1.2: 1022 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 1023 | 1024 | builtin-modules@3.3.0: 1025 | resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} 1026 | engines: {node: '>=6'} 1027 | 1028 | camel-case@3.0.0: 1029 | resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} 1030 | 1031 | camel-case@4.1.2: 1032 | resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} 1033 | 1034 | caniuse-lite@1.0.30001669: 1035 | resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==} 1036 | 1037 | chalk@2.4.2: 1038 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1039 | engines: {node: '>=4'} 1040 | 1041 | clean-css@4.2.4: 1042 | resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} 1043 | engines: {node: '>= 4.0'} 1044 | 1045 | cli-table3@0.6.5: 1046 | resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} 1047 | engines: {node: 10.* || >= 12.*} 1048 | 1049 | cliui@8.0.1: 1050 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1051 | engines: {node: '>=12'} 1052 | 1053 | color-convert@1.9.3: 1054 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1055 | 1056 | color-convert@2.0.1: 1057 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1058 | engines: {node: '>=7.0.0'} 1059 | 1060 | color-name@1.1.3: 1061 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1062 | 1063 | color-name@1.1.4: 1064 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1065 | 1066 | colorette@1.4.0: 1067 | resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} 1068 | 1069 | commander@2.20.3: 1070 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 1071 | 1072 | commander@4.1.1: 1073 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 1074 | engines: {node: '>= 6'} 1075 | 1076 | concat-map@0.0.1: 1077 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1078 | 1079 | convert-source-map@2.0.0: 1080 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 1081 | 1082 | core-js-compat@3.38.1: 1083 | resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} 1084 | 1085 | core-js@3.38.1: 1086 | resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} 1087 | 1088 | debug@4.3.7: 1089 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} 1090 | engines: {node: '>=6.0'} 1091 | peerDependencies: 1092 | supports-color: '*' 1093 | peerDependenciesMeta: 1094 | supports-color: 1095 | optional: true 1096 | 1097 | deepmerge@4.3.1: 1098 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 1099 | engines: {node: '>=0.10.0'} 1100 | 1101 | define-lazy-prop@2.0.0: 1102 | resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} 1103 | engines: {node: '>=8'} 1104 | 1105 | dir-glob@3.0.1: 1106 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1107 | engines: {node: '>=8'} 1108 | 1109 | dot-case@3.0.4: 1110 | resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} 1111 | 1112 | duplexer@0.1.1: 1113 | resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==} 1114 | 1115 | duplexer@0.1.2: 1116 | resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} 1117 | 1118 | electron-to-chromium@1.5.41: 1119 | resolution: {integrity: sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==} 1120 | 1121 | emoji-regex@8.0.0: 1122 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1123 | 1124 | esbuild@0.21.5: 1125 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 1126 | engines: {node: '>=12'} 1127 | hasBin: true 1128 | 1129 | escalade@3.2.0: 1130 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 1131 | engines: {node: '>=6'} 1132 | 1133 | escape-string-regexp@1.0.5: 1134 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1135 | engines: {node: '>=0.8.0'} 1136 | 1137 | estree-walker@2.0.2: 1138 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1139 | 1140 | esutils@2.0.3: 1141 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1142 | engines: {node: '>=0.10.0'} 1143 | 1144 | fast-glob@3.3.2: 1145 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1146 | engines: {node: '>=8.6.0'} 1147 | 1148 | fastq@1.17.1: 1149 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1150 | 1151 | filesize@10.1.6: 1152 | resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==} 1153 | engines: {node: '>= 10.4.0'} 1154 | 1155 | fill-range@7.1.1: 1156 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1157 | engines: {node: '>=8'} 1158 | 1159 | fs-extra@8.1.0: 1160 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} 1161 | engines: {node: '>=6 <7 || >=8'} 1162 | 1163 | fs.realpath@1.0.0: 1164 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1165 | 1166 | fsevents@2.3.3: 1167 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1168 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1169 | os: [darwin] 1170 | 1171 | function-bind@1.1.2: 1172 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1173 | 1174 | gensync@1.0.0-beta.2: 1175 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1176 | engines: {node: '>=6.9.0'} 1177 | 1178 | get-caller-file@2.0.5: 1179 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1180 | engines: {node: 6.* || 8.* || >= 10.*} 1181 | 1182 | glob-parent@5.1.2: 1183 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1184 | engines: {node: '>= 6'} 1185 | 1186 | glob@7.2.3: 1187 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1188 | deprecated: Glob versions prior to v9 are no longer supported 1189 | 1190 | globals@11.12.0: 1191 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1192 | engines: {node: '>=4'} 1193 | 1194 | globby@10.0.1: 1195 | resolution: {integrity: sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==} 1196 | engines: {node: '>=8'} 1197 | 1198 | graceful-fs@4.2.11: 1199 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1200 | 1201 | gzip-size@7.0.0: 1202 | resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} 1203 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1204 | 1205 | has-flag@3.0.0: 1206 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1207 | engines: {node: '>=4'} 1208 | 1209 | hasown@2.0.2: 1210 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1211 | engines: {node: '>= 0.4'} 1212 | 1213 | he@1.2.0: 1214 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 1215 | hasBin: true 1216 | 1217 | html-minifier-terser@5.1.1: 1218 | resolution: {integrity: sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==} 1219 | engines: {node: '>=6'} 1220 | hasBin: true 1221 | 1222 | html-minifier@4.0.0: 1223 | resolution: {integrity: sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==} 1224 | engines: {node: '>=6'} 1225 | hasBin: true 1226 | 1227 | ignore@5.3.2: 1228 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1229 | engines: {node: '>= 4'} 1230 | 1231 | inflight@1.0.6: 1232 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1233 | 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. 1234 | 1235 | inherits@2.0.4: 1236 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1237 | 1238 | is-builtin-module@3.2.1: 1239 | resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} 1240 | engines: {node: '>=6'} 1241 | 1242 | is-core-module@2.15.1: 1243 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 1244 | engines: {node: '>= 0.4'} 1245 | 1246 | is-docker@2.2.1: 1247 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} 1248 | engines: {node: '>=8'} 1249 | hasBin: true 1250 | 1251 | is-extglob@2.1.1: 1252 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1253 | engines: {node: '>=0.10.0'} 1254 | 1255 | is-fullwidth-code-point@3.0.0: 1256 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1257 | engines: {node: '>=8'} 1258 | 1259 | is-glob@4.0.3: 1260 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1261 | engines: {node: '>=0.10.0'} 1262 | 1263 | is-module@1.0.0: 1264 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 1265 | 1266 | is-number@7.0.0: 1267 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1268 | engines: {node: '>=0.12.0'} 1269 | 1270 | is-plain-object@3.0.1: 1271 | resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==} 1272 | engines: {node: '>=0.10.0'} 1273 | 1274 | is-wsl@2.2.0: 1275 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} 1276 | engines: {node: '>=8'} 1277 | 1278 | js-tokens@4.0.0: 1279 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1280 | 1281 | jsesc@3.0.2: 1282 | resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} 1283 | engines: {node: '>=6'} 1284 | hasBin: true 1285 | 1286 | json5@2.2.3: 1287 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1288 | engines: {node: '>=6'} 1289 | hasBin: true 1290 | 1291 | jsonfile@4.0.0: 1292 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1293 | 1294 | lit-element@4.1.1: 1295 | resolution: {integrity: sha512-HO9Tkkh34QkTeUmEdNYhMT8hzLid7YlMlATSi1q4q17HE5d9mrrEHJ/o8O2D0cMi182zK1F3v7x0PWFjrhXFew==} 1296 | 1297 | lit-html@3.2.1: 1298 | resolution: {integrity: sha512-qI/3lziaPMSKsrwlxH/xMgikhQ0EGOX2ICU73Bi/YHFvz2j/yMCIrw4+puF2IpQ4+upd3EWbvnHM9+PnJn48YA==} 1299 | 1300 | lit@3.2.1: 1301 | resolution: {integrity: sha512-1BBa1E/z0O9ye5fZprPtdqnc0BFzxIxTTOO/tQFmyC/hj1O3jL4TfmLBw0WEwjAokdLwpclkvGgDJwTIh0/22w==} 1302 | 1303 | lodash.debounce@4.0.8: 1304 | resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} 1305 | 1306 | lower-case@1.1.4: 1307 | resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} 1308 | 1309 | lower-case@2.0.2: 1310 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} 1311 | 1312 | lru-cache@5.1.1: 1313 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1314 | 1315 | magic-string@0.25.9: 1316 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 1317 | 1318 | merge2@1.4.1: 1319 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1320 | engines: {node: '>= 8'} 1321 | 1322 | micromatch@4.0.8: 1323 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1324 | engines: {node: '>=8.6'} 1325 | 1326 | minify-html-literals@1.3.5: 1327 | resolution: {integrity: sha512-p8T8ryePRR8FVfJZLVFmM53WY25FL0moCCTycUDuAu6rf9GMLwy0gNjXBGNin3Yun7Y+tIWd28axOf0t2EpAlQ==} 1328 | 1329 | minimatch@3.1.2: 1330 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1331 | 1332 | ms@2.1.3: 1333 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1334 | 1335 | nanoid@3.3.7: 1336 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1337 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1338 | hasBin: true 1339 | 1340 | no-case@2.3.2: 1341 | resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} 1342 | 1343 | no-case@3.0.4: 1344 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} 1345 | 1346 | node-releases@2.0.18: 1347 | resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} 1348 | 1349 | once@1.4.0: 1350 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1351 | 1352 | open@8.4.2: 1353 | resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} 1354 | engines: {node: '>=12'} 1355 | 1356 | param-case@2.1.1: 1357 | resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} 1358 | 1359 | param-case@3.0.4: 1360 | resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} 1361 | 1362 | parse-literals@1.2.1: 1363 | resolution: {integrity: sha512-Ml0w104Ph2wwzuRdxrg9booVWsngXbB4bZ5T2z6WyF8b5oaNkUmBiDtahi34yUIpXD8Y13JjAK6UyIyApJ73RQ==} 1364 | 1365 | pascal-case@3.1.2: 1366 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} 1367 | 1368 | path-is-absolute@1.0.1: 1369 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1370 | engines: {node: '>=0.10.0'} 1371 | 1372 | path-parse@1.0.7: 1373 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1374 | 1375 | path-type@4.0.0: 1376 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1377 | engines: {node: '>=8'} 1378 | 1379 | picocolors@1.1.1: 1380 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1381 | 1382 | picomatch@2.3.1: 1383 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1384 | engines: {node: '>=8.6'} 1385 | 1386 | postcss@8.4.47: 1387 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} 1388 | engines: {node: ^10 || ^12 || >=14} 1389 | 1390 | prettier@3.3.3: 1391 | resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} 1392 | engines: {node: '>=14'} 1393 | hasBin: true 1394 | 1395 | pwa-helpers@0.9.1: 1396 | resolution: {integrity: sha512-4sP/C9sSxQ3w80AATmvCEI3R+MHzCwr2RSZEbLyMkeJgV3cRk7ySZRUrQnBDSA7A0/z6dkYtjuXlkhN1ZFw3iA==} 1397 | 1398 | queue-microtask@1.2.3: 1399 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1400 | 1401 | randombytes@2.1.0: 1402 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 1403 | 1404 | regenerate-unicode-properties@10.2.0: 1405 | resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} 1406 | engines: {node: '>=4'} 1407 | 1408 | regenerate@1.4.2: 1409 | resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} 1410 | 1411 | regenerator-runtime@0.14.1: 1412 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 1413 | 1414 | regenerator-transform@0.15.2: 1415 | resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} 1416 | 1417 | regexpu-core@6.1.1: 1418 | resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==} 1419 | engines: {node: '>=4'} 1420 | 1421 | regjsgen@0.8.0: 1422 | resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} 1423 | 1424 | regjsparser@0.11.1: 1425 | resolution: {integrity: sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==} 1426 | hasBin: true 1427 | 1428 | relateurl@0.2.7: 1429 | resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} 1430 | engines: {node: '>= 0.10'} 1431 | 1432 | require-directory@2.1.1: 1433 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1434 | engines: {node: '>=0.10.0'} 1435 | 1436 | resolve@1.22.8: 1437 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1438 | hasBin: true 1439 | 1440 | reusify@1.0.4: 1441 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1442 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1443 | 1444 | rollup-plugin-copy@3.5.0: 1445 | resolution: {integrity: sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==} 1446 | engines: {node: '>=8.3'} 1447 | 1448 | rollup-plugin-html-literals@1.1.8: 1449 | resolution: {integrity: sha512-M9KmEalEVWJ6Rk55hwmAmTdKibdvrY7LbmGLiJg+hLPUS2W1xEKgTrkucyvOov+SgE7SM37qEd4Uc5sjs3nWuQ==} 1450 | engines: {node: '>=16'} 1451 | peerDependencies: 1452 | rollup: ^1.x.x||^2.x.x||^3.x.x||^4.x.x 1453 | 1454 | rollup-plugin-summary@2.0.1: 1455 | resolution: {integrity: sha512-aO8t5ZxAB9svdUl4etKUbWr7FFK/2RLj81ZiHnsJKsXPcZEekh32+TknJFj/V8JYRqjmlb/Ygi4aktRa9LdQjw==} 1456 | engines: {node: '>=14.0.0'} 1457 | peerDependencies: 1458 | rollup: ^2.68.0||^3.0.0||^4.0.0 1459 | 1460 | rollup-plugin-visualizer@5.12.0: 1461 | resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} 1462 | engines: {node: '>=14'} 1463 | hasBin: true 1464 | peerDependencies: 1465 | rollup: 2.x || 3.x || 4.x 1466 | peerDependenciesMeta: 1467 | rollup: 1468 | optional: true 1469 | 1470 | rollup@4.24.0: 1471 | resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} 1472 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1473 | hasBin: true 1474 | 1475 | run-parallel@1.2.0: 1476 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1477 | 1478 | safe-buffer@5.2.1: 1479 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1480 | 1481 | semver@6.3.1: 1482 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1483 | hasBin: true 1484 | 1485 | serialize-javascript@6.0.2: 1486 | resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} 1487 | 1488 | slash@3.0.0: 1489 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1490 | engines: {node: '>=8'} 1491 | 1492 | smob@1.5.0: 1493 | resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} 1494 | 1495 | source-map-js@1.2.1: 1496 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1497 | engines: {node: '>=0.10.0'} 1498 | 1499 | source-map-support@0.5.21: 1500 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1501 | 1502 | source-map@0.6.1: 1503 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1504 | engines: {node: '>=0.10.0'} 1505 | 1506 | source-map@0.7.4: 1507 | resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 1508 | engines: {node: '>= 8'} 1509 | 1510 | sourcemap-codec@1.4.8: 1511 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 1512 | deprecated: Please use @jridgewell/sourcemap-codec instead 1513 | 1514 | string-width@4.2.3: 1515 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1516 | engines: {node: '>=8'} 1517 | 1518 | strip-ansi@6.0.1: 1519 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1520 | engines: {node: '>=8'} 1521 | 1522 | supports-color@5.5.0: 1523 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1524 | engines: {node: '>=4'} 1525 | 1526 | supports-preserve-symlinks-flag@1.0.0: 1527 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1528 | engines: {node: '>= 0.4'} 1529 | 1530 | terser@4.8.1: 1531 | resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==} 1532 | engines: {node: '>=6.0.0'} 1533 | hasBin: true 1534 | 1535 | terser@5.36.0: 1536 | resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} 1537 | engines: {node: '>=10'} 1538 | hasBin: true 1539 | 1540 | to-fast-properties@2.0.0: 1541 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1542 | engines: {node: '>=4'} 1543 | 1544 | to-regex-range@5.0.1: 1545 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1546 | engines: {node: '>=8.0'} 1547 | 1548 | tslib@2.8.0: 1549 | resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} 1550 | 1551 | typescript@4.9.5: 1552 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 1553 | engines: {node: '>=4.2.0'} 1554 | hasBin: true 1555 | 1556 | typescript@5.6.3: 1557 | resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} 1558 | engines: {node: '>=14.17'} 1559 | hasBin: true 1560 | 1561 | uglify-js@3.19.3: 1562 | resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} 1563 | engines: {node: '>=0.8.0'} 1564 | hasBin: true 1565 | 1566 | undici-types@6.19.8: 1567 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 1568 | 1569 | unicode-canonical-property-names-ecmascript@2.0.1: 1570 | resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} 1571 | engines: {node: '>=4'} 1572 | 1573 | unicode-match-property-ecmascript@2.0.0: 1574 | resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} 1575 | engines: {node: '>=4'} 1576 | 1577 | unicode-match-property-value-ecmascript@2.2.0: 1578 | resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} 1579 | engines: {node: '>=4'} 1580 | 1581 | unicode-property-aliases-ecmascript@2.1.0: 1582 | resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} 1583 | engines: {node: '>=4'} 1584 | 1585 | universalify@0.1.2: 1586 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 1587 | engines: {node: '>= 4.0.0'} 1588 | 1589 | update-browserslist-db@1.1.1: 1590 | resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} 1591 | hasBin: true 1592 | peerDependencies: 1593 | browserslist: '>= 4.21.0' 1594 | 1595 | upper-case@1.1.3: 1596 | resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} 1597 | 1598 | vite@5.4.9: 1599 | resolution: {integrity: sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==} 1600 | engines: {node: ^18.0.0 || >=20.0.0} 1601 | hasBin: true 1602 | peerDependencies: 1603 | '@types/node': ^18.0.0 || >=20.0.0 1604 | less: '*' 1605 | lightningcss: ^1.21.0 1606 | sass: '*' 1607 | sass-embedded: '*' 1608 | stylus: '*' 1609 | sugarss: '*' 1610 | terser: ^5.4.0 1611 | peerDependenciesMeta: 1612 | '@types/node': 1613 | optional: true 1614 | less: 1615 | optional: true 1616 | lightningcss: 1617 | optional: true 1618 | sass: 1619 | optional: true 1620 | sass-embedded: 1621 | optional: true 1622 | stylus: 1623 | optional: true 1624 | sugarss: 1625 | optional: true 1626 | terser: 1627 | optional: true 1628 | 1629 | wrap-ansi@7.0.0: 1630 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1631 | engines: {node: '>=10'} 1632 | 1633 | wrappy@1.0.2: 1634 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1635 | 1636 | y18n@5.0.8: 1637 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1638 | engines: {node: '>=10'} 1639 | 1640 | yallist@3.1.1: 1641 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 1642 | 1643 | yargs-parser@21.1.1: 1644 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 1645 | engines: {node: '>=12'} 1646 | 1647 | yargs@17.7.2: 1648 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 1649 | engines: {node: '>=12'} 1650 | 1651 | snapshots: 1652 | 1653 | '@ampproject/remapping@2.3.0': 1654 | dependencies: 1655 | '@jridgewell/gen-mapping': 0.3.5 1656 | '@jridgewell/trace-mapping': 0.3.25 1657 | 1658 | '@babel/code-frame@7.25.7': 1659 | dependencies: 1660 | '@babel/highlight': 7.25.7 1661 | picocolors: 1.1.1 1662 | 1663 | '@babel/compat-data@7.25.8': {} 1664 | 1665 | '@babel/core@7.25.8': 1666 | dependencies: 1667 | '@ampproject/remapping': 2.3.0 1668 | '@babel/code-frame': 7.25.7 1669 | '@babel/generator': 7.25.7 1670 | '@babel/helper-compilation-targets': 7.25.7 1671 | '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) 1672 | '@babel/helpers': 7.25.7 1673 | '@babel/parser': 7.25.8 1674 | '@babel/template': 7.25.7 1675 | '@babel/traverse': 7.25.7 1676 | '@babel/types': 7.25.8 1677 | convert-source-map: 2.0.0 1678 | debug: 4.3.7 1679 | gensync: 1.0.0-beta.2 1680 | json5: 2.2.3 1681 | semver: 6.3.1 1682 | transitivePeerDependencies: 1683 | - supports-color 1684 | 1685 | '@babel/generator@7.25.7': 1686 | dependencies: 1687 | '@babel/types': 7.25.8 1688 | '@jridgewell/gen-mapping': 0.3.5 1689 | '@jridgewell/trace-mapping': 0.3.25 1690 | jsesc: 3.0.2 1691 | 1692 | '@babel/helper-annotate-as-pure@7.25.7': 1693 | dependencies: 1694 | '@babel/types': 7.25.8 1695 | 1696 | '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7': 1697 | dependencies: 1698 | '@babel/traverse': 7.25.7 1699 | '@babel/types': 7.25.8 1700 | transitivePeerDependencies: 1701 | - supports-color 1702 | 1703 | '@babel/helper-compilation-targets@7.25.7': 1704 | dependencies: 1705 | '@babel/compat-data': 7.25.8 1706 | '@babel/helper-validator-option': 7.25.7 1707 | browserslist: 4.24.0 1708 | lru-cache: 5.1.1 1709 | semver: 6.3.1 1710 | 1711 | '@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.25.8)': 1712 | dependencies: 1713 | '@babel/core': 7.25.8 1714 | '@babel/helper-annotate-as-pure': 7.25.7 1715 | '@babel/helper-member-expression-to-functions': 7.25.7 1716 | '@babel/helper-optimise-call-expression': 7.25.7 1717 | '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) 1718 | '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 1719 | '@babel/traverse': 7.25.7 1720 | semver: 6.3.1 1721 | transitivePeerDependencies: 1722 | - supports-color 1723 | 1724 | '@babel/helper-create-regexp-features-plugin@7.25.7(@babel/core@7.25.8)': 1725 | dependencies: 1726 | '@babel/core': 7.25.8 1727 | '@babel/helper-annotate-as-pure': 7.25.7 1728 | regexpu-core: 6.1.1 1729 | semver: 6.3.1 1730 | 1731 | '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.8)': 1732 | dependencies: 1733 | '@babel/core': 7.25.8 1734 | '@babel/helper-compilation-targets': 7.25.7 1735 | '@babel/helper-plugin-utils': 7.25.7 1736 | debug: 4.3.7 1737 | lodash.debounce: 4.0.8 1738 | resolve: 1.22.8 1739 | transitivePeerDependencies: 1740 | - supports-color 1741 | 1742 | '@babel/helper-member-expression-to-functions@7.25.7': 1743 | dependencies: 1744 | '@babel/traverse': 7.25.7 1745 | '@babel/types': 7.25.8 1746 | transitivePeerDependencies: 1747 | - supports-color 1748 | 1749 | '@babel/helper-module-imports@7.25.7': 1750 | dependencies: 1751 | '@babel/traverse': 7.25.7 1752 | '@babel/types': 7.25.8 1753 | transitivePeerDependencies: 1754 | - supports-color 1755 | 1756 | '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.8)': 1757 | dependencies: 1758 | '@babel/core': 7.25.8 1759 | '@babel/helper-module-imports': 7.25.7 1760 | '@babel/helper-simple-access': 7.25.7 1761 | '@babel/helper-validator-identifier': 7.25.7 1762 | '@babel/traverse': 7.25.7 1763 | transitivePeerDependencies: 1764 | - supports-color 1765 | 1766 | '@babel/helper-optimise-call-expression@7.25.7': 1767 | dependencies: 1768 | '@babel/types': 7.25.8 1769 | 1770 | '@babel/helper-plugin-utils@7.25.7': {} 1771 | 1772 | '@babel/helper-remap-async-to-generator@7.25.7(@babel/core@7.25.8)': 1773 | dependencies: 1774 | '@babel/core': 7.25.8 1775 | '@babel/helper-annotate-as-pure': 7.25.7 1776 | '@babel/helper-wrap-function': 7.25.7 1777 | '@babel/traverse': 7.25.7 1778 | transitivePeerDependencies: 1779 | - supports-color 1780 | 1781 | '@babel/helper-replace-supers@7.25.7(@babel/core@7.25.8)': 1782 | dependencies: 1783 | '@babel/core': 7.25.8 1784 | '@babel/helper-member-expression-to-functions': 7.25.7 1785 | '@babel/helper-optimise-call-expression': 7.25.7 1786 | '@babel/traverse': 7.25.7 1787 | transitivePeerDependencies: 1788 | - supports-color 1789 | 1790 | '@babel/helper-simple-access@7.25.7': 1791 | dependencies: 1792 | '@babel/traverse': 7.25.7 1793 | '@babel/types': 7.25.8 1794 | transitivePeerDependencies: 1795 | - supports-color 1796 | 1797 | '@babel/helper-skip-transparent-expression-wrappers@7.25.7': 1798 | dependencies: 1799 | '@babel/traverse': 7.25.7 1800 | '@babel/types': 7.25.8 1801 | transitivePeerDependencies: 1802 | - supports-color 1803 | 1804 | '@babel/helper-string-parser@7.25.7': {} 1805 | 1806 | '@babel/helper-validator-identifier@7.25.7': {} 1807 | 1808 | '@babel/helper-validator-option@7.25.7': {} 1809 | 1810 | '@babel/helper-wrap-function@7.25.7': 1811 | dependencies: 1812 | '@babel/template': 7.25.7 1813 | '@babel/traverse': 7.25.7 1814 | '@babel/types': 7.25.8 1815 | transitivePeerDependencies: 1816 | - supports-color 1817 | 1818 | '@babel/helpers@7.25.7': 1819 | dependencies: 1820 | '@babel/template': 7.25.7 1821 | '@babel/types': 7.25.8 1822 | 1823 | '@babel/highlight@7.25.7': 1824 | dependencies: 1825 | '@babel/helper-validator-identifier': 7.25.7 1826 | chalk: 2.4.2 1827 | js-tokens: 4.0.0 1828 | picocolors: 1.1.1 1829 | 1830 | '@babel/parser@7.25.8': 1831 | dependencies: 1832 | '@babel/types': 7.25.8 1833 | 1834 | '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7(@babel/core@7.25.8)': 1835 | dependencies: 1836 | '@babel/core': 7.25.8 1837 | '@babel/helper-plugin-utils': 7.25.7 1838 | '@babel/traverse': 7.25.7 1839 | transitivePeerDependencies: 1840 | - supports-color 1841 | 1842 | '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.7(@babel/core@7.25.8)': 1843 | dependencies: 1844 | '@babel/core': 7.25.8 1845 | '@babel/helper-plugin-utils': 7.25.7 1846 | 1847 | '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.7(@babel/core@7.25.8)': 1848 | dependencies: 1849 | '@babel/core': 7.25.8 1850 | '@babel/helper-plugin-utils': 7.25.7 1851 | 1852 | '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7(@babel/core@7.25.8)': 1853 | dependencies: 1854 | '@babel/core': 7.25.8 1855 | '@babel/helper-plugin-utils': 7.25.7 1856 | '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 1857 | '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.25.8) 1858 | transitivePeerDependencies: 1859 | - supports-color 1860 | 1861 | '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7(@babel/core@7.25.8)': 1862 | dependencies: 1863 | '@babel/core': 7.25.8 1864 | '@babel/helper-plugin-utils': 7.25.7 1865 | '@babel/traverse': 7.25.7 1866 | transitivePeerDependencies: 1867 | - supports-color 1868 | 1869 | '@babel/plugin-proposal-decorators@7.25.7(@babel/core@7.25.8)': 1870 | dependencies: 1871 | '@babel/core': 7.25.8 1872 | '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) 1873 | '@babel/helper-plugin-utils': 7.25.7 1874 | '@babel/plugin-syntax-decorators': 7.25.7(@babel/core@7.25.8) 1875 | transitivePeerDependencies: 1876 | - supports-color 1877 | 1878 | '@babel/plugin-proposal-export-default-from@7.25.8(@babel/core@7.25.8)': 1879 | dependencies: 1880 | '@babel/core': 7.25.8 1881 | '@babel/helper-plugin-utils': 7.25.7 1882 | 1883 | '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.8)': 1884 | dependencies: 1885 | '@babel/core': 7.25.8 1886 | 1887 | '@babel/plugin-syntax-decorators@7.25.7(@babel/core@7.25.8)': 1888 | dependencies: 1889 | '@babel/core': 7.25.8 1890 | '@babel/helper-plugin-utils': 7.25.7 1891 | 1892 | '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.8)': 1893 | dependencies: 1894 | '@babel/core': 7.25.8 1895 | '@babel/helper-plugin-utils': 7.25.7 1896 | 1897 | '@babel/plugin-syntax-import-assertions@7.25.7(@babel/core@7.25.8)': 1898 | dependencies: 1899 | '@babel/core': 7.25.8 1900 | '@babel/helper-plugin-utils': 7.25.7 1901 | 1902 | '@babel/plugin-syntax-import-attributes@7.25.7(@babel/core@7.25.8)': 1903 | dependencies: 1904 | '@babel/core': 7.25.8 1905 | '@babel/helper-plugin-utils': 7.25.7 1906 | 1907 | '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.8)': 1908 | dependencies: 1909 | '@babel/core': 7.25.8 1910 | '@babel/helper-plugin-utils': 7.25.7 1911 | 1912 | '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.8)': 1913 | dependencies: 1914 | '@babel/core': 7.25.8 1915 | '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) 1916 | '@babel/helper-plugin-utils': 7.25.7 1917 | 1918 | '@babel/plugin-transform-arrow-functions@7.25.7(@babel/core@7.25.8)': 1919 | dependencies: 1920 | '@babel/core': 7.25.8 1921 | '@babel/helper-plugin-utils': 7.25.7 1922 | 1923 | '@babel/plugin-transform-async-generator-functions@7.25.8(@babel/core@7.25.8)': 1924 | dependencies: 1925 | '@babel/core': 7.25.8 1926 | '@babel/helper-plugin-utils': 7.25.7 1927 | '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.8) 1928 | '@babel/traverse': 7.25.7 1929 | transitivePeerDependencies: 1930 | - supports-color 1931 | 1932 | '@babel/plugin-transform-async-to-generator@7.25.7(@babel/core@7.25.8)': 1933 | dependencies: 1934 | '@babel/core': 7.25.8 1935 | '@babel/helper-module-imports': 7.25.7 1936 | '@babel/helper-plugin-utils': 7.25.7 1937 | '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.8) 1938 | transitivePeerDependencies: 1939 | - supports-color 1940 | 1941 | '@babel/plugin-transform-block-scoped-functions@7.25.7(@babel/core@7.25.8)': 1942 | dependencies: 1943 | '@babel/core': 7.25.8 1944 | '@babel/helper-plugin-utils': 7.25.7 1945 | 1946 | '@babel/plugin-transform-block-scoping@7.25.7(@babel/core@7.25.8)': 1947 | dependencies: 1948 | '@babel/core': 7.25.8 1949 | '@babel/helper-plugin-utils': 7.25.7 1950 | 1951 | '@babel/plugin-transform-class-properties@7.25.7(@babel/core@7.25.8)': 1952 | dependencies: 1953 | '@babel/core': 7.25.8 1954 | '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) 1955 | '@babel/helper-plugin-utils': 7.25.7 1956 | transitivePeerDependencies: 1957 | - supports-color 1958 | 1959 | '@babel/plugin-transform-class-static-block@7.25.8(@babel/core@7.25.8)': 1960 | dependencies: 1961 | '@babel/core': 7.25.8 1962 | '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) 1963 | '@babel/helper-plugin-utils': 7.25.7 1964 | transitivePeerDependencies: 1965 | - supports-color 1966 | 1967 | '@babel/plugin-transform-classes@7.25.7(@babel/core@7.25.8)': 1968 | dependencies: 1969 | '@babel/core': 7.25.8 1970 | '@babel/helper-annotate-as-pure': 7.25.7 1971 | '@babel/helper-compilation-targets': 7.25.7 1972 | '@babel/helper-plugin-utils': 7.25.7 1973 | '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) 1974 | '@babel/traverse': 7.25.7 1975 | globals: 11.12.0 1976 | transitivePeerDependencies: 1977 | - supports-color 1978 | 1979 | '@babel/plugin-transform-computed-properties@7.25.7(@babel/core@7.25.8)': 1980 | dependencies: 1981 | '@babel/core': 7.25.8 1982 | '@babel/helper-plugin-utils': 7.25.7 1983 | '@babel/template': 7.25.7 1984 | 1985 | '@babel/plugin-transform-destructuring@7.25.7(@babel/core@7.25.8)': 1986 | dependencies: 1987 | '@babel/core': 7.25.8 1988 | '@babel/helper-plugin-utils': 7.25.7 1989 | 1990 | '@babel/plugin-transform-dotall-regex@7.25.7(@babel/core@7.25.8)': 1991 | dependencies: 1992 | '@babel/core': 7.25.8 1993 | '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) 1994 | '@babel/helper-plugin-utils': 7.25.7 1995 | 1996 | '@babel/plugin-transform-duplicate-keys@7.25.7(@babel/core@7.25.8)': 1997 | dependencies: 1998 | '@babel/core': 7.25.8 1999 | '@babel/helper-plugin-utils': 7.25.7 2000 | 2001 | '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7(@babel/core@7.25.8)': 2002 | dependencies: 2003 | '@babel/core': 7.25.8 2004 | '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) 2005 | '@babel/helper-plugin-utils': 7.25.7 2006 | 2007 | '@babel/plugin-transform-dynamic-import@7.25.8(@babel/core@7.25.8)': 2008 | dependencies: 2009 | '@babel/core': 7.25.8 2010 | '@babel/helper-plugin-utils': 7.25.7 2011 | 2012 | '@babel/plugin-transform-exponentiation-operator@7.25.7(@babel/core@7.25.8)': 2013 | dependencies: 2014 | '@babel/core': 7.25.8 2015 | '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.7 2016 | '@babel/helper-plugin-utils': 7.25.7 2017 | transitivePeerDependencies: 2018 | - supports-color 2019 | 2020 | '@babel/plugin-transform-export-namespace-from@7.25.8(@babel/core@7.25.8)': 2021 | dependencies: 2022 | '@babel/core': 7.25.8 2023 | '@babel/helper-plugin-utils': 7.25.7 2024 | 2025 | '@babel/plugin-transform-for-of@7.25.7(@babel/core@7.25.8)': 2026 | dependencies: 2027 | '@babel/core': 7.25.8 2028 | '@babel/helper-plugin-utils': 7.25.7 2029 | '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 2030 | transitivePeerDependencies: 2031 | - supports-color 2032 | 2033 | '@babel/plugin-transform-function-name@7.25.7(@babel/core@7.25.8)': 2034 | dependencies: 2035 | '@babel/core': 7.25.8 2036 | '@babel/helper-compilation-targets': 7.25.7 2037 | '@babel/helper-plugin-utils': 7.25.7 2038 | '@babel/traverse': 7.25.7 2039 | transitivePeerDependencies: 2040 | - supports-color 2041 | 2042 | '@babel/plugin-transform-json-strings@7.25.8(@babel/core@7.25.8)': 2043 | dependencies: 2044 | '@babel/core': 7.25.8 2045 | '@babel/helper-plugin-utils': 7.25.7 2046 | 2047 | '@babel/plugin-transform-literals@7.25.7(@babel/core@7.25.8)': 2048 | dependencies: 2049 | '@babel/core': 7.25.8 2050 | '@babel/helper-plugin-utils': 7.25.7 2051 | 2052 | '@babel/plugin-transform-logical-assignment-operators@7.25.8(@babel/core@7.25.8)': 2053 | dependencies: 2054 | '@babel/core': 7.25.8 2055 | '@babel/helper-plugin-utils': 7.25.7 2056 | 2057 | '@babel/plugin-transform-member-expression-literals@7.25.7(@babel/core@7.25.8)': 2058 | dependencies: 2059 | '@babel/core': 7.25.8 2060 | '@babel/helper-plugin-utils': 7.25.7 2061 | 2062 | '@babel/plugin-transform-modules-amd@7.25.7(@babel/core@7.25.8)': 2063 | dependencies: 2064 | '@babel/core': 7.25.8 2065 | '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) 2066 | '@babel/helper-plugin-utils': 7.25.7 2067 | transitivePeerDependencies: 2068 | - supports-color 2069 | 2070 | '@babel/plugin-transform-modules-commonjs@7.25.7(@babel/core@7.25.8)': 2071 | dependencies: 2072 | '@babel/core': 7.25.8 2073 | '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) 2074 | '@babel/helper-plugin-utils': 7.25.7 2075 | '@babel/helper-simple-access': 7.25.7 2076 | transitivePeerDependencies: 2077 | - supports-color 2078 | 2079 | '@babel/plugin-transform-modules-systemjs@7.25.7(@babel/core@7.25.8)': 2080 | dependencies: 2081 | '@babel/core': 7.25.8 2082 | '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) 2083 | '@babel/helper-plugin-utils': 7.25.7 2084 | '@babel/helper-validator-identifier': 7.25.7 2085 | '@babel/traverse': 7.25.7 2086 | transitivePeerDependencies: 2087 | - supports-color 2088 | 2089 | '@babel/plugin-transform-modules-umd@7.25.7(@babel/core@7.25.8)': 2090 | dependencies: 2091 | '@babel/core': 7.25.8 2092 | '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) 2093 | '@babel/helper-plugin-utils': 7.25.7 2094 | transitivePeerDependencies: 2095 | - supports-color 2096 | 2097 | '@babel/plugin-transform-named-capturing-groups-regex@7.25.7(@babel/core@7.25.8)': 2098 | dependencies: 2099 | '@babel/core': 7.25.8 2100 | '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) 2101 | '@babel/helper-plugin-utils': 7.25.7 2102 | 2103 | '@babel/plugin-transform-new-target@7.25.7(@babel/core@7.25.8)': 2104 | dependencies: 2105 | '@babel/core': 7.25.8 2106 | '@babel/helper-plugin-utils': 7.25.7 2107 | 2108 | '@babel/plugin-transform-nullish-coalescing-operator@7.25.8(@babel/core@7.25.8)': 2109 | dependencies: 2110 | '@babel/core': 7.25.8 2111 | '@babel/helper-plugin-utils': 7.25.7 2112 | 2113 | '@babel/plugin-transform-numeric-separator@7.25.8(@babel/core@7.25.8)': 2114 | dependencies: 2115 | '@babel/core': 7.25.8 2116 | '@babel/helper-plugin-utils': 7.25.7 2117 | 2118 | '@babel/plugin-transform-object-rest-spread@7.25.8(@babel/core@7.25.8)': 2119 | dependencies: 2120 | '@babel/core': 7.25.8 2121 | '@babel/helper-compilation-targets': 7.25.7 2122 | '@babel/helper-plugin-utils': 7.25.7 2123 | '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.8) 2124 | 2125 | '@babel/plugin-transform-object-super@7.25.7(@babel/core@7.25.8)': 2126 | dependencies: 2127 | '@babel/core': 7.25.8 2128 | '@babel/helper-plugin-utils': 7.25.7 2129 | '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) 2130 | transitivePeerDependencies: 2131 | - supports-color 2132 | 2133 | '@babel/plugin-transform-optional-catch-binding@7.25.8(@babel/core@7.25.8)': 2134 | dependencies: 2135 | '@babel/core': 7.25.8 2136 | '@babel/helper-plugin-utils': 7.25.7 2137 | 2138 | '@babel/plugin-transform-optional-chaining@7.25.8(@babel/core@7.25.8)': 2139 | dependencies: 2140 | '@babel/core': 7.25.8 2141 | '@babel/helper-plugin-utils': 7.25.7 2142 | '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 2143 | transitivePeerDependencies: 2144 | - supports-color 2145 | 2146 | '@babel/plugin-transform-parameters@7.25.7(@babel/core@7.25.8)': 2147 | dependencies: 2148 | '@babel/core': 7.25.8 2149 | '@babel/helper-plugin-utils': 7.25.7 2150 | 2151 | '@babel/plugin-transform-private-methods@7.25.7(@babel/core@7.25.8)': 2152 | dependencies: 2153 | '@babel/core': 7.25.8 2154 | '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) 2155 | '@babel/helper-plugin-utils': 7.25.7 2156 | transitivePeerDependencies: 2157 | - supports-color 2158 | 2159 | '@babel/plugin-transform-private-property-in-object@7.25.8(@babel/core@7.25.8)': 2160 | dependencies: 2161 | '@babel/core': 7.25.8 2162 | '@babel/helper-annotate-as-pure': 7.25.7 2163 | '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) 2164 | '@babel/helper-plugin-utils': 7.25.7 2165 | transitivePeerDependencies: 2166 | - supports-color 2167 | 2168 | '@babel/plugin-transform-property-literals@7.25.7(@babel/core@7.25.8)': 2169 | dependencies: 2170 | '@babel/core': 7.25.8 2171 | '@babel/helper-plugin-utils': 7.25.7 2172 | 2173 | '@babel/plugin-transform-regenerator@7.25.7(@babel/core@7.25.8)': 2174 | dependencies: 2175 | '@babel/core': 7.25.8 2176 | '@babel/helper-plugin-utils': 7.25.7 2177 | regenerator-transform: 0.15.2 2178 | 2179 | '@babel/plugin-transform-reserved-words@7.25.7(@babel/core@7.25.8)': 2180 | dependencies: 2181 | '@babel/core': 7.25.8 2182 | '@babel/helper-plugin-utils': 7.25.7 2183 | 2184 | '@babel/plugin-transform-shorthand-properties@7.25.7(@babel/core@7.25.8)': 2185 | dependencies: 2186 | '@babel/core': 7.25.8 2187 | '@babel/helper-plugin-utils': 7.25.7 2188 | 2189 | '@babel/plugin-transform-spread@7.25.7(@babel/core@7.25.8)': 2190 | dependencies: 2191 | '@babel/core': 7.25.8 2192 | '@babel/helper-plugin-utils': 7.25.7 2193 | '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 2194 | transitivePeerDependencies: 2195 | - supports-color 2196 | 2197 | '@babel/plugin-transform-sticky-regex@7.25.7(@babel/core@7.25.8)': 2198 | dependencies: 2199 | '@babel/core': 7.25.8 2200 | '@babel/helper-plugin-utils': 7.25.7 2201 | 2202 | '@babel/plugin-transform-template-literals@7.25.7(@babel/core@7.25.8)': 2203 | dependencies: 2204 | '@babel/core': 7.25.8 2205 | '@babel/helper-plugin-utils': 7.25.7 2206 | 2207 | '@babel/plugin-transform-typeof-symbol@7.25.7(@babel/core@7.25.8)': 2208 | dependencies: 2209 | '@babel/core': 7.25.8 2210 | '@babel/helper-plugin-utils': 7.25.7 2211 | 2212 | '@babel/plugin-transform-unicode-escapes@7.25.7(@babel/core@7.25.8)': 2213 | dependencies: 2214 | '@babel/core': 7.25.8 2215 | '@babel/helper-plugin-utils': 7.25.7 2216 | 2217 | '@babel/plugin-transform-unicode-property-regex@7.25.7(@babel/core@7.25.8)': 2218 | dependencies: 2219 | '@babel/core': 7.25.8 2220 | '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) 2221 | '@babel/helper-plugin-utils': 7.25.7 2222 | 2223 | '@babel/plugin-transform-unicode-regex@7.25.7(@babel/core@7.25.8)': 2224 | dependencies: 2225 | '@babel/core': 7.25.8 2226 | '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) 2227 | '@babel/helper-plugin-utils': 7.25.7 2228 | 2229 | '@babel/plugin-transform-unicode-sets-regex@7.25.7(@babel/core@7.25.8)': 2230 | dependencies: 2231 | '@babel/core': 7.25.8 2232 | '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) 2233 | '@babel/helper-plugin-utils': 7.25.7 2234 | 2235 | '@babel/preset-env@7.25.8(@babel/core@7.25.8)': 2236 | dependencies: 2237 | '@babel/compat-data': 7.25.8 2238 | '@babel/core': 7.25.8 2239 | '@babel/helper-compilation-targets': 7.25.7 2240 | '@babel/helper-plugin-utils': 7.25.7 2241 | '@babel/helper-validator-option': 7.25.7 2242 | '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.7(@babel/core@7.25.8) 2243 | '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.7(@babel/core@7.25.8) 2244 | '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.7(@babel/core@7.25.8) 2245 | '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.7(@babel/core@7.25.8) 2246 | '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.7(@babel/core@7.25.8) 2247 | '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.8) 2248 | '@babel/plugin-syntax-import-assertions': 7.25.7(@babel/core@7.25.8) 2249 | '@babel/plugin-syntax-import-attributes': 7.25.7(@babel/core@7.25.8) 2250 | '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.8) 2251 | '@babel/plugin-transform-arrow-functions': 7.25.7(@babel/core@7.25.8) 2252 | '@babel/plugin-transform-async-generator-functions': 7.25.8(@babel/core@7.25.8) 2253 | '@babel/plugin-transform-async-to-generator': 7.25.7(@babel/core@7.25.8) 2254 | '@babel/plugin-transform-block-scoped-functions': 7.25.7(@babel/core@7.25.8) 2255 | '@babel/plugin-transform-block-scoping': 7.25.7(@babel/core@7.25.8) 2256 | '@babel/plugin-transform-class-properties': 7.25.7(@babel/core@7.25.8) 2257 | '@babel/plugin-transform-class-static-block': 7.25.8(@babel/core@7.25.8) 2258 | '@babel/plugin-transform-classes': 7.25.7(@babel/core@7.25.8) 2259 | '@babel/plugin-transform-computed-properties': 7.25.7(@babel/core@7.25.8) 2260 | '@babel/plugin-transform-destructuring': 7.25.7(@babel/core@7.25.8) 2261 | '@babel/plugin-transform-dotall-regex': 7.25.7(@babel/core@7.25.8) 2262 | '@babel/plugin-transform-duplicate-keys': 7.25.7(@babel/core@7.25.8) 2263 | '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.8) 2264 | '@babel/plugin-transform-dynamic-import': 7.25.8(@babel/core@7.25.8) 2265 | '@babel/plugin-transform-exponentiation-operator': 7.25.7(@babel/core@7.25.8) 2266 | '@babel/plugin-transform-export-namespace-from': 7.25.8(@babel/core@7.25.8) 2267 | '@babel/plugin-transform-for-of': 7.25.7(@babel/core@7.25.8) 2268 | '@babel/plugin-transform-function-name': 7.25.7(@babel/core@7.25.8) 2269 | '@babel/plugin-transform-json-strings': 7.25.8(@babel/core@7.25.8) 2270 | '@babel/plugin-transform-literals': 7.25.7(@babel/core@7.25.8) 2271 | '@babel/plugin-transform-logical-assignment-operators': 7.25.8(@babel/core@7.25.8) 2272 | '@babel/plugin-transform-member-expression-literals': 7.25.7(@babel/core@7.25.8) 2273 | '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.25.8) 2274 | '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.8) 2275 | '@babel/plugin-transform-modules-systemjs': 7.25.7(@babel/core@7.25.8) 2276 | '@babel/plugin-transform-modules-umd': 7.25.7(@babel/core@7.25.8) 2277 | '@babel/plugin-transform-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.8) 2278 | '@babel/plugin-transform-new-target': 7.25.7(@babel/core@7.25.8) 2279 | '@babel/plugin-transform-nullish-coalescing-operator': 7.25.8(@babel/core@7.25.8) 2280 | '@babel/plugin-transform-numeric-separator': 7.25.8(@babel/core@7.25.8) 2281 | '@babel/plugin-transform-object-rest-spread': 7.25.8(@babel/core@7.25.8) 2282 | '@babel/plugin-transform-object-super': 7.25.7(@babel/core@7.25.8) 2283 | '@babel/plugin-transform-optional-catch-binding': 7.25.8(@babel/core@7.25.8) 2284 | '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.25.8) 2285 | '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.8) 2286 | '@babel/plugin-transform-private-methods': 7.25.7(@babel/core@7.25.8) 2287 | '@babel/plugin-transform-private-property-in-object': 7.25.8(@babel/core@7.25.8) 2288 | '@babel/plugin-transform-property-literals': 7.25.7(@babel/core@7.25.8) 2289 | '@babel/plugin-transform-regenerator': 7.25.7(@babel/core@7.25.8) 2290 | '@babel/plugin-transform-reserved-words': 7.25.7(@babel/core@7.25.8) 2291 | '@babel/plugin-transform-shorthand-properties': 7.25.7(@babel/core@7.25.8) 2292 | '@babel/plugin-transform-spread': 7.25.7(@babel/core@7.25.8) 2293 | '@babel/plugin-transform-sticky-regex': 7.25.7(@babel/core@7.25.8) 2294 | '@babel/plugin-transform-template-literals': 7.25.7(@babel/core@7.25.8) 2295 | '@babel/plugin-transform-typeof-symbol': 7.25.7(@babel/core@7.25.8) 2296 | '@babel/plugin-transform-unicode-escapes': 7.25.7(@babel/core@7.25.8) 2297 | '@babel/plugin-transform-unicode-property-regex': 7.25.7(@babel/core@7.25.8) 2298 | '@babel/plugin-transform-unicode-regex': 7.25.7(@babel/core@7.25.8) 2299 | '@babel/plugin-transform-unicode-sets-regex': 7.25.7(@babel/core@7.25.8) 2300 | '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.8) 2301 | babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.8) 2302 | babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.8) 2303 | babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.8) 2304 | core-js-compat: 3.38.1 2305 | semver: 6.3.1 2306 | transitivePeerDependencies: 2307 | - supports-color 2308 | 2309 | '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.8)': 2310 | dependencies: 2311 | '@babel/core': 7.25.8 2312 | '@babel/helper-plugin-utils': 7.25.7 2313 | '@babel/types': 7.25.8 2314 | esutils: 2.0.3 2315 | 2316 | '@babel/runtime@7.25.7': 2317 | dependencies: 2318 | regenerator-runtime: 0.14.1 2319 | 2320 | '@babel/template@7.25.7': 2321 | dependencies: 2322 | '@babel/code-frame': 7.25.7 2323 | '@babel/parser': 7.25.8 2324 | '@babel/types': 7.25.8 2325 | 2326 | '@babel/traverse@7.25.7': 2327 | dependencies: 2328 | '@babel/code-frame': 7.25.7 2329 | '@babel/generator': 7.25.7 2330 | '@babel/parser': 7.25.8 2331 | '@babel/template': 7.25.7 2332 | '@babel/types': 7.25.8 2333 | debug: 4.3.7 2334 | globals: 11.12.0 2335 | transitivePeerDependencies: 2336 | - supports-color 2337 | 2338 | '@babel/types@7.25.8': 2339 | dependencies: 2340 | '@babel/helper-string-parser': 7.25.7 2341 | '@babel/helper-validator-identifier': 7.25.7 2342 | to-fast-properties: 2.0.0 2343 | 2344 | '@colors/colors@1.5.0': 2345 | optional: true 2346 | 2347 | '@conectate/ct-lit@4.0.0': 2348 | dependencies: 2349 | lit: 3.2.1 2350 | tslib: 2.8.0 2351 | 2352 | '@conectate/ct-router@4.0.0': 2353 | dependencies: 2354 | '@conectate/ct-lit': 4.0.0 2355 | pwa-helpers: 0.9.1 2356 | tslib: 2.8.0 2357 | 2358 | '@esbuild/aix-ppc64@0.21.5': 2359 | optional: true 2360 | 2361 | '@esbuild/android-arm64@0.21.5': 2362 | optional: true 2363 | 2364 | '@esbuild/android-arm@0.21.5': 2365 | optional: true 2366 | 2367 | '@esbuild/android-x64@0.21.5': 2368 | optional: true 2369 | 2370 | '@esbuild/darwin-arm64@0.21.5': 2371 | optional: true 2372 | 2373 | '@esbuild/darwin-x64@0.21.5': 2374 | optional: true 2375 | 2376 | '@esbuild/freebsd-arm64@0.21.5': 2377 | optional: true 2378 | 2379 | '@esbuild/freebsd-x64@0.21.5': 2380 | optional: true 2381 | 2382 | '@esbuild/linux-arm64@0.21.5': 2383 | optional: true 2384 | 2385 | '@esbuild/linux-arm@0.21.5': 2386 | optional: true 2387 | 2388 | '@esbuild/linux-ia32@0.21.5': 2389 | optional: true 2390 | 2391 | '@esbuild/linux-loong64@0.21.5': 2392 | optional: true 2393 | 2394 | '@esbuild/linux-mips64el@0.21.5': 2395 | optional: true 2396 | 2397 | '@esbuild/linux-ppc64@0.21.5': 2398 | optional: true 2399 | 2400 | '@esbuild/linux-riscv64@0.21.5': 2401 | optional: true 2402 | 2403 | '@esbuild/linux-s390x@0.21.5': 2404 | optional: true 2405 | 2406 | '@esbuild/linux-x64@0.21.5': 2407 | optional: true 2408 | 2409 | '@esbuild/netbsd-x64@0.21.5': 2410 | optional: true 2411 | 2412 | '@esbuild/openbsd-x64@0.21.5': 2413 | optional: true 2414 | 2415 | '@esbuild/sunos-x64@0.21.5': 2416 | optional: true 2417 | 2418 | '@esbuild/win32-arm64@0.21.5': 2419 | optional: true 2420 | 2421 | '@esbuild/win32-ia32@0.21.5': 2422 | optional: true 2423 | 2424 | '@esbuild/win32-x64@0.21.5': 2425 | optional: true 2426 | 2427 | '@firebase/app-types@0.9.2': {} 2428 | 2429 | '@jridgewell/gen-mapping@0.3.5': 2430 | dependencies: 2431 | '@jridgewell/set-array': 1.2.1 2432 | '@jridgewell/sourcemap-codec': 1.5.0 2433 | '@jridgewell/trace-mapping': 0.3.25 2434 | 2435 | '@jridgewell/resolve-uri@3.1.2': {} 2436 | 2437 | '@jridgewell/set-array@1.2.1': {} 2438 | 2439 | '@jridgewell/source-map@0.3.6': 2440 | dependencies: 2441 | '@jridgewell/gen-mapping': 0.3.5 2442 | '@jridgewell/trace-mapping': 0.3.25 2443 | 2444 | '@jridgewell/sourcemap-codec@1.5.0': {} 2445 | 2446 | '@jridgewell/trace-mapping@0.3.25': 2447 | dependencies: 2448 | '@jridgewell/resolve-uri': 3.1.2 2449 | '@jridgewell/sourcemap-codec': 1.5.0 2450 | 2451 | '@lit-labs/ssr-dom-shim@1.2.1': {} 2452 | 2453 | '@lit/reactive-element@2.0.4': 2454 | dependencies: 2455 | '@lit-labs/ssr-dom-shim': 1.2.1 2456 | 2457 | '@nodelib/fs.scandir@2.1.5': 2458 | dependencies: 2459 | '@nodelib/fs.stat': 2.0.5 2460 | run-parallel: 1.2.0 2461 | 2462 | '@nodelib/fs.stat@2.0.5': {} 2463 | 2464 | '@nodelib/fs.walk@1.2.8': 2465 | dependencies: 2466 | '@nodelib/fs.scandir': 2.1.5 2467 | fastq: 1.17.1 2468 | 2469 | '@rollup/plugin-babel@6.0.4(@babel/core@7.25.8)(rollup@4.24.0)': 2470 | dependencies: 2471 | '@babel/core': 7.25.8 2472 | '@babel/helper-module-imports': 7.25.7 2473 | '@rollup/pluginutils': 5.1.2(rollup@4.24.0) 2474 | optionalDependencies: 2475 | rollup: 4.24.0 2476 | transitivePeerDependencies: 2477 | - supports-color 2478 | 2479 | '@rollup/plugin-node-resolve@15.3.0(rollup@4.24.0)': 2480 | dependencies: 2481 | '@rollup/pluginutils': 5.1.2(rollup@4.24.0) 2482 | '@types/resolve': 1.20.2 2483 | deepmerge: 4.3.1 2484 | is-module: 1.0.0 2485 | resolve: 1.22.8 2486 | optionalDependencies: 2487 | rollup: 4.24.0 2488 | 2489 | '@rollup/plugin-terser@0.4.4(rollup@4.24.0)': 2490 | dependencies: 2491 | serialize-javascript: 6.0.2 2492 | smob: 1.5.0 2493 | terser: 5.36.0 2494 | optionalDependencies: 2495 | rollup: 4.24.0 2496 | 2497 | '@rollup/pluginutils@5.1.2(rollup@4.24.0)': 2498 | dependencies: 2499 | '@types/estree': 1.0.6 2500 | estree-walker: 2.0.2 2501 | picomatch: 2.3.1 2502 | optionalDependencies: 2503 | rollup: 4.24.0 2504 | 2505 | '@rollup/rollup-android-arm-eabi@4.24.0': 2506 | optional: true 2507 | 2508 | '@rollup/rollup-android-arm64@4.24.0': 2509 | optional: true 2510 | 2511 | '@rollup/rollup-darwin-arm64@4.24.0': 2512 | optional: true 2513 | 2514 | '@rollup/rollup-darwin-x64@4.24.0': 2515 | optional: true 2516 | 2517 | '@rollup/rollup-linux-arm-gnueabihf@4.24.0': 2518 | optional: true 2519 | 2520 | '@rollup/rollup-linux-arm-musleabihf@4.24.0': 2521 | optional: true 2522 | 2523 | '@rollup/rollup-linux-arm64-gnu@4.24.0': 2524 | optional: true 2525 | 2526 | '@rollup/rollup-linux-arm64-musl@4.24.0': 2527 | optional: true 2528 | 2529 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.0': 2530 | optional: true 2531 | 2532 | '@rollup/rollup-linux-riscv64-gnu@4.24.0': 2533 | optional: true 2534 | 2535 | '@rollup/rollup-linux-s390x-gnu@4.24.0': 2536 | optional: true 2537 | 2538 | '@rollup/rollup-linux-x64-gnu@4.24.0': 2539 | optional: true 2540 | 2541 | '@rollup/rollup-linux-x64-musl@4.24.0': 2542 | optional: true 2543 | 2544 | '@rollup/rollup-win32-arm64-msvc@4.24.0': 2545 | optional: true 2546 | 2547 | '@rollup/rollup-win32-ia32-msvc@4.24.0': 2548 | optional: true 2549 | 2550 | '@rollup/rollup-win32-x64-msvc@4.24.0': 2551 | optional: true 2552 | 2553 | '@types/clean-css@4.2.11': 2554 | dependencies: 2555 | '@types/node': 22.7.7 2556 | source-map: 0.6.1 2557 | 2558 | '@types/estree@1.0.6': {} 2559 | 2560 | '@types/fs-extra@8.1.5': 2561 | dependencies: 2562 | '@types/node': 22.7.7 2563 | 2564 | '@types/glob@7.2.0': 2565 | dependencies: 2566 | '@types/minimatch': 5.1.2 2567 | '@types/node': 22.7.7 2568 | 2569 | '@types/html-minifier@3.5.3': 2570 | dependencies: 2571 | '@types/clean-css': 4.2.11 2572 | '@types/relateurl': 0.2.33 2573 | '@types/uglify-js': 3.17.5 2574 | 2575 | '@types/minimatch@5.1.2': {} 2576 | 2577 | '@types/node@22.7.7': 2578 | dependencies: 2579 | undici-types: 6.19.8 2580 | 2581 | '@types/relateurl@0.2.33': {} 2582 | 2583 | '@types/resolve@1.20.2': {} 2584 | 2585 | '@types/trusted-types@2.0.7': {} 2586 | 2587 | '@types/uglify-js@3.17.5': 2588 | dependencies: 2589 | source-map: 0.6.1 2590 | 2591 | acorn@8.13.0: {} 2592 | 2593 | ansi-regex@5.0.1: {} 2594 | 2595 | ansi-styles@3.2.1: 2596 | dependencies: 2597 | color-convert: 1.9.3 2598 | 2599 | ansi-styles@4.3.0: 2600 | dependencies: 2601 | color-convert: 2.0.1 2602 | 2603 | array-union@2.1.0: {} 2604 | 2605 | babel-plugin-bundled-import-meta@0.3.2(@babel/core@7.25.8): 2606 | dependencies: 2607 | '@babel/core': 7.25.8 2608 | '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.8) 2609 | '@babel/template': 7.25.7 2610 | 2611 | babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.8): 2612 | dependencies: 2613 | '@babel/compat-data': 7.25.8 2614 | '@babel/core': 7.25.8 2615 | '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.8) 2616 | semver: 6.3.1 2617 | transitivePeerDependencies: 2618 | - supports-color 2619 | 2620 | babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.8): 2621 | dependencies: 2622 | '@babel/core': 7.25.8 2623 | '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.8) 2624 | core-js-compat: 3.38.1 2625 | transitivePeerDependencies: 2626 | - supports-color 2627 | 2628 | babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.8): 2629 | dependencies: 2630 | '@babel/core': 7.25.8 2631 | '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.8) 2632 | transitivePeerDependencies: 2633 | - supports-color 2634 | 2635 | babel-plugin-template-html-minifier@4.1.0: 2636 | dependencies: 2637 | clean-css: 4.2.4 2638 | html-minifier-terser: 5.1.1 2639 | is-builtin-module: 3.2.1 2640 | 2641 | balanced-match@1.0.2: {} 2642 | 2643 | brace-expansion@1.1.11: 2644 | dependencies: 2645 | balanced-match: 1.0.2 2646 | concat-map: 0.0.1 2647 | 2648 | braces@3.0.3: 2649 | dependencies: 2650 | fill-range: 7.1.1 2651 | 2652 | brotli-size@4.0.0: 2653 | dependencies: 2654 | duplexer: 0.1.1 2655 | 2656 | browserslist@4.24.0: 2657 | dependencies: 2658 | caniuse-lite: 1.0.30001669 2659 | electron-to-chromium: 1.5.41 2660 | node-releases: 2.0.18 2661 | update-browserslist-db: 1.1.1(browserslist@4.24.0) 2662 | 2663 | buffer-from@1.1.2: {} 2664 | 2665 | builtin-modules@3.3.0: {} 2666 | 2667 | camel-case@3.0.0: 2668 | dependencies: 2669 | no-case: 2.3.2 2670 | upper-case: 1.1.3 2671 | 2672 | camel-case@4.1.2: 2673 | dependencies: 2674 | pascal-case: 3.1.2 2675 | tslib: 2.8.0 2676 | 2677 | caniuse-lite@1.0.30001669: {} 2678 | 2679 | chalk@2.4.2: 2680 | dependencies: 2681 | ansi-styles: 3.2.1 2682 | escape-string-regexp: 1.0.5 2683 | supports-color: 5.5.0 2684 | 2685 | clean-css@4.2.4: 2686 | dependencies: 2687 | source-map: 0.6.1 2688 | 2689 | cli-table3@0.6.5: 2690 | dependencies: 2691 | string-width: 4.2.3 2692 | optionalDependencies: 2693 | '@colors/colors': 1.5.0 2694 | 2695 | cliui@8.0.1: 2696 | dependencies: 2697 | string-width: 4.2.3 2698 | strip-ansi: 6.0.1 2699 | wrap-ansi: 7.0.0 2700 | 2701 | color-convert@1.9.3: 2702 | dependencies: 2703 | color-name: 1.1.3 2704 | 2705 | color-convert@2.0.1: 2706 | dependencies: 2707 | color-name: 1.1.4 2708 | 2709 | color-name@1.1.3: {} 2710 | 2711 | color-name@1.1.4: {} 2712 | 2713 | colorette@1.4.0: {} 2714 | 2715 | commander@2.20.3: {} 2716 | 2717 | commander@4.1.1: {} 2718 | 2719 | concat-map@0.0.1: {} 2720 | 2721 | convert-source-map@2.0.0: {} 2722 | 2723 | core-js-compat@3.38.1: 2724 | dependencies: 2725 | browserslist: 4.24.0 2726 | 2727 | core-js@3.38.1: {} 2728 | 2729 | debug@4.3.7: 2730 | dependencies: 2731 | ms: 2.1.3 2732 | 2733 | deepmerge@4.3.1: {} 2734 | 2735 | define-lazy-prop@2.0.0: {} 2736 | 2737 | dir-glob@3.0.1: 2738 | dependencies: 2739 | path-type: 4.0.0 2740 | 2741 | dot-case@3.0.4: 2742 | dependencies: 2743 | no-case: 3.0.4 2744 | tslib: 2.8.0 2745 | 2746 | duplexer@0.1.1: {} 2747 | 2748 | duplexer@0.1.2: {} 2749 | 2750 | electron-to-chromium@1.5.41: {} 2751 | 2752 | emoji-regex@8.0.0: {} 2753 | 2754 | esbuild@0.21.5: 2755 | optionalDependencies: 2756 | '@esbuild/aix-ppc64': 0.21.5 2757 | '@esbuild/android-arm': 0.21.5 2758 | '@esbuild/android-arm64': 0.21.5 2759 | '@esbuild/android-x64': 0.21.5 2760 | '@esbuild/darwin-arm64': 0.21.5 2761 | '@esbuild/darwin-x64': 0.21.5 2762 | '@esbuild/freebsd-arm64': 0.21.5 2763 | '@esbuild/freebsd-x64': 0.21.5 2764 | '@esbuild/linux-arm': 0.21.5 2765 | '@esbuild/linux-arm64': 0.21.5 2766 | '@esbuild/linux-ia32': 0.21.5 2767 | '@esbuild/linux-loong64': 0.21.5 2768 | '@esbuild/linux-mips64el': 0.21.5 2769 | '@esbuild/linux-ppc64': 0.21.5 2770 | '@esbuild/linux-riscv64': 0.21.5 2771 | '@esbuild/linux-s390x': 0.21.5 2772 | '@esbuild/linux-x64': 0.21.5 2773 | '@esbuild/netbsd-x64': 0.21.5 2774 | '@esbuild/openbsd-x64': 0.21.5 2775 | '@esbuild/sunos-x64': 0.21.5 2776 | '@esbuild/win32-arm64': 0.21.5 2777 | '@esbuild/win32-ia32': 0.21.5 2778 | '@esbuild/win32-x64': 0.21.5 2779 | 2780 | escalade@3.2.0: {} 2781 | 2782 | escape-string-regexp@1.0.5: {} 2783 | 2784 | estree-walker@2.0.2: {} 2785 | 2786 | esutils@2.0.3: {} 2787 | 2788 | fast-glob@3.3.2: 2789 | dependencies: 2790 | '@nodelib/fs.stat': 2.0.5 2791 | '@nodelib/fs.walk': 1.2.8 2792 | glob-parent: 5.1.2 2793 | merge2: 1.4.1 2794 | micromatch: 4.0.8 2795 | 2796 | fastq@1.17.1: 2797 | dependencies: 2798 | reusify: 1.0.4 2799 | 2800 | filesize@10.1.6: {} 2801 | 2802 | fill-range@7.1.1: 2803 | dependencies: 2804 | to-regex-range: 5.0.1 2805 | 2806 | fs-extra@8.1.0: 2807 | dependencies: 2808 | graceful-fs: 4.2.11 2809 | jsonfile: 4.0.0 2810 | universalify: 0.1.2 2811 | 2812 | fs.realpath@1.0.0: {} 2813 | 2814 | fsevents@2.3.3: 2815 | optional: true 2816 | 2817 | function-bind@1.1.2: {} 2818 | 2819 | gensync@1.0.0-beta.2: {} 2820 | 2821 | get-caller-file@2.0.5: {} 2822 | 2823 | glob-parent@5.1.2: 2824 | dependencies: 2825 | is-glob: 4.0.3 2826 | 2827 | glob@7.2.3: 2828 | dependencies: 2829 | fs.realpath: 1.0.0 2830 | inflight: 1.0.6 2831 | inherits: 2.0.4 2832 | minimatch: 3.1.2 2833 | once: 1.4.0 2834 | path-is-absolute: 1.0.1 2835 | 2836 | globals@11.12.0: {} 2837 | 2838 | globby@10.0.1: 2839 | dependencies: 2840 | '@types/glob': 7.2.0 2841 | array-union: 2.1.0 2842 | dir-glob: 3.0.1 2843 | fast-glob: 3.3.2 2844 | glob: 7.2.3 2845 | ignore: 5.3.2 2846 | merge2: 1.4.1 2847 | slash: 3.0.0 2848 | 2849 | graceful-fs@4.2.11: {} 2850 | 2851 | gzip-size@7.0.0: 2852 | dependencies: 2853 | duplexer: 0.1.2 2854 | 2855 | has-flag@3.0.0: {} 2856 | 2857 | hasown@2.0.2: 2858 | dependencies: 2859 | function-bind: 1.1.2 2860 | 2861 | he@1.2.0: {} 2862 | 2863 | html-minifier-terser@5.1.1: 2864 | dependencies: 2865 | camel-case: 4.1.2 2866 | clean-css: 4.2.4 2867 | commander: 4.1.1 2868 | he: 1.2.0 2869 | param-case: 3.0.4 2870 | relateurl: 0.2.7 2871 | terser: 4.8.1 2872 | 2873 | html-minifier@4.0.0: 2874 | dependencies: 2875 | camel-case: 3.0.0 2876 | clean-css: 4.2.4 2877 | commander: 2.20.3 2878 | he: 1.2.0 2879 | param-case: 2.1.1 2880 | relateurl: 0.2.7 2881 | uglify-js: 3.19.3 2882 | 2883 | ignore@5.3.2: {} 2884 | 2885 | inflight@1.0.6: 2886 | dependencies: 2887 | once: 1.4.0 2888 | wrappy: 1.0.2 2889 | 2890 | inherits@2.0.4: {} 2891 | 2892 | is-builtin-module@3.2.1: 2893 | dependencies: 2894 | builtin-modules: 3.3.0 2895 | 2896 | is-core-module@2.15.1: 2897 | dependencies: 2898 | hasown: 2.0.2 2899 | 2900 | is-docker@2.2.1: {} 2901 | 2902 | is-extglob@2.1.1: {} 2903 | 2904 | is-fullwidth-code-point@3.0.0: {} 2905 | 2906 | is-glob@4.0.3: 2907 | dependencies: 2908 | is-extglob: 2.1.1 2909 | 2910 | is-module@1.0.0: {} 2911 | 2912 | is-number@7.0.0: {} 2913 | 2914 | is-plain-object@3.0.1: {} 2915 | 2916 | is-wsl@2.2.0: 2917 | dependencies: 2918 | is-docker: 2.2.1 2919 | 2920 | js-tokens@4.0.0: {} 2921 | 2922 | jsesc@3.0.2: {} 2923 | 2924 | json5@2.2.3: {} 2925 | 2926 | jsonfile@4.0.0: 2927 | optionalDependencies: 2928 | graceful-fs: 4.2.11 2929 | 2930 | lit-element@4.1.1: 2931 | dependencies: 2932 | '@lit-labs/ssr-dom-shim': 1.2.1 2933 | '@lit/reactive-element': 2.0.4 2934 | lit-html: 3.2.1 2935 | 2936 | lit-html@3.2.1: 2937 | dependencies: 2938 | '@types/trusted-types': 2.0.7 2939 | 2940 | lit@3.2.1: 2941 | dependencies: 2942 | '@lit/reactive-element': 2.0.4 2943 | lit-element: 4.1.1 2944 | lit-html: 3.2.1 2945 | 2946 | lodash.debounce@4.0.8: {} 2947 | 2948 | lower-case@1.1.4: {} 2949 | 2950 | lower-case@2.0.2: 2951 | dependencies: 2952 | tslib: 2.8.0 2953 | 2954 | lru-cache@5.1.1: 2955 | dependencies: 2956 | yallist: 3.1.1 2957 | 2958 | magic-string@0.25.9: 2959 | dependencies: 2960 | sourcemap-codec: 1.4.8 2961 | 2962 | merge2@1.4.1: {} 2963 | 2964 | micromatch@4.0.8: 2965 | dependencies: 2966 | braces: 3.0.3 2967 | picomatch: 2.3.1 2968 | 2969 | minify-html-literals@1.3.5: 2970 | dependencies: 2971 | '@types/html-minifier': 3.5.3 2972 | clean-css: 4.2.4 2973 | html-minifier: 4.0.0 2974 | magic-string: 0.25.9 2975 | parse-literals: 1.2.1 2976 | 2977 | minimatch@3.1.2: 2978 | dependencies: 2979 | brace-expansion: 1.1.11 2980 | 2981 | ms@2.1.3: {} 2982 | 2983 | nanoid@3.3.7: {} 2984 | 2985 | no-case@2.3.2: 2986 | dependencies: 2987 | lower-case: 1.1.4 2988 | 2989 | no-case@3.0.4: 2990 | dependencies: 2991 | lower-case: 2.0.2 2992 | tslib: 2.8.0 2993 | 2994 | node-releases@2.0.18: {} 2995 | 2996 | once@1.4.0: 2997 | dependencies: 2998 | wrappy: 1.0.2 2999 | 3000 | open@8.4.2: 3001 | dependencies: 3002 | define-lazy-prop: 2.0.0 3003 | is-docker: 2.2.1 3004 | is-wsl: 2.2.0 3005 | 3006 | param-case@2.1.1: 3007 | dependencies: 3008 | no-case: 2.3.2 3009 | 3010 | param-case@3.0.4: 3011 | dependencies: 3012 | dot-case: 3.0.4 3013 | tslib: 2.8.0 3014 | 3015 | parse-literals@1.2.1: 3016 | dependencies: 3017 | typescript: 4.9.5 3018 | 3019 | pascal-case@3.1.2: 3020 | dependencies: 3021 | no-case: 3.0.4 3022 | tslib: 2.8.0 3023 | 3024 | path-is-absolute@1.0.1: {} 3025 | 3026 | path-parse@1.0.7: {} 3027 | 3028 | path-type@4.0.0: {} 3029 | 3030 | picocolors@1.1.1: {} 3031 | 3032 | picomatch@2.3.1: {} 3033 | 3034 | postcss@8.4.47: 3035 | dependencies: 3036 | nanoid: 3.3.7 3037 | picocolors: 1.1.1 3038 | source-map-js: 1.2.1 3039 | 3040 | prettier@3.3.3: {} 3041 | 3042 | pwa-helpers@0.9.1: {} 3043 | 3044 | queue-microtask@1.2.3: {} 3045 | 3046 | randombytes@2.1.0: 3047 | dependencies: 3048 | safe-buffer: 5.2.1 3049 | 3050 | regenerate-unicode-properties@10.2.0: 3051 | dependencies: 3052 | regenerate: 1.4.2 3053 | 3054 | regenerate@1.4.2: {} 3055 | 3056 | regenerator-runtime@0.14.1: {} 3057 | 3058 | regenerator-transform@0.15.2: 3059 | dependencies: 3060 | '@babel/runtime': 7.25.7 3061 | 3062 | regexpu-core@6.1.1: 3063 | dependencies: 3064 | regenerate: 1.4.2 3065 | regenerate-unicode-properties: 10.2.0 3066 | regjsgen: 0.8.0 3067 | regjsparser: 0.11.1 3068 | unicode-match-property-ecmascript: 2.0.0 3069 | unicode-match-property-value-ecmascript: 2.2.0 3070 | 3071 | regjsgen@0.8.0: {} 3072 | 3073 | regjsparser@0.11.1: 3074 | dependencies: 3075 | jsesc: 3.0.2 3076 | 3077 | relateurl@0.2.7: {} 3078 | 3079 | require-directory@2.1.1: {} 3080 | 3081 | resolve@1.22.8: 3082 | dependencies: 3083 | is-core-module: 2.15.1 3084 | path-parse: 1.0.7 3085 | supports-preserve-symlinks-flag: 1.0.0 3086 | 3087 | reusify@1.0.4: {} 3088 | 3089 | rollup-plugin-copy@3.5.0: 3090 | dependencies: 3091 | '@types/fs-extra': 8.1.5 3092 | colorette: 1.4.0 3093 | fs-extra: 8.1.0 3094 | globby: 10.0.1 3095 | is-plain-object: 3.0.1 3096 | 3097 | rollup-plugin-html-literals@1.1.8(rollup@4.24.0): 3098 | dependencies: 3099 | '@rollup/pluginutils': 5.1.2(rollup@4.24.0) 3100 | minify-html-literals: 1.3.5 3101 | rollup: 4.24.0 3102 | 3103 | rollup-plugin-summary@2.0.1(rollup@4.24.0): 3104 | dependencies: 3105 | brotli-size: 4.0.0 3106 | cli-table3: 0.6.5 3107 | filesize: 10.1.6 3108 | gzip-size: 7.0.0 3109 | rollup: 4.24.0 3110 | terser: 5.36.0 3111 | 3112 | rollup-plugin-visualizer@5.12.0(rollup@4.24.0): 3113 | dependencies: 3114 | open: 8.4.2 3115 | picomatch: 2.3.1 3116 | source-map: 0.7.4 3117 | yargs: 17.7.2 3118 | optionalDependencies: 3119 | rollup: 4.24.0 3120 | 3121 | rollup@4.24.0: 3122 | dependencies: 3123 | '@types/estree': 1.0.6 3124 | optionalDependencies: 3125 | '@rollup/rollup-android-arm-eabi': 4.24.0 3126 | '@rollup/rollup-android-arm64': 4.24.0 3127 | '@rollup/rollup-darwin-arm64': 4.24.0 3128 | '@rollup/rollup-darwin-x64': 4.24.0 3129 | '@rollup/rollup-linux-arm-gnueabihf': 4.24.0 3130 | '@rollup/rollup-linux-arm-musleabihf': 4.24.0 3131 | '@rollup/rollup-linux-arm64-gnu': 4.24.0 3132 | '@rollup/rollup-linux-arm64-musl': 4.24.0 3133 | '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0 3134 | '@rollup/rollup-linux-riscv64-gnu': 4.24.0 3135 | '@rollup/rollup-linux-s390x-gnu': 4.24.0 3136 | '@rollup/rollup-linux-x64-gnu': 4.24.0 3137 | '@rollup/rollup-linux-x64-musl': 4.24.0 3138 | '@rollup/rollup-win32-arm64-msvc': 4.24.0 3139 | '@rollup/rollup-win32-ia32-msvc': 4.24.0 3140 | '@rollup/rollup-win32-x64-msvc': 4.24.0 3141 | fsevents: 2.3.3 3142 | 3143 | run-parallel@1.2.0: 3144 | dependencies: 3145 | queue-microtask: 1.2.3 3146 | 3147 | safe-buffer@5.2.1: {} 3148 | 3149 | semver@6.3.1: {} 3150 | 3151 | serialize-javascript@6.0.2: 3152 | dependencies: 3153 | randombytes: 2.1.0 3154 | 3155 | slash@3.0.0: {} 3156 | 3157 | smob@1.5.0: {} 3158 | 3159 | source-map-js@1.2.1: {} 3160 | 3161 | source-map-support@0.5.21: 3162 | dependencies: 3163 | buffer-from: 1.1.2 3164 | source-map: 0.6.1 3165 | 3166 | source-map@0.6.1: {} 3167 | 3168 | source-map@0.7.4: {} 3169 | 3170 | sourcemap-codec@1.4.8: {} 3171 | 3172 | string-width@4.2.3: 3173 | dependencies: 3174 | emoji-regex: 8.0.0 3175 | is-fullwidth-code-point: 3.0.0 3176 | strip-ansi: 6.0.1 3177 | 3178 | strip-ansi@6.0.1: 3179 | dependencies: 3180 | ansi-regex: 5.0.1 3181 | 3182 | supports-color@5.5.0: 3183 | dependencies: 3184 | has-flag: 3.0.0 3185 | 3186 | supports-preserve-symlinks-flag@1.0.0: {} 3187 | 3188 | terser@4.8.1: 3189 | dependencies: 3190 | acorn: 8.13.0 3191 | commander: 2.20.3 3192 | source-map: 0.6.1 3193 | source-map-support: 0.5.21 3194 | 3195 | terser@5.36.0: 3196 | dependencies: 3197 | '@jridgewell/source-map': 0.3.6 3198 | acorn: 8.13.0 3199 | commander: 2.20.3 3200 | source-map-support: 0.5.21 3201 | 3202 | to-fast-properties@2.0.0: {} 3203 | 3204 | to-regex-range@5.0.1: 3205 | dependencies: 3206 | is-number: 7.0.0 3207 | 3208 | tslib@2.8.0: {} 3209 | 3210 | typescript@4.9.5: {} 3211 | 3212 | typescript@5.6.3: {} 3213 | 3214 | uglify-js@3.19.3: {} 3215 | 3216 | undici-types@6.19.8: {} 3217 | 3218 | unicode-canonical-property-names-ecmascript@2.0.1: {} 3219 | 3220 | unicode-match-property-ecmascript@2.0.0: 3221 | dependencies: 3222 | unicode-canonical-property-names-ecmascript: 2.0.1 3223 | unicode-property-aliases-ecmascript: 2.1.0 3224 | 3225 | unicode-match-property-value-ecmascript@2.2.0: {} 3226 | 3227 | unicode-property-aliases-ecmascript@2.1.0: {} 3228 | 3229 | universalify@0.1.2: {} 3230 | 3231 | update-browserslist-db@1.1.1(browserslist@4.24.0): 3232 | dependencies: 3233 | browserslist: 4.24.0 3234 | escalade: 3.2.0 3235 | picocolors: 1.1.1 3236 | 3237 | upper-case@1.1.3: {} 3238 | 3239 | vite@5.4.9(@types/node@22.7.7)(terser@5.36.0): 3240 | dependencies: 3241 | esbuild: 0.21.5 3242 | postcss: 8.4.47 3243 | rollup: 4.24.0 3244 | optionalDependencies: 3245 | '@types/node': 22.7.7 3246 | fsevents: 2.3.3 3247 | terser: 5.36.0 3248 | 3249 | wrap-ansi@7.0.0: 3250 | dependencies: 3251 | ansi-styles: 4.3.0 3252 | string-width: 4.2.3 3253 | strip-ansi: 6.0.1 3254 | 3255 | wrappy@1.0.2: {} 3256 | 3257 | y18n@5.0.8: {} 3258 | 3259 | yallist@3.1.1: {} 3260 | 3261 | yargs-parser@21.1.1: {} 3262 | 3263 | yargs@17.7.2: 3264 | dependencies: 3265 | cliui: 8.0.1 3266 | escalade: 3.2.0 3267 | get-caller-file: 2.0.5 3268 | require-directory: 2.1.1 3269 | string-width: 4.2.3 3270 | y18n: 5.0.8 3271 | yargs-parser: 21.1.1 3272 | -------------------------------------------------------------------------------- /templates/production-template/public/index.universal.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | LitElement Starter Project 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 67 | 68 | 69 | 70 | 71 | 74 | 75 | 81 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /templates/production-template/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "LitElement App", 3 | "short_name": "LitElement App", 4 | "description": "", 5 | "icons": [ 6 | { 7 | "src": "res/drawable/logo-192x192.png", 8 | "sizes": "192x192", 9 | "type": "image/png" 10 | }, 11 | { 12 | "src": "res/drawable/logo-512x512.png", 13 | "sizes": "512x512", 14 | "type": "image/png" 15 | } 16 | ], 17 | "orientation": "portrait", 18 | "start_url": "/", 19 | "background_color": "#2084e8", 20 | "display": "standalone", 21 | "theme_color": "#2084e8", 22 | "gcm_sender_id": "103953800507" 23 | } -------------------------------------------------------------------------------- /templates/production-template/public/service-worker.js: -------------------------------------------------------------------------------- 1 | console.log("development"); -------------------------------------------------------------------------------- /templates/production-template/res/drawable/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /templates/production-template/res/drawable/logo-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litelement-dev/create-lit/3e5306ee3b3c36b8525b745503224db7a4e359f7/templates/production-template/res/drawable/logo-192x192.png -------------------------------------------------------------------------------- /templates/production-template/res/drawable/logo-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litelement-dev/create-lit/3e5306ee3b3c36b8525b745503224db7a4e359f7/templates/production-template/res/drawable/logo-48x48.png -------------------------------------------------------------------------------- /templates/production-template/res/drawable/logo-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litelement-dev/create-lit/3e5306ee3b3c36b8525b745503224db7a4e359f7/templates/production-template/res/drawable/logo-512x512.png -------------------------------------------------------------------------------- /templates/production-template/res/drawable/og/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/litelement-dev/create-lit/3e5306ee3b3c36b8525b745503224db7a4e359f7/templates/production-template/res/drawable/og/default.png -------------------------------------------------------------------------------- /templates/production-template/src/base/app-404.ts: -------------------------------------------------------------------------------- 1 | import { CtLit, html, property, customElement, css } from '@conectate/ct-lit'; 2 | 3 | @customElement('app-404') 4 | export class App404 extends CtLit { 5 | static styles = css` 6 | :host { 7 | display: block; 8 | } 9 | `; 10 | 11 | render() { 12 | return html`

404 - Not found

`; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /templates/production-template/src/base/app-localstorage.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Document your localStorage 3 | */ 4 | export default class AppLocalStorage { 5 | static get theme() { 6 | return localStorage.theme; 7 | } 8 | static set theme(val) { 9 | localStorage.theme = val; 10 | } 11 | } -------------------------------------------------------------------------------- /templates/production-template/src/base/app-router.ts: -------------------------------------------------------------------------------- 1 | import { CtLit, html, customElement, css } from '@conectate/ct-lit'; 2 | import { Page } from '@conectate/ct-router'; 3 | import '@conectate/ct-router'; 4 | /** 5 | * @see https://www.npmjs.com/package/@conectate/ct-router 6 | */ 7 | @customElement('app-router') 8 | export class AppRouter extends CtLit { 9 | static styles = [ 10 | css` 11 | :host { 12 | display: block; 13 | } 14 | ` 15 | ]; 16 | /** You can add more pages and behaviors 17 | * @see https://www.npmjs.com/package/@conectate/ct-router 18 | */ 19 | static pages: Page[] = [ 20 | { 21 | path: '/', 22 | element: html``, 23 | from: () => import('../home/activities/home-app'), 24 | auth: false, 25 | title: () => `Page 1 • Example.com` 26 | }, 27 | { 28 | path: '/404', 29 | element: html``, 30 | from: () => import('./app-404'), 31 | auth: false, 32 | title: () => `404 • Example.com` 33 | }, 34 | { 35 | path: '/login', 36 | element: html``, 37 | from: () => import('../login/activities/app-login'), 38 | auth: false, 39 | title: () => `Login • Example.com` 40 | } 41 | ]; 42 | 43 | render() { 44 | return html` `; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /templates/production-template/src/base/styles/default-theme.ts: -------------------------------------------------------------------------------- 1 | import { css } from 'lit'; 2 | 3 | // Define your Theme 4 | let defaultTheme = css` 5 | :root { 6 | --color-primary: #2cb5e8; 7 | --color-primary-medium: #2cb5e8b0; 8 | --color-primary-light: #2cb5e82b; 9 | --color-on-primary: #fff; 10 | 11 | --color-secondary: #0fb8ad; 12 | /* Color de objeto en cima de color de acento */ 13 | --color-on-secondary: #fff; 14 | 15 | /* Fondos */ 16 | --color-background: #f7f7f8; 17 | /* Fondos Textos que aparecen en los fondos */ 18 | --color-on-background: #535353; /* Gris */ 19 | 20 | /* Fondos que estan en cima de los fondos (ct-cards) */ 21 | --color-surface: #ffffff; 22 | /* Fondos Textos que aparecen en los ct-cards */ 23 | --color-on-surface: #535353; /* Gris */ 24 | 25 | /* Color de objeto en cima de error */ 26 | --color-error: #b10808; 27 | --color-on-error: #fff; 28 | 29 | --high-emphasis: #000000de; 30 | --medium-emphasis: #00000099; 31 | --color-disable: #00000047; 32 | 33 | /* Blur */ 34 | --color-blur: rgba(255, 255, 255, 0.7); 35 | --color-blur-surface: rgba(255, 255, 255, 0.6); 36 | --color-on-surface-opaque: #8e8e8e; /* Texto sencundarios */ 37 | --color-on-surface-dividers: #7c7c7c30; /* divisores */ 38 | --color-app: linear-gradient(90deg, #0fb8ad 0%, #1fc8db 51%, #2cb5e8 75%); 39 | --dark-primary-color: #218cb3; 40 | } 41 | .dark { 42 | --color-primary: #2cb5e8; 43 | --color-primary-medium: #2cb5e8b0; 44 | --color-primary-light: #2cb5e82b; 45 | --color-on-primary: #fff; 46 | 47 | --color-secondary: #0fb8ad; 48 | --color-on-secondary: #fff; 49 | 50 | /* Fondos */ 51 | --color-background: #111e23; 52 | /* Fondos Textos que aparecen en los fondos */ 53 | --color-on-background: #fff; 54 | 55 | /* Fondos que estan en cima de los fondos (ct-cards) */ 56 | --color-surface: #1a2c34; 57 | /* Fondos Textos que aparecen en los ct-cards */ 58 | --color-on-surface: #fff; 59 | 60 | --color-error: #cf6679; 61 | --color-on-error: #fff; 62 | 63 | --high-emphasis: #ffffffde; 64 | --medium-emphasis: #ffffff99; 65 | --color-disable: #ffffff61; 66 | 67 | --color-on-surface-opaque: #8e8e8e; /* Texto sencundarios */ 68 | --color-on-surface-dividers: #bbbbbb24; /* divisores */ 69 | --color-blur: rgba(35, 35, 37, 0.7); 70 | --color-blur-surface: #1a2c34b3; 71 | --color-app: linear-gradient(90deg, #0fb8ad 0%, #1fc8db 51%, #2cb5e8 75%); 72 | --dark-primary-color: #218cb3; 73 | } 74 | `; 75 | 76 | /** 77 | * Inject CSS 78 | */ 79 | export function injectTheme() { 80 | const link = document.createElement('link'); 81 | link.rel = 'stylesheet'; 82 | link.type = 'text/css'; 83 | link.href = 'https://fonts.googleapis.com/css?family=Roboto:400,500,700'; 84 | document.head.appendChild(link); 85 | const style = document.createElement('style'); 86 | style.innerHTML = defaultTheme.cssText; 87 | document.head.appendChild(style); 88 | } 89 | 90 | export class Theme { 91 | static setTheme(color: 'dark' | 'light') { 92 | if (color == 'dark') { 93 | localStorage.theme = 'dark'; 94 | document.documentElement.classList.add('dark'); 95 | document.documentElement.classList.remove('light'); 96 | } else { 97 | localStorage.theme = 'light'; 98 | document.documentElement.classList.remove('dark'); 99 | document.documentElement.classList.add('light'); 100 | } 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /templates/production-template/src/base/styles/lit-shared-styles.ts: -------------------------------------------------------------------------------- 1 | import { css } from 'lit'; 2 | 3 | // You Shared Styles 4 | export const litStyles = css` 5 | *, 6 | *:before, 7 | *:after { 8 | box-sizing: border-box; 9 | -moz-osx-font-smoothing: grayscale; 10 | -webkit-font-smoothing: antialiased; 11 | } 12 | 13 | .highlight-font { 14 | font-family: 'Roboto', arial, sans-serif; 15 | } 16 | 17 | h1, 18 | h2, 19 | h3, 20 | h4, 21 | h5, 22 | h6 { 23 | font-family: 'Roboto', arial, sans-serif; 24 | } 25 | h1, 26 | h2, 27 | h3, 28 | h4 { 29 | color: var(--dark-primary-color); 30 | /* margin-top: 0.8em; 31 | margin-bottom: 0.8em; */ 32 | } 33 | `; -------------------------------------------------------------------------------- /templates/production-template/src/home/activities/home-app.ts: -------------------------------------------------------------------------------- 1 | import { CtLit, html, property, customElement, css } from '@conectate/ct-lit'; 2 | import { strings } from '../../xconfig/strings'; 3 | 4 | @customElement('home-app') 5 | export class HomeApp extends CtLit { 6 | static styles = [ 7 | css` 8 | :host { 9 | display: block; 10 | } 11 | ` 12 | ]; 13 | 14 | render() { 15 | return html`

${strings.hello_world}

16 | `; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /templates/production-template/src/lit-app.ts: -------------------------------------------------------------------------------- 1 | import './base/app-router'; 2 | import AppLocalStorage from './base/app-localstorage'; 3 | import { loadLang } from './xconfig/strings'; 4 | import { css, CtLit, customElement, html } from '@conectate/ct-lit'; 5 | import { property } from 'lit/decorators.js'; 6 | import { injectTheme, Theme } from './base/styles/default-theme'; 7 | 8 | @customElement('lit-app') 9 | export class LitApp extends CtLit { 10 | static styles = [ 11 | css` 12 | :host, 13 | main { 14 | display: flex; 15 | flex-direction: column; 16 | color: var(--color-on-background); 17 | height: 100%; 18 | } 19 | app-router { 20 | flex: 1; 21 | } 22 | header { 23 | display: flex; 24 | align-items: center; 25 | font-size: 1.5em; 26 | font-weight: bold; 27 | padding: 0px 16px; 28 | height: 56px; 29 | color: var(--color-primary); 30 | background: var(--color-surface); 31 | box-shadow: rgba(0, 0, 0, 0.26) 0px 4px 11px 0px; 32 | z-index: 90; 33 | position: relative; 34 | } 35 | ` 36 | ]; 37 | @property({ type: Number }) foo = 1; 38 | 39 | async connectedCallback() { 40 | await loadLang(); 41 | injectTheme(); 42 | Theme.setTheme(AppLocalStorage.theme || 'light'); 43 | super.connectedCallback(); 44 | } 45 | 46 | render() { 47 | return html` 48 |
49 |
LitElement Starter App
50 | 51 |
52 | `; 53 | } 54 | 55 | firstUpdated() {} 56 | } 57 | -------------------------------------------------------------------------------- /templates/production-template/src/login/activities/app-login.ts: -------------------------------------------------------------------------------- 1 | import { CtLit, html, property, customElement, css } from '@conectate/ct-lit'; 2 | 3 | @customElement('app-login') 4 | export class AppLogin extends CtLit { 5 | static styles = css` 6 | :host { 7 | display: block; 8 | } 9 | `; 10 | 11 | render() { 12 | return html`

Login

`; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /templates/production-template/src/xconfig/strings/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Herberth Obregón 3 | * @date 03/01/2021 4 | * Add langs 5 | */ 6 | import { es } from './lang/es'; 7 | // @ts-ignore 8 | const strings: { [key in keyof typeof es]: typeof es[key] } = {}; 9 | 10 | export type tSupportLangs = 'es'; 11 | export const supportLang: tSupportLangs[] = ['es']; 12 | 13 | export function getLang(defaultLang = 'es'): tSupportLangs { 14 | if (localStorage.lang == 'null') delete localStorage.lang; 15 | let lang = localStorage.lang || window.navigator.language || defaultLang; 16 | lang = lang.substring(0, 2); 17 | if (supportLang.includes(lang)) { 18 | return lang; 19 | } else { 20 | return 'es'; 21 | } 22 | } 23 | export async function loadLang() { 24 | document.documentElement.lang = getLang(); 25 | switch (getLang()) { 26 | default: 27 | case 'es': 28 | let es = await import('./lang/es'); 29 | setNewDict(es.es); 30 | break; 31 | } 32 | // @ts-ignore 33 | window.strings = strings; 34 | } 35 | 36 | function setNewDict(str: any) { 37 | Object.keys(str).forEach((key: any) => { 38 | // @ts-ignore 39 | strings[key] = str[key]; 40 | }); 41 | } 42 | 43 | export { strings }; 44 | -------------------------------------------------------------------------------- /templates/production-template/src/xconfig/strings/lang/es.ts: -------------------------------------------------------------------------------- 1 | export const es = { 2 | hello_world: "Hola Mundo / Hello World" 3 | } -------------------------------------------------------------------------------- /templates/production-template/src/xconfig/typings.d.ts: -------------------------------------------------------------------------------- 1 | 2 | declare module '*.png' 3 | declare module '*.jpg' 4 | declare module '*.jpeg' 5 | declare module '*.svg' 6 | declare module '*.gif' 7 | 8 | -------------------------------------------------------------------------------- /templates/production-template/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "resolveJsonModule": true, 4 | /* Basic Options */ 5 | "target": "ES2019", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */ 6 | "module": "ESNext", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 7 | "lib": ["es2017","dom"], /* Specify library files to be included in the compilation. */ 8 | "allowJs": true, /* Allow javascript files to be compiled. */ 9 | // "checkJs": true, /* Report errors in .js files. */ 10 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 11 | // "declaration": true, /* Generates corresponding '.d.ts' file. */ 12 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 13 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 14 | // "outFile": "./", /* Concatenate and emit output to single file. */ 15 | "outDir": "dist", /* Redirect output structure to the directory. */ 16 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 17 | // "composite": true, /* Enable project compilation */ 18 | // "removeComments": true, /* Do not emit comments to output. */ 19 | // "noEmit": true, /* Do not emit outputs. */ 20 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 21 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 22 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 23 | /* Strict Type-Checking Options */ 24 | "strict": true, /* Enable all strict type-checking options. */ 25 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 26 | // "strictNullChecks": true, /* Enable strict null checks. */ 27 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 28 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 29 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 30 | //"noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 31 | //"alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 32 | /* Additional Checks */ 33 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 34 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 35 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 36 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 37 | /* Module Resolution Options */ 38 | "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 39 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 40 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 41 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 42 | "typeRoots": ["./@conectate/typings"], /* List of folders to include type definitions from. */ 43 | // "types": [], /* Type declaration files to be included in compilation. */ 44 | "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 45 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 46 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 47 | /* Source Map Options */ 48 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 49 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 50 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 51 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 52 | /* Experimental Options */ 53 | "experimentalDecorators": true /* Enables experimental support for ES7 decorators. */ 54 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 55 | }, 56 | "exclude": [ 57 | "dist", 58 | "webpack.config.js" 59 | ] 60 | } -------------------------------------------------------------------------------- /templates/production-template/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { RollupBabelInputPluginOptions, babel } from '@rollup/plugin-babel'; 2 | import copy, { CopyOptions } from 'rollup-plugin-copy'; 3 | import { Plugin, defineConfig } from 'vite'; 4 | 5 | import resolve from '@rollup/plugin-node-resolve'; 6 | import terser from '@rollup/plugin-terser'; 7 | import { readFileSync } from 'node:fs'; 8 | import minifyHTML from 'rollup-plugin-html-literals'; 9 | import summary from 'rollup-plugin-summary'; 10 | import app from './package.json'; 11 | 12 | const babelConfig: RollupBabelInputPluginOptions = { 13 | babelHelpers: 'bundled', 14 | extensions: ['.js', '.jsx', '.ts', '.tsx'], 15 | exclude: [/\bcore-js\b/], 16 | babelrc: false, 17 | plugins: [ 18 | ['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }], 19 | '@babel/plugin-syntax-dynamic-import', 20 | '@babel/plugin-syntax-import-meta', 21 | '@babel/plugin-proposal-export-default-from' 22 | ], 23 | presets: [['@babel/preset-env', { targets: { chrome: '65' }, useBuiltIns: 'usage', corejs: '3', debug: false }]] 24 | }; 25 | 26 | const copyConfig: CopyOptions = { 27 | hook: 'closeBundle', 28 | targets: [{ src: 'res', dest: 'dist' }] 29 | }; 30 | export const svgLoader: () => Plugin = () => { 31 | var regexSequences: [RegExp, string][] = [ 32 | // Remove XML stuffs and comments 33 | [/<\?xml[\s\S]*?>/gi, ''], 34 | [//gi, ''], 35 | [//gi, ''], 36 | 37 | // SVG XML -> HTML5 38 | [/\<([A-Za-z]+)([^\>]*)\/\>/g, '<$1$2>'], // convert self-closing XML SVG nodes to explicitly closed HTML5 SVG nodes 39 | [/\s+/g, ' '], // replace whitespace sequences with a single space 40 | [/\> \<'] // remove whitespace between tags 41 | ]; 42 | const getExtractedSVG = (svgStr: string) => regexSequences.reduce((prev, regexSequence) => prev.replace(regexSequence[0], regexSequence[1]), svgStr).trim(); 43 | return { 44 | name: 'vite-svg-patch-plugin', 45 | transform: function (code, id) { 46 | if (id.endsWith('.svg')) { 47 | const extractedSvg = readFileSync(id, 'utf8'); 48 | return `export const value = '${getExtractedSVG(extractedSvg)}'\n;export default value`; 49 | } 50 | return code; 51 | } 52 | }; 53 | }; 54 | 55 | // https://vitejs.dev/config/ 56 | export default (opts: { mode: 'production' | 'development'; command: 'build' | 'serve' }) => { 57 | return defineConfig({ 58 | server: { 59 | port: Number(process.env.PORT || 3000) 60 | }, 61 | define: { 62 | 'process.env.NODE_ENV': JSON.stringify(opts.mode), 63 | 'process.env.VERSION': JSON.stringify(app.version) 64 | }, 65 | plugins: [], 66 | build: { 67 | assetsInlineLimit: 100000, 68 | commonjsOptions: { 69 | sourceMap: false 70 | }, 71 | rollupOptions: { 72 | input: { 73 | app: './src/lit-app.ts' 74 | }, 75 | output: { 76 | format: 'esm', 77 | chunkFileNames: `v${app.version}/${process.env.NODE_ENV == 'development' ? '[name].' : 'c.'}[hash].js`, 78 | entryFileNames: `v${app.version}/[name].bundle.js`, 79 | dir: 'dist' 80 | }, 81 | plugins: [ 82 | // Minify HTML template literals 83 | minifyHTML(), 84 | babel(babelConfig), 85 | // Resolve bare module specifiers to relative paths 86 | resolve(), 87 | // Copy res to dist folder 88 | copy(copyConfig), 89 | // Minify JS 90 | terser({ 91 | format: { 92 | comments: false 93 | }, 94 | compress: false, 95 | module: true 96 | }), 97 | // Print bundle summary 98 | summary({ 99 | showMinifiedSize: false, 100 | showGzippedSize: false 101 | }) 102 | ], 103 | preserveEntrySignatures: false 104 | } 105 | } 106 | }); 107 | }; 108 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": [ 3 | "dist", 4 | "templates" 5 | ], 6 | "compilerOptions": { 7 | "target": "es2022" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, 8 | "module": "es2022" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, 9 | "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, 10 | "declaration": true /* Generates corresponding '.d.ts' file. */, 11 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 12 | "outDir": "./dist" /* Redirect output structure to the directory. */, 13 | "rootDir": "./" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, 14 | "strict": true /* Enable all strict type-checking options. */, 15 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies */ 16 | } 17 | } -------------------------------------------------------------------------------- /types/gitconfig.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'gitconfig'; 2 | -------------------------------------------------------------------------------- /types/is-utf8.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'is-utf8'; 2 | -------------------------------------------------------------------------------- /types/license.js.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'license.js'; 2 | --------------------------------------------------------------------------------