wbfy 1.35.0 → 1.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/generators/asdf.ts", "../src/utils/promisePool.ts", "../src/utils/spawnUtil.ts", "../src/generators/editorconfig.ts", "../src/utils/extensions.ts", "../src/utils/fsUtil.ts", "../src/generators/eslintignore.ts", "../src/utils/ignoreFileUtil.ts", "../src/generators/eslintrc.ts", "../src/utils/mergeUtil.ts", "../src/generators/gitattributes.ts", "../src/generators/gitignore.ts", "../src/utils/fetchOnNode.ts", "../src/generators/huskyrc.ts", "../src/generators/idea.ts", "../src/generators/lintstagedrc.ts", "../src/utils/eslintUtil.ts", "../src/utils/srcDirectories.ts", "../src/generators/packageJson.ts", "../src/generators/prettierignore.ts", "../src/generators/releaserc.ts", "../src/generators/renovaterc.ts", "../src/generators/tsconfig.ts", "../src/utils/objectUtil.ts", "../src/generators/workflow.ts", "../src/generators/yarnrc.ts", "../src/utils/packageConfig.ts"],
4
4
  "sourcesContent": ["import path from 'path';\n\nimport glob from 'glob';\nimport yargs from 'yargs';\n\nimport { generateVersionConfigs } from './generators/asdf';\nimport { generateEditorconfig } from './generators/editorconfig';\nimport { generateEslintignore } from './generators/eslintignore';\nimport { generateEslintrc } from './generators/eslintrc';\nimport { generateGitattributes } from './generators/gitattributes';\nimport { generateGitignore } from './generators/gitignore';\nimport { generateHuskyrc } from './generators/huskyrc';\nimport { generateIdeaSettings } from './generators/idea';\nimport { generateLintstagedrc } from './generators/lintstagedrc';\nimport { generatePackageJson } from './generators/packageJson';\nimport { generatePrettierignore } from './generators/prettierignore';\nimport { generateReleaserc } from './generators/releaserc';\nimport { generateRenovateJson } from './generators/renovaterc';\nimport { generateTsconfig } from './generators/tsconfig';\nimport { generateWorkflow } from './generators/workflow';\nimport { generateYarnrcYml } from './generators/yarnrc';\nimport { getPackageConfig, PackageConfig } from './utils/packageConfig';\nimport { promisePool } from './utils/promisePool';\nimport { spawnSync } from './utils/spawnUtil';\n\nasync function main(): Promise<void> {\n const argv = await yargs(process.argv.slice(2))\n .command('wbfy <paths...>', 'Generate/update project files for WillBooster')\n .demandCommand(1)\n .alias('d', 'skipDeps')\n .boolean('skipDeps')\n .default('skipDeps', false)\n .describe('skipDeps', 'Skip dependency installation')\n .alias('v', 'verbose')\n .boolean('verbose')\n .default('verbose', false).argv;\n\n for (const rootDirPath of argv._) {\n if (typeof rootDirPath === 'number') continue;\n\n const rootConfig = await getPackageConfig(rootDirPath);\n if (rootConfig === null) {\n console.error(`there is no valid package.json in ${rootDirPath}`);\n continue;\n }\n\n const subDirPaths = rootConfig.containingSubPackageJsons\n ? glob.sync('packages/*', { cwd: rootDirPath }).map((subDirPath) => path.resolve(rootDirPath, subDirPath))\n : [];\n const subPackageConfigs = (await Promise.all(subDirPaths.map((subDirPath) => getPackageConfig(subDirPath)))).filter(\n (config) => !!config\n ) as PackageConfig[];\n const allPackageConfigs = [rootConfig, ...subPackageConfigs];\n\n if (argv.verbose) {\n for (const config of allPackageConfigs) {\n console.log(config);\n }\n }\n\n // Install tools via asdf at first\n await generateVersionConfigs(rootConfig);\n // Install yarn berry\n await generateYarnrcYml(rootConfig);\n await Promise.all([\n generateEditorconfig(rootConfig),\n generateGitattributes(rootConfig),\n generateHuskyrc(rootConfig),\n generateIdeaSettings(rootConfig),\n generateLintstagedrc(rootConfig),\n generateRenovateJson(rootConfig),\n generateReleaserc(rootConfig),\n generateWorkflow(rootConfig),\n ]);\n await promisePool.promiseAll();\n\n const promises: Promise<void>[] = [];\n for (const config of allPackageConfigs) {\n await generateGitignore(config, rootConfig);\n if (!config.root && !config.containingPackageJson) {\n continue;\n }\n await generatePrettierignore(config);\n await generatePackageJson(config, rootConfig, argv.skipDeps);\n\n promises.push(generateLintstagedrc(config));\n if (config.containingTypeScript || config.containingTypeScriptInPackages) {\n promises.push(generateTsconfig(config, rootConfig));\n }\n if (\n config.containingJavaScript ||\n config.containingJavaScriptInPackages ||\n config.containingTypeScript ||\n config.containingTypeScriptInPackages\n ) {\n if (!rootConfig.willBoosterConfigs) {\n promises.push(generateEslintrc(config, rootConfig));\n }\n promises.push(generateEslintignore(config));\n }\n }\n await Promise.all(promises);\n await promisePool.promiseAll();\n\n spawnSync('yarn', ['cleanup'], rootDirPath);\n // 'yarn install' should be after `yarn cleanup` because yarn berry generates yarn.lock\n // corresponding to the contents of dependant sub-package in monorepo\n spawnSync('yarn', ['install'], rootDirPath);\n }\n}\n\nmain().then();\n", "import fs from 'fs';\nimport path from 'path';\n\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\nimport { spawnSync, spawnSyncWithStringResult } from '../utils/spawnUtil';\n\nexport async function generateVersionConfigs(config: PackageConfig): Promise<void> {\n if (!config.versionsText) return;\n\n const lines: string[] = [];\n for (const versionText of config.versionsText.trim().split('\\n')) {\n const line = versionText.trim();\n if (line && line.split(/\\s+/)[0] !== 'nodejs') {\n lines.push(line);\n continue;\n }\n\n const [, version] = line.split(/\\s+/);\n await promisePool.run(() => fs.promises.writeFile(path.resolve(config.dirPath, '.node-version'), version));\n }\n if (config.containingPoetryLock) {\n updateLine('poetry 1.1.13', 0, lines);\n updateLine('python 3.9.13', 0, lines);\n }\n if (config.depending.firebase) {\n updateLine('java adoptopenjdk-17.0.2+8', 0, lines);\n }\n if (config.containingPackageJson) {\n const version = spawnSyncWithStringResult('npm', ['show', 'yarn', 'version'], config.dirPath);\n updateLine(`yarn ${version}`, lines.length, lines);\n }\n\n const toolVersionsPath = path.resolve(config.dirPath, '.tool-versions');\n if (lines.length) {\n await promisePool.run(() => fs.promises.writeFile(toolVersionsPath, lines.join('\\n') + '\\n'));\n } else {\n await promisePool.run(() => fs.promises.rm(toolVersionsPath, { force: true }));\n }\n await promisePool.promiseAll();\n spawnSync('asdf', ['install'], config.dirPath);\n}\n\nfunction updateLine(line: string, insertionIndex: number, lines: string[]): void {\n const [prefix] = line.split(' ');\n const index = lines.findIndex((l) => l.split(/\\s+/)[0] === prefix);\n if (index >= 0) {\n lines[index] = line;\n } else {\n lines.splice(insertionIndex, 0, line);\n }\n}\n", "import { PromisePool } from 'minimal-promise-pool';\n\nexport const promisePool = new PromisePool();\n", "import child_process from 'child_process';\n\nexport function spawnSync(command: string, args: string[], cwd: string, retry = 0): void {\n do {\n const [newCmd, newArgs, options] = getSpawnSyncArgs(command, args, cwd);\n console.log(`$ ${newCmd} ${newArgs.join(' ')} at ${options.cwd}`);\n const ret = child_process.spawnSync(newCmd, newArgs, options);\n if (ret.status === 0) break;\n } while (--retry >= 0);\n}\n\nexport function spawnSyncWithStringResult(command: string, args: string[], cwd: string): string {\n const [newCmd, newArgs, options] = getSpawnSyncArgs(command, args, cwd);\n options.stdio = 'pipe';\n const proc = child_process.spawnSync(newCmd, newArgs, options);\n const error = proc.stderr.toString().trim();\n if (error) {\n console.error(`${newCmd} [${newArgs.map((s) => `\"${s}\"`)}] caused the following error:\\n ${error}`);\n }\n return proc.stdout.toString().trim();\n}\n\nexport function getSpawnSyncArgs(command: string, args: string[], cwd: string): [string, string[], any] {\n const env = { ...process.env };\n // Remove berry from PATH\n if (env.PATH && env.BERRY_BIN_FOLDER) {\n env.PATH = env.PATH.replace(`${env.BERRY_BIN_FOLDER}:`, '');\n }\n\n if (env.ASDF_DIR) {\n args = ['-l', '-c', `. ${env.ASDF_DIR}/asdf.sh && ${command} ${args.join(' ')}`];\n command = 'bash';\n }\n return [\n command,\n args,\n {\n cwd,\n env,\n shell: false,\n stdio: 'inherit',\n },\n ];\n}\n", "import path from 'path';\n\nimport { extensions } from '../utils/extensions';\nimport { FsUtil } from '../utils/fsUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\n\nconst newContent = `root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n${generateExtensions(extensions.codeWith2IndentSize)}\nindent_size = 2\nindent_style = space\n\n${generateExtensions(extensions.codeWith4IndentSize)}\nindent_size = 4\nindent_style = space\n\n${generateExtensions(extensions.codeWith8IndentSize)}\nindent_size = 8\nindent_style = space\n\n${generateExtensions(extensions.markdownLike)}\nmax_line_length = off\ntrim_trailing_whitespace = false\n\n[{Makefile,*.mk}]\nindent_style = tab\n`;\n\nexport async function generateEditorconfig(config: PackageConfig): Promise<void> {\n const filePath = path.resolve(config.dirPath, '.editorconfig');\n await promisePool.run(() => FsUtil.generateFile(filePath, newContent));\n}\n\nfunction generateExtensions(extensions: string[]): string {\n return extensions.length > 1 ? `[*.{${extensions.join(',')}}]` : `[*.${extensions[0]}]`;\n}\n", "export const extensions = {\n codeWith2IndentSize: [\n 'cjs',\n 'mjs',\n 'js',\n 'jsx',\n 'ts',\n 'tsx',\n 'json',\n 'json5',\n 'cpp',\n 'dart',\n 'htm',\n 'html',\n 'pu',\n 'puml',\n 'rb',\n 'vue',\n 'yaml',\n 'yml',\n ].sort(),\n codeWith4IndentSize: ['go', 'gradle', 'py'].sort(),\n codeWith8IndentSize: ['sh'].sort(),\n markdownLike: ['md'].sort(),\n eslint: ['cjs', 'mjs', 'js', 'ts', 'tsx', 'jsx'].sort(),\n prettier: [\n 'cjs',\n 'mjs',\n 'js',\n 'jsx',\n 'ts',\n 'tsx',\n 'json',\n 'json5',\n 'css',\n 'htm',\n 'html',\n 'md',\n 'scss',\n 'vue',\n 'yaml',\n 'yml',\n ].sort(),\n};\n", "import fsp from 'fs/promises';\n\nexport const FsUtil = {\n async generateFile(filePath: string, content: string): Promise<void> {\n await fsp.writeFile(filePath, content);\n console.log(`Generated ${filePath}`);\n },\n};\n", "import path from 'path';\n\nimport { FsUtil } from '../utils/fsUtil';\nimport { IgnoreFileUtil } from '../utils/ignoreFileUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\n\nconst defaultUserContent = `${IgnoreFileUtil.header}\n\n\n${IgnoreFileUtil.separator}\n`;\n\nconst commonContent = `\n3rd-party/\n@types/\n__generated__/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.config.js\n*.d.ts\n*.min.js\n.yarn/\n.pnp.js\n`;\n\nexport async function generateEslintignore(config: PackageConfig): Promise<void> {\n const filePath = path.resolve(config.dirPath, '.eslintignore');\n const userContent = (await IgnoreFileUtil.getUserContent(filePath)) || defaultUserContent;\n\n const gitignoreFilePath = path.resolve(config.dirPath, '.gitignore');\n const gitignoreContent = (await IgnoreFileUtil.getExistingContent(gitignoreFilePath)) || '';\n\n const newContent = userContent + commonContent + gitignoreContent;\n await promisePool.run(() => FsUtil.generateFile(filePath, newContent));\n}\n", "import fs from 'fs';\n\nexport const IgnoreFileUtil = {\n header: '# Project-specific settings',\n separator: '# Generated by @willbooster/willboosterify',\n separatorPrefix: '# Generated by @willbooster',\n async getExistingContent(filePath: string): Promise<string | null> {\n try {\n const content = await fs.promises.readFile(filePath, 'utf-8');\n return content\n .replace(/# Project-specific settings[^\\n]*\\n/m, '')\n .replace(/# Generated by[^\\n]*\\n/m, '')\n .replace(/\\r?\\n\\r?\\n(\\r?\\n)+/gm, '\\n\\n');\n } catch (_) {\n return null;\n }\n },\n async getUserContent(filePath: string): Promise<string | null> {\n try {\n const content = await fs.promises.readFile(filePath, 'utf-8');\n const index = content.indexOf(this.separatorPrefix);\n if (index >= 0) {\n return content.substring(0, content.indexOf('\\n', index) + 1);\n }\n } catch (_) {\n // do nothing\n }\n return null;\n },\n async isBerryZeroInstallEnabled(filePath: string): Promise<boolean> {\n try {\n const content = await fs.promises.readFile(filePath, 'utf-8');\n return content.includes('\\n!.yarn/cache');\n } catch (_) {\n return false;\n }\n },\n};\n", "import fs from 'fs';\nimport path from 'path';\n\nimport merge from 'deepmerge';\n\nimport { FsUtil } from '../utils/fsUtil';\nimport { combineMerge } from '../utils/mergeUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\n\nexport async function generateEslintrc(config: PackageConfig, rootConfig: PackageConfig): Promise<void> {\n const bases = [];\n if (config.eslintBase) {\n bases.push(config.eslintBase);\n }\n if (config !== rootConfig) {\n bases.push('../../.eslintrc.json');\n }\n let newSettings: any = { root: true, extends: bases };\n\n const filePath = path.resolve(config.dirPath, '.eslintrc.json');\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf-8');\n const oldSettings = JSON.parse(oldContent);\n if (oldSettings.extends) {\n oldSettings.extends = oldSettings.extends.filter(\n (ext: string) => !ext.startsWith('@willbooster/') && ext !== '../../.eslintrc.json'\n );\n }\n if (!bases.length) {\n oldSettings.extends = [];\n }\n const newExtends = newSettings.extends;\n newSettings.extends = oldSettings.extends;\n oldSettings.extends = newExtends;\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: combineMerge });\n if (config.depending.blitz) {\n newSettings.extends = [...newSettings.extends.filter((e: string) => e !== 'blitz'), 'blitz'];\n }\n } catch (e) {\n // do nothing\n }\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => FsUtil.generateFile(filePath, newContent));\n}\n", "import merge from 'deepmerge';\n\nexport function overwriteMerge(destinationArray: any[], sourceArray: any[]): any[] {\n return sourceArray;\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function combineMerge(target: any[], source: any[], options: any): any[] {\n const destination = target.slice();\n\n source.forEach((item, index) => {\n if (typeof destination[index] === 'undefined') {\n destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);\n } else if (options.isMergeableObject(item)) {\n destination[index] = merge(target[index], item, options);\n } else if (target.indexOf(item) === -1) {\n destination.push(item);\n }\n });\n return destination;\n}\n", "import path from 'path';\n\nimport { extensions } from '../utils/extensions';\nimport { FsUtil } from '../utils/fsUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\n\nconst newContent = `* text=auto\n\n*.vcproj text eol=crlf\n\n${extensions.codeWith2IndentSize\n .concat(extensions.codeWith4IndentSize)\n .concat(extensions.markdownLike)\n .map((ext) => `*.${ext} text eol=lf`)\n .join('\\n')}\n`;\n\nexport async function generateGitattributes(config: PackageConfig): Promise<void> {\n const filePath = path.resolve(config.dirPath, '.gitattributes');\n await promisePool.run(() => FsUtil.generateFile(filePath, newContent));\n}\n", "import path from 'path';\n\nimport { fetchOnNode } from '../utils/fetchOnNode';\nimport { FsUtil } from '../utils/fsUtil';\nimport { IgnoreFileUtil } from '../utils/ignoreFileUtil';\nimport { PackageConfig } from '../utils/packageConfig';\n\nconst defaultNames = ['windows', 'macos', 'linux', 'jetbrains', 'visualstudiocode', 'emacs', 'vim', 'yarn'];\n\nconst defaultUserContent = `${IgnoreFileUtil.header}\n\n\n${IgnoreFileUtil.separator}\n`;\n\nconst commonContent = `\n.devcontainer/\ndist/\ntemp/\nIcon[\\r]\n*.sqlite3\n*.sqlite3-journal\n`;\n\nconst gitignoreCache = new Map<string, string>();\n\nexport async function generateGitignore(config: PackageConfig, rootConfig: PackageConfig): Promise<void> {\n const filePath = path.resolve(config.dirPath, '.gitignore');\n let userContent = ((await IgnoreFileUtil.getUserContent(filePath)) || defaultUserContent) + commonContent;\n\n const names = [...defaultNames];\n if (config.containingGemfile) {\n names.push('ruby');\n }\n if (config.containingGoMod) {\n names.push('go');\n userContent += `${path.basename(config.dirPath)}\n`;\n }\n if (config.containingPackageJson) {\n names.push('node');\n }\n if (config.containingPomXml) {\n names.push('maven');\n userContent += `.idea/google-java-format.xml\n`;\n }\n if (config.containingPubspecYaml) {\n names.push('flutter', 'AndroidStudio', 'ruby');\n userContent += `.flutter-plugins-dependencies\nandroid/key.properties\nios/.bundle\n.idea/runConfigurations.xml\n`;\n }\n if (config.containingTemplateYaml) {\n userContent += `.aws-sam/\npackaged.yaml\n`;\n }\n // Because .venv should be ignored on root directory\n if (config.containingPoetryLock) {\n names.push('python');\n }\n if (rootConfig.depending.firebase || config.depending.firebase) {\n names.push('firebase');\n }\n if (rootConfig.depending.reactNative || config.depending.reactNative) {\n names.push('reactnative');\n userContent += `google-services.json\nandroid/app/src/main/assets/\n`;\n }\n if (rootConfig.depending.storybook) {\n names.push('storybookjs');\n }\n if (rootConfig.depending.blitz) {\n names.push('nextjs');\n userContent += `.blitz/\n.blitz**\n`;\n }\n\n let generated = '';\n for (const name of names) {\n if (!gitignoreCache.has(name)) {\n const url = `https://www.toptal.com/developers/gitignore/api/${name}`;\n const response = await fetchOnNode(url);\n const responseText = await response.text();\n if (responseText.includes('Attention Required!')) {\n console.error(`Failed to fetch ${url}`);\n return;\n }\n gitignoreCache.set(name, responseText.trim());\n }\n if (generated) generated += '\\n';\n generated += gitignoreCache.get(name) + '\\n';\n }\n if (!(await IgnoreFileUtil.isBerryZeroInstallEnabled(filePath))) {\n generated = generated.replace('!.yarn/cache', '# !.yarn/cache').replace('# .pnp.*', '.pnp.*');\n }\n if (config.containingPomXml || config.containingPubspecYaml) {\n generated = generated\n .replace(/^# .idea\\/artifacts$/gm, '.idea/artifacts')\n .replace(/^# .idea\\/compiler.xml$/gm, '.idea/compiler.xml')\n .replace(/^# .idea\\/jarRepositories.xml$/gm, '.idea/jarRepositories.xml')\n .replace(/^# .idea\\/modules.xml$/gm, '.idea/modules.xml')\n .replace(/^# .idea\\/*.iml$/gm, '.idea/*.iml')\n .replace(/^# .idea\\/modules$/gm, '.idea/modules')\n .replace(/^# *.iml$/gm, '*.iml')\n .replace(/^# *.ipr$/gm, '*.ipr');\n if (config.containingPubspecYaml) {\n generated = generated.replace(/^.idea\\/modules.xml$/gm, '# .idea/modules.xml');\n }\n }\n generated = generated.replace(/^.idea\\/?$/gm, '# .idea');\n if (rootConfig.depending.reactNative || config.depending.reactNative || config.containingPubspecYaml) {\n generated = generated.replace(/^(.idea\\/.+)$/gm, '$1\\nandroid/$1');\n }\n const newContent = userContent + generated;\n await FsUtil.generateFile(filePath, newContent);\n}\n", "import type { RequestInfo, RequestInit, Response } from 'node-fetch';\n\nexport async function fetchOnNode(url: RequestInfo, init?: RequestInit | undefined): Promise<Response> {\n const { default: nodeFetch } = await import('node-fetch');\n return nodeFetch(url, init);\n}\n", "import fs from 'fs';\nimport path from 'path';\n\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\nimport { spawnSync } from '../utils/spawnUtil';\n\nconst DEFAULT_COMMAND = 'npm test';\n\nconst settings = {\n preCommit: 'yarn lint-staged',\n prePush: `yarn typecheck`,\n prePushForLab: `\nif [ $(git branch --show-current) = \"main\" ]; then\n echo \"************************************************\"\n echo \"*** Don't push main branch directly. Use PR! ***\"\n echo \"************************************************\"\n exit 1\nfi\n\nyarn typecheck`.trim(),\n postMerge: 'yarn',\n};\n\nexport async function generateHuskyrc(config: PackageConfig): Promise<void> {\n const packageJsonPath = path.resolve(config.dirPath, 'package.json');\n const jsonText = await fs.promises.readFile(packageJsonPath, 'utf-8');\n const packageJson = JSON.parse(jsonText);\n packageJson.scripts ||= {};\n delete packageJson.scripts['postinstall'];\n delete packageJson.scripts['postpublish'];\n delete packageJson.scripts['prepare'];\n delete packageJson.scripts['prepublishOnly'];\n delete packageJson.scripts['prepack'];\n delete packageJson.scripts['postpack'];\n\n const dirPath = path.resolve(config.dirPath, '.husky');\n await Promise.all([\n fs.promises.writeFile(packageJsonPath, JSON.stringify(packageJson, undefined, 2)),\n fs.promises.rm(dirPath, { force: true, recursive: true }),\n ]);\n spawnSync('yarn', ['dlx', 'husky-init', '--yarn2'], config.dirPath);\n\n const preCommitFilePath = path.resolve(dirPath, 'pre-commit');\n const content = await fs.promises.readFile(preCommitFilePath, 'utf-8');\n\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.huskyrc.json'), { force: true }));\n await promisePool.run(() =>\n fs.promises.writeFile(preCommitFilePath, content.replace(DEFAULT_COMMAND, settings.preCommit))\n );\n\n if (config.containingTypeScript || config.containingTypeScriptInPackages) {\n const prePush = config.repository?.startsWith('github:WillBoosterLab/') ? settings.prePushForLab : settings.prePush;\n await promisePool.run(() =>\n fs.promises.writeFile(path.resolve(dirPath, 'pre-push'), content.replace(DEFAULT_COMMAND, prePush), {\n mode: 0o755,\n })\n );\n }\n\n const postMergeCommands: string[] = [];\n if (config.versionsText?.includes('python ')) {\n postMergeCommands.push('asdf install python');\n }\n if (config.versionsText) {\n postMergeCommands.push('asdf install');\n }\n postMergeCommands.push(settings.postMerge);\n if (config.containingPoetryLock) {\n postMergeCommands.push('poetry install');\n }\n if (config.depending.blitz || config.depending.prisma) {\n postMergeCommands.push('yarn gen-code');\n }\n const postMergeCommand = content.replace(DEFAULT_COMMAND, postMergeCommands.join(' && '));\n await promisePool.run(() =>\n fs.promises.writeFile(path.resolve(dirPath, 'post-merge'), postMergeCommand, {\n mode: 0o755,\n })\n );\n}\n", "import fs from 'fs';\nimport path from 'path';\n\nimport { FsUtil } from '../utils/fsUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\n\nconst newContent = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n <component name=\"ProjectTasksOptions\">\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"prettier --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"ts\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.ts)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"prettier --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"tsx\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.tsx)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"prettier --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"js\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.js)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"prettier --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"json\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.json)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"prettier --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"md\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.md)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"prettier --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"html\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.html)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n </component>\n</project>\n`;\n\nexport async function generateIdeaSettings(config: PackageConfig): Promise<void> {\n const dirPath = path.resolve(config.dirPath, '.idea');\n if (fs.existsSync(dirPath)) {\n const filePath = path.resolve(dirPath, 'watcherTasks.xml');\n if (\n config.containingJavaScript ||\n config.containingJavaScriptInPackages ||\n config.containingTypeScript ||\n config.containingTypeScriptInPackages ||\n (config.containingPackageJson &&\n !config.containingPubspecYaml &&\n !config.containingGemfile &&\n !config.containingGoMod &&\n !config.containingPomXml)\n ) {\n await promisePool.run(() => FsUtil.generateFile(filePath, newContent));\n } else {\n await promisePool.run(() => fs.promises.rm(filePath, { force: true }));\n }\n }\n}\n", "import fs from 'fs';\nimport path from 'path';\n\nimport { EslintUtil } from '../utils/eslintUtil';\nimport { extensions } from '../utils/extensions';\nimport { FsUtil } from '../utils/fsUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\nimport { getSrcDirs } from '../utils/srcDirectories';\n\nexport async function generateLintstagedrc(config: PackageConfig): Promise<void> {\n const lines: string[] = [];\n if (config.containingJavaScript || config.containingTypeScript) {\n const eslint = `\n '${getEslintKey(config)}': [${JSON.stringify(\n `eslint --fix${EslintUtil.getLintFixSuffix(config)}`\n )}, 'prettier --write'],`;\n lines.push(eslint);\n }\n const packagesFilter = config.root ? \" && !file.includes('/packages/')\" : '';\n lines.push(`\n './**/*.{${extensions.prettier.join(',')}}': files => {\n ${config.containingJavaScript || config.containingTypeScript ? getEslintFilterForPrettier(config) : ''}\n const filteredFiles = files.filter(file => !file.includes('/test-fixtures/')${packagesFilter});\n if (filteredFiles.length === 0) return [];\n const commands = [\\`prettier --write \\${filteredFiles.join(' ')}\\`];\n if (filteredFiles.some(file => file.endsWith('package.json'))) {\n commands.push('yarn sort-package-json');\n }\n return commands;\n },`);\n if (config.containingPubspecYaml) {\n lines.push(`\n './{lib,test,test_driver}/**/*.dart': files => {\n const filteredFiles = files.filter(file => !file.includes('generated'))\n .filter(file => !file.endsWith('.freezed.dart') && !file.endsWith('.g.dart'));\n if (filteredFiles.length === 0) return [];\n return [\\`flutter format \\${filteredFiles.join(' ')}\\`];\n },`);\n }\n if (config.containingPoetryLock) {\n lines.push(`\n './**/*.py': [\n 'poetry run isort --profile black --filter-files',\n 'poetry run black',\n 'poetry run flake8'\n ],`);\n }\n\n const newContent = `${\n config.containingJavaScript || config.containingTypeScript ? \"const micromatch = require('micromatch');\" : ''\n }\n\nmodule.exports = {${lines.join('')}\n};\n`;\n\n const filePath = path.resolve(config.dirPath, '.lintstagedrc.cjs');\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.lintstagedrc.js'), { force: true }));\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.lintstagedrc.json'), { force: true }));\n await promisePool.run(() => FsUtil.generateFile(filePath, newContent));\n}\n\nfunction getEslintKey(config: PackageConfig): string {\n const dirs = getSrcDirs(config);\n return `./{${dirs.join(',')}}/**/*.{${extensions.eslint.join(',')}}`;\n}\n\nfunction getEslintFilterForPrettier(config: PackageConfig): string {\n return `files = micromatch.not(files, '${getEslintKey(config)}');`;\n}\n", "import { PackageConfig } from './packageConfig';\n\nexport const EslintUtil = {\n getLintFixSuffix(config: PackageConfig): string {\n return config.containingJsxOrTsx ? ' --rule \"{ react-hooks/exhaustive-deps: 0 }\"' : '';\n },\n};\n", "import { PackageConfig } from './packageConfig';\n\nconst srcDirectories = {\n node: ['src', '__tests__', 'scripts'],\n blitz: ['app', 'db', 'integrations', 'mailers', 'test'],\n};\n\nsrcDirectories.blitz = [...srcDirectories.node, ...srcDirectories.blitz];\n\nexport function getSrcDirs(config: PackageConfig): string[] {\n return config.depending.blitz ? srcDirectories.blitz : srcDirectories.node;\n}\n", "import fs from 'fs';\nimport path from 'path';\n\nimport merge from 'deepmerge';\n\nimport { EslintUtil } from '../utils/eslintUtil';\nimport { extensions } from '../utils/extensions';\nimport { IgnoreFileUtil } from '../utils/ignoreFileUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\nimport { spawnSync } from '../utils/spawnUtil';\nimport { getSrcDirs } from '../utils/srcDirectories';\n\nconst jsCommonDeps = [\n 'eslint',\n 'eslint-config-prettier',\n 'eslint-plugin-import',\n 'eslint-plugin-sort-class-members',\n 'eslint-plugin-sort-destructure-keys',\n];\n\nconst tsCommonDeps = [\n ...jsCommonDeps,\n '@typescript-eslint/eslint-plugin',\n '@typescript-eslint/parser',\n 'eslint-import-resolver-typescript',\n];\n\nconst reactCommonDeps = ['eslint-plugin-react', 'eslint-plugin-react-hooks'];\n\nconst devDeps: { [prop: string]: string[] } = {\n '@willbooster/eslint-config-js': ['@willbooster/eslint-config-js', ...jsCommonDeps],\n '@willbooster/eslint-config-js-react': ['@willbooster/eslint-config-js-react', ...jsCommonDeps, ...reactCommonDeps],\n '@willbooster/eslint-config-ts': ['@willbooster/eslint-config-ts', ...tsCommonDeps],\n '@willbooster/eslint-config-ts-react': ['@willbooster/eslint-config-ts-react', ...tsCommonDeps, ...reactCommonDeps],\n '../../.eslintrc.json': [],\n};\n\nexport async function generatePackageJson(\n config: PackageConfig,\n rootConfig: PackageConfig,\n skipAddingDeps: boolean\n): Promise<void> {\n const filePath = path.resolve(config.dirPath, 'package.json');\n const jsonText = await fs.promises.readFile(filePath, 'utf-8');\n const jsonObj = JSON.parse(jsonText);\n jsonObj.scripts = jsonObj.scripts || {};\n jsonObj.dependencies = jsonObj.dependencies || {};\n jsonObj.devDependencies = jsonObj.devDependencies || {};\n jsonObj.peerDependencies = jsonObj.peerDependencies || {};\n\n await removeDeprecatedStuff(jsonObj);\n\n if (jsonObj.name !== '@willbooster/prettier-config') {\n jsonObj.prettier = '@willbooster/prettier-config';\n }\n\n for (const scriptKey of Object.keys(jsonObj.scripts)) {\n // Fresh repo still requires 'yarn install'\n if (!jsonObj.scripts[scriptKey].includes('git clone')) {\n jsonObj.scripts[scriptKey] = jsonObj.scripts[scriptKey]\n .replace(/yarn\\s*&&\\s*/, '')\n .replace(/yarn\\s*install\\s*&&\\s*/, '');\n }\n }\n\n jsonObj.scripts = merge(jsonObj.scripts, generateScripts(config));\n jsonObj.scripts.prettify += await generatePrettierSuffix(config.dirPath);\n\n let dependencies: string[] = [];\n let devDependencies = ['lint-staged', 'prettier', 'sort-package-json', '@willbooster/prettier-config'];\n const poetryDependencies: string[] = [];\n\n if (config.root) {\n // To install the latest pinst\n devDependencies.push('husky', 'pinst', '@willbooster/renovate-config');\n if (config.depending.semanticRelease) {\n devDependencies.push('conventional-changelog-conventionalcommits');\n }\n if (config.containingSubPackageJsons) {\n jsonObj.workspaces = ['packages/*'];\n } else {\n delete jsonObj.workspaces;\n }\n }\n\n if (\n config.containingJavaScript ||\n config.containingJavaScriptInPackages ||\n config.containingTypeScript ||\n config.containingTypeScriptInPackages\n ) {\n devDependencies.push('eslint', 'micromatch');\n // TODO: not needed anymore?\n if (config.containingTypeScriptInPackages) {\n devDependencies.push('@typescript-eslint/parser');\n }\n }\n\n if ((config.containingTypeScript || config.containingTypeScriptInPackages) && !config.depending.blitz) {\n devDependencies.push('typescript');\n }\n\n if (config.eslintBase) {\n devDependencies.push(...devDeps[config.eslintBase]);\n }\n\n if (config.willBoosterConfigs) {\n dependencies = dependencies.filter((dep) => !dep.includes('@willbooster/'));\n devDependencies = devDependencies.filter((dep) => !dep.includes('@willbooster/'));\n }\n\n if (!jsonObj.name) {\n jsonObj.name = path.basename(config.dirPath);\n }\n\n if (config.containingSubPackageJsons) {\n jsonObj.private = true;\n }\n\n if (!jsonObj.license) {\n jsonObj.license = 'UNLICENSED';\n }\n\n if (!config.containingTypeScript && !config.containingTypeScriptInPackages) {\n delete jsonObj.scripts.typecheck;\n }\n\n // https://github.com/semantic-release/semantic-release/issues/2323#issuecomment-1032341621\n if (config.depending.semanticRelease && config.release.npm) {\n jsonObj.resolutions ||= {};\n jsonObj.resolutions['npm/chalk'] = '^4.1.2';\n }\n\n if (!config.containingSubPackageJsons) {\n if (!config.containingJavaScript && !config.containingTypeScript) {\n delete jsonObj.scripts.lint;\n delete jsonObj.scripts['lint-fix'];\n jsonObj.scripts.cleanup = jsonObj.scripts.cleanup.replace(' && yarn lint-fix', '');\n } else {\n jsonObj.scripts['lint-fix'] += EslintUtil.getLintFixSuffix(config);\n }\n\n if (config.containingPubspecYaml) {\n jsonObj.scripts.lint = 'flutter analyze';\n jsonObj.scripts['lint-fix'] = 'yarn lint';\n const dirs = ['lib', 'test', 'test_driver'].filter((dir) => fs.existsSync(path.resolve(config.dirPath, dir)));\n if (dirs.length > 0) {\n jsonObj.scripts['format-code'] = `flutter format $(find ${dirs.join(\n ' '\n )} -name generated -prune -o -name '*.freezed.dart' -prune -o -name '*.g.dart' -prune -o -name '*.dart' -print)`;\n jsonObj.scripts.format += ` && yarn format-code`;\n }\n }\n\n if (config.containingPoetryLock) {\n if (jsonObj.scripts.postinstall === 'poetry install') {\n delete jsonObj.scripts.postinstall;\n }\n const dirNames = (await fs.promises.readdir(config.dirPath)).filter((dirName) => {\n const dirPath = path.resolve(config.dirPath, dirName);\n if (!fs.lstatSync(dirPath).isDirectory()) return false;\n return fs.readdirSync(dirPath).some((fileName) => fileName.endsWith('.py'));\n });\n if (dirNames.length > 0) {\n jsonObj.scripts['format-code'] = `poetry run isort --profile black ${dirNames.join(\n ' '\n )} && poetry run black ${dirNames.join(' ')}`;\n jsonObj.scripts.lint = `poetry run flake8 ${dirNames.join(' ')}`;\n jsonObj.scripts['lint-fix'] = 'yarn lint';\n jsonObj.scripts.format += ` && yarn format-code`;\n poetryDependencies.push('black', 'isort', 'flake8');\n }\n }\n\n if (config.repository) {\n jsonObj.repository = config.repository;\n }\n }\n\n if (config.depending.blitz) {\n // These cause an error of eslint-plugin-import loading\n devDependencies = devDependencies.filter((dep) => !dep.includes('@typescript-eslint/'));\n // This causes eslint errors\n devDependencies = devDependencies.filter(\n (d) =>\n d !== 'eslint-plugin-react' &&\n d !== 'eslint-import-resolver-typescript' &&\n d !== 'eslint-plugin-import' &&\n d !== 'eslint-plugin-react-hooks'\n );\n if (!jsonObj.scripts['gen-code']?.startsWith('blitz codegen')) {\n jsonObj.scripts['gen-code'] = 'blitz codegen';\n }\n } else if (config.depending.prisma) {\n if (!jsonObj.scripts['gen-code']?.startsWith('prisma generate')) {\n jsonObj.scripts['gen-code'] = 'prisma generate';\n }\n }\n if (!Object.keys(jsonObj.dependencies).length) {\n delete jsonObj.dependencies;\n }\n if (!Object.keys(jsonObj.devDependencies).length) {\n delete jsonObj.devDependencies;\n }\n if (!Object.keys(jsonObj.peerDependencies).length) {\n delete jsonObj.peerDependencies;\n }\n\n await fs.promises.writeFile(filePath, JSON.stringify(jsonObj));\n\n if (!skipAddingDeps) {\n dependencies = dependencies.filter((dep) => !jsonObj.devDependencies?.[dep]);\n if (dependencies.length) {\n spawnSync('yarn', ['add', ...new Set(dependencies)], config.dirPath);\n }\n devDependencies = devDependencies.filter((dep) => !jsonObj.dependencies?.[dep]);\n if (devDependencies.length) {\n spawnSync('yarn', ['add', '-D', ...new Set(devDependencies)], config.dirPath);\n }\n if (poetryDependencies.length) {\n spawnSync('poetry', ['add', ...new Set(poetryDependencies)], config.dirPath);\n }\n }\n}\n\nasync function removeDeprecatedStuff(jsonObj: any): Promise<void> {\n // TODO: remove the following migration code in future\n if (jsonObj.author === 'WillBooster LLC') {\n jsonObj.author = 'WillBooster Inc.';\n }\n delete jsonObj.scripts['sort-package-json'];\n delete jsonObj.scripts['sort-all-package-json'];\n delete jsonObj.scripts['typecheck:codegen'];\n delete jsonObj.dependencies['tslib'];\n delete jsonObj.devDependencies['@willbooster/eslint-config'];\n delete jsonObj.devDependencies['@willbooster/eslint-config-react'];\n delete jsonObj.devDependencies['@willbooster/tsconfig'];\n delete jsonObj.devDependencies['eslint-import-resolver-node'];\n delete jsonObj.devDependencies['eslint-plugin-prettier'];\n delete jsonObj.devDependencies['lerna'];\n // To install the latest pinst\n delete jsonObj.devDependencies['pinst'];\n delete jsonObj.scripts['flutter-format'];\n delete jsonObj.scripts['format-flutter'];\n delete jsonObj.scripts['python-format'];\n delete jsonObj.scripts['format-python'];\n delete jsonObj.scripts['prettier'];\n for (const deps of Object.values(devDeps)) {\n for (const dep of deps) {\n delete jsonObj.devDependencies[dep];\n }\n }\n await promisePool.run(() => fs.promises.rm('lerna.json', { force: true }));\n}\n\nfunction generateScripts(config: PackageConfig): Record<string, string> {\n let scripts = {\n cleanup: 'yarn format && yarn lint-fix',\n format: `sort-package-json && yarn prettify`,\n lint: `eslint --color \"./{${getSrcDirs(config)}}/**/*.{${extensions.eslint.join(',')}}\"`,\n 'lint-fix': 'yarn lint --fix',\n prettify: `prettier --color --write \"**/{.*/,}*.{${extensions.prettier.join(',')}}\" \"!**/test-fixtures/**\"`,\n typecheck: 'tsc --noEmit --Pretty',\n };\n if (config.containingSubPackageJsons) {\n scripts = merge(\n { ...scripts },\n {\n format: `sort-package-json && yarn prettify && yarn workspaces foreach --parallel --verbose run format`,\n lint: `yarn workspaces foreach --parallel --verbose run lint`,\n 'lint-fix': 'yarn workspaces foreach --parallel --verbose run lint-fix',\n prettify: `prettier --color --write \"**/{.*/,}*.{${extensions.prettier.join(\n ','\n )}}\" \"!**/packages/**\" \"!**/test-fixtures/**\"`,\n test: 'yarn workspaces foreach --verbose run test',\n typecheck: 'yarn workspaces foreach --parallel --verbose run typecheck',\n }\n );\n }\n if (config.depending.blitz) {\n scripts.typecheck = `${scripts.typecheck} || yarn run typecheck/warn`;\n (scripts as any)['typecheck/warn'] = `echo 'Please try \"yarn gen-code\" if you face unknown type errors.' && exit 1`;\n (scripts as any)['typecheck:gen-code'] = 'yarn gen-code && tsc --noEmit --Pretty';\n }\n return scripts;\n}\n\nasync function generatePrettierSuffix(dirPath: string): Promise<string> {\n const filePath = path.resolve(dirPath, '.prettierignore');\n const existingContent = await fs.promises.readFile(filePath, 'utf-8');\n const index = existingContent.indexOf(IgnoreFileUtil.separatorPrefix);\n if (index < 0) return '';\n\n const originalContent = existingContent.substring(0, index);\n const lines = originalContent\n .split('\\n')\n .map((line) => {\n const newLine = line.trim();\n return newLine.endsWith('/') ? newLine.slice(0, -1) : newLine;\n })\n .filter((l) => l && !l.startsWith('#') && !l.includes('/'));\n\n return lines.map((line) => ` \"!**/${line}/**\"`).join('');\n}\n", "import path from 'path';\n\nimport { FsUtil } from '../utils/fsUtil';\nimport { IgnoreFileUtil } from '../utils/ignoreFileUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\n\nconst defaultUserContent = `${IgnoreFileUtil.header}\n\n\n${IgnoreFileUtil.separator}\n`;\n\nconst commonContent = `\n3rd-party/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.d.ts\n*.min.js\n.yarn/\n.pnp.js\n`;\n\nexport async function generatePrettierignore(config: PackageConfig): Promise<void> {\n const filePath = path.resolve(config.dirPath, '.prettierignore');\n const userContent = (await IgnoreFileUtil.getUserContent(filePath)) || defaultUserContent;\n\n const gitignoreFilePath = path.resolve(config.dirPath, '.gitignore');\n const gitignoreContent = (await IgnoreFileUtil.getExistingContent(gitignoreFilePath)) || '';\n\n let additionalContent = '';\n if (config.containingPubspecYaml) {\n additionalContent = `\nandroid/app/\nios/Runner/Assets.xcassets/\npubspec.yaml\n`;\n }\n\n const newContent = userContent + commonContent + additionalContent + gitignoreContent;\n await promisePool.run(() => FsUtil.generateFile(filePath, newContent));\n}\n", "import fs from 'fs';\nimport path from 'path';\n\nimport { FsUtil } from '../utils/fsUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\n\nexport async function generateReleaserc(rootConfig: PackageConfig): Promise<void> {\n const filePath = path.resolve(rootConfig.dirPath, '.releaserc.json');\n try {\n const settings = JSON.parse(await fs.promises.readFile(filePath, 'utf8'));\n const plugins = settings?.plugins || [];\n for (let i = 0; i < plugins.length; i++) {\n const plugin = Array.isArray(plugins[i]) ? plugins[i][0] : plugins[i];\n if (plugin === '@semantic-release/commit-analyzer') {\n plugins[i] = [\n '@semantic-release/commit-analyzer',\n {\n preset: 'conventionalcommits',\n },\n ];\n } else if (plugin === '@semantic-release/github' && !rootConfig.publicRepo) {\n plugins[i] = ['@semantic-release/github', { successComment: false }];\n }\n }\n const newContent = JSON.stringify(settings);\n await promisePool.run(() => FsUtil.generateFile(filePath, newContent));\n } catch (_) {\n // do nothing\n }\n}\n", "import fs from 'fs';\nimport path from 'path';\n\nimport merge from 'deepmerge';\nimport cloneDeep from 'lodash.clonedeep';\n\nimport { FsUtil } from '../utils/fsUtil';\nimport { overwriteMerge } from '../utils/mergeUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\n\nconst jsonObj = {\n extends: ['@willbooster'],\n};\n\nexport async function generateRenovateJson(config: PackageConfig): Promise<void> {\n let newSettings: any = cloneDeep(jsonObj);\n\n const filePath = path.resolve(config.dirPath, '.renovaterc.json');\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf-8');\n const oldSettings = JSON.parse(oldContent) as any;\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: overwriteMerge });\n } catch (e) {\n // do nothing\n }\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.dependabot'), { force: true }));\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, 'renovate.json'), { force: true }));\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => FsUtil.generateFile(filePath, newContent));\n}\n", "import fs from 'fs';\nimport path from 'path';\n\nimport merge from 'deepmerge';\nimport cloneDeep from 'lodash.clonedeep';\n\nimport { FsUtil } from '../utils/fsUtil';\nimport { overwriteMerge } from '../utils/mergeUtil';\nimport { sortKeys } from '../utils/objectUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\n\nconst rootJsonObj = {\n compilerOptions: {\n target: 'esnext',\n module: 'esnext',\n moduleResolution: 'node',\n jsx: 'react',\n alwaysStrict: true,\n strict: true,\n skipLibCheck: true,\n allowSyntheticDefaultImports: true,\n esModuleInterop: true,\n resolveJsonModule: true,\n sourceMap: true,\n importHelpers: false,\n outDir: 'dist',\n },\n include: [\n 'src/**/*',\n '__tests__/**/*',\n 'scripts/**/*',\n 'packages/*/src/**/*',\n 'packages/*/__tests__/**/*',\n 'packages/*/scripts/**/*',\n './node_modules/@types',\n './@types',\n ],\n};\n\nconst subJsonObj = {\n compilerOptions: {\n target: 'esnext',\n module: 'esnext',\n moduleResolution: 'node',\n jsx: 'react',\n alwaysStrict: true,\n strict: true,\n skipLibCheck: true,\n allowSyntheticDefaultImports: true,\n esModuleInterop: true,\n resolveJsonModule: true,\n sourceMap: true,\n importHelpers: false,\n outDir: 'dist',\n },\n include: ['src/**/*', '__tests__/**/*', 'scripts/**/*', '../../node_modules/@types', '../../@types', './@types'],\n};\n\nexport async function generateTsconfig(config: PackageConfig, rootConfig: PackageConfig): Promise<void> {\n if (rootConfig.depending.blitz) return;\n\n let newSettings: any = cloneDeep(config.root ? rootJsonObj : subJsonObj);\n if (!config.containingJsxOrTsx && !config.containingJsxOrTsxInPackages) {\n delete newSettings.compilerOptions.jsx;\n }\n if (config.root && !config.containingSubPackageJsons) {\n newSettings.include = newSettings.include.filter((dirPath: string) => !dirPath.startsWith('packages/*/'));\n }\n if (!config.root && (config.depending.jestPlaywrightPreset || rootConfig.depending.jestPlaywrightPreset)) {\n const relativeDirPath = path.relative(config.dirPath, rootConfig.dirPath);\n newSettings.include.push(\n ...[\n path.join(relativeDirPath, 'node_modules/jest-playwright-preset/types'),\n path.join(relativeDirPath, 'node_modules/expect-playwright'),\n ]\n );\n }\n\n const filePath = path.resolve(config.dirPath, 'tsconfig.json');\n try {\n const existingContent = await fs.promises.readFile(filePath, 'utf-8');\n const oldSettings = JSON.parse(existingContent);\n if (oldSettings.extends === './node_modules/@willbooster/tsconfig/tsconfig.json') {\n delete oldSettings.extends;\n }\n delete oldSettings.compilerOptions?.typeRoots;\n delete newSettings?.compilerOptions?.target;\n delete newSettings?.compilerOptions?.module;\n if (oldSettings.jsx) {\n delete newSettings.jsx;\n }\n if (config.depending.blitz) {\n delete newSettings.include;\n }\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: overwriteMerge });\n } catch (e) {\n // do nothing\n }\n sortKeys(newSettings.compilerOptions);\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => FsUtil.generateFile(filePath, newContent));\n}\n", "export function sortKeys(obj: any): void {\n const keyAndValues = Object.entries(obj).sort(([key1], [key2]) => key1.localeCompare(key2));\n for (const [key, value] of keyAndValues) {\n delete obj[key];\n obj[key] = value;\n }\n}\n", "import fs from 'fs';\nimport path from 'path';\n\nimport merge from 'deepmerge';\nimport yaml from 'js-yaml';\nimport cloneDeep from 'lodash.clonedeep';\n\nimport { combineMerge } from '../utils/mergeUtil';\nimport { sortKeys } from '../utils/objectUtil';\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\n\nconst testWorkflow = {\n name: 'Test',\n on: {\n pull_request: null,\n push: {\n branches: ['main', 'wbfy', 'renovate/**'],\n },\n },\n jobs: {\n test: {\n uses: 'WillBooster/reusable-workflows/.github/workflows/test.yml@main',\n },\n },\n};\n\nconst releaseWorkflow = {\n name: 'Release',\n on: {\n push: {\n branches: [],\n },\n },\n jobs: {\n release: {\n uses: 'WillBooster/reusable-workflows/.github/workflows/release.yml@main',\n },\n },\n};\n\nconst wbfyWorkflow = {\n name: 'Willboosterify',\n on: {\n workflow_dispatch: null,\n },\n jobs: {\n wbfy: {\n uses: 'WillBooster/reusable-workflows/.github/workflows/wbfy.yml@main',\n },\n },\n};\n\nconst wbfyMergeWorkflow = {\n name: 'Merge wbfy',\n on: {\n workflow_dispatch: null,\n },\n jobs: {\n 'wbfy-merge': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/wbfy-merge.yml@main',\n },\n },\n};\n\nconst semanticPullRequestWorkflow = {\n name: 'Lint PR title',\n on: {\n pull_request_target: {\n types: ['opened', 'edited', 'synchronize'],\n },\n },\n jobs: {\n 'semantic-pr': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/semantic-pr.yml@main',\n },\n },\n};\n\ntype KnownKind = 'test' | 'release' | 'sync' | 'wbfy' | 'wbfy-merge' | 'semantic-pr';\n\nexport async function generateWorkflow(rootConfig: PackageConfig): Promise<void> {\n const workflowsPath = path.resolve(rootConfig.dirPath, '.github', 'workflows');\n await fs.promises.mkdir(workflowsPath, { recursive: true });\n\n // Remove config of semantic pull request\n const semanticYmlPath = path.resolve(rootConfig.dirPath, '.github', 'semantic.yml');\n void fs.promises.rm(semanticYmlPath, { force: true, recursive: true });\n\n const fileNames = (await fs.promises.readdir(workflowsPath, { withFileTypes: true }))\n .filter((dirent) => dirent.isFile() && dirent.name.endsWith('.yml'))\n .map((dirent) => dirent.name);\n if (rootConfig.depending.semanticRelease) {\n fileNames.push('release.yml');\n }\n fileNames.push('test.yml', 'wbfy.yml', 'wbfy-merge.yml', 'semantic-pr.yml');\n\n for (const fileName of fileNames) {\n const kind = path.basename(fileName, '.yml');\n await promisePool.run(() => writeWorkflowYaml(rootConfig, workflowsPath, kind));\n }\n}\n\nasync function writeYaml(newSettings: any, filePath: string): Promise<void> {\n const yamlText = yaml.dump(newSettings, {\n lineWidth: -1,\n noCompatMode: true,\n styles: {\n '!!null': 'empty',\n },\n });\n await promisePool.run(() => fs.promises.writeFile(filePath, yamlText));\n}\n\nasync function writeWorkflowYaml(\n config: PackageConfig,\n workflowsPath: string,\n kind: KnownKind | string\n): Promise<void> {\n let newSettings: any = {};\n if (kind === 'test') {\n newSettings = testWorkflow;\n } else if (kind === 'release') {\n newSettings = releaseWorkflow;\n } else if (kind === 'wbfy') {\n newSettings = wbfyWorkflow;\n } else if (kind === 'wbfy-merge') {\n newSettings = wbfyMergeWorkflow;\n } else if (kind === 'semantic-pr') {\n newSettings = semanticPullRequestWorkflow;\n }\n newSettings = cloneDeep(newSettings);\n\n const filePath = path.join(workflowsPath, `${kind}.yml`);\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf-8');\n const oldSettings = yaml.load(oldContent);\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: combineMerge });\n } catch (e) {\n // do nothing\n }\n\n for (const job of Object.values(newSettings.jobs) as any[]) {\n // Ignore non-reusable workflows\n if (!job.uses?.includes?.('/reusable-workflows/')) return;\n\n normalizeJob(config, job, kind);\n }\n\n if (kind === 'release') {\n if (newSettings.on.schedule) {\n delete newSettings.on.push;\n } else {\n newSettings.on.push.branches = config.release.branches;\n }\n } else if (kind === 'wbfy') {\n setSchedule(newSettings, 20, 24);\n } else if (kind === 'wbfy-merge') {\n setSchedule(newSettings, 0, 4);\n }\n await writeYaml(newSettings, filePath);\n\n if (kind === 'release') {\n await promisePool.run(() => fs.promises.rm(path.join(workflowsPath, 'semantic-release.yml'), { force: true }));\n } else if (kind === 'sync') {\n await promisePool.run(() => fs.promises.rm(path.join(workflowsPath, 'sync-init.yml'), { force: true }));\n if (!newSettings.jobs.sync) return;\n\n newSettings.jobs['sync-force'] = newSettings.jobs.sync;\n const params = newSettings.jobs.sync.with.sync_params_without_dest;\n if (!params) return;\n\n newSettings.jobs.sync.with.sync_params_without_dest = `--force ${params}`;\n newSettings.name = 'Force to Sync';\n newSettings.on = { workflow_dispatch: null };\n delete newSettings.jobs.sync;\n await writeYaml(newSettings, path.join(workflowsPath, 'sync-force.yml'));\n }\n}\n\nfunction normalizeJob(config: PackageConfig, job: any, kind: KnownKind | string): void {\n job.with ||= {};\n job.secrets ||= {};\n\n if ((config.release.github && kind === 'test') || kind === 'release' || kind === 'wbfy' || kind === 'wbfy-merge') {\n if (config.publicRepo) {\n job.secrets['GH_TOKEN'] = '${{ secrets.PUBLIC_GH_BOT_PAT }}';\n } else {\n job.secrets['GH_TOKEN'] = '${{ secrets.GH_BOT_PAT }}';\n }\n }\n if (config.release.npm && (kind === 'release' || kind === 'test')) {\n job.secrets['NPM_TOKEN'] = '${{ secrets.NPM_TOKEN }}';\n }\n\n if (kind === 'sync') {\n const params = job.with?.sync_params_without_dest;\n if (params) {\n job.with.sync_params_without_dest = params.replace('sync ', '');\n }\n }\n\n if (config.repository?.startsWith('github:WillBooster/')) {\n job.uses = job.uses.replace('WillBoosterLab/', 'WillBooster/');\n } else if (config.repository?.startsWith('github:WillBoosterLab/')) {\n job.uses = job.uses.replace('WillBooster/', 'WillBoosterLab/');\n }\n\n delete job.with['non_self_hosted'];\n if (config.containingDockerfile && kind.startsWith('deploy')) {\n job.with['cpu_arch'] = 'X64';\n }\n if (config.publicRepo) {\n job.with['github_hosted_runner'] = true;\n }\n if (Object.keys(job.with).length) {\n sortKeys(job.with);\n } else {\n delete job.with;\n }\n\n if (Object.keys(job.secrets).length) {\n sortKeys(job.secrets);\n } else {\n delete job.secrets;\n }\n}\n\nfunction setSchedule(newSettings: any, inclusiveMinHourJst: number, exclusiveMaxHourJst: number): void {\n const [minuteUtc, hourUtc] = ((newSettings.on.schedule?.[0]?.cron as string) ?? '').split(' ').map(Number);\n if (minuteUtc !== 0 && Number.isInteger(hourUtc)) {\n const hourJst = (hourUtc + 9) % 24;\n const inRange =\n inclusiveMinHourJst < exclusiveMaxHourJst\n ? inclusiveMinHourJst <= hourJst && hourJst < exclusiveMaxHourJst\n : inclusiveMinHourJst <= hourJst || hourJst < exclusiveMaxHourJst;\n if (inRange) return;\n }\n\n const minJst = 1 + Math.floor(Math.random() * 59);\n const hourJst = inclusiveMinHourJst + Math.floor(Math.random() * (exclusiveMaxHourJst - inclusiveMinHourJst));\n const cron = `${minJst} ${(hourJst - 9 + 24) % 24} * * *`;\n newSettings.on.schedule = [{ cron }];\n}\n", "import fs from 'fs';\nimport path from 'path';\n\nimport yaml from 'js-yaml';\n\nimport { PackageConfig } from '../utils/packageConfig';\nimport { promisePool } from '../utils/promisePool';\nimport { spawnSync, spawnSyncWithStringResult } from '../utils/spawnUtil';\n\nexport async function generateYarnrcYml(config: PackageConfig): Promise<void> {\n const currentVersion = spawnSyncWithStringResult('yarn', ['--version'], config.dirPath);\n const latestVersion = spawnSyncWithStringResult('npm', ['show', '@yarnpkg/cli', 'version'], config.dirPath);\n if (currentVersion !== latestVersion) {\n spawnSync('yarn', ['set', 'version', latestVersion], config.dirPath, 1);\n }\n\n const releasesPath = path.join(config.dirPath, '.yarn', 'releases');\n await fs.promises.mkdir(releasesPath, { recursive: true });\n for (const file of await fs.promises.readdir(releasesPath)) {\n if (file.startsWith('yarn-') && !file.startsWith(`yarn-${latestVersion}.`)) {\n await promisePool.run(() => fs.promises.rm(path.join(releasesPath, file)));\n console.log('Removed', path.join(releasesPath, file));\n }\n }\n\n const yarnrcPath = path.resolve(config.dirPath, '.yarnrc');\n await promisePool.run(() => fs.promises.rm(yarnrcPath, { force: true }));\n\n const yarnrcYmlPath = path.resolve(config.dirPath, '.yarnrc.yml');\n const settings = yaml.load(await fs.promises.readFile(yarnrcYmlPath, 'utf8')) as any;\n settings.defaultSemverRangePrefix = '';\n if (config.requiringNodeModules) {\n settings.nodeLinker = 'node-modules';\n settings.nmMode = 'hardlinks-global';\n }\n await fs.promises.writeFile(yarnrcYmlPath, yaml.dump(settings, { lineWidth: -1 }));\n\n const plugins = (settings.plugins || []).map((p: any) => p.spec as string);\n const requireTypeScript = config.containingTypeScript || config.containingTypeScriptInPackages;\n importOrRemovePlugin(config, plugins, requireTypeScript, '@yarnpkg/plugin-typescript');\n if (requireTypeScript && !config.requiringNodeModules) {\n spawnSync('yarn', ['dlx', '@yarnpkg/sdks', 'vscode'], config.dirPath);\n }\n importOrRemovePlugin(config, plugins, config.containingSubPackageJsons, '@yarnpkg/plugin-workspace-tools');\n spawnSync('yarn', ['dlx', 'yarn-plugin-auto-install'], config.dirPath);\n}\n\nfunction importOrRemovePlugin(config: PackageConfig, plugins: string[], requirePlugin: boolean, plugin: string): void {\n if (requirePlugin !== plugins.includes(plugin)) {\n spawnSync('yarn', ['plugin', requirePlugin ? 'import' : 'remove', plugin], config.dirPath);\n }\n}\n", "import fs from 'fs';\nimport fsp from 'fs/promises';\nimport path from 'path';\n\nimport glob from 'glob';\nimport yaml from 'js-yaml';\nimport simpleGit from 'simple-git';\n\nimport { fetchOnNode } from './fetchOnNode';\n\nexport interface PackageConfig {\n dirPath: string;\n root: boolean;\n publicRepo: boolean;\n repository?: string;\n willBoosterConfigs: boolean;\n containingSubPackageJsons: boolean;\n containingDockerfile: boolean;\n containingGemfile: boolean;\n containingGoMod: boolean;\n containingPackageJson: boolean;\n containingPoetryLock: boolean;\n containingPomXml: boolean;\n containingPubspecYaml: boolean;\n containingTemplateYaml: boolean;\n\n containingJavaScript: boolean;\n containingTypeScript: boolean;\n containingJsxOrTsx: boolean;\n containingJavaScriptInPackages: boolean;\n containingTypeScriptInPackages: boolean;\n containingJsxOrTsxInPackages: boolean;\n depending: {\n blitz: boolean;\n firebase: boolean;\n jestPlaywrightPreset: boolean;\n prisma: boolean;\n reactNative: boolean;\n semanticRelease: boolean;\n storybook: boolean;\n };\n release: {\n branches: string[];\n github: boolean;\n npm: boolean;\n };\n eslintBase?: string;\n requiringNodeModules: boolean;\n versionsText?: string;\n}\n\nexport async function getPackageConfig(dirPath: string): Promise<PackageConfig | null> {\n const packageJsonPath = path.resolve(dirPath, 'package.json');\n try {\n const containingPackageJson = fs.existsSync(packageJsonPath);\n let dependencies: { [key: string]: string } = {};\n let devDependencies: { [key: string]: string } = {};\n let packageJson: any = {};\n if (containingPackageJson) {\n const packageJsonText = fs.readFileSync(packageJsonPath, 'utf-8');\n packageJson = JSON.parse(packageJsonText);\n dependencies = packageJson.dependencies ?? {};\n devDependencies = packageJson.devDependencies ?? {};\n }\n\n let requiringNodeModules = true;\n try {\n const yarnrcYmlPath = path.resolve(dirPath, '.yarnrc.yml');\n const doc = yaml.load(await fsp.readFile(yarnrcYmlPath, 'utf8')) as any;\n requiringNodeModules = !doc.nodeLinker || doc.nodeLinker === 'node-modules';\n } catch (_) {\n // do nothing\n }\n\n let releaseBranches: string[] = [];\n let releasePlugins: string[] = [];\n try {\n const releasercJsonPath = path.resolve(dirPath, '.releaserc.json');\n const json = JSON.parse(await fsp.readFile(releasercJsonPath, 'utf8'));\n releaseBranches = json?.branches || [];\n releasePlugins = json?.plugins?.flat() || [];\n } catch (_) {\n // do nothing\n }\n\n const isRoot =\n path.basename(path.resolve(dirPath, '..')) !== 'packages' ||\n !fs.existsSync(path.resolve(dirPath, '..', '..', 'package.json'));\n\n let repoInfo: Record<string, any> | undefined;\n if (isRoot) {\n repoInfo = await getRepoInfo(dirPath, packageJson);\n }\n\n const toolVersionsPath = path.resolve(dirPath, '.tool-versions');\n let versionsText: string | undefined;\n try {\n versionsText = await fsp.readFile(toolVersionsPath, 'utf-8');\n } catch (_) {\n // do nothing\n }\n\n const config: PackageConfig = {\n dirPath,\n root: isRoot,\n publicRepo: repoInfo?.private === false,\n repository: repoInfo?.full_name ? `github:${repoInfo?.full_name}` : undefined,\n willBoosterConfigs: packageJsonPath.includes(`${path.sep}willbooster-configs`),\n containingSubPackageJsons: glob.sync('packages/**/package.json', { cwd: dirPath }).length > 0,\n containingDockerfile:\n fs.existsSync(path.resolve(dirPath, 'Dockerfile')) ||\n fs.existsSync(path.resolve(dirPath, 'docker-compose.yml')),\n containingGemfile: fs.existsSync(path.resolve(dirPath, 'Gemfile')),\n containingGoMod: fs.existsSync(path.resolve(dirPath, 'go.mod')),\n containingPackageJson: fs.existsSync(path.resolve(dirPath, 'package.json')),\n containingPoetryLock: fs.existsSync(path.resolve(dirPath, 'poetry.lock')),\n containingPomXml: fs.existsSync(path.resolve(dirPath, 'pom.xml')),\n containingPubspecYaml: fs.existsSync(path.resolve(dirPath, 'pubspec.yaml')),\n containingTemplateYaml: fs.existsSync(path.resolve(dirPath, 'template.yaml')),\n containingJavaScript: glob.sync('@(app|src|__tests__|scripts)/**/*.js?(x)', { cwd: dirPath }).length > 0,\n containingTypeScript: glob.sync('@(app|src|__tests__|scripts)/**/*.ts?(x)', { cwd: dirPath }).length > 0,\n containingJsxOrTsx: glob.sync('@(app|src|__tests__)/**/*.{t,j}sx', { cwd: dirPath }).length > 0,\n containingJavaScriptInPackages:\n glob.sync('packages/**/@(app|src|__tests__|scripts)/**/*.js?(x)', { cwd: dirPath }).length > 0,\n containingTypeScriptInPackages:\n glob.sync('packages/**/@(app|src|__tests__|scripts)/**/*.ts?(x)', { cwd: dirPath }).length > 0,\n containingJsxOrTsxInPackages:\n glob.sync('packages/**/@(app|src|__tests__)/**/*.{t,j}sx', { cwd: dirPath }).length > 0,\n depending: {\n blitz: !!(dependencies['blitz'] || devDependencies['blitz']),\n firebase: !!devDependencies['firebase-tools'],\n jestPlaywrightPreset: !!devDependencies['jest-playwright-preset'],\n prisma: !!devDependencies['prisma'],\n reactNative: !!dependencies['react-native'],\n semanticRelease: !!devDependencies['semantic-release'],\n storybook: !!devDependencies['@storybook/react'],\n },\n release: {\n branches: releaseBranches,\n github: releasePlugins.includes('@semantic-release/github'),\n npm: releasePlugins.includes('@semantic-release/npm'),\n },\n requiringNodeModules,\n versionsText,\n };\n config.eslintBase = getEslintExtensionBase(config);\n if (\n config.containingGemfile ||\n config.containingGoMod ||\n config.containingPackageJson ||\n config.containingPoetryLock ||\n config.containingPomXml ||\n config.containingPubspecYaml ||\n config.containingTemplateYaml\n ) {\n return config;\n }\n } catch (e) {\n // do nothing\n }\n return null;\n}\n\nfunction getEslintExtensionBase(config: PackageConfig): string | undefined {\n if (config.containingTypeScript) {\n if (config.containingJsxOrTsx) {\n return '@willbooster/eslint-config-ts-react';\n } else {\n return '@willbooster/eslint-config-ts';\n }\n } else {\n if (config.containingJsxOrTsx) {\n return '@willbooster/eslint-config-js-react';\n } else if (config.containingJavaScript) {\n return '@willbooster/eslint-config-js';\n }\n }\n return undefined;\n}\n\nasync function getRepoInfo(dirPath: string, packageJson: any): Promise<Record<string, any> | undefined> {\n const git = simpleGit(dirPath);\n const remotes = await git.getRemotes(true);\n const origin = remotes.find((r) => r.name === 'origin');\n const remoteUrl = origin?.refs?.fetch ?? origin?.refs?.push;\n if (typeof remoteUrl === 'string') {\n const json = await fetchRepoInfo(remoteUrl);\n if (json) return json;\n }\n\n const url = packageJson.repository?.url ?? packageJson.repository;\n if (typeof url === 'string') {\n const json = await fetchRepoInfo(url);\n if (json && json.message !== 'Not Found') return json;\n }\n}\n\nasync function fetchRepoInfo(urlOrFullName: string): Promise<Record<string, any> | undefined> {\n const urlWithoutProtocol = urlOrFullName.split(':').at(-1);\n const names = urlWithoutProtocol?.split('/');\n const org = names?.at(-2);\n const name = names?.at(-1)?.replace(/.git$/, '');\n if (!org || !name) return;\n\n const token = process.env.GH_TOKEN || process.env.GITHUB_TOKEN;\n const opts = token\n ? {\n headers: {\n Authorization: `token ${token}`,\n },\n }\n : undefined;\n const res = await fetchOnNode(`https://api.github.com/repos/${org}/${name}`, opts);\n const json = (await res.json()) as any;\n return { full_name: `${org}/${name}`, ...(json ?? {}) };\n}\n"],
