@xylabs/ts-scripts-yarn3 3.0.11 → 3.0.13

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 (74) hide show
  1. package/dist/actions/package/compile/CompileParams.js +17 -0
  2. package/dist/actions/package/compile/CompileParams.js.map +1 -0
  3. package/dist/actions/package/compile/CompileParams.mjs +1 -0
  4. package/dist/actions/package/compile/CompileParams.mjs.map +1 -0
  5. package/dist/actions/package/compile/compile.js +98 -0
  6. package/dist/actions/package/compile/compile.js.map +1 -0
  7. package/dist/actions/package/compile/compile.mjs +64 -0
  8. package/dist/actions/package/compile/compile.mjs.map +1 -0
  9. package/dist/actions/package/compile/copyTypeFiles.js +49 -0
  10. package/dist/actions/package/compile/copyTypeFiles.js.map +1 -0
  11. package/dist/actions/package/compile/copyTypeFiles.mjs +25 -0
  12. package/dist/actions/package/compile/copyTypeFiles.mjs.map +1 -0
  13. package/dist/actions/package/compile/index.js +29 -0
  14. package/dist/actions/package/compile/index.js.map +1 -0
  15. package/dist/actions/package/compile/index.mjs +5 -0
  16. package/dist/actions/package/compile/index.mjs.map +1 -0
  17. package/dist/actions/package/compile/inputs.js +58 -0
  18. package/dist/actions/package/compile/inputs.js.map +1 -0
  19. package/dist/actions/package/compile/inputs.mjs +32 -0
  20. package/dist/actions/package/compile/inputs.mjs.map +1 -0
  21. package/dist/actions/package/{compile.js → compile/rollup.js} +24 -75
  22. package/dist/actions/package/compile/rollup.js.map +1 -0
  23. package/dist/actions/package/compile/rollup.mjs +98 -0
  24. package/dist/actions/package/compile/rollup.mjs.map +1 -0
  25. package/dist/actions/package/compile/tsc.js +105 -0
  26. package/dist/actions/package/compile/tsc.js.map +1 -0
  27. package/dist/actions/package/compile/tsc.mjs +79 -0
  28. package/dist/actions/package/compile/tsc.mjs.map +1 -0
  29. package/dist/actions/package/compile/tscTypes.js +53 -0
  30. package/dist/actions/package/compile/tscTypes.js.map +1 -0
  31. package/dist/actions/package/compile/tscTypes.mjs +29 -0
  32. package/dist/actions/package/compile/tscTypes.mjs.map +1 -0
  33. package/dist/actions/package/compile/tsup.js +75 -0
  34. package/dist/actions/package/compile/tsup.js.map +1 -0
  35. package/dist/actions/package/compile/tsup.mjs +51 -0
  36. package/dist/actions/package/compile/tsup.mjs.map +1 -0
  37. package/dist/actions/package/publint.js +1 -1
  38. package/dist/actions/package/publint.js.map +1 -1
  39. package/dist/actions/package/publint.mjs +1 -1
  40. package/dist/actions/package/publint.mjs.map +1 -1
  41. package/dist/bin/package/compile-tsup.js +31 -0
  42. package/dist/bin/package/compile-tsup.js.map +1 -0
  43. package/dist/bin/package/compile-tsup.mjs +8 -0
  44. package/dist/bin/package/compile-tsup.mjs.map +1 -0
  45. package/dist/index.d.mts +53 -10
  46. package/dist/index.d.ts +53 -10
  47. package/dist/lib/index.js +2 -0
  48. package/dist/lib/index.js.map +1 -1
  49. package/dist/lib/index.mjs +1 -0
  50. package/dist/lib/index.mjs.map +1 -1
  51. package/dist/lib/loadConfig.js +54 -0
  52. package/dist/lib/loadConfig.js.map +1 -0
  53. package/dist/lib/loadConfig.mjs +20 -0
  54. package/dist/lib/loadConfig.mjs.map +1 -0
  55. package/package.json +5 -6
  56. package/src/actions/package/compile/CompileParams.ts +10 -0
  57. package/src/actions/package/compile/compile.ts +73 -0
  58. package/src/actions/package/compile/copyTypeFiles.ts +26 -0
  59. package/src/actions/package/compile/index.ts +4 -0
  60. package/src/actions/package/compile/inputs.ts +33 -0
  61. package/src/actions/package/compile/rollup.ts +109 -0
  62. package/src/actions/package/compile/tsc.ts +105 -0
  63. package/src/actions/package/compile/tscTypes.ts +30 -0
  64. package/src/actions/package/compile/tsup.ts +69 -0
  65. package/src/actions/package/publint.ts +5 -1
  66. package/src/bin/package/compile-tsup.ts +9 -0
  67. package/src/lib/index.ts +1 -0
  68. package/src/lib/loadConfig.ts +21 -0
  69. package/tsconfig.build.json +2 -2
  70. package/tsconfig.json +1 -7
  71. package/dist/actions/package/compile.js.map +0 -1
  72. package/dist/actions/package/compile.mjs +0 -150
  73. package/dist/actions/package/compile.mjs.map +0 -1
  74. package/src/actions/package/compile.ts +0 -177
