@sanity/pkg-utils 1.20.4 → 2.0.0-beta.2

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.
Files changed (57) hide show
  1. package/bin/pkg-utils.cjs +2 -0
  2. package/dist/_chunks/{build-f3246aa2.js → build-b879ad71.cjs} +10 -7
  3. package/dist/_chunks/build-b879ad71.cjs.map +1 -0
  4. package/dist/_chunks/{buildAction-e3aabe6b.js → buildAction-232e6073.cjs} +5 -5
  5. package/dist/_chunks/buildAction-232e6073.cjs.map +1 -0
  6. package/dist/_chunks/{check-6c4e87a9.js → check-617f9494.cjs} +23 -19
  7. package/dist/_chunks/check-617f9494.cjs.map +1 -0
  8. package/dist/_chunks/{checkAction-abd2cc3d.js → checkAction-a2d388ad.cjs} +4 -4
  9. package/dist/_chunks/checkAction-a2d388ad.cjs.map +1 -0
  10. package/dist/_chunks/{handleError-4062ca45.js → handleError-4062ca45.cjs} +1 -1
  11. package/dist/_chunks/handleError-4062ca45.cjs.map +1 -0
  12. package/dist/_chunks/{index-b617f475.js → index-b63b3deb.cjs} +75 -21
  13. package/dist/_chunks/index-b63b3deb.cjs.map +1 -0
  14. package/dist/_chunks/{resolveBuildContext-904acf0f.js → resolveBuildContext-bba19cd6.cjs} +45 -38
  15. package/dist/_chunks/resolveBuildContext-bba19cd6.cjs.map +1 -0
  16. package/dist/_chunks/{watch-15eb636a.js → watch-6fb4e453.cjs} +14 -11
  17. package/dist/_chunks/watch-6fb4e453.cjs.map +1 -0
  18. package/dist/_chunks/{watchAction-4d513a4c.js → watchAction-8135afe0.cjs} +5 -5
  19. package/dist/_chunks/watchAction-8135afe0.cjs.map +1 -0
  20. package/dist/{cli.js → cli.cjs} +5 -5
  21. package/dist/cli.cjs.map +1 -0
  22. package/dist/index.cjs +71 -0
  23. package/dist/index.cjs.map +1 -0
  24. package/dist/index.d.ts +17 -8
  25. package/dist/index.js +1817 -66
  26. package/dist/index.js.map +1 -1
  27. package/package.json +12 -11
  28. package/src/node/build.ts +13 -2
  29. package/src/node/check.ts +4 -3
  30. package/src/node/core/constants.ts +1 -4
  31. package/src/node/core/contexts/buildContext.ts +2 -7
  32. package/src/node/core/pkg/loadPkgWithReporting.ts +12 -8
  33. package/src/node/core/pkg/validatePkg.ts +1 -1
  34. package/src/node/index.ts +3 -2
  35. package/src/node/logger.ts +33 -0
  36. package/src/node/printPackageTree.ts +11 -11
  37. package/src/node/resolveBuildContext.ts +11 -25
  38. package/src/node/spinner.ts +3 -3
  39. package/src/node/tasks/dts/dtsTask.ts +7 -4
  40. package/src/node/tasks/rollup/resolveRollupConfig.ts +2 -5
  41. package/src/node/tasks/rollup/rollupTask.ts +66 -21
  42. package/src/node/tasks/rollup/rollupWatchTask.ts +0 -1
  43. package/src/node/watch.ts +6 -3
  44. package/src/node/watchConfigFiles.ts +9 -8
  45. package/bin/pkg-utils.js +0 -2
  46. package/dist/_chunks/build-f3246aa2.js.map +0 -1
  47. package/dist/_chunks/buildAction-e3aabe6b.js.map +0 -1
  48. package/dist/_chunks/check-6c4e87a9.js.map +0 -1
  49. package/dist/_chunks/checkAction-abd2cc3d.js.map +0 -1
  50. package/dist/_chunks/handleError-4062ca45.js.map +0 -1
  51. package/dist/_chunks/index-b617f475.js.map +0 -1
  52. package/dist/_chunks/resolveBuildContext-904acf0f.js.map +0 -1
  53. package/dist/_chunks/watch-15eb636a.js.map +0 -1
  54. package/dist/_chunks/watchAction-4d513a4c.js.map +0 -1
  55. package/dist/cli.js.map +0 -1
  56. package/dist/index.esm.js +0 -1749
  57. package/dist/index.esm.js.map +0 -1