5
- "mappings": "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",
6
- "names": []
5
+ "mappings": "ueAAA,IAAAA,GAAiB,mBAEjBC,GAAiB,mBACjBC,GAAkB,oBCHlB,IAAAC,EAAe,iBACfC,EAAiB,mBCDjB,IAAAC,GAA4B,gCAEfC,EAAc,IAAI,eCF/B,IAAAC,EAA0B,4BAEnB,SAASC,EAAUC,EAAiBC,EAAgBC,EAAaC,EAAQ,EAAS,CACvF,EAAG,CACD,GAAM,CAACC,EAAQC,EAASC,CAAO,EAAIC,GAAiBP,EAASC,EAAMC,CAAG,EAGtE,GAFA,QAAQ,IAAI,KAAKE,KAAUC,EAAQ,KAAK,GAAG,QAAQC,EAAQ,KAAK,EACpD,EAAAE,QAAc,UAAUJ,EAAQC,EAASC,CAAO,EACpD,SAAW,EAAG,KACxB,OAAS,EAAEH,GAAS,EACtB,CAEO,SAASM,EAA0BT,EAAiBC,EAAgBC,EAAqB,CAC9F,GAAM,CAACE,EAAQC,EAASC,CAAO,EAAIC,GAAiBP,EAASC,EAAMC,CAAG,EACtEI,EAAQ,MAAQ,OAChB,IAAMI,EAAO,EAAAF,QAAc,UAAUJ,EAAQC,EAASC,CAAO,EACvDK,EAAQD,EAAK,OAAO,SAAS,EAAE,KAAK,EAC1C,OAAIC,GACF,QAAQ,MAAM,GAAGP,MAAWC,EAAQ,IAAKO,GAAM,IAAIA,IAAI;AAAA,GAAoCD,GAAO,EAE7FD,EAAK,OAAO,SAAS,EAAE,KAAK,CACrC,CAEO,SAASH,GAAiBP,EAAiBC,EAAgBC,EAAsC,CACtG,IAAMW,EAAM,CAAE,GAAG,QAAQ,GAAI,EAE7B,OAAIA,EAAI,MAAQA,EAAI,mBAClBA,EAAI,KAAOA,EAAI,KAAK,QAAQ,GAAGA,EAAI,oBAAqB,EAAE,GAGxDA,EAAI,WACNZ,EAAO,CAAC,KAAM,KAAM,KAAKY,EAAI,uBAAuBb,KAAWC,EAAK,KAAK,GAAG,GAAG,EAC/ED,EAAU,QAEL,CACLA,EACAC,EACA,CACE,IAAAC,EACA,IAAAW,EACA,MAAO,GACP,MAAO,SACT,CACF,CACF,CFpCA,eAAsBC,GAAuBC,EAAsC,CACjF,GAAI,CAACA,EAAO,aAAc,OAE1B,IAAMC,EAAkB,CAAC,EACzB,QAAWC,KAAeF,EAAO,aAAa,KAAK,EAAE,MAAM;AAAA,CAAI,EAAG,CAChE,IAAMG,EAAOD,EAAY,KAAK,EAC9B,GAAIC,GAAQA,EAAK,MAAM,KAAK,EAAE,KAAO,SAAU,CAC7CF,EAAM,KAAKE,CAAI,EACf,QACF,CAEA,GAAM,CAAC,CAAEC,CAAO,EAAID,EAAK,MAAM,KAAK,EACpC,MAAME,EAAY,IAAI,IAAM,EAAAC,QAAG,SAAS,UAAU,EAAAC,QAAK,QAAQP,EAAO,QAAS,eAAe,EAAGI,CAAO,CAAC,CAC3G,CAQA,GAPIJ,EAAO,uBACTQ,EAAW,gBAAiB,EAAGP,CAAK,EACpCO,EAAW,gBAAiB,EAAGP,CAAK,GAElCD,EAAO,UAAU,UACnBQ,EAAW,6BAA8B,EAAGP,CAAK,EAE/CD,EAAO,sBAAuB,CAChC,IAAMI,EAAUK,EAA0B,MAAO,CAAC,OAAQ,OAAQ,SAAS,EAAGT,EAAO,OAAO,EAC5FQ,EAAW,QAAQJ,IAAWH,EAAM,OAAQA,CAAK,CACnD,CAEA,IAAMS,EAAmB,EAAAH,QAAK,QAAQP,EAAO,QAAS,gBAAgB,EAClEC,EAAM,OACR,MAAMI,EAAY,IAAI,IAAM,EAAAC,QAAG,SAAS,UAAUI,EAAkBT,EAAM,KAAK;AAAA,CAAI,EAAI;AAAA,CAAI,CAAC,EAE5F,MAAMI,EAAY,IAAI,IAAM,EAAAC,QAAG,SAAS,GAAGI,EAAkB,CAAE,MAAO,EAAK,CAAC,CAAC,EAE/E,MAAML,EAAY,WAAW,EAC7BM,EAAU,OAAQ,CAAC,SAAS,EAAGX,EAAO,OAAO,CAC/C,CAEA,SAASQ,EAAWL,EAAcS,EAAwBX,EAAuB,CAC/E,GAAM,CAACY,CAAM,EAAIV,EAAK,MAAM,GAAG,EACzBW,EAAQb,EAAM,UAAWc,GAAMA,EAAE,MAAM,KAAK,EAAE,KAAOF,CAAM,EAC7DC,GAAS,EACXb,EAAMa,GAASX,EAEfF,EAAM,OAAOW,EAAgB,EAAGT,CAAI,CAExC,CGnDA,IAAAa,GAAiB,mBCAV,IAAMC,EAAa,CACxB,oBAAqB,CACnB,MACA,MACA,KACA,MACA,KACA,MACA,OACA,QACA,MACA,OACA,MACA,OACA,KACA,OACA,KACA,MACA,OACA,KACF,EAAE,KAAK,EACP,oBAAqB,CAAC,KAAM,SAAU,IAAI,EAAE,KAAK,EACjD,oBAAqB,CAAC,IAAI,EAAE,KAAK,EACjC,aAAc,CAAC,IAAI,EAAE,KAAK,EAC1B,OAAQ,CAAC,MAAO,MAAO,KAAM,KAAM,MAAO,KAAK,EAAE,KAAK,EACtD,SAAU,CACR,MACA,MACA,KACA,MACA,KACA,MACA,OACA,QACA,MACA,MACA,OACA,KACA,OACA,MACA,OACA,KACF,EAAE,KAAK,CACT,EC3CA,IAAAC,GAAgB,0BAEHC,EAAS,CACpB,MAAM,aAAaC,EAAkBC,EAAgC,CACnE,MAAM,GAAAC,QAAI,UAAUF,EAAUC,CAAO,EACrC,QAAQ,IAAI,aAAaD,GAAU,CACrC,CACF,EFAA,IAAMG,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQjBC,EAAmBC,EAAW,mBAAmB;AAAA;AAAA;AAAA;AAAA,EAIjDD,EAAmBC,EAAW,mBAAmB;AAAA;AAAA;AAAA;AAAA,EAIjDD,EAAmBC,EAAW,mBAAmB;AAAA;AAAA;AAAA;AAAA,EAIjDD,EAAmBC,EAAW,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ5C,eAAsBC,GAAqBC,EAAsC,CAC/E,IAAMC,EAAW,GAAAC,QAAK,QAAQF,EAAO,QAAS,eAAe,EAC7D,MAAMG,EAAY,IAAI,IAAMC,EAAO,aAAaH,EAAUL,EAAU,CAAC,CACvE,CAEA,SAASC,EAAmBC,EAA8B,CACxD,OAAOA,EAAW,OAAS,EAAI,OAAOA,EAAW,KAAK,GAAG,MAAQ,MAAMA,EAAW,KACpF,CG1CA,IAAAO,GAAiB,mBCAjB,IAAAC,EAAe,iBAEFC,EAAiB,CAC5B,OAAQ,8BACR,UAAW,6CACX,gBAAiB,8BACjB,MAAM,mBAAmBC,EAA0C,CACjE,GAAI,CAEF,OADgB,MAAM,EAAAC,QAAG,SAAS,SAASD,EAAU,OAAO,GAEzD,QAAQ,uCAAwC,EAAE,EAClD,QAAQ,0BAA2B,EAAE,EACrC,QAAQ,uBAAwB;AAAA;AAAA,CAAM,CAC3C,MAAE,CACA,OAAO,IACT,CACF,EACA,MAAM,eAAeA,EAA0C,CAC7D,GAAI,CACF,IAAME,EAAU,MAAM,EAAAD,QAAG,SAAS,SAASD,EAAU,OAAO,EACtDG,EAAQD,EAAQ,QAAQ,KAAK,eAAe,EAClD,GAAIC,GAAS,EACX,OAAOD,EAAQ,UAAU,EAAGA,EAAQ,QAAQ;AAAA,EAAMC,CAAK,EAAI,CAAC,CAEhE,MAAE,CAEF,CACA,OAAO,IACT,EACA,MAAM,0BAA0BH,EAAoC,CAClE,GAAI,CAEF,OADgB,MAAM,EAAAC,QAAG,SAAS,SAASD,EAAU,OAAO,GAC7C,SAAS;AAAA,aAAgB,CAC1C,MAAE,CACA,MAAO,EACT,CACF,CACF,ED9BA,IAAMI,GAAqB,GAAGC,EAAe;AAAA;AAAA;AAAA,EAG3CA,EAAe;AAAA,EAGXC,GAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAetB,eAAsBC,GAAqBC,EAAsC,CAC/E,IAAMC,EAAW,GAAAC,QAAK,QAAQF,EAAO,QAAS,eAAe,EACvDG,EAAe,MAAMN,EAAe,eAAeI,CAAQ,GAAML,GAEjEQ,EAAoB,GAAAF,QAAK,QAAQF,EAAO,QAAS,YAAY,EAC7DK,EAAoB,MAAMR,EAAe,mBAAmBO,CAAiB,GAAM,GAEnFE,EAAaH,EAAcL,GAAgBO,EACjD,MAAME,EAAY,IAAI,IAAMC,EAAO,aAAaP,EAAUK,CAAU,CAAC,CACvE,CErCA,IAAAG,GAAe,iBACfC,GAAiB,mBAEjBC,GAAkB,wBCHlB,IAAAC,GAAkB,wBAEX,SAASC,EAAeC,EAAyBC,EAA2B,CACjF,OAAOA,CACT,CAGO,SAASC,EAAaC,EAAeC,EAAeC,EAAqB,CAC9E,IAAMC,EAAcH,EAAO,MAAM,EAEjC,OAAAC,EAAO,QAAQ,CAACG,EAAMC,IAAU,CAC1B,OAAOF,EAAYE,GAAW,IAChCF,EAAYE,GAASH,EAAQ,8BAA8BE,EAAMF,CAAO,EAC/DA,EAAQ,kBAAkBE,CAAI,EACvCD,EAAYE,MAAS,GAAAC,SAAMN,EAAOK,GAAQD,EAAMF,CAAO,EAC9CF,EAAO,QAAQI,CAAI,IAAM,IAClCD,EAAY,KAAKC,CAAI,CAEzB,CAAC,EACMD,CACT,CDVA,eAAsBI,GAAiBC,EAAuBC,EAA0C,CACtG,IAAMC,EAAQ,CAAC,EACXF,EAAO,YACTE,EAAM,KAAKF,EAAO,UAAU,EAE1BA,IAAWC,GACbC,EAAM,KAAK,sBAAsB,EAEnC,IAAIC,EAAmB,CAAE,KAAM,GAAM,QAASD,CAAM,EAE9CE,EAAW,GAAAC,QAAK,QAAQL,EAAO,QAAS,gBAAgB,EAC9D,GAAI,CACF,IAAMM,EAAa,MAAM,GAAAC,QAAG,SAAS,SAASH,EAAU,OAAO,EACzDI,EAAc,KAAK,MAAMF,CAAU,EACrCE,EAAY,UACdA,EAAY,QAAUA,EAAY,QAAQ,OACvCC,GAAgB,CAACA,EAAI,WAAW,eAAe,GAAKA,IAAQ,sBAC/D,GAEGP,EAAM,SACTM,EAAY,QAAU,CAAC,GAEzB,IAAME,EAAaP,EAAY,QAC/BA,EAAY,QAAUK,EAAY,QAClCA,EAAY,QAAUE,EACtBP,EAAc,GAAAQ,QAAM,IAAI,CAACR,EAAaK,EAAaL,CAAW,EAAG,CAAE,WAAYS,CAAa,CAAC,EACzFZ,EAAO,UAAU,QACnBG,EAAY,QAAU,CAAC,GAAGA,EAAY,QAAQ,OAAQU,GAAcA,IAAM,OAAO,EAAG,OAAO,EAE/F,MAAE,CAEF,CACA,IAAMC,EAAa,KAAK,UAAUX,CAAW,EAC7C,MAAMY,EAAY,IAAI,IAAMC,EAAO,aAAaZ,EAAUU,CAAU,CAAC,CACvE,CE5CA,IAAAG,GAAiB,mBAOjB,IAAMC,GAAa;AAAA;AAAA;AAAA;AAAA,EAIjBC,EAAW,oBACV,OAAOA,EAAW,mBAAmB,EACrC,OAAOA,EAAW,YAAY,EAC9B,IAAKC,GAAQ,KAAKA,eAAiB,EACnC,KAAK;AAAA,CAAI;AAAA,EAGZ,eAAsBC,GAAsBC,EAAsC,CAChF,IAAMC,EAAW,GAAAC,QAAK,QAAQF,EAAO,QAAS,gBAAgB,EAC9D,MAAMG,EAAY,IAAI,IAAMC,EAAO,aAAaH,EAAUL,EAAU,CAAC,CACvE,CCrBA,IAAAS,GAAiB,mBCEjB,eAAsBC,EAAYC,EAAkBC,EAAmD,CACrG,GAAM,CAAE,QAASC,CAAU,EAAI,KAAM,QAAO,cAC5C,OAAOA,EAAUF,EAAKC,CAAI,CAC5B,CDEA,IAAME,GAAe,CAAC,UAAW,QAAS,QAAS,YAAa,mBAAoB,QAAS,MAAO,MAAM,EAEpGC,GAAqB,GAAGC,EAAe;AAAA;AAAA;AAAA,EAG3CA,EAAe;AAAA,EAGXC,GAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShBC,GAAiB,IAAI,IAE3B,eAAsBC,GAAkBC,EAAuBC,EAA0C,CACvG,IAAMC,EAAW,GAAAC,QAAK,QAAQH,EAAO,QAAS,YAAY,EACtDI,GAAgB,MAAMR,EAAe,eAAeM,CAAQ,GAAMP,IAAsBE,GAEtFQ,EAAQ,CAAC,GAAGX,EAAY,EAC1BM,EAAO,mBACTK,EAAM,KAAK,MAAM,EAEfL,EAAO,kBACTK,EAAM,KAAK,IAAI,EACfD,GAAe,GAAG,GAAAD,QAAK,SAASH,EAAO,OAAO;AAAA,GAG5CA,EAAO,uBACTK,EAAM,KAAK,MAAM,EAEfL,EAAO,mBACTK,EAAM,KAAK,OAAO,EAClBD,GAAe;AAAA,GAGbJ,EAAO,wBACTK,EAAM,KAAK,UAAW,gBAAiB,MAAM,EAC7CD,GAAe;AAAA;AAAA;AAAA;AAAA,GAMbJ,EAAO,yBACTI,GAAe;AAAA;AAAA,GAKbJ,EAAO,sBACTK,EAAM,KAAK,QAAQ,GAEjBJ,EAAW,UAAU,UAAYD,EAAO,UAAU,WACpDK,EAAM,KAAK,UAAU,GAEnBJ,EAAW,UAAU,aAAeD,EAAO,UAAU,eACvDK,EAAM,KAAK,aAAa,EACxBD,GAAe;AAAA;AAAA,GAIbH,EAAW,UAAU,WACvBI,EAAM,KAAK,aAAa,EAEtBJ,EAAW,UAAU,QACvBI,EAAM,KAAK,QAAQ,EACnBD,GAAe;AAAA;AAAA,GAKjB,IAAIE,EAAY,GAChB,QAAWC,KAAQF,EAAO,CACxB,GAAI,CAACP,GAAe,IAAIS,CAAI,EAAG,CAC7B,IAAMC,EAAM,mDAAmDD,IAEzDE,EAAe,MADJ,MAAMC,EAAYF,CAAG,GACF,KAAK,EACzC,GAAIC,EAAa,SAAS,qBAAqB,EAAG,CAChD,QAAQ,MAAM,mBAAmBD,GAAK,EACtC,MACF,CACAV,GAAe,IAAIS,EAAME,EAAa,KAAK,CAAC,CAC9C,CACIH,IAAWA,GAAa;AAAA,GAC5BA,GAAaR,GAAe,IAAIS,CAAI,EAAI;AAAA,CAC1C,CACM,MAAMX,EAAe,0BAA0BM,CAAQ,IAC3DI,EAAYA,EAAU,QAAQ,eAAgB,gBAAgB,EAAE,QAAQ,WAAY,QAAQ,IAE1FN,EAAO,kBAAoBA,EAAO,yBACpCM,EAAYA,EACT,QAAQ,yBAA0B,iBAAiB,EACnD,QAAQ,4BAA6B,oBAAoB,EACzD,QAAQ,mCAAoC,2BAA2B,EACvE,QAAQ,2BAA4B,mBAAmB,EACvD,QAAQ,qBAAsB,aAAa,EAC3C,QAAQ,uBAAwB,eAAe,EAC/C,QAAQ,cAAe,OAAO,EAC9B,QAAQ,cAAe,OAAO,EAC7BN,EAAO,wBACTM,EAAYA,EAAU,QAAQ,yBAA0B,qBAAqB,IAGjFA,EAAYA,EAAU,QAAQ,eAAgB,SAAS,GACnDL,EAAW,UAAU,aAAeD,EAAO,UAAU,aAAeA,EAAO,yBAC7EM,EAAYA,EAAU,QAAQ,kBAAmB;AAAA,WAAgB,GAEnE,IAAMK,EAAaP,EAAcE,EACjC,MAAMM,EAAO,aAAaV,EAAUS,CAAU,CAChD,CEzHA,IAAAE,EAAe,iBACfC,EAAiB,mBAMjB,IAAMC,GAAkB,WAElBC,EAAW,CACf,UAAW,mBACX,QAAS,iBACT,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAQD,KAAK,EACnB,UAAW,MACb,EAEA,eAAsBC,GAAgBC,EAAsC,CAxB5E,IAAAC,EAAAC,EAyBE,IAAMC,EAAkB,EAAAC,QAAK,QAAQJ,EAAO,QAAS,cAAc,EAC7DK,EAAW,MAAM,EAAAC,QAAG,SAAS,SAASH,EAAiB,OAAO,EAC9DI,EAAc,KAAK,MAAMF,CAAQ,EACvCE,EAAY,UAAZA,EAAY,QAAY,CAAC,GACzB,OAAOA,EAAY,QAAQ,YAC3B,OAAOA,EAAY,QAAQ,YAC3B,OAAOA,EAAY,QAAQ,QAC3B,OAAOA,EAAY,QAAQ,eAC3B,OAAOA,EAAY,QAAQ,QAC3B,OAAOA,EAAY,QAAQ,SAE3B,IAAMC,EAAU,EAAAJ,QAAK,QAAQJ,EAAO,QAAS,QAAQ,EACrD,MAAM,QAAQ,IAAI,CAChB,EAAAM,QAAG,SAAS,UAAUH,EAAiB,KAAK,UAAUI,EAAa,OAAW,CAAC,CAAC,EAChF,EAAAD,QAAG,SAAS,GAAGE,EAAS,CAAE,MAAO,GAAM,UAAW,EAAK,CAAC,CAC1D,CAAC,EACDC,EAAU,OAAQ,CAAC,MAAO,aAAc,SAAS,EAAGT,EAAO,OAAO,EAElE,IAAMU,EAAoB,EAAAN,QAAK,QAAQI,EAAS,YAAY,EACtDG,EAAU,MAAM,EAAAL,QAAG,SAAS,SAASI,EAAmB,OAAO,EAOrE,GALA,MAAME,EAAY,IAAI,IAAM,EAAAN,QAAG,SAAS,GAAG,EAAAF,QAAK,QAAQJ,EAAO,QAAS,eAAe,EAAG,CAAE,MAAO,EAAK,CAAC,CAAC,EAC1G,MAAMY,EAAY,IAAI,IACpB,EAAAN,QAAG,SAAS,UAAUI,EAAmBC,EAAQ,QAAQd,GAAiBC,EAAS,SAAS,CAAC,CAC/F,EAEIE,EAAO,sBAAwBA,EAAO,+BAAgC,CACxE,IAAMa,GAAUZ,EAAAD,EAAO,aAAP,MAAAC,EAAmB,WAAW,0BAA4BH,EAAS,cAAgBA,EAAS,QAC5G,MAAMc,EAAY,IAAI,IACpB,EAAAN,QAAG,SAAS,UAAU,EAAAF,QAAK,QAAQI,EAAS,UAAU,EAAGG,EAAQ,QAAQd,GAAiBgB,CAAO,EAAG,CAClG,KAAM,GACR,CAAC,CACH,CACF,CAEA,IAAMC,EAA8B,CAAC,GACjCZ,EAAAF,EAAO,eAAP,MAAAE,EAAqB,SAAS,YAChCY,EAAkB,KAAK,qBAAqB,EAE1Cd,EAAO,cACTc,EAAkB,KAAK,cAAc,EAEvCA,EAAkB,KAAKhB,EAAS,SAAS,EACrCE,EAAO,sBACTc,EAAkB,KAAK,gBAAgB,GAErCd,EAAO,UAAU,OAASA,EAAO,UAAU,SAC7Cc,EAAkB,KAAK,eAAe,EAExC,IAAMC,EAAmBJ,EAAQ,QAAQd,GAAiBiB,EAAkB,KAAK,MAAM,CAAC,EACxF,MAAMF,EAAY,IAAI,IACpB,EAAAN,QAAG,SAAS,UAAU,EAAAF,QAAK,QAAQI,EAAS,YAAY,EAAGO,EAAkB,CAC3E,KAAM,GACR,CAAC,CACH,CACF,CChFA,IAAAC,GAAe,iBACfC,GAAiB,mBAMjB,IAAMC,GAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+HnB,eAAsBC,GAAqBC,EAAsC,CAC/E,IAAMC,EAAU,GAAAC,QAAK,QAAQF,EAAO,QAAS,OAAO,EACpD,GAAI,GAAAG,QAAG,WAAWF,CAAO,EAAG,CAC1B,IAAMG,EAAW,GAAAF,QAAK,QAAQD,EAAS,kBAAkB,EAEvDD,EAAO,sBACPA,EAAO,gCACPA,EAAO,sBACPA,EAAO,gCACNA,EAAO,uBACN,CAACA,EAAO,uBACR,CAACA,EAAO,mBACR,CAACA,EAAO,iBACR,CAACA,EAAO,iBAEV,MAAMK,EAAY,IAAI,IAAMC,EAAO,aAAaF,EAAUN,EAAU,CAAC,EAErE,MAAMO,EAAY,IAAI,IAAM,GAAAF,QAAG,SAAS,GAAGC,EAAU,CAAE,MAAO,EAAK,CAAC,CAAC,CAEzE,CACF,CC1JA,IAAAG,GAAe,iBACfC,EAAiB,mBCCV,IAAMC,EAAa,CACxB,iBAAiBC,EAA+B,CAC9C,OAAOA,EAAO,mBAAqB,+CAAiD,EACtF,CACF,ECJA,IAAMC,EAAiB,CACrB,KAAM,CAAC,MAAO,YAAa,SAAS,EACpC,MAAO,CAAC,MAAO,KAAM,eAAgB,UAAW,MAAM,CACxD,EAEAA,EAAe,MAAQ,CAAC,GAAGA,EAAe,KAAM,GAAGA,EAAe,KAAK,EAEhE,SAASC,EAAWC,EAAiC,CAC1D,OAAOA,EAAO,UAAU,MAAQF,EAAe,MAAQA,EAAe,IACxE,CFDA,eAAsBG,GAAqBC,EAAsC,CAC/E,IAAMC,EAAkB,CAAC,EACzB,GAAID,EAAO,sBAAwBA,EAAO,qBAAsB,CAC9D,IAAME,EAAS;AAAA,KACdC,GAAaH,CAAM,QAAQ,KAAK,UAC/B,eAAeI,EAAW,iBAAiBJ,CAAM,GACnD,0BACAC,EAAM,KAAKC,CAAM,CACnB,CACA,IAAMG,EAAiBL,EAAO,KAAO,mCAAqC,GAC1EC,EAAM,KAAK;AAAA,aACAK,EAAW,SAAS,KAAK,GAAG;AAAA,MACnCN,EAAO,sBAAwBA,EAAO,qBAAuBO,GAA2BP,CAAM,EAAI;AAAA,kFACtBK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAO7E,EACCL,EAAO,uBACTC,EAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAMV,EAECD,EAAO,sBACTC,EAAM,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,KAKV,EAGH,IAAMO,EAAa,GACjBR,EAAO,sBAAwBA,EAAO,qBAAuB,4CAA8C;AAAA;AAAA,oBAG3FC,EAAM,KAAK,EAAE;AAAA;AAAA,EAIzBQ,EAAW,EAAAC,QAAK,QAAQV,EAAO,QAAS,mBAAmB,EACjE,MAAMW,EAAY,IAAI,IAAM,GAAAC,QAAG,SAAS,GAAG,EAAAF,QAAK,QAAQV,EAAO,QAAS,kBAAkB,EAAG,CAAE,MAAO,EAAK,CAAC,CAAC,EAC7G,MAAMW,EAAY,IAAI,IAAM,GAAAC,QAAG,SAAS,GAAG,EAAAF,QAAK,QAAQV,EAAO,QAAS,oBAAoB,EAAG,CAAE,MAAO,EAAK,CAAC,CAAC,EAC/G,MAAMW,EAAY,IAAI,IAAME,EAAO,aAAaJ,EAAUD,CAAU,CAAC,CACvE,CAEA,SAASL,GAAaH,EAA+B,CAEnD,MAAO,MADMc,EAAWd,CAAM,EACZ,KAAK,GAAG,YAAYM,EAAW,OAAO,KAAK,GAAG,IAClE,CAEA,SAASC,GAA2BP,EAA+B,CACjE,MAAO,kCAAkCG,GAAaH,CAAM,MAC9D,CGtEA,IAAAe,EAAe,iBACfC,EAAiB,mBAEjBC,GAAkB,wBAUlB,IAAMC,GAAe,CACnB,SACA,yBACA,uBACA,mCACA,qCACF,EAEMC,GAAe,CACnB,GAAGD,GACH,mCACA,4BACA,mCACF,EAEME,GAAkB,CAAC,sBAAuB,2BAA2B,EAErEC,GAAwC,CAC5C,gCAAiC,CAAC,gCAAiC,GAAGH,EAAY,EAClF,sCAAuC,CAAC,sCAAuC,GAAGA,GAAc,GAAGE,EAAe,EAClH,gCAAiC,CAAC,gCAAiC,GAAGD,EAAY,EAClF,sCAAuC,CAAC,sCAAuC,GAAGA,GAAc,GAAGC,EAAe,EAClH,uBAAwB,CAAC,CAC3B,EAEA,eAAsBE,GACpBC,EACAC,EACAC,EACe,CA1CjB,IAAAC,EAAAC,EA2CE,IAAMC,EAAW,EAAAC,QAAK,QAAQN,EAAO,QAAS,cAAc,EACtDO,EAAW,MAAM,EAAAC,QAAG,SAAS,SAASH,EAAU,OAAO,EACvDI,EAAU,KAAK,MAAMF,CAAQ,EACnCE,EAAQ,QAAUA,EAAQ,SAAW,CAAC,EACtCA,EAAQ,aAAeA,EAAQ,cAAgB,CAAC,EAChDA,EAAQ,gBAAkBA,EAAQ,iBAAmB,CAAC,EACtDA,EAAQ,iBAAmBA,EAAQ,kBAAoB,CAAC,EAExD,MAAMC,GAAsBD,CAAO,EAE/BA,EAAQ,OAAS,iCACnBA,EAAQ,SAAW,gCAGrB,QAAWE,KAAa,OAAO,KAAKF,EAAQ,OAAO,EAE5CA,EAAQ,QAAQE,GAAW,SAAS,WAAW,IAClDF,EAAQ,QAAQE,GAAaF,EAAQ,QAAQE,GAC1C,QAAQ,eAAgB,EAAE,EAC1B,QAAQ,yBAA0B,EAAE,GAI3CF,EAAQ,WAAU,GAAAG,SAAMH,EAAQ,QAASI,GAAgBb,CAAM,CAAC,EAChES,EAAQ,QAAQ,UAAY,MAAMK,GAAuBd,EAAO,OAAO,EAEvE,IAAIe,EAAyB,CAAC,EAC1BC,EAAkB,CAAC,cAAe,WAAY,oBAAqB,8BAA8B,EAC/FC,EAA+B,CAAC,EA+DtC,GA7DIjB,EAAO,OAETgB,EAAgB,KAAK,QAAS,QAAS,8BAA8B,EACjEhB,EAAO,UAAU,iBACnBgB,EAAgB,KAAK,4CAA4C,EAE/DhB,EAAO,0BACTS,EAAQ,WAAa,CAAC,YAAY,EAElC,OAAOA,EAAQ,aAKjBT,EAAO,sBACPA,EAAO,gCACPA,EAAO,sBACPA,EAAO,kCAEPgB,EAAgB,KAAK,SAAU,YAAY,EAEvChB,EAAO,gCACTgB,EAAgB,KAAK,2BAA2B,IAI/ChB,EAAO,sBAAwBA,EAAO,iCAAmC,CAACA,EAAO,UAAU,OAC9FgB,EAAgB,KAAK,YAAY,EAG/BhB,EAAO,YACTgB,EAAgB,KAAK,GAAGlB,GAAQE,EAAO,WAAW,EAGhDA,EAAO,qBACTe,EAAeA,EAAa,OAAQG,GAAQ,CAACA,EAAI,SAAS,eAAe,CAAC,EAC1EF,EAAkBA,EAAgB,OAAQE,GAAQ,CAACA,EAAI,SAAS,eAAe,CAAC,GAG7ET,EAAQ,OACXA,EAAQ,KAAO,EAAAH,QAAK,SAASN,EAAO,OAAO,GAGzCA,EAAO,4BACTS,EAAQ,QAAU,IAGfA,EAAQ,UACXA,EAAQ,QAAU,cAGhB,CAACT,EAAO,sBAAwB,CAACA,EAAO,gCAC1C,OAAOS,EAAQ,QAAQ,UAIrBT,EAAO,UAAU,iBAAmBA,EAAO,QAAQ,MACrDS,EAAQ,cAARA,EAAQ,YAAgB,CAAC,GACzBA,EAAQ,YAAY,aAAe,UAGjC,CAACT,EAAO,0BAA2B,CASrC,GARI,CAACA,EAAO,sBAAwB,CAACA,EAAO,sBAC1C,OAAOS,EAAQ,QAAQ,KACvB,OAAOA,EAAQ,QAAQ,YACvBA,EAAQ,QAAQ,QAAUA,EAAQ,QAAQ,QAAQ,QAAQ,oBAAqB,EAAE,GAEjFA,EAAQ,QAAQ,aAAeU,EAAW,iBAAiBnB,CAAM,EAG/DA,EAAO,sBAAuB,CAChCS,EAAQ,QAAQ,KAAO,kBACvBA,EAAQ,QAAQ,YAAc,YAC9B,IAAMW,EAAO,CAAC,MAAO,OAAQ,aAAa,EAAE,OAAQC,GAAQ,EAAAb,QAAG,WAAW,EAAAF,QAAK,QAAQN,EAAO,QAASqB,CAAG,CAAC,CAAC,EACxGD,EAAK,OAAS,IAChBX,EAAQ,QAAQ,eAAiB,yBAAyBW,EAAK,KAC7D,GACF,iHACAX,EAAQ,QAAQ,QAAU,uBAE9B,CAEA,GAAIT,EAAO,qBAAsB,CAC3BS,EAAQ,QAAQ,cAAgB,kBAClC,OAAOA,EAAQ,QAAQ,YAEzB,IAAMa,GAAY,MAAM,EAAAd,QAAG,SAAS,QAAQR,EAAO,OAAO,GAAG,OAAQuB,GAAY,CAC/E,IAAMC,EAAU,EAAAlB,QAAK,QAAQN,EAAO,QAASuB,CAAO,EACpD,OAAK,EAAAf,QAAG,UAAUgB,CAAO,EAAE,YAAY,EAChC,EAAAhB,QAAG,YAAYgB,CAAO,EAAE,KAAMC,GAAaA,EAAS,SAAS,KAAK,CAAC,EADzB,EAEnD,CAAC,EACGH,EAAS,OAAS,IACpBb,EAAQ,QAAQ,eAAiB,oCAAoCa,EAAS,KAC5E,GACF,yBAAyBA,EAAS,KAAK,GAAG,IAC1Cb,EAAQ,QAAQ,KAAO,qBAAqBa,EAAS,KAAK,GAAG,IAC7Db,EAAQ,QAAQ,YAAc,YAC9BA,EAAQ,QAAQ,QAAU,uBAC1BQ,EAAmB,KAAK,QAAS,QAAS,QAAQ,EAEtD,CAEIjB,EAAO,aACTS,EAAQ,WAAaT,EAAO,WAEhC,CAEIA,EAAO,UAAU,OAEnBgB,EAAkBA,EAAgB,OAAQE,GAAQ,CAACA,EAAI,SAAS,qBAAqB,CAAC,EAEtFF,EAAkBA,EAAgB,OAC/BU,GACCA,IAAM,uBACNA,IAAM,qCACNA,IAAM,wBACNA,IAAM,2BACV,GACKvB,EAAAM,EAAQ,QAAQ,cAAhB,MAAAN,EAA6B,WAAW,mBAC3CM,EAAQ,QAAQ,YAAc,kBAEvBT,EAAO,UAAU,UACrBI,EAAAK,EAAQ,QAAQ,cAAhB,MAAAL,EAA6B,WAAW,qBAC3CK,EAAQ,QAAQ,YAAc,oBAG7B,OAAO,KAAKA,EAAQ,YAAY,EAAE,QACrC,OAAOA,EAAQ,aAEZ,OAAO,KAAKA,EAAQ,eAAe,EAAE,QACxC,OAAOA,EAAQ,gBAEZ,OAAO,KAAKA,EAAQ,gBAAgB,EAAE,QACzC,OAAOA,EAAQ,iBAGjB,MAAM,EAAAD,QAAG,SAAS,UAAUH,EAAU,KAAK,UAAUI,CAAO,CAAC,EAExDP,IACHa,EAAeA,EAAa,OAAQG,GAAK,CApN7C,IAAAf,EAoNgD,SAACA,EAAAM,EAAQ,kBAAR,MAAAN,EAA0Be,IAAI,EACvEH,EAAa,QACfY,EAAU,OAAQ,CAAC,MAAO,GAAG,IAAI,IAAIZ,CAAY,CAAC,EAAGf,EAAO,OAAO,EAErEgB,EAAkBA,EAAgB,OAAQE,GAAK,CAxNnD,IAAAf,EAwNsD,SAACA,EAAAM,EAAQ,eAAR,MAAAN,EAAuBe,IAAI,EAC1EF,EAAgB,QAClBW,EAAU,OAAQ,CAAC,MAAO,KAAM,GAAG,IAAI,IAAIX,CAAe,CAAC,EAAGhB,EAAO,OAAO,EAE1EiB,EAAmB,QACrBU,EAAU,SAAU,CAAC,MAAO,GAAG,IAAI,IAAIV,CAAkB,CAAC,EAAGjB,EAAO,OAAO,EAGjF,CAEA,eAAeU,GAAsBD,EAA6B,CAE5DA,EAAQ,SAAW,oBACrBA,EAAQ,OAAS,oBAEnB,OAAOA,EAAQ,QAAQ,qBACvB,OAAOA,EAAQ,QAAQ,yBACvB,OAAOA,EAAQ,QAAQ,qBACvB,OAAOA,EAAQ,aAAa,MAC5B,OAAOA,EAAQ,gBAAgB,8BAC/B,OAAOA,EAAQ,gBAAgB,oCAC/B,OAAOA,EAAQ,gBAAgB,yBAC/B,OAAOA,EAAQ,gBAAgB,+BAC/B,OAAOA,EAAQ,gBAAgB,0BAC/B,OAAOA,EAAQ,gBAAgB,MAE/B,OAAOA,EAAQ,gBAAgB,MAC/B,OAAOA,EAAQ,QAAQ,kBACvB,OAAOA,EAAQ,QAAQ,kBACvB,OAAOA,EAAQ,QAAQ,iBACvB,OAAOA,EAAQ,QAAQ,iBACvB,OAAOA,EAAQ,QAAQ,SACvB,QAAWmB,KAAQ,OAAO,OAAO9B,EAAO,EACtC,QAAWoB,KAAOU,EAChB,OAAOnB,EAAQ,gBAAgBS,GAGnC,MAAMW,EAAY,IAAI,IAAM,EAAArB,QAAG,SAAS,GAAG,aAAc,CAAE,MAAO,EAAK,CAAC,CAAC,CAC3E,CAEA,SAASK,GAAgBb,EAA+C,CACtE,IAAI8B,EAAU,CACZ,QAAS,+BACT,OAAQ,qCACR,KAAM,sBAAsBC,EAAW/B,CAAM,YAAYgC,EAAW,OAAO,KAAK,GAAG,MACnF,WAAY,kBACZ,SAAU,yCAAyCA,EAAW,SAAS,KAAK,GAAG,6BAC/E,UAAW,uBACb,EACA,OAAIhC,EAAO,4BACT8B,KAAU,GAAAlB,SACR,CAAE,GAAGkB,CAAQ,EACb,CACE,OAAQ,gGACR,KAAM,wDACN,WAAY,4DACZ,SAAU,yCAAyCE,EAAW,SAAS,KACrE,GACF,+CACA,KAAM,6CACN,UAAW,4DACb,CACF,GAEEhC,EAAO,UAAU,QACnB8B,EAAQ,UAAY,GAAGA,EAAQ,uCAC9BA,EAAgB,kBAAoB,+EACpCA,EAAgB,sBAAwB,0CAEpCA,CACT,CAEA,eAAehB,GAAuBU,EAAkC,CACtE,IAAMnB,EAAW,EAAAC,QAAK,QAAQkB,EAAS,iBAAiB,EAClDS,EAAkB,MAAM,EAAAzB,QAAG,SAAS,SAASH,EAAU,OAAO,EAC9D6B,EAAQD,EAAgB,QAAQE,EAAe,eAAe,EACpE,OAAID,EAAQ,EAAU,GAEED,EAAgB,UAAU,EAAGC,CAAK,EAEvD,MAAM;AAAA,CAAI,EACV,IAAKE,GAAS,CACb,IAAMC,EAAUD,EAAK,KAAK,EAC1B,OAAOC,EAAQ,SAAS,GAAG,EAAIA,EAAQ,MAAM,EAAG,EAAE,EAAIA,CACxD,CAAC,EACA,OAAQC,GAAMA,GAAK,CAACA,EAAE,WAAW,GAAG,GAAK,CAACA,EAAE,SAAS,GAAG,CAAC,EAE/C,IAAKF,GAAS,SAASA,OAAU,EAAE,KAAK,EAAE,CACzD,CChTA,IAAAG,GAAiB,mBAOjB,IAAMC,GAAqB,GAAGC,EAAe;AAAA;AAAA;AAAA,EAG3CA,EAAe;AAAA,EAGXC,GAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYtB,eAAsBC,GAAuBC,EAAsC,CACjF,IAAMC,EAAW,GAAAC,QAAK,QAAQF,EAAO,QAAS,iBAAiB,EACzDG,EAAe,MAAMN,EAAe,eAAeI,CAAQ,GAAML,GAEjEQ,EAAoB,GAAAF,QAAK,QAAQF,EAAO,QAAS,YAAY,EAC7DK,EAAoB,MAAMR,EAAe,mBAAmBO,CAAiB,GAAM,GAErFE,EAAoB,GACpBN,EAAO,wBACTM,EAAoB;AAAA;AAAA;AAAA;AAAA,GAOtB,IAAMC,EAAaJ,EAAcL,GAAgBQ,EAAoBD,EACrE,MAAMG,EAAY,IAAI,IAAMC,EAAO,aAAaR,EAAUM,CAAU,CAAC,CACvE,CC3CA,IAAAG,GAAe,iBACfC,GAAiB,mBAMjB,eAAsBC,GAAkBC,EAA0C,CAChF,IAAMC,EAAW,GAAAC,QAAK,QAAQF,EAAW,QAAS,iBAAiB,EACnE,GAAI,CACF,IAAMG,EAAW,KAAK,MAAM,MAAM,GAAAC,QAAG,SAAS,SAASH,EAAU,MAAM,CAAC,EAClEI,GAAUF,GAAA,YAAAA,EAAU,UAAW,CAAC,EACtC,QAAS,EAAI,EAAG,EAAIE,EAAQ,OAAQ,IAAK,CACvC,IAAMC,EAAS,MAAM,QAAQD,EAAQ,EAAE,EAAIA,EAAQ,GAAG,GAAKA,EAAQ,GAC/DC,IAAW,oCACbD,EAAQ,GAAK,CACX,oCACA,CACE,OAAQ,qBACV,CACF,EACSC,IAAW,4BAA8B,CAACN,EAAW,aAC9DK,EAAQ,GAAK,CAAC,2BAA4B,CAAE,eAAgB,EAAM,CAAC,EAEvE,CACA,IAAME,EAAa,KAAK,UAAUJ,CAAQ,EAC1C,MAAMK,EAAY,IAAI,IAAMC,EAAO,aAAaR,EAAUM,CAAU,CAAC,CACvE,MAAE,CAEF,CACF,CC9BA,IAAAG,EAAe,iBACfC,EAAiB,mBAEjBC,GAAkB,wBAClBC,GAAsB,+BAOtB,IAAMC,GAAU,CACd,QAAS,CAAC,cAAc,CAC1B,EAEA,eAAsBC,GAAqBC,EAAsC,CAC/E,IAAIC,KAAmB,GAAAC,SAAUJ,EAAO,EAElCK,EAAW,EAAAC,QAAK,QAAQJ,EAAO,QAAS,kBAAkB,EAChE,GAAI,CACF,IAAMK,EAAa,MAAM,EAAAC,QAAG,SAAS,SAASH,EAAU,OAAO,EACzDI,EAAc,KAAK,MAAMF,CAAU,EACzCJ,EAAc,GAAAO,QAAM,IAAI,CAACP,EAAaM,EAAaN,CAAW,EAAG,CAAE,WAAYQ,CAAe,CAAC,CACjG,MAAE,CAEF,CACA,MAAMC,EAAY,IAAI,IAAM,EAAAJ,QAAG,SAAS,GAAG,EAAAF,QAAK,QAAQJ,EAAO,QAAS,aAAa,EAAG,CAAE,MAAO,EAAK,CAAC,CAAC,EACxG,MAAMU,EAAY,IAAI,IAAM,EAAAJ,QAAG,SAAS,GAAG,EAAAF,QAAK,QAAQJ,EAAO,QAAS,eAAe,EAAG,CAAE,MAAO,EAAK,CAAC,CAAC,EAC1G,IAAMW,EAAa,KAAK,UAAUV,CAAW,EAC7C,MAAMS,EAAY,IAAI,IAAME,EAAO,aAAaT,EAAUQ,CAAU,CAAC,CACvE,CC9BA,IAAAE,GAAe,iBACfC,EAAiB,mBAEjBC,GAAkB,wBAClBC,GAAsB,+BCJf,SAASC,EAASC,EAAgB,CACvC,IAAMC,EAAe,OAAO,QAAQD,CAAG,EAAE,KAAK,CAAC,CAACE,CAAI,EAAG,CAACC,CAAI,IAAMD,EAAK,cAAcC,CAAI,CAAC,EAC1F,OAAW,CAACC,EAAKC,CAAK,IAAKJ,EACzB,OAAOD,EAAII,GACXJ,EAAII,GAAOC,CAEf,CDMA,IAAMC,GAAc,CAClB,gBAAiB,CACf,OAAQ,SACR,OAAQ,SACR,iBAAkB,OAClB,IAAK,QACL,aAAc,GACd,OAAQ,GACR,aAAc,GACd,6BAA8B,GAC9B,gBAAiB,GACjB,kBAAmB,GACnB,UAAW,GACX,cAAe,GACf,OAAQ,MACV,EACA,QAAS,CACP,WACA,iBACA,eACA,sBACA,4BACA,0BACA,wBACA,UACF,CACF,EAEMC,GAAa,CACjB,gBAAiB,CACf,OAAQ,SACR,OAAQ,SACR,iBAAkB,OAClB,IAAK,QACL,aAAc,GACd,OAAQ,GACR,aAAc,GACd,6BAA8B,GAC9B,gBAAiB,GACjB,kBAAmB,GACnB,UAAW,GACX,cAAe,GACf,OAAQ,MACV,EACA,QAAS,CAAC,WAAY,iBAAkB,eAAgB,4BAA6B,eAAgB,UAAU,CACjH,EAEA,eAAsBC,GAAiBC,EAAuBC,EAA0C,CA3DxG,IAAAC,EAAAC,EAAAC,EA4DE,GAAIH,EAAW,UAAU,MAAO,OAEhC,IAAII,KAAmB,GAAAC,SAAUN,EAAO,KAAOH,GAAcC,EAAU,EAOvE,GANI,CAACE,EAAO,oBAAsB,CAACA,EAAO,8BACxC,OAAOK,EAAY,gBAAgB,IAEjCL,EAAO,MAAQ,CAACA,EAAO,4BACzBK,EAAY,QAAUA,EAAY,QAAQ,OAAQE,GAAoB,CAACA,EAAQ,WAAW,aAAa,CAAC,GAEtG,CAACP,EAAO,OAASA,EAAO,UAAU,sBAAwBC,EAAW,UAAU,sBAAuB,CACxG,IAAMO,EAAkB,EAAAC,QAAK,SAAST,EAAO,QAASC,EAAW,OAAO,EACxEI,EAAY,QAAQ,KAEhB,EAAAI,QAAK,KAAKD,EAAiB,2CAA2C,EACtE,EAAAC,QAAK,KAAKD,EAAiB,gCAAgC,CAE/D,CACF,CAEA,IAAME,EAAW,EAAAD,QAAK,QAAQT,EAAO,QAAS,eAAe,EAC7D,GAAI,CACF,IAAMW,EAAkB,MAAM,GAAAC,QAAG,SAAS,SAASF,EAAU,OAAO,EAC9DG,EAAc,KAAK,MAAMF,CAAe,EAC1CE,EAAY,UAAY,sDAC1B,OAAOA,EAAY,SAErBX,EAAOW,EAAY,kBAAnB,aAAAX,EAAoC,WACpCC,EAAOE,GAAA,YAAAA,EAAa,kBAApB,aAAAF,EAAqC,QACrCC,EAAOC,GAAA,YAAAA,EAAa,kBAApB,aAAAD,EAAqC,OACjCS,EAAY,KACd,OAAOR,EAAY,IAEjBL,EAAO,UAAU,OACnB,OAAOK,EAAY,QAErBA,EAAc,GAAAS,QAAM,IAAI,CAACT,EAAaQ,EAAaR,CAAW,EAAG,CAAE,WAAYU,CAAe,CAAC,CACjG,MAAE,CAEF,CACAC,EAASX,EAAY,eAAe,EACpC,IAAMY,EAAa,KAAK,UAAUZ,CAAW,EAC7C,MAAMa,EAAY,IAAI,IAAMC,EAAO,aAAaT,EAAUO,CAAU,CAAC,CACvE,CEtGA,IAAAG,EAAe,iBACfC,EAAiB,mBAEjBC,GAAkB,wBAClBC,GAAiB,sBACjBC,GAAsB,+BAOtB,IAAMC,GAAe,CACnB,KAAM,OACN,GAAI,CACF,aAAc,KACd,KAAM,CACJ,SAAU,CAAC,OAAQ,OAAQ,aAAa,CAC1C,CACF,EACA,KAAM,CACJ,KAAM,CACJ,KAAM,gEACR,CACF,CACF,EAEMC,GAAkB,CACtB,KAAM,UACN,GAAI,CACF,KAAM,CACJ,SAAU,CAAC,CACb,CACF,EACA,KAAM,CACJ,QAAS,CACP,KAAM,mEACR,CACF,CACF,EAEMC,GAAe,CACnB,KAAM,iBACN,GAAI,CACF,kBAAmB,IACrB,EACA,KAAM,CACJ,KAAM,CACJ,KAAM,gEACR,CACF,CACF,EAEMC,GAAoB,CACxB,KAAM,aACN,GAAI,CACF,kBAAmB,IACrB,EACA,KAAM,CACJ,aAAc,CACZ,KAAM,sEACR,CACF,CACF,EAEMC,GAA8B,CAClC,KAAM,gBACN,GAAI,CACF,oBAAqB,CACnB,MAAO,CAAC,SAAU,SAAU,aAAa,CAC3C,CACF,EACA,KAAM,CACJ,cAAe,CACb,KAAM,uEACR,CACF,CACF,EAIA,eAAsBC,GAAiBC,EAA0C,CAC/E,IAAMC,EAAgB,EAAAC,QAAK,QAAQF,EAAW,QAAS,UAAW,WAAW,EAC7E,MAAM,EAAAG,QAAG,SAAS,MAAMF,EAAe,CAAE,UAAW,EAAK,CAAC,EAG1D,IAAMG,EAAkB,EAAAF,QAAK,QAAQF,EAAW,QAAS,UAAW,cAAc,EAC7E,EAAAG,QAAG,SAAS,GAAGC,EAAiB,CAAE,MAAO,GAAM,UAAW,EAAK,CAAC,EAErE,IAAMC,GAAa,MAAM,EAAAF,QAAG,SAAS,QAAQF,EAAe,CAAE,cAAe,EAAK,CAAC,GAChF,OAAQK,GAAWA,EAAO,OAAO,GAAKA,EAAO,KAAK,SAAS,MAAM,CAAC,EAClE,IAAKA,GAAWA,EAAO,IAAI,EAC1BN,EAAW,UAAU,iBACvBK,EAAU,KAAK,aAAa,EAE9BA,EAAU,KAAK,WAAY,WAAY,iBAAkB,iBAAiB,EAE1E,QAAWE,KAAYF,EAAW,CAChC,IAAMG,EAAO,EAAAN,QAAK,SAASK,EAAU,MAAM,EAC3C,MAAME,EAAY,IAAI,IAAMC,GAAkBV,EAAYC,EAAeO,CAAI,CAAC,CAChF,CACF,CAEA,eAAeG,GAAUC,EAAkBC,EAAiC,CAC1E,IAAMC,EAAW,GAAAC,QAAK,KAAKH,EAAa,CACtC,UAAW,GACX,aAAc,GACd,OAAQ,CACN,SAAU,OACZ,CACF,CAAC,EACD,MAAMH,EAAY,IAAI,IAAM,EAAAN,QAAG,SAAS,UAAUU,EAAUC,CAAQ,CAAC,CACvE,CAEA,eAAeJ,GACbM,EACAf,EACAO,EACe,CAtHjB,IAAAS,EAAAC,EAuHE,IAAIN,EAAmB,CAAC,EACpBJ,IAAS,OACXI,EAAclB,GACLc,IAAS,UAClBI,EAAcjB,GACLa,IAAS,OAClBI,EAAchB,GACLY,IAAS,aAClBI,EAAcf,GACLW,IAAS,gBAClBI,EAAcd,IAEhBc,KAAc,GAAAO,SAAUP,CAAW,EAEnC,IAAMC,EAAW,EAAAX,QAAK,KAAKD,EAAe,GAAGO,OAAU,EACvD,GAAI,CACF,IAAMY,EAAa,MAAM,EAAAjB,QAAG,SAAS,SAASU,EAAU,OAAO,EACzDQ,EAAc,GAAAN,QAAK,KAAKK,CAAU,EACxCR,EAAc,GAAAU,QAAM,IAAI,CAACV,EAAaS,EAAaT,CAAW,EAAG,CAAE,WAAYW,CAAa,CAAC,CAC/F,MAAE,CAEF,CAEA,QAAWC,KAAO,OAAO,OAAOZ,EAAY,IAAI,EAAY,CAE1D,GAAI,GAACM,GAAAD,EAAAO,EAAI,OAAJ,YAAAP,EAAU,WAAV,MAAAC,EAAA,KAAAD,EAAqB,yBAAyB,OAEnDQ,GAAaT,EAAQQ,EAAKhB,CAAI,CAChC,CAeA,GAbIA,IAAS,UACPI,EAAY,GAAG,SACjB,OAAOA,EAAY,GAAG,KAEtBA,EAAY,GAAG,KAAK,SAAWI,EAAO,QAAQ,SAEvCR,IAAS,OAClBkB,GAAYd,EAAa,GAAI,EAAE,EACtBJ,IAAS,cAClBkB,GAAYd,EAAa,EAAG,CAAC,EAE/B,MAAMD,GAAUC,EAAaC,CAAQ,EAEjCL,IAAS,UACX,MAAMC,EAAY,IAAI,IAAM,EAAAN,QAAG,SAAS,GAAG,EAAAD,QAAK,KAAKD,EAAe,sBAAsB,EAAG,CAAE,MAAO,EAAK,CAAC,CAAC,UACpGO,IAAS,OAAQ,CAE1B,GADA,MAAMC,EAAY,IAAI,IAAM,EAAAN,QAAG,SAAS,GAAG,EAAAD,QAAK,KAAKD,EAAe,eAAe,EAAG,CAAE,MAAO,EAAK,CAAC,CAAC,EAClG,CAACW,EAAY,KAAK,KAAM,OAE5BA,EAAY,KAAK,cAAgBA,EAAY,KAAK,KAClD,IAAMe,EAASf,EAAY,KAAK,KAAK,KAAK,yBAC1C,GAAI,CAACe,EAAQ,OAEbf,EAAY,KAAK,KAAK,KAAK,yBAA2B,WAAWe,IACjEf,EAAY,KAAO,gBACnBA,EAAY,GAAK,CAAE,kBAAmB,IAAK,EAC3C,OAAOA,EAAY,KAAK,KACxB,MAAMD,GAAUC,EAAa,EAAAV,QAAK,KAAKD,EAAe,gBAAgB,CAAC,CACzE,CACF,CAEA,SAASwB,GAAaT,EAAuBQ,EAAUhB,EAAgC,CApLvF,IAAAS,EAAAC,EAAAU,EAmME,GAdAJ,EAAI,OAAJA,EAAI,KAAS,CAAC,GACdA,EAAI,UAAJA,EAAI,QAAY,CAAC,IAEZR,EAAO,QAAQ,QAAUR,IAAS,QAAWA,IAAS,WAAaA,IAAS,QAAUA,IAAS,gBAC9FQ,EAAO,WACTQ,EAAI,QAAQ,SAAc,mCAE1BA,EAAI,QAAQ,SAAc,6BAG1BR,EAAO,QAAQ,MAAQR,IAAS,WAAaA,IAAS,UACxDgB,EAAI,QAAQ,UAAe,4BAGzBhB,IAAS,OAAQ,CACnB,IAAMmB,GAASV,EAAAO,EAAI,OAAJ,YAAAP,EAAU,yBACrBU,IACFH,EAAI,KAAK,yBAA2BG,EAAO,QAAQ,QAAS,EAAE,EAElE,EAEIT,EAAAF,EAAO,aAAP,MAAAE,EAAmB,WAAW,uBAChCM,EAAI,KAAOA,EAAI,KAAK,QAAQ,kBAAmB,cAAc,GACpDI,EAAAZ,EAAO,aAAP,MAAAY,EAAmB,WAAW,4BACvCJ,EAAI,KAAOA,EAAI,KAAK,QAAQ,eAAgB,iBAAiB,GAG/D,OAAOA,EAAI,KAAK,gBACZR,EAAO,sBAAwBR,EAAK,WAAW,QAAQ,IACzDgB,EAAI,KAAK,SAAc,OAErBR,EAAO,aACTQ,EAAI,KAAK,qBAA0B,IAEjC,OAAO,KAAKA,EAAI,IAAI,EAAE,OACxBK,EAASL,EAAI,IAAI,EAEjB,OAAOA,EAAI,KAGT,OAAO,KAAKA,EAAI,OAAO,EAAE,OAC3BK,EAASL,EAAI,OAAO,EAEpB,OAAOA,EAAI,OAEf,CAEA,SAASE,GAAYd,EAAkBkB,EAA6BC,EAAmC,CApOvG,IAAAd,EAAAC,EAqOE,GAAM,CAACc,EAAWC,CAAO,KAAMf,GAAAD,EAAAL,EAAY,GAAG,WAAf,YAAAK,EAA0B,KAA1B,YAAAC,EAA8B,OAAmB,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,EACzG,GAAIc,IAAc,GAAK,OAAO,UAAUC,CAAO,EAAG,CAChD,IAAMC,GAAWD,EAAU,GAAK,GAKhC,GAHEH,EAAsBC,EAClBD,GAAuBI,GAAWA,EAAUH,EAC5CD,GAAuBI,GAAWA,EAAUH,EACrC,MACf,CAEA,IAAMI,EAAS,EAAI,KAAK,MAAM,KAAK,OAAO,EAAI,EAAE,EAC1CD,EAAUJ,EAAsB,KAAK,MAAM,KAAK,OAAO,GAAKC,EAAsBD,EAAoB,EACtGM,EAAO,GAAGD,MAAWD,EAAU,EAAI,IAAM,WAC/CtB,EAAY,GAAG,SAAW,CAAC,CAAE,KAAAwB,CAAK,CAAC,CACrC,CCnPA,IAAAC,EAAe,iBACfC,EAAiB,mBAEjBC,GAAiB,sBAMjB,eAAsBC,GAAkBC,EAAsC,CAC5E,IAAMC,EAAiBC,EAA0B,OAAQ,CAAC,WAAW,EAAGF,EAAO,OAAO,EAChFG,EAAgBD,EAA0B,MAAO,CAAC,OAAQ,eAAgB,SAAS,EAAGF,EAAO,OAAO,EACtGC,IAAmBE,GACrBC,EAAU,OAAQ,CAAC,MAAO,UAAWD,CAAa,EAAGH,EAAO,QAAS,CAAC,EAGxE,IAAMK,EAAe,EAAAC,QAAK,KAAKN,EAAO,QAAS,QAAS,UAAU,EAClE,MAAM,EAAAO,QAAG,SAAS,MAAMF,EAAc,CAAE,UAAW,EAAK,CAAC,EACzD,QAAWG,KAAQ,MAAM,EAAAD,QAAG,SAAS,QAAQF,CAAY,EACnDG,EAAK,WAAW,OAAO,GAAK,CAACA,EAAK,WAAW,QAAQL,IAAgB,IACvE,MAAMM,EAAY,IAAI,IAAM,EAAAF,QAAG,SAAS,GAAG,EAAAD,QAAK,KAAKD,EAAcG,CAAI,CAAC,CAAC,EACzE,QAAQ,IAAI,UAAW,EAAAF,QAAK,KAAKD,EAAcG,CAAI,CAAC,GAIxD,IAAME,EAAa,EAAAJ,QAAK,QAAQN,EAAO,QAAS,SAAS,EACzD,MAAMS,EAAY,IAAI,IAAM,EAAAF,QAAG,SAAS,GAAGG,EAAY,CAAE,MAAO,EAAK,CAAC,CAAC,EAEvE,IAAMC,EAAgB,EAAAL,QAAK,QAAQN,EAAO,QAAS,aAAa,EAC1DY,EAAW,GAAAC,QAAK,KAAK,MAAM,EAAAN,QAAG,SAAS,SAASI,EAAe,MAAM,CAAC,EAC5EC,EAAS,yBAA2B,GAChCZ,EAAO,uBACTY,EAAS,WAAa,eACtBA,EAAS,OAAS,oBAEpB,MAAM,EAAAL,QAAG,SAAS,UAAUI,EAAe,GAAAE,QAAK,KAAKD,EAAU,CAAE,UAAW,EAAG,CAAC,CAAC,EAEjF,IAAME,GAAWF,EAAS,SAAW,CAAC,GAAG,IAAKG,GAAWA,EAAE,IAAc,EACnEC,EAAoBhB,EAAO,sBAAwBA,EAAO,+BAChEiB,GAAqBjB,EAAQc,EAASE,EAAmB,4BAA4B,EACjFA,GAAqB,CAAChB,EAAO,sBAC/BI,EAAU,OAAQ,CAAC,MAAO,gBAAiB,QAAQ,EAAGJ,EAAO,OAAO,EAEtEiB,GAAqBjB,EAAQc,EAASd,EAAO,0BAA2B,iCAAiC,EACzGI,EAAU,OAAQ,CAAC,MAAO,0BAA0B,EAAGJ,EAAO,OAAO,CACvE,CAEA,SAASiB,GAAqBjB,EAAuBc,EAAmBI,EAAwBC,EAAsB,CAChHD,IAAkBJ,EAAQ,SAASK,CAAM,GAC3Cf,EAAU,OAAQ,CAAC,SAAUc,EAAgB,SAAW,SAAUC,CAAM,EAAGnB,EAAO,OAAO,CAE7F,CCnDA,IAAAoB,EAAe,iBACfC,EAAgB,0BAChBC,EAAiB,mBAEjBC,EAAiB,mBACjBC,GAAiB,sBACjBC,GAAsB,yBA6CtB,eAAsBC,GAAiBC,EAAgD,CAnDvF,IAAAC,EAoDE,IAAMC,EAAkB,EAAAC,QAAK,QAAQH,EAAS,cAAc,EAC5D,GAAI,CACF,IAAMI,EAAwB,EAAAC,QAAG,WAAWH,CAAe,EACvDI,EAA0C,CAAC,EAC3CC,EAA6C,CAAC,EAC9CC,EAAmB,CAAC,EACxB,GAAIJ,EAAuB,CACzB,IAAMK,EAAkB,EAAAJ,QAAG,aAAaH,EAAiB,OAAO,EAChEM,EAAc,KAAK,MAAMC,CAAe,EACxCH,EAAeE,EAAY,cAAgB,CAAC,EAC5CD,EAAkBC,EAAY,iBAAmB,CAAC,CACpD,CAEA,IAAIE,EAAuB,GAC3B,GAAI,CACF,IAAMC,EAAgB,EAAAR,QAAK,QAAQH,EAAS,aAAa,EACnDY,EAAM,GAAAC,QAAK,KAAK,MAAM,EAAAC,QAAI,SAASH,EAAe,MAAM,CAAC,EAC/DD,EAAuB,CAACE,EAAI,YAAcA,EAAI,aAAe,cAC/D,MAAE,CAEF,CAEA,IAAIG,EAA4B,CAAC,EAC7BC,EAA2B,CAAC,EAChC,GAAI,CACF,IAAMC,EAAoB,EAAAd,QAAK,QAAQH,EAAS,iBAAiB,EAC3DkB,EAAO,KAAK,MAAM,MAAM,EAAAJ,QAAI,SAASG,EAAmB,MAAM,CAAC,EACrEF,GAAkBG,GAAA,YAAAA,EAAM,WAAY,CAAC,EACrCF,IAAiBf,EAAAiB,GAAA,YAAAA,EAAM,UAAN,YAAAjB,EAAe,SAAU,CAAC,CAC7C,MAAE,CAEF,CAEA,IAAMkB,EACJ,EAAAhB,QAAK,SAAS,EAAAA,QAAK,QAAQH,EAAS,IAAI,CAAC,IAAM,YAC/C,CAAC,EAAAK,QAAG,WAAW,EAAAF,QAAK,QAAQH,EAAS,KAAM,KAAM,cAAc,CAAC,EAE9DoB,EACAD,IACFC,EAAW,MAAMC,GAAYrB,EAASQ,CAAW,GAGnD,IAAMc,EAAmB,EAAAnB,QAAK,QAAQH,EAAS,gBAAgB,EAC3DuB,EACJ,GAAI,CACFA,EAAe,MAAM,EAAAT,QAAI,SAASQ,EAAkB,OAAO,CAC7D,MAAE,CAEF,CAEA,IAAME,EAAwB,CAC5B,QAAAxB,EACA,KAAMmB,EACN,YAAYC,GAAA,YAAAA,EAAU,WAAY,GAClC,WAAYA,GAAA,MAAAA,EAAU,UAAY,UAAUA,GAAA,YAAAA,EAAU,YAAc,OACpE,mBAAoBlB,EAAgB,SAAS,GAAG,EAAAC,QAAK,wBAAwB,EAC7E,0BAA2B,EAAAsB,QAAK,KAAK,2BAA4B,CAAE,IAAKzB,CAAQ,CAAC,EAAE,OAAS,EAC5F,qBACE,EAAAK,QAAG,WAAW,EAAAF,QAAK,QAAQH,EAAS,YAAY,CAAC,GACjD,EAAAK,QAAG,WAAW,EAAAF,QAAK,QAAQH,EAAS,oBAAoB,CAAC,EAC3D,kBAAmB,EAAAK,QAAG,WAAW,EAAAF,QAAK,QAAQH,EAAS,SAAS,CAAC,EACjE,gBAAiB,EAAAK,QAAG,WAAW,EAAAF,QAAK,QAAQH,EAAS,QAAQ,CAAC,EAC9D,sBAAuB,EAAAK,QAAG,WAAW,EAAAF,QAAK,QAAQH,EAAS,cAAc,CAAC,EAC1E,qBAAsB,EAAAK,QAAG,WAAW,EAAAF,QAAK,QAAQH,EAAS,aAAa,CAAC,EACxE,iBAAkB,EAAAK,QAAG,WAAW,EAAAF,QAAK,QAAQH,EAAS,SAAS,CAAC,EAChE,sBAAuB,EAAAK,QAAG,WAAW,EAAAF,QAAK,QAAQH,EAAS,cAAc,CAAC,EAC1E,uBAAwB,EAAAK,QAAG,WAAW,EAAAF,QAAK,QAAQH,EAAS,eAAe,CAAC,EAC5E,qBAAsB,EAAAyB,QAAK,KAAK,2CAA4C,CAAE,IAAKzB,CAAQ,CAAC,EAAE,OAAS,EACvG,qBAAsB,EAAAyB,QAAK,KAAK,2CAA4C,CAAE,IAAKzB,CAAQ,CAAC,EAAE,OAAS,EACvG,mBAAoB,EAAAyB,QAAK,KAAK,oCAAqC,CAAE,IAAKzB,CAAQ,CAAC,EAAE,OAAS,EAC9F,+BACE,EAAAyB,QAAK,KAAK,uDAAwD,CAAE,IAAKzB,CAAQ,CAAC,EAAE,OAAS,EAC/F,+BACE,EAAAyB,QAAK,KAAK,uDAAwD,CAAE,IAAKzB,CAAQ,CAAC,EAAE,OAAS,EAC/F,6BACE,EAAAyB,QAAK,KAAK,gDAAiD,CAAE,IAAKzB,CAAQ,CAAC,EAAE,OAAS,EACxF,UAAW,CACT,MAAO,CAAC,EAAEM,EAAa,OAAYC,EAAgB,OACnD,SAAU,CAAC,CAACA,EAAgB,kBAC5B,qBAAsB,CAAC,CAACA,EAAgB,0BACxC,OAAQ,CAAC,CAACA,EAAgB,OAC1B,YAAa,CAAC,CAACD,EAAa,gBAC5B,gBAAiB,CAAC,CAACC,EAAgB,oBACnC,UAAW,CAAC,CAACA,EAAgB,mBAC/B,EACA,QAAS,CACP,SAAUQ,EACV,OAAQC,EAAe,SAAS,0BAA0B,EAC1D,IAAKA,EAAe,SAAS,uBAAuB,CACtD,EACA,qBAAAN,EACA,aAAAa,CACF,EAEA,GADAC,EAAO,WAAaE,GAAuBF,CAAM,EAE/CA,EAAO,mBACPA,EAAO,iBACPA,EAAO,uBACPA,EAAO,sBACPA,EAAO,kBACPA,EAAO,uBACPA,EAAO,uBAEP,OAAOA,CAEX,MAAE,CAEF,CACA,OAAO,IACT,CAEA,SAASE,GAAuBF,EAA2C,CACzE,GAAIA,EAAO,qBACT,OAAIA,EAAO,mBACF,sCAEA,gCAGT,GAAIA,EAAO,mBACT,MAAO,sCACF,GAAIA,EAAO,qBAChB,MAAO,+BAIb,CAEA,eAAeH,GAAYrB,EAAiBQ,EAA4D,CApLxG,IAAAP,EAAA0B,EAAAC,EAuLE,IAAMC,GADU,QADJ,GAAAC,SAAU9B,CAAO,EACH,WAAW,EAAI,GAClB,KAAM+B,GAAMA,EAAE,OAAS,QAAQ,EAChDC,IAAY/B,EAAA4B,GAAA,YAAAA,EAAQ,OAAR,YAAA5B,EAAc,UAAS0B,EAAAE,GAAA,YAAAA,EAAQ,OAAR,YAAAF,EAAc,MACvD,GAAI,OAAOK,GAAc,SAAU,CACjC,IAAMd,EAAO,MAAMe,GAAcD,CAAS,EAC1C,GAAId,EAAM,OAAOA,CACnB,CAEA,IAAMgB,IAAMN,EAAApB,EAAY,aAAZ,YAAAoB,EAAwB,MAAOpB,EAAY,WACvD,GAAI,OAAO0B,GAAQ,SAAU,CAC3B,IAAMhB,EAAO,MAAMe,GAAcC,CAAG,EACpC,GAAIhB,GAAQA,EAAK,UAAY,YAAa,OAAOA,CACnD,CACF,CAEA,eAAee,GAAcE,EAAiE,CArM9F,IAAAlC,EAsME,IAAMmC,EAAqBD,EAAc,MAAM,GAAG,EAAE,GAAG,EAAE,EACnDE,EAAQD,GAAA,YAAAA,EAAoB,MAAM,KAClCE,EAAMD,GAAA,YAAAA,EAAO,GAAG,IAChBE,GAAOtC,EAAAoC,GAAA,YAAAA,EAAO,GAAG,MAAV,YAAApC,EAAe,QAAQ,QAAS,IAC7C,GAAI,CAACqC,GAAO,CAACC,EAAM,OAEnB,IAAMC,EAAQ,QAAQ,IAAI,UAAY,QAAQ,IAAI,aAC5CC,EAAOD,EACT,CACE,QAAS,CACP,cAAe,SAASA,GAC1B,CACF,EACA,OAEEtB,EAAQ,MADF,MAAMwB,EAAY,gCAAgCJ,KAAOC,IAAQE,CAAI,GACzD,KAAK,EAC7B,MAAO,CAAE,UAAW,GAAGH,KAAOC,IAAQ,GAAIrB,GAAQ,CAAC,CAAG,CACxD,C3B9LA,eAAeyB,IAAsB,CACnC,IAAMC,EAAO,QAAM,GAAAC,SAAM,QAAQ,KAAK,MAAM,CAAC,CAAC,EAC3C,QAAQ,kBAAmB,+CAA+C,EAC1E,cAAc,CAAC,EACf,MAAM,IAAK,UAAU,EACrB,QAAQ,UAAU,EAClB,QAAQ,WAAY,EAAK,EACzB,SAAS,WAAY,8BAA8B,EACnD,MAAM,IAAK,SAAS,EACpB,QAAQ,SAAS,EACjB,QAAQ,UAAW,EAAK,EAAE,KAE7B,QAAWC,KAAeF,EAAK,EAAG,CAChC,GAAI,OAAOE,GAAgB,SAAU,SAErC,IAAMC,EAAa,MAAMC,GAAiBF,CAAW,EACrD,GAAIC,IAAe,KAAM,CACvB,QAAQ,MAAM,qCAAqCD,GAAa,EAChE,QACF,CAEA,IAAMG,EAAcF,EAAW,0BAC3B,GAAAG,QAAK,KAAK,aAAc,CAAE,IAAKJ,CAAY,CAAC,EAAE,IAAKK,GAAe,GAAAC,QAAK,QAAQN,EAAaK,CAAU,CAAC,EACvG,CAAC,EACCE,GAAqB,MAAM,QAAQ,IAAIJ,EAAY,IAAKE,GAAeH,GAAiBG,CAAU,CAAC,CAAC,GAAG,OAC1GG,GAAW,CAAC,CAACA,CAChB,EACMC,EAAoB,CAACR,EAAY,GAAGM,CAAiB,EAE3D,GAAIT,EAAK,QACP,QAAWU,KAAUC,EACnB,QAAQ,IAAID,CAAM,EAKtB,MAAME,GAAuBT,CAAU,EAEvC,MAAMU,GAAkBV,CAAU,EAClC,MAAM,QAAQ,IAAI,CAChBW,GAAqBX,CAAU,EAC/BY,GAAsBZ,CAAU,EAChCa,GAAgBb,CAAU,EAC1Bc,GAAqBd,CAAU,EAC/Be,GAAqBf,CAAU,EAC/BgB,GAAqBhB,CAAU,EAC/BiB,GAAkBjB,CAAU,EAC5BkB,GAAiBlB,CAAU,CAC7B,CAAC,EACD,MAAMmB,EAAY,WAAW,EAE7B,IAAMC,EAA4B,CAAC,EACnC,QAAWb,KAAUC,EACnB,MAAMa,GAAkBd,EAAQP,CAAU,EACtC,GAACO,EAAO,MAAQ,CAACA,EAAO,yBAG5B,MAAMe,GAAuBf,CAAM,EACnC,MAAMgB,GAAoBhB,EAAQP,EAAYH,EAAK,QAAQ,EAE3DuB,EAAS,KAAKL,GAAqBR,CAAM,CAAC,GACtCA,EAAO,sBAAwBA,EAAO,iCACxCa,EAAS,KAAKI,GAAiBjB,EAAQP,CAAU,CAAC,GAGlDO,EAAO,sBACPA,EAAO,gCACPA,EAAO,sBACPA,EAAO,kCAEFP,EAAW,oBACdoB,EAAS,KAAKK,GAAiBlB,EAAQP,CAAU,CAAC,EAEpDoB,EAAS,KAAKM,GAAqBnB,CAAM,CAAC,IAG9C,MAAM,QAAQ,IAAIa,CAAQ,EAC1B,MAAMD,EAAY,WAAW,EAE7BQ,EAAU,OAAQ,CAAC,SAAS,EAAG5B,CAAW,EAG1C4B,EAAU,OAAQ,CAAC,SAAS,EAAG5B,CAAW,CAC5C,CACF,CAEAH,GAAK,EAAE,KAAK",
6
+ "names": ["import_path", "import_glob", "import_yargs", "import_fs", "import_path", "import_minimal_promise_pool", "promisePool", "import_child_process", "spawnSync", "command", "args", "cwd", "retry", "newCmd", "newArgs", "options", "getSpawnSyncArgs", "child_process", "spawnSyncWithStringResult", "proc", "error", "s", "env", "generateVersionConfigs", "config", "lines", "versionText", "line", "version", "promisePool", "fs", "path", "updateLine", "spawnSyncWithStringResult", "toolVersionsPath", "spawnSync", "insertionIndex", "prefix", "index", "l", "import_path", "extensions", "import_promises", "FsUtil", "filePath", "content", "fsp", "newContent", "generateExtensions", "extensions", "generateEditorconfig", "config", "filePath", "path", "promisePool", "FsUtil", "import_path", "import_fs", "IgnoreFileUtil", "filePath", "fs", "content", "index", "defaultUserContent", "IgnoreFileUtil", "commonContent", "generateEslintignore", "config", "filePath", "path", "userContent", "gitignoreFilePath", "gitignoreContent", "newContent", "promisePool", "FsUtil", "import_fs", "import_path", "import_deepmerge", "import_deepmerge", "overwriteMerge", "destinationArray", "sourceArray", "combineMerge", "target", "source", "options", "destination", "item", "index", "merge", "generateEslintrc", "config", "rootConfig", "bases", "newSettings", "filePath", "path", "oldContent", "fs", "oldSettings", "ext", "newExtends", "merge", "combineMerge", "e", "newContent", "promisePool", "FsUtil", "import_path", "newContent", "extensions", "ext", "generateGitattributes", "config", "filePath", "path", "promisePool", "FsUtil", "import_path", "fetchOnNode", "url", "init", "nodeFetch", "defaultNames", "defaultUserContent", "IgnoreFileUtil", "commonContent", "gitignoreCache", "generateGitignore", "config", "rootConfig", "filePath", "path", "userContent", "names", "generated", "name", "url", "responseText", "fetchOnNode", "newContent", "FsUtil", "import_fs", "import_path", "DEFAULT_COMMAND", "settings", "generateHuskyrc", "config", "_a", "_b", "packageJsonPath", "path", "jsonText", "fs", "packageJson", "dirPath", "spawnSync", "preCommitFilePath", "content", "promisePool", "prePush", "postMergeCommands", "postMergeCommand", "import_fs", "import_path", "newContent", "generateIdeaSettings", "config", "dirPath", "path", "fs", "filePath", "promisePool", "FsUtil", "import_fs", "import_path", "EslintUtil", "config", "srcDirectories", "getSrcDirs", "config", "generateLintstagedrc", "config", "lines", "eslint", "getEslintKey", "EslintUtil", "packagesFilter", "extensions", "getEslintFilterForPrettier", "newContent", "filePath", "path", "promisePool", "fs", "FsUtil", "getSrcDirs", "import_fs", "import_path", "import_deepmerge", "jsCommonDeps", "tsCommonDeps", "reactCommonDeps", "devDeps", "generatePackageJson", "config", "rootConfig", "skipAddingDeps", "_a", "_b", "filePath", "path", "jsonText", "fs", "jsonObj", "removeDeprecatedStuff", "scriptKey", "merge", "generateScripts", "generatePrettierSuffix", "dependencies", "devDependencies", "poetryDependencies", "dep", "EslintUtil", "dirs", "dir", "dirNames", "dirName", "dirPath", "fileName", "d", "spawnSync", "deps", "promisePool", "scripts", "getSrcDirs", "extensions", "existingContent", "index", "IgnoreFileUtil", "line", "newLine", "l", "import_path", "defaultUserContent", "IgnoreFileUtil", "commonContent", "generatePrettierignore", "config", "filePath", "path", "userContent", "gitignoreFilePath", "gitignoreContent", "additionalContent", "newContent", "promisePool", "FsUtil", "import_fs", "import_path", "generateReleaserc", "rootConfig", "filePath", "path", "settings", "fs", "plugins", "plugin", "newContent", "promisePool", "FsUtil", "import_fs", "import_path", "import_deepmerge", "import_lodash", "jsonObj", "generateRenovateJson", "config", "newSettings", "cloneDeep", "filePath", "path", "oldContent", "fs", "oldSettings", "merge", "overwriteMerge", "promisePool", "newContent", "FsUtil", "import_fs", "import_path", "import_deepmerge", "import_lodash", "sortKeys", "obj", "keyAndValues", "key1", "key2", "key", "value", "rootJsonObj", "subJsonObj", "generateTsconfig", "config", "rootConfig", "_a", "_b", "_c", "newSettings", "cloneDeep", "dirPath", "relativeDirPath", "path", "filePath", "existingContent", "fs", "oldSettings", "merge", "overwriteMerge", "sortKeys", "newContent", "promisePool", "FsUtil", "import_fs", "import_path", "import_deepmerge", "import_js_yaml", "import_lodash", "testWorkflow", "releaseWorkflow", "wbfyWorkflow", "wbfyMergeWorkflow", "semanticPullRequestWorkflow", "generateWorkflow", "rootConfig", "workflowsPath", "path", "fs", "semanticYmlPath", "fileNames", "dirent", "fileName", "kind", "promisePool", "writeWorkflowYaml", "writeYaml", "newSettings", "filePath", "yamlText", "yaml", "config", "_a", "_b", "cloneDeep", "oldContent", "oldSettings", "merge", "combineMerge", "job", "normalizeJob", "setSchedule", "params", "_c", "sortKeys", "inclusiveMinHourJst", "exclusiveMaxHourJst", "minuteUtc", "hourUtc", "hourJst", "minJst", "cron", "import_fs", "import_path", "import_js_yaml", "generateYarnrcYml", "config", "currentVersion", "spawnSyncWithStringResult", "latestVersion", "spawnSync", "releasesPath", "path", "fs", "file", "promisePool", "yarnrcPath", "yarnrcYmlPath", "settings", "yaml", "plugins", "p", "requireTypeScript", "importOrRemovePlugin", "requirePlugin", "plugin", "import_fs", "import_promises", "import_path", "import_glob", "import_js_yaml", "import_simple_git", "getPackageConfig", "dirPath", "_a", "packageJsonPath", "path", "containingPackageJson", "fs", "dependencies", "devDependencies", "packageJson", "packageJsonText", "requiringNodeModules", "yarnrcYmlPath", "doc", "yaml", "fsp", "releaseBranches", "releasePlugins", "releasercJsonPath", "json", "isRoot", "repoInfo", "getRepoInfo", "toolVersionsPath", "versionsText", "config", "glob", "getEslintExtensionBase", "_b", "_c", "origin", "simpleGit", "r", "remoteUrl", "fetchRepoInfo", "url", "urlOrFullName", "urlWithoutProtocol", "names", "org", "name", "token", "opts", "fetchOnNode", "main", "argv", "yargs", "rootDirPath", "rootConfig", "getPackageConfig", "subDirPaths", "glob", "subDirPath", "path", "subPackageConfigs", "config", "allPackageConfigs", "generateVersionConfigs", "generateYarnrcYml", "generateEditorconfig", "generateGitattributes", "generateHuskyrc", "generateIdeaSettings", "generateLintstagedrc", "generateRenovateJson", "generateReleaserc", "generateWorkflow", "promisePool", "promises", "generateGitignore", "generatePrettierignore", "generatePackageJson", "generateTsconfig", "generateEslintrc", "generateEslintignore", "spawnSync"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wbfy",
3
- "version": "1.35.0",
3
+ "version": "1.35.1",
4
4
  "description": "A tool for applying WillBooster's conventional configures to npm packages",
5
5
  "repository": "github:WillBooster/wbfy",
6
6
  "license": "Apache-2.0",
@@ -36,36 +36,36 @@
36
36
  "js-yaml": "4.1.0",
37
37
  "lodash.clonedeep": "4.5.0",
38
38
  "minimal-promise-pool": "1.1.4",
39
- "node-fetch": "3.2.6",
39
+ "node-fetch": "3.2.10",
40
40
  "simple-git": "3.10.0",
41
41
  "yargs": "17.5.1"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@types/eslint": "8.4.5",
45
45
  "@types/glob": "7.2.0",
46
- "@types/jest": "28.1.4",
46
+ "@types/jest": "28.1.6",
47
47
  "@types/js-yaml": "4.0.5",
48
48
  "@types/lodash.clonedeep": "4.5.7",
49
49
  "@types/micromatch": "4.0.2",
50
- "@types/node": "16.11.42",
50
+ "@types/node": "16.11.46",
51
51
  "@types/node-fetch": "3.0.3",
52
52
  "@types/yargs": "17.0.10",
53
- "@typescript-eslint/eslint-plugin": "5.30.4",
54
- "@typescript-eslint/parser": "5.30.4",
53
+ "@typescript-eslint/eslint-plugin": "5.31.0",
54
+ "@typescript-eslint/parser": "5.31.0",
55
55
  "@willbooster/eslint-config-ts": "9.0.0",
56
56
  "@willbooster/prettier-config": "9.0.0",
57
57
  "@willbooster/renovate-config": "9.3.0",
58
58
  "conventional-changelog-conventionalcommits": "5.0.0",
59
- "esbuild": "0.14.48",
59
+ "esbuild": "0.14.51",
60
60
  "esbuild-register": "3.3.3",
61
- "eslint": "8.19.0",
61
+ "eslint": "8.20.0",
62
62
  "eslint-config-prettier": "8.5.0",
63
- "eslint-import-resolver-typescript": "3.2.1",
63
+ "eslint-import-resolver-typescript": "3.3.0",
64
64
  "eslint-plugin-import": "2.26.0",
65
65
  "eslint-plugin-sort-class-members": "1.14.1",
66
66
  "eslint-plugin-sort-destructure-keys": "1.4.0",
67
67
  "husky": "8.0.1",
68
- "jest": "28.1.2",
68
+ "jest": "28.1.3",
69
69
  "lint-staged": "13.0.3",
70
70
  "micromatch": "4.0.5",
71
71
  "pinst": "3.0.0",
@@ -74,7 +74,7 @@
74
74
  "sort-package-json": "1.57.0",
75
75
  "typescript": "4.7.4"
76
76
  },
77
- "packageManager": "yarn@4.0.0-rc.11",
77
+ "packageManager": "yarn@4.0.0-rc.14",
78
78
  "engines": {
79
79
  "node": ">=16.6.0"
80
80
  }