@@ -0,0 +1,109 @@
1
+ import commonjs from '@rollup/plugin-commonjs'
2
+ import json from '@rollup/plugin-json'
3
+ import typescript from '@rollup/plugin-typescript'
4
+ import chalk from 'chalk'
5
+ import { OutputOptions, rollup, RollupLog, RollupOptions } from 'rollup'
6
+ import externalDeps from 'rollup-plugin-exclude-dependencies-from-bundle'
7
+ import nodeExternals from 'rollup-plugin-node-externals'
8
+
9
+ import { loadConfig } from '../../../lib'
10
+ import { loadPackageConfig } from '../../../loadPackageConfig'
11
+ import { packagePublint } from '../publint'
12
+ import { CompileParams } from './CompileParams'
13
+ import { getInputDirs, getInputs } from './inputs'
14
+
15
+ export interface PackageCompileRollupParams extends CompileParams {}
16
+
17
+ export const compileSubDir = async (format: 'cjs' | 'esm', ext: string, subDir?: string, _verbose = false) => {
18
+ const dir = subDir === '.' ? undefined : subDir
19
+ const input = await getInputs(dir)
20
+ const tsPlugIn = typescript({
21
+ baseUrl: 'src',
22
+ declaration: !dir || !subDir,
23
+ declarationMap: !dir || !subDir,
24
+ emitDeclarationOnly: false,
25
+ esModuleInterop: true,
26
+ exclude: ['**/*.spec.*', 'dist', 'docs', 'node_modules', 'packages'],
27
+ outDir: dir ? `dist/${dir}` : 'dist',
28
+ rootDir: 'src',
29
+ tsconfig: 'tsconfig.json',
30
+ })
31
+
32
+ const errors: RollupLog[] = []
33
+ const warnings: RollupLog[] = []
34
+ const infos: RollupLog[] = []
35
+ const debugs: RollupLog[] = []
36
+
37
+ const options: RollupOptions = {
38
+ input: subDir ? input.map((file) => `./src/${file}`) : ['./src/index.ts'],
39
+ logLevel: 'warn',
40
+ onLog: (level, log, defaultHandler) => {
41
+ const pushLog = !(log.code === 'EMPTY_BUNDLE' || log.code === 'MIXED_EXPORTS' || log.code === 'UNUSED_EXTERNAL_IMPORT')
42
+ if (pushLog) {
43
+ switch (level) {
44
+ case 'warn': {
45
+ warnings.push(log)
46
+ break
47
+ }
48
+ case 'info': {
49
+ infos.push(log)
50
+ break
51
+ }
52
+ case 'debug': {
53
+ debugs.push(log)
54
+ break
55
+ }
56
+ default: {
57
+ errors.push(log)
58
+ break
59
+ }
60
+ }
61
+ }
62
+ console.log(chalk.yellow(`${level}: ${log.message} [${log.code}]`))
63
+ if (log.id) {
64
+ console.log(chalk.gray(log.id))
65
+ }
66
+ log.ids?.map((id) => {
67
+ console.log(chalk.gray(id))
68
+ })
69
+ return defaultHandler(level, log)
70
+ },
71
+ plugins: [commonjs(), externalDeps(), nodeExternals(), json(), tsPlugIn],
72
+ }
73
+
74
+ const outputOptions: OutputOptions = {
75
+ dir: subDir ? `dist/${subDir}` : 'dist',
76
+ dynamicImportInCjs: true,
77
+ entryFileNames: (chunkInfo) => `${chunkInfo.name}.${ext}`,
78
+ format,
79
+ sourcemap: true,
80
+ }
81
+
82
+ if (input.length) {
83
+ await (await rollup(options)).write(outputOptions)
84
+ }
85
+
86
+ return errors.length + warnings.length
87
+ }
88
+
89
+ export const packageCompileRollup = async (params?: PackageCompileRollupParams) => {
90
+ const config = await loadConfig(params)
91
+ const pkg = await loadPackageConfig()
92
+ const inputDirs = await getInputDirs(config.compile?.depth)
93
+ const verbose = config.verbose
94
+ const publint = config.compile?.publint
95
+
96
+ const pkgType = pkg.type ?? 'commonjs'
97
+
98
+ const esmExt = pkgType === 'module' ? 'js' : 'mjs'
99
+ const cjsExt = pkgType === 'commonjs' ? 'js' : 'cjs'
100
+
101
+ const result = (
102
+ await Promise.all(
103
+ inputDirs.map(async (inputDir) => {
104
+ return (await compileSubDir('cjs', cjsExt, inputDir, verbose)) + (await compileSubDir('esm', esmExt, inputDir, verbose))
105
+ }),
106
+ )
107
+ ).reduce((prev, result) => prev + result, 0)
108
+ return result + (publint ? await packagePublint() : 0)
109
+ }
@@ -0,0 +1,105 @@
1
+ import chalk from 'chalk'
2
+ // eslint-disable-next-line import/no-internal-modules
3
+ import merge from 'lodash/merge'
4
+ import {
5
+ CompilerOptions,
6
+ createProgram,
7
+ Diagnostic,
8
+ findConfigFile,
9
+ flattenDiagnosticMessageText,
10
+ getLineAndCharacterOfPosition,
11
+ getPreEmitDiagnostics,
12
+ readConfigFile,
13
+ sys,
14
+ } from 'typescript'
15
+
16
+ import { loadConfig } from '../../../lib'
17
+ import { CompileParams } from './CompileParams'
18
+ import { getAllInputs } from './inputs'
19
+
20
+ export type PackageCompileTscParams = Partial<
21
+ CompileParams & {
22
+ compile?: {
23
+ tsc?: {
24
+ compilerOptions?: CompilerOptions
25
+ tsconfig?: string
26
+ }
27
+ }
28
+ }
29
+ >
30
+
31
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
+ const getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {
33
+ let opts = {}
34
+ const config = readConfigFile(filename, sys.readFile).config
35
+ if (config.extends) {
36
+ const requirePath = require.resolve(config.extends)
37
+ opts = getCompilerOptionsJSONFollowExtends(requirePath)
38
+ }
39
+ if (config?.error) {
40
+ throw Error(`getCompilerOptionsJSONFollowExtends failed ${JSON.stringify(config?.error?.messageText, null, 2)}`)
41
+ }
42
+
43
+ return { ...opts, ...config.compilerOptions }
44
+ }
45
+
46
+ const getCompilerOptions = (options?: CompilerOptions, tsconfig: string = 'tsconfig.json'): CompilerOptions => {
47
+ const configFileName = findConfigFile('./', sys.fileExists, tsconfig)
48
+ const configFileCompilerOptions = configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : undefined
49
+
50
+ return merge({}, configFileCompilerOptions, options)
51
+ }
52
+
53
+ const getConfigFile = (options?: CompilerOptions, tsconfig: string = 'tsconfig.json') => {
54
+ const configFileName = findConfigFile('./', sys.fileExists, tsconfig)
55
+ return { ...(configFileName ? readConfigFile(configFileName, sys.readFile).config : {}), compilerOptions: getCompilerOptions(options) }
56
+ }
57
+
58
+ const compile = (fileNames: string[], options: CompilerOptions) => {
59
+ console.log(chalk.blue('compile'))
60
+ console.log(chalk.magenta(`options: ${JSON.stringify(options, null, 2)}`))
61
+ const program = createProgram(fileNames, options)
62
+ console.log(chalk.blue('createProgram'))
63
+ const emitResult = program.emit()
64
+ console.log(chalk.blue('emit'))
65
+
66
+ const allDiagnostics: Diagnostic[] = getPreEmitDiagnostics(program).concat(emitResult.diagnostics)
67
+
68
+ const errorDiagnostics = allDiagnostics.filter((diagnostic) => diagnostic.category === 1)
69
+
70
+ allDiagnostics.forEach((diagnostic) => {
71
+ if (diagnostic.file) {
72
+ const { line, character } = getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start!)
73
+ const message = flattenDiagnosticMessageText(diagnostic.messageText, '\n')
74
+ console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`)
75
+ } else {
76
+ console.log(flattenDiagnosticMessageText(diagnostic.messageText, '\n'))
77
+ }
78
+ })
79
+
80
+ if (errorDiagnostics.length) {
81
+ console.log(chalk.red(`Errors: ${errorDiagnostics.length}`))
82
+ process.exit(errorDiagnostics.length)
83
+ }
84
+
85
+ return errorDiagnostics.length
86
+ }
87
+
88
+ export const packageCompileTsc = async (params?: PackageCompileTscParams): Promise<number> => {
89
+ const defaultCompilerOptions: CompilerOptions = {
90
+ declaration: true,
91
+ declarationMap: true,
92
+ outDir: 'dist',
93
+ rootDir: 'src',
94
+ sourceMap: true,
95
+ }
96
+ const compilerOptions = merge({}, defaultCompilerOptions, params?.compile?.tsc?.compilerOptions)
97
+ const config = await loadConfig(params)
98
+ if (config.verbose) {
99
+ console.log('Compiling with TSC')
100
+ }
101
+
102
+ const fileNames = (await getAllInputs(config.compile?.depth)).map((fileName) => `src/${fileName}`)
103
+ const configFile = getConfigFile(compilerOptions)
104
+ return compile(fileNames, configFile.compilerOptions)
105
+ }
@@ -0,0 +1,30 @@
1
+ import { cwd } from 'process'
2
+ import { build, BuildOptions } from 'tsc-prog'
3
+
4
+ import { loadConfig } from '../../../lib'
5
+ import { CompileParams } from './CompileParams'
6
+
7
+ export const packageCompileTscTypes = async (params?: CompileParams): Promise<number> => {
8
+ const pkg = process.env.INIT_CWD
9
+ const buildOptions: BuildOptions = {
10
+ basePath: pkg ?? cwd(),
11
+ compilerOptions: {
12
+ declaration: true,
13
+ declarationMap: true,
14
+ emitDeclarationOnly: true,
15
+ esModuleInterop: true,
16
+ outDir: 'dist',
17
+ sourceMap: true,
18
+ },
19
+ exclude: ['dist', 'docs'],
20
+ include: ['src'],
21
+ }
22
+
23
+ const config = await loadConfig(params)
24
+ if (config.verbose) {
25
+ console.log(`Compiling types with TSC [${pkg}]`)
26
+ }
27
+
28
+ build(buildOptions)
29
+ return 0
30
+ }
@@ -0,0 +1,69 @@
1
+ import { build, defineConfig, Options } from 'tsup'
2
+
3
+ import { loadConfig } from '../../../lib'
4
+ import { packagePublint } from '../publint'
5
+ import { CompileParams } from './CompileParams'
6
+ import { getInputDirs, getInputs } from './inputs'
7
+ import { packageCompileTscTypes } from './tscTypes'
8
+
9
+ export type PackageCompileTsupParams = Partial<
10
+ CompileParams & {
11
+ compile?: {
12
+ tsup?: {
13
+ options?: Options
14
+ }
15
+ }
16
+ }
17
+ >
18
+
19
+ const compileSubDir = async (subDir?: string, options?: Options, verbose?: boolean) => {
20
+ const dir = subDir === '.' ? undefined : subDir
21
+ const input = await getInputs(dir)
22
+ const optionsResult = defineConfig({
23
+ bundle: true,
24
+ cjsInterop: true,
25
+ clean: true,
26
+ dts: {
27
+ entry: ['src/index.ts'],
28
+ only: false,
29
+ resolve: false,
30
+ },
31
+ entry: subDir ? input.map((file) => `./src/${file}`) : ['./src/index.ts'],
32
+ format: ['cjs', 'esm'],
33
+ outDir: 'dist',
34
+ sourcemap: true,
35
+ splitting: false,
36
+ tsconfig: 'tsconfig.json',
37
+ ...options,
38
+ })
39
+ const optionsList = (
40
+ await Promise.all(
41
+ (Array.isArray(optionsResult) ? optionsResult : [optionsResult])
42
+ .map<Promise<Options[]>>(async (options) => {
43
+ const result = typeof options === 'function' ? await options({}) : [options]
44
+ return Array.isArray(result) ? result : [result]
45
+ })
46
+ .flat(),
47
+ )
48
+ ).flat()
49
+ await Promise.all(optionsList.map((options) => build(options)))
50
+
51
+ return await packageCompileTscTypes({ verbose })
52
+ }
53
+
54
+ export const packageCompileTsup = async (params?: PackageCompileTsupParams) => {
55
+ const config = await loadConfig(params)
56
+ if (config.verbose) {
57
+ console.log('Compiling with TSUP')
58
+ }
59
+ const inputDirs = await getInputDirs(config.compile?.depth)
60
+
61
+ const result = (
62
+ await Promise.all(
63
+ inputDirs.map(async (inputDir) => {
64
+ return await compileSubDir(inputDir, config.compile?.tsup?.options, config.verbose)
65
+ }),
66
+ )
67
+ ).reduce((prev, result) => prev + result, 0)
68
+ return result + (config.compile?.publint ? await packagePublint() : 0)
69
+ }
@@ -2,7 +2,11 @@ import chalk from 'chalk'
2
2
  import { promises as fs } from 'fs'
3
3
  import { Message } from 'publint'
4
4
 
5
- export const packagePublint = async () => {
5
+ export interface PackagePublintParams {
6
+ verbose?: boolean
7
+ }
8
+
9
+ export const packagePublint = async (_params?: PackagePublintParams) => {
6
10
  const pkgDir = process.env.INIT_CWD
7
11
 
8
12
  const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+
3
+ import chalk from 'chalk'
4
+ import { packageCompileTsup } from '../../actions'
5
+
6
+ packageCompileTsup({verbose: true}).then((value) => process.exitCode = value).catch((reason) => {
7
+ console.error(chalk.red(reason))
8
+ process.exitCode = 1
9
+ })
package/src/lib/index.ts CHANGED
@@ -5,6 +5,7 @@ export * from './dependencies'
5
5
  export * from './file'
6
6
  export * from './generateIgnoreFiles'
7
7
  export * from './jsonFormatters'
8
+ export * from './loadConfig'
8
9
  export * from './parsedPackageJSON'
9
10
  export * from './processEx'
10
11
  export * from './runSteps'
@@ -0,0 +1,21 @@
1
+ import chalk from 'chalk'
2
+ import { cosmiconfig } from 'cosmiconfig'
3
+ // eslint-disable-next-line import/no-internal-modules
4
+ import merge from 'lodash/merge'
5
+
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ let config: Record<string, any>
8
+
9
+ export const loadConfig = async <T extends object>(params?: T): Promise<T> => {
10
+ if (config) {
11
+ return merge({}, config, params)
12
+ }
13
+
14
+ const cosmicConfigResult = await cosmiconfig('xy').search()
15
+ config = cosmicConfigResult?.config
16
+ const configFilePath = cosmicConfigResult?.filepath
17
+ if (configFilePath) {
18
+ console.log(chalk.gray(`Loading config from ${configFilePath}`))
19
+ }
20
+ return merge({}, config, params)
21
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "include": ["src"],
3
2
  "exclude": ["src/**/*.spec.*", "dist", "docs"],
4
- "extends": "./tsconfig.json"
3
+ "extends": "./tsconfig.json",
4
+ "include": ["src"]
5
5
  }
package/tsconfig.json CHANGED
@@ -1,10 +1,4 @@
1
1
  {
2
- "compilerOptions": {
3
- "declaration": true,
4
- "declarationMap": true,
5
- "declarationDir": "dist",
6
- "incremental": false,
7
- "outDir": "dist"
8
- },
2
+ "exclude": ["dist", "docs"],
9
3
  "extends": "@xylabs/tsconfig"
10
4
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/actions/package/compile.ts"],"sourcesContent":["import commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport typescript from '@rollup/plugin-typescript'\nimport chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { copyFile, readdir } from 'fs/promises'\nimport { OutputOptions, rollup, RollupLog, RollupOptions } from 'rollup'\nimport externalDeps from 'rollup-plugin-exclude-dependencies-from-bundle'\nimport nodeExternals from 'rollup-plugin-node-externals'\n\nimport { loadPackageConfig, PackageJsonEx } from '../../loadPackageConfig'\nimport { packagePublint } from './publint'\n\nexport interface CompilePackageParams {\n publint?: boolean\n verbose?: boolean\n}\n\nconst rollItUp = async (format: 'cjs' | 'esm', ext: string, subDir?: string) => {\n const dir = subDir === '.' ? undefined : subDir\n const input = await getInputs(dir)\n const tsPlugIn = typescript({\n baseUrl: 'src',\n declaration: !dir || !subDir,\n declarationMap: !dir || !subDir,\n emitDeclarationOnly: false,\n esModuleInterop: true,\n exclude: ['**/*.spec.*', 'dist', 'docs', 'node_modules', 'packages'],\n outDir: dir ? `dist/${dir}` : 'dist',\n rootDir: 'src',\n tsconfig: 'tsconfig.json',\n })\n\n const errors: RollupLog[] = []\n const warnings: RollupLog[] = []\n const infos: RollupLog[] = []\n const debugs: RollupLog[] = []\n\n const options: RollupOptions = {\n input: subDir ? input.map((file) => `./src/${file}`) : ['./src/index.ts'],\n logLevel: 'warn',\n onLog: (level, log, defaultHandler) => {\n const pushLog = !(log.code === 'EMPTY_BUNDLE' || log.code === 'MIXED_EXPORTS' || log.code === 'UNUSED_EXTERNAL_IMPORT')\n if (pushLog) {\n switch (level) {\n case 'warn': {\n warnings.push(log)\n break\n }\n case 'info': {\n infos.push(log)\n break\n }\n case 'debug': {\n debugs.push(log)\n break\n }\n default: {\n errors.push(log)\n break\n }\n }\n }\n console.log(chalk.yellow(`${level}: ${log.message} [${log.code}]`))\n if (log.id) {\n console.log(chalk.gray(log.id))\n }\n log.ids?.map((id) => {\n console.log(chalk.gray(id))\n })\n return defaultHandler(level, log)\n },\n plugins: [commonjs(), externalDeps(), nodeExternals(), json(), tsPlugIn],\n }\n\n const outputOptions: OutputOptions = {\n dir: subDir ? `dist/${subDir}` : 'dist',\n dynamicImportInCjs: true,\n entryFileNames: (chunkInfo) => `${chunkInfo.name}.${ext}`,\n format,\n sourcemap: true,\n }\n\n if (input.length) {\n await (await rollup(options)).write(outputOptions)\n }\n\n return errors.length + warnings.length\n}\n\nconst getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter((file) => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.endsWith('spec.ts'))\n .map((file) => (subDir ? `${subDir}/${file}` : file))\n}\n\nconst getInputDirs = async (depth: number) => {\n if (depth === 0) {\n return []\n }\n return [\n '.',\n ...(await readdir('src', { recursive: depth > 1, withFileTypes: true }))\n .filter((file) => file.isDirectory())\n .map((file) => {\n const pathParts = file.path.split('/')\n pathParts.shift()\n if (pathParts.length) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nconst getDistTypeFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts')).map((file) => `dist/${file}`)\n}\n\nconst getDistTypeMapFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts.map')).map((file) => `dist/${file}`)\n}\n\nconst buildIt = async (pkg: PackageJsonEx, compileDepth: number) => {\n console.log(`Compile Depth: ${compileDepth}`)\n const inputDirs = await getInputDirs(compileDepth)\n\n const pkgType = pkg.type ?? 'commonjs'\n\n const esmExt = pkgType === 'module' ? 'js' : 'mjs'\n const cjsExt = pkgType === 'commonjs' ? 'js' : 'cjs'\n\n const rollupResult = inputDirs.length\n ? await Promise.all(\n inputDirs.map(async (inputDir) => {\n return (await rollItUp('esm', esmExt, inputDir)) + (await rollItUp('cjs', cjsExt, inputDir))\n }),\n )\n : [(await rollItUp('esm', esmExt)) + (await rollItUp('cjs', cjsExt))]\n\n //hybrid packages want two copies of the types\n const distTypeFiles = await getDistTypeFiles()\n await Promise.all(\n distTypeFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts', 'd.mts'))\n }),\n )\n\n const distTypeMapFiles = await getDistTypeMapFiles()\n await Promise.all(\n distTypeMapFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts.map', 'd.mts.map'))\n }),\n )\n\n return rollupResult.reduce((prev, item) => prev + item, 0)\n}\n\nexport const packageCompile = async ({ publint = true, verbose }: CompilePackageParams = { verbose: false }) => {\n const xyConfig = await cosmiconfig('xy').search()\n const compileDepth: number = xyConfig?.config.compile?.depth ?? 0\n const pkgName = process.env.npm_package_name\n if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Start`))\n }\n const result = (await buildIt(await loadPackageConfig(), compileDepth)) + (publint ? await packagePublint() : 0)\n if (result) {\n const input = await getInputs()\n console.log(`Inputs: ${JSON.stringify(input, null, 2)}`)\n console.error(chalk.red(`Compiling ${pkgName} Failed [${result}]`))\n } else if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Done`))\n }\n return result\n}\n"],"mappings":"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","names":["typescript","chalk","commonjs","externalDeps","nodeExternals","json"]}
@@ -1,150 +0,0 @@
1
- import commonjs from "@rollup/plugin-commonjs";
2
- import json from "@rollup/plugin-json";
3
- import typescript from "@rollup/plugin-typescript";
4
- import chalk from "chalk";
5
- import { cosmiconfig } from "cosmiconfig";
6
- import { copyFile, readdir } from "fs/promises";
7
- import { rollup } from "rollup";
8
- import externalDeps from "rollup-plugin-exclude-dependencies-from-bundle";
9
- import nodeExternals from "rollup-plugin-node-externals";
10
- import { loadPackageConfig } from "../../loadPackageConfig";
11
- import { packagePublint } from "./publint";
12
- const rollItUp = async (format, ext, subDir) => {
13
- const dir = subDir === "." ? void 0 : subDir;
14
- const input = await getInputs(dir);
15
- const tsPlugIn = typescript({
16
- baseUrl: "src",
17
- declaration: !dir || !subDir,
18
- declarationMap: !dir || !subDir,
19
- emitDeclarationOnly: false,
20
- esModuleInterop: true,
21
- exclude: ["**/*.spec.*", "dist", "docs", "node_modules", "packages"],
22
- outDir: dir ? `dist/${dir}` : "dist",
23
- rootDir: "src",
24
- tsconfig: "tsconfig.json"
25
- });
26
- const errors = [];
27
- const warnings = [];
28
- const infos = [];
29
- const debugs = [];
30
- const options = {
31
- input: subDir ? input.map((file) => `./src/${file}`) : ["./src/index.ts"],
32
- logLevel: "warn",
33
- onLog: (level, log, defaultHandler) => {
34
- const pushLog = !(log.code === "EMPTY_BUNDLE" || log.code === "MIXED_EXPORTS" || log.code === "UNUSED_EXTERNAL_IMPORT");
35
- if (pushLog) {
36
- switch (level) {
37
- case "warn": {
38
- warnings.push(log);
39
- break;
40
- }
41
- case "info": {
42
- infos.push(log);
43
- break;
44
- }
45
- case "debug": {
46
- debugs.push(log);
47
- break;
48
- }
49
- default: {
50
- errors.push(log);
51
- break;
52
- }
53
- }
54
- }
55
- console.log(chalk.yellow(`${level}: ${log.message} [${log.code}]`));
56
- if (log.id) {
57
- console.log(chalk.gray(log.id));
58
- }
59
- log.ids?.map((id) => {
60
- console.log(chalk.gray(id));
61
- });
62
- return defaultHandler(level, log);
63
- },
64
- plugins: [commonjs(), externalDeps(), nodeExternals(), json(), tsPlugIn]
65
- };
66
- const outputOptions = {
67
- dir: subDir ? `dist/${subDir}` : "dist",
68
- dynamicImportInCjs: true,
69
- entryFileNames: (chunkInfo) => `${chunkInfo.name}.${ext}`,
70
- format,
71
- sourcemap: true
72
- };
73
- if (input.length) {
74
- await (await rollup(options)).write(outputOptions);
75
- }
76
- return errors.length + warnings.length;
77
- };
78
- const getInputs = async (subDir) => {
79
- return (await readdir(subDir ? `src/${subDir}` : "src", { recursive: false })).filter((file) => (file.endsWith(".ts") || file.endsWith(".tsx")) && !file.endsWith("d.ts") && !file.endsWith("spec.ts")).map((file) => subDir ? `${subDir}/${file}` : file);
80
- };
81
- const getInputDirs = async (depth) => {
82
- if (depth === 0) {
83
- return [];
84
- }
85
- return [
86
- ".",
87
- ...(await readdir("src", { recursive: depth > 1, withFileTypes: true })).filter((file) => file.isDirectory()).map((file) => {
88
- const pathParts = file.path.split("/");
89
- pathParts.shift();
90
- if (pathParts.length) {
91
- const root = pathParts.join("/");
92
- return `${root}/${file.name}`;
93
- } else {
94
- return file.name;
95
- }
96
- })
97
- ];
98
- };
99
- const getDistTypeFiles = async () => {
100
- return (await readdir("dist", { recursive: true })).filter((file) => file.endsWith("d.ts")).map((file) => `dist/${file}`);
101
- };
102
- const getDistTypeMapFiles = async () => {
103
- return (await readdir("dist", { recursive: true })).filter((file) => file.endsWith("d.ts.map")).map((file) => `dist/${file}`);
104
- };
105
- const buildIt = async (pkg, compileDepth) => {
106
- console.log(`Compile Depth: ${compileDepth}`);
107
- const inputDirs = await getInputDirs(compileDepth);
108
- const pkgType = pkg.type ?? "commonjs";
109
- const esmExt = pkgType === "module" ? "js" : "mjs";
110
- const cjsExt = pkgType === "commonjs" ? "js" : "cjs";
111
- const rollupResult = inputDirs.length ? await Promise.all(
112
- inputDirs.map(async (inputDir) => {
113
- return await rollItUp("esm", esmExt, inputDir) + await rollItUp("cjs", cjsExt, inputDir);
114
- })
115
- ) : [await rollItUp("esm", esmExt) + await rollItUp("cjs", cjsExt)];
116
- const distTypeFiles = await getDistTypeFiles();
117
- await Promise.all(
118
- distTypeFiles.map(async (file) => {
119
- await copyFile(file, file.replace("d.ts", "d.mts"));
120
- })
121
- );
122
- const distTypeMapFiles = await getDistTypeMapFiles();
123
- await Promise.all(
124
- distTypeMapFiles.map(async (file) => {
125
- await copyFile(file, file.replace("d.ts.map", "d.mts.map"));
126
- })
127
- );
128
- return rollupResult.reduce((prev, item) => prev + item, 0);
129
- };
130
- const packageCompile = async ({ publint = true, verbose } = { verbose: false }) => {
131
- const xyConfig = await cosmiconfig("xy").search();
132
- const compileDepth = xyConfig?.config.compile?.depth ?? 0;
133
- const pkgName = process.env.npm_package_name;
134
- if (verbose) {
135
- console.log(chalk.green(`Compiling ${pkgName} Start`));
136
- }
137
- const result = await buildIt(await loadPackageConfig(), compileDepth) + (publint ? await packagePublint() : 0);
138
- if (result) {
139
- const input = await getInputs();
140
- console.log(`Inputs: ${JSON.stringify(input, null, 2)}`);
141
- console.error(chalk.red(`Compiling ${pkgName} Failed [${result}]`));
142
- } else if (verbose) {
143
- console.log(chalk.green(`Compiling ${pkgName} Done`));
144
- }
145
- return result;
146
- };
147
- export {
148
- packageCompile
149
- };
150
- //# sourceMappingURL=compile.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/actions/package/compile.ts"],"sourcesContent":["import commonjs from '@rollup/plugin-commonjs'\nimport json from '@rollup/plugin-json'\nimport typescript from '@rollup/plugin-typescript'\nimport chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { copyFile, readdir } from 'fs/promises'\nimport { OutputOptions, rollup, RollupLog, RollupOptions } from 'rollup'\nimport externalDeps from 'rollup-plugin-exclude-dependencies-from-bundle'\nimport nodeExternals from 'rollup-plugin-node-externals'\n\nimport { loadPackageConfig, PackageJsonEx } from '../../loadPackageConfig'\nimport { packagePublint } from './publint'\n\nexport interface CompilePackageParams {\n publint?: boolean\n verbose?: boolean\n}\n\nconst rollItUp = async (format: 'cjs' | 'esm', ext: string, subDir?: string) => {\n const dir = subDir === '.' ? undefined : subDir\n const input = await getInputs(dir)\n const tsPlugIn = typescript({\n baseUrl: 'src',\n declaration: !dir || !subDir,\n declarationMap: !dir || !subDir,\n emitDeclarationOnly: false,\n esModuleInterop: true,\n exclude: ['**/*.spec.*', 'dist', 'docs', 'node_modules', 'packages'],\n outDir: dir ? `dist/${dir}` : 'dist',\n rootDir: 'src',\n tsconfig: 'tsconfig.json',\n })\n\n const errors: RollupLog[] = []\n const warnings: RollupLog[] = []\n const infos: RollupLog[] = []\n const debugs: RollupLog[] = []\n\n const options: RollupOptions = {\n input: subDir ? input.map((file) => `./src/${file}`) : ['./src/index.ts'],\n logLevel: 'warn',\n onLog: (level, log, defaultHandler) => {\n const pushLog = !(log.code === 'EMPTY_BUNDLE' || log.code === 'MIXED_EXPORTS' || log.code === 'UNUSED_EXTERNAL_IMPORT')\n if (pushLog) {\n switch (level) {\n case 'warn': {\n warnings.push(log)\n break\n }\n case 'info': {\n infos.push(log)\n break\n }\n case 'debug': {\n debugs.push(log)\n break\n }\n default: {\n errors.push(log)\n break\n }\n }\n }\n console.log(chalk.yellow(`${level}: ${log.message} [${log.code}]`))\n if (log.id) {\n console.log(chalk.gray(log.id))\n }\n log.ids?.map((id) => {\n console.log(chalk.gray(id))\n })\n return defaultHandler(level, log)\n },\n plugins: [commonjs(), externalDeps(), nodeExternals(), json(), tsPlugIn],\n }\n\n const outputOptions: OutputOptions = {\n dir: subDir ? `dist/${subDir}` : 'dist',\n dynamicImportInCjs: true,\n entryFileNames: (chunkInfo) => `${chunkInfo.name}.${ext}`,\n format,\n sourcemap: true,\n }\n\n if (input.length) {\n await (await rollup(options)).write(outputOptions)\n }\n\n return errors.length + warnings.length\n}\n\nconst getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter((file) => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.endsWith('spec.ts'))\n .map((file) => (subDir ? `${subDir}/${file}` : file))\n}\n\nconst getInputDirs = async (depth: number) => {\n if (depth === 0) {\n return []\n }\n return [\n '.',\n ...(await readdir('src', { recursive: depth > 1, withFileTypes: true }))\n .filter((file) => file.isDirectory())\n .map((file) => {\n const pathParts = file.path.split('/')\n pathParts.shift()\n if (pathParts.length) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nconst getDistTypeFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts')).map((file) => `dist/${file}`)\n}\n\nconst getDistTypeMapFiles = async () => {\n return (await readdir('dist', { recursive: true })).filter((file) => file.endsWith('d.ts.map')).map((file) => `dist/${file}`)\n}\n\nconst buildIt = async (pkg: PackageJsonEx, compileDepth: number) => {\n console.log(`Compile Depth: ${compileDepth}`)\n const inputDirs = await getInputDirs(compileDepth)\n\n const pkgType = pkg.type ?? 'commonjs'\n\n const esmExt = pkgType === 'module' ? 'js' : 'mjs'\n const cjsExt = pkgType === 'commonjs' ? 'js' : 'cjs'\n\n const rollupResult = inputDirs.length\n ? await Promise.all(\n inputDirs.map(async (inputDir) => {\n return (await rollItUp('esm', esmExt, inputDir)) + (await rollItUp('cjs', cjsExt, inputDir))\n }),\n )\n : [(await rollItUp('esm', esmExt)) + (await rollItUp('cjs', cjsExt))]\n\n //hybrid packages want two copies of the types\n const distTypeFiles = await getDistTypeFiles()\n await Promise.all(\n distTypeFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts', 'd.mts'))\n }),\n )\n\n const distTypeMapFiles = await getDistTypeMapFiles()\n await Promise.all(\n distTypeMapFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts.map', 'd.mts.map'))\n }),\n )\n\n return rollupResult.reduce((prev, item) => prev + item, 0)\n}\n\nexport const packageCompile = async ({ publint = true, verbose }: CompilePackageParams = { verbose: false }) => {\n const xyConfig = await cosmiconfig('xy').search()\n const compileDepth: number = xyConfig?.config.compile?.depth ?? 0\n const pkgName = process.env.npm_package_name\n if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Start`))\n }\n const result = (await buildIt(await loadPackageConfig(), compileDepth)) + (publint ? await packagePublint() : 0)\n if (result) {\n const input = await getInputs()\n console.log(`Inputs: ${JSON.stringify(input, null, 2)}`)\n console.error(chalk.red(`Compiling ${pkgName} Failed [${result}]`))\n } else if (verbose) {\n console.log(chalk.green(`Compiling ${pkgName} Done`))\n }\n return result\n}\n"],"mappings":"AAAA,OAAO,cAAc;AACrB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AACvB,OAAO,WAAW;AAClB,SAAS,mBAAmB;AAC5B,SAAS,UAAU,eAAe;AAClC,SAAwB,cAAwC;AAChE,OAAO,kBAAkB;AACzB,OAAO,mBAAmB;AAE1B,SAAS,yBAAwC;AACjD,SAAS,sBAAsB;AAO/B,MAAM,WAAW,OAAO,QAAuB,KAAa,WAAoB;AAC9E,QAAM,MAAM,WAAW,MAAM,SAAY;AACzC,QAAM,QAAQ,MAAM,UAAU,GAAG;AACjC,QAAM,WAAW,WAAW;AAAA,IAC1B,SAAS;AAAA,IACT,aAAa,CAAC,OAAO,CAAC;AAAA,IACtB,gBAAgB,CAAC,OAAO,CAAC;AAAA,IACzB,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,IACjB,SAAS,CAAC,eAAe,QAAQ,QAAQ,gBAAgB,UAAU;AAAA,IACnE,QAAQ,MAAM,QAAQ,GAAG,KAAK;AAAA,IAC9B,SAAS;AAAA,IACT,UAAU;AAAA,EACZ,CAAC;AAED,QAAM,SAAsB,CAAC;AAC7B,QAAM,WAAwB,CAAC;AAC/B,QAAM,QAAqB,CAAC;AAC5B,QAAM,SAAsB,CAAC;AAE7B,QAAM,UAAyB;AAAA,IAC7B,OAAO,SAAS,MAAM,IAAI,CAAC,SAAS,SAAS,IAAI,EAAE,IAAI,CAAC,gBAAgB;AAAA,IACxE,UAAU;AAAA,IACV,OAAO,CAAC,OAAO,KAAK,mBAAmB;AACrC,YAAM,UAAU,EAAE,IAAI,SAAS,kBAAkB,IAAI,SAAS,mBAAmB,IAAI,SAAS;AAC9F,UAAI,SAAS;AACX,gBAAQ,OAAO;AAAA,UACb,KAAK,QAAQ;AACX,qBAAS,KAAK,GAAG;AACjB;AAAA,UACF;AAAA,UACA,KAAK,QAAQ;AACX,kBAAM,KAAK,GAAG;AACd;AAAA,UACF;AAAA,UACA,KAAK,SAAS;AACZ,mBAAO,KAAK,GAAG;AACf;AAAA,UACF;AAAA,UACA,SAAS;AACP,mBAAO,KAAK,GAAG;AACf;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,cAAQ,IAAI,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC;AAClE,UAAI,IAAI,IAAI;AACV,gBAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;AAAA,MAChC;AACA,UAAI,KAAK,IAAI,CAAC,OAAO;AACnB,gBAAQ,IAAI,MAAM,KAAK,EAAE,CAAC;AAAA,MAC5B,CAAC;AACD,aAAO,eAAe,OAAO,GAAG;AAAA,IAClC;AAAA,IACA,SAAS,CAAC,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,KAAK,GAAG,QAAQ;AAAA,EACzE;AAEA,QAAM,gBAA+B;AAAA,IACnC,KAAK,SAAS,QAAQ,MAAM,KAAK;AAAA,IACjC,oBAAoB;AAAA,IACpB,gBAAgB,CAAC,cAAc,GAAG,UAAU,IAAI,IAAI,GAAG;AAAA,IACvD;AAAA,IACA,WAAW;AAAA,EACb;AAEA,MAAI,MAAM,QAAQ;AAChB,WAAO,MAAM,OAAO,OAAO,GAAG,MAAM,aAAa;AAAA,EACnD;AAEA,SAAO,OAAO,SAAS,SAAS;AAClC;AAEA,MAAM,YAAY,OAAO,WAAoB;AAC3C,UAAQ,MAAM,QAAQ,SAAS,OAAO,MAAM,KAAK,OAAO,EAAE,WAAW,MAAM,CAAC,GACzE,OAAO,CAAC,UAAU,KAAK,SAAS,KAAK,KAAK,KAAK,SAAS,MAAM,MAAM,CAAC,KAAK,SAAS,MAAM,KAAK,CAAC,KAAK,SAAS,SAAS,CAAC,EACvH,IAAI,CAAC,SAAU,SAAS,GAAG,MAAM,IAAI,IAAI,KAAK,IAAK;AACxD;AAEA,MAAM,eAAe,OAAO,UAAkB;AAC5C,MAAI,UAAU,GAAG;AACf,WAAO,CAAC;AAAA,EACV;AACA,SAAO;AAAA,IACL;AAAA,IACA,IAAI,MAAM,QAAQ,OAAO,EAAE,WAAW,QAAQ,GAAG,eAAe,KAAK,CAAC,GACnE,OAAO,CAAC,SAAS,KAAK,YAAY,CAAC,EACnC,IAAI,CAAC,SAAS;AACb,YAAM,YAAY,KAAK,KAAK,MAAM,GAAG;AACrC,gBAAU,MAAM;AAChB,UAAI,UAAU,QAAQ;AACpB,cAAM,OAAO,UAAU,KAAK,GAAG;AAC/B,eAAO,GAAG,IAAI,IAAI,KAAK,IAAI;AAAA,MAC7B,OAAO;AACL,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACL;AACF;AAEA,MAAM,mBAAmB,YAAY;AACnC,UAAQ,MAAM,QAAQ,QAAQ,EAAE,WAAW,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,QAAQ,IAAI,EAAE;AAC1H;AAEA,MAAM,sBAAsB,YAAY;AACtC,UAAQ,MAAM,QAAQ,QAAQ,EAAE,WAAW,KAAK,CAAC,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,QAAQ,IAAI,EAAE;AAC9H;AAEA,MAAM,UAAU,OAAO,KAAoB,iBAAyB;AAClE,UAAQ,IAAI,kBAAkB,YAAY,EAAE;AAC5C,QAAM,YAAY,MAAM,aAAa,YAAY;AAEjD,QAAM,UAAU,IAAI,QAAQ;AAE5B,QAAM,SAAS,YAAY,WAAW,OAAO;AAC7C,QAAM,SAAS,YAAY,aAAa,OAAO;AAE/C,QAAM,eAAe,UAAU,SAC3B,MAAM,QAAQ;AAAA,IACZ,UAAU,IAAI,OAAO,aAAa;AAChC,aAAQ,MAAM,SAAS,OAAO,QAAQ,QAAQ,IAAM,MAAM,SAAS,OAAO,QAAQ,QAAQ;AAAA,IAC5F,CAAC;AAAA,EACH,IACA,CAAE,MAAM,SAAS,OAAO,MAAM,IAAM,MAAM,SAAS,OAAO,MAAM,CAAE;AAGtE,QAAM,gBAAgB,MAAM,iBAAiB;AAC7C,QAAM,QAAQ;AAAA,IACZ,cAAc,IAAI,OAAO,SAAS;AAChC,YAAM,SAAS,MAAM,KAAK,QAAQ,QAAQ,OAAO,CAAC;AAAA,IACpD,CAAC;AAAA,EACH;AAEA,QAAM,mBAAmB,MAAM,oBAAoB;AACnD,QAAM,QAAQ;AAAA,IACZ,iBAAiB,IAAI,OAAO,SAAS;AACnC,YAAM,SAAS,MAAM,KAAK,QAAQ,YAAY,WAAW,CAAC;AAAA,IAC5D,CAAC;AAAA,EACH;AAEA,SAAO,aAAa,OAAO,CAAC,MAAM,SAAS,OAAO,MAAM,CAAC;AAC3D;AAEO,MAAM,iBAAiB,OAAO,EAAE,UAAU,MAAM,QAAQ,IAA0B,EAAE,SAAS,MAAM,MAAM;AAC9G,QAAM,WAAW,MAAM,YAAY,IAAI,EAAE,OAAO;AAChD,QAAM,eAAuB,UAAU,OAAO,SAAS,SAAS;AAChE,QAAM,UAAU,QAAQ,IAAI;AAC5B,MAAI,SAAS;AACX,YAAQ,IAAI,MAAM,MAAM,aAAa,OAAO,QAAQ,CAAC;AAAA,EACvD;AACA,QAAM,SAAU,MAAM,QAAQ,MAAM,kBAAkB,GAAG,YAAY,KAAM,UAAU,MAAM,eAAe,IAAI;AAC9G,MAAI,QAAQ;AACV,UAAM,QAAQ,MAAM,UAAU;AAC9B,YAAQ,IAAI,WAAW,KAAK,UAAU,OAAO,MAAM,CAAC,CAAC,EAAE;AACvD,YAAQ,MAAM,MAAM,IAAI,aAAa,OAAO,YAAY,MAAM,GAAG,CAAC;AAAA,EACpE,WAAW,SAAS;AAClB,YAAQ,IAAI,MAAM,MAAM,aAAa,OAAO,OAAO,CAAC;AAAA,EACtD;AACA,SAAO;AACT;","names":[]}