@@ -31,10 +31,12 @@ export function printPackageTree(ctx: BuildContext): void {
31
31
  logger.log(`${chalk.blue(pkg.name)}@${chalk.green(pkg.version)}`)
32
32
 
33
33
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
- const tree: Record<string, any> = {}
34
+ const tree: Record<string, unknown> = {type: chalk.yellow(pkg.type)}
35
35
 
36
36
  if (pkg.bin) {
37
- tree.bin = pkg.bin
37
+ tree.bin = Object.fromEntries(
38
+ Object.entries(pkg.bin).map(([name, file]) => [chalk.cyan(name), fileInfo(file)])
39
+ )
38
40
  }
39
41
 
40
42
  function fileInfo(file: string) {
@@ -44,7 +46,7 @@ export function printPackageTree(ctx: BuildContext): void {
44
46
  return `${chalk.gray(file)} ${chalk.red('does not exist')}`
45
47
  }
46
48
 
47
- return `${file} ${chalk.gray(info.size)}`
49
+ return `${chalk.yellow(file)} ${chalk.gray(info.size)}`
48
50
  }
49
51
 
50
52
  tree.exports = Object.fromEntries(
@@ -52,13 +54,13 @@ export function printPackageTree(ctx: BuildContext): void {
52
54
  .filter(([, entry]) => entry._exported)
53
55
  .map(([exportPath, entry]) => {
54
56
  const exp: Omit<PkgExport, '_exported'> = {
55
- source: entry.source,
56
57
  types: undefined,
58
+ source: fileInfo(entry.source),
57
59
  browser: undefined,
58
60
  node: undefined,
59
61
  import: undefined,
60
62
  require: undefined,
61
- default: entry.default,
63
+ default: fileInfo(entry.default),
62
64
  }
63
65
 
64
66
  if (entry.types) {
@@ -68,7 +70,7 @@ export function printPackageTree(ctx: BuildContext): void {
68
70
  }
69
71
 
70
72
  if (entry.browser) {
71
- exp.browser = {source: entry.browser.source}
73
+ exp.browser = {source: fileInfo(entry.browser.source)}
72
74
 
73
75
  if (entry.browser.import) exp.browser.import = fileInfo(entry.browser.import)
74
76
  if (entry.browser.require) exp.browser.require = fileInfo(entry.browser.require)
@@ -77,7 +79,7 @@ export function printPackageTree(ctx: BuildContext): void {
77
79
  }
78
80
 
79
81
  if (entry.node) {
80
- exp.node = {source: entry.node.source}
82
+ exp.node = {source: fileInfo(entry.node.source)}
81
83
 
82
84
  if (entry.node.import) exp.node.import = fileInfo(entry.node.import)
83
85
  if (entry.node.require) exp.node.require = fileInfo(entry.node.require)
@@ -97,11 +99,9 @@ export function printPackageTree(ctx: BuildContext): void {
97
99
  delete exp.require
98
100
  }
99
101
 
100
- exp.default = fileInfo(entry.default)
101
-
102
- return [chalk.green(path.join(pkg.name, exportPath)), exp]
102
+ return [chalk.cyan(path.join(pkg.name, exportPath)), exp]
103
103
  })
104
104
  )
105
105
 
106
- logger.log(treeify.asTree(tree, true, true))
106
+ logger.log(treeify.asTree(tree as Record<string, any>, true, true))
107
107
  }
@@ -1,5 +1,4 @@
1
1
  import path from 'path'
2
- import chalk from 'chalk'
3
2
  import {
4
3
  PkgConfigOptions,
5
4
  PkgExports,
@@ -12,42 +11,29 @@ import {
12
11
  resolveConfigProperty,
13
12
  } from './core'
14
13
  import {findCommonDirPath, pathContains} from './core/findCommonPath'
14
+ import {Logger} from './logger'
15
15
  import {resolveBrowserslistVersions} from './resolveBrowserslistVersions'
16
16
  import {resolveBrowserTarget} from './resolveBrowserTarget'
17
17
  import {resolveNodeTarget} from './resolveNodeTarget'
18
18
 
19
- function createLogger(): BuildContext['logger'] {
20
- return {
21
- /* eslint-disable no-console */
22
- log: (...args) => {
23
- console.log(...args)
24
- },
25
- info: (...args) => {
26
- console.log(chalk.blue(' info'), ...args)
27
- },
28
- warn: (...args) => {
29
- console.log(chalk.yellow(' warn'), ...args)
30
- },
31
- error: (...args) => {
32
- console.log(chalk.red(' fail'), ...args)
33
- },
34
- success: (...args) => {
35
- console.log(chalk.green(' ok '), ...args)
36
- },
37
- /* eslint-enable no-console */
38
- }
39
- }
40
-
41
19
  export async function resolveBuildContext(options: {
42
20
  config?: PkgConfigOptions
43
21
  cwd: string
44
22
  emitDeclarationOnly?: boolean
23
+ logger: Logger
45
24
  pkg: PackageJSON
46
25
  strict: boolean
47
26
  tsconfig: string
48
27
  }): Promise<BuildContext> {
49
- const {config, cwd, emitDeclarationOnly = false, pkg, strict, tsconfig: tsconfigPath} = options
50
- const logger = createLogger()
28
+ const {
29
+ config,
30
+ cwd,
31
+ emitDeclarationOnly = false,
32
+ logger,
33
+ pkg,
34
+ strict,
35
+ tsconfig: tsconfigPath,
36
+ } = options
51
37
  const tsconfig = await loadTSConfig({cwd, tsconfigPath})
52
38
  const targetVersions = resolveBrowserslistVersions(pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY)
53
39
  const nodeTarget = resolveNodeTarget(targetVersions)
@@ -5,14 +5,14 @@ import chalk from 'chalk'
5
5
  export function createSpinner(msg: string): {complete: () => void; error: () => void} {
6
6
  const startTime = Date.now()
7
7
 
8
- console.log(` ${msg}`)
8
+ console.log(msg)
9
9
 
10
10
  return {
11
11
  complete: () => {
12
- console.log(`${chalk.green('ok ')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)
12
+ console.log(`${chalk.green('[success]')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)
13
13
  },
14
14
  error: () => {
15
- console.log(`${chalk.red(`failed`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)
15
+ console.log(`${chalk.red(`[error]`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)
16
16
  },
17
17
  }
18
18
  }
@@ -10,10 +10,13 @@ import {DtsResult, DtsTask} from './types'
10
10
  export const dtsTask: TaskHandler<DtsTask, DtsResult> = {
11
11
  name: (_ctx, task) =>
12
12
  [
13
- `build type definitions`,
14
- ...task.entries.map(
15
- (entry) =>
16
- ` ${chalk.blue(entry.importId)}: ${entry.sourcePath} -> ${entry.targetPath}`
13
+ `Build type definitions...`,
14
+ ` entries:`,
15
+ ...task.entries.map((entry) =>
16
+ [
17
+ ` - ${chalk.cyan(entry.importId)}: `,
18
+ `${chalk.yellow(entry.sourcePath)} ${chalk.gray('→')} ${chalk.yellow(entry.targetPath)}`,
19
+ ].join('')
17
20
  ),
18
21
  ].join('\n'),
19
22
  exec: (ctx, task) => {
@@ -73,10 +73,7 @@ export function resolveRollupConfig(
73
73
  }
74
74
 
75
75
  return JSON.stringify(
76
- path.relative(
77
- cwd,
78
- path.resolve(outDir, entry.name + (outputExt === '.esm.js' ? '.js' : outputExt))
79
- )
76
+ path.relative(cwd, path.resolve(outDir, entry.name + outputExt))
80
77
  )
81
78
  },
82
79
  'process.env.PKG_FORMAT': JSON.stringify(format),
@@ -192,7 +189,7 @@ export function resolveRollupConfig(
192
189
  chunkFileNames: () => `_chunks/[name]-[hash]${outputExt}`,
193
190
  compact: minify,
194
191
  dir: outDir,
195
- entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),
192
+ entryFileNames: () => `[name]${outputExt}`,
196
193
  esModule: true,
197
194
  format,
198
195
  interop: 'compat',
@@ -11,11 +11,20 @@ import {resolveRollupConfig} from './resolveRollupConfig'
11
11
  /** @internal */
12
12
  export const rollupTask: TaskHandler<RollupTask> = {
13
13
  name: (ctx, task) =>
14
- `build javascript files (target ${task.target.join(' + ')}, format ${
15
- task.format
16
- })\n ${task.entries
17
- .map((e) => `${chalk.blue(path.join(ctx.pkg.name, e.path))}: ${e.source} -> ${e.output}`)
18
- .join('\n ')}`,
14
+ [
15
+ `Build javascript files...`,
16
+ ` format: ${chalk.yellow(task.format)}`,
17
+ ` target:`,
18
+ ...task.target.map((t) => ` - ${chalk.yellow(t)}`),
19
+ ` entries:`,
20
+ ...task.entries.map((e) =>
21
+ [
22
+ ` - `,
23
+ `${chalk.cyan(path.join(ctx.pkg.name, e.path))}: `,
24
+ `${chalk.yellow(e.source)} ${chalk.gray('→')} ${chalk.yellow(e.output)}`,
25
+ ].join('')
26
+ ),
27
+ ].join('\n'),
19
28
  exec: (ctx, task) => {
20
29
  return new Observable((observer) => {
21
30
  execPromise(ctx, task)
@@ -36,30 +45,43 @@ export const rollupTask: TaskHandler<RollupTask> = {
36
45
  },
37
46
  }
38
47
 
39
- async function execPromise(ctx: BuildContext, task: RollupTask) {
40
- const {files, distPath} = ctx
41
- const outDir = path.relative(ctx.cwd, distPath)
42
-
43
- const _console = {
48
+ function createSpyConsole() {
49
+ const original = {
44
50
  log: console.log,
45
51
  warn: console.warn,
46
52
  error: console.error,
47
53
  }
48
54
 
49
- const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)
55
+ const messages: {type: 'log' | 'warn' | 'error'; args: unknown[]}[] = []
56
+
57
+ console.log = (...args: unknown[]) => messages.push({type: 'log', args})
58
+ console.warn = (...args: unknown[]) => messages.push({type: 'warn', args})
59
+ console.error = (...args: unknown[]) => messages.push({type: 'error', args})
60
+
61
+ return {
62
+ messages,
63
+ restore: () => {
64
+ console.log = original.log
65
+ console.warn = original.warn
66
+ console.error = original.error
67
+ },
68
+ }
69
+ }
70
+
71
+ async function execPromise(ctx: BuildContext, task: RollupTask) {
72
+ const {distPath, files, logger} = ctx
73
+ const outDir = path.relative(ctx.cwd, distPath)
74
+
75
+ // Prevent rollup from printing warnings to the console
76
+ const spyConsole = createSpyConsole()
50
77
 
51
- console.log = () => undefined
52
- console.warn = () => undefined
53
- console.error = () => undefined
78
+ const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)
54
79
 
55
80
  // Create bundle
56
81
  const bundle = await rollup({
57
82
  ...inputOptions,
58
83
  onwarn(warning) {
59
- if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {
60
- // rollupWarn(warning)
61
- _console.warn.bind(console)(chalk.yellow('warn '), warning.message)
62
- }
84
+ spyConsole.messages.push({type: 'warn', args: [warning.message]})
63
85
  },
64
86
  })
65
87
 
@@ -67,9 +89,32 @@ async function execPromise(ctx: BuildContext, task: RollupTask) {
67
89
  // you can call this function multiple times on the same bundle object
68
90
  const {output} = await bundle.generate(outputOptions)
69
91
 
70
- console.log = _console.log
71
- console.warn = _console.warn
72
- console.error = _console.error
92
+ // Restore console
93
+ spyConsole.restore()
94
+
95
+ for (const msg of spyConsole.messages) {
96
+ const text = String(msg.args[0])
97
+
98
+ if (text.startsWith('Dynamic import can only')) {
99
+ continue // ignore
100
+ }
101
+
102
+ if (text.startsWith('Sourcemap is likely to be incorrect')) {
103
+ continue // ignore
104
+ }
105
+
106
+ if (msg.type === 'log') {
107
+ logger.info(...msg.args)
108
+ }
109
+
110
+ if (msg.type === 'warn') {
111
+ logger.warn(...msg.args)
112
+ }
113
+
114
+ if (msg.type === 'error') {
115
+ logger.error(...msg.args)
116
+ }
117
+ }
73
118
 
74
119
  for (const chunkOrAsset of output) {
75
120
  if (chunkOrAsset.type === 'asset') {
@@ -58,7 +58,6 @@ export const rollupWatchTask: TaskHandler<RollupWatchTask, RollupWatcherEvent> =
58
58
  }
59
59
 
60
60
  if (event.code === 'ERROR') {
61
- // logger.log('')
62
61
  logger.error(event.code, event)
63
62
 
64
63
  return
package/src/node/watch.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import path from 'path'
2
2
  import {switchMap} from 'rxjs'
3
3
  import {loadConfig, loadPkgWithReporting} from './core'
4
+ import {createLogger} from './logger'
4
5
  import {resolveBuildContext} from './resolveBuildContext'
5
6
  import {resolveWatchTasks} from './resolveWatchTasks'
6
7
  import {WatchTask, TaskHandler, watchTaskHandlers} from './tasks'
@@ -14,7 +15,9 @@ export async function watch(options: {
14
15
  }): Promise<void> {
15
16
  const {cwd, strict = false, tsconfig: tsconfigOption} = options
16
17
 
17
- const configFiles$ = await watchConfigFiles({cwd})
18
+ const logger = createLogger()
19
+
20
+ const configFiles$ = await watchConfigFiles({cwd, logger})
18
21
 
19
22
  const ctx$ = configFiles$.pipe(
20
23
  switchMap(async (configFiles) => {
@@ -26,11 +29,11 @@ export async function watch(options: {
26
29
  throw new Error('missing package.json')
27
30
  }
28
31
 
29
- const pkg = await loadPkgWithReporting({cwd})
32
+ const pkg = await loadPkgWithReporting({cwd, logger})
30
33
  const config = await loadConfig({cwd})
31
34
  const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'
32
35
 
33
- return resolveBuildContext({config, cwd, pkg, strict, tsconfig})
36
+ return resolveBuildContext({config, cwd, logger, pkg, strict, tsconfig})
34
37
  })
35
38
  )
36
39
 
@@ -1,12 +1,15 @@
1
1
  import path from 'path'
2
- import chalk from 'chalk'
3
2
  import {Observable} from 'rxjs'
4
3
  import {distinctUntilChanged, scan, startWith} from 'rxjs/operators'
5
4
  import {globFiles} from './globFiles'
5
+ import {Logger} from './logger'
6
6
  import {watchFiles} from './watchFiles'
7
7
 
8
- export async function watchConfigFiles(options: {cwd: string}): Promise<Observable<string[]>> {
9
- const {cwd} = options
8
+ export async function watchConfigFiles(options: {
9
+ cwd: string
10
+ logger: Logger
11
+ }): Promise<Observable<string[]>> {
12
+ const {cwd, logger} = options
10
13
 
11
14
  const initialFiles = await globFiles([
12
15
  path.resolve(cwd, 'package.json'),
@@ -33,13 +36,11 @@ export async function watchConfigFiles(options: {cwd: string}): Promise<Observab
33
36
  }
34
37
 
35
38
  if (fileEvent.type === 'change') {
36
- /* eslint-disable no-console */
37
- console.log(
39
+ logger.log(
38
40
  '--------------------------------------------------------------------------------'
39
41
  )
40
- console.log(chalk.blue('info '), path.relative(cwd, fileEvent.file), 'changed')
41
- console.log('')
42
- /* eslint-enable no-console */
42
+ logger.info(path.relative(cwd, fileEvent.file), 'changed')
43
+ logger.log('')
43
44
 
44
45
  return files.slice(0) // trigger update
45
46
  }
package/bin/pkg-utils.js DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- require('../dist/cli')
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-f3246aa2.js","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, 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 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('ok ')} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n error: () => {\n console.log(`${chalk.red(`failed`)} ${chalk.gray(`${Date.now() - startTime}ms`)}`)\n },\n }\n}\n","import {loadConfig, loadPkgWithReporting} from './core'\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\n const pkg = await loadPkgWithReporting({cwd})\n const config = await loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, emitDeclarationOnly, pkg, strict, tsconfig})\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","createSpinner","msg","startTime","Date","now","console","log","complete","chalk","green","gray","error","red","build","options","strict","tsconfig","tsconfigOption","loadPkgWithReporting","loadConfig","resolveBuildContext","buildTasks","task","handler","buildTaskHandlers","taskName","spinner","result","exec","toPromise","logger","err","Error","RE_CWD","RegExp","message","process","exit"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildAction-e3aabe6b.js","sources":["../../src/cli/buildAction.ts"],"sourcesContent":["import {build} from '../node/build'\nimport {handleError} from './handleError'\n\nexport async function buildAction(options: {\n emitDeclarationOnly?: boolean\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n try {\n await build({\n cwd: process.cwd(),\n emitDeclarationOnly: options.emitDeclarationOnly,\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["buildAction","options","build","cwd","process","emitDeclarationOnly","strict","tsconfig","err","handleError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,eAAsBA,YAAYC,OAIhB,EAAA;EACZ,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,EAAA;MACjBE,qBAAqBJ,OAAQ,CAAAI,mBAAA;MAC7BC,QAAQL,OAAQ,CAAAK,MAAA;MAChBC,UAAUN,OAAQ,CAAAM;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"check-6c4e87a9.js","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, any> = {}\n\n if (pkg.bin) {\n tree.bin = pkg.bin\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 `${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 source: entry.source,\n types: undefined,\n browser: undefined,\n node: undefined,\n import: undefined,\n require: undefined,\n default: 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: 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.node) {\n exp.node = {source: entry.node.source}\n\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 if (entry.require) {\n exp.require = fileInfo(entry.require)\n } else {\n delete exp.require\n }\n\n exp.default = fileInfo(entry.default)\n\n return [chalk.green(path.join(pkg.name, exportPath)), exp]\n })\n )\n\n logger.log(treeify.asTree(tree, true, true))\n}\n","import path from 'path'\nimport esbuild, {BuildFailure} from 'esbuild'\nimport {loadConfig, loadPkgWithReporting} from './core'\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\n const pkg = await loadPkgWithReporting({cwd})\n const config = await loadConfig({cwd})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n const ctx = await resolveBuildContext({config, cwd, pkg, strict, tsconfig})\n const {logger} = ctx\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","bin","fileInfo","info","gray","red","Object","fromEntries","entries","filter","entry","_exported","map","exportPath","exp","source","types","browser","node","import","require","join","treeify","asTree","check","options","strict","tsconfig","tsconfigOption","loadPkgWithReporting","config","loadConfig","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":";;;;;;;;;;;;;;;;;;;;;;;AAGO,SAASA,YAAYC,IAAsB,EAAA;EAC1C,MAAAC,KAAA,GAAQC,YAASF,IAAI,CAAA;EAEpB,OAAAG,oBAAA,CAAAC,OAAA,CAAYH,MAAMI,IAAI,CAAA;AAC/B;ACAO,SAASC,WAAWN,IAAuB,EAAA;EAC5C,IAAA;IACFO,mBAAA,CAAGC,WAAWR,IAAI,CAAA;IAEX,OAAA,IAAA;WACAS,CAAP,EAAA;IACO,OAAA,KAAA;EACT;AACF;AAEA,SAASC,WAAA,CAAYC,KAAaC,QAAkB,EAAA;EAClD,MAAMC,CAAI,GAAAC,aAAA,CAAAV,OAAA,CAAKW,OAAQ,CAAAJ,GAAA,EAAKC,QAAQ,CAAA;EAC9B,MAAAI,MAAA,GAASV,WAAWO,CAAC,CAAA;EAC3B,MAAMR,IAAO,GAAAW,MAAA,GAASjB,WAAY,CAAAc,CAAC,CAAI,GAAA,KAAA,CAAA;EAEhC,OAAA;IAACG;IAAQX;GAAI;AACtB;AAEO,SAASY,iBAAiBC,GAAyB,EAAA;EACxD,MAAM;IAACP,GAAA;IAAKQ,OAAS;IAAAC,MAAA;IAAQC;GAAO,GAAAH,GAAA;EAEpC,IAAI,CAACC,OAAA,EAAS;EAEPC,MAAA,CAAAE,GAAA,WAAOC,cAAA,CAAAnB,OAAA,CAAMoB,IAAK,CAAAH,GAAA,CAAII,IAAI,CAAA,cAAKF,cAAAA,CAAAA,OAAM,CAAAG,KAAA,CAAML,GAAI,CAAAM,OAAO,CAAG,EAAA;EAGhE,MAAMC,OAA4B,CAAA,CAAC;EAEnC,IAAIP,IAAIQ,GAAK,EAAA;IACXD,IAAA,CAAKC,MAAMR,GAAI,CAAAQ,GAAA;EACjB;EAEA,SAASC,SAAS9B,IAAc,EAAA;IACxB,MAAA+B,IAAA,GAAOrB,WAAY,CAAAC,GAAA,EAAKX,IAAI,CAAA;IAE9B,IAAA,CAAC+B,KAAK1B,IAAM,EAAA;MACd,iBAAUkB,cAAAA,CAAAA,OAAM,CAAAS,IAAA,CAAKhC,IAAI,CAAK,cAAAuB,cAAAA,CAAAA,OAAA,CAAMU,IAAI,gBAAgB,CAAA;IAC1D;IAEA,iBAAUjC,IAAA,cAAQuB,cAAAA,CAAAA,OAAM,CAAAS,IAAA,CAAKD,KAAK1B,IAAI,CAAA;EACxC;EAEAuB,IAAA,CAAKT,UAAUe,MAAO,CAAAC,WAAA,CACpBD,OAAOE,OAAQ,CAAAjB,OAAO,EACnBkB,MAAO,CAAA;IAAA,IAAC,GAAGC,KAAK,CAAM;IAAA,OAAAA,KAAA,CAAMC,SAAS;EAAA,EACrC,CAAAC,GAAA,CAAI,SAAyB;IAAA,IAAxB,CAACC,UAAA,EAAYH,KAAK,CAAM;IAC5B,MAAMI,GAAoC,GAAA;MACxCC,QAAQL,KAAM,CAAAK,MAAA;MACdC,KAAO,EAAA,KAAA,CAAA;MACPC,OAAS,EAAA,KAAA,CAAA;MACTC,IAAM,EAAA,KAAA,CAAA;MACNC,MAAQ,EAAA,KAAA,CAAA;MACRC,OAAS,EAAA,KAAA,CAAA;MACT5C,SAASkC,KAAM,CAAAlC;IAAA,CACjB;IAEA,IAAIkC,MAAMM,KAAO,EAAA;MACXF,GAAA,CAAAE,KAAA,GAAQd,QAAS,CAAAQ,KAAA,CAAMM,KAAK,CAAA;IAAA,CAC3B,MAAA;MACL,OAAOF,GAAI,CAAAE,KAAA;IACb;IAEA,IAAIN,MAAMO,OAAS,EAAA;MACjBH,GAAA,CAAIG,OAAU,GAAA;QAACF,MAAQ,EAAAL,KAAA,CAAMO,QAAQF;OAAM;MAE3C,IAAIL,MAAMO,OAAQ,CAAAE,MAAA,EAAQL,GAAA,CAAIG,OAAQ,CAAAE,MAAA,GAASjB,QAAS,CAAAQ,KAAA,CAAMO,QAAQE,MAAM,CAAA;MAC5E,IAAIT,MAAMO,OAAQ,CAAAG,OAAA,EAASN,GAAA,CAAIG,OAAQ,CAAAG,OAAA,GAAUlB,QAAS,CAAAQ,KAAA,CAAMO,QAAQG,OAAO,CAAA;IAAA,CAC1E,MAAA;MACL,OAAON,GAAI,CAAAG,OAAA;IACb;IAEA,IAAIP,MAAMQ,IAAM,EAAA;MACdJ,GAAA,CAAII,IAAO,GAAA;QAACH,MAAQ,EAAAL,KAAA,CAAMQ,KAAKH;OAAM;MAErC,IAAIL,MAAMQ,IAAK,CAAAC,MAAA,EAAQL,GAAA,CAAII,IAAK,CAAAC,MAAA,GAASjB,QAAS,CAAAQ,KAAA,CAAMQ,KAAKC,MAAM,CAAA;MACnE,IAAIT,MAAMQ,IAAK,CAAAE,OAAA,EAASN,GAAA,CAAII,IAAK,CAAAE,OAAA,GAAUlB,QAAS,CAAAQ,KAAA,CAAMQ,KAAKE,OAAO,CAAA;IAAA,CACjE,MAAA;MACL,OAAON,GAAI,CAAAI,IAAA;IACb;IAEA,IAAIR,MAAMS,MAAQ,EAAA;MACZL,GAAA,CAAAK,MAAA,GAASjB,QAAS,CAAAQ,KAAA,CAAMS,MAAM,CAAA;IAAA,CAC7B,MAAA;MACL,OAAOL,GAAI,CAAAK,MAAA;IACb;IAEA,IAAIT,MAAMU,OAAS,EAAA;MACbN,GAAA,CAAAM,OAAA,GAAUlB,QAAS,CAAAQ,KAAA,CAAMU,OAAO,CAAA;IAAA,CAC/B,MAAA;MACL,OAAON,GAAI,CAAAM,OAAA;IACb;IAEIN,GAAA,CAAAtC,OAAA,GAAU0B,QAAS,CAAAQ,KAAA,CAAMlC,OAAO,CAAA;IAE7B,OAAA,CAACmB,cAAM,CAAAnB,OAAA,CAAAsB,KAAA,CAAMZ,aAAAA,CAAAA,OAAK,CAAAmC,IAAA,CAAK5B,IAAII,IAAM,EAAAgB,UAAU,CAAC,CAAA,EAAGC,GAAG,CAAA;EAAA,CAC1D,CAAA,CACL;EAEAtB,MAAA,CAAOE,IAAI4B,wBAAQ,CAAAC,MAAA,CAAOvB,IAAM,EAAA,IAAA,EAAM,IAAI,CAAC,CAAA;AAC7C;ACnGA,eAAsBwB,MAAMC,OAIV,EAAA;EAChB,MAAM;IAAC1C,GAAK;IAAA2C,MAAA,GAAS,KAAO;IAAAC,QAAA,EAAUC;EAAkB,CAAA,GAAAH,OAAA;EAExD,MAAMhC,GAAM,GAAA,MAAMoC,mBAAAA,CAAAA,oBAAqB,CAAA;IAAC9C;EAAI,CAAA,CAAA;EAC5C,MAAM+C,MAAS,GAAA,MAAMC,mBAAAA,CAAAA,UAAW,CAAA;IAAChD;EAAI,CAAA,CAAA;EAC/B,MAAA4C,QAAA,GAAWC,cAAkB,KAAAE,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQH,QAAY,CAAA,IAAA,eAAA;EACjD,MAAArC,GAAA,GAAM,MAAM0C,mBAAoB,CAAAA,mBAAA,CAAA;IAACF;IAAQ/C,GAAK;IAAAU,GAAA;IAAKiC,MAAQ;IAAAC;EAAA,CAAS,CAAA;EACpE,MAAA;IAACnC;EAAU,CAAA,GAAAF,GAAA;EAEjBD,gBAAA,CAAiBC,GAAG,CAAA;EAEpB,IAAIoC,MAAQ,EAAA;IACV,MAAMO,eAAyB,EAAC;IAGrB,KAAA,MAAA,GAAGnB,GAAG,CAAK,IAAAR,MAAA,CAAOE,QAAQlB,GAAI,CAAAC,OAAA,IAAW,CAAA,CAAE,CAAG,EAAA;MACnD,IAAAuB,GAAA,CAAIC,MAAU,IAAA,CAACrC,UAAW,CAAAQ,aAAAA,CAAAA,OAAA,CAAKC,QAAQJ,GAAK,EAAA+B,GAAA,CAAIC,MAAM,CAAC,CAAG,EAAA;QAC/CkB,YAAA,CAAAC,IAAA,CAAKpB,IAAIC,MAAM,CAAA;MAC9B;MAEI,IAAAD,GAAA,CAAIM,OAAW,IAAA,CAAC1C,UAAW,CAAAQ,aAAAA,CAAAA,OAAA,CAAKC,QAAQJ,GAAK,EAAA+B,GAAA,CAAIM,OAAO,CAAC,CAAG,EAAA;QACjDa,YAAA,CAAAC,IAAA,CAAKpB,IAAIM,OAAO,CAAA;MAC/B;MAEI,IAAAN,GAAA,CAAIK,MAAU,IAAA,CAACzC,UAAW,CAAAQ,aAAAA,CAAAA,OAAA,CAAKC,QAAQJ,GAAK,EAAA+B,GAAA,CAAIK,MAAM,CAAC,CAAG,EAAA;QAC/Cc,YAAA,CAAAC,IAAA,CAAKpB,IAAIK,MAAM,CAAA;MAC9B;MAEI,IAAAL,GAAA,CAAIE,KAAS,IAAA,CAACtC,UAAW,CAAAQ,aAAAA,CAAAA,OAAA,CAAKC,QAAQJ,GAAK,EAAA+B,GAAA,CAAIE,KAAK,CAAC,CAAG,EAAA;QAC7CiB,YAAA,CAAAC,IAAA,CAAKpB,IAAIE,KAAK,CAAA;MAC7B;IACF;IAEA,IAAIiB,aAAaE,MAAQ,EAAA;MACvB3C,MAAA,CAAO4C,MAAM,eAAe,CAAA;MAC5BC,OAAA,CAAQC,KAAK,CAAC,CAAA;IAChB;IAGA,MAAMC,MAAgD,GAAA;MACpDnB,SAAS,EAAC;MACVD,QAAQ;IAAC,CACX;IAEA,KAAA,MAAWL,OAAOR,MAAO,CAAAkC,MAAA,CAAOlD,IAAIC,OAAW,IAAA,CAAA,CAAE,CAAG,EAAA;MAClD,IAAI,CAACuB,GAAI,CAAAH,SAAA,EAAW;MACpB,IAAIG,GAAI,CAAAM,OAAA,EAAgBmB,MAAA,CAAAnB,OAAA,CAAQc,IAAK,CAAApB,GAAA,CAAIM,OAAO,CAAA;MAChD,IAAIN,GAAI,CAAAK,MAAA,EAAeoB,MAAA,CAAApB,MAAA,CAAOe,IAAK,CAAApB,GAAA,CAAIK,MAAM,CAAA;IAC/C;IAEA,MAAMsB,WAAWnC,MAAO,CAAAoC,IAAA,CAAKjD,IAAIkD,YAAgB,IAAA,CAAE,CAAA,CAAE,CAAAC,MAAA,CACnDtC,MAAO,CAAAoC,IAAA,CAAKjD,GAAI,CAAAoD,eAAA,IAAmB,CAAA,CAAE,CAAA,CACvC;IAEI,IAAAN,MAAA,CAAOpB,OAAOgB,MAAQ,EAAA;MAClB,MAAAW,IAAA,GAAOP,MAAO,CAAApB,MAAA,CAAOP,GAAI,CAACmC,wBAAkBA,EAAA,OAAM,CAAE,CAAA1B,IAAA,CAAK,IAAI,CAAA;MAE/D,IAAA;QACI,MAAA2B,aAAA,GAAgB,MAAMC,gBAAA,CAAAzE,OAAA,CAAQ0E,KAAM,CAAA;UACxCT,QAAA;UACAU,KAAO,EAAA;YACLC,QAAU,EAAAN,IAAA;YACVO,MAAQ,EAAA,IAAA;YACRC,UAAY,EAAAvE;UACd,CAAA;UACAwE,MAAQ,EAAA,KAAA;UACRC,MAAQ,EAAA,IAAA;UACRC,QAAU,EAAA,QAAA;UAEVC,OAAS,EAAA,WAAA;UACTC,QAAU,EAAA;QAAA,CACX,CAAA;QAEG,IAAAX,aAAA,CAAcY,QAAS,CAAAzB,MAAA,GAAS,CAAG,EAAA;UAC9B3C,MAAA,CAAAqE,IAAA,CAAK,GAAGb,aAAA,CAAcY,QAAQ,CAAA;QACvC;eACOE,GAAP,EAAA;QACM,MAAA;UAACC;QAAU,CAAA,GAAAD,GAAA;QAEjB,KAAA,MAAWE,QAAQD,MAAQ,EAAA;UACzB,IAAIC,KAAKC,QAAU,EAAA;YACjBzE,MAAA,CAAO4C,KAAM,CAAA4B,IAAA,CAAKE,MAAU,IAAAF,IAAA,CAAKG,IAAI,CAAA;YACrC3E,MAAA,CAAO4C,gBAAS4B,IAAA,CAAKC,SAASG,IAAU,gBAAAJ,IAAA,CAAKC,SAASI,QAAU,EAAA;YACzD7E,MAAA,CAAA4C,KAAA,CACL,IAAA,cACK4B,KAAKC,QAAS,CAAA7F,IAAA,cAAQ4F,KAAKC,QAAS,CAAAG,IAAA,cAAQJ,KAAKC,QAAS,CAAAK,MAAA,EACjE;UAAA,CACK,MAAA;YACL9E,MAAA,CAAO4C,KAAM,CAAA4B,IAAA,CAAKE,MAAU,IAAAF,IAAA,CAAKG,IAAI,CAAA;UACvC;UAEA3E,MAAA,CAAOE,GAAI,EAAA;QACb;QAEA2C,OAAA,CAAQC,KAAK,CAAC,CAAA;MAChB;IACF;IAEI,IAAAC,MAAA,CAAOnB,QAAQe,MAAQ,EAAA;MACnB,MAAAW,IAAA,GAAOP,MAAO,CAAAnB,OAAA,CAAQR,GAAI,CAACmC,yBAAmBA,EAAA,OAAM,CAAE,CAAA1B,IAAA,CAAK,IAAI,CAAA;MAE/D,MAAA2B,aAAA,GAAgB,MAAMC,gBAAA,CAAAzE,OAAA,CAAQ0E,KAAM,CAAA;QACxCT,QAAA;QACAU,KAAO,EAAA;UACLC,QAAU,EAAAN,IAAA;UACVO,MAAQ,EAAA,IAAA;UACRC,UAAY,EAAAvE;QACd,CAAA;QACAwE,MAAQ,EAAA,KAAA;QACRC,MAAQ,EAAA,IAAA;QAERE,OAAS,EAAA,WAAA;QACTC,QAAU,EAAA;MAAA,CACX,CAAA;MAEG,IAAAX,aAAA,CAAce,MAAO,CAAA5B,MAAA,GAAS,CAAG,EAAA;QAEnC3C,MAAA,CAAO4C,KAAM,CAAAY,aAAA,CAAce,MAAO,CAAA1C,IAAA,CAAK,IAAI,CAAC,CAAA;QAC5CgB,OAAA,CAAQC,KAAK,CAAC,CAAA;MAChB;MAEI,IAAAU,aAAA,CAAcY,QAAS,CAAAzB,MAAA,GAAS,CAAG,EAAA;QAC9B3C,MAAA,CAAAqE,IAAA,CAAK,GAAGb,aAAA,CAAcY,QAAQ,CAAA;MACvC;IACF;EACF;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkAction-abd2cc3d.js","sources":["../../src/cli/checkAction.ts"],"sourcesContent":["import {check} from '../node/check'\nimport {handleError} from './handleError'\n\nexport async function checkAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await check({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["checkAction","options","check","cwd","process","strict","tsconfig","err","handleError"],"mappings":";;;;;;;;;;;;;;;;;;AAGA,eAAsBA,YAAYC,OAA+D,EAAA;EAC3F,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,EAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAP,EAAA;IACAC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleError-4062ca45.js","sources":["../../src/cli/handleError.ts"],"sourcesContent":["/* eslint-disable no-console */\n\nimport chalk from 'chalk'\n\nexport function handleError(err: unknown): void {\n if (err instanceof Error) {\n console.error(chalk.red('error'), err.message)\n }\n\n process.exit(1)\n}\n"],"names":["handleError","err","Error","console","error","chalk","red","message","process","exit"],"mappings":";;;;;;;;;AAIO,SAASA,YAAYC,GAAoB,EAAA;EAC9C,IAAIA,eAAeC,KAAO,EAAA;IACxBC,OAAA,CAAQC,MAAMC,sBAAM,CAAAC,GAAA,CAAI,OAAO,CAAA,EAAGL,IAAIM,OAAO,CAAA;EAC/C;EAEAC,OAAA,CAAQC,KAAK,CAAC,CAAA;AAChB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-b617f475.js","sources":["../../src/node/printExtractMessages.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/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","/* eslint-disable no-console */\n\nimport ts from 'typescript'\n\nexport const formatHost: ts.FormatDiagnosticsHost = {\n getCurrentDirectory: () => ts.sys.getCurrentDirectory(),\n getNewLine: () => ts.sys.newLine,\n getCanonicalFileName: ts.sys.useCaseSensitiveFileNames ? (f) => f : (f) => f.toLowerCase(),\n}\n\n/** @internal */\nexport async function buildTypes(options: {\n cwd: string\n outDir: string\n tsconfig: ts.ParsedCommandLine\n strict: boolean\n}): Promise<void> {\n const {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 // TODO: improve logging\n allDiagnostics.forEach((diagnostic) => {\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 console.log(`${diagnostic.file.fileName} ${line + 1}:${character + 1}\\n${message}`)\n } else {\n console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n }\n })\n\n if (emitResult.emitSkipped) {\n const errors = allDiagnostics.filter((diag) => diag.category === ts.DiagnosticCategory.Error)\n\n if (errors.length) {\n console.error(ts.formatDiagnostics(errors, formatHost))\n\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 {promisify} from 'util'\nimport {ExtractorMessage} from '@microsoft/api-extractor'\nimport rimrafCallback 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\nconst rimraf = promisify(rimrafCallback)\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, 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, 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 ...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) => {\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 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 {\n BuildContext,\n DEFAULT_BROWSERSLIST_QUERY,\n MODULE_EXT,\n resolveConfigProperty,\n} 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, external, distPath, logger, pkg, ts} = ctx\n const outputExt = MODULE_EXT[pkg.type][format]\n const minify = config?.minify ?? true\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(\n cwd,\n path.resolve(outDir, entry.name + (outputExt === '.esm.js' ? '.js' : outputExt))\n )\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 esmExternals: false,\n extensions: ['.js'],\n // include: /\\/node_modules\\//,\n // requireReturnsDefault: 'namespace',\n }),\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: ['@babel/plugin-proposal-object-rest-spread'],\n presets: [['@babel/preset-env', {targets: pkg.browserslist || DEFAULT_BROWSERSLIST_QUERY}]],\n }),\n minify &&\n terser({\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: () => `_chunks/[name]-[hash]${outputExt}`,\n compact: minify,\n dir: outDir,\n entryFileNames: () => (outputExt === '.esm.js' ? `[name].js` : `[name]${outputExt}`),\n esModule: true,\n format,\n interop: 'compat',\n minifyInternalExports: minify,\n sourcemap: config?.sourcemap ?? true,\n },\n }\n}\n","/* eslint-disable no-console */\n\nimport 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 {resolveRollupConfig} from './resolveRollupConfig'\n\n/** @internal */\nexport const rollupTask: TaskHandler<RollupTask> = {\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 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 if (err instanceof Error) {\n console.log(err)\n }\n },\n}\n\nasync function execPromise(ctx: BuildContext, task: RollupTask) {\n const {files, distPath} = ctx\n const outDir = path.relative(ctx.cwd, distPath)\n\n const _console = {\n log: console.log,\n warn: console.warn,\n error: console.error,\n }\n\n const {inputOptions, outputOptions} = resolveRollupConfig(ctx, task)\n\n console.log = () => undefined\n console.warn = () => undefined\n console.error = () => undefined\n\n // Create bundle\n const bundle = await rollup({\n ...inputOptions,\n onwarn(warning) {\n if (!warning.code || !['CIRCULAR_DEPENDENCY'].includes(warning.code)) {\n // rollupWarn(warning)\n _console.warn.bind(console)(chalk.yellow('warn '), 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 console.log = _console.log\n console.warn = _console.warn\n console.error = _console.error\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","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.log('')\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 {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}\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","formatHost","getCurrentDirectory","ts","sys","getNewLine","newLine","getCanonicalFileName","useCaseSensitiveFileNames","f","toLowerCase","buildTypes","options","outDir","tsconfig","strict","compilerOptions","declaration","declarationDir","emitDeclarationOnly","noEmit","program","createProgram","fileNames","emitResult","emit","allDiagnostics","getPreEmitDiagnostics","concat","diagnostics","forEach","diagnostic","file","start","line","character","getLineAndCharacterOfPosition","message","flattenDiagnosticMessageText","messageText","console","fileName","emitSkipped","diag","category","DiagnosticCategory","Error","error","formatDiagnostics","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","code","LOG_LEVELS","info","off","warn","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","rimraf","promisify","rimrafCallback","doExtract","task","_a","_b","config","configPath","results","rootDir","entry","entries","sourcePath","replace","targetPath","result","extract","some","dtsTask","_ctx","blue","importId","exec","Observable","observer","then","next","complete","catch","err","_task","dtsWatchTask","resolveRollupConfig","buildTask","_c","runtime","target","exports","_exports","external","pkg","outputExt","MODULE_EXT","minify","pathAliases","Object","fromEntries","paths","val","baseUrl","output","exportIds","keys","sourcePaths","values","e","source","replacements","define","JSON","stringify","defaultPlugins","preventAssignment","arg","find","env","PKG_VERSION","version","alias","nodeResolve","browser","extensions","preferBuiltins","commonjs","esmExternals","json","esbuild","jsx","jsxFactory","jsxFragment","jsxImportSource","getBabelOutputPlugin","babelrc","plugins","presets","targets","browserslist","DEFAULT_BROWSERSLIST_QUERY","terser","comments","_node","comment","value","test","Boolean","userPlugins","rollup","Array","isArray","resolveConfigProperty","inputOptions","context","id","importer","startsWith","idPath","idParts","split","input","reduce","acc","treeshake","propertyReadSideEffects","outputOptions","chunkFileNames","compact","dir","entryFileNames","esModule","interop","minifyInternalExports","sourcemap","rollupTask","execPromise","_console","bundle","onwarn","warning","bind","generate","chunkOrAsset","write","close","rollupWatchTask","watchOptions","watcher","rollupWatch","on","event","success","buildTaskHandlers","watchTaskHandlers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKgB,SAAAA,oBAAA,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,WACKK,cAAAA,CAAAA,OAAA,CAAMC,IAAK,CAAAL,cAAA,IAAkB,GAAG,CAAA,cAC/BI,cAAAA,CAAAA,QAAME,MAAO,CAAAV,GAAA,CAAIW,cAAc,CAAK,cAAAH,cAAA,CAAAI,OAAA,CAAMF,MAAO,CAAAV,GAAA,CAAIa,gBAAgB,CAAA,gBACnEL,cAAAA,CAAAA,QAAME,MAAO,CAAA,SAAS,eAAKF,cAAAA,CAAAA,OAAM,CAAAM,IAAA,CAAKd,IAAIO,SAAS,CAAA,SACzDP,GAAI,CAAAe,IAAA,EACJ,IAAA,CACF,CAAEC,KAAK,EAAE,CAAA,CACX;EACF;EAEA,MAAMC,SAA6BtB,QAAS,CAAAI,MAAA,CAAQC,GAAQ,IAAAA,GAAA,CAAIC,aAAa,OAAO,CAAA;EAEpF,IAAI,CAACH,QAAA,CAASI,MAAU,IAAAe,MAAA,CAAOf,MAAQ,EAAA;IACrCL,MAAA,CAAOM,IAAI,EAAE,CAAA;EACf;EAEA,KAAA,MAAWH,OAAOiB,MAAQ,EAAA;IACxB,MAAMb,iBAAiBJ,GAAI,CAAAI,cAAA,IAAkBC,aAAAA,CAAAA,QAAKC,QAAS,CAAAV,GAAA,EAAKI,IAAII,cAAc,CAAA;IAE3EP,MAAA,CAAAM,GAAA,CACL,WACKK,cAAAA,CAAAA,OAAA,CAAMC,IAAK,CAAAL,cAAA,IAAkB,GAAG,CAAA,cAC/BI,cAAAA,CAAAA,QAAME,MAAO,CAAAV,GAAA,CAAIW,cAAc,CAAK,cAAAH,cAAA,CAAAI,OAAA,CAAMF,MAAO,CAAAV,GAAA,CAAIa,gBAAgB,CAAA,gBACnEL,cAAAA,CAAAA,QAAMU,GAAI,CAAA,OAAO,eAAKV,cAAAA,CAAAA,OAAM,CAAAM,IAAA,CAAKd,IAAIO,SAAS,CAAA,SACpDP,GAAI,CAAAe,IAAA,EACJ,IAAA,CACF,CAAEC,KAAK,EAAE,CAAA,CACX;EACF;EAEA,IAAIC,OAAOf,MAAQ,EAAA;IACjBiB,OAAA,CAAQC,KAAK,CAAC,CAAA;EAChB;AACF;ACtDO,MAAMC,UAAuC,GAAA;EAClDC,mBAAqB,EAAA,MAAMC,WAAAA,CAAAA,OAAG,CAAAC,GAAA,CAAIF,mBAAoB,EAAA;EACtDG,UAAA,EAAY,MAAMF,mBAAA,CAAGC,GAAI,CAAAE,OAAA;EACzBC,oBAAA,EAAsBJ,WAAAA,CAAAA,OAAG,CAAAC,GAAA,CAAII,yBAA4B,GAACC,KAAMA,CAAI,GAACA,CAAM,IAAAA,CAAA,CAAEC,WAAY;AAC3F,CAAA;AAGA,eAAsBC,WAAWC,OAKf,EAAA;EAChB,MAAM;IAACC,MAAA;IAAQC,QAAU;IAAAC,MAAA,GAAS;GAAS,GAAAH,OAAA;EAE3C,MAAMI,eAAsC,mCACvCF,QAAS,CAAAF,OAAA;IACZK,WAAa,EAAA,IAAA;IACbC,cAAgB,EAAAL,MAAA;IAChBM,mBAAqB,EAAA,IAAA;IACrBC,MAAQ,EAAA,KAAA;IACRP;EAAA,EACF;EAEA,MAAMQ,OAAU,GAAAlB,WAAAA,CAAAA,OAAA,CAAGmB,aAAc,CAAAR,QAAA,CAASS,WAAWP,eAAe,CAAA;EAE9D,MAAAQ,UAAA,GAAaH,QAAQI,IAAK,EAAA;EAEhC,MAAMC,iBAAiBvB,WAAG,CAAAX,OAAA,CAAAmC,qBAAA,CAAsBN,OAAO,CAAE,CAAAO,MAAA,CAAOJ,WAAWK,WAAW,CAAA;EAGvEH,cAAA,CAAAI,OAAA,CAASC,UAAe,IAAA;IACjC,IAAAA,UAAA,CAAWC,IAAQ,IAAAD,UAAA,CAAWE,KAAO,EAAA;MACjC,MAAA;QAACC;QAAMC;MAAS,CAAA,GAAIhC,oBAAGiC,6BAA8B,CAAAL,UAAA,CAAWC,IAAM,EAAAD,UAAA,CAAWE,KAAK,CAAA;MAC5F,MAAMI,OAAU,GAAAlC,WAAAA,CAAAA,OAAA,CAAGmC,4BAA6B,CAAAP,UAAA,CAAWQ,aAAa,IAAI,CAAA;MAE5EC,OAAA,CAAQzD,cAAOgD,UAAA,CAAWC,KAAKS,QAAY,cAAAP,IAAA,GAAO,eAAKC,SAAY,GAAA,CAAA,eAAME,OAAS,EAAA;IAAA,CAC7E,MAAA;MACLG,OAAA,CAAQzD,IAAIoB,mBAAG,CAAAmC,4BAAA,CAA6BP,UAAW,CAAAQ,WAAA,EAAa,IAAI,CAAC,CAAA;IAC3E;EAAA,CACD,CAAA;EAED,IAAIf,WAAWkB,WAAa,EAAA;IACpB,MAAA7C,MAAA,GAAS6B,eAAe/C,MAAO,CAACgE,QAASA,IAAK,CAAAC,QAAA,KAAazC,WAAG,CAAAX,OAAA,CAAAqD,kBAAA,CAAmBC,KAAK,CAAA;IAE5F,IAAIjD,OAAOf,MAAQ,EAAA;MACjB0D,OAAA,CAAQO,KAAM,CAAA5C,WAAA,CAAAX,OAAA,CAAGwD,iBAAkB,CAAAnD,MAAA,EAAQI,UAAU,CAAC,CAAA;MAEtD,IAAIc,MAAQ,EAAA;QACJ,MAAA,IAAI+B,MAAM,0CAA0C,CAAA;MAC5D;IACF;EACF;AACF;ACtDO,MAAMG,iBAAiBH,KAAM,CAAA;EAGlCI,WAAA,CAAYb,SAAiB9D,QAA8B,EAAA;IACzD,KAAA,CAAM8D,OAAO,CAAA;IACb,IAAA,CAAK9D,QAAW,GAAAA,QAAA;EAClB;AACF;ACPO,SAAS4E,yBAAyBvC,OAQzB,EAAA;EACR,MAAA;IACJwC,QAAA;IACAC,UAAA;IACAC,QAAA;IACA/E,QAAA;IACAgF,aAAA;IACAC,sBAAA;IACAC;EACE,CAAA,GAAA7C,OAAA;EAEG,OAAA;IACL8C,SAAW,EAAA;MACTC,OAAS,EAAA,KAAA;MACTC,cAAgB,EAAA;IAClB,CAAA;IAEAC,QAAU,EAAA;MACRC,gBAAkB,EAAAL;IACpB,CAAA;IACAM,QAAU,EAAA;MACRJ,OAAS,EAAA,KAAA;MACTK,eAAiB,EAAA/E,aAAA,CAAAO,OAAA,CAAKyE,OAAQ,CAAAb,QAAA,YAAaC,UAAqB;IAClE,CAAA;IACAa,SAAW,EAAA;MACTP,OAAS,EAAA,IAAA;MACTQ,iBAAmB,EAAAlF,aAAA,CAAAO,OAAA,CAAKyE,OAAQ,CAAAb,QAAA,EAAUE,QAAQ;IAGpD,CAAA;IACAc,aAAe,EAAA;MACbT,OAAS,EAAA;IACX,CAAA;IACApF,QAAA;IACAiF,sBAAA;IACAD;EAAA,CACF;AACF;ACpCA,eAAsBc,kBAAkBC,IAEC,EAAA;EACjC,MAAA;IAACC;EAAc,CAAA,GAAAD,IAAA;EAEjB,IAAAC,UAAA,CAAWzF,WAAW,CAAG,EAAA;IACpB,OAAA,KAAA,CAAA;EACT;EAEA,MAAM0F,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,EAAAlD,MAAA,CAC5D2C,UAAA,CAAWQ,GAAI,CAACC,CAAO,KAAA;IACrBC,OAAA,aAAaD,CAAE,CAAAE,IAAA,CAAA;IACfC,YAAYH,CAAE,CAAAG,UAAA;IACdC,eAAeJ,CAAE,CAAAI;EAAA,CACjB,CAAA,CAAA,CACJ;EAIA,MAAMC,cAAiB,qBAAIV,eAAA,CAAgBU,cAAc,CAAA;EAEzD,KAAA,MAAWC,aAAaf,UAAY,EAAA;IACnBc,cAAA,YAAIC,UAAUJ,IAAU,EAAA,GAAA,IAAA;EACzC;EAEA,OAAOK,WAAAA,CAAAA,gBAAgBC,cAAe,iCACjCb,eAAA;IACHc,cAAgB,EAAA,KAAA;IAChBX,cAAA;IACAO;EAAA,GACD;AACH;AC1CA,eAAsBK,4BAA6B,OAM7B;EAAA,IAN6B;IACjDC,QAAA;IACAC;EACF,CAGsB;EACd,MAAAvE,OAAA,GAAUuE,cAAcC,aAAc,CAAAxE,OAAA;EAC5C,MAAMyE,eAAyB,EAAC;EAGhC,MAAMC,eAAkB,GAAA,CAAC,GAAG1E,OAAA,CAAQ2E,gBAAgB,CAAA;EAG9C,MAAAC,WAAA,GAAcF,gBAAgBpH,MAAO,CAACuH,cAAeA,UAAW,CAAAzD,QAAA,CAAS0D,QAAS,CAAAR,QAAQ,CAAC,CAAA;EAEjG,KAAA,MAAWO,cAAcD,WAAa,EAAA;IACpC,IAAIC,UAAW,CAAAvG,IAAA,CAAKwG,QAAS,CAAA,gBAAgB,CAAG,EAAA;MAC9CL,YAAA,CAAaM,IAAK,CAAA,GAAGC,mBAAoB,CAAAH,UAAA,CAAWvG,IAAI,CAAC,CAAA;IAC3D;EACF;EAEO,OAAAmG,YAAA;AACT;AAGO,SAASO,oBAAoBC,WAA+B,EAAA;EAC3D,MAAAC,GAAA,GAAM3B,aAAM0B,WAAa,EAAA;IAC7BE,MAAQ,EAAAC,yBAAA,CAAAjH;EAAA,CACT,CAAA;EAED,OAAO+G,IAAIlF,OAAQ,CAAAqF,IAAA,CAChB/H,MAAO,CAACgI,QAASA,IAAK,CAAAC,IAAA,KAAS,qBAAqB,CAAA,CACpD7B,IAAK4B,IAAA,IAASE,MAAM,CAAAA,KAAA,CAAAF,IAAI,EAAEG,IAAI,CAAA;AACnC;ACzCA,MAAMC,UAAsD,GAAA;EAC1DhE,KAAO,EAAA,OAAA;EACPiE,IAAM,EAAA,MAAA;EACNC,GAAK,EAAA,MAAA;EACLC,IAAM,EAAA;AACR,CAAA;AAGO,SAASC,yBAAyBvG,OAEZ,EAAA;EACrB,MAAA;IAACwG;EAAS,CAAA,GAAAxG,OAAA;EAEP,SAAAyG,cAAA,CACPC,KACAC,YACA,EAAA;IACA,MAAMC,IAAIJ,KAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,KAAA,CAAAE,GAAA,CAAA;IAEV,OAAAE,CAAA,GAAIT,UAAW,CAAAS,CAAA,CAAA,GAAKD,YAAgB,IAAA,SAAA;EAC9C;EAEO,OAAA;IACLE,wBAA0B,EAAA;MACxBjI,OAAS,EAAA;QACPX,QAAU,EAAA;MACZ;IACF,CAAA;IAEA6I,yBAA2B,EAAA;MACzBlI,OAAS,EAAA;QACPX,QAAU,EAAA,SAAA;QACV8I,kBAAoB,EAAA;MACtB,CAAA;MAEA,qBAAuB,EAAA;QACrB9I,QAAA,EAAUwI,cAAe,CAAA,qBAAA,EAAuB,OAA4B,CAAA;QAC5EM,kBAAoB,EAAA;MACtB,CAAA;MAEA,8BAAgC,EAAA;QAC9B9I,QAAA,EAAUwI,cAAe,CAAA,8BAAA,EAAgC,OAA4B,CAAA;QACrFM,kBAAoB,EAAA;MACtB,CAAA;MAEA,gCAAkC,EAAA;QAChC9I,QAAA,EAAUwI,eAAe,gCAAgC,CAAA;QACzDM,kBAAoB,EAAA;MACtB,CAAA;MAEA,wBAA0B,EAAA;QACxB9I,QAAA,EAAUwI,cAAe,CAAA,wBAAA,EAA0B,OAA4B,CAAA;QAC/EM,kBAAoB,EAAA;MACtB,CAAA;MAEA,0BAA4B,EAAA;QAC1B9I,QAAU,EAAA,MAAA;QACV8I,kBAAoB,EAAA;MACtB;IACF,CAAA;IAEAC,qBAAuB,EAAA;MACrBpI,OAAS,EAAA;QACPX,QAAU,EAAA,SAAA;QACV8I,kBAAoB,EAAA;MACtB,CAAA;MAEA,+BAAiC,EAAA;QAC/B9I,QAAA,EAAUwI,cAAe,CAAA,+BAAA,EAAiC,SAA8B,CAAA;QACxFM,kBAAoB,EAAA;MACtB,CAAA;MAEA,qBAAuB,EAAA;QACrB9I,QAAA,EAAUwI,cAAe,CAAA,qBAAA,EAAuB,OAA4B,CAAA;QAC5EM,kBAAoB,EAAA;MACtB,CAAA;MAEA,uBAAyB,EAAA;QACvB9I,QAAA,EAAUwI,cAAe,CAAA,uBAAA,EAAyB,MAA2B,CAAA;QAC7EM,kBAAoB,EAAA;MACtB;IACF;EAAA,CACF;AACF;ACtEA,eAAsBE,aAAajH,OAY2C,EAAA;EACtE,MAAA;IACJ2D,UAAA;IACAnB,QAAA;IACAC,UAAA;IACAyE,KAAA;IACAxE,QAAA;IACAyE,WAAA;IACAX,KAAA;IACAY,eAAA;IACAC,OAAA;IACAxE;EACE,CAAA,GAAA7C,OAAA;EAEE,MAAAsH,eAAA,GAAkB,MAAM7D,iBAAkB,CAAA;IAC9CE,UAAA,EAAYA,cAAc;EAAC,CAC5B,CAAA;EAEK,MAAA4D,eAAA,GAAmCC,6BAAgBC,OAAQ,CAAA;IAC/DC,cAAcnF,wBAAyB,CAAA;MACrCC,QAAA;MACAC,UAAA;MACAC,QAAA;MACA/E,QAAU,EAAA4I,wBAAA,CAAyB;QAACC;OAAM,CAAA;MAC1C7D,aAAe,EAAAwE,WAAA;MACfvE,sBAAwB,EAAAwE,eAAA;MACxBvE;IAAA,CACD,CAAA;IACD8E,oBAAsB,EAAA,KAAA,CAAA;IACtBL,eAAA;IACAM,mBAAqB,EAAAvJ,aAAA,CAAAO,OAAA,CAAKyE,OAAQ,CAAA8D,WAAA,EAAa,cAAc;EAAA,CAC9D,CAAA;EAED,MAAMxJ,WAA+B,EAAC;EAGhC,MAAAkK,eAAA,GAAkBC,YAAAA,CAAAA,SAAU,CAAAC,MAAA,CAAOR,eAAiB,EAAA;IAExDS,UAAY,EAAA,IAAA;IAEZC,mBAAqB,EAAA,IAAA;IAErBC,gBAAgBzG,OAA2B,EAAA;MACzC9D,QAAA,CAAS6H,KAAK/D,OAAO,CAAA;MACrBA,OAAA,CAAQ0G,OAAU,GAAA,IAAA;IACpB;EAAA,CACD,CAAA;EAED,MAAMC,SAAY,GAAA/J,aAAA,CAAAO,OAAA,CAAKyE,OAAQ,CAAAb,QAAA,EAAUE,QAAQ,CAAA;EACjD,MAAM2F,QAAW,GAAA,MAAMC,WAAAA,CAAAA,OAAG,CAAAzE,QAAA,CAASuE,SAAS,CAAA;EAC5C,MAAMG,cAAiB,GAAA,MAAMC,iBAAAA,CAAAA,OAAS,CAAAC,aAAA,CAAcL,SAAS,CAAA;EAE7D,MAAMM,eAAO,CAAA9J,OAAA,CAAAP,aAAA,CAAAO,OAAA,CAAK+J,OAAQ,CAAAP,SAAS,CAAC,CAAA;EAE9B,MAAAlD,YAAA,GAAe,MAAMJ,4BAA6B,CAAA;IACtDE,aAAe,EAAA6C,eAAA;IACf9C,QAAU,EAAAsC;EAAA,CACX,CAAA;EAEK,MAAAnB,IAAA,GAAO,CAACmC,QAAS,CAAApE,QAAA,IAAY,GAAGiB,YAAY,CAAE,CAAAlG,IAAA,CAAK,MAAM,CAAA;EAE/D,MAAMsJ,WAAG,CAAA1J,OAAA,CAAAgK,SAAA,CACPR,SAAA,EACAI,iBAAA,CAAA5J,OAAA,CAASiK,OAAO3C,IAAM,kCACjBqC,cAAA;IACHO,QAAU,EAAAV;EAAA,GACX,CACH;EAGAlB,KAAA,CAAM1B,IAAK,CAAA;IACTQ,IAAM,EAAA,OAAA;IACN3H,IAAM,EAAA+J;EAAA,CACP,CAAA;EAEM,OAAA;IAACP;IAAiBlK;GAAQ;AACnC;AC9FA,MAAMoL,MAAA,GAASC,IAAAA,CAAAA,UAAUC,uBAAAA,CAAAA,OAAc,CAAA;AAOjB,eAAAC,SAAA,CACpBxL,KACAyL,IACoB,EAAA;EApBtB,IAAAC,EAAA,EAAAC,EAAA;EAqBE,MAAM;IAACC,MAAQ;IAAA1L,GAAA;IAAKsJ,KAAO;IAAA/G,MAAA;IAAQZ;EAAM,CAAA,GAAA7B,GAAA;EAEzC,IAAI,CAAC6B,EAAA,CAAG+J,MAAU,IAAA,CAAC/J,GAAGgK,UAAY,EAAA;IACzB,OAAA;MAACvD,MAAM,KAAO;MAAArI,QAAA,EAAU,EAAI;MAAA6L,OAAA,EAAS;KAAE;EAChD;EAEA,MAAM;IAACvJ,MAAQ;IAAAwJ,OAAA,GAAU7L;EAAG,CAAA,GAAI2B,GAAG+J,MAAO,CAAAtJ,OAAA;EAE1C,IAAI,CAACC,MAAQ,EAAA;IACL,MAAA,IAAIiC,MAAM,mDAAmD,CAAA;EACrE;EAEA,MAAMmF,OAAU,GAAAhJ,aAAA,CAAAO,OAAA,CAAKyE,OAAQ,CAAApD,MAAA,EAAQ,SAAS,CAAA;EAExC,MAAAF,UAAA,CAAW;IAACnC,GAAK;IAAAqC,MAAA,EAAQoH;IAASlH,MAAQ;IAAAD,QAAA,EAAUX,EAAG,CAAA+J;EAAA,CAAO,CAAA;EACpE,MAAM3L,WAA+B,EAAC;EAEtC,MAAM6L,UAAoD,EAAC;EAEhD,KAAA,MAAAE,KAAA,IAASP,KAAKQ,OAAS,EAAA;IAChC,MAAMlH,UAAa,GAAAiH,KAAA,CAAMjH,UAAe,KAAA,GAAA,GAAM,YAAYiH,KAAM,CAAAjH,UAAA;IAEhE,MAAM2E,kBAAkB/I,aAAAA,CAAAA,OAAK,CAAAgF,OAAA,CAC3BgE,OAAA,EACAhJ,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAASmL,OAAS,EAAApL,aAAAA,CAAAA,OAAA,CAAKgF,OAAQ,CAAAzF,GAAA,EAAK8L,KAAM,CAAAE,UAAU,CAAC,CAAA,CAAEC,OAAQ,CAAA,OAAA,EAAS,OAAO,CAAA,CACtF;IAEA,MAAMC,UAAa,GAAAzL,aAAAA,CAAAA,OAAA,CAAKgF,OAAQ,CAAAzF,GAAA,EAAK8L,MAAMI,UAAU,CAAA;IACrD,MAAMpH,QAAW,GAAArE,aAAA,CAAAO,OAAA,CAAKN,QAAS,CAAA2B,MAAA,EAAQ6J,UAAU,CAAA;IAC3C,MAAAC,MAAA,GAAS,MAAM9C,YAAa,CAAA;MAChCtD,UAAA,EAAA,CAAYyF,EAAQ,GAAAE,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAAU,OAAA,KAAR,IAAiB,GAAA,KAAA,CAAA,GAAAZ,EAAA,CAAAzF,UAAA;MAC7B/F,GAAA;MACA4E,QAAU,EAAAvC,MAAA;MACVwC,UAAA;MACAyE,KAAA;MACAxE,QAAA;MACAyE,WAAa,EAAAvJ,GAAA;MACb4I,KAAA,EAAA,CAAO6C,EAAQ,GAAAC,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAAU,OAAA,KAAR,IAAiB,GAAA,KAAA,CAAA,GAAAX,EAAA,CAAA7C,KAAA;MACxBY,eAAA;MACAC,OAAA;MACAxE,cAAcxE,aAAK,CAAAO,OAAA,CAAAyE,OAAA,CAAQzF,GAAK,EAAA2B,EAAA,CAAGgK,cAAc,eAAe;IAAA,CACjE,CAAA;IAEQ5L,QAAA,CAAA6H,IAAA,CAAK,GAAGuE,MAAA,CAAOpM,QAAQ,CAAA;IAE5B,IAAAoM,MAAA,CAAOpM,SAASsM,IAAK,CAACjM,OAAQA,GAAI,CAAAC,QAAA,KAAa,OAAO,CAAG,EAAA;MAC3D,MAAM8K,OAAO1B,OAAO,CAAA;MAEpB,MAAM,IAAIhF,QAAA,CAAS,0CAA4C,EAAA0H,MAAA,CAAOpM,QAAQ,CAAA;IAChF;IAEQ6L,OAAA,CAAAhE,IAAA,CAAK;MAACoE,UAAA,EAAYvL,aAAK,CAAAO,OAAA,CAAAyE,OAAA,CAAQzF,GAAK,EAAA8L,KAAA,CAAME,UAAU,CAAA;MAAGlH,QAAU,EAAAoH;IAAW,CAAA,CAAA;EACtF;EAEA,MAAMf,OAAO1B,OAAO,CAAA;EAEpB,OAAO;IAACrB,IAAA,EAAM,KAAO;IAAArI,QAAA;IAAU6L;EAAO,CAAA;AACxC;ACrEO,MAAMU,OAA2C,GAAA;EACtD5F,IAAA,EAAM,CAAC6F,IAAA,EAAMhB,IACX,KAAA,2BAEE,GAAGA,KAAKQ,OAAQ,CAAAxF,GAAA,CACbuF,KACC,qBAAUlL,cAAAA,CAAAA,OAAM,CAAA4L,IAAA,CAAKV,MAAMW,QAAQ,CAAA,eAAMX,KAAM,CAAAE,UAAA,iBAAiBF,KAAM,CAAAI,UAAA,CAAA,CAC1E,CACF,CAAE9K,KAAK,IAAI,CAAA;EACbsL,IAAA,EAAM,CAAC5M,GAAA,EAAKyL,IAAS,KAAA;IACZ,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCtB,SAAA,CAAUxL,GAAK,EAAAyL,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,CAASrI,MAAM0I,GAAG,CAAA;MAAA,CACnB,CAAA;IAAA,CACJ,CAAA;EACH,CAAA;EACAF,QAAU,EAAA,CAACjN,GAAK,EAAAoN,KAAA,EAAOf,MAAW,KAAA;IACXtM,oBAAA,CAAAC,GAAA,EAAKqM,OAAOpM,QAAQ,CAAA;EAC3C,CAAA;EACAwE,KAAO,EAAA,CAACzE,GAAK,EAAAoN,KAAA,EAAOD,GAAQ,KAAA;IACpB,MAAA;MAAChN;IAAU,CAAA,GAAAH,GAAA;IAEjB,IAAImN,eAAexI,QAAU,EAAA;MACN5E,oBAAA,CAAAC,GAAA,EAAKmN,IAAIlN,QAAQ,CAAA;IAAA,CACxC,MAAA,IAAWkN,eAAe3I,KAAO,EAAA;MAC/BrE,MAAA,CAAOsE,MAAM0I,GAAG,CAAA;IAClB;EACF;AACF,CAAA;ACjCO,MAAME,YAAqD,GAAA;EAChEzG,IAAA,EAAM,CAAC6F,IAAA,EAAMhB,IACX,KAAA,2BAEE,GAAGA,KAAKQ,OAAQ,CAAAxF,GAAA,CACbuF,KACC,qBAAUlL,cAAAA,CAAAA,OAAM,CAAA4L,IAAA,CAAKV,MAAMW,QAAQ,CAAA,eAAMX,KAAM,CAAAE,UAAA,iBAAiBF,KAAM,CAAAI,UAAA,CAAA,CAC1E,CACF,CAAE9K,KAAK,IAAI,CAAA;EACbsL,IAAA,EAAM,CAAC5M,GAAA,EAAKyL,IAAS,KAAA;IACZ,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCtB,SAAA,CAAUxL,GAAK,EAAAyL,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,CAAArI,KAAA,CAAM0I,GAAG,CAAC,CAAA;IAAA,CACtC,CAAA;EACH,CAAA;EACAF,QAAU,EAAA,CAACjN,GAAK,EAAAoN,KAAA,EAAOf,MAAW,KAAA;IAC1B,MAAA;MAAClM;IAAU,CAAA,GAAAH,GAAA;IAEID,oBAAA,CAAAC,GAAA,EAAKqM,OAAOpM,QAAQ,CAAA;IAEzCE,MAAA,CAAOyI,KAAK,4DAA4D,CAAA;IACxEzI,MAAA,CAAOM,GAAI,EAAA;EACb,CAAA;EACAgE,KAAO,EAAA,CAACzE,GAAK,EAAAoN,KAAA,EAAOD,GAAQ,KAAA;IACpB,MAAA;MAAChN;IAAU,CAAA,GAAAH,GAAA;IAEjB,IAAImN,eAAexI,QAAU,EAAA;MACN5E,oBAAA,CAAAC,GAAA,EAAKmN,IAAIlN,QAAQ,CAAA;IAAA,CACxC,MAAA,IAAWkN,eAAe3I,KAAO,EAAA;MAC/BrE,MAAA,CAAOsE,MAAM0I,GAAG,CAAA;IAClB;EACF;AACF,CAAA;ACrBgB,SAAAG,mBAAA,CACdtN,KACAuN,SACc,EAAA;EAAA;EA3BhB,IAAA7B,EAAA,EAAAC,EAAA,EAAA6B,EAAA;EA4BE,MAAM;IAACrC,MAAA;IAAQsC,OAAS;IAAAC;EAAA,CAAU,GAAAH,SAAA;EAC5B,MAAA;IAAC3B,MAAQ;IAAA1L,GAAA;IAAKyN,OAAS,EAAAC,QAAA;IAAUC;IAAU/I,QAAU;IAAA3E,MAAA;IAAQ2N,GAAK;IAAAjM;EAAA,CAAM,GAAA7B,GAAA;EACxE,MAAA+N,SAAA,GAAYC,mBAAAA,CAAAA,UAAW,CAAAF,GAAA,CAAIxF,IAAM,CAAA,CAAA6C,MAAA,CAAA;EACjC,MAAA8C,MAAA,YAASrC,iCAAQqC,MAAU,yCAAA,IAAA;EACjC,MAAM1L,MAAS,GAAA5B,aAAA,CAAAO,OAAA,CAAKN,QAAS,CAAAV,GAAA,EAAK4E,QAAQ,CAAA;EAE1C,MAAMoJ,cAAcC,MAAO,CAAAC,WAAA,CACzBD,MAAO,CAAAlC,OAAA,CAAA,CAAA,CAAQP,EAAG,GAAA7J,EAAA,CAAA+J,MAAA,KAAH,mBAAWtJ,OAAQ,CAAA+L,KAAA,KAAS,EAAE,EAAE5H,GAAI,CAAA,SAAgB;IAAA,IAAf,CAACuC,GAAA,EAAKsF,GAAG,CAAM;IAnCvE5C,IAAAA,GAAAA;IAoCM,OAAO,CAAC1C,GAAA,EAAKrI,aAAAA,CAAAA,OAAK,CAAAgF,OAAA,CAAQzF,OAAKwL,GAAA,GAAA7J,EAAA,CAAG+J,MAAH,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAF,IAAWpJ,OAAQ,CAAAiM,OAAA,KAAW,GAAK,EAAAD,GAAA,CAAI,EAAE,CAAC,CAAA;EAAA,CAC1E,CAAA,CACH;EAEA,MAAMrC,OAAU,GAAAsB,SAAA,CAAUtB,OAAQ,CAAAxF,GAAA,CAAKuF,KAAU,IAAA;IACxC,uCACFA,KAAA;MACHpF,IAAA,EAAMjG,aAAAA,CAAAA,QAAKC,QAAS,CAAA2B,MAAA,EAAQyJ,MAAMwC,MAAM,CAAA,CAAErC,OAAQ,CAAA,WAAA,EAAa,EAAE;IAAA;EAErE,CAAA,EAAG,CAAE,CAAA,CAAA;EAEL,MAAMsC,SACJ,GAAAb,QAAA,IAAYO,MAAO,CAAAO,IAAA,CAAKd,QAAQ,CAAE,CAAAnH,GAAA,CAAK1B,UAAA,IAAepE,aAAAA,CAAAA,OAAK,CAAAW,IAAA,CAAKwM,GAAI,CAAAlH,IAAA,EAAM7B,UAAU,CAAC,CAAA;EAEvF,MAAM4J,WAAc,GAAAf,QAAA,IAAYO,MAAO,CAAAS,MAAA,CAAOhB,QAAQ,CAAE,CAAAnH,GAAA,CAAKoI,CAAA,IAAMlO,aAAAA,CAAAA,OAAK,CAAAgF,OAAA,CAAQzF,GAAK,EAAA2O,CAAA,CAAEC,MAAM,CAAC,CAAA;EAE9F,MAAMC,eAAeZ,MAAO,CAAAC,WAAA,CAC1BD,OAAOlC,OAAQ,CAAA,CAAAL,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQoD,WAAU,EAAE,EAAEvI,GAAI,CAAA;IAAA,IAAC,CAACuC,GAAK,EAAAsF,GAAG;WAAM,CAACtF,GAAA,EAAKiG,KAAKC,SAAU,CAAAZ,GAAG,CAAC,CAAC;EAAA,EAAA,CACrF;EAEA,MAAMa,cAAiB,GAAA,CACrBhD,wBAAQ,CAAA;IACNiD,iBAAmB,EAAA,IAAA;IACnBR,MAAQ,oBACFd,GAAI,CAAAlH,IAAA,KAAS,wCACTmI;MAEF,2BAAA,EAA8BM,GAAQ,IAAA;QACpC,MAAMnD,UAAa,GAAA,IAAA,GAAOvL,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAASV,KAAKmP,GAAG,CAAA;QAChD,MAAMrD,QAAQC,OAAQ,CAAAqD,IAAA,CAAMT,CAAM,IAAAA,CAAA,CAAEC,WAAW5C,UAAU,CAAA;QAEzD,IAAI,CAACF,KAAO,EAAA;UAEF9H,OAAA,CAAAO,KAAA,wCAAsCyH,UAAY,EAAA;UAEnD,OAAA,MAAA;QACT;QAEA,OAAO+C,IAAK,CAAAC,SAAA,CACVvO,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CACHV,GAAA,EACAS,qBAAA,CAAKgF,QAAQpD,MAAQ,EAAAyJ,KAAA,CAAMpF,QAAQmH,SAAc,KAAA,SAAA,GAAY,QAAQA,SAAU,CAAA,CAAA,CACjF,CACF;MACF,CAAA;MACA,wBAAA,EAA0BkB,IAAK,CAAAC,SAAA,CAAU/D,MAAM,CAAA;MAC/C,yBAAA,EAA2B8D,IAAK,CAAAC,SAAA,CAAUzB,OAAO,CAAA;MACjD,2BAA2BwB,IAAK,CAAAC,SAAA,CAAUzN,QAAQ8N,GAAI,CAAAC,WAAA,IAAe1B,IAAI2B,OAAO;IAAA,GAC7EV,YAAA,CACL;EACN,CACD,CAAA,EACDW,sBAAM,CAAA;IACJzD,OAAA,oBAAaiC,WAAW;EAAA,CACzB,CAAA,EACDyB,6BAAY,CAAA;IAEVC,SAASnC,OAAY,KAAA,SAAA;IAErBoC,YAAY,CAAC,MAAA,EAAQ,QAAQ,KAAO,EAAA,MAAA,EAAQ,SAAS,OAAO,CAAA;IAC5DC,cAAgB,EAAA;EAAA,CACjB,CAAA,EACDC,yBAAS,CAAA;IACPC,YAAc,EAAA,KAAA;IACdH,UAAA,EAAY,CAAC,KAAK;EAAA,CAGnB,CAAA,EACDI,qBAAK,EAAA,EACLC,wBAAQ,CAAA;IACNC,GAAA,WAAKvE,iCAAQuE,GAAO,yCAAA,WAAA;IACpBC,UAAA,WAAYxE,iCAAQwE,UAAc,yCAAA,eAAA;IAClCC,WAAA,WAAazE,iCAAQyE,WAAe,yCAAA,UAAA;IACpCC,eAAA,WAAiB1E,iCAAQ0E,eAAmB,yCAAA,OAAA;IAC5C5C,MAAA;IACAlL,QAAA,EAAUxC,GAAI,CAAA6B,EAAA,CAAGgK,UAAc,IAAA;EAAA,CAChC,CAAA,EACD0E,gCAAqB,CAAA;IACnBC,OAAS,EAAA,KAAA;IACTC,OAAA,EAAS,CAAC,2CAA2C,CAAA;IACrDC,OAAA,EAAS,CAAC,CAAC,mBAAqB,EAAA;MAACC,SAAS7C,GAAI,CAAA8C,YAAA,IAAgBC,mBAA0B,CAAAA;IAAA,CAAC,CAAC;EAAA,CAC3F,CAAA,EACD5C,UACE6C,eAAAA,CAAAA,OAAO,CAAA;IACLtC,MAAQ,EAAA;MACNuC,QAAA,EAAU,CAACC,KAAA,EAAOC,OAAY,KAAA;QAC5B,MAAM5P,OAAO4P,OAAQ,CAAAC,KAAA;QACrB,MAAM5I,OAAO2I,OAAQ,CAAA3I,IAAA;QAGrB,IAAIA,QAAQ,UAAY,EAAA;UAEf,OAAA,4BAAA,CAA6B6I,KAAK9P,IAAI,CAAA;QAC/C;QAEO,OAAA,KAAA;MACT;IACF;EAAA,CACD,CAAA,CACL,CAAEhB,OAAO+Q,OAAO,CAAA;EAEV,MAAAC,WAAA,GAAA,CAAc1F,EAAQ,GAAAC,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAA0F,MAAA,KAAR,IAAgB,GAAA,KAAA,CAAA,GAAA3F,EAAA,CAAA8E,OAAA;EAEpC,MAAMA,OAAU,GAAAc,KAAA,CAAMC,OAAQ,CAAAH,WAAW,IACrClC,cAAe,CAAA7L,MAAA,CAAO+N,WAAW,CAAA,GACjCI,mBAAsB,CAAAA,qBAAA,CAAA,CAAAjE,EAAA,GAAA5B,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,MAAA,CAAQ0F,MAAR,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA9D,EAAA,CAAgBiD,SAAStB,cAAc,CAAA;EAE1D,OAAA;IACLuC,YAAc,EAAA;MACZC,OAAS,EAAAzR,GAAA;MAET2N,QAAA,EAAU,CAAC+D,EAAA,EAAIC,QAAa,KAAA;QAEtB,IAAApD,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,SAAA,CAAW5G,SAAS+J,EAAK,CAAA,EAAA;UACpB,OAAA,IAAA;QACT;QAGI,IAAAC,QAAA,KAAaD,GAAGE,UAAW,CAAA,GAAG,KAAKF,EAAG,CAAAE,UAAA,CAAW,GAAG,CAAI,CAAA,EAAA;UAC1D,MAAMC,SAASpR,aAAK,CAAAO,OAAA,CAAAyE,OAAA,CAAQhF,aAAAA,CAAAA,QAAKsK,OAAQ,CAAA4G,QAAQ,GAAGD,EAAE,CAAA;UAElD,IAAAjD,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,WAAA,CAAa9G,SAASkK,MAAS,CAAA,EAAA;YAC1B5R,MAAA,CAAAyI,IAAA,yEACuDjI,aAAAA,CAAAA,OAAK,CAAAC,QAAA,CAC/DV,GAAA,EACA6R,MAAA,CACF,EACF;YAEO,OAAA,IAAA;UACT;QACF;QAEM,MAAAC,OAAA,GAAUJ,EAAG,CAAAK,KAAA,CAAM,GAAG,CAAA;QAEtB,MAAArL,IAAA,GAAOoL,OAAQ,CAAA,CAAA,CAAA,CAAGF,UAAW,CAAA,GAAG,CAAI,aAAGE,OAAQ,CAAA,CAAA,CAAA,cAAMA,OAAQ,CAAA,CAAA,CAAA,IAAOA,OAAQ,CAAA,CAAA,CAAA;QAElF,IAAIpL,IAAQ,IAAAiH,QAAA,CAAShG,QAAS,CAAAjB,IAAI,CAAG,EAAA;UAC5B,OAAA,IAAA;QACT;QAEO,OAAA,KAAA;MACT,CAAA;MAEAsL,KAAO,EAAAjG,OAAA,CAAQkG,MAAuC,CAAA,CAACC,KAAKpG,KAAU,KAAA;QACpE,uCAAWoG,GAAA;UAAK,CAACpG,KAAM,CAAApF,IAAA,GAAOoF,MAAM8C;QAAM;MAC5C,CAAA,EAAG,EAAE,CAAA;MAEL2B,OAAA;MAEA4B,SAAW,EAAA;QACTC,uBAAyB,EAAA;MAC3B;IACF,CAAA;IACAC,aAAe,EAAA;MACbC,cAAA,EAAgB,qCAA8BzE,SAAA,CAAA;MAC9C0E,OAAS,EAAAxE,MAAA;MACTyE,GAAK,EAAAnQ,MAAA;MACLoQ,cAAgB,EAAA,MAAO5E,SAAc,KAAA,SAAA,iCAAmCA,SAAA,CAAA;MACxE6E,QAAU,EAAA,IAAA;MACVzH,MAAA;MACA0H,OAAS,EAAA,QAAA;MACTC,qBAAuB,EAAA7E,MAAA;MACvB8E,SAAA,WAAWnH,iCAAQmH,SAAa,yCAAA;IAClC;EAAA,CACF;AACF;AC/LO,MAAMC,UAAsC,GAAA;EACjDpM,IAAA,EAAM,CAAC5G,GAAA,EAAKyL,IACV,8CAAkCA,KAAKiC,MAAO,CAAApM,IAAA,CAAK,KAAK,CAAA,sBACtDmK,IAAK,CAAAN,MAAA,uBACMM,IAAA,CAAKQ,QACfxF,GAAI,CAACoI,eAAS/N,sBAAA,CAAM4L,IAAK,CAAA/L,aAAAA,CAAAA,OAAA,CAAKW,IAAK,CAAAtB,GAAA,CAAI8N,IAAIlH,IAAM,EAAAiI,CAAA,CAAElO,IAAI,CAAC,CAAM,eAAAkO,CAAA,CAAEC,uBAAaD,CAAE,CAAAL,MAAA,CAAQ,CACvF,CAAAlN,IAAA,CAAK,WAAW,CAAA,CAAA;EACrBsL,IAAA,EAAM,CAAC5M,GAAA,EAAKyL,IAAS,KAAA;IACZ,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClCmG,WAAA,CAAYjT,GAAK,EAAAyL,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,CAAArI,KAAA,CAAM0I,GAAG,CAAC,CAAA;IAAA,CACtC,CAAA;EACH,CAAA;EACAF,UAAU,MAAM,CAEhB,CAAA;EACAxI,KAAO,EAAA,CAACgI,IAAM,EAAAW,KAAA,EAAOD,GAAQ,KAAA;IAC3B,IAAIA,eAAe3I,KAAO,EAAA;MACxBN,OAAA,CAAQzD,IAAI0M,GAAG,CAAA;IACjB;EACF;AACF,CAAA;AAEA,eAAe8F,WAAA,CAAYjT,KAAmByL,IAAkB,EAAA;EACxD,MAAA;IAACjC,KAAO;IAAA1E;EAAY,CAAA,GAAA9E,GAAA;EAC1B,MAAMuC,MAAS,GAAA5B,aAAAA,CAAAA,OAAA,CAAKC,QAAS,CAAAZ,GAAA,CAAIE,KAAK4E,QAAQ,CAAA;EAE9C,MAAMoO,QAAW,GAAA;IACfzS,KAAKyD,OAAQ,CAAAzD,GAAA;IACbmI,MAAM1E,OAAQ,CAAA0E,IAAA;IACdnE,OAAOP,OAAQ,CAAAO;EAAA,CACjB;EAEA,MAAM;IAACiN,YAAc;IAAAa;EAAA,CAAiB,GAAAjF,mBAAA,CAAoBtN,KAAKyL,IAAI,CAAA;EAEnEvH,OAAA,CAAQzD,MAAM,MAAM,KAAA,CAAA;EACpByD,OAAA,CAAQ0E,OAAO,MAAM,KAAA,CAAA;EACrB1E,OAAA,CAAQO,QAAQ,MAAM,KAAA,CAAA;EAGhB,MAAA0O,MAAA,GAAS,MAAM7B,aAAO,iCACvBI,YAAA;IACH0B,OAAOC,OAAS,EAAA;MACV,IAAA,CAACA,OAAQ,CAAA7K,IAAA,IAAQ,CAAC,CAAC,qBAAqB,CAAE,CAAAX,QAAA,CAASwL,OAAQ,CAAA7K,IAAI,CAAG,EAAA;QAE3D0K,QAAA,CAAAtK,IAAA,CAAK0K,KAAKpP,OAAO,CAAA,CAAEpD,cAAAA,CAAAA,QAAME,MAAO,CAAA,QAAQ,CAAG,EAAAqS,OAAA,CAAQtP,OAAO,CAAA;MACrE;IACF;EAAA,GACD;EAID,MAAM;IAACyK;EAAM,CAAA,GAAI,MAAM2E,MAAA,CAAOI,SAAShB,aAAa,CAAA;EAEpDrO,OAAA,CAAQzD,MAAMyS,QAAS,CAAAzS,GAAA;EACvByD,OAAA,CAAQ0E,OAAOsK,QAAS,CAAAtK,IAAA;EACxB1E,OAAA,CAAQO,QAAQyO,QAAS,CAAAzO,KAAA;EAEzB,KAAA,MAAW+O,gBAAgBhF,MAAQ,EAAA;IAC7B,IAAAgF,YAAA,CAAalL,SAAS,OAAS,EAAA;MACjCkB,KAAA,CAAM1B,IAAK,CAAA;QACTQ,IAAM,EAAA,OAAA;QACN3H,IAAM,EAAAA,aAAAA,CAAAA,OAAA,CAAKgF,OAAQ,CAAApD,MAAA,EAAQiR,aAAarP,QAAQ;MAAA,CACjD,CAAA;IAAA,CACI,MAAA;MACLqF,KAAA,CAAM1B,IAAK,CAAA;QACTQ,IAAM,EAAA,OAAA;QACN3H,IAAM,EAAAA,aAAAA,CAAAA,OAAA,CAAKgF,OAAQ,CAAApD,MAAA,EAAQiR,aAAarP,QAAQ;MAAA,CACjD,CAAA;IACH;EACF;EAGM,MAAAgP,MAAA,CAAOM,MAAMlB,aAAa,CAAA;EAGhC,MAAMY,OAAOO,KAAM,EAAA;AACrB;ACpFO,MAAMC,eAAoE,GAAA;EAC/E/M,IAAA,EAAM,CAAC5G,GAAA,EAAKyL,IACV,8CAAkCA,KAAKiC,MAAO,CAAApM,IAAA,CAAK,KAAK,CAAA,sBACtDmK,IAAK,CAAAN,MAAA,uBACMM,IAAA,CAAKQ,QACfxF,GAAI,CAACoI,eAAS/N,sBAAA,CAAM4L,IAAK,CAAA/L,aAAAA,CAAAA,OAAA,CAAKW,IAAK,CAAAtB,GAAA,CAAI8N,IAAIlH,IAAM,EAAAiI,CAAA,CAAElO,IAAI,CAAC,CAAM,eAAAkO,CAAA,CAAEC,uBAAaD,CAAE,CAAAL,MAAA,CAAQ,CACvF,CAAAlN,IAAA,CAAK,WAAW,CAAA,CAAA;EACrBsL,IAAA,EAAM,CAAC5M,GAAA,EAAKyL,IAAS,KAAA;IACnB,MAAM;MAACiG,YAAc;MAAAa;IAAA,CAAiB,GAAAjF,mBAAA,CAAoBtN,KAAKyL,IAAI,CAAA;IAE5D,OAAA,IAAIoB,IAAAA,CAAAA,UAAW,CAACC,QAAa,IAAA;MAClC,MAAM8G,YAAmC,mCACpClC,YAAA;QACHlD,MAAQ,EAAA+D;MAAA,EACV;MAEM,MAAAsB,OAAA,GAAUC,aAAYF,YAAY,CAAA;MAEhCC,OAAA,CAAAE,EAAA,CAAG,OAAS,EAACC,KAAU,IAAA;QAC7BlH,QAAA,CAASE,KAAKgH,KAAK,CAAA;MAAA,CACpB,CAAA;MAED,OAAO,MAAM;QACXH,OAAA,CAAQH,KAAM,EAAA;MAAA,CAChB;IAAA,CACD,CAAA;EACH,CAAA;EACAzG,QAAU,EAAA,CAACjN,GAAK,EAAAyL,IAAA,EAAMuI,KAAU,KAAA;IACxB,MAAA;MAAC7T;IAAU,CAAA,GAAAH,GAAA;IAEb,IAAAgU,KAAA,CAAMxL,SAAS,YAAc,EAAA;MACxBrI,MAAA,CAAA8T,OAAA,0CAC6BxI,IAAK,CAAAiC,MAAA,CAAOpM,IAAK,CAAA,KAAK,uBACtDmK,IAAK,CAAAN,MAAA,uBACMM,IAAA,CAAKQ,QACfxF,GAAI,CAACoI,eAAS/N,sBAAA,CAAM4L,IAAK,CAAA/L,aAAAA,CAAAA,OAAA,CAAKW,IAAK,CAAAtB,GAAA,CAAI8N,IAAIlH,IAAM,EAAAiI,CAAA,CAAElO,IAAI,CAAC,CAAM,eAAAkO,CAAA,CAAEC,uBAAaD,CAAE,CAAAL,MAAA,CAAQ,CACvF,CAAAlN,IAAA,CAAK,WAAW,CAAA,EACrB;MACAnB,MAAA,CAAOM,IAAI,EAAE,CAAA;MAEb;IACF;IAEI,IAAAuT,KAAA,CAAMxL,SAAS,cAAgB,EAAA;MACjC;IACF;IAEI,IAAAwL,KAAA,CAAMxL,SAAS,KAAO,EAAA;MACxB;IACF;IAEI,IAAAwL,KAAA,CAAMxL,SAAS,OAAS,EAAA;MAEnBrI,MAAA,CAAAsE,KAAA,CAAMuP,KAAM,CAAAxL,IAAA,EAAMwL,KAAK,CAAA;MAE9B;IACF;IAEI,IAAAA,KAAA,CAAMxL,SAAS,OAAS,EAAA;MAC1B;IACF;EACF,CAAA;EACA/D,KAAO,EAAA,CAACzE,GAAK,EAAAoN,KAAA,EAAOD,GAAQ,KAAA;IACpB,MAAA;MAAChN;IAAU,CAAA,GAAAH,GAAA;IAEjB,IAAImN,eAAe3I,KAAO,EAAA;MACxBrE,MAAA,CAAOM,IAAI0M,GAAG,CAAA;IAChB;EACF;AACF,CAAA;ACpEO,MAAM+G,iBAAuC,GAAA;EAClD,WAAa,EAAA1H,OAAA;EACb,UAAY,EAAAwG;AACd,CAAA;AAGO,MAAMmB,iBAAuC,GAAA;EAClD,WAAa,EAAA9G,YAAA;EACb,UAAY,EAAAsG;AACd,CAAA;;;;;;;"}