@xylabs/ts-scripts-yarn3 3.15.1 → 3.15.3

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 (59) hide show
  1. package/dist/actions/index.cjs +18 -13
  2. package/dist/actions/index.cjs.map +1 -1
  3. package/dist/actions/index.mjs +18 -13
  4. package/dist/actions/index.mjs.map +1 -1
  5. package/dist/actions/package/compile/compile.cjs +18 -13
  6. package/dist/actions/package/compile/compile.cjs.map +1 -1
  7. package/dist/actions/package/compile/compile.mjs +18 -13
  8. package/dist/actions/package/compile/compile.mjs.map +1 -1
  9. package/dist/actions/package/compile/getCompilerOptions.cjs +13 -13
  10. package/dist/actions/package/compile/getCompilerOptions.cjs.map +1 -1
  11. package/dist/actions/package/compile/getCompilerOptions.mjs +13 -13
  12. package/dist/actions/package/compile/getCompilerOptions.mjs.map +1 -1
  13. package/dist/actions/package/compile/index.cjs +18 -13
  14. package/dist/actions/package/compile/index.cjs.map +1 -1
  15. package/dist/actions/package/compile/index.mjs +18 -13
  16. package/dist/actions/package/compile/index.mjs.map +1 -1
  17. package/dist/actions/package/compile/packageCompileTsc.cjs +13 -13
  18. package/dist/actions/package/compile/packageCompileTsc.cjs.map +1 -1
  19. package/dist/actions/package/compile/packageCompileTsc.mjs +13 -13
  20. package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
  21. package/dist/actions/package/compile/packageCompileTscTypes.cjs +13 -13
  22. package/dist/actions/package/compile/packageCompileTscTypes.cjs.map +1 -1
  23. package/dist/actions/package/compile/packageCompileTscTypes.mjs +13 -13
  24. package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
  25. package/dist/actions/package/compile/packageCompileTsup.cjs +18 -13
  26. package/dist/actions/package/compile/packageCompileTsup.cjs.map +1 -1
  27. package/dist/actions/package/compile/packageCompileTsup.mjs +18 -13
  28. package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
  29. package/dist/actions/package/index.cjs +18 -13
  30. package/dist/actions/package/index.cjs.map +1 -1
  31. package/dist/actions/package/index.mjs +18 -13
  32. package/dist/actions/package/index.mjs.map +1 -1
  33. package/dist/actions/package/recompile.cjs +18 -13
  34. package/dist/actions/package/recompile.cjs.map +1 -1
  35. package/dist/actions/package/recompile.mjs +18 -13
  36. package/dist/actions/package/recompile.mjs.map +1 -1
  37. package/dist/bin/package/compile-only.cjs +18 -13
  38. package/dist/bin/package/compile-only.cjs.map +1 -1
  39. package/dist/bin/package/compile-only.mjs +18 -13
  40. package/dist/bin/package/compile-only.mjs.map +1 -1
  41. package/dist/bin/package/compile-tsup.cjs +18 -13
  42. package/dist/bin/package/compile-tsup.cjs.map +1 -1
  43. package/dist/bin/package/compile-tsup.mjs +18 -13
  44. package/dist/bin/package/compile-tsup.mjs.map +1 -1
  45. package/dist/bin/package/compile.cjs +18 -13
  46. package/dist/bin/package/compile.cjs.map +1 -1
  47. package/dist/bin/package/compile.mjs +18 -13
  48. package/dist/bin/package/compile.mjs.map +1 -1
  49. package/dist/bin/package/recompile.cjs +18 -13
  50. package/dist/bin/package/recompile.cjs.map +1 -1
  51. package/dist/bin/package/recompile.mjs +18 -13
  52. package/dist/bin/package/recompile.mjs.map +1 -1
  53. package/dist/index.cjs +18 -13
  54. package/dist/index.cjs.map +1 -1
  55. package/dist/index.mjs +18 -13
  56. package/dist/index.mjs.map +1 -1
  57. package/package.json +5 -5
  58. package/src/actions/package/compile/getCompilerOptions.ts +12 -11
  59. package/src/actions/package/compile/packageCompileTsup.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/package/recompile.ts","../../../src/actions/package/clean-outputs.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/compile/copyTypeFiles.ts"],"sourcesContent":["import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return (await Promise.all([packageClean(), packageCompile()])).reduce((prev, value) => prev + value, 0)\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport { rimraf } from 'rimraf'\n\nexport const packageCleanOutputs = async () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n await Promise.all(folders.map((folder) => rimraf(folder)))\n\n return 0\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport { rimraf } from 'rimraf'\n\nexport const packageCleanTypescript = async () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n await Promise.all(files.map((file) => rimraf(file)))\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport { XyConfig, XyTscConfig, XyTsupConfig } from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { merge } from 'lodash-es'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return merge({}, config, params)\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return merge({}, config, params)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\n\nexport interface PackagePublintParams {\n verbose?: boolean\n}\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /*try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n }*/\n }\n\n //we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter((message) => message.type === 'error').length\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport {\n CompilerOptions,\n DiagnosticCategory,\n FormatDiagnosticsHost,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n LineAndCharacter,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: (fileName) => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(await getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0) : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport { merge } from 'lodash-es'\nimport { CompilerOptions, findConfigFile, readConfigFile, sys } from 'typescript'\n\nexport const getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let opts: any = {}\n const config = readConfigFile(filename, sys.readFile).config\n if (config.extends) {\n const require = createRequire(import.meta.url)\n opts = require(config.extends)\n }\n if (config?.error) {\n throw new Error(`getCompilerOptionsJSONFollowExtends failed ${JSON.stringify(config?.error?.messageText, null, 2)}`)\n }\n\n return { ...opts.compilerOptions, ...config.compilerOptions }\n}\n\nexport const getCompilerOptions = async (options?: CompilerOptions, tsconfig: string = 'tsconfig.json'): Promise<CompilerOptions> => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = configFileName ? await getCompilerOptionsJSONFollowExtends(configFileName) : undefined\n\n return merge({}, configFileCompilerOptions, options)\n}\n","import { merge } from 'lodash-es'\nimport { build, defineConfig, Options } from 'tsup'\n\nimport { packagePublint } from '../publint.ts'\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, verbose?: boolean) => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: false,\n entry,\n format: ['cjs', 'esm'],\n // minify: true,\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n // terserOptions: { format: { comments: false } },\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n await Promise.all(optionsList.map((options) => build(options)))\n await packageCompileTscTypes(folder, { verbose }, { outDir })\n\n return 0\n}\n\n// eslint-disable-next-line complexity\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n return (\n (await packageCompileTsc(true, { publint: false, verbose })) ||\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder ?\n await compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs', 'esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/node',\n platform: 'node',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'node16',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (publint ? await packagePublint() : 0)\n )\n}\n","import { readdir } from 'node:fs/promises'\n\nimport { glob } from 'glob'\n\nexport const getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter(\n (file) => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.includes('.spec.') && !file.includes('.stories.'),\n )\n .map((file) => (subDir ? `${subDir}/${file}` : file))\n}\n\nexport const getInputDirs = async (depth: number = 0) => {\n if (depth === 0) {\n return []\n }\n return [\n '.',\n ...(await readdir('src', { recursive: true, withFileTypes: true }))\n .filter((file) => file.isDirectory())\n .map((file) => {\n const pathParts = file.path?.split('/') ?? []\n pathParts.shift()\n if (pathParts.length > 0) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nexport const getAllInputs = async (depth = 100) => {\n const dirs = await getInputDirs(depth)\n return (await Promise.all(dirs.map(async (dir) => await getInputs(dir)))).flat()\n}\n\nexport const getAllInputs2 = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs2 } from './inputs.ts'\nimport { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode?: EntryMode, verbose = false) => {\n switch (entryMode) {\n case 'platform': {\n if (verbose) console.log('buildEntries [platform]')\n return [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n }\n case 'all': {\n if (verbose) console.log('buildEntries [all]')\n return getAllInputs2(folder).filter((entry) => !entry.includes('.spec.') && !entry.includes('.story.'))\n }\n default: {\n if (verbose) console.log('buildEntries [single]')\n return [`${folder}/index.ts`]\n }\n }\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport { CompilerOptions, DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { copyTypeFiles } from './copyTypeFiles.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = async (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n generateMts = true,\n): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n if (verbose) {\n console.log(`Compiling types with TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(await getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: true,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: true,\n })),\n ...compilerOptionsParam,\n } as TsConfigCompilerOptions\n\n //calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all')\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n if (generateMts) {\n await copyTypeFiles(compilerOptions)\n }\n return diagResults\n}\n","import { copyFile, readdir } from 'node:fs/promises'\n\nimport { Mutex } from 'async-mutex'\nimport { TsConfigCompilerOptions } from 'tsc-prog'\n\nconst copyFileMutex = new Mutex()\n\nconst getDistTypeFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n const outDir = compilerOptions.outDir ?? 'dist'\n return (await readdir(outDir, { recursive: true })).filter((file) => file.endsWith('d.ts')).map((file) => `${outDir}/${file}`)\n}\n\nconst getDistTypeMapFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n const outDir = compilerOptions.outDir ?? 'dist'\n return (await readdir(outDir, { recursive: true })).filter((file) => file.endsWith('d.ts.map')).map((file) => `${outDir}/${file}`)\n}\n\nexport const copyTypeFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n //using a mutex since sometimes two compiles are running at once and cause a lock on windows\n await copyFileMutex.runExclusive(async () => {\n //hybrid packages want two copies of the types\n const distTypeFiles = await getDistTypeFiles(compilerOptions)\n await Promise.all(\n distTypeFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts', 'd.mts'))\n await copyFile(file, file.replace('d.ts', 'd.cts'))\n }),\n )\n\n const distTypeMapFiles = await getDistTypeMapFiles(compilerOptions)\n await Promise.all(\n distTypeMapFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts.map', 'd.mts.map'))\n await copyFile(file, file.replace('d.ts.map', 'd.cts.map'))\n }),\n )\n })\n}\n"],"mappings":"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","names":["packageCleanOutputs","pkg","process","env","INIT_CWD","pkgName","npm_package_name","folders","path","join","console","log","chalk","green","Promise","all","map","folder","rimraf","import_node_path","import_chalk","import_rimraf","packageCleanTypescript","pkg","process","env","INIT_CWD","pkgName","npm_package_name","console","log","chalk","green","files","path","join","Promise","all","map","file","rimraf","packageClean","Promise","all","packageCleanOutputs","packageCleanTypescript","reduce","prev","value","import_chalk","import_chalk","config","loadConfig","params","merge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","import_chalk","packagePublint","params","pkgDir","process","env","INIT_CWD","pkg","JSON","parse","fs","readFile","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","import_chalk","import_typescript","import_lodash_es","getCompilerOptionsJSONFollowExtends","filename","opts","config","readConfigFile","sys","readFile","extends","require","createRequire","url","error","Error","JSON","stringify","messageText","compilerOptions","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","merge","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","import_lodash_es","getAllInputs2","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs2","filter","entry","includes","import_node_process","import_chalk","import_tsc_prog","import_typescript","import_promises","copyFileMutex","Mutex","getDistTypeFiles","compilerOptions","outDir","readdir","recursive","filter","file","endsWith","map","getDistTypeMapFiles","copyTypeFiles","runExclusive","distTypeFiles","Promise","all","copyFile","replace","distTypeMapFiles","packageCompileTscTypes","folder","verbose","compilerOptionsParam","generateMts","pkg","process","env","INIT_CWD","cwd","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","copyTypeFiles","compileFolder","folder","entryMode","options","verbose","outDir","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTscTypes","packageCompileTsup","config","compile","publint","console","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","packageCompileTsc","Object","entries","inEsBuildOptions","esbuildOptions","loader","merge","platform","skipNodeModulesBundle","target","tsup","reduce","prev","value","outExtension","js","packagePublint","packageCompile","inConfig","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","packageRecompile","Promise","all","packageClean","packageCompile","reduce","prev","value"]}
