@sanity/pkg-utils 2.2.4 → 2.2.6
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.
- package/dist/_chunks/build-f1000991.cjs.map +1 -1
- package/dist/_chunks/check-c18ac13f.cjs.map +1 -1
- package/dist/_chunks/index-8e21abdb.cjs.map +1 -1
- package/dist/_chunks/resolveBuildContext-2239fc5e.cjs.map +1 -1
- package/dist/_chunks/watch-a203cc42.cjs.map +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +18 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-f1000991.cjs","sources":["../../src/node/resolveBuildTasks.ts","../../src/node/spinner.ts","../../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, BuildContext} from './core'\nimport {BuildTask, DtsTask, NodeReExportFromCJSTask, RollupTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveBuildTasks(ctx: BuildContext): BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\n\n const tasks: BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupTask> = {}\n\n function addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'build:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n for (const bundle of bundles) {\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n }\n\n const nodeReexportCjsEntries: NodeReExportFromCJSTask['entries'] = []\n\n // Parse tasks to re-export from CommonJS for Node.js\n for (const exp of exports) {\n if (\n exp.node &&\n !exp.node.source &&\n exp.node.import &&\n exp.node.require &&\n (exp.node.import.endsWith('.cjs.js') || exp.node.import.endsWith('.cjs.mjs'))\n ) {\n const importId = path.join(pkg.name, exp._path)\n\n nodeReexportCjsEntries.push({\n importId,\n import: exp.node.import,\n require: exp.node.require,\n })\n }\n }\n\n if (nodeReexportCjsEntries.length) {\n tasks.push({\n type: 'node:reexport-cjs',\n entries: nodeReexportCjsEntries,\n })\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, TaskHandler, buildTaskHandlers} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\n\n const buildTasks = resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = buildTaskHandlers[task.type] as TaskHandler<BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["resolveBuildTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","bundles","tasks","exports","Object","entries","map","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","length","emitDeclarationOnly","output","require","import","browser","bundle","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","default","resolve","nodeReexportCjsEntries","node","endsWith","createSpinner","msg","startTime","Date","now","console","log","complete","chalk","green","gray","error","red","build","options","strict","tsconfig","tsconfigOption","logger","createLogger","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","buildTasks","task","handler","buildTaskHandlers","taskName","spinner","result","exec","toPromise","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-f1000991.cjs","sources":["../../src/node/resolveBuildTasks.ts","../../src/node/spinner.ts","../../src/node/build.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport {PkgExport, PkgFormat, PkgRuntime, BuildContext} from './core'\nimport {BuildTask, DtsTask, NodeReExportFromCJSTask, RollupTask, RollupTaskEntry} from './tasks'\n\n/** @internal */\nexport function resolveBuildTasks(ctx: BuildContext): BuildTask[] {\n const {config, cwd, pkg, target} = ctx\n\n const bundles = config?.bundles || []\n\n const tasks: BuildTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp} as PkgExport & {_path: string})\n )\n\n const dtsTask: DtsTask = {\n type: 'build:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupTask> = {}\n\n function addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'build:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Add dts task\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n if (!ctx.emitDeclarationOnly) {\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n for (const bundle of bundles) {\n if (bundle.require) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.require,\n })\n }\n\n if (bundle.import) {\n addRollupTaskEntry('commonjs', bundle.runtime || ctx.runtime, {\n path: '__bundle__',\n source: bundle.source,\n output: bundle.import,\n })\n }\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n ''\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n'\n )\n )\n }\n }\n }\n }\n }\n\n const nodeReexportCjsEntries: NodeReExportFromCJSTask['entries'] = []\n\n // Parse tasks to re-export from CommonJS for Node.js\n for (const exp of exports) {\n if (\n exp.node &&\n !exp.node.source &&\n exp.node.import &&\n exp.node.require &&\n (exp.node.import.endsWith('.cjs.js') || exp.node.import.endsWith('.cjs.mjs'))\n ) {\n const importId = path.join(pkg.name, exp._path)\n\n nodeReexportCjsEntries.push({\n importId,\n import: exp.node.import,\n require: exp.node.require,\n })\n }\n }\n\n if (nodeReexportCjsEntries.length) {\n tasks.push({\n type: 'node:reexport-cjs',\n entries: nodeReexportCjsEntries,\n })\n }\n\n return tasks\n}\n","/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function createSpinner(msg: string): {complete: () => void; error: () => void} {\n const startTime = Date.now()\n\n console.log(msg)\n\n return {\n complete: () => {\n console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveBuildTasks} from './resolveBuildTasks'\nimport {createSpinner} from './spinner'\nimport {BuildTask, TaskHandler, buildTaskHandlers} from './tasks'\n\n/**\n * Build the distribution files of a npm package.\n *\n * @example\n * ```ts\n * import {build} from '@sanity/pkg-utils'\n *\n * build({\n * cwd: process.cwd(),\n * tsconfig: 'tsconfig.dist.json,\n * }).then(() => {\n * console.log('successfully built')\n * }).catch((err) => {\n * console.log(`build error: ${err.message}`)\n * })\n * ```\n *\n * @public\n */\nexport async function build(options: {\n cwd: string\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, emitDeclarationOnly, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n const ctx = await resolveBuildContext({\n config,\n cwd,\n emitDeclarationOnly,\n extMap,\n logger,\n pkg,\n strict,\n tsconfig,\n })\n\n const buildTasks = resolveBuildTasks(ctx)\n\n for (const task of buildTasks) {\n const handler = buildTaskHandlers[task.type] as TaskHandler<BuildTask>\n const taskName = handler.name(ctx, task)\n\n const spinner = createSpinner(taskName)\n\n try {\n const result = await handler.exec(ctx, task).toPromise()\n\n spinner.complete()\n ctx.logger.log()\n\n handler.complete(ctx, task, result)\n } catch (err) {\n spinner.error()\n\n if (err instanceof Error) {\n const RE_CWD = new RegExp(`${cwd}`, 'g')\n\n ctx.logger.error(err.message.replace(RE_CWD, '.'))\n ctx.logger.log()\n }\n\n handler.error(ctx, task, err)\n\n process.exit(1)\n }\n }\n}\n"],"names":["resolveBuildTasks","ctx","_a","_b","_c","_d","_e","config","cwd","pkg","target","bundles","tasks","exports","Object","entries","map","_ref","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","concat","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","length","emitDeclarationOnly","output","require","import","browser","bundle","values","legacyExports","_exported","relativeTargetPath","replace","fs","writeFileSync","default","resolve","nodeReexportCjsEntries","node","endsWith","createSpinner","msg","startTime","Date","now","console","log","complete","chalk","green","gray","error","red","build","options","_ref2","strict","tsconfig","tsconfigOption","logger","createLogger","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","buildTasks","task","handler","buildTaskHandlers","taskName","spinner","result","exec","toPromise","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-c18ac13f.cjs","sources":["../../src/node/getFilesize.ts","../../src/node/printPackageTree.ts","../../src/node/check.ts"],"sourcesContent":["import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, BuildContext} from './core'\nimport {getFilesize} from './getFilesize'\n\nexport function fileExists(file: string): boolean {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, unknown> = {}\n\n if (pkg.type) {\n tree.type = chalk.yellow(pkg.type)\n }\n\n if (pkg.bin) {\n tree.bin = Object.fromEntries(\n Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)])\n )\n }\n\n function fileInfo(file: string) {\n const info = getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${chalk.yellow(file)} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n types: undefined,\n source: fileInfo(entry.source),\n browser: undefined,\n require: undefined,\n node: undefined,\n import: undefined,\n default: fileInfo(entry.default),\n }\n\n if (entry.types) {\n exp.types = fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: fileInfo(entry.browser.source)}\n\n if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n if (entry.node) {\n exp.node = {}\n\n if (entry.node.source) exp.node.source = fileInfo(entry.node.source)\n if (entry.node.import) exp.node.import = fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n return [chalk.cyan(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree as Record<string, any>, true, true))\n}\n","import path from 'path'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {fileExists, printPackageTree} from './printPackageTree'\nimport {resolveBuildContext} from './resolveBuildContext'\n\n/** @public */\nexport async function check(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n\n printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const _paths: {require: string[]; import: string[]} = {\n require: [],\n import: [],\n }\n\n for (const exp of Object.values(ctx.exports || {})) {\n if (!exp._exported) continue\n if (exp.require) _paths.require.push(exp.require)\n if (exp.import) _paths.import.push(exp.import)\n }\n\n const external = Object.keys(pkg.dependencies || {}).concat(\n Object.keys(pkg.devDependencies || {})\n )\n\n if (_paths.import.length) {\n const code = _paths.import.map((id) => `import('${id}')`).join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'esm',\n bundle: true,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const _err of errors) {\n if (_err.location) {\n logger.error(_err.detail || _err.text)\n logger.error(`${_err.location.line} | ${_err.location.lineText}`)\n logger.error(\n 'in',\n `./${_err.location.file}:${_err.location.line}:${_err.location.column}`\n )\n } else {\n logger.error(_err.detail || _err.text)\n }\n\n logger.log()\n }\n\n process.exit(1)\n }\n }\n\n if (_paths.require.length) {\n const code = _paths.require.map((id) => `require('${id}')`).join('\\n')\n\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'cjs',\n bundle: true,\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.errors.length > 0) {\n // throw new Error(esbuildResult.errors.join(', '))\n logger.error(esbuildResult.errors.join(', '))\n process.exit(1)\n }\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n }\n }\n}\n"],"names":["getFilesize","file","stats","statSync","prettyBytes","default","size","fileExists","fs","accessSync","_","getFileInfo","cwd","filePath","p","path","resolve","exists","printPackageTree","ctx","exports","logger","pkg","log","chalk","blue","name","green","version","tree","type","yellow","bin","Object","fromEntries","entries","map","cyan","fileInfo","info","gray","red","filter","entry","_exported","exportPath","exp","types","source","browser","require","node","import","join","treeify","asTree","check","options","strict","tsconfig","tsconfigOption","createLogger","loadPkgWithReporting","config","loadConfig","extMap","getPkgExtMap","legacyExports","resolveBuildContext","missingFiles","push","length","error","process","exit","_paths","values","external","keys","dependencies","concat","devDependencies","code","id","esbuildResult","esbuild","build","stdin","contents","loader","resolveDir","format","bundle","logLevel","outfile","platform","warnings","warn","err","errors","_err","location","detail","text","line","lineText","column"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-c18ac13f.cjs","sources":["../../src/node/getFilesize.ts","../../src/node/printPackageTree.ts","../../src/node/check.ts"],"sourcesContent":["import {statSync} from 'fs'\nimport prettyBytes from 'pretty-bytes'\n\nexport function getFilesize(file: string): string {\n const stats = statSync(file)\n\n return prettyBytes(stats.size)\n}\n","import fs from 'fs'\nimport path from 'path'\nimport chalk from 'chalk'\nimport treeify from 'treeify'\nimport {PkgExport, BuildContext} from './core'\nimport {getFilesize} from './getFilesize'\n\nexport function fileExists(file: string): boolean {\n try {\n fs.accessSync(file)\n\n return true\n } catch (_) {\n return false\n }\n}\n\nfunction getFileInfo(cwd: string, filePath: string) {\n const p = path.resolve(cwd, filePath)\n const exists = fileExists(p)\n const size = exists ? getFilesize(p) : undefined\n\n return {exists, size}\n}\n\nexport function printPackageTree(ctx: BuildContext): void {\n const {cwd, exports, logger, pkg} = ctx\n\n if (!exports) return\n\n logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const tree: Record<string, unknown> = {}\n\n if (pkg.type) {\n tree.type = chalk.yellow(pkg.type)\n }\n\n if (pkg.bin) {\n tree.bin = Object.fromEntries(\n Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)])\n )\n }\n\n function fileInfo(file: string) {\n const info = getFileInfo(cwd, file)\n\n if (!info.size) {\n return `${chalk.gray(file)} ${chalk.red('does not exist')}`\n }\n\n return `${chalk.yellow(file)} ${chalk.gray(info.size)}`\n }\n\n tree.exports = Object.fromEntries(\n Object.entries(exports)\n .filter(([, entry]) => entry._exported)\n .map(([exportPath, entry]) => {\n const exp: Omit<PkgExport, '_exported'> = {\n types: undefined,\n source: fileInfo(entry.source),\n browser: undefined,\n require: undefined,\n node: undefined,\n import: undefined,\n default: fileInfo(entry.default),\n }\n\n if (entry.types) {\n exp.types = fileInfo(entry.types)\n } else {\n delete exp.types\n }\n\n if (entry.browser) {\n exp.browser = {source: fileInfo(entry.browser.source)}\n\n if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)\n if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)\n } else {\n delete exp.browser\n }\n\n if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n if (entry.node) {\n exp.node = {}\n\n if (entry.node.source) exp.node.source = fileInfo(entry.node.source)\n if (entry.node.import) exp.node.import = fileInfo(entry.node.import)\n if (entry.node.require) exp.node.require = fileInfo(entry.node.require)\n } else {\n delete exp.node\n }\n\n if (entry.import) {\n exp.import = fileInfo(entry.import)\n } else {\n delete exp.import\n }\n\n return [chalk.cyan(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree as Record<string, any>, true, true))\n}\n","import path from 'path'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {fileExists, printPackageTree} from './printPackageTree'\nimport {resolveBuildContext} from './resolveBuildContext'\n\n/** @public */\nexport async function check(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n const logger = createLogger()\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n\n printPackageTree(ctx)\n\n if (strict) {\n const missingFiles: string[] = []\n\n // Check if there are missing files\n for (const [, exp] of Object.entries(ctx.exports || {})) {\n if (exp.source && !fileExists(path.resolve(cwd, exp.source))) {\n missingFiles.push(exp.source)\n }\n\n if (exp.require && !fileExists(path.resolve(cwd, exp.require))) {\n missingFiles.push(exp.require)\n }\n\n if (exp.import && !fileExists(path.resolve(cwd, exp.import))) {\n missingFiles.push(exp.import)\n }\n\n if (exp.types && !fileExists(path.resolve(cwd, exp.types))) {\n missingFiles.push(exp.types)\n }\n }\n\n if (missingFiles.length) {\n logger.error('missing files')\n process.exit(1)\n }\n\n // Check if the files are resolved\n const _paths: {require: string[]; import: string[]} = {\n require: [],\n import: [],\n }\n\n for (const exp of Object.values(ctx.exports || {})) {\n if (!exp._exported) continue\n if (exp.require) _paths.require.push(exp.require)\n if (exp.import) _paths.import.push(exp.import)\n }\n\n const external = Object.keys(pkg.dependencies || {}).concat(\n Object.keys(pkg.devDependencies || {})\n )\n\n if (_paths.import.length) {\n const code = _paths.import.map((id) => `import('${id}')`).join('\\n')\n\n try {\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'esm',\n bundle: true,\n logLevel: 'silent',\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n } catch (err) {\n const {errors} = err as BuildFailure\n\n for (const _err of errors) {\n if (_err.location) {\n logger.error(_err.detail || _err.text)\n logger.error(`${_err.location.line} | ${_err.location.lineText}`)\n logger.error(\n 'in',\n `./${_err.location.file}:${_err.location.line}:${_err.location.column}`\n )\n } else {\n logger.error(_err.detail || _err.text)\n }\n\n logger.log()\n }\n\n process.exit(1)\n }\n }\n\n if (_paths.require.length) {\n const code = _paths.require.map((id) => `require('${id}')`).join('\\n')\n\n const esbuildResult = await esbuild.build({\n external,\n stdin: {\n contents: code,\n loader: 'js',\n resolveDir: cwd,\n },\n format: 'cjs',\n bundle: true,\n // otherwise output maps to stdout as we're using stdin\n outfile: '/dev/null',\n platform: 'node',\n })\n\n if (esbuildResult.errors.length > 0) {\n // throw new Error(esbuildResult.errors.join(', '))\n logger.error(esbuildResult.errors.join(', '))\n process.exit(1)\n }\n\n if (esbuildResult.warnings.length > 0) {\n logger.warn(...esbuildResult.warnings)\n }\n }\n }\n}\n"],"names":["getFilesize","file","stats","statSync","prettyBytes","default","size","fileExists","fs","accessSync","_","getFileInfo","cwd","filePath","p","path","resolve","exists","printPackageTree","ctx","exports","logger","pkg","log","concat","chalk","blue","name","green","version","tree","type","yellow","bin","Object","fromEntries","entries","map","_ref","cyan","fileInfo","info","gray","red","filter","_ref2","entry","_exported","_ref3","exportPath","exp","types","source","browser","require","node","import","join","treeify","asTree","check","options","_ref4","strict","tsconfig","tsconfigOption","createLogger","loadPkgWithReporting","config","loadConfig","extMap","getPkgExtMap","legacyExports","resolveBuildContext","missingFiles","push","length","error","process","exit","_paths","values","external","keys","dependencies","devDependencies","code","id","esbuildResult","esbuild","build","stdin","contents","loader","resolveDir","format","bundle","logLevel","outfile","platform","warnings","warn","err","errors","_err","location","detail","text","line","lineText","column"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-8e21abdb.cjs","sources":["../../src/node/printExtractMessages.ts","../../src/node/tasks/dts/printDiagnostic.ts","../../src/node/tasks/dts/buildTypes.ts","../../src/node/tasks/dts/DtsError.ts","../../src/node/tasks/dts/createApiExtractorConfig.ts","../../src/node/tasks/dts/createTSDocConfig.ts","../../src/node/tasks/dts/extractModuleBlocks.ts","../../src/node/tasks/dts/getExtractMessagesConfig.ts","../../src/node/tasks/dts/extractTypes.ts","../../src/node/tasks/dts/doExtract.ts","../../src/node/tasks/dts/dtsTask.ts","../../src/node/tasks/dts/dtsWatchTask.ts","../../src/node/tasks/node/reexportCjsTask.ts","../../src/node/tasks/rollup/consoleSpy.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport ts from 'typescript'\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimraf from 'rimraf'\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import {writeFile} from 'fs/promises'\nimport path from 'path'\nimport chalk from 'chalk'\nimport mkdirp from 'mkdirp'\nimport {from} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n code += `export default cjs.default;\\n`\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options: {\n onRestored: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored(messages)\n },\n }\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config?.babel?.plugins,\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n },\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n },\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {createConsoleSpy} from './consoleSpy'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ` target:`,\n ...task.target.map((t) => ` - ${chalk.yellow(t)}`),\n ` entries:`,\n ...task.entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {nodeReexportCjsTask} from './node/reexportCjsTask'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'node:reexport-cjs': nodeReexportCjsTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","chalk","cyan","yellow","sourceFileLine","default","sourceFileColumn","gray","text","join","errors","red","process","exit","printDiagnostic","options","diagnostic","file","start","line","character","ts","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","fileName","output","blue","code","category","DiagnosticCategory","Error","error","Warning","warn","Message","Suggestion","buildTypes","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","emitSkipped","diag","DtsError","constructor","createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","node","type","print","LOG_LEVELS","info","off","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","rimraf","dtsTask","_ctx","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","nodeReexportCjsTask","import","from","console","targetDir","mod","relativeImport","startsWith","slice","compileESMWrapper","keys","Object","k","__esModule","createConsoleSpy","onRestored","original","args","restore","resolveRollupConfig","buildTask","_c","_d","runtime","target","exports","_exports","extMap","external","pkg","outputExt","minify","pathAliases","fromEntries","paths","val","baseUrl","exportIds","sourcePaths","values","e","source","replacements","define","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","babel","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","modules","terser","compress","directives","comments","_node","comment","value","test","Boolean","userPlugins","rollup","Array","isArray","resolveConfigProperty","inputOptions","context","id","importer","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","rollupTask","execPromise","consoleSpy","String","bundle","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-8e21abdb.cjs","sources":["../../src/node/printExtractMessages.ts","../../src/node/tasks/dts/printDiagnostic.ts","../../src/node/tasks/dts/buildTypes.ts","../../src/node/tasks/dts/DtsError.ts","../../src/node/tasks/dts/createApiExtractorConfig.ts","../../src/node/tasks/dts/createTSDocConfig.ts","../../src/node/tasks/dts/extractModuleBlocks.ts","../../src/node/tasks/dts/getExtractMessagesConfig.ts","../../src/node/tasks/dts/extractTypes.ts","../../src/node/tasks/dts/doExtract.ts","../../src/node/tasks/dts/dtsTask.ts","../../src/node/tasks/dts/dtsWatchTask.ts","../../src/node/tasks/node/reexportCjsTask.ts","../../src/node/tasks/rollup/consoleSpy.ts","../../src/node/tasks/rollup/resolveRollupConfig.ts","../../src/node/tasks/rollup/rollupTask.ts","../../src/node/tasks/rollup/rollupWatchTask.ts","../../src/node/tasks/index.ts"],"sourcesContent":["import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport chalk from 'chalk'\nimport {BuildContext} from './core'\n\nexport function printExtractMessages(ctx: BuildContext, messages: ExtractorMessage[]): void {\n const {cwd, logger} = ctx\n\n const warnings = messages.filter((msg) => msg.logLevel === 'warning')\n\n if (warnings.length) {\n logger.log()\n }\n\n for (const msg of warnings) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n if (msg.messageId === 'TS6307') {\n // Ignore this warning:\n // > TS6307: <filename> is not in project file list.\n // > Projects must list all files or use an 'include' pattern.\n continue\n }\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.yellow('warning')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n const errors: ExtractorMessage[] = messages.filter((msg) => msg.logLevel === 'error')\n\n if (!warnings.length && errors.length) {\n logger.log('')\n }\n\n for (const msg of errors) {\n const sourceFilePath = msg.sourceFilePath && path.relative(cwd, msg.sourceFilePath)\n\n logger.log(\n [\n `${chalk.cyan(sourceFilePath || '?')}`,\n `:${chalk.yellow(msg.sourceFileLine)}:${chalk.yellow(msg.sourceFileColumn)}`,\n ` - ${chalk.red('error')} ${chalk.gray(msg.messageId)}\\n`,\n msg.text,\n '\\n',\n ].join('')\n )\n }\n\n if (errors.length) {\n process.exit(1)\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport ts from 'typescript'\nimport {Logger} from '../../logger'\n\nexport function printDiagnostic(options: {\n cwd: string\n logger: Logger\n diagnostic: ts.Diagnostic\n}): void {\n const {cwd, logger, diagnostic} = options\n\n if (diagnostic.file && diagnostic.start) {\n const {line, character} = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start)\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n')\n\n const file = path.relative(cwd, diagnostic.file.fileName)\n\n const output = [\n `${chalk.yellow(file)}:${chalk.blue(line + 1)}:${chalk.blue(character + 1)} - `,\n `${chalk.gray(`TS${diagnostic.code}:`)} ${message}`,\n ].join('')\n\n if (diagnostic.category === ts.DiagnosticCategory.Error) {\n logger.error(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Warning) {\n logger.warn(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Message) {\n logger.log(output)\n }\n\n if (diagnostic.category === ts.DiagnosticCategory.Suggestion) {\n logger.log(output)\n }\n } else {\n logger.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n}\n","import ts from 'typescript'\nimport {Logger} from '../../logger'\nimport {printDiagnostic} from './printDiagnostic'\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n logger: Logger\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {cwd, logger, outDir, tsconfig, strict = false} = options\n\n const compilerOptions: ts.CompilerOptions = {\n ...tsconfig.options,\n declaration: true,\n declarationDir: outDir,\n emitDeclarationOnly: true,\n noEmit: false,\n outDir,\n }\n\n const program = ts.createProgram(tsconfig.fileNames, compilerOptions)\n\n const emitResult = program.emit()\n\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics)\n\n for (const diagnostic of allDiagnostics) {\n printDiagnostic({cwd, logger, diagnostic})\n }\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n if (strict) {\n throw new Error('failed to compile TypeScript definitions')\n }\n }\n }\n}\n","import {ExtractorMessage} from '@microsoft/api-extractor'\n\n/** @internal */\nexport class DtsError extends Error {\n messages: ExtractorMessage[]\n\n constructor(message: string, messages: ExtractorMessage[]) {\n super(message)\n this.messages = messages\n }\n}\n","import path from 'path'\nimport {IConfigFile, IExtractorMessagesConfig} from '@microsoft/api-extractor'\n\nexport function createApiExtractorConfig(options: {\n distPath: string\n exportPath: string\n filePath: string\n messages: IExtractorMessagesConfig\n projectFolder: string\n mainEntryPointFilePath: string\n tsconfigPath: string\n}): IConfigFile {\n const {\n distPath,\n exportPath,\n filePath,\n messages,\n projectFolder,\n mainEntryPointFilePath,\n tsconfigPath,\n } = options\n\n return {\n apiReport: {\n enabled: false,\n reportFileName: '<unscopedPackageName>.api.md',\n },\n // bundledPackages: [],\n compiler: {\n tsconfigFilePath: tsconfigPath,\n },\n docModel: {\n enabled: false,\n apiJsonFilePath: path.resolve(distPath, `${exportPath}.api.json`),\n },\n dtsRollup: {\n enabled: true,\n untrimmedFilePath: path.resolve(distPath, filePath),\n // betaTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-beta.d.ts')),\n // publicTrimmedFilePath: path.resolve(distPath, filePath.replace('.d.ts', '-public.d.ts')),\n },\n tsdocMetadata: {\n enabled: false,\n },\n messages,\n mainEntryPointFilePath,\n projectFolder,\n }\n}\n","import {readFile} from 'fs/promises'\nimport {TSDocConfigFile} from '@microsoft/tsdoc-config'\nimport {parse} from 'jsonc-parser'\n\n/** @public */\nexport interface TSDocCustomTag {\n name: string\n syntaxKind: 'block' | 'modifier'\n allowMultiple?: boolean\n}\n\n/** @internal */\nexport async function createTSDocConfig(opts: {\n customTags: TSDocCustomTag[]\n}): Promise<TSDocConfigFile | undefined> {\n const {customTags} = opts\n\n if (customTags.length === 0) {\n return undefined\n }\n\n const tsDocBaseBuf = await readFile(\n require.resolve('@microsoft/api-extractor/extends/tsdoc-base.json')\n )\n\n // Include the definitions that are required for API Extractor\n // extends: ['@microsoft/api-extractor/extends/tsdoc-base.json'],\n const tsDocBaseConfig = parse(tsDocBaseBuf.toString())\n\n // Define custom tags and specify how they should be parsed\n const tagDefinitions = (tsDocBaseConfig.tagDefinitions || []).concat(\n customTags.map((t) => ({\n tagName: `@${t.name}`,\n syntaxKind: t.syntaxKind,\n allowMultiple: t.allowMultiple,\n }))\n )\n\n // Indicate that custom tags are supported by your tooling.\n // (Without this, warnings may be reported saying that a tag is unsupported.)\n const supportForTags = {...tsDocBaseConfig.supportForTags}\n\n for (const customTag of customTags) {\n supportForTags[`@${customTag.name}`] = true\n }\n\n return TSDocConfigFile.loadFromObject({\n ...tsDocBaseConfig,\n noStandardTags: false,\n tagDefinitions,\n supportForTags,\n })\n}\n","import type {File} from '@babel/types'\nimport {ExtractorResult} from '@microsoft/api-extractor'\nimport {parse, print} from 'recast'\nimport typeScriptParser from 'recast/parsers/typescript'\nimport {Program} from 'typescript'\n\n/**\n * A workaround to find all module blocks in extract TS files.\n * @internal\n * */\nexport async function extractModuleBlocksFromTypes({\n tsOutDir,\n extractResult,\n}: {\n tsOutDir: string\n extractResult: ExtractorResult\n}): Promise<string[]> {\n const program = extractResult.compilerState.program as Program\n const moduleBlocks: string[] = []\n\n // all program files, including node_modules\n const allProgramFiles = [...program.getSourceFiles()]\n\n // just our compiled files used in the program\n const sourceFiles = allProgramFiles.filter((sourceFile) => sourceFile.fileName.includes(tsOutDir))\n\n for (const sourceFile of sourceFiles) {\n if (sourceFile.text.includes('declare module')) {\n moduleBlocks.push(...extractModuleBlocks(sourceFile.text))\n }\n }\n\n return moduleBlocks\n}\n\n/** @internal */\nexport function extractModuleBlocks(fileContent: string): string[] {\n const ast = parse(fileContent, {\n parser: typeScriptParser,\n }) as File\n\n return ast.program.body\n .filter((node) => node.type === 'TSModuleDeclaration')\n .map((node) => print(node).code)\n}\n","import {ExtractorLogLevel, IExtractorMessagesConfig} from '@microsoft/api-extractor'\nimport {PkgRuleLevel, PkgConfigOptions} from '../../core'\n\nconst LOG_LEVELS: Record<PkgRuleLevel, ExtractorLogLevel> = {\n error: 'error' as ExtractorLogLevel.Error,\n info: 'info' as ExtractorLogLevel.Info,\n off: 'none' as ExtractorLogLevel.None,\n warn: 'warning' as ExtractorLogLevel.Warning,\n}\n\n/** @internal */\nexport function getExtractMessagesConfig(options: {\n rules: NonNullable<PkgConfigOptions['extract']>['rules']\n}): IExtractorMessagesConfig {\n const {rules} = options\n\n function ruleToLogLevel(\n key: keyof NonNullable<NonNullable<PkgConfigOptions['extract']>['rules']>,\n defaultLevel?: ExtractorLogLevel\n ) {\n const r = rules?.[key]\n\n return (r ? LOG_LEVELS[r] : defaultLevel || 'warning') as ExtractorLogLevel\n }\n\n return {\n compilerMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n },\n },\n\n extractorMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'ae-forgotten-export': {\n logLevel: ruleToLogLevel('ae-forgotten-export', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-incompatible-release-tags': {\n logLevel: ruleToLogLevel('ae-incompatible-release-tags', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-internal-missing-underscore': {\n logLevel: ruleToLogLevel('ae-internal-missing-underscore'),\n addToApiReportFile: false,\n },\n\n 'ae-missing-release-tag': {\n logLevel: ruleToLogLevel('ae-missing-release-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'ae-wrong-input-file-type': {\n logLevel: 'none' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n },\n\n tsdocMessageReporting: {\n default: {\n logLevel: 'warning' as ExtractorLogLevel,\n addToApiReportFile: false,\n },\n\n 'tsdoc-link-tag-unescaped-text': {\n logLevel: ruleToLogLevel('tsdoc-link-tag-unescaped-text', 'warning' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-undefined-tag': {\n logLevel: ruleToLogLevel('tsdoc-undefined-tag', 'error' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n\n 'tsdoc-unsupported-tag': {\n logLevel: ruleToLogLevel('tsdoc-unsupported-tag', 'none' as ExtractorLogLevel),\n addToApiReportFile: false,\n },\n },\n }\n}\n","import fs from 'fs/promises'\nimport path from 'path'\nimport {\n Extractor,\n ExtractorConfig,\n ExtractorMessage,\n ExtractorResult,\n} from '@microsoft/api-extractor'\nimport mkdirp from 'mkdirp'\nimport prettier from 'prettier'\nimport {PkgConfigOptions, BuildFile} from '../../core'\nimport {createApiExtractorConfig} from './createApiExtractorConfig'\nimport {createTSDocConfig} from './createTSDocConfig'\nimport {extractModuleBlocksFromTypes} from './extractModuleBlocks'\nimport {getExtractMessagesConfig} from './getExtractMessagesConfig'\n\nexport async function extractTypes(options: {\n customTags: NonNullable<PkgConfigOptions['extract']>['customTags']\n cwd: string\n distPath: string\n exportPath: string\n filePath: string\n files: BuildFile[]\n projectPath: string\n rules?: NonNullable<PkgConfigOptions['extract']>['rules']\n sourceTypesPath: string\n tmpPath: string\n tsconfigPath: string\n}): Promise<{extractorResult: ExtractorResult; messages: ExtractorMessage[]}> {\n const {\n customTags,\n distPath,\n exportPath,\n files,\n filePath,\n projectPath,\n rules,\n sourceTypesPath,\n tmpPath,\n tsconfigPath,\n } = options\n\n const tsdocConfigFile = await createTSDocConfig({\n customTags: customTags || [],\n })\n\n const extractorConfig: ExtractorConfig = ExtractorConfig.prepare({\n configObject: createApiExtractorConfig({\n distPath,\n exportPath,\n filePath,\n messages: getExtractMessagesConfig({rules}),\n projectFolder: projectPath,\n mainEntryPointFilePath: sourceTypesPath,\n tsconfigPath,\n }),\n configObjectFullPath: undefined,\n tsdocConfigFile,\n packageJsonFullPath: path.resolve(projectPath, 'package.json'),\n })\n\n const messages: ExtractorMessage[] = []\n\n // Invoke API Extractor\n const extractorResult = Extractor.invoke(extractorConfig, {\n // Equivalent to the \"--local\" command-line parameter\n localBuild: true,\n // Equivalent to the \"--verbose\" command-line parameter\n showVerboseMessages: true,\n // handle messages\n messageCallback(message: ExtractorMessage) {\n messages.push(message)\n message.handled = true\n },\n })\n\n const typesPath = path.resolve(distPath, filePath)\n const typesBuf = await fs.readFile(typesPath)\n const prettierConfig = await prettier.resolveConfig(typesPath)\n\n await mkdirp(path.dirname(typesPath))\n\n const moduleBlocks = await extractModuleBlocksFromTypes({\n extractResult: extractorResult,\n tsOutDir: tmpPath,\n })\n\n const code = [typesBuf.toString(), ...moduleBlocks].join('\\n\\n')\n\n await fs.writeFile(\n typesPath,\n prettier.format(code, {\n ...prettierConfig,\n filepath: typesPath,\n })\n )\n\n // Add to `files` in context\n files.push({\n type: 'types',\n path: typesPath,\n })\n\n return {extractorResult, messages}\n}\n","import path from 'path'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimraf from 'rimraf'\nimport {BuildContext} from '../../core'\nimport {buildTypes} from './buildTypes'\nimport {DtsError} from './DtsError'\nimport {extractTypes} from './extractTypes'\nimport {DtsResult, DtsTask, DtsWatchTask} from './types'\n\n/**\n * - Build type definitions to a temporary directory using TypeScript compiler.\n * - Create a type definition bundle for each export entry.\n * - When done, remove the temporary directory.\n */\nexport async function doExtract(\n ctx: BuildContext,\n task: DtsTask | DtsWatchTask\n): Promise<DtsResult> {\n const {config, cwd, files, logger, strict, ts} = ctx\n\n if (!ts.config || !ts.configPath) {\n return {type: 'dts', messages: [], results: []}\n }\n\n const {outDir, rootDir = cwd} = ts.config.options\n\n if (!outDir) {\n throw new Error('tsconfig.json is missing `compilerOptions.outDir`')\n }\n\n const tmpPath = path.resolve(outDir, '__tmp__')\n\n await buildTypes({cwd, logger, outDir: tmpPath, strict, tsconfig: ts.config})\n const messages: ExtractorMessage[] = []\n\n const results: {sourcePath: string; filePath: string}[] = []\n\n for (const entry of task.entries) {\n const exportPath = entry.exportPath === '.' ? './index' : entry.exportPath\n\n const sourceTypesPath = path.resolve(\n tmpPath,\n path.relative(rootDir, path.resolve(cwd, entry.sourcePath)).replace(/\\.ts$/, '.d.ts')\n )\n\n const targetPath = path.resolve(cwd, entry.targetPath)\n const filePath = path.relative(outDir, targetPath)\n const result = await extractTypes({\n customTags: config?.extract?.customTags,\n cwd,\n distPath: outDir,\n exportPath,\n files,\n filePath: filePath,\n projectPath: cwd,\n rules: config?.extract?.rules,\n sourceTypesPath: sourceTypesPath,\n tmpPath,\n tsconfigPath: path.resolve(cwd, ts.configPath || 'tsconfig.json'),\n })\n\n messages.push(...result.messages)\n\n if (result.messages.some((msg) => msg.logLevel === 'error')) {\n await rimraf(tmpPath)\n\n throw new DtsError('encountered errors when extracting types', result.messages)\n }\n\n results.push({sourcePath: path.resolve(cwd, entry.sourcePath), filePath: targetPath})\n }\n\n await rimraf(tmpPath)\n\n return {type: 'dts', messages, results}\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsTask} from './types'\n\n/** @internal */\nexport const dtsTask: TaskHandler<DtsTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `Build type definitions...`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => {\n observer.error(err)\n })\n })\n },\n complete: (ctx, _task, result) => {\n printExtractMessages(ctx, result.messages)\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import chalk from 'chalk'\nimport {Observable} from 'rxjs'\nimport {printExtractMessages} from '../../printExtractMessages'\nimport {TaskHandler} from '../types'\nimport {doExtract} from './doExtract'\nimport {DtsError} from './DtsError'\nimport {DtsResult, DtsWatchTask} from './types'\n\n/** @internal */\nexport const dtsWatchTask: TaskHandler<DtsWatchTask, DtsResult> = {\n name: (_ctx, task) =>\n [\n `build type definitions`,\n ...task.entries.map(\n (entry) =>\n ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n doExtract(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: (ctx, _task, result) => {\n const {logger} = ctx\n\n printExtractMessages(ctx, result.messages)\n\n logger.warn('watching typescript definitions is currently not supported')\n logger.log()\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof DtsError) {\n printExtractMessages(ctx, err.messages)\n } else if (err instanceof Error) {\n logger.error(err)\n }\n },\n}\n","import {writeFile} from 'fs/promises'\nimport path from 'path'\nimport chalk from 'chalk'\nimport mkdirp from 'mkdirp'\nimport {from} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {NodeReExportFromCJSTask, TaskHandler} from '../types'\n\n/** @internal */\nexport const nodeReexportCjsTask: TaskHandler<NodeReExportFromCJSTask> = {\n name: (_ctx, task) =>\n [\n `Re-export CommonJS module in ESM wrapper…`,\n ` entries:`,\n ...task.entries.map((entry) =>\n [\n ` - ${chalk.cyan(entry.importId)}: `,\n `${chalk.yellow(entry.require)} ${chalk.gray('→')} ${chalk.yellow(entry.import)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return from(exec(ctx, task))\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function exec(ctx: BuildContext, task: NodeReExportFromCJSTask) {\n const {cwd} = ctx\n\n for (const entry of task.entries) {\n const sourcePath = path.resolve(cwd, entry.require)\n const targetPath = path.resolve(cwd, entry.import)\n const targetDir = path.dirname(targetPath)\n\n await mkdirp(targetDir)\n\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const mod = require(sourcePath)\n\n let relativeImport = `./${path.relative(targetDir, sourcePath)}`\n\n // Strip leading \"./\" from relative import\n if (relativeImport.startsWith('./.')) {\n relativeImport = relativeImport.slice(2)\n }\n\n const code = compileESMWrapper(mod, relativeImport)\n\n await writeFile(targetPath, code, 'utf8')\n }\n}\n\nfunction compileESMWrapper(mod: any, relativeImport: string) {\n const keys = Object.keys(mod).filter((k) => k !== '__esModule')\n\n let code = `import cjs from '${relativeImport}';\\n`\n\n if (keys.length) {\n code += `\\n`\n code += keys\n .filter((k) => (mod.__esModule ? k !== 'default' : true))\n .map((k) => `export const ${k} = cjs.${k};\\n`)\n .join('')\n }\n\n code += `\\n`\n\n if (mod.__esModule) {\n code += `export default cjs.default;\\n`\n } else {\n code += `export default cjs;\\n`\n }\n\n return code\n}\n","/* eslint-disable no-console */\n\nexport interface ConsoleSpyMsg {\n type: 'log' | 'warn' | 'error'\n code?: string\n args: unknown[]\n}\n\nexport interface ConsoleSpy {\n messages: ConsoleSpyMsg[]\n restore: () => void\n}\n\nexport function createConsoleSpy(options: {\n onRestored: (messages: ConsoleSpyMsg[]) => void\n}): ConsoleSpy {\n const {onRestored} = options\n\n const original = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const messages: ConsoleSpyMsg[] = []\n\n console.log = (...args: unknown[]) => messages.push({type: 'log', args})\n console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})\n console.error = (...args: unknown[]) => messages.push({type: 'error', args})\n\n return {\n messages,\n restore: () => {\n console.log = original.log\n console.warn = original.warn\n console.error = original.error\n\n onRestored(messages)\n },\n }\n}\n","import path from 'path'\nimport alias from '@rollup/plugin-alias'\nimport {getBabelOutputPlugin} from '@rollup/plugin-babel'\nimport commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport {nodeResolve} from '@rollup/plugin-node-resolve'\nimport replace from '@rollup/plugin-replace'\nimport terser from '@rollup/plugin-terser'\nimport {InputOptions, OutputOptions, Plugin} from 'rollup'\nimport esbuild from 'rollup-plugin-esbuild'\nimport {BuildContext, DEFAULT_BROWSERSLIST_QUERY, resolveConfigProperty} from '../../core'\nimport {RollupTask, RollupWatchTask} from '../types'\n\nexport interface RollupConfig {\n inputOptions: InputOptions\n outputOptions: OutputOptions\n}\n\n/** @internal */\nexport function resolveRollupConfig(\n ctx: BuildContext,\n buildTask: RollupTask | RollupWatchTask\n): RollupConfig {\n const {format, runtime, target} = buildTask\n const {config, cwd, exports: _exports, extMap, external, distPath, logger, pkg, ts} = ctx\n const outputExt = extMap[pkg.type || 'commonjs'][format]\n const minify = config?.minify ?? false\n const outDir = path.relative(cwd, distPath)\n\n const pathAliases = Object.fromEntries(\n Object.entries(ts.config?.options.paths || {}).map(([key, val]) => {\n return [key, path.resolve(cwd, ts.config?.options.baseUrl || '.', val[0])]\n })\n )\n\n const entries = buildTask.entries.map((entry) => {\n return {\n ...entry,\n name: path.relative(outDir, entry.output).replace(/\\.[^/.]+$/, ''),\n }\n }, {})\n\n const exportIds =\n _exports && Object.keys(_exports).map((exportPath) => path.join(pkg.name, exportPath))\n\n const sourcePaths = _exports && Object.values(_exports).map((e) => path.resolve(cwd, e.source))\n\n const replacements = Object.fromEntries(\n Object.entries(config?.define || {}).map(([key, val]) => [key, JSON.stringify(val)])\n )\n\n const defaultPlugins = [\n replace({\n preventAssignment: true,\n values: {\n ...(pkg.name === '@sanity/pkg-utils'\n ? {...replacements}\n : {\n 'process.env.PKG_FILE_PATH': (arg) => {\n const sourcePath = './' + path.relative(cwd, arg)\n const entry = entries.find((e) => e.source === sourcePath)\n\n if (!entry) {\n // eslint-disable-next-line no-console\n console.error(`could not find source entry: ${sourcePath}`)\n\n return 'null'\n }\n\n return JSON.stringify(\n path.relative(cwd, path.resolve(outDir, entry.name + outputExt))\n )\n },\n 'process.env.PKG_FORMAT': JSON.stringify(format),\n 'process.env.PKG_RUNTIME': JSON.stringify(runtime),\n 'process.env.PKG_VERSION': JSON.stringify(process.env.PKG_VERSION || pkg.version),\n ...replacements,\n }),\n },\n }),\n alias({\n entries: {...pathAliases},\n }),\n nodeResolve({\n // mainFields: ['module', 'jsnext', 'main'],\n browser: runtime === 'browser',\n // exportConditions: [runtime === 'node' ? 'node' : 'browser'],\n extensions: ['.cjs', '.mjs', '.js', '.jsx', '.json', '.node'],\n preferBuiltins: true, // runtime === 'node',\n }),\n commonjs(),\n json(),\n esbuild({\n jsx: config?.jsx ?? 'automatic',\n jsxFactory: config?.jsxFactory ?? 'createElement',\n jsxFragment: config?.jsxFragment ?? 'Fragment',\n jsxImportSource: config?.jsxImportSource ?? 'react',\n target,\n tsconfig: ctx.ts.configPath || 'tsconfig.json',\n }),\n getBabelOutputPlugin({\n babelrc: false,\n plugins: config?.babel?.plugins,\n presets: [\n [\n '@babel/preset-env',\n {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY, modules: false},\n ],\n ],\n }),\n minify &&\n terser({\n compress: {\n // Needed until https://github.com/terser/terser/issues/1320 is fixed\n directives: false,\n },\n output: {\n comments: (_node, comment) => {\n const text = comment.value\n const type = comment.type\n\n // Check if this is a multiline comment\n if (type == 'comment2') {\n // Keep licensing comments\n return /@preserve|@license|@cc_on/i.test(text)\n }\n\n return false\n },\n },\n }),\n ].filter(Boolean) as Plugin[]\n\n const userPlugins = config?.rollup?.plugins\n\n const plugins = Array.isArray(userPlugins)\n ? defaultPlugins.concat(userPlugins)\n : resolveConfigProperty(config?.rollup?.plugins, defaultPlugins)\n\n return {\n inputOptions: {\n context: cwd,\n\n external: (id, importer) => {\n // Check if the id is a self-referencing import\n if (exportIds?.includes(id)) {\n return true\n }\n\n // Check if the id is a file path that points to an exported source file\n if (importer && (id.startsWith('.') || id.startsWith('/'))) {\n const idPath = path.resolve(path.dirname(importer), id)\n\n if (sourcePaths?.includes(idPath)) {\n logger.warn(\n `detected self-referencing import – treating as external: ${path.relative(\n cwd,\n idPath\n )}`\n )\n\n return true\n }\n }\n\n const idParts = id.split('/')\n\n const name = idParts[0].startsWith('@') ? `${idParts[0]}/${idParts[1]}` : idParts[0]\n\n if (name && external.includes(name)) {\n return true\n }\n\n return false\n },\n\n input: entries.reduce<{[entryAlias: string]: string}>((acc, entry) => {\n return {...acc, [entry.name]: entry.source}\n }, {}),\n\n plugins,\n\n treeshake: {\n propertyReadSideEffects: false,\n },\n },\n outputOptions: {\n chunkFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `_chunks/[name]-[hash].${parts[2]}`\n }\n\n return `_chunks/[name]-[hash]${outputExt}`\n },\n compact: minify,\n dir: outDir,\n entryFileNames: () => {\n const parts = outputExt.split('.')\n\n if (parts.length === 3) {\n return `[name].${parts[2]}`\n }\n\n return `[name]${outputExt}`\n },\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n hoistTransitiveImports: false,\n },\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {rollup} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {BuildContext} from '../../core'\nimport {RollupTask, TaskHandler} from '../types'\nimport {createConsoleSpy} from './consoleSpy'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\n name: (ctx, task) =>\n [\n `Build javascript files...`,\n ` format: ${chalk.yellow(task.format)}`,\n ` target:`,\n ...task.target.map((t) => ` - ${chalk.yellow(t)}`),\n ` entries:`,\n ...task.entries.map((e) =>\n [\n ` - `,\n `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,\n `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,\n ].join('')\n ),\n ].join('\\n'),\n exec: (ctx, task) => {\n return new Observable((observer) => {\n execPromise(ctx, task)\n .then((result) => {\n observer.next(result)\n observer.complete()\n })\n .catch((err) => observer.error(err))\n })\n },\n complete: () => {\n //\n },\n error: (_ctx, _task, err) => {\n // eslint-disable-next-line no-console\n console.error(err)\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {distPath, files, logger} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n // Prevent rollup from printing directly to the console\n const consoleSpy = createConsoleSpy({\n onRestored: (messages) => {\n for (const msg of messages) {\n const text = String(msg.args[0])\n\n if (msg.code === 'CIRCULAR_DEPENDENCY') {\n continue // ignore\n }\n\n if (text.startsWith('Dynamic import can only')) {\n continue // ignore\n }\n\n if (text.startsWith('Sourcemap is likely to be incorrect')) {\n continue // ignore\n }\n\n if (msg.type === 'log') {\n logger.info(...msg.args)\n }\n\n if (msg.type === 'warn') {\n logger.warn(...msg.args)\n }\n\n if (msg.type === 'error') {\n logger.error(...msg.args)\n }\n }\n },\n })\n\n try {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n consoleSpy.messages.push({\n type: 'warn',\n code: warning.code,\n args: [warning.message],\n })\n },\n })\n\n // generate output specific code in-memory\n // you can call this function multiple times on the same bundle object\n const {output} = await bundle.generate(outputOptions)\n\n for (const chunkOrAsset of output) {\n if (chunkOrAsset.type === 'asset') {\n files.push({\n type: 'asset',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n } else {\n files.push({\n type: 'chunk',\n path: path.resolve(outDir, chunkOrAsset.fileName),\n })\n }\n }\n\n // or write the bundle to disk\n await bundle.write(outputOptions)\n\n // closes the bundle\n await bundle.close()\n\n // Restore console\n consoleSpy.restore()\n } catch (err) {\n // Restore console\n consoleSpy.restore()\n throw err\n }\n}\n","import path from 'path'\nimport chalk from 'chalk'\nimport {RollupWatcherEvent, RollupWatchOptions, watch as rollupWatch} from 'rollup'\nimport {Observable} from 'rxjs'\nimport {RollupWatchTask, TaskHandler} from '../types'\nimport {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> = {\n name: (ctx, task) =>\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`,\n exec: (ctx, task) => {\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n return new Observable((observer) => {\n const watchOptions: RollupWatchOptions = {\n ...inputOptions,\n output: outputOptions,\n }\n\n const watcher = rollupWatch(watchOptions)\n\n watcher.on('event', (event) => {\n observer.next(event)\n })\n\n return () => {\n watcher.close()\n }\n })\n },\n complete: (ctx, task, event) => {\n const {logger} = ctx\n\n if (event.code === 'BUNDLE_END') {\n logger.success(\n `build javascript files (target ${task.target.join(' + ')}, format ${\n task.format\n })\\n ${task.entries\n .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)\n .join('\\n ')}`\n )\n logger.log('')\n\n return\n }\n\n if (event.code === 'BUNDLE_START') {\n return\n }\n\n if (event.code === 'END') {\n return\n }\n\n if (event.code === 'ERROR') {\n logger.error(event.code, event)\n\n return\n }\n\n if (event.code === 'START') {\n return\n }\n },\n error: (ctx, _task, err) => {\n const {logger} = ctx\n\n if (err instanceof Error) {\n logger.log(err)\n }\n },\n}\n","import {dtsTask, dtsWatchTask} from './dts'\nimport {nodeReexportCjsTask} from './node/reexportCjsTask'\nimport {rollupTask, rollupWatchTask} from './rollup'\nimport {BuildTaskHandlers, WatchTaskHandlers} from './types'\n\nexport * from './types'\nexport * from './dts'\nexport * from './rollup'\n\n/** @internal */\nexport const buildTaskHandlers: BuildTaskHandlers = {\n 'build:dts': dtsTask,\n 'build:js': rollupTask,\n 'node:reexport-cjs': nodeReexportCjsTask,\n}\n\n/** @internal */\nexport const watchTaskHandlers: WatchTaskHandlers = {\n 'watch:dts': dtsWatchTask,\n 'watch:js': rollupWatchTask,\n}\n"],"names":["printExtractMessages","ctx","messages","cwd","logger","warnings","filter","msg","logLevel","length","log","sourceFilePath","path","relative","messageId","concat","chalk","cyan","yellow","sourceFileLine","default","sourceFileColumn","gray","text","join","errors","red","process","exit","printDiagnostic","options","diagnostic","file","start","line","character","ts","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","fileName","output","blue","code","category","DiagnosticCategory","Error","error","Warning","warn","Message","Suggestion","buildTypes","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","diagnostics","emitSkipped","diag","DtsError","constructor","createApiExtractorConfig","distPath","exportPath","filePath","projectFolder","mainEntryPointFilePath","tsconfigPath","apiReport","enabled","reportFileName","compiler","tsconfigFilePath","docModel","apiJsonFilePath","resolve","dtsRollup","untrimmedFilePath","tsdocMetadata","createTSDocConfig","opts","customTags","tsDocBaseBuf","readFile","require","tsDocBaseConfig","parse","toString","tagDefinitions","map","t","tagName","name","syntaxKind","allowMultiple","supportForTags","customTag","TSDocConfigFile","loadFromObject","noStandardTags","extractModuleBlocksFromTypes","_ref","tsOutDir","extractResult","compilerState","moduleBlocks","allProgramFiles","getSourceFiles","sourceFiles","sourceFile","includes","push","extractModuleBlocks","fileContent","ast","parser","typeScriptParser","body","node","type","print","LOG_LEVELS","info","off","getExtractMessagesConfig","rules","ruleToLogLevel","key","defaultLevel","r","compilerMessageReporting","extractorMessageReporting","addToApiReportFile","tsdocMessageReporting","extractTypes","files","projectPath","sourceTypesPath","tmpPath","tsdocConfigFile","extractorConfig","ExtractorConfig","prepare","configObject","configObjectFullPath","packageJsonFullPath","extractorResult","Extractor","invoke","localBuild","showVerboseMessages","messageCallback","handled","typesPath","typesBuf","fs","prettierConfig","prettier","resolveConfig","mkdirp","dirname","writeFile","format","filepath","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","rimraf","dtsTask","_ctx","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","nodeReexportCjsTask","import","from","console","targetDir","mod","relativeImport","startsWith","slice","compileESMWrapper","keys","Object","k","__esModule","createConsoleSpy","onRestored","original","_len","arguments","args","Array","_key","_len2","_key2","_len3","_key3","restore","resolveRollupConfig","buildTask","_ref2","_ref5","_ref6","_ref7","_ref8","_ref9","_c","_d","runtime","target","exports","_exports","extMap","external","pkg","outputExt","minify","pathAliases","fromEntries","paths","_ref3","val","baseUrl","exportIds","sourcePaths","values","e","source","replacements","define","_ref4","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","babel","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","modules","terser","compress","directives","comments","_node","comment","value","test","Boolean","userPlugins","rollup","isArray","resolveConfigProperty","inputOptions","context","id","importer","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","parts","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","hoistTransitiveImports","rollupTask","execPromise","consoleSpy","String","bundle","onwarn","warning","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKgB,SAAAA,oBAAAA,CAAqBC,KAAmBC,QAAoC,EAAA;EACpF,MAAA;IAACC,GAAK;IAAAC;EAAU,CAAA,GAAAH,GAAA;EAEtB,MAAMI,WAAWH,QAAS,CAAAI,MAAA,CAAQC,GAAQ,IAAAA,GAAA,CAAIC,aAAa,SAAS,CAAA;EAEpE,IAAIH,SAASI,MAAQ,EAAA;IACnBL,MAAA,CAAOM,GAAI,EAAA;EACb;EAEA,KAAA,MAAWH,OAAOF,QAAU,EAAA;IAC1B,MAAMM,iBAAiBJ,GAAI,CAAAI,cAAA,IAAkBC,aAAAA,CAAAA,QAAKC,QAAS,CAAAV,GAAA,EAAKI,IAAII,cAAc,CAAA;IAE9E,IAAAJ,GAAA,CAAIO,cAAc,QAAU,EAAA;MAI9B;IACF;IAEOV,MAAA,CAAAM,GAAA,CACL,IAAAK,MAAA,CACKC,cAAAA,CAAAA,OAAA,CAAMC,IAAK,CAAAN,cAAA,IAAkB,GAAG,CAAA,OAAAI,MAAA,CAC/BC,cAAAA,CAAAA,QAAME,MAAO,CAAAX,GAAA,CAAIY,cAAc,CAAK,OAAAJ,MAAA,CAAAC,cAAA,CAAAI,OAAA,CAAMF,MAAO,CAAAX,GAAA,CAAIc,gBAAgB,CAAA,SAAAN,MAAA,CACnEC,cAAAA,CAAAA,QAAME,MAAO,CAAA,SAAS,eAAKF,cAAAA,CAAAA,OAAM,CAAAM,IAAA,CAAKf,IAAIO,SAAS,CAAA,SACzDP,GAAI,CAAAgB,IAAA,EACJ,IAAA,CACF,CAAEC,KAAK,EAAE,CAAA,CACX;EACF;EAEA,MAAMC,SAA6BvB,QAAS,CAAAI,MAAA,CAAQC,GAAQ,IAAAA,GAAA,CAAIC,aAAa,OAAO,CAAA;EAEpF,IAAI,CAACH,QAAA,CAASI,MAAU,IAAAgB,MAAA,CAAOhB,MAAQ,EAAA;IACrCL,MAAA,CAAOM,IAAI,EAAE,CAAA;EACf;EAEA,KAAA,MAAWH,OAAOkB,MAAQ,EAAA;IACxB,MAAMd,iBAAiBJ,GAAI,CAAAI,cAAA,IAAkBC,aAAAA,CAAAA,QAAKC,QAAS,CAAAV,GAAA,EAAKI,IAAII,cAAc,CAAA;IAE3EP,MAAA,CAAAM,GAAA,CACL,IAAAK,MAAA,CACKC,cAAAA,CAAAA,OAAA,CAAMC,IAAK,CAAAN,cAAA,IAAkB,GAAG,CAAA,OAAAI,MAAA,CAC/BC,cAAAA,CAAAA,QAAME,MAAO,CAAAX,GAAA,CAAIY,cAAc,CAAK,OAAAJ,MAAA,CAAAC,cAAA,CAAAI,OAAA,CAAMF,MAAO,CAAAX,GAAA,CAAIc,gBAAgB,CAAA,SAAAN,MAAA,CACnEC,cAAAA,CAAAA,QAAMU,GAAI,CAAA,OAAO,eAAKV,cAAAA,CAAAA,OAAM,CAAAM,IAAA,CAAKf,IAAIO,SAAS,CAAA,SACpDP,GAAI,CAAAgB,IAAA,EACJ,IAAA,CACF,CAAEC,KAAK,EAAE,CAAA,CACX;EACF;EAEA,IAAIC,OAAOhB,MAAQ,EAAA;IACjBkB,OAAA,CAAQC,KAAK,CAAC,CAAA;EAChB;AACF;ACrDO,SAASC,gBAAgBC,OAIvB,EAAA;EACP,MAAM;IAAC3B,GAAA;IAAKC,MAAQ;IAAA2B;EAAA,CAAc,GAAAD,OAAA;EAE9B,IAAAC,UAAA,CAAWC,IAAQ,IAAAD,UAAA,CAAWE,KAAO,EAAA;IACjC,MAAA;MAACC;MAAMC;IAAS,CAAA,GAAIC,oBAAGC,6BAA8B,CAAAN,UAAA,CAAWC,IAAM,EAAAD,UAAA,CAAWE,KAAK,CAAA;IAC5F,MAAMK,OAAU,GAAAF,WAAAA,CAAAA,OAAA,CAAGG,4BAA6B,CAAAR,UAAA,CAAWS,aAAa,IAAI,CAAA;IAE5E,MAAMR,OAAOpB,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAASV,GAAK,EAAA4B,UAAA,CAAWC,KAAKS,QAAQ,CAAA;IAExD,MAAMC,MAAS,GAAA,IAAA3B,MAAA,CACVC,cAAA,CAAAI,OAAA,CAAMF,MAAO,CAAAc,IAAI,CAAK,OAAAjB,MAAA,CAAAC,cAAA,CAAAI,OAAA,CAAMuB,IAAK,CAAAT,IAAA,GAAO,CAAC,CAAA,OAAAnB,MAAA,CAAKC,sBAAM,CAAA2B,IAAA,CAAKR,YAAY,CAAC,CAAA,aAAApB,MAAA,CACtEC,cAAM,CAAAI,OAAA,CAAAE,IAAA,MAAAP,MAAA,CAAUgB,UAAA,CAAWa,WAAY,OAAA7B,MAAA,CAAAuB,OAAA,EAC5C,CAAEd,KAAK,EAAE,CAAA;IAET,IAAIO,UAAW,CAAAc,QAAA,KAAaT,mBAAG,CAAAU,kBAAA,CAAmBC,KAAO,EAAA;MACvD3C,MAAA,CAAO4C,MAAMN,MAAM,CAAA;IACrB;IAEA,IAAIX,UAAW,CAAAc,QAAA,KAAaT,mBAAG,CAAAU,kBAAA,CAAmBG,OAAS,EAAA;MACzD7C,MAAA,CAAO8C,KAAKR,MAAM,CAAA;IACpB;IAEA,IAAIX,UAAW,CAAAc,QAAA,KAAaT,mBAAG,CAAAU,kBAAA,CAAmBK,OAAS,EAAA;MACzD/C,MAAA,CAAOM,IAAIgC,MAAM,CAAA;IACnB;IAEA,IAAIX,UAAW,CAAAc,QAAA,KAAaT,mBAAG,CAAAU,kBAAA,CAAmBM,UAAY,EAAA;MAC5DhD,MAAA,CAAOM,IAAIgC,MAAM,CAAA;IACnB;EAAA,CACK,MAAA;IACLtC,MAAA,CAAOM,IAAI0B,mBAAG,CAAAG,4BAAA,CAA6BR,UAAW,CAAAS,WAAA,EAAa,IAAI,CAAC,CAAA;EAC1E;AACF;ACpCA,eAAsBa,WAAWvB,OAMf,EAAA;EAChB,MAAM;IAAC3B,GAAK;IAAAC,MAAA;IAAQkD;IAAQC,QAAU;IAAAC,MAAA,GAAS;EAAS,CAAA,GAAA1B,OAAA;EAExD,MAAM2B,eAAsC,GAAA;IAC1C,GAAGF,QAAS,CAAAzB,OAAA;IACZ4B,WAAa,EAAA,IAAA;IACbC,cAAgB,EAAAL,MAAA;IAChBM,mBAAqB,EAAA,IAAA;IACrBC,MAAQ,EAAA,KAAA;IACRP;EAAA,CACF;EAEA,MAAMQ,OAAU,GAAA1B,WAAAA,CAAAA,OAAA,CAAG2B,aAAc,CAAAR,QAAA,CAASS,WAAWP,eAAe,CAAA;EAE9D,MAAAQ,UAAA,GAAaH,QAAQI,IAAK,EAAA;EAEhC,MAAMC,iBAAiB/B,WAAG,CAAAhB,OAAA,CAAAgD,qBAAA,CAAsBN,OAAO,CAAE,CAAA/C,MAAA,CAAOkD,WAAWI,WAAW,CAAA;EAEtF,KAAA,MAAWtC,cAAcoC,cAAgB,EAAA;IACvCtC,eAAA,CAAgB;MAAC1B,GAAA;MAAKC,MAAQ;MAAA2B;IAAW,CAAA,CAAA;EAC3C;EAEA,IAAIkC,WAAWK,WAAa,EAAA;IACpB,MAAA7C,MAAA,GAAS0C,eAAe7D,MAAO,CAACiE,QAASA,IAAK,CAAA1B,QAAA,KAAaT,WAAG,CAAAhB,OAAA,CAAA0B,kBAAA,CAAmBC,KAAK,CAAA;IAE5F,IAAItB,OAAOhB,MAAQ,EAAA;MACjB,IAAI+C,MAAQ,EAAA;QACJ,MAAA,IAAIT,MAAM,0CAA0C,CAAA;MAC5D;IACF;EACF;AACF;ACvCO,MAAMyB,iBAAiBzB,KAAM,CAAA;EAGlC0B,WAAAA,CAAYnC,SAAiBpC,QAA8B,EAAA;IACzD,KAAA,CAAMoC,OAAO,CAAA;IACb,IAAA,CAAKpC,QAAW,GAAAA,QAAA;EAClB;AACF;ACPO,SAASwE,yBAAyB5C,OAQzB,EAAA;EACR,MAAA;IACJ6C,QAAA;IACAC,UAAA;IACAC,QAAA;IACA3E,QAAA;IACA4E,aAAA;IACAC,sBAAA;IACAC;EACE,CAAA,GAAAlD,OAAA;EAEG,OAAA;IACLmD,SAAW,EAAA;MACTC,OAAS,EAAA,KAAA;MACTC,cAAgB,EAAA;IAClB,CAAA;IAAA;IAEAC,QAAU,EAAA;MACRC,gBAAkB,EAAAL;IACpB,CAAA;IACAM,QAAU,EAAA;MACRJ,OAAS,EAAA,KAAA;MACTK,eAAiB,EAAA3E,aAAA,CAAAQ,OAAA,CAAKoE,OAAQ,CAAAb,QAAA,KAAA5D,MAAA,CAAa6D,UAAqB;IAClE,CAAA;IACAa,SAAW,EAAA;MACTP,OAAS,EAAA,IAAA;MACTQ,iBAAmB,EAAA9E,aAAA,CAAAQ,OAAA,CAAKoE,OAAQ,CAAAb,QAAA,EAAUE,QAAQ;MAAA;MAAA;IAGpD,CAAA;;IACAc,aAAe,EAAA;MACbT,OAAS,EAAA;IACX,CAAA;IACAhF,QAAA;IACA6E,sBAAA;IACAD;EAAA,CACF;AACF;ACpCA,eAAsBc,kBAAkBC,IAEC,EAAA;EACjC,MAAA;IAACC;EAAc,CAAA,GAAAD,IAAA;EAEjB,IAAAC,UAAA,CAAWrF,WAAW,CAAG,EAAA;IACpB,OAAA,KAAA,CAAA;EACT;EAEA,MAAMsF,eAAe,MAAMC,EAAA,CAAAA,QAAA,CACzBC,OAAA,CAAQT,QAAQ,kDAAkD,CAAA,CACpE;EAIA,MAAMU,eAAkB,GAAAC,WAAA,CAAAA,KAAA,CAAMJ,YAAa,CAAAK,QAAA,EAAU,CAAA;EAGrD,MAAMC,cAAkB,GAAA,CAAAH,eAAA,CAAgBG,cAAkB,IAAA,EAAI,EAAAtF,MAAA,CAC5D+E,UAAA,CAAWQ,GAAI,CAACC,CAAO,KAAA;IACrBC,OAAA,MAAAzF,MAAA,CAAawF,CAAE,CAAAE,IAAA,CAAA;IACfC,YAAYH,CAAE,CAAAG,UAAA;IACdC,eAAeJ,CAAE,CAAAI;EAAA,CACjB,CAAA,CAAA,CACJ;EAIA,MAAMC,cAAiB,GAAA;IAAC,GAAGV,eAAA,CAAgBU;EAAc,CAAA;EAEzD,KAAA,MAAWC,aAAaf,UAAY,EAAA;IACnBc,cAAA,KAAA7F,MAAA,CAAI8F,SAAU,CAAAJ,IAAA,EAAU,GAAA,IAAA;EACzC;EAEA,OAAOK,WAAAA,CAAAA,gBAAgBC,cAAe,CAAA;IACpC,GAAGb,eAAA;IACHc,cAAgB,EAAA,KAAA;IAChBX,cAAA;IACAO;EAAA,CACD,CAAA;AACH;AC1CA,eAAsBK,4BAA6BA,CAAAC,IAAA,EAM7B;EAAA,IAN6B;IACjDC,QAAA;IACAC;EACF,CAGsB,GAAAF,IAAA;EACd,MAAApD,OAAA,GAAUsD,cAAcC,aAAc,CAAAvD,OAAA;EAC5C,MAAMwD,eAAyB,EAAC;EAGhC,MAAMC,eAAkB,GAAA,CAAC,GAAGzD,OAAA,CAAQ0D,gBAAgB,CAAA;EAG9C,MAAAC,WAAA,GAAcF,gBAAgBjH,MAAO,CAACoH,cAAeA,UAAW,CAAAjF,QAAA,CAASkF,QAAS,CAAAR,QAAQ,CAAC,CAAA;EAEjG,KAAA,MAAWO,cAAcD,WAAa,EAAA;IACpC,IAAIC,UAAW,CAAAnG,IAAA,CAAKoG,QAAS,CAAA,gBAAgB,CAAG,EAAA;MAC9CL,YAAA,CAAaM,IAAK,CAAA,GAAGC,mBAAoB,CAAAH,UAAA,CAAWnG,IAAI,CAAC,CAAA;IAC3D;EACF;EAEO,OAAA+F,YAAA;AACT;AAGO,SAASO,oBAAoBC,WAA+B,EAAA;EAC3D,MAAAC,GAAA,GAAM5B,aAAM2B,WAAa,EAAA;IAC7BE,MAAQ,EAAAC,yBAAA,CAAA7G;EAAA,CACT,CAAA;EAED,OAAO2G,IAAIjE,OAAQ,CAAAoE,IAAA,CAChB5H,MAAO,CAAC6H,QAASA,IAAK,CAAAC,IAAA,KAAS,qBAAqB,CAAA,CACpD9B,IAAK6B,IAAA,IAASE,MAAM,CAAAA,KAAA,CAAAF,IAAI,EAAEvF,IAAI,CAAA;AACnC;ACzCA,MAAM0F,UAAsD,GAAA;EAC1DtF,KAAO,EAAA,OAAA;EACPuF,IAAM,EAAA,MAAA;EACNC,GAAK,EAAA,MAAA;EACLtF,IAAM,EAAA;AACR,CAAA;AAGO,SAASuF,yBAAyB3G,OAEZ,EAAA;EACrB,MAAA;IAAC4G;EAAS,CAAA,GAAA5G,OAAA;EAEP,SAAA6G,cAAAA,CACPC,KACAC,YACA,EAAA;IACA,MAAMC,IAAIJ,KAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAAE,GAAA,CAAA;IAElB,OAAQE,CAAI,GAAAR,UAAA,CAAWQ,CAAC,CAAA,GAAID,YAAgB,IAAA,SAAA;EAC9C;EAEO,OAAA;IACLE,wBAA0B,EAAA;MACxB3H,OAAS,EAAA;QACPZ,QAAU,EAAA;MACZ;IACF,CAAA;IAEAwI,yBAA2B,EAAA;MACzB5H,OAAS,EAAA;QACPZ,QAAU,EAAA,SAAA;QACVyI,kBAAoB,EAAA;MACtB,CAAA;MAEA,qBAAuB,EAAA;QACrBzI,QAAA,EAAUmI,cAAe,CAAA,qBAAA,EAAuB,OAA4B,CAAA;QAC5EM,kBAAoB,EAAA;MACtB,CAAA;MAEA,8BAAgC,EAAA;QAC9BzI,QAAA,EAAUmI,cAAe,CAAA,8BAAA,EAAgC,OAA4B,CAAA;QACrFM,kBAAoB,EAAA;MACtB,CAAA;MAEA,gCAAkC,EAAA;QAChCzI,QAAA,EAAUmI,eAAe,gCAAgC,CAAA;QACzDM,kBAAoB,EAAA;MACtB,CAAA;MAEA,wBAA0B,EAAA;QACxBzI,QAAA,EAAUmI,cAAe,CAAA,wBAAA,EAA0B,OAA4B,CAAA;QAC/EM,kBAAoB,EAAA;MACtB,CAAA;MAEA,0BAA4B,EAAA;QAC1BzI,QAAU,EAAA,MAAA;QACVyI,kBAAoB,EAAA;MACtB;IACF,CAAA;IAEAC,qBAAuB,EAAA;MACrB9H,OAAS,EAAA;QACPZ,QAAU,EAAA,SAAA;QACVyI,kBAAoB,EAAA;MACtB,CAAA;MAEA,+BAAiC,EAAA;QAC/BzI,QAAA,EAAUmI,cAAe,CAAA,+BAAA,EAAiC,SAA8B,CAAA;QACxFM,kBAAoB,EAAA;MACtB,CAAA;MAEA,qBAAuB,EAAA;QACrBzI,QAAA,EAAUmI,cAAe,CAAA,qBAAA,EAAuB,OAA4B,CAAA;QAC5EM,kBAAoB,EAAA;MACtB,CAAA;MAEA,uBAAyB,EAAA;QACvBzI,QAAA,EAAUmI,cAAe,CAAA,uBAAA,EAAyB,MAA2B,CAAA;QAC7EM,kBAAoB,EAAA;MACtB;IACF;EAAA,CACF;AACF;ACtEA,eAAsBE,aAAarH,OAY2C,EAAA;EACtE,MAAA;IACJgE,UAAA;IACAnB,QAAA;IACAC,UAAA;IACAwE,KAAA;IACAvE,QAAA;IACAwE,WAAA;IACAX,KAAA;IACAY,eAAA;IACAC,OAAA;IACAvE;EACE,CAAA,GAAAlD,OAAA;EAEE,MAAA0H,eAAA,GAAkB,MAAM5D,iBAAkB,CAAA;IAC9CE,UAAA,EAAYA,cAAc;EAAC,CAC5B,CAAA;EAEK,MAAA2D,eAAA,GAAmCC,6BAAgBC,OAAQ,CAAA;IAC/DC,cAAclF,wBAAyB,CAAA;MACrCC,QAAA;MACAC,UAAA;MACAC,QAAA;MACA3E,QAAU,EAAAuI,wBAAA,CAAyB;QAACC;OAAM,CAAA;MAC1C5D,aAAe,EAAAuE,WAAA;MACftE,sBAAwB,EAAAuE,eAAA;MACxBtE;IAAA,CACD,CAAA;IACD6E,oBAAsB,EAAA,KAAA,CAAA;IACtBL,eAAA;IACAM,mBAAqB,EAAAlJ,aAAA,CAAAQ,OAAA,CAAKoE,OAAQ,CAAA6D,WAAA,EAAa,cAAc;EAAA,CAC9D,CAAA;EAED,MAAMnJ,WAA+B,EAAC;EAGhC,MAAA6J,eAAA,GAAkBC,YAAAA,CAAAA,SAAU,CAAAC,MAAA,CAAOR,eAAiB,EAAA;IAAA;IAExDS,UAAY,EAAA,IAAA;IAAA;IAEZC,mBAAqB,EAAA,IAAA;IAAA;IAErBC,gBAAgB9H,OAA2B,EAAA;MACzCpC,QAAA,CAAS0H,KAAKtF,OAAO,CAAA;MACrBA,OAAA,CAAQ+H,OAAU,GAAA,IAAA;IACpB;EAAA,CACD,CAAA;EAED,MAAMC,SAAY,GAAA1J,aAAA,CAAAQ,OAAA,CAAKoE,OAAQ,CAAAb,QAAA,EAAUE,QAAQ,CAAA;EACjD,MAAM0F,QAAW,GAAA,MAAMC,WAAAA,CAAAA,OAAG,CAAAxE,QAAA,CAASsE,SAAS,CAAA;EAC5C,MAAMG,cAAiB,GAAA,MAAMC,iBAAAA,CAAAA,OAAS,CAAAC,aAAA,CAAcL,SAAS,CAAA;EAE7D,MAAMM,eAAO,CAAAxJ,OAAA,CAAAR,aAAA,CAAAQ,OAAA,CAAKyJ,OAAQ,CAAAP,SAAS,CAAC,CAAA;EAE9B,MAAAhD,YAAA,GAAe,MAAML,4BAA6B,CAAA;IACtDG,aAAe,EAAA2C,eAAA;IACf5C,QAAU,EAAAoC;EAAA,CACX,CAAA;EAEK,MAAA3G,IAAA,GAAO,CAAC2H,QAAS,CAAAnE,QAAA,IAAY,GAAGkB,YAAY,CAAE,CAAA9F,IAAA,CAAK,MAAM,CAAA;EAE/D,MAAMgJ,WAAG,CAAApJ,OAAA,CAAA0J,SAAA,CACPR,SAAA,EACAI,iBAAA,CAAAtJ,OAAA,CAAS2J,OAAOnI,IAAM,EAAA;IACpB,GAAG6H,cAAA;IACHO,QAAU,EAAAV;EAAA,CACX,CAAA,CACH;EAGAlB,KAAA,CAAMxB,IAAK,CAAA;IACTQ,IAAM,EAAA,OAAA;IACNxH,IAAM,EAAA0J;EAAA,CACP,CAAA;EAEM,OAAA;IAACP;IAAiB7J;GAAQ;AACnC;AC1FsB,eAAA+K,SAAAA,CACpBhL,KACAiL,IACoB,EAAA;EAjBtB,IAAAC,EAAA,EAAAC,EAAA;EAkBE,MAAM;IAACC,MAAQ;IAAAlL,GAAA;IAAKiJ;IAAOhJ,MAAQ;IAAAoD,MAAA;IAAQpB;EAAM,CAAA,GAAAnC,GAAA;EAEjD,IAAI,CAACmC,EAAA,CAAGiJ,MAAU,IAAA,CAACjJ,GAAGkJ,UAAY,EAAA;IACzB,OAAA;MAAClD,MAAM,KAAO;MAAAlI,QAAA,EAAU,EAAI;MAAAqL,OAAA,EAAS;KAAE;EAChD;EAEA,MAAM;IAACjI,MAAQ;IAAAkI,OAAA,GAAUrL;EAAG,CAAA,GAAIiC,GAAGiJ,MAAO,CAAAvJ,OAAA;EAE1C,IAAI,CAACwB,MAAQ,EAAA;IACL,MAAA,IAAIP,MAAM,mDAAmD,CAAA;EACrE;EAEA,MAAMwG,OAAU,GAAA3I,aAAA,CAAAQ,OAAA,CAAKoE,OAAQ,CAAAlC,MAAA,EAAQ,SAAS,CAAA;EAExC,MAAAD,UAAA,CAAW;IAAClD,GAAA;IAAKC,MAAQ;IAAAkD,MAAA,EAAQiG;IAAS/F,MAAQ;IAAAD,QAAA,EAAUnB,EAAG,CAAAiJ;EAAO,CAAA,CAAA;EAC5E,MAAMnL,WAA+B,EAAC;EAEtC,MAAMqL,UAAoD,EAAC;EAEhD,KAAA,MAAAE,KAAA,IAASP,KAAKQ,OAAS,EAAA;IAChC,MAAM9G,UAAa,GAAA6G,KAAA,CAAM7G,UAAe,KAAA,GAAA,GAAM,YAAY6G,KAAM,CAAA7G,UAAA;IAEhE,MAAM0E,kBAAkB1I,aAAAA,CAAAA,OAAK,CAAA4E,OAAA,CAC3B+D,OAAA,EACA3I,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAAS2K,OAAS,EAAA5K,aAAAA,CAAAA,OAAA,CAAK4E,OAAQ,CAAArF,GAAA,EAAKsL,KAAM,CAAAE,UAAU,CAAC,CAAA,CAAEC,OAAQ,CAAA,OAAA,EAAS,OAAO,CAAA,CACtF;IAEA,MAAMC,UAAa,GAAAjL,aAAAA,CAAAA,OAAA,CAAK4E,OAAQ,CAAArF,GAAA,EAAKsL,MAAMI,UAAU,CAAA;IACrD,MAAMhH,QAAW,GAAAjE,aAAA,CAAAQ,OAAA,CAAKP,QAAS,CAAAyC,MAAA,EAAQuI,UAAU,CAAA;IAC3C,MAAAC,MAAA,GAAS,MAAM3C,YAAa,CAAA;MAChCrD,UAAA,EAAA,CAAYqF,EAAQ,GAAAE,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAAU,OAAA,KAAR,IAAiB,GAAA,KAAA,CAAA,GAAAZ,EAAA,CAAArF,UAAA;MAC7B3F,GAAA;MACAwE,QAAU,EAAArB,MAAA;MACVsB,UAAA;MACAwE,KAAA;MACAvE,QAAA;MACAwE,WAAa,EAAAlJ,GAAA;MACbuI,KAAA,EAAA,CAAO0C,EAAQ,GAAAC,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAAU,OAAA,KAAR,IAAiB,GAAA,KAAA,CAAA,GAAAX,EAAA,CAAA1C,KAAA;MACxBY,eAAA;MACAC,OAAA;MACAvE,cAAcpE,aAAK,CAAAQ,OAAA,CAAAoE,OAAA,CAAQrF,GAAK,EAAAiC,EAAA,CAAGkJ,cAAc,eAAe;IAAA,CACjE,CAAA;IAEQpL,QAAA,CAAA0H,IAAA,CAAK,GAAGkE,MAAA,CAAO5L,QAAQ,CAAA;IAE5B,IAAA4L,MAAA,CAAO5L,SAAS8L,IAAK,CAACzL,OAAQA,GAAI,CAAAC,QAAA,KAAa,OAAO,CAAG,EAAA;MAC3D,MAAMyL,eAAAA,CAAAA,QAAO1C,OAAO,CAAA;MAEpB,MAAM,IAAI/E,QAAA,CAAS,0CAA4C,EAAAsH,MAAA,CAAO5L,QAAQ,CAAA;IAChF;IAEQqL,OAAA,CAAA3D,IAAA,CAAK;MAAC+D,UAAA,EAAY/K,aAAK,CAAAQ,OAAA,CAAAoE,OAAA,CAAQrF,GAAK,EAAAsL,KAAA,CAAME,UAAU,CAAA;MAAG9G,QAAU,EAAAgH;IAAW,CAAA,CAAA;EACtF;EAEA,MAAMI,eAAAA,CAAAA,QAAO1C,OAAO,CAAA;EAEpB,OAAO;IAACnB,IAAA,EAAM,KAAO;IAAAlI,QAAA;IAAUqL;EAAO,CAAA;AACxC;AClEO,MAAMW,OAA2C,GAAA;EACtDzF,IAAA,EAAMA,CAAC0F,IAAA,EAAMjB,IACX,KAAA,4CAGE,GAAGA,KAAKQ,OAAQ,CAAApF,GAAA,CAAKmF,KACnB,IAAA,UAAA1K,MAAA,CACWC,cAAAA,CAAAA,OAAA,CAAMC,IAAK,CAAAwK,KAAA,CAAMW,QAAQ,CAAA,YAAArL,MAAA,CAC/BC,cAAA,CAAAI,OAAA,CAAMF,MAAO,CAAAuK,KAAA,CAAME,UAAU,CAAA,OAAA5K,MAAA,CAAKC,cAAM,CAAAI,OAAA,CAAAE,IAAA,CAAK,QAAG,CAAA,OAAAP,MAAA,CAAKC,cAAM,CAAAI,OAAA,CAAAF,MAAA,CAAOuK,MAAMI,UAAU,CAAA,EACvF,CAAErK,KAAK,EAAE,CAAA,CACX,CACF,CAAEA,KAAK,IAAI,CAAA;EACb6K,IAAA,EAAMA,CAACpM,GAAA,EAAKiL,IAAS,KAAA;IACZ,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCtB,SAAA,CAAUhL,GAAK,EAAAiL,IAAI,CAChB,CAAAsB,IAAA,CAAMV,MAAW,IAAA;QAChBS,QAAA,CAASE,KAAKX,MAAM,CAAA;QACpBS,QAAA,CAASG,QAAS,EAAA;MAAA,CACnB,CAAA,CACAC,KAAM,CAACC,GAAQ,IAAA;QACdL,QAAA,CAASvJ,MAAM4J,GAAG,CAAA;MAAA,CACnB,CAAA;IAAA,CACJ,CAAA;EACH,CAAA;EACAF,QAAU,EAAAA,CAACzM,GAAK,EAAA4M,KAAA,EAAOf,MAAW,KAAA;IACX9L,oBAAA,CAAAC,GAAA,EAAK6L,OAAO5L,QAAQ,CAAA;EAC3C,CAAA;EACA8C,KAAO,EAAAA,CAAC/C,GAAK,EAAA4M,KAAA,EAAOD,GAAQ,KAAA;IACpB,MAAA;MAACxM;IAAU,CAAA,GAAAH,GAAA;IAEjB,IAAI2M,eAAepI,QAAU,EAAA;MACNxE,oBAAA,CAAAC,GAAA,EAAK2M,IAAI1M,QAAQ,CAAA;IAAA,CACxC,MAAA,IAAW0M,eAAe7J,KAAO,EAAA;MAC/B3C,MAAA,CAAO4C,MAAM4J,GAAG,CAAA;IAClB;EACF;AACF,CAAA;ACpCO,MAAME,YAAqD,GAAA;EAChErG,IAAA,EAAMA,CAAC0F,IAAA,EAAMjB,IACX,KAAA,2BAEE,GAAGA,KAAKQ,OAAQ,CAAApF,GAAA,CACbmF,KACC,cAAA1K,MAAA,CAAUC,cAAAA,CAAAA,OAAM,CAAA2B,IAAA,CAAK8I,MAAMW,QAAQ,CAAA,QAAArL,MAAA,CAAM0K,KAAM,CAAAE,UAAA,UAAA5K,MAAA,CAAiB0K,KAAM,CAAAI,UAAA,CAAA,CAC1E,CACF,CAAErK,KAAK,IAAI,CAAA;EACb6K,IAAA,EAAMA,CAACpM,GAAA,EAAKiL,IAAS,KAAA;IACZ,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCtB,SAAA,CAAUhL,GAAK,EAAAiL,IAAI,CAChB,CAAAsB,IAAA,CAAMV,MAAW,IAAA;QAChBS,QAAA,CAASE,KAAKX,MAAM,CAAA;QACpBS,QAAA,CAASG,QAAS,EAAA;MAAA,CACnB,EACAC,KAAM,CAACC,OAAQL,QAAS,CAAAvJ,KAAA,CAAM4J,GAAG,CAAC,CAAA;IAAA,CACtC,CAAA;EACH,CAAA;EACAF,QAAU,EAAAA,CAACzM,GAAK,EAAA4M,KAAA,EAAOf,MAAW,KAAA;IAC1B,MAAA;MAAC1L;IAAU,CAAA,GAAAH,GAAA;IAEID,oBAAA,CAAAC,GAAA,EAAK6L,OAAO5L,QAAQ,CAAA;IAEzCE,MAAA,CAAO8C,KAAK,4DAA4D,CAAA;IACxE9C,MAAA,CAAOM,GAAI,EAAA;EACb,CAAA;EACAsC,KAAO,EAAAA,CAAC/C,GAAK,EAAA4M,KAAA,EAAOD,GAAQ,KAAA;IACpB,MAAA;MAACxM;IAAU,CAAA,GAAAH,GAAA;IAEjB,IAAI2M,eAAepI,QAAU,EAAA;MACNxE,oBAAA,CAAAC,GAAA,EAAK2M,IAAI1M,QAAQ,CAAA;IAAA,CACxC,MAAA,IAAW0M,eAAe7J,KAAO,EAAA;MAC/B3C,MAAA,CAAO4C,MAAM4J,GAAG,CAAA;IAClB;EACF;AACF,CAAA;ACpCO,MAAMG,mBAA4D,GAAA;EACvEtG,IAAA,EAAMA,CAAC0F,IAAA,EAAMjB,IACX,KAAA,iEAGE,GAAGA,KAAKQ,OAAQ,CAAApF,GAAA,CAAKmF,KACnB,IAAA,UAAA1K,MAAA,CACWC,cAAAA,CAAAA,OAAA,CAAMC,IAAK,CAAAwK,KAAA,CAAMW,QAAQ,CAAA,YAAArL,MAAA,CAC/BC,cAAA,CAAAI,OAAA,CAAMF,MAAO,CAAAuK,KAAA,CAAMxF,OAAO,CAAA,OAAAlF,MAAA,CAAKC,cAAM,CAAAI,OAAA,CAAAE,IAAA,CAAK,QAAG,CAAA,OAAAP,MAAA,CAAKC,cAAM,CAAAI,OAAA,CAAAF,MAAA,CAAOuK,MAAMuB,MAAM,CAAA,EAChF,CAAExL,KAAK,EAAE,CAAA,CACX,CACF,CAAEA,KAAK,IAAI,CAAA;EACb6K,IAAA,EAAMA,CAACpM,GAAA,EAAKiL,IAAS,KAAA;IACnB,OAAO+B,IAAK,CAAAA,IAAA,CAAAZ,IAAA,CAAKpM,GAAK,EAAAiL,IAAI,CAAC,CAAA;EAC7B,CAAA;EACAwB,UAAUA,CAAA,KAAM,CAEhB,CAAA;EACA1J,KAAO,EAAAA,CAACmJ,IAAM,EAAAU,KAAA,EAAOD,GAAQ,KAAA;IAE3BM,OAAA,CAAQlK,MAAM4J,GAAG,CAAA;EACnB;AACF,CAAA;AAEA,eAAeP,IAAAA,CAAKpM,KAAmBiL,IAA+B,EAAA;EAC9D,MAAA;IAAC/K;EAAO,CAAA,GAAAF,GAAA;EAEH,KAAA,MAAAwL,KAAA,IAASP,KAAKQ,OAAS,EAAA;IAChC,MAAMC,UAAa,GAAA/K,aAAAA,CAAAA,OAAA,CAAK4E,OAAQ,CAAArF,GAAA,EAAKsL,MAAMxF,OAAO,CAAA;IAClD,MAAM4F,UAAa,GAAAjL,aAAAA,CAAAA,OAAA,CAAK4E,OAAQ,CAAArF,GAAA,EAAKsL,MAAMuB,MAAM,CAAA;IAC3C,MAAAG,SAAA,GAAYvM,aAAAA,CAAAA,OAAK,CAAAiK,OAAA,CAAQgB,UAAU,CAAA;IAEzC,MAAMjB,eAAAA,CAAAA,QAAOuC,SAAS,CAAA;IAGhB,MAAAC,GAAA,GAAMnH,QAAQ0F,UAAU,CAAA;IAE9B,IAAI0B,cAAiB,QAAAtM,MAAA,CAAKH,aAAK,CAAAQ,OAAA,CAAAP,QAAA,CAASsM,WAAWxB,UAAU,CAAA,CAAA;IAGzD,IAAA0B,cAAA,CAAeC,UAAW,CAAA,KAAK,CAAG,EAAA;MACnBD,cAAA,GAAAA,cAAA,CAAeE,MAAM,CAAC,CAAA;IACzC;IAEM,MAAA3K,IAAA,GAAO4K,iBAAkB,CAAAJ,GAAA,EAAKC,cAAc,CAAA;IAE5C,MAAAvC,YAAA,CAAUe,UAAY,EAAAjJ,IAAA,EAAM,MAAM,CAAA;EAC1C;AACF;AAEA,SAAS4K,iBAAAA,CAAkBJ,KAAUC,cAAwB,EAAA;EACrD,MAAAI,IAAA,GAAOC,OAAOD,IAAK,CAAAL,GAAG,EAAE9M,MAAO,CAACqN,CAAM,IAAAA,CAAA,KAAM,YAAY,CAAA;EAE9D,IAAI/K,kCAA2ByK,cAAA,SAAA;EAE/B,IAAII,KAAKhN,MAAQ,EAAA;IACPmC,IAAA,QAAA;IACRA,IAAA,IAAQ6K,IACL,CAAAnN,MAAA,CAAQqN,CAAA,IAAOP,IAAIQ,UAAa,GAAAD,CAAA,KAAM,SAAY,GAAA,IAAK,CACvD,CAAArH,GAAA,CAAKqH,CAAA,oBAAA5M,MAAA,CAAsB4M,CAAW,aAAA5M,MAAA,CAAA4M,CAAA,QAAM,CAAA,CAC5CnM,KAAK,EAAE,CAAA;EACZ;EAEQoB,IAAA,QAAA;EAER,IAAIwK,IAAIQ,UAAY,EAAA;IACVhL,IAAA,mCAAA;EAAA,CACH,MAAA;IACGA,IAAA,2BAAA;EACV;EAEO,OAAAA,IAAA;AACT;ACpEO,SAASiL,iBAAiB/L,OAElB,EAAA;EACP,MAAA;IAACgM;EAAc,CAAA,GAAAhM,OAAA;EAErB,MAAMiM,QAAW,GAAA;IACfrN,KAAKwM,OAAQ,CAAAxM,GAAA;IACbwC,MAAMgK,OAAQ,CAAAhK,IAAA;IACdF,OAAOkK,OAAQ,CAAAlK;EAAA,CACjB;EAEA,MAAM9C,WAA4B,EAAC;EAE3BgN,OAAA,CAAAxM,GAAA,GAAM;IAAA,SAAAsN,IAAA,GAAAC,SAAA,CAAAxN,MAAA,EAAIyN,IAAoB,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;MAApBF,IAAoB,CAAAE,IAAA,IAAAH,SAAA,CAAAG,IAAA;IAAA;IAAA,OAAAlO,QAAA,CAAS0H,KAAK;MAACQ,IAAA,EAAM,KAAO;MAAA8F;IAAA,CAAK,CAAA;EAAA;EAC/DhB,OAAA,CAAAhK,IAAA,GAAO;IAAA,SAAAmL,KAAA,GAAAJ,SAAA,CAAAxN,MAAA,EAAIyN,IAAoB,OAAAC,KAAA,CAAAE,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAApBJ,IAAoB,CAAAI,KAAA,IAAAL,SAAA,CAAAK,KAAA;IAAA;IAAA,OAAApO,QAAA,CAAS0H,KAAK;MAACQ,IAAA,EAAM,MAAQ;MAAA8F;IAAA,CAAK,CAAA;EAAA;EACjEhB,OAAA,CAAAlK,KAAA,GAAQ;IAAA,SAAAuL,KAAA,GAAAN,SAAA,CAAAxN,MAAA,EAAIyN,IAAoB,OAAAC,KAAA,CAAAI,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAApBN,IAAoB,CAAAM,KAAA,IAAAP,SAAA,CAAAO,KAAA;IAAA;IAAA,OAAAtO,QAAA,CAAS0H,KAAK;MAACQ,IAAA,EAAM,OAAS;MAAA8F;IAAA,CAAK,CAAA;EAAA;EAEpE,OAAA;IACLhO,QAAA;IACAuO,SAASA,CAAA,KAAM;MACbvB,OAAA,CAAQxM,MAAMqN,QAAS,CAAArN,GAAA;MACvBwM,OAAA,CAAQhK,OAAO6K,QAAS,CAAA7K,IAAA;MACxBgK,OAAA,CAAQlK,QAAQ+K,QAAS,CAAA/K,KAAA;MAEzB8K,UAAA,CAAW5N,QAAQ,CAAA;IACrB;EAAA,CACF;AACF;ACrBgB,SAAAwO,mBAAAA,CACdzO,KACA0O,SACc,EAAA;EAAA,IAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA,EAAAC,KAAA;EAtBhB,IAAA9D,EAAA,EAAAC,EAAA,EAAA8D,EAAA,EAAAC,EAAA;EAuBE,MAAM;IAACpE,MAAA;IAAQqE,OAAS;IAAAC;EAAA,CAAU,GAAAV,SAAA;EAC5B,MAAA;IAACtD,MAAQ;IAAAlL,GAAA;IAAKmP,OAAS,EAAAC,QAAA;IAAUC,MAAQ;IAAAC,QAAA;IAAU9K,QAAU;IAAAvE,MAAA;IAAQsP,GAAK;IAAAtN;EAAA,CAAM,GAAAnC,GAAA;EACtF,MAAM0P,YAAYH,MAAO,CAAAE,GAAA,CAAItH,IAAQ,IAAA,UAAU,EAAE2C,MAAM,CAAA;EACjD,MAAA6E,MAAA,IAAAhB,KAAA,GAASvD,iCAAQuE,MAAU,cAAAhB,KAAA,cAAAA,KAAA,GAAA,KAAA;EACjC,MAAMtL,MAAS,GAAA1C,aAAA,CAAAQ,OAAA,CAAKP,QAAS,CAAAV,GAAA,EAAKwE,QAAQ,CAAA;EAE1C,MAAMkL,cAAcnC,MAAO,CAAAoC,WAAA,CACzBpC,MAAO,CAAAhC,OAAA,CAAA,CAAA,CAAQP,EAAG,GAAA/I,EAAA,CAAAiJ,MAAA,KAAH,mBAAWvJ,OAAQ,CAAAiO,KAAA,KAAS,EAAE,EAAEzJ,GAAI,CAAA0J,KAAA,IAAgB;IAAA,IAAf,CAACpH,GAAA,EAAKqH,GAAG,CAAM,GAAAD,KAAA;IA9BvE7E,IAAAA,GAAAA;IA+BM,OAAO,CAACvC,GAAK,EAAAhI,aAAAA,CAAAA,OAAA,CAAK4E,OAAQ,CAAArF,GAAA,EAAA,CAAA,CAAKgL,MAAA/I,EAAG,CAAAiJ,MAAA,KAAH,IAAAF,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAWrJ,QAAQoO,OAAW,KAAA,GAAA,EAAKD,GAAI,CAAA,CAAC,CAAC,CAAC,CAAA;EAAA,CAC1E,CAAA,CACH;EAEA,MAAMvE,OAAU,GAAAiD,SAAA,CAAUjD,OAAQ,CAAApF,GAAA,CAAKmF,KAAU,IAAA;IACxC,OAAA;MACL,GAAGA,KAAA;MACHhF,IAAA,EAAM7F,aAAAA,CAAAA,QAAKC,QAAS,CAAAyC,MAAA,EAAQmI,MAAM/I,MAAM,CAAA,CAAEkJ,OAAQ,CAAA,WAAA,EAAa,EAAE;IAAA,CACnE;EACF,CAAA,EAAG,CAAE,CAAA,CAAA;EAEL,MAAMuE,SACJ,GAAAZ,QAAA,IAAY7B,MAAO,CAAAD,IAAA,CAAK8B,QAAQ,CAAE,CAAAjJ,GAAA,CAAK1B,UAAA,IAAehE,aAAAA,CAAAA,OAAK,CAAAY,IAAA,CAAKkO,GAAI,CAAAjJ,IAAA,EAAM7B,UAAU,CAAC,CAAA;EAEvF,MAAMwL,WAAc,GAAAb,QAAA,IAAY7B,MAAO,CAAA2C,MAAA,CAAOd,QAAQ,CAAE,CAAAjJ,GAAA,CAAKgK,CAAA,IAAM1P,aAAAA,CAAAA,OAAK,CAAA4E,OAAA,CAAQrF,GAAK,EAAAmQ,CAAA,CAAEC,MAAM,CAAC,CAAA;EAE9F,MAAMC,eAAe9C,MAAO,CAAAoC,WAAA,CAC1BpC,OAAOhC,OAAQ,CAAA,CAAAL,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQoF,WAAU,EAAE,EAAEnK,GAAI,CAAAoK,KAAA;IAAA,IAAC,CAAC9H,GAAK,EAAAqH,GAAG;WAAM,CAACrH,GAAA,EAAK+H,KAAKC,SAAU,CAAAX,GAAG,CAAC,CAAC;EAAA,EAAA,CACrF;EAEA,MAAMY,cAAiB,GAAA,CACrBjF,wBAAQ,CAAA;IACNkF,iBAAmB,EAAA,IAAA;IACnBT,MAAQ,EAAA;MACN,IAAIX,GAAI,CAAAjJ,IAAA,KAAS,sBACb;QAAC,GAAG+J;OACJ,GAAA;QACE,2BAAA,EAA8BO,GAAQ,IAAA;UACpC,MAAMpF,UAAa,GAAA,IAAA,GAAO/K,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAASV,KAAK4Q,GAAG,CAAA;UAChD,MAAMtF,QAAQC,OAAQ,CAAAsF,IAAA,CAAMV,CAAM,IAAAA,CAAA,CAAEC,WAAW5E,UAAU,CAAA;UAEzD,IAAI,CAACF,KAAO,EAAA;YAEFyB,OAAA,CAAAlK,KAAA,iCAAAjC,MAAA,CAAsC4K,UAAY,EAAA;YAEnD,OAAA,MAAA;UACT;UAEA,OAAOgF,IAAK,CAAAC,SAAA,CACVhQ,qBAAA,CAAKC,SAASV,GAAK,EAAAS,qBAAA,CAAK4E,QAAQlC,MAAQ,EAAAmI,KAAA,CAAMhF,IAAO,GAAAkJ,SAAS,CAAC,CAAA,CACjE;QACF,CAAA;QACA,wBAAA,EAA0BgB,IAAK,CAAAC,SAAA,CAAU7F,MAAM,CAAA;QAC/C,yBAAA,EAA2B4F,IAAK,CAAAC,SAAA,CAAUxB,OAAO,CAAA;QACjD,2BAA2BuB,IAAK,CAAAC,SAAA,CAAUjP,QAAQsP,GAAI,CAAAC,WAAA,IAAexB,IAAIyB,OAAO,CAAA;QAChF,GAAGX;MACL,CAAA;IACN;EAAA,CACD,CAAA,EACDY,sBAAM,CAAA;IACJ1F,OAAA,EAAS;MAAC,GAAGmE;IAAW;EAAA,CACzB,CAAA,EACDwB,6BAAY,CAAA;IAAA;IAEVC,SAASlC,OAAY,KAAA,SAAA;IAAA;IAErBmC,YAAY,CAAC,MAAA,EAAQ,QAAQ,KAAO,EAAA,MAAA,EAAQ,SAAS,OAAO,CAAA;IAC5DC,cAAgB,EAAA;IAAA;EAAA,CACjB,CAAA,EACDC,yBAAS,EAAA,EACTC,qBAAK,EAAA,EACLC,wBAAQ,CAAA;IACNC,GAAA,GAAA/C,KAAA,GAAKxD,iCAAQuG,GAAO,cAAA/C,KAAA,cAAAA,KAAA,GAAA,WAAA;IACpBgD,UAAA,GAAA/C,KAAA,GAAYzD,iCAAQwG,UAAc,cAAA/C,KAAA,cAAAA,KAAA,GAAA,eAAA;IAClCgD,WAAA,GAAA/C,KAAA,GAAa1D,iCAAQyG,WAAe,cAAA/C,KAAA,cAAAA,KAAA,GAAA,UAAA;IACpCgD,eAAA,GAAA/C,KAAA,GAAiB3D,iCAAQ0G,eAAmB,cAAA/C,KAAA,cAAAA,KAAA,GAAA,OAAA;IAC5CK,MAAA;IACA9L,QAAA,EAAUtD,GAAI,CAAAmC,EAAA,CAAGkJ,UAAc,IAAA;EAAA,CAChC,CAAA,EACD0G,gCAAqB,CAAA;IACnBC,OAAS,EAAA,KAAA;IACTC,OAAA,EAAA,CAAS9G,EAAQ,GAAAC,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAA8G,KAAA,KAAR,IAAe,GAAA,KAAA,CAAA,GAAA/G,EAAA,CAAA8G,OAAA;IACxBE,OAAS,EAAA,CACP,CACE,mBAAA,EACA;MAACC,OAAS,EAAA3C,GAAA,CAAI4C,YAAgB,IAAAC,mBAAAA,CAAAA,0BAAA;MAA4BC,SAAS;IAAK,CAAA,CAC1E;EACF,CACD,CAAA,EACD5C,UACE6C,eAAAA,CAAAA,OAAO,CAAA;IACLC,QAAU,EAAA;MAAA;MAERC,UAAY,EAAA;IACd,CAAA;IACAjQ,MAAQ,EAAA;MACNkQ,QAAA,EAAUA,CAACC,KAAA,EAAOC,OAAY,KAAA;QAC5B,MAAMvR,OAAOuR,OAAQ,CAAAC,KAAA;QACrB,MAAM3K,OAAO0K,OAAQ,CAAA1K,IAAA;QAGrB,IAAIA,QAAQ,UAAY,EAAA;UAEf,OAAA,4BAAA,CAA6B4K,KAAKzR,IAAI,CAAA;QAC/C;QAEO,OAAA,KAAA;MACT;IACF;EAAA,CACD,CAAA,CACL,CAAEjB,OAAO2S,OAAO,CAAA;EAEV,MAAAC,WAAA,GAAA,CAAchE,EAAQ,GAAA7D,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAA8H,MAAA,KAAR,IAAgB,GAAA,KAAA,CAAA,GAAAjE,EAAA,CAAAgD,OAAA;EAEpC,MAAMA,OAAU,GAAA/D,KAAA,CAAMiF,OAAQ,CAAAF,WAAW,IACrCrC,cAAe,CAAA9P,MAAA,CAAOmS,WAAW,CAAA,GACjCG,mBAAsB,CAAAA,qBAAA,CAAA,CAAAlE,EAAA,GAAA9D,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQ8H,MAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAhE,EAAA,CAAgB+C,SAASrB,cAAc,CAAA;EAE1D,OAAA;IACLyC,YAAc,EAAA;MACZC,OAAS,EAAApT,GAAA;MAETsP,QAAA,EAAUA,CAAC+D,EAAA,EAAIC,QAAa,KAAA;QAEtB,IAAAtD,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,SAAA,CAAWxI,SAAS6L,EAAK,CAAA,EAAA;UACpB,OAAA,IAAA;QACT;QAGI,IAAAC,QAAA,KAAaD,GAAGlG,UAAW,CAAA,GAAG,KAAKkG,EAAG,CAAAlG,UAAA,CAAW,GAAG,CAAI,CAAA,EAAA;UAC1D,MAAMoG,SAAS9S,aAAK,CAAAQ,OAAA,CAAAoE,OAAA,CAAQ5E,aAAAA,CAAAA,QAAKiK,OAAQ,CAAA4I,QAAQ,GAAGD,EAAE,CAAA;UAElD,IAAApD,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,WAAA,CAAazI,SAAS+L,MAAS,CAAA,EAAA;YAC1BtT,MAAA,CAAA8C,IAAA,kEAAAnC,MAAA,CACuDH,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAC/DV,GAAA,EACAuT,MAAA,CACF,EACF;YAEO,OAAA,IAAA;UACT;QACF;QAEM,MAAAC,OAAA,GAAUH,EAAG,CAAAI,KAAA,CAAM,GAAG,CAAA;QAE5B,MAAMnN,IAAO,GAAAkN,OAAA,CAAQ,CAAC,CAAA,CAAErG,WAAW,GAAG,CAAA,MAAAvM,MAAA,CAAO4S,OAAA,CAAQ,CAAC,CAAK,OAAA5S,MAAA,CAAA4S,OAAA,CAAQ,CAAC,CAAA,IAAMA,QAAQ,CAAC,CAAA;QAEnF,IAAIlN,IAAQ,IAAAgJ,QAAA,CAAS9H,QAAS,CAAAlB,IAAI,CAAG,EAAA;UAC5B,OAAA,IAAA;QACT;QAEO,OAAA,KAAA;MACT,CAAA;MAEAoN,KAAO,EAAAnI,OAAA,CAAQoI,MAAuC,CAAA,CAACC,KAAKtI,KAAU,KAAA;QAC7D,OAAA;UAAC,GAAGsI,GAAK;UAAA,CAACtI,MAAMhF,IAAI,GAAGgF,MAAM8E;SAAM;MAC5C,CAAA,EAAG,EAAE,CAAA;MAEL2B,OAAA;MAEA8B,SAAW,EAAA;QACTC,uBAAyB,EAAA;MAC3B;IACF,CAAA;IACAC,aAAe,EAAA;MACbC,gBAAgBA,CAAA,KAAM;QACd,MAAAC,KAAA,GAAQzE,SAAU,CAAAiE,KAAA,CAAM,GAAG,CAAA;QAE7B,IAAAQ,KAAA,CAAM3T,WAAW,CAAG,EAAA;UACf,gCAAAM,MAAA,CAAyBqT,MAAM,CAAC,CAAA;QACzC;QAEA,+BAAArT,MAAA,CAA+B4O,SAAA;MACjC,CAAA;MACA0E,OAAS,EAAAzE,MAAA;MACT0E,GAAK,EAAAhR,MAAA;MACLiR,gBAAgBA,CAAA,KAAM;QACd,MAAAH,KAAA,GAAQzE,SAAU,CAAAiE,KAAA,CAAM,GAAG,CAAA;QAE7B,IAAAQ,KAAA,CAAM3T,WAAW,CAAG,EAAA;UACf,iBAAAM,MAAA,CAAUqT,MAAM,CAAC,CAAA;QAC1B;QAEA,gBAAArT,MAAA,CAAgB4O,SAAA;MAClB,CAAA;MACA6E,QAAU,EAAA,IAAA;MACVzJ,MAAA;MACA0J,OAAS,EAAA,QAAA;MACTC,qBAAuB,EAAA9E,MAAA;MACvB+E,SAAA,GAAA1F,KAAA,GAAW5D,iCAAQsJ,SAAa,cAAA1F,KAAA,cAAAA,KAAA,GAAA,IAAA;MAChC2F,sBAAwB,EAAA;IAC1B;EAAA,CACF;AACF;AC7MO,MAAMC,UAAsC,GAAA;EACjDpO,IAAA,EAAMA,CAACxG,GAAA,EAAKiL,IACV,KAAA,2CAAAnK,MAAA,CAEeC,cAAAA,CAAAA,OAAA,CAAME,MAAO,CAAAgK,IAAA,CAAKH,MAAM,CAAA,gBAErC,GAAGG,IAAK,CAAAmE,MAAA,CAAO/I,GAAI,CAACC,qBAAevF,sBAAA,CAAME,MAAO,CAAAqF,CAAC,CAAG,CAAA,CAAA,gBAEpD,GAAG2E,KAAKQ,OAAQ,CAAApF,GAAA,CAAKgK,CACnB,IAAA,cAAAvP,MAAA,CAEKC,cAAM,CAAAI,OAAA,CAAAH,IAAA,CAAKL,aAAAA,CAAAA,OAAK,CAAAY,IAAA,CAAKvB,IAAIyP,GAAI,CAAAjJ,IAAA,EAAM6J,CAAE,CAAA1P,IAAI,CAAC,CAAA,YAAAG,MAAA,CAC1CC,cAAA,CAAAI,OAAA,CAAMF,MAAO,CAAAoP,CAAA,CAAEC,MAAM,CAAA,OAAAxP,MAAA,CAAKC,cAAM,CAAAI,OAAA,CAAAE,IAAA,CAAK,QAAG,CAAA,OAAAP,MAAA,CAAKC,cAAM,CAAAI,OAAA,CAAAF,MAAA,CAAOoP,EAAE5N,MAAM,CAAA,EACvE,CAAElB,KAAK,EAAE,CAAA,CACX,CACF,CAAEA,KAAK,IAAI,CAAA;EACb6K,IAAA,EAAMA,CAACpM,GAAA,EAAKiL,IAAS,KAAA;IACZ,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCuI,WAAA,CAAY7U,GAAK,EAAAiL,IAAI,CAClB,CAAAsB,IAAA,CAAMV,MAAW,IAAA;QAChBS,QAAA,CAASE,KAAKX,MAAM,CAAA;QACpBS,QAAA,CAASG,QAAS,EAAA;MAAA,CACnB,EACAC,KAAM,CAACC,OAAQL,QAAS,CAAAvJ,KAAA,CAAM4J,GAAG,CAAC,CAAA;IAAA,CACtC,CAAA;EACH,CAAA;EACAF,UAAUA,CAAA,KAAM,CAEhB,CAAA;EACA1J,KAAO,EAAAA,CAACmJ,IAAM,EAAAU,KAAA,EAAOD,GAAQ,KAAA;IAE3BM,OAAA,CAAQlK,MAAM4J,GAAG,CAAA;EACnB;AACF,CAAA;AAEA,eAAekI,WAAAA,CAAY7U,KAAmBiL,IAAkB,EAAA;EAC9D,MAAM;IAACvG,QAAA;IAAUyE,KAAO;IAAAhJ;EAAA,CAAU,GAAAH,GAAA;EAClC,MAAMqD,MAAS,GAAA1C,aAAAA,CAAAA,OAAA,CAAKC,QAAS,CAAAZ,GAAA,CAAIE,KAAKwE,QAAQ,CAAA;EAG9C,MAAMoQ,aAAalH,gBAAiB,CAAA;IAClCC,UAAA,EAAa5N,QAAa,IAAA;MACxB,KAAA,MAAWK,OAAOL,QAAU,EAAA;QAC1B,MAAMqB,IAAO,GAAAyT,MAAA,CAAOzU,GAAI,CAAA2N,IAAA,CAAK,CAAC,CAAC,CAAA;QAE3B,IAAA3N,GAAA,CAAIqC,SAAS,qBAAuB,EAAA;UACtC;QACF;QAEI,IAAArB,IAAA,CAAK+L,UAAW,CAAA,yBAAyB,CAAG,EAAA;UAC9C;QACF;QAEI,IAAA/L,IAAA,CAAK+L,UAAW,CAAA,qCAAqC,CAAG,EAAA;UAC1D;QACF;QAEI,IAAA/M,GAAA,CAAI6H,SAAS,KAAO,EAAA;UACfhI,MAAA,CAAAmI,IAAA,CAAK,GAAGhI,GAAA,CAAI2N,IAAI,CAAA;QACzB;QAEI,IAAA3N,GAAA,CAAI6H,SAAS,MAAQ,EAAA;UAChBhI,MAAA,CAAA8C,IAAA,CAAK,GAAG3C,GAAA,CAAI2N,IAAI,CAAA;QACzB;QAEI,IAAA3N,GAAA,CAAI6H,SAAS,OAAS,EAAA;UACjBhI,MAAA,CAAA4C,KAAA,CAAM,GAAGzC,GAAA,CAAI2N,IAAI,CAAA;QAC1B;MACF;IACF;EAAA,CACD,CAAA;EAEG,IAAA;IACF,MAAM;MAACoF,YAAc;MAAAY;IAAA,CAAiB,GAAAxF,mBAAA,CAAoBzO,KAAKiL,IAAI,CAAA;IAG7D,MAAA+J,MAAA,GAAS,MAAM9B,aAAO,CAAA;MAC1B,GAAGG,YAAA;MACH4B,OAAOC,OAAS,EAAA;QACdJ,UAAA,CAAW7U,SAAS0H,IAAK,CAAA;UACvBQ,IAAM,EAAA,MAAA;UACNxF,MAAMuS,OAAQ,CAAAvS,IAAA;UACdsL,IAAA,EAAM,CAACiH,OAAA,CAAQ7S,OAAO;QAAA,CACvB,CAAA;MACH;IAAA,CACD,CAAA;IAID,MAAM;MAACI;IAAM,CAAA,GAAI,MAAMuS,MAAA,CAAOG,SAASlB,aAAa,CAAA;IAEpD,KAAA,MAAWmB,gBAAgB3S,MAAQ,EAAA;MAC7B,IAAA2S,YAAA,CAAajN,SAAS,OAAS,EAAA;QACjCgB,KAAA,CAAMxB,IAAK,CAAA;UACTQ,IAAM,EAAA,OAAA;UACNxH,IAAM,EAAAA,aAAAA,CAAAA,OAAA,CAAK4E,OAAQ,CAAAlC,MAAA,EAAQ+R,aAAa5S,QAAQ;QAAA,CACjD,CAAA;MAAA,CACI,MAAA;QACL2G,KAAA,CAAMxB,IAAK,CAAA;UACTQ,IAAM,EAAA,OAAA;UACNxH,IAAM,EAAAA,aAAAA,CAAAA,OAAA,CAAK4E,OAAQ,CAAAlC,MAAA,EAAQ+R,aAAa5S,QAAQ;QAAA,CACjD,CAAA;MACH;IACF;IAGM,MAAAwS,MAAA,CAAOK,MAAMpB,aAAa,CAAA;IAGhC,MAAMe,OAAOM,KAAM,EAAA;IAGnBR,UAAA,CAAWtG,OAAQ,EAAA;WACZ7B,GAAP,EAAA;IAEAmI,UAAA,CAAWtG,OAAQ,EAAA;IACb,MAAA7B,GAAA;EACR;AACF;ACxHO,MAAM4I,eAAoE,GAAA;EAC/E/O,IAAA,EAAMA,CAACxG,GAAA,EAAKiL,IACV,uCAAAnK,MAAA,CAAkCmK,KAAKmE,MAAO,CAAA7N,IAAA,CAAK,KAAK,CAAA,eAAAT,MAAA,CACtDmK,IAAK,CAAAH,MAAA,gBAAAhK,MAAA,CACMmK,IAAA,CAAKQ,QACfpF,GAAI,CAACgK,eAAStP,sBAAA,CAAM2B,IAAK,CAAA/B,aAAAA,CAAAA,OAAA,CAAKY,IAAK,CAAAvB,GAAA,CAAIyP,IAAIjJ,IAAM,EAAA6J,CAAA,CAAE1P,IAAI,CAAC,CAAM,QAAAG,MAAA,CAAAuP,CAAA,CAAEC,uBAAaD,CAAE,CAAA5N,MAAA,CAAQ,CACvF,CAAAlB,IAAA,CAAK,WAAW,CAAA,CAAA;EACrB6K,IAAA,EAAMA,CAACpM,GAAA,EAAKiL,IAAS,KAAA;IACnB,MAAM;MAACoI,YAAc;MAAAY;IAAA,CAAiB,GAAAxF,mBAAA,CAAoBzO,KAAKiL,IAAI,CAAA;IAE5D,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClC,MAAMkJ,YAAmC,GAAA;QACvC,GAAGnC,YAAA;QACH5Q,MAAQ,EAAAwR;MAAA,CACV;MAEM,MAAAwB,OAAA,GAAUC,aAAYF,YAAY,CAAA;MAEhCC,OAAA,CAAAE,EAAA,CAAG,OAAS,EAACC,KAAU,IAAA;QAC7BtJ,QAAA,CAASE,KAAKoJ,KAAK,CAAA;MAAA,CACpB,CAAA;MAED,OAAO,MAAM;QACXH,OAAA,CAAQH,KAAM,EAAA;MAAA,CAChB;IAAA,CACD,CAAA;EACH,CAAA;EACA7I,QAAU,EAAAA,CAACzM,GAAK,EAAAiL,IAAA,EAAM2K,KAAU,KAAA;IACxB,MAAA;MAACzV;IAAU,CAAA,GAAAH,GAAA;IAEb,IAAA4V,KAAA,CAAMjT,SAAS,YAAc,EAAA;MACxBxC,MAAA,CAAA0V,OAAA,mCAAA/U,MAAA,CAC6BmK,IAAK,CAAAmE,MAAA,CAAO7N,IAAK,CAAA,KAAK,uBACtD0J,IAAK,CAAAH,MAAA,gBAAAhK,MAAA,CACMmK,IAAA,CAAKQ,QACfpF,GAAI,CAACgK,eAAStP,sBAAA,CAAM2B,IAAK,CAAA/B,aAAAA,CAAAA,OAAA,CAAKY,IAAK,CAAAvB,GAAA,CAAIyP,IAAIjJ,IAAM,EAAA6J,CAAA,CAAE1P,IAAI,CAAC,CAAM,QAAAG,MAAA,CAAAuP,CAAA,CAAEC,uBAAaD,CAAE,CAAA5N,MAAA,CAAQ,CACvF,CAAAlB,IAAA,CAAK,WAAW,CAAA,EACrB;MACApB,MAAA,CAAOM,IAAI,EAAE,CAAA;MAEb;IACF;IAEI,IAAAmV,KAAA,CAAMjT,SAAS,cAAgB,EAAA;MACjC;IACF;IAEI,IAAAiT,KAAA,CAAMjT,SAAS,KAAO,EAAA;MACxB;IACF;IAEI,IAAAiT,KAAA,CAAMjT,SAAS,OAAS,EAAA;MACnBxC,MAAA,CAAA4C,KAAA,CAAM6S,KAAM,CAAAjT,IAAA,EAAMiT,KAAK,CAAA;MAE9B;IACF;IAEI,IAAAA,KAAA,CAAMjT,SAAS,OAAS,EAAA;MAC1B;IACF;EACF,CAAA;EACAI,KAAO,EAAAA,CAAC/C,GAAK,EAAA4M,KAAA,EAAOD,GAAQ,KAAA;IACpB,MAAA;MAACxM;IAAU,CAAA,GAAAH,GAAA;IAEjB,IAAI2M,eAAe7J,KAAO,EAAA;MACxB3C,MAAA,CAAOM,IAAIkM,GAAG,CAAA;IAChB;EACF;AACF,CAAA;AClEO,MAAMmJ,iBAAuC,GAAA;EAClD,WAAa,EAAA7J,OAAA;EACb,UAAY,EAAA2I,UAAA;EACZ,mBAAqB,EAAA9H;AACvB,CAAA;AAGO,MAAMiJ,iBAAuC,GAAA;EAClD,WAAa,EAAAlJ,YAAA;EACb,UAAY,EAAA0I;AACd,CAAA;;;;;;;"}
|