diff --git a/package.json b/package.json index 7babc4ec9..506f4e57c 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "build": "pnpm --filter @umijs/mako build && pnpm --filter @umijs/mako src:build && pnpm biome:format", "build:debug": "pnpm --filter @umijs/mako build:debug && pnpm --filter @umijs/mako src:build && pnpm biome:format", "build:profile": "pnpm --filter @umijs/mako build:profile && pnpm --filter @umijs/mako src:build && pnpm biome:format", + "build:create-mako": "pnpm --filter create-mako build", "build:client": "pnpm --filter client build", "biome:check": "biome check .", "biome:format": "biome check --write .", @@ -17,7 +18,7 @@ "release:mako": "pnpm --filter @umijs/mako release", "release:bundler-mako": "esno scripts/release-bundler-mako.ts", "release:rsc": "esno scripts/release-rsc.ts", - "release:create-mako": "esno scripts/release-create-mako.ts" + "release:create-mako": "pnpm --filter create-mako release" }, "license": "MIT", "devDependencies": { diff --git a/packages/create-mako/bin/create-mako.js b/packages/create-mako/bin/create-mako.js index d1c523a9a..4f46430bf 100755 --- a/packages/create-mako/bin/create-mako.js +++ b/packages/create-mako/bin/create-mako.js @@ -1,2 +1,3 @@ #!/usr/bin/env node + require('../dist/cli'); diff --git a/packages/create-mako/package.json b/packages/create-mako/package.json index 4b466e7aa..4ef800208 100644 --- a/packages/create-mako/package.json +++ b/packages/create-mako/package.json @@ -5,16 +5,15 @@ "create-mako": "./bin/create-mako.js" }, "license": "MIT", - "dependencies": { - "glob": "^10.3.15", - "inquirer": "^9.3.1", - "yargs-parser": "^21.1.1" - }, "devDependencies": { - "@types/inquirer": "^9.0.7", - "@types/node": "^20.12.5", "@types/yargs-parser": "^21.0.3", - "typescript": "^5.4.3" + "@umijs/clack-prompt": "^0.0.3", + "@umijs/tools": "^0.1.3", + "gradient-string": "^3.0.0", + "picocolors": "^1.1.1", + "tsx": "^4.19.2", + "typescript": "^5.6.3", + "yargs-parser": "^21.1.1" }, "engines": { "node": ">= 16" @@ -26,8 +25,8 @@ ], "scripts": { "format": "biome check --write .", - "dev": "father dev", - "build": "father build" + "build": "utools bundle --patch-dirname", + "release": "utools release" }, "repository": "git@github.com:umijs/mako.git" } diff --git a/packages/create-mako/src/cli.ts b/packages/create-mako/src/cli.ts index 7e337b108..4e4c6a961 100644 --- a/packages/create-mako/src/cli.ts +++ b/packages/create-mako/src/cli.ts @@ -1,130 +1,73 @@ import fs from 'fs'; -import path, { resolve } from 'path'; -import { globSync } from 'glob'; -import type { QuestionCollection } from 'inquirer'; -import yargs from 'yargs-parser'; +import path from 'path'; +import * as p from '@umijs/clack-prompt'; +import { instagram } from 'gradient-string'; +import yargsParser from 'yargs-parser'; +import { create } from './create'; -const args = yargs(process.argv.slice(2)); -const baseTemplatesPath = path.join(__dirname, '../templates'); +async function run(cwd: string) { + const argv = yargsParser(process.argv.slice(2), { + alias: { + version: ['v'], + help: ['h'], + template: ['t'], + }, + boolean: ['version', 'help'], + }); -type InitOptions = { - projectName: string; - template: string; -}; + console.log( + instagram(` + ███╗ ███╗ █████╗ ██╗ ██╗ ██████╗ + ████╗ ████║██╔══██╗██║ ██╔╝██╔═══██╗ + ██╔████╔██║███████║█████╔╝ ██║ ██║ + ██║╚██╔╝██║██╔══██║██╔═██╗ ██║ ██║ + ██║ ╚═╝ ██║██║ ██║██║ ██╗╚██████╔╝ + ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ + `), + ); -async function init({ projectName, template }: InitOptions) { - let templatePath = path.join(baseTemplatesPath, template); - if (!fs.existsSync(templatePath)) { - console.error(`Template "${template}" does not exist.`); - process.exit(1); + // Check if the version flag is set + if (argv.version) { + const pkgPath = path.join(__dirname, '../package.json'); + const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8')); + console.log(`${pkg.name}@${pkg.version}`); + return; } - let files = globSync('**/*', { cwd: templatePath, nodir: true }); - // Use the project name entered by the user as the target folder name. - let cwd = path.resolve(process.cwd(), projectName); + // Check if the help flag is set + if (argv.help) { + console.log(`Usage: create-mako [project-name] [options] - // Ensure the target directory exists; if it does not, create it. - if (!fs.existsSync(cwd)) { - fs.mkdirSync(cwd, { recursive: true }); - } - - let npmClient = (() => { - let script = process.argv[1]; - if (script.includes('pnpm/')) { - return 'pnpm'; - } else { - return 'npm'; - } - })(); +Options: + --version, -v Show version number + --help, -h Show help + --template, -t Specify a template for the project + --npm-client, -n Specify the npm client to use (pnpm, yarn, npm) - // Copy files - for (let file of files) { - let source = path.join(templatePath, file); - let dest = path.join(cwd, file); - console.log(`Creating ${file}`); - let destDir = path.dirname(dest); - if (!fs.existsSync(destDir)) { - fs.mkdirSync(destDir, { recursive: true }); - } - fs.copyFileSync(source, dest); +Examples: + create-mako Create a new project + create-mako myapp Create a new project named 'myapp' + create-mako myapp --template=minimal Create a new project named 'myapp' using the 'minimal' template`); + return; } - console.log(); - console.log('Done, Run following commands to start the project:'); - console.log(); - console.log(` cd ${path.basename(cwd)}`); - console.log(` ${npmClient} install`); - console.log(` ${npmClient} run dev`); - console.log(` # Open http://localhost:3000`); - console.log(); - console.log('Happy coding!'); -} - -type InitQuestion = { - name: string; - template: string; -}; - -async function checkEmptyDir(name: string) { - const inquirer = (await import('inquirer')).default; - const cwd = process.cwd(); - const exist = fs.existsSync(resolve(cwd, name)); - if (exist && fs.readdirSync(resolve(cwd, name)).length > 0) { - const answersContinue = await inquirer.prompt([ - { - type: 'confirm', - name: 'continue', - message: - 'The current directory is not empty. Do you want to continue creating the project here?', - default: false, - }, - ]); - - if (!answersContinue.continue) { + p.intro('Creating a new MAKO project...'); + create({ + cwd: cwd, + name: argv._[0] as string | undefined, + template: argv.template, + packageManager: argv.packageManager, + }) + .then(() => { + p.outro('Create success!'); + }) + .catch((err) => { + p.cancel(`Create failed, ${err.message}`); process.exit(1); - } - } -} - -async function main() { - const inquirer = (await import('inquirer')).default; - - let name: string = args._[0] as string; - let { template } = args; - let questions: QuestionCollection[] = []; - if (!name) { - let answers = await inquirer.prompt([ - { - type: 'input', - name: 'name', - message: 'Project name:', - default: 'mako-project', - }, - ]); - name = answers.name; - } - await checkEmptyDir(name); - if (!template) { - const templates = globSync('**/', { - cwd: baseTemplatesPath, - maxDepth: 1, - }).filter((dir) => dir !== '.'); - questions.push({ - type: 'list', - name: 'template', - message: 'Select a template:', - choices: templates, - default: 'react', }); - } - if (questions.length > 0) { - let answers = await inquirer.prompt(questions); - template = template || answers.template; - } - return init({ projectName: String(name), template }); } -main().catch((err) => { +run(process.cwd()).catch((err) => { console.error(err); process.exit(1); }); diff --git a/packages/create-mako/src/create.ts b/packages/create-mako/src/create.ts new file mode 100644 index 000000000..5999071eb --- /dev/null +++ b/packages/create-mako/src/create.ts @@ -0,0 +1,174 @@ +import { spawn } from 'child_process'; +import fs from 'fs'; +import path from 'path'; +import * as p from '@umijs/clack-prompt'; +import pc from 'picocolors'; + +const CANCEL_TEXT = 'Operation cancelled.'; + +type PackageManager = 'pnpm' | 'yarn' | 'npm' | 'bun'; + +const templates = { + minimal: { + label: 'Minimal', + hint: 'Minimal template for quick start', + }, + umi: { + label: 'Umi', + hint: 'Umi template', + // TODO: support setup script + }, +} as const; + +const devCommands = { + pnpm: 'pnpm dev', + yarn: 'yarn dev', + npm: 'npm run dev', + bun: 'bun run dev', +} as const; + +export async function create({ + cwd, + name, + template, + packageManager, +}: { + cwd: string; + name?: string; + template?: string; + packageManager?: PackageManager; +}) { + const templatesPath = path.join(__dirname, '../templates'); + const templateList = fs + .readdirSync(templatesPath) + .filter((file) => + fs.statSync(path.join(templatesPath, file)).isDirectory(), + ); + + const selectedTemplate = + template || + (await (async () => { + console.log('prompting'); + const template = await p.select({ + message: 'Which template would you like?', + options: templateList.map((template) => ({ + value: template, + label: templates[template as keyof typeof templates].label, + hint: templates[template as keyof typeof templates].hint, + })), + }); + return template; + })()); + if (p.isCancel(selectedTemplate)) { + throw new Error(CANCEL_TEXT); + } + + const projectName = await (async () => { + if (name) { + const error = validate(name); + if (error) { + throw new Error(error); + } + return name; + } + return await p.text({ + message: 'Please enter a name for your new project:', + initialValue: 'myapp', + validate, + }); + function validate(value: string) { + if (!value) { + return `Project name is required but got ${value}`; + } + if (fs.existsSync(path.join(cwd, value))) { + return `Project ${path.join(cwd, value)} already exists`; + } + } + })(); + if (p.isCancel(projectName)) { + throw new Error(CANCEL_TEXT); + } + + const selectedPackageManager = + packageManager || + (await p.select({ + message: 'Which npm client would you like?', + options: ['pnpm', 'yarn', 'npm', 'bun'].map((client) => ({ + value: client, + label: client, + })), + })); + if (p.isCancel(selectedPackageManager)) { + throw new Error(CANCEL_TEXT); + } + + if (fs.existsSync(path.join(cwd, projectName))) { + throw new Error('Project already exists'); + } + + const copySpinner = p.spinner(); + copySpinner.start(`Copying template ${selectedTemplate}...`); + const templatePath = path.join(templatesPath, selectedTemplate as string); + const projectPath = path.join(cwd, projectName); + fs.cpSync(templatePath, projectPath, { recursive: true }); + const gitignorePath = path.join(projectPath, '_gitignore'); + if (fs.existsSync(gitignorePath)) { + fs.renameSync(gitignorePath, path.join(projectPath, '.gitignore')); + } + copySpinner.stop(`Copied template ${selectedTemplate}`); + + const installTask = p.taskLog( + `Installing dependencies with ${selectedPackageManager}...`, + ); + const args = selectedPackageManager === 'yarn' ? [] : ['install']; + try { + await execa(selectedPackageManager, args, { + cwd: projectPath, + onData: (data) => { + installTask.text = data; + }, + }); + } catch (error) { + installTask.fail( + `Failed to install dependencies with ${selectedPackageManager}`, + ); + throw error; + } + installTask.success(`Installed dependencies with ${selectedPackageManager}`); + + p.box( + ` +1: ${pc.bold(pc.cyan(`cd ${projectName}`))} +2: ${pc.bold(pc.cyan(`git init && git add -A && git commit -m "Initial commit"`))} (optional) +3: ${pc.bold(pc.cyan(devCommands[selectedPackageManager as keyof typeof devCommands]))} + +To close the dev server, hit ${pc.bold(pc.cyan('Ctrl+C'))} + `.trim(), + 'Next Steps', + ); +} + +async function execa( + cmd: string, + args: string[], + options: { cwd: string; onData: (data: string) => void }, +) { + const child = spawn(cmd, args, { + stdio: 'pipe', + cwd: options.cwd, + }); + return new Promise((resolve, reject) => { + child.stdout?.on('data', (data) => { + options.onData(data); + }); + child.stderr?.on('data', (data) => { + options.onData(data); + }); + child.on('close', (code) => { + resolve(code); + }); + child.on('error', (error) => { + reject(error); + }); + }); +} diff --git a/packages/create-mako/templates/react/package.json b/packages/create-mako/templates/minimal/package.json similarity index 100% rename from packages/create-mako/templates/react/package.json rename to packages/create-mako/templates/minimal/package.json diff --git a/packages/create-mako/templates/react/public/index.html b/packages/create-mako/templates/minimal/public/index.html similarity index 100% rename from packages/create-mako/templates/react/public/index.html rename to packages/create-mako/templates/minimal/public/index.html diff --git a/packages/create-mako/templates/react/src/App.module.css b/packages/create-mako/templates/minimal/src/App.module.css similarity index 100% rename from packages/create-mako/templates/react/src/App.module.css rename to packages/create-mako/templates/minimal/src/App.module.css diff --git a/packages/create-mako/templates/react/src/App.tsx b/packages/create-mako/templates/minimal/src/App.tsx similarity index 100% rename from packages/create-mako/templates/react/src/App.tsx rename to packages/create-mako/templates/minimal/src/App.tsx diff --git a/packages/create-mako/templates/react/src/index.tsx b/packages/create-mako/templates/minimal/src/index.tsx similarity index 100% rename from packages/create-mako/templates/react/src/index.tsx rename to packages/create-mako/templates/minimal/src/index.tsx diff --git a/packages/create-mako/templates/react/tsconfig.json b/packages/create-mako/templates/minimal/tsconfig.json similarity index 100% rename from packages/create-mako/templates/react/tsconfig.json rename to packages/create-mako/templates/minimal/tsconfig.json diff --git a/packages/create-mako/templates/umi/.gitignore b/packages/create-mako/templates/umi/_gitignore similarity index 95% rename from packages/create-mako/templates/umi/.gitignore rename to packages/create-mako/templates/umi/_gitignore index 0dc2a3f93..f5ef6a5ed 100644 --- a/packages/create-mako/templates/umi/.gitignore +++ b/packages/create-mako/templates/umi/_gitignore @@ -6,4 +6,3 @@ /src/.umi-production /src/.umi-test /dist -.swc diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 92c7647a1..b8997a555 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -323,7 +323,7 @@ importers: version: 5.0.0-alpha.21(react-dom@18.2.0)(react@18.2.0) '@umijs/bundler-webpack': specifier: ^4.0.80 - version: 4.0.80(styled-components@5.3.10)(typescript@5.4.5)(webpack@5.91.0) + version: 4.0.80(styled-components@5.3.10)(typescript@5.7.3)(webpack@5.91.0) antd: specifier: ^5.12.2 version: 5.12.2(react-dom@18.2.0)(react@18.2.0) @@ -481,29 +481,31 @@ importers: version: 8.0.1 packages/create-mako: - dependencies: - glob: - specifier: ^10.3.15 - version: 10.3.15 - inquirer: - specifier: ^9.3.1 - version: 9.3.1 - yargs-parser: - specifier: ^21.1.1 - version: 21.1.1 devDependencies: - '@types/inquirer': - specifier: ^9.0.7 - version: 9.0.7 - '@types/node': - specifier: ^20.12.5 - version: 20.12.5 '@types/yargs-parser': specifier: ^21.0.3 version: 21.0.3 + '@umijs/clack-prompt': + specifier: ^0.0.3 + version: 0.0.3 + '@umijs/tools': + specifier: ^0.1.3 + version: 0.1.3 + gradient-string: + specifier: ^3.0.0 + version: 3.0.0 + picocolors: + specifier: ^1.1.1 + version: 1.1.1 + tsx: + specifier: ^4.19.2 + version: 4.19.2 typescript: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.6.3 + version: 5.7.3 + yargs-parser: + specifier: ^21.1.1 + version: 21.1.1 packages/mako: dependencies: @@ -1400,7 +1402,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + picocolors: 1.1.1 dev: true /@babel/compat-data@7.22.3: @@ -1877,7 +1879,7 @@ packages: '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.1.1 dev: true /@babel/parser@7.21.9: @@ -3774,9 +3776,9 @@ packages: dev: true optional: true - /@esbuild/aix-ppc64@0.21.5: - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} + /@esbuild/aix-ppc64@0.23.1: + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -3809,9 +3811,9 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.21.5: - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} + /@esbuild/android-arm64@0.23.1: + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} cpu: [arm64] os: [android] requiresBuild: true @@ -3844,9 +3846,9 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.21.5: - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} + /@esbuild/android-arm@0.23.1: + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} cpu: [arm] os: [android] requiresBuild: true @@ -3879,9 +3881,9 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.21.5: - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} + /@esbuild/android-x64@0.23.1: + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} cpu: [x64] os: [android] requiresBuild: true @@ -3914,9 +3916,9 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.21.5: - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} + /@esbuild/darwin-arm64@0.23.1: + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -3949,9 +3951,9 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.21.5: - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} + /@esbuild/darwin-x64@0.23.1: + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] requiresBuild: true @@ -3984,9 +3986,9 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.21.5: - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} + /@esbuild/freebsd-arm64@0.23.1: + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -4019,9 +4021,9 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.21.5: - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} + /@esbuild/freebsd-x64@0.23.1: + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -4054,9 +4056,9 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.21.5: - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} + /@esbuild/linux-arm64@0.23.1: + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] requiresBuild: true @@ -4089,9 +4091,9 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.21.5: - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} + /@esbuild/linux-arm@0.23.1: + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} cpu: [arm] os: [linux] requiresBuild: true @@ -4124,9 +4126,9 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.21.5: - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} + /@esbuild/linux-ia32@0.23.1: + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] requiresBuild: true @@ -4159,9 +4161,9 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.21.5: - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} + /@esbuild/linux-loong64@0.23.1: + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] requiresBuild: true @@ -4194,9 +4196,9 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.21.5: - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} + /@esbuild/linux-mips64el@0.23.1: + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -4229,9 +4231,9 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.21.5: - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} + /@esbuild/linux-ppc64@0.23.1: + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -4264,9 +4266,9 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.21.5: - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} + /@esbuild/linux-riscv64@0.23.1: + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -4299,9 +4301,9 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.21.5: - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} + /@esbuild/linux-s390x@0.23.1: + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4334,9 +4336,9 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.21.5: - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} + /@esbuild/linux-x64@0.23.1: + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} cpu: [x64] os: [linux] requiresBuild: true @@ -4369,15 +4371,24 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.21.5: - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} + /@esbuild/netbsd-x64@0.23.1: + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] requiresBuild: true dev: true optional: true + /@esbuild/openbsd-arm64@0.23.1: + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.17.19: resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} @@ -4404,9 +4415,9 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.21.5: - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} + /@esbuild/openbsd-x64@0.23.1: + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -4439,9 +4450,9 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.21.5: - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} + /@esbuild/sunos-x64@0.23.1: + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] requiresBuild: true @@ -4474,9 +4485,9 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.21.5: - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} + /@esbuild/win32-arm64@0.23.1: + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] requiresBuild: true @@ -4509,9 +4520,9 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.21.5: - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} + /@esbuild/win32-ia32@0.23.1: + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] requiresBuild: true @@ -4544,9 +4555,9 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.21.5: - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} + /@esbuild/win32-x64@0.23.1: + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} cpu: [x64] os: [win32] requiresBuild: true @@ -4718,11 +4729,6 @@ packages: - supports-color dev: true - /@inquirer/figures@1.0.3: - resolution: {integrity: sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==} - engines: {node: '>=18'} - dev: false - /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -5069,7 +5075,7 @@ packages: fast-glob: 3.3.2 is-glob: 4.0.3 open: 9.1.0 - picocolors: 1.0.1 + picocolors: 1.1.1 tslib: 2.5.0 dev: true @@ -5758,13 +5764,6 @@ packages: resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} dev: true - /@types/inquirer@9.0.7: - resolution: {integrity: sha512-Q0zyBupO6NxGRZut/JdmqYKOnN95Eg5V8Csg3PGKkP+FnvsUZx1jAyK7fztIszxxMuoBA6E3KXWvdZVXIpx60g==} - dependencies: - '@types/through': 0.0.33 - rxjs: 7.8.1 - dev: true - /@types/invariant@2.2.35: resolution: {integrity: sha512-DxX1V9P8zdJPYQat1gHyY0xj3efl8gnMVjiM9iCY6y27lj+PoQWkgjt8jDqmovPqULkKVpKRg8J36iQiA+EtEg==} dev: true @@ -5940,10 +5939,8 @@ packages: resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} dev: true - /@types/through@0.0.33: - resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} - dependencies: - '@types/node': 20.14.2 + /@types/tinycolor2@1.4.6: + resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} dev: true /@types/triple-beam@1.3.5: @@ -6302,7 +6299,7 @@ packages: - terser dev: true - /@umijs/bundler-webpack@4.0.80(styled-components@5.3.10)(typescript@5.4.5)(webpack@5.91.0): + /@umijs/bundler-webpack@4.0.80(styled-components@5.3.10)(typescript@5.7.3)(webpack@5.91.0): resolution: {integrity: sha512-EdkEQpVx/fSrI0jmD6RbvPuSXiXW/1HXSA0OB9MJoKOBbndVTvjKL82CNgoUo8Ahytr2bZ0zjbgoV/lHadFLkA==} hasBin: true dependencies: @@ -6319,7 +6316,7 @@ packages: cors: 2.8.5 css-loader: 6.7.1(webpack@5.91.0) es5-imcompatible-versions: 0.1.82 - fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.5)(webpack@5.91.0) + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.7.3)(webpack@5.91.0) jest-worker: 29.4.3 lightningcss: 1.19.0 node-libs-browser: 2.2.1 @@ -6418,6 +6415,15 @@ packages: resolution: {integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==} dev: true + /@umijs/clack-prompt@0.0.3: + resolution: {integrity: sha512-r2SF7UcuiyAsPVtaMFvURVWeU2Xoo4uWklgr0RgOuq6AWT6X8nl1vUTnWTIT/gX44yca7l7G9adDEK9zWuBVBg==} + dependencies: + is-unicode-supported: 1.3.0 + picocolors: 1.1.1 + sisteransi: 1.0.5 + wrap-ansi: 8.1.0 + dev: true + /@umijs/core@4.2.10: resolution: {integrity: sha512-UGYLBZT4yAN56RB7MH6K1r+4c+YRxWMAiqaVcKlTIX0b6BHFC5HfyH3wK622hTDOiN+LQHw2ieJXDlJJVWpuOQ==} dependencies: @@ -6577,7 +6583,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: false optional: true /@umijs/mako-darwin-arm64@0.7.4: @@ -6595,7 +6600,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: false optional: true /@umijs/mako-darwin-x64@0.7.4: @@ -6613,7 +6617,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@umijs/mako-linux-arm64-musl@0.11.2: @@ -6622,7 +6625,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@umijs/mako-linux-x64-gnu@0.11.2: @@ -6631,7 +6633,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@umijs/mako-linux-x64-gnu@0.7.4: @@ -6649,7 +6650,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@umijs/mako-linux-x64-musl@0.7.4: @@ -6667,7 +6667,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: false optional: true /@umijs/mako-win32-x64-msvc@0.11.2: @@ -6676,9 +6675,39 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: false optional: true + /@umijs/mako@0.11.2: + resolution: {integrity: sha512-jFiqlM/weToLXdL56Qq+tkiumJb4/U1bbwvny1ukwp+eWZ9VgCpT7RPIUXm7gc39LEGF511qc324zZLppZIS4A==} + engines: {node: '>= 16'} + hasBin: true + dependencies: + '@swc/helpers': 0.5.1 + '@types/resolve': 1.20.6 + chalk: 4.1.2 + less: 4.2.0 + less-plugin-resolve: 1.0.2 + lodash: 4.17.21 + node-libs-browser-okam: 2.2.5 + piscina: 4.5.1 + react-error-overlay: 6.0.9 + react-refresh: 0.14.2 + resolve: 1.22.8 + semver: 7.6.2 + yargs-parser: 21.1.1 + optionalDependencies: + '@umijs/mako-darwin-arm64': 0.11.2 + '@umijs/mako-darwin-x64': 0.11.2 + '@umijs/mako-linux-arm64-gnu': 0.11.2 + '@umijs/mako-linux-arm64-musl': 0.11.2 + '@umijs/mako-linux-x64-gnu': 0.11.2 + '@umijs/mako-linux-x64-musl': 0.11.2 + '@umijs/mako-win32-ia32-msvc': 0.11.2 + '@umijs/mako-win32-x64-msvc': 0.11.2 + transitivePeerDependencies: + - supports-color + dev: true + /@umijs/mako@0.7.4: resolution: {integrity: sha512-Wgfv13DHliBnNwefgR/ZtG31wTjmbxUuCtsiGnmUPcYxOv0qTQ+yhq1iaVNvQZm48/ohc6M2NIZeghSbbFp+/Q==} engines: {node: '>= 16'} @@ -6957,6 +6986,20 @@ packages: - supports-color dev: true + /@umijs/tools@0.1.3: + resolution: {integrity: sha512-vM1kHgqRk4JeovJk0S4CkXPTisJsOp9EJJzych+yAXd8PvHEA9KzfjvuQ46m0VrhdFXEDY7fOyas7kOFWK/1NA==} + hasBin: true + dependencies: + '@types/yargs-parser': 21.0.3 + '@umijs/mako': 0.11.2 + git-repo-info: 2.1.1 + tsx: 4.19.2 + yargs-parser: 21.1.1 + zx: 8.3.0 + transitivePeerDependencies: + - supports-color + dev: true + /@umijs/ui@3.0.1: resolution: {integrity: sha512-zcz37AJH0xt/6XVVbyO/hmsK9Hq4vH23HZ4KYVi5A8rbM9KeJkJigTS7ELOdArawZhVNGe+h3a5Oixs4a2QsWw==} dev: true @@ -7363,13 +7406,6 @@ packages: engines: {node: '>=0.4.2'} dev: true - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: false - /ansi-html-community@0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} engines: {'0': node >= 0.8.0} @@ -7777,7 +7813,7 @@ packages: caniuse-lite: 1.0.30001491 fraction.js: 4.2.0 normalize-range: 0.1.2 - picocolors: 1.0.0 + picocolors: 1.1.1 postcss: 8.4.24 postcss-value-parser: 4.2.0 dev: true @@ -7793,7 +7829,7 @@ packages: caniuse-lite: 1.0.30001491 fraction.js: 4.2.0 normalize-range: 0.1.2 - picocolors: 1.0.0 + picocolors: 1.1.1 postcss: 8.4.39 postcss-value-parser: 4.2.0 dev: true @@ -8090,14 +8126,6 @@ packages: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: false - /bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} dev: true @@ -8277,13 +8305,6 @@ packages: isarray: 1.0.0 dev: true - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - /builtin-status-codes@3.0.0: resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} @@ -8402,10 +8423,6 @@ packages: engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: false - /check-types@11.2.2: resolution: {integrity: sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==} dev: true @@ -8469,23 +8486,6 @@ packages: source-map: 0.6.1 dev: true - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: false - - /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - dev: false - - /cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} - dev: false - /click-to-react-component@1.0.8(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-YBNYOp00udy+NBEnUmM/3Df0Yco1iHNQ8k0ltlJVcDYK9AuYt14xPoJicBh/BokLqbzkci1p+pbdY5r4JXZC4g==} peerDependencies: @@ -8518,11 +8518,6 @@ packages: shallow-clone: 3.0.1 dev: true - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: false - /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -9114,12 +9109,6 @@ packages: titleize: 3.0.0 dev: true - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: false - /define-data-property@1.1.1: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} @@ -9817,35 +9806,36 @@ packages: '@esbuild/win32-x64': 0.21.4 dev: true - /esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} + /esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 dev: true /escalade@3.1.1: @@ -10008,7 +9998,7 @@ packages: resolution: {integrity: sha512-81owrjxIxOwqcABt20U09Wn8lpBo9K6ttqbGvQcB3VYNLJyaV1fvKkDtpZd3Rj5BX3WXiGiJCjUevKQGNICzJg==} hasBin: true dependencies: - tsx: 4.15.2 + tsx: 4.19.2 dev: true /espree@9.5.2: @@ -10236,15 +10226,6 @@ packages: type: 2.7.2 dev: true - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - dev: false - /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -10532,6 +10513,29 @@ packages: webpack: 5.91.0 dev: true + /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.7.3)(webpack@5.91.0): + resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} + engines: {node: '>=12.13.0', yarn: '>=1.0.0'} + peerDependencies: + typescript: '>3.6.0' + webpack: ^5.11.0 + dependencies: + '@babel/code-frame': 7.21.4 + chalk: 4.1.2 + chokidar: 3.5.3 + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + fs-extra: 10.1.0 + memfs: 3.5.1 + minimatch: 3.1.2 + node-abort-controller: 3.1.1 + schema-utils: 3.1.2 + semver: 7.6.2 + tapable: 2.2.1 + typescript: 5.7.3 + webpack: 5.91.0 + dev: true + /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -10744,6 +10748,11 @@ packages: resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} dev: true + /git-repo-info@2.1.1: + resolution: {integrity: sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==} + engines: {node: '>= 4.0'} + dev: true + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -10772,18 +10781,6 @@ packages: minipass: 6.0.2 path-scurry: 1.9.2 - /glob@10.3.15: - resolution: {integrity: sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==} - engines: {node: '>=16 || 14 >=14.18'} - hasBin: true - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.1 - minipass: 7.1.1 - path-scurry: 1.11.1 - dev: false - /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -10880,6 +10877,14 @@ packages: resolution: {integrity: sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==} dev: true + /gradient-string@3.0.0: + resolution: {integrity: sha512-frdKI4Qi8Ihp4C6wZNB565de/THpIaw3DjP5ku87M+N9rNSGmPTjfkq61SdRXB7eCaL8O1hkKDvf6CDMtOzIAg==} + engines: {node: '>=14'} + dependencies: + chalk: 5.3.0 + tinygradient: 1.1.5 + dev: true + /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true @@ -11297,24 +11302,6 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /inquirer@9.3.1: - resolution: {integrity: sha512-A5IdVr1I04XqPlwrGgTJMKmzRg5ropqNpSeqo0vj1ZmluSCNSFaPZz4eazdPrhVcZfej7fCEYvD2NYa1KjkTJA==} - engines: {node: '>=18'} - dependencies: - '@inquirer/figures': 1.0.3 - ansi-escapes: 4.3.2 - cli-width: 4.1.0 - external-editor: 3.1.0 - mute-stream: 1.0.0 - ora: 5.4.1 - picocolors: 1.0.1 - run-async: 3.0.0 - rxjs: 7.8.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - dev: false - /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} @@ -11532,11 +11519,6 @@ packages: is-docker: 3.0.0 dev: true - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: false - /is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: true @@ -11661,10 +11643,10 @@ packages: which-typed-array: 1.1.15 dev: true - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: false + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: true /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} @@ -11767,15 +11749,6 @@ packages: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - dev: false - /jake@10.8.7: resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} engines: {node: '>=10'} @@ -12376,14 +12349,6 @@ packages: /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: false - /logform@2.6.0: resolution: {integrity: sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==} engines: {node: '>= 12.0.0'} @@ -12408,11 +12373,6 @@ packages: tslib: 2.5.0 dev: true - /lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} - engines: {node: 14 || >=16.14} - dev: false - /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -12567,6 +12527,7 @@ packages: /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + dev: true /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} @@ -12648,11 +12609,6 @@ packages: resolution: {integrity: sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==} engines: {node: '>=16 || 14 >=14.17'} - /minipass@7.1.1: - resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} - engines: {node: '>=16 || 14 >=14.17'} - dev: false - /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -12700,11 +12656,6 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false - /nan@2.18.0: resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} requiresBuild: true @@ -13074,6 +13025,7 @@ packages: engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 + dev: true /onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} @@ -13118,29 +13070,9 @@ packages: word-wrap: 1.2.3 dev: true - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: false - /os-browserify@0.3.0: resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: false - /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -13263,14 +13195,6 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - dependencies: - lru-cache: 10.2.2 - minipass: 7.1.1 - dev: false - /path-scurry@1.9.2: resolution: {integrity: sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==} engines: {node: '>=16 || 14 >=14.17'} @@ -13332,13 +13256,6 @@ packages: - supports-color dev: false - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} - /picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} dev: true @@ -14219,7 +14136,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 - picocolors: 1.0.0 + picocolors: 1.1.1 source-map-js: 1.2.0 dev: true @@ -14228,7 +14145,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 + picocolors: 1.1.1 source-map-js: 1.2.0 dev: true @@ -16632,14 +16549,6 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: false - /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -16695,22 +16604,12 @@ packages: execa: 5.1.1 dev: true - /run-async@3.0.0: - resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} - engines: {node: '>=0.12.0'} - dev: false - /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 dev: true - /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - dependencies: - tslib: 2.5.0 - /safe-array-concat@1.1.2: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} @@ -16984,6 +16883,10 @@ packages: resolution: {integrity: sha512-QkEoh0AzGuU82qnbUUk0ydF78QbU5wMKqKKJn7uUQfBiOYlRQEfIOpLM4m23Sab+kTOLI1kbYhYeiQ7fX5KVVw==} dev: true + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + /slash@2.0.0: resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} engines: {node: '>=6'} @@ -17518,7 +17421,7 @@ packages: css-select: 4.3.0 css-tree: 1.1.3 csso: 4.2.0 - picocolors: 1.0.0 + picocolors: 1.1.1 stable: 0.1.8 dev: true @@ -17701,18 +17604,18 @@ packages: resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} dev: true + /tinygradient@1.1.5: + resolution: {integrity: sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw==} + dependencies: + '@types/tinycolor2': 1.4.6 + tinycolor2: 1.6.0 + dev: true + /titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} dev: true - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - dependencies: - os-tmpdir: 1.0.2 - dev: false - /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true @@ -17802,12 +17705,12 @@ packages: fsevents: 2.3.3 dev: true - /tsx@4.15.2: - resolution: {integrity: sha512-kIZTOCmR37nEw0qxQks2dR+eZWSXydhTGmz7yx94vEiJtJGBTkUl0D/jt/5fey+CNdm6i3Cp+29WKRay9ScQUw==} + /tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} engines: {node: '>=18.0.0'} hasBin: true dependencies: - esbuild: 0.21.5 + esbuild: 0.23.1 get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 @@ -17833,11 +17736,6 @@ packages: engines: {node: '>=10'} dev: true - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: false - /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -17942,6 +17840,12 @@ packages: hasBin: true dev: true + /typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + /ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} dev: true @@ -18133,7 +18037,7 @@ packages: dependencies: browserslist: 4.21.7 escalade: 3.1.1 - picocolors: 1.0.0 + picocolors: 1.1.1 dev: true /update-browserslist-db@1.0.16(browserslist@4.23.1): @@ -18144,7 +18048,7 @@ packages: dependencies: browserslist: 4.23.1 escalade: 3.1.2 - picocolors: 1.0.1 + picocolors: 1.1.1 dev: true /uri-js@4.4.1: @@ -18372,12 +18276,6 @@ packages: dependencies: minimalistic-assert: 1.0.1 - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: false - /web-streams-polyfill@3.2.1: resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} engines: {node: '>= 8'} @@ -18705,15 +18603,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: false - /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -18852,3 +18741,12 @@ packages: which: 3.0.1 yaml: 2.3.1 dev: true + + /zx@8.3.0: + resolution: {integrity: sha512-L8mY3yfJwo3a8ZDD6f9jZzAcRWJZYcV8GauZmBxLB/aSTwaMzMIEVpPp2Kyx+7yF0gdvuxKnMxAZRft9UCawiw==} + engines: {node: '>= 12.17.0'} + hasBin: true + optionalDependencies: + '@types/fs-extra': 11.0.1 + '@types/node': 20.14.2 + dev: true diff --git a/scripts/release-create-mako.ts b/scripts/release-create-mako.ts deleted file mode 100644 index ede9c77e9..000000000 --- a/scripts/release-create-mako.ts +++ /dev/null @@ -1,66 +0,0 @@ -import 'zx/globals'; - -(async () => { - // pnpm install to update lockfile - console.log('Pnpm install'); - await $`pnpm install`; - - // build - console.log('Build'); - await $`pnpm --filter create-mako build`; - - // update package.json to use the latest version of @umijs/mako - console.log('Update package.json'); - const templatePkgPath = path.join( - __dirname, - '../packages/create-mako/templates/react/package.json', - ); - const makoPkgPath = path.join(__dirname, '../packages/mako/package.json'); - const makoVersion = JSON.parse(fs.readFileSync(makoPkgPath, 'utf-8')).version; - const templatePkg = JSON.parse(fs.readFileSync(templatePkgPath, 'utf-8')); - templatePkg.devDependencies['@umijs/mako'] = `^${makoVersion}`; - fs.writeFileSync( - templatePkgPath, - JSON.stringify(templatePkg, null, 2) + '\n', - 'utf-8', - ); - - // bump version - console.log('Bump version'); - const pkgDir = path.join(__dirname, '../packages/create-mako/'); - const pkgPath = path.join(pkgDir, 'package.json'); - await $`cd packages/create-mako && npm version patch`; - const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8')); - - // git commit - console.log('Commit'); - await $`git add ./`; - await $`git commit -n -m "release: create-mako@${pkg.version}"`; - - // npm publish - console.log('Publish'); - const tag = getTag(pkg.version); - await $`cd packages/create-mako && npm publish --tag ${tag}`; - - // git push - console.log('Push'); - await $`git push origin master`; - - console.log('Done'); -})().catch((e) => { - console.error(e); - process.exit(1); -}); - -function getTag(newVersion: string) { - let tag = 'latest'; - if ( - newVersion.includes('-alpha.') || - newVersion.includes('-beta.') || - newVersion.includes('-rc.') - ) - tag = 'next'; - if (newVersion.includes('-canary.')) tag = 'canary'; - if (newVersion.includes('-dev.')) tag = 'dev'; - return tag; -}