1
+ {"version":3,"sources":["../../../src/actions/package/recompile.ts","../../../src/actions/package/clean-outputs.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/compile/copyTypeFiles.ts"],"sourcesContent":["import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return (await Promise.all([packageClean(), packageCompile()])).reduce((prev, value) => prev + value, 0)\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport { rimraf } from 'rimraf'\n\nexport const packageCleanOutputs = async () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n await Promise.all(folders.map((folder) => rimraf(folder)))\n\n return 0\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport { rimraf } from 'rimraf'\n\nexport const packageCleanTypescript = async () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n await Promise.all(files.map((file) => rimraf(file)))\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport { XyConfig, XyTscConfig, XyTsupConfig } from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { merge } from 'lodash-es'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return merge({}, config, params)\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return merge({}, config, params)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\n\nexport interface PackagePublintParams {\n verbose?: boolean\n}\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /*try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n }*/\n }\n\n //we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter((message) => message.type === 'error').length\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport {\n CompilerOptions,\n DiagnosticCategory,\n FormatDiagnosticsHost,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n LineAndCharacter,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: (fileName) => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(await getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0) : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport { merge } from 'lodash-es'\nimport { TsConfig } from 'tsc-prog'\nimport { CompilerOptions, findConfigFile, readConfigFile, sys } from 'typescript'\n\nconst getNested = (config: TsConfig): CompilerOptions => {\n if (config.extends) {\n const require = createRequire(import.meta.url)\n const opts = require(config.extends)\n return { ...getNested(opts), ...config.compilerOptions } as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nexport const getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n const config = readConfigFile(filename, sys.readFile).config\n return getNested(config)\n}\n\nexport const getCompilerOptions = (options?: CompilerOptions, tsconfig: string = 'tsconfig.json'): CompilerOptions => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : undefined\n\n return merge({}, configFileCompilerOptions, options)\n}\n","import { merge } from 'lodash-es'\nimport { build, defineConfig, Options } from 'tsup'\n\nimport { packagePublint } from '../publint.ts'\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, verbose?: boolean) => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: false,\n entry,\n format: ['cjs', 'esm'],\n // minify: true,\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n // terserOptions: { format: { comments: false } },\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n await Promise.all(optionsList.map((options) => build(options)))\n await packageCompileTscTypes(folder, { verbose }, { outDir })\n\n return 0\n}\n\n// eslint-disable-next-line complexity\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n return (\n (await packageCompileTsc(true, { publint: false, verbose })) ||\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder ?\n await compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs', 'esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/node',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'node',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'node16',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (publint ? await packagePublint() : 0)\n )\n}\n","import { readdir } from 'node:fs/promises'\n\nimport { glob } from 'glob'\n\nexport const getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter(\n (file) => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.includes('.spec.') && !file.includes('.stories.'),\n )\n .map((file) => (subDir ? `${subDir}/${file}` : file))\n}\n\nexport const getInputDirs = async (depth: number = 0) => {\n if (depth === 0) {\n return []\n }\n return [\n '.',\n ...(await readdir('src', { recursive: true, withFileTypes: true }))\n .filter((file) => file.isDirectory())\n .map((file) => {\n const pathParts = file.path?.split('/') ?? []\n pathParts.shift()\n if (pathParts.length > 0) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nexport const getAllInputs = async (depth = 100) => {\n const dirs = await getInputDirs(depth)\n return (await Promise.all(dirs.map(async (dir) => await getInputs(dir)))).flat()\n}\n\nexport const getAllInputs2 = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs2 } from './inputs.ts'\nimport { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode?: EntryMode, verbose = false) => {\n switch (entryMode) {\n case 'platform': {\n if (verbose) console.log('buildEntries [platform]')\n return [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n }\n case 'all': {\n if (verbose) console.log('buildEntries [all]')\n return getAllInputs2(folder).filter((entry) => !entry.includes('.spec.') && !entry.includes('.story.'))\n }\n default: {\n if (verbose) console.log('buildEntries [single]')\n return [`${folder}/index.ts`]\n }\n }\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport { CompilerOptions, DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { copyTypeFiles } from './copyTypeFiles.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = async (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n generateMts = true,\n): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n if (verbose) {\n console.log(`Compiling types with TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(await getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: true,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: true,\n })),\n ...compilerOptionsParam,\n } as TsConfigCompilerOptions\n\n //calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all')\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n if (generateMts) {\n await copyTypeFiles(compilerOptions)\n }\n return diagResults\n}\n","import { copyFile, readdir } from 'node:fs/promises'\n\nimport { Mutex } from 'async-mutex'\nimport { TsConfigCompilerOptions } from 'tsc-prog'\n\nconst copyFileMutex = new Mutex()\n\nconst getDistTypeFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n const outDir = compilerOptions.outDir ?? 'dist'\n return (await readdir(outDir, { recursive: true })).filter((file) => file.endsWith('d.ts')).map((file) => `${outDir}/${file}`)\n}\n\nconst getDistTypeMapFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n const outDir = compilerOptions.outDir ?? 'dist'\n return (await readdir(outDir, { recursive: true })).filter((file) => file.endsWith('d.ts.map')).map((file) => `${outDir}/${file}`)\n}\n\nexport const copyTypeFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n //using a mutex since sometimes two compiles are running at once and cause a lock on windows\n await copyFileMutex.runExclusive(async () => {\n //hybrid packages want two copies of the types\n const distTypeFiles = await getDistTypeFiles(compilerOptions)\n await Promise.all(\n distTypeFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts', 'd.mts'))\n await copyFile(file, file.replace('d.ts', 'd.cts'))\n }),\n )\n\n const distTypeMapFiles = await getDistTypeMapFiles(compilerOptions)\n await Promise.all(\n distTypeMapFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts.map', 'd.mts.map'))\n await copyFile(file, file.replace('d.ts.map', 'd.cts.map'))\n }),\n )\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,uBAAiB;AAEjB,mBAAkB;AAClB,oBAAuB;AAEhB,IAAMA,sBAAsB,mCAAA;AACjC,QAAMC,MAAMC,QAAQC,IAAIC,YAAY;AACpC,QAAMC,UAAUH,QAAQC,IAAIG;AAC5B,QAAMC,UAAoB;IAACC,iBAAAA,QAAKC,KAAKR,KAAK,MAAA;IAASO,iBAAAA,QAAKC,KAAKR,KAAK,OAAA;IAAUO,iBAAAA,QAAKC,KAAKR,KAAK,MAAA;;AAC3FS,UAAQC,IAAIC,aAAAA,QAAMC,MAAM,qBAAqBR,OAAAA,GAAU,CAAA;AAEvD,QAAMS,QAAQC,IAAIR,QAAQS,IAAI,CAACC,eAAWC,sBAAOD,MAAAA,CAAAA,CAAAA;AAEjD,SAAO;AACT,GATmC;;;ACLnC,IAAAE,oBAAiB;AAEjB,IAAAC,gBAAkB;AAClB,IAAAC,iBAAuB;AAEhB,IAAMC,yBAAyB,mCAAA;AACpC,QAAMC,MAAMC,QAAQC,IAAIC,YAAY;AACpC,QAAMC,UAAUH,QAAQC,IAAIG;AAC5BC,UAAQC,IAAIC,cAAAA,QAAMC,MAAM,wBAAwBL,OAAAA,GAAU,CAAA;AAC1D,QAAMM,QAAkB;IAACC,kBAAAA,QAAKC,KAAKZ,KAAK,eAAA;IAAkBW,kBAAAA,QAAKC,KAAKZ,KAAK,aAAA;IAAgBW,kBAAAA,QAAKC,KAAKZ,KAAK,cAAA;;AAExG,QAAMa,QAAQC,IAAIJ,MAAMK,IAAI,CAACC,aAASC,uBAAOD,IAAAA,CAAAA,CAAAA;AAE7C,SAAO;AACT,GATsC;;;ACF/B,IAAME,eAAe,mCAAA;AAC1B,UAAQ,MAAMC,QAAQC,IAAI;IAACC,oBAAAA;IAAuBC,uBAAAA;GAAyB,GAAGC,OAAO,CAACC,MAAMC,UAAUD,OAAOC,OAAO,CAAA;AACtH,GAF4B;;;ACH5B,IAAAC,gBAAkB;;;ACAlB,IAAAC,gBAAkB;AAClB,yBAA4B;AAC5B,uBAAsB;AAEtB,IAAIC;AAEG,IAAMC,aAAa,8BAAyBC,WAAAA;AACjD,MAAIF,QAAQ;AACV,eAAOG,wBAAM,CAAC,GAAGH,QAAQE,MAAAA;EAC3B;AAEA,QAAME,qBAAqB,UAAMC,gCAAY,MAAM;IAAEC,OAAO;EAAK,CAAA,EAAGC,OAAM;AAC1EP,WAASI,oBAAoBJ;AAC7B,QAAMQ,iBAAiBJ,oBAAoBK;AAC3C,MAAID,gBAAgB;AAClBE,YAAQC,IAAIC,cAAAA,QAAMC,KAAK,uBAAuBL,cAAAA,EAAgB,CAAA;EAChE;AACA,aAAOL,wBAAM,CAAC,GAAGH,QAAQE,MAAAA;AAC3B,GAZ0B;;;ACN1B,qBAA+B;AAE/B,IAAAY,gBAAkB;AAOX,IAAMC,iBAAiB,8BAAOC,WAAAA;AACnC,QAAMC,SAASC,QAAQC,IAAIC;AAC3B,QAAMC,MAAMC,KAAKC,MAAM,MAAMC,eAAAA,SAAGC,SAAS,GAAGR,MAAAA,iBAAuB,MAAA,CAAA;AAEnES,UAAQC,IAAIC,cAAAA,QAAMC,MAAM,YAAYR,IAAIS,IAAI,EAAE,CAAA;AAC9CJ,UAAQC,IAAIC,cAAAA,QAAMG,KAAKd,MAAAA,CAAAA;AAEvB,QAAM,EAAEe,QAAO,IAAK,MAAM,OAAO,SAAA;AAEjC,QAAM,EAAEC,SAAQ,IAAK,MAAMD,QAAQ;IACjCE,OAAO;IACPjB;IACAkB,QAAQ;EACV,CAAA;AAGA,QAAM,EAAEC,cAAa,IAAK,MAAM,OAAO,eAAA;AAEvC,QAAMC,eAAe,wBAACC,aAAAA;AACpB,WAAO;EAiBT,GAlBqB;AAqBrB,QAAMC,gBAAgBN,SAASO,OAAOH,YAAAA;AACtC,aAAWI,WAAWF,eAAe;AACnC,YAAQE,QAAQC,MAAI;MAClB,KAAK,SAAS;AACZhB,gBAAQiB,MAAMf,cAAAA,QAAMgB,IAAI,IAAIH,QAAQI,IAAI,KAAKT,cAAcK,SAASpB,GAAAA,CAAAA,EAAM,CAAA;AAC1E;MACF;MACA,KAAK,WAAW;AACdK,gBAAQoB,KAAKlB,cAAAA,QAAMmB,OAAO,IAAIN,QAAQI,IAAI,KAAKT,cAAcK,SAASpB,GAAAA,CAAAA,EAAM,CAAA;AAC5E;MACF;MACA,SAAS;AACPK,gBAAQC,IAAIC,cAAAA,QAAMoB,MAAM,IAAIP,QAAQI,IAAI,KAAKT,cAAcK,SAASpB,GAAAA,CAAAA,EAAM,CAAA;AAC1E;MACF;IACF;EACF;AAEA,MAAIL,QAAQiC,SAAS;AACnBvB,YAAQC,IAAIC,cAAAA,QAAMG,KAAK,qBAAqBd,MAAAA,KAAWsB,cAAcW,MAAM,GAAG,CAAA;EAChF;AAEA,SAAOX,cAAcC,OAAO,CAACC,YAAYA,QAAQC,SAAS,OAAA,EAASQ;AACrE,GA9D8B;;;ACT9B,0BAAoB;AAEpB,IAAAC,gBAAkB;AAClB,sBAAiE;AACjE,IAAAC,qBAQO;;;ACZP,yBAA8B;AAE9B,IAAAC,oBAAsB;AAEtB,wBAAqE;AAJrE;AAMA,IAAMC,YAAY,wBAACC,YAAAA;AACjB,MAAIA,QAAOC,SAAS;AAClB,UAAMC,eAAUC,kCAAc,YAAYC,GAAG;AAC7C,UAAMC,OAAOH,SAAQF,QAAOC,OAAO;AACnC,WAAO;MAAE,GAAGF,UAAUM,IAAAA;MAAO,GAAGL,QAAOM;IAAgB;EACzD;AAEA,SAAON,QAAOM;AAChB,GARkB;AAUX,IAAMC,sCAAsC,wBAACC,aAAAA;AAClD,QAAMR,cAASS,kCAAeD,UAAUE,sBAAIC,QAAQ,EAAEX;AACtD,SAAOD,UAAUC,OAAAA;AACnB,GAHmD;AAK5C,IAAMY,qBAAqB,wBAACC,SAA2BC,WAAmB,oBAAe;AAC9F,QAAMC,qBAAiBC,kCAAe,MAAMN,sBAAIO,YAAYH,QAAAA;AAC5D,QAAMI,4BAA4BH,iBAAiBR,oCAAoCQ,cAAAA,IAAkBI;AAEzG,aAAOC,yBAAM,CAAC,GAAGF,2BAA2BL,OAAAA;AAC9C,GALkC;;;ADH3B,IAAMQ,oBAAoB,8BAAOC,QAAkBC,SAAsBC,yBAAAA;AAC9E,QAAMC,MAAMC,QAAQC,IAAIC,gBAAYC,yBAAAA;AAEpC,QAAMC,UAAUP,SAAQO,WAAW;AACnC,QAAMC,UAAUR,SAAQQ,WAAW;AAEnC,QAAMC,aAAoC;IACxCC,sBAAsB,wBAACC,aAAaA,UAAd;IACtBC,qBAAqB,6BAAMV,KAAN;IACrBW,YAAY,6BAAM,MAAN;EACd;AAEA,MAAIL,SAAS;AACXM,YAAQC,IAAI,8BAA8Bb,GAAAA,GAAM;EAClD;AAEA,QAAMc,kBAAkB;IACtB,GAAI,MAAMC,mBAAmB;MAC3BC,QAAQ;MACRC,gBAAgB;MAChBC,SAAS;IACX,CAAA;IACA,GAAGnB;IACH,GAAIF,WAAWsB,SAAY,CAAC,IAAI;MAAEtB;IAAO;EAC3C;AAEA,QAAMuB,cAAUC,yCAAwB;IACtCC,UAAUtB,WAAOI,yBAAAA;IACjBU;IACAS,SAAS;MAAC;MAAQ;MAAQ;MAAe;MAAkB;;IAC3DC,SAAS;MAAC;;EACZ,CAAA;AAEA,QAAMC,cAAUC,0CAAsBN,OAAAA;AAEtC,aAAWO,QAAQF,SAAS;AAC1B,UAAMG,cAAgCD,KAAKE,WAAOC,kDAA8BH,KAAKE,MAAMF,KAAKI,SAAS,CAAA,IAAK;MAAEC,WAAW;MAAGC,MAAM;IAAE;AACtIrB,YAAQC,IAAIqB,cAAAA,QAAMC,KAAK,GAAGR,KAAKE,MAAMpB,QAAAA,IAAYmB,YAAYK,OAAO,CAAA,IAAKL,YAAYI,YAAY,CAAA,EAAG,CAAA;AACpGpB,YAAQC,QAAIuB,yDAAqC;MAACT;OAAOpB,UAAAA,CAAAA;EAC3D;AAGA,SAAOkB,QAAQY,OAAO,CAACC,MAAMX,SAAUW,OAAOX,KAAKY,aAAaC,sCAAmBC,QAAQ,IAAI,GAAI,CAAA,MAAOpC,UAAU,MAAMqC,eAAAA,IAAmB;AAC/I,GA3CiC;;;AElBjC,IAAAC,oBAAsB;AACtB,kBAA6C;;;ACD7C,sBAAwB;AAExB,kBAAqB;AAoCd,IAAMC,gBAAgB,wBAACC,WAAAA;AAE5B,SAAOC,iBAAKC,KAAK,GAAGF,MAAAA,WAAiB;IAAEG,QAAQ;MAAC;MAAe;MAAkB;;IAAiBC,OAAO;EAAK,CAAA;AAChH,GAH6B;;;ACnCtB,IAAMC,eAAe,wBAACC,QAAgBC,WAAuBC,UAAU,UAAK;AACjF,UAAQD,WAAAA;IACN,KAAK,YAAY;AACf,UAAIC,QAASC,SAAQC,IAAI,yBAAA;AACzB,aAAO;QAAC,GAAGJ,MAAAA;QAAwB,GAAGA,MAAAA;;IACxC;IACA,KAAK,OAAO;AACV,UAAIE,QAASC,SAAQC,IAAI,oBAAA;AACzB,aAAOC,cAAcL,MAAAA,EAAQM,OAAO,CAACC,UAAU,CAACA,MAAMC,SAAS,QAAA,KAAa,CAACD,MAAMC,SAAS,SAAA,CAAA;IAC9F;IACA,SAAS;AACP,UAAIN,QAASC,SAAQC,IAAI,uBAAA;AACzB,aAAO;QAAC,GAAGJ,MAAAA;;IACb;EACF;AACF,GAf4B;;;ACH5B,IAAAS,uBAAoB;AAEpB,IAAAC,gBAAkB;AAClB,IAAAC,mBAAiE;AACjE,IAAAC,qBAAoD;;;ACJpD,IAAAC,mBAAkC;AAElC,yBAAsB;AAGtB,IAAMC,gBAAgB,IAAIC,yBAAAA;AAE1B,IAAMC,mBAAmB,8BAAOC,oBAAAA;AAC9B,QAAMC,SAASD,gBAAgBC,UAAU;AACzC,UAAQ,UAAMC,0BAAQD,QAAQ;IAAEE,WAAW;EAAK,CAAA,GAAIC,OAAO,CAACC,SAASA,KAAKC,SAAS,MAAA,CAAA,EAASC,IAAI,CAACF,SAAS,GAAGJ,MAAAA,IAAUI,IAAAA,EAAM;AAC/H,GAHyB;AAKzB,IAAMG,sBAAsB,8BAAOR,oBAAAA;AACjC,QAAMC,SAASD,gBAAgBC,UAAU;AACzC,UAAQ,UAAMC,0BAAQD,QAAQ;IAAEE,WAAW;EAAK,CAAA,GAAIC,OAAO,CAACC,SAASA,KAAKC,SAAS,UAAA,CAAA,EAAaC,IAAI,CAACF,SAAS,GAAGJ,MAAAA,IAAUI,IAAAA,EAAM;AACnI,GAH4B;AAKrB,IAAMI,gBAAgB,8BAAOT,oBAAAA;AAElC,QAAMH,cAAca,aAAa,YAAA;AAE/B,UAAMC,gBAAgB,MAAMZ,iBAAiBC,eAAAA;AAC7C,UAAMY,QAAQC,IACZF,cAAcJ,IAAI,OAAOF,SAAAA;AACvB,gBAAMS,2BAAST,MAAMA,KAAKU,QAAQ,QAAQ,OAAA,CAAA;AAC1C,gBAAMD,2BAAST,MAAMA,KAAKU,QAAQ,QAAQ,OAAA,CAAA;IAC5C,CAAA,CAAA;AAGF,UAAMC,mBAAmB,MAAMR,oBAAoBR,eAAAA;AACnD,UAAMY,QAAQC,IACZG,iBAAiBT,IAAI,OAAOF,SAAAA;AAC1B,gBAAMS,2BAAST,MAAMA,KAAKU,QAAQ,YAAY,WAAA,CAAA;AAC9C,gBAAMD,2BAAST,MAAMA,KAAKU,QAAQ,YAAY,WAAA,CAAA;IAChD,CAAA,CAAA;EAEJ,CAAA;AACF,GApB6B;;;ADNtB,IAAME,yBAAyB,8BACpCC,SAAiB,OACjB,EAAEC,QAAO,IAAe,CAAC,GACzBC,sBACAC,cAAc,SAAI;AAElB,QAAMC,MAAMC,QAAQC,IAAIC,gBAAYC,0BAAAA;AAEpC,MAAIP,SAAS;AACXQ,YAAQC,IAAI,6BAA6BN,GAAAA,GAAM;EACjD;AAEA,QAAMO,kBAAkB;IACtB,GAAI,MAAMC,mBAAmB;MAC3BC,aAAa;MACbC,qBAAqB;MACrBC,QAAQ;MACRC,gBAAgB;MAChBC,qBAAqB;MACrBC,cAAc;MACdC,WAAW;IACb,CAAA;IACA,GAAGjB;EACL;AAGA,QAAMkB,QAAQC,aAAarB,QAAQ,KAAA;AAEnC,QAAMsB,aAASC,0CAAwB;IACrCC,UAAUpB,WAAOI,0BAAAA;IACjBG;IACAc,SAAS;MAAC;MAAQ;MAAQ;MAAe;MAAkB;;IAC3DL;EACF,CAAA,EAAGM,KAAI;AAEP,QAAMC,cAAcL,OAAOM,YAAYC;AACvC,aAAWC,QAAQR,OAAOM,aAAa;AACrC,YAAQE,KAAKC,UAAQ;MACnB,KAAKC,sCAAmBC,OAAO;AAC7BxB,gBAAQyB,MAAMC,cAAAA,QAAMC,IAAIN,KAAKO,WAAW,CAAA;AACxC5B,gBAAQyB,MAAMC,cAAAA,QAAMG,KAAKlC,GAAAA,CAAAA;AACzBK,gBAAQyB,MAAMC,cAAAA,QAAMI,KAAKT,KAAKU,MAAMC,QAAAA,CAAAA;AACpC;MACF;MACA,KAAKT,sCAAmBU,SAAS;AAC/BjC,gBAAQyB,MAAMC,cAAAA,QAAMQ,OAAOb,KAAKO,WAAW,CAAA;AAC3C5B,gBAAQyB,MAAMC,cAAAA,QAAMG,KAAKlC,GAAAA,CAAAA;AACzBK,gBAAQyB,MAAMC,cAAAA,QAAMI,KAAKT,KAAKU,MAAMC,QAAAA,CAAAA;AACpC;MACF;MACA,KAAKT,sCAAmBY,YAAY;AAClCnC,gBAAQyB,MAAMC,cAAAA,QAAMU,MAAMf,KAAKO,WAAW,CAAA;AAC1C5B,gBAAQyB,MAAMC,cAAAA,QAAMG,KAAKlC,GAAAA,CAAAA;AACzBK,gBAAQyB,MAAMC,cAAAA,QAAMI,KAAKT,KAAKU,MAAMC,QAAAA,CAAAA;AACpC;MACF;IACF;EACF;AACA,MAAItC,aAAa;AACf,UAAM2C,cAAcnC,eAAAA;EACtB;AACA,SAAOgB;AACT,GA9DsC;;;AHFtC,IAAMoB,gBAAgB,8BAAOC,QAAgBC,YAAuB,UAAUC,SAAmBC,YAAAA;AAC/F,QAAMC,SAASF,SAASE,UAAU;AAClC,QAAMC,QAAQC,aAAaN,QAAQC,SAAAA;AACnC,QAAMM,oBAAgBC,0BAAa;IACjCC,QAAQ;IACRC,YAAY;IACZC,OAAO;IACPC,KAAK;IACLP;IACAQ,QAAQ;MAAC;MAAO;;;IAEhBT;IACAU,QAAQ;IACRC,WAAW;IACXC,WAAW;;IAEXC,UAAU;IACV,GAAGf;EACL,CAAA;AACA,QAAMgB,eACJ,MAAMC,QAAQC,KACXC,MAAMC,QAAQf,aAAAA,IAAiBA,gBAAgB;IAACA;KAAgBgB,QAA4B,OAAOrB,aAAAA;AAClG,UAAMsB,SAAS,OAAOtB,aAAY,aAAa,MAAMA,SAAQ,CAAC,CAAA,IAAK;MAACA;;AACpE,WAAOmB,MAAMC,QAAQE,MAAAA,IAAUA,SAAS;MAACA;;EAC3C,CAAA,CAAA,GAEFC,KAAI;AAEN,QAAMN,QAAQC,IAAIF,YAAYQ,IAAI,CAACxB,iBAAYyB,mBAAMzB,QAAAA,CAAAA,CAAAA;AACrD,QAAM0B,uBAAuB5B,QAAQ;IAAEG;EAAQ,GAAG;IAAEC;EAAO,CAAA;AAE3D,SAAO;AACT,GAhCsB;AAmCf,IAAMyB,qBAAqB,8BAAOC,YAAAA;AACvC,QAAMC,UAAUD,SAAQC;AACxB,QAAMC,UAAUF,SAAQE,WAAW;AACnC,QAAM7B,UAAU2B,SAAQ3B,WAAW;AACnC,MAAIA,SAAS;AACX8B,YAAQC,IAAI,+BAA+BH,SAASI,KAAAA,GAAQ;EAC9D;AAEA,QAAMC,iBAAiBL,SAASM,QAAQ;IAAEC,KAAK,CAAC;EAAE;AAClD,QAAMC,oBAAoBR,SAASS,WAAW;IAAEF,KAAK,CAAC;EAAE;AACxD,QAAMG,oBAAoBV,SAASW,WAAW;IAAEJ,KAAK,CAAC;EAAE;AAExD,SACG,MAAMK,kBAAkB,MAAM;IAAEX,SAAS;IAAO7B;EAAQ,CAAA,MAEvD,MAAMgB,QAAQC,IACZwB,OAAOC,QAAQT,cAAAA,EAAgBV,IAAI,OAAO,CAAC1B,QAAQE,OAAAA,MAAQ;AACzD,UAAM4C,mBAAmB,OAAOf,SAASM,MAAMU,mBAAmB,WAAWhB,SAASM,MAAMU,iBAAiB,CAAC;AAC9G,WAAO/C,SACH,MAAMD,cACJC,QACA+B,SAAS9B,WACT;MACEQ,QAAQ;MACRI,QAAQ;QAAC;QAAO;;MAChBmC,YAAQC,yBACN,CAAC,GACD;QAAE,QAAQ;QAAQ,SAAS;QAAQ,QAAQ;QAAQ,SAAS;QAAQ,QAAQ;QAAQ,QAAQ;QAAQ,SAAS;MAAO,GACpHH,kBAAkBE,MAAAA;;MAGpB5C,QAAQ;MACR8C,cAAc,wBAAC,EAAErC,OAAM,MAAQA,WAAW,QAAQ;QAAEsC,IAAI;MAAO,IAAI;QAAEA,IAAI;MAAO,GAAlE;MACdC,UAAU;MACVC,uBAAuB;MACvBtC,WAAW;MACXuC,QAAQ;;MAER,GAAGvB,SAASwB,MAAMrD;MAClB,GAAI,OAAOA,YAAY,WAAWA,UAAU,CAAC;IAC/C,GACAC,OAAAA,IAEF;EACN,CAAA,CAAA,GAEFqD,OAAO,CAACC,MAAMC,UAAUD,OAAOC,OAAO,CAAA,MAEtC,MAAMvC,QAAQC,IACZwB,OAAOC,QAAQN,iBAAAA,EAAmBb,IAAI,OAAO,CAAC1B,QAAQE,OAAAA,MAAQ;AAC5D,UAAM4C,mBAAmB,OAAOf,SAASS,SAASO,mBAAmB,WAAWhB,SAASS,SAASO,iBAAiB,CAAC;AACpH,WAAO/C,UAED,MAAMmB,QAAQC,IAAI;MAChBrB,cACEC,QACA+B,SAAS9B,WACT;QACEQ,QAAQ;QACRI,QAAQ;UAAC;;QACTmC,YAAQC,yBACN,CAAC,GACD;UAAE,QAAQ;UAAQ,SAAS;UAAQ,QAAQ;UAAQ,SAAS;UAAQ,QAAQ;UAAQ,QAAQ;UAAQ,SAAS;QAAO,GACpHH,kBAAkBE,MAAAA;;QAGpB5C,QAAQ;QACR8C,cAAc,wBAAC,EAAErC,OAAM,MAAQA,WAAW,QAAQ;UAAEsC,IAAI;QAAO,IAAI;UAAEA,IAAI;QAAO,GAAlE;QACdC,UAAU;QACVC,uBAAuB;QACvBtC,WAAW;QACXuC,QAAQ;;QAER,GAAGvB,SAASwB,MAAMrD;QAClB,GAAI,OAAOA,YAAY,WAAWA,UAAU,CAAC;MAC/C,GACAC,OAAAA;MAEFJ,cACEC,QACA+B,SAAS9B,WACT;QACEQ,QAAQ;QACRI,QAAQ;UAAC;;QACTmC,YAAQC,yBACN,CAAC,GACD;UAAE,QAAQ;UAAQ,SAAS;UAAQ,QAAQ;UAAQ,SAAS;UAAQ,QAAQ;UAAQ,QAAQ;UAAQ,SAAS;QAAO,GACpHH,kBAAkBE,MAAAA;;QAGpB5C,QAAQ;QACR8C,cAAc,wBAAC,EAAErC,OAAM,MAAQA,WAAW,QAAQ;UAAEsC,IAAI;QAAO,IAAI;UAAEA,IAAI;QAAO,GAAlE;QACdC,UAAU;QACVC,uBAAuB;QACvBtC,WAAW;QACXuC,QAAQ;;QAER,GAAGvB,SAASwB,MAAMrD;QAClB,GAAI,OAAOA,YAAY,WAAWA,UAAU,CAAC;MAC/C,GACAC,OAAAA;KAEH,GACDqD,OAAO,CAACC,MAAMC,UAAUD,OAAOC,OAAO,CAAA,IACxC;EACN,CAAA,CAAA,GAEFF,OAAO,CAACC,MAAMC,UAAUD,OAAOC,OAAO,CAAA,MAEtC,MAAMvC,QAAQC,IACZwB,OAAOC,QAAQJ,iBAAAA,EAAmBf,IAAI,OAAO,CAAC1B,QAAQE,OAAAA,MAAQ;AAC5D,UAAM4C,mBAAmB,OAAOf,SAASW,SAASK,mBAAmB,WAAWhB,SAASW,SAASK,iBAAiB,CAAC;AACpH,WAAO/C,UAED,MAAMmB,QAAQC,IAAI;MAChBrB,cACEC,QACA+B,SAAS9B,WACT;QACEQ,QAAQ;QACRI,QAAQ;UAAC;;QACTmC,YAAQC,yBACN,CAAC,GACD;UAAE,QAAQ;UAAQ,SAAS;UAAQ,QAAQ;UAAQ,SAAS;UAAQ,QAAQ;UAAQ,QAAQ;UAAQ,SAAS;QAAO,GACpHH,kBAAkBE,MAAAA;;QAGpB5C,QAAQ;QACR8C,cAAc,wBAAC,EAAErC,OAAM,MAAQA,WAAW,QAAQ;UAAEsC,IAAI;QAAO,IAAI;UAAEA,IAAI;QAAO,GAAlE;QACdC,UAAU;QACVC,uBAAuB;QACvBtC,WAAW;QACXuC,QAAQ;;QAER,GAAGvB,SAASwB,MAAMrD;QAClB,GAAI,OAAOA,YAAY,WAAWA,UAAU,CAAC;MAC/C,GACAC,OAAAA;MAEFJ,cACEC,QACA+B,SAAS9B,WACT;QACEQ,QAAQ;QACRI,QAAQ;UAAC;;QACTmC,YAAQC,yBACN,CAAC,GACD;UAAE,QAAQ;UAAQ,SAAS;UAAQ,QAAQ;UAAQ,SAAS;UAAQ,QAAQ;UAAQ,QAAQ;UAAQ,SAAS;QAAO,GACpHH,kBAAkBE,MAAAA;;QAGpB5C,QAAQ;QACR8C,cAAc,wBAAC,EAAErC,OAAM,MAAQA,WAAW,QAAQ;UAAEsC,IAAI;QAAO,IAAI;UAAEA,IAAI;QAAO,GAAlE;QACdC,UAAU;QACVC,uBAAuB;QACvBtC,WAAW;QACXuC,QAAQ;;QAER,GAAGvB,SAASwB,MAAMrD;QAClB,GAAI,OAAOA,YAAY,WAAWA,UAAU,CAAC;MAC/C,GACAC,OAAAA;KAEH,GACDqD,OAAO,CAACC,MAAMC,UAAUD,OAAOC,OAAO,CAAA,IACxC;EACN,CAAA,CAAA,GAEFF,OAAO,CAACC,MAAMC,UAAUD,OAAOC,OAAO,CAAA,MACvC1B,UAAU,MAAM2B,eAAAA,IAAmB;AAExC,GA3KkC;;;ALpC3B,IAAMC,iBAAiB,8BAAOC,WAAqB,CAAC,MAAC;AAC1D,QAAMC,MAAMC,QAAQC,IAAIC;AACxBC,UAAQC,IAAIC,cAAAA,QAAMC,MAAM,aAAaP,GAAAA,EAAK,CAAA;AAC1C,QAAMQ,UAAS,MAAMC,WAAWV,QAAAA;AAChC,QAAMW,UAAUF,QAAOE;AAEvB,QAAMC,OAAOH,QAAOI,SAASD,QAAQ;AACrC,MAAIE,SAAiB;AACrB,UAAQF,MAAAA;IACN,KAAK,OAAO;AACVE,gBAAU,MAAMC,kBAAkBC,QAAWP,OAAAA;AAC7C;IACF;IACA,KAAK,QAAQ;AACXK,gBAAU,MAAMG,mBAAmBR,OAAAA;AACnC;IACF;EACF;AACA,SAAOK,UAAUH,UAAU,MAAMO,eAAeT,OAAAA,IAAU;AAC5D,GAnB8B;;;AJLvB,IAAMU,mBAAmB,mCAAA;AAC9B,UAAQ,MAAMC,QAAQC,IAAI;IAACC,aAAAA;IAAgBC,eAAAA;GAAiB,GAAGC,OAAO,CAACC,MAAMC,UAAUD,OAAOC,OAAO,CAAA;AACvG,GAFgC;","names":["packageCleanOutputs","pkg","process","env","INIT_CWD","pkgName","npm_package_name","folders","path","join","console","log","chalk","green","Promise","all","map","folder","rimraf","import_node_path","import_chalk","import_rimraf","packageCleanTypescript","pkg","process","env","INIT_CWD","pkgName","npm_package_name","console","log","chalk","green","files","path","join","Promise","all","map","file","rimraf","packageClean","Promise","all","packageCleanOutputs","packageCleanTypescript","reduce","prev","value","import_chalk","import_chalk","config","loadConfig","params","merge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","import_chalk","packagePublint","params","pkgDir","process","env","INIT_CWD","pkg","JSON","parse","fs","readFile","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","import_chalk","import_typescript","import_lodash_es","getNested","config","extends","require","createRequire","url","opts","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","merge","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","import_lodash_es","getAllInputs2","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs2","filter","entry","includes","import_node_process","import_chalk","import_tsc_prog","import_typescript","import_promises","copyFileMutex","Mutex","getDistTypeFiles","compilerOptions","outDir","readdir","recursive","filter","file","endsWith","map","getDistTypeMapFiles","copyTypeFiles","runExclusive","distTypeFiles","Promise","all","copyFile","replace","distTypeMapFiles","packageCompileTscTypes","folder","verbose","compilerOptionsParam","generateMts","pkg","process","env","INIT_CWD","cwd","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","copyTypeFiles","compileFolder","folder","entryMode","options","verbose","outDir","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTscTypes","packageCompileTsup","config","compile","publint","console","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","packageCompileTsc","Object","entries","inEsBuildOptions","esbuildOptions","loader","merge","outExtension","js","platform","skipNodeModulesBundle","target","tsup","reduce","prev","value","packagePublint","packageCompile","inConfig","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","packageRecompile","Promise","all","packageClean","packageCompile","reduce","prev","value"]}
@@ -117,24 +117,24 @@ import { DiagnosticCategory, formatDiagnosticsWithColorAndContext, getLineAndCha
117
117
  import { createRequire } from "node:module";
118
118
  import { merge as merge2 } from "lodash-es";
119
119
  import { findConfigFile, readConfigFile, sys } from "typescript";
120
- var getCompilerOptionsJSONFollowExtends = /* @__PURE__ */ __name((filename) => {
121
- let opts = {};
122
- const config2 = readConfigFile(filename, sys.readFile).config;
120
+ var getNested = /* @__PURE__ */ __name((config2) => {
123
121
  if (config2.extends) {
124
122
  const require2 = createRequire(import.meta.url);
125
- opts = require2(config2.extends);
126
- }
127
- if (config2?.error) {
128
- throw new Error(`getCompilerOptionsJSONFollowExtends failed ${JSON.stringify(config2?.error?.messageText, null, 2)}`);
123
+ const opts = require2(config2.extends);
124
+ return {
125
+ ...getNested(opts),
126
+ ...config2.compilerOptions
127
+ };
129
128
  }
130
- return {
131
- ...opts.compilerOptions,
132
- ...config2.compilerOptions
133
- };
129
+ return config2.compilerOptions;
130
+ }, "getNested");
131
+ var getCompilerOptionsJSONFollowExtends = /* @__PURE__ */ __name((filename) => {
132
+ const config2 = readConfigFile(filename, sys.readFile).config;
133
+ return getNested(config2);
134
134
  }, "getCompilerOptionsJSONFollowExtends");
135
- var getCompilerOptions = /* @__PURE__ */ __name(async (options, tsconfig = "tsconfig.json") => {
135
+ var getCompilerOptions = /* @__PURE__ */ __name((options, tsconfig = "tsconfig.json") => {
136
136
  const configFileName = findConfigFile("./", sys.fileExists, tsconfig);
137
- const configFileCompilerOptions = configFileName ? await getCompilerOptionsJSONFollowExtends(configFileName) : void 0;
137
+ const configFileCompilerOptions = configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : void 0;
138
138
  return merge2({}, configFileCompilerOptions, options);
139
139
  }, "getCompilerOptions");
140
140
 
@@ -406,6 +406,11 @@ var packageCompileTsup = /* @__PURE__ */ __name(async (config2) => {
406
406
  }, inEsBuildOptions?.loader),
407
407
  // minify: true,
408
408
  outDir: "dist/node",
409
+ outExtension: /* @__PURE__ */ __name(({ format }) => format === "esm" ? {
410
+ js: ".mjs"
411
+ } : {
412
+ js: ".cjs"
413
+ }, "outExtension"),
409
414
  platform: "node",
410
415
  skipNodeModulesBundle: true,
411
416
  sourcemap: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/package/clean-outputs.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/compile/copyTypeFiles.ts","../../../src/actions/package/recompile.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\nimport { rimraf } from 'rimraf'\n\nexport const packageCleanOutputs = async () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n await Promise.all(folders.map((folder) => rimraf(folder)))\n\n return 0\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport { rimraf } from 'rimraf'\n\nexport const packageCleanTypescript = async () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n await Promise.all(files.map((file) => rimraf(file)))\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport { XyConfig, XyTscConfig, XyTsupConfig } from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { merge } from 'lodash-es'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return merge({}, config, params)\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return merge({}, config, params)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\n\nexport interface PackagePublintParams {\n verbose?: boolean\n}\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /*try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n }*/\n }\n\n //we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter((message) => message.type === 'error').length\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport {\n CompilerOptions,\n DiagnosticCategory,\n FormatDiagnosticsHost,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n LineAndCharacter,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: (fileName) => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(await getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0) : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport { merge } from 'lodash-es'\nimport { CompilerOptions, findConfigFile, readConfigFile, sys } from 'typescript'\n\nexport const getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let opts: any = {}\n const config = readConfigFile(filename, sys.readFile).config\n if (config.extends) {\n const require = createRequire(import.meta.url)\n opts = require(config.extends)\n }\n if (config?.error) {\n throw new Error(`getCompilerOptionsJSONFollowExtends failed ${JSON.stringify(config?.error?.messageText, null, 2)}`)\n }\n\n return { ...opts.compilerOptions, ...config.compilerOptions }\n}\n\nexport const getCompilerOptions = async (options?: CompilerOptions, tsconfig: string = 'tsconfig.json'): Promise<CompilerOptions> => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = configFileName ? await getCompilerOptionsJSONFollowExtends(configFileName) : undefined\n\n return merge({}, configFileCompilerOptions, options)\n}\n","import { merge } from 'lodash-es'\nimport { build, defineConfig, Options } from 'tsup'\n\nimport { packagePublint } from '../publint.ts'\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, verbose?: boolean) => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: false,\n entry,\n format: ['cjs', 'esm'],\n // minify: true,\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n // terserOptions: { format: { comments: false } },\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n await Promise.all(optionsList.map((options) => build(options)))\n await packageCompileTscTypes(folder, { verbose }, { outDir })\n\n return 0\n}\n\n// eslint-disable-next-line complexity\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n return (\n (await packageCompileTsc(true, { publint: false, verbose })) ||\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder ?\n await compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs', 'esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/node',\n platform: 'node',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'node16',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (publint ? await packagePublint() : 0)\n )\n}\n","import { readdir } from 'node:fs/promises'\n\nimport { glob } from 'glob'\n\nexport const getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter(\n (file) => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.includes('.spec.') && !file.includes('.stories.'),\n )\n .map((file) => (subDir ? `${subDir}/${file}` : file))\n}\n\nexport const getInputDirs = async (depth: number = 0) => {\n if (depth === 0) {\n return []\n }\n return [\n '.',\n ...(await readdir('src', { recursive: true, withFileTypes: true }))\n .filter((file) => file.isDirectory())\n .map((file) => {\n const pathParts = file.path?.split('/') ?? []\n pathParts.shift()\n if (pathParts.length > 0) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nexport const getAllInputs = async (depth = 100) => {\n const dirs = await getInputDirs(depth)\n return (await Promise.all(dirs.map(async (dir) => await getInputs(dir)))).flat()\n}\n\nexport const getAllInputs2 = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs2 } from './inputs.ts'\nimport { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode?: EntryMode, verbose = false) => {\n switch (entryMode) {\n case 'platform': {\n if (verbose) console.log('buildEntries [platform]')\n return [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n }\n case 'all': {\n if (verbose) console.log('buildEntries [all]')\n return getAllInputs2(folder).filter((entry) => !entry.includes('.spec.') && !entry.includes('.story.'))\n }\n default: {\n if (verbose) console.log('buildEntries [single]')\n return [`${folder}/index.ts`]\n }\n }\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport { CompilerOptions, DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { copyTypeFiles } from './copyTypeFiles.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = async (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n generateMts = true,\n): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n if (verbose) {\n console.log(`Compiling types with TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(await getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: true,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: true,\n })),\n ...compilerOptionsParam,\n } as TsConfigCompilerOptions\n\n //calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all')\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n if (generateMts) {\n await copyTypeFiles(compilerOptions)\n }\n return diagResults\n}\n","import { copyFile, readdir } from 'node:fs/promises'\n\nimport { Mutex } from 'async-mutex'\nimport { TsConfigCompilerOptions } from 'tsc-prog'\n\nconst copyFileMutex = new Mutex()\n\nconst getDistTypeFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n const outDir = compilerOptions.outDir ?? 'dist'\n return (await readdir(outDir, { recursive: true })).filter((file) => file.endsWith('d.ts')).map((file) => `${outDir}/${file}`)\n}\n\nconst getDistTypeMapFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n const outDir = compilerOptions.outDir ?? 'dist'\n return (await readdir(outDir, { recursive: true })).filter((file) => file.endsWith('d.ts.map')).map((file) => `${outDir}/${file}`)\n}\n\nexport const copyTypeFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n //using a mutex since sometimes two compiles are running at once and cause a lock on windows\n await copyFileMutex.runExclusive(async () => {\n //hybrid packages want two copies of the types\n const distTypeFiles = await getDistTypeFiles(compilerOptions)\n await Promise.all(\n distTypeFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts', 'd.mts'))\n await copyFile(file, file.replace('d.ts', 'd.cts'))\n }),\n )\n\n const distTypeMapFiles = await getDistTypeMapFiles(compilerOptions)\n await Promise.all(\n distTypeMapFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts.map', 'd.mts.map'))\n await copyFile(file, file.replace('d.ts.map', 'd.cts.map'))\n }),\n )\n })\n}\n","import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return (await Promise.all([packageClean(), packageCompile()])).reduce((prev, value) => prev + value, 0)\n}\n"],"mappings":"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","names":["path","chalk","rimraf","packageCleanOutputs","pkg","process","env","INIT_CWD","pkgName","npm_package_name","folders","path","join","console","log","chalk","green","Promise","all","map","folder","rimraf","path","chalk","rimraf","packageCleanTypescript","pkg","process","env","INIT_CWD","pkgName","npm_package_name","console","log","chalk","green","files","path","join","Promise","all","map","file","rimraf","packageClean","Promise","all","packageCleanOutputs","packageCleanTypescript","reduce","prev","value","chalk","chalk","cosmiconfig","merge","config","loadConfig","params","merge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","promises","fs","chalk","packagePublint","params","pkgDir","process","env","INIT_CWD","pkg","JSON","parse","fs","readFile","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","formatDiagnosticsWithColorAndContext","getLineAndCharacterOfPosition","getPreEmitDiagnostics","createRequire","merge","findConfigFile","readConfigFile","sys","getCompilerOptionsJSONFollowExtends","filename","opts","config","readConfigFile","sys","readFile","extends","require","createRequire","url","error","Error","JSON","stringify","messageText","compilerOptions","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","merge","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","merge","build","defineConfig","glob","getAllInputs2","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs2","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","copyFile","readdir","Mutex","copyFileMutex","Mutex","getDistTypeFiles","compilerOptions","outDir","readdir","recursive","filter","file","endsWith","map","getDistTypeMapFiles","copyTypeFiles","runExclusive","distTypeFiles","Promise","all","copyFile","replace","distTypeMapFiles","packageCompileTscTypes","folder","verbose","compilerOptionsParam","generateMts","pkg","process","env","INIT_CWD","cwd","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","copyTypeFiles","compileFolder","folder","entryMode","options","verbose","outDir","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTscTypes","packageCompileTsup","config","compile","publint","console","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","packageCompileTsc","Object","entries","inEsBuildOptions","esbuildOptions","loader","merge","platform","skipNodeModulesBundle","target","tsup","reduce","prev","value","outExtension","js","packagePublint","packageCompile","inConfig","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","packageRecompile","Promise","all","packageClean","packageCompile","reduce","prev","value"]}
1
+ {"version":3,"sources":["../../../src/actions/package/clean-outputs.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/compile/copyTypeFiles.ts","../../../src/actions/package/recompile.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\nimport { rimraf } from 'rimraf'\n\nexport const packageCleanOutputs = async () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n await Promise.all(folders.map((folder) => rimraf(folder)))\n\n return 0\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\nimport { rimraf } from 'rimraf'\n\nexport const packageCleanTypescript = async () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n await Promise.all(files.map((file) => rimraf(file)))\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport { XyConfig, XyTscConfig, XyTsupConfig } from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { merge } from 'lodash-es'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return merge({}, config, params)\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return merge({}, config, params)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\n\nexport interface PackagePublintParams {\n verbose?: boolean\n}\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n const pkg = JSON.parse(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n\n console.log(chalk.green(`Publint: ${pkg.name}`))\n console.log(chalk.gray(pkgDir))\n\n const { publint } = await import('publint')\n\n const { messages } = await publint({\n level: 'suggestion',\n pkgDir,\n strict: true,\n })\n\n // eslint-disable-next-line import/no-internal-modules\n const { formatMessage } = await import('publint/utils')\n\n const validMessage = (_message: Message): boolean => {\n return true\n /*try {\n const value = getValueFromPath(pkg, message.path)\n switch (message.code) {\n case 'FILE_INVALID_FORMAT':\n return !message.args?.actualFilePath?.includes('dist/browser') && !value?.includes('dist/browser')\n case 'EXPORT_TYPES_INVALID_FORMAT':\n return !`${value}`.includes('dist/browser')\n default:\n return true\n }\n } catch (ex) {\n const error = ex as Error\n console.error(chalk.red(`validMessage Excepted: ${error.message}`))\n console.error(chalk.gray(JSON.stringify(error.stack)))\n return true\n }*/\n }\n\n //we filter out invalid file formats for the esm folder since it is intentionally done\n const validMessages = messages.filter(validMessage)\n for (const message of validMessages) {\n switch (message.type) {\n case 'error': {\n console.error(chalk.red(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n case 'warning': {\n console.warn(chalk.yellow(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n default: {\n console.log(chalk.white(`[${message.code}] ${formatMessage(message, pkg)}`))\n break\n }\n }\n }\n\n if (params?.verbose) {\n console.log(chalk.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`))\n }\n\n return validMessages.filter((message) => message.type === 'error').length\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport {\n CompilerOptions,\n DiagnosticCategory,\n FormatDiagnosticsHost,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n LineAndCharacter,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: (fileName) => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(await getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0) : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport { merge } from 'lodash-es'\nimport { TsConfig } from 'tsc-prog'\nimport { CompilerOptions, findConfigFile, readConfigFile, sys } from 'typescript'\n\nconst getNested = (config: TsConfig): CompilerOptions => {\n if (config.extends) {\n const require = createRequire(import.meta.url)\n const opts = require(config.extends)\n return { ...getNested(opts), ...config.compilerOptions } as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nexport const getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n const config = readConfigFile(filename, sys.readFile).config\n return getNested(config)\n}\n\nexport const getCompilerOptions = (options?: CompilerOptions, tsconfig: string = 'tsconfig.json'): CompilerOptions => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : undefined\n\n return merge({}, configFileCompilerOptions, options)\n}\n","import { merge } from 'lodash-es'\nimport { build, defineConfig, Options } from 'tsup'\n\nimport { packagePublint } from '../publint.ts'\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, verbose?: boolean) => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: false,\n entry,\n format: ['cjs', 'esm'],\n // minify: true,\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n // terserOptions: { format: { comments: false } },\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n await Promise.all(optionsList.map((options) => build(options)))\n await packageCompileTscTypes(folder, { verbose }, { outDir })\n\n return 0\n}\n\n// eslint-disable-next-line complexity\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n return (\n (await packageCompileTsc(true, { publint: false, verbose })) ||\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n return folder ?\n await compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs', 'esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/node',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'node',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'node16',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/browser',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'browser',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder ?\n (\n await Promise.all([\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['cjs'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n compileFolder(\n folder,\n compile?.entryMode,\n {\n bundle: true,\n format: ['esm'],\n loader: merge(\n {},\n { '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy' },\n inEsBuildOptions?.loader,\n ),\n // minify: true,\n outDir: 'dist/neutral',\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n platform: 'neutral',\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n // terserOptions: { format: { comments: false } },\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n verbose,\n ),\n ])\n ).reduce((prev, value) => prev + value, 0)\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0) ||\n (publint ? await packagePublint() : 0)\n )\n}\n","import { readdir } from 'node:fs/promises'\n\nimport { glob } from 'glob'\n\nexport const getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter(\n (file) => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.includes('.spec.') && !file.includes('.stories.'),\n )\n .map((file) => (subDir ? `${subDir}/${file}` : file))\n}\n\nexport const getInputDirs = async (depth: number = 0) => {\n if (depth === 0) {\n return []\n }\n return [\n '.',\n ...(await readdir('src', { recursive: true, withFileTypes: true }))\n .filter((file) => file.isDirectory())\n .map((file) => {\n const pathParts = file.path?.split('/') ?? []\n pathParts.shift()\n if (pathParts.length > 0) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nexport const getAllInputs = async (depth = 100) => {\n const dirs = await getInputDirs(depth)\n return (await Promise.all(dirs.map(async (dir) => await getInputs(dir)))).flat()\n}\n\nexport const getAllInputs2 = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs2 } from './inputs.ts'\nimport { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode?: EntryMode, verbose = false) => {\n switch (entryMode) {\n case 'platform': {\n if (verbose) console.log('buildEntries [platform]')\n return [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n }\n case 'all': {\n if (verbose) console.log('buildEntries [all]')\n return getAllInputs2(folder).filter((entry) => !entry.includes('.spec.') && !entry.includes('.story.'))\n }\n default: {\n if (verbose) console.log('buildEntries [single]')\n return [`${folder}/index.ts`]\n }\n }\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { createProgramFromConfig, TsConfigCompilerOptions } from 'tsc-prog'\nimport { CompilerOptions, DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { copyTypeFiles } from './copyTypeFiles.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = async (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n generateMts = true,\n): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n if (verbose) {\n console.log(`Compiling types with TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(await getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: true,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: true,\n })),\n ...compilerOptionsParam,\n } as TsConfigCompilerOptions\n\n //calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all')\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n if (generateMts) {\n await copyTypeFiles(compilerOptions)\n }\n return diagResults\n}\n","import { copyFile, readdir } from 'node:fs/promises'\n\nimport { Mutex } from 'async-mutex'\nimport { TsConfigCompilerOptions } from 'tsc-prog'\n\nconst copyFileMutex = new Mutex()\n\nconst getDistTypeFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n const outDir = compilerOptions.outDir ?? 'dist'\n return (await readdir(outDir, { recursive: true })).filter((file) => file.endsWith('d.ts')).map((file) => `${outDir}/${file}`)\n}\n\nconst getDistTypeMapFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n const outDir = compilerOptions.outDir ?? 'dist'\n return (await readdir(outDir, { recursive: true })).filter((file) => file.endsWith('d.ts.map')).map((file) => `${outDir}/${file}`)\n}\n\nexport const copyTypeFiles = async (compilerOptions: TsConfigCompilerOptions) => {\n //using a mutex since sometimes two compiles are running at once and cause a lock on windows\n await copyFileMutex.runExclusive(async () => {\n //hybrid packages want two copies of the types\n const distTypeFiles = await getDistTypeFiles(compilerOptions)\n await Promise.all(\n distTypeFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts', 'd.mts'))\n await copyFile(file, file.replace('d.ts', 'd.cts'))\n }),\n )\n\n const distTypeMapFiles = await getDistTypeMapFiles(compilerOptions)\n await Promise.all(\n distTypeMapFiles.map(async (file) => {\n await copyFile(file, file.replace('d.ts.map', 'd.mts.map'))\n await copyFile(file, file.replace('d.ts.map', 'd.cts.map'))\n }),\n )\n })\n}\n","import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return (await Promise.all([packageClean(), packageCompile()])).reduce((prev, value) => prev + value, 0)\n}\n"],"mappings":"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","names":["path","chalk","rimraf","packageCleanOutputs","pkg","process","env","INIT_CWD","pkgName","npm_package_name","folders","path","join","console","log","chalk","green","Promise","all","map","folder","rimraf","path","chalk","rimraf","packageCleanTypescript","pkg","process","env","INIT_CWD","pkgName","npm_package_name","console","log","chalk","green","files","path","join","Promise","all","map","file","rimraf","packageClean","Promise","all","packageCleanOutputs","packageCleanTypescript","reduce","prev","value","chalk","chalk","cosmiconfig","merge","config","loadConfig","params","merge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","promises","fs","chalk","packagePublint","params","pkgDir","process","env","INIT_CWD","pkg","JSON","parse","fs","readFile","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","formatDiagnosticsWithColorAndContext","getLineAndCharacterOfPosition","getPreEmitDiagnostics","createRequire","merge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","merge","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","merge","build","defineConfig","glob","getAllInputs2","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs2","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","copyFile","readdir","Mutex","copyFileMutex","Mutex","getDistTypeFiles","compilerOptions","outDir","readdir","recursive","filter","file","endsWith","map","getDistTypeMapFiles","copyTypeFiles","runExclusive","distTypeFiles","Promise","all","copyFile","replace","distTypeMapFiles","packageCompileTscTypes","folder","verbose","compilerOptionsParam","generateMts","pkg","process","env","INIT_CWD","cwd","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","copyTypeFiles","compileFolder","folder","entryMode","options","verbose","outDir","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTscTypes","packageCompileTsup","config","compile","publint","console","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","packageCompileTsc","Object","entries","inEsBuildOptions","esbuildOptions","loader","merge","outExtension","js","platform","skipNodeModulesBundle","target","tsup","reduce","prev","value","packagePublint","packageCompile","inConfig","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","packageRecompile","Promise","all","packageClean","packageCompile","reduce","prev","value"]}
@@ -102,24 +102,24 @@ var import_node_module = require("module");
102
102
  var import_lodash_es2 = require("lodash-es");
103
103
  var import_typescript = require("typescript");
104
104
  var import_meta = {};
105
- var getCompilerOptionsJSONFollowExtends = /* @__PURE__ */ __name((filename) => {
106
- let opts = {};
107
- const config2 = (0, import_typescript.readConfigFile)(filename, import_typescript.sys.readFile).config;
105
+ var getNested = /* @__PURE__ */ __name((config2) => {
108
106
  if (config2.extends) {
109
107
  const require2 = (0, import_node_module.createRequire)(import_meta.url);
110
- opts = require2(config2.extends);
111
- }
112
- if (config2?.error) {
113
- throw new Error(`getCompilerOptionsJSONFollowExtends failed ${JSON.stringify(config2?.error?.messageText, null, 2)}`);
108
+ const opts = require2(config2.extends);
109
+ return {
110
+ ...getNested(opts),
111
+ ...config2.compilerOptions
112
+ };
114
113
  }
115
- return {
116
- ...opts.compilerOptions,
117
- ...config2.compilerOptions
118
- };
114
+ return config2.compilerOptions;
115
+ }, "getNested");
116
+ var getCompilerOptionsJSONFollowExtends = /* @__PURE__ */ __name((filename) => {
117
+ const config2 = (0, import_typescript.readConfigFile)(filename, import_typescript.sys.readFile).config;
118
+ return getNested(config2);
119
119
  }, "getCompilerOptionsJSONFollowExtends");
120
- var getCompilerOptions = /* @__PURE__ */ __name(async (options, tsconfig = "tsconfig.json") => {
120
+ var getCompilerOptions = /* @__PURE__ */ __name((options, tsconfig = "tsconfig.json") => {
121
121
  const configFileName = (0, import_typescript.findConfigFile)("./", import_typescript.sys.fileExists, tsconfig);
122
- const configFileCompilerOptions = configFileName ? await getCompilerOptionsJSONFollowExtends(configFileName) : void 0;
122
+ const configFileCompilerOptions = configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : void 0;
123
123
  return (0, import_lodash_es2.merge)({}, configFileCompilerOptions, options);
124
124
  }, "getCompilerOptions");
125
125
 
@@ -392,6 +392,11 @@ var packageCompileTsup = /* @__PURE__ */ __name(async (config2) => {
392
392
  }, inEsBuildOptions?.loader),
393
393
  // minify: true,
394
394
  outDir: "dist/node",
395
+ outExtension: /* @__PURE__ */ __name(({ format }) => format === "esm" ? {
396
+ js: ".mjs"
397
+ } : {
398
+ js: ".cjs"
399
+ }, "outExtension"),
395
400
  platform: "node",
396
401
  skipNodeModulesBundle: true,
397
402
  sourcemap: true,