@xylabs/ts-scripts-yarn3 5.0.27 → 5.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/index.mjs +11 -11
- package/dist/actions/index.mjs.map +1 -1
- package/dist/actions/package/compile/compile.mjs +11 -11
- package/dist/actions/package/compile/compile.mjs.map +1 -1
- package/dist/actions/package/compile/index.mjs +11 -11
- package/dist/actions/package/compile/index.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsup.mjs +11 -11
- package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
- package/dist/actions/package/index.mjs +11 -11
- package/dist/actions/package/index.mjs.map +1 -1
- package/dist/actions/package/recompile.mjs +11 -11
- package/dist/actions/package/recompile.mjs.map +1 -1
- package/dist/bin/package/build-only.mjs +11 -11
- package/dist/bin/package/build-only.mjs.map +1 -1
- package/dist/bin/package/build.mjs +11 -11
- package/dist/bin/package/build.mjs.map +1 -1
- package/dist/bin/package/compile-only.mjs +11 -11
- package/dist/bin/package/compile-only.mjs.map +1 -1
- package/dist/bin/package/compile-tsup.mjs +11 -11
- package/dist/bin/package/compile-tsup.mjs.map +1 -1
- package/dist/bin/package/compile.mjs +11 -11
- package/dist/bin/package/compile.mjs.map +1 -1
- package/dist/bin/package/recompile.mjs +11 -11
- package/dist/bin/package/recompile.mjs.map +1 -1
- package/dist/index.mjs +11 -11
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/actions/package/compile/packageCompileTsup.ts +9 -7
|
@@ -251,12 +251,22 @@ var packageCompileTscTypes = /* @__PURE__ */ __name((folder = "src", { verbose }
|
|
|
251
251
|
// src/actions/package/compile/packageCompileTsup.ts
|
|
252
252
|
var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single", options, types = "tsc", verbose) => {
|
|
253
253
|
const outDir = options?.outDir ?? "dist";
|
|
254
|
+
if (types === "tsc") {
|
|
255
|
+
const errors = packageCompileTscTypes(folder, {
|
|
256
|
+
verbose
|
|
257
|
+
}, {
|
|
258
|
+
outDir
|
|
259
|
+
});
|
|
260
|
+
if (errors) {
|
|
261
|
+
return errors;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
254
264
|
const entry = buildEntries(folder, entryMode);
|
|
255
265
|
const optionsResult = defineConfig({
|
|
256
266
|
bundle: true,
|
|
257
267
|
cjsInterop: true,
|
|
258
268
|
clean: true,
|
|
259
|
-
dts:
|
|
269
|
+
dts: types === "tsup",
|
|
260
270
|
entry,
|
|
261
271
|
format: [
|
|
262
272
|
"esm"
|
|
@@ -279,16 +289,6 @@ var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single",
|
|
|
279
289
|
];
|
|
280
290
|
}))).flat();
|
|
281
291
|
await Promise.all(optionsList.map((options2) => build(options2)));
|
|
282
|
-
if (types === "tsc") {
|
|
283
|
-
const errors = packageCompileTscTypes(folder, {
|
|
284
|
-
verbose
|
|
285
|
-
}, {
|
|
286
|
-
outDir
|
|
287
|
-
});
|
|
288
|
-
if (errors) {
|
|
289
|
-
return errors;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
292
|
return 0;
|
|
293
293
|
}, "compileFolder");
|
|
294
294
|
var packageCompileTsup = /* @__PURE__ */ __name(async (config2, types = "tsc") => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["compile.ts","loadConfig.ts","publint.ts","packageCompileTsc.ts","getCompilerOptions.ts","packageCompileTsup.ts","inputs.ts","buildEntries.ts","packageCompileTscTypes.ts"],"sourcesContent":["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 {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): 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, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\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 deepmerge(config, params ?? {}) as T\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\nimport sortPackageJson from 'sort-package-json'\n\nexport interface PackagePublintParams { verbose?: boolean }\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n\n const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n await fs.writeFile(`${pkgDir}/package.json`, sortedPkg)\n\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-x/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 ...(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\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { 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 deepmerge from 'deepmerge'\nimport { TsConfig } from 'tsc-prog'\nimport {\n CompilerOptions,\n findConfigFile, readConfigFile, sys,\n} 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 deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst 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 deepmerge(configFileCompilerOptions, options)\n}\n","import { Loader } from 'esbuild'\nimport {\n build, defineConfig, Options,\n} from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\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: true,\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: 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 if (types === 'tsc') {\n const errors = packageCompileTscTypes(folder, { verbose }, { outDir })\n if (errors) {\n return errors\n }\n }\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\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 const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\n }\n const standardOptions: Options = {\n bundle: true,\n format: ['esm'],\n loader: standardLoaders,\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n }\n\n return (\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 ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/node',\n platform: 'node',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } 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 getAllInputs(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 { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): 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 ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\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 return diagResults\n}\n"],"mappings":"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","names":["chalk","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","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","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","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","build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","verbose","compilerOptionsParam","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","compileFolder","folder","entryMode","options","types","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","errors","packageCompileTscTypes","packageCompileTsup","config","console","warn","compile","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint"]}
|
|
1
|
+
{"version":3,"sources":["compile.ts","loadConfig.ts","publint.ts","packageCompileTsc.ts","getCompilerOptions.ts","packageCompileTsup.ts","inputs.ts","buildEntries.ts","packageCompileTscTypes.ts"],"sourcesContent":["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 {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): 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, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\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 deepmerge(config, params ?? {}) as T\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\nimport sortPackageJson from 'sort-package-json'\n\nexport interface PackagePublintParams { verbose?: boolean }\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n\n const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n await fs.writeFile(`${pkgDir}/package.json`, sortedPkg)\n\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-x/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 ...(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\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { 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 deepmerge from 'deepmerge'\nimport { TsConfig } from 'tsc-prog'\nimport {\n CompilerOptions,\n findConfigFile, readConfigFile, sys,\n} 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 deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst 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 deepmerge(configFileCompilerOptions, options)\n}\n","import { Loader } from 'esbuild'\nimport {\n build, defineConfig, Options,\n} from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (types === 'tsc') {\n const errors = packageCompileTscTypes(folder, { verbose }, { outDir })\n if (errors) {\n return errors\n }\n }\n\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: types === 'tsup',\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: 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 return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\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 const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\n }\n const standardOptions: Options = {\n bundle: true,\n format: ['esm'],\n loader: standardLoaders,\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n }\n\n return (\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 ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/node',\n platform: 'node',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } 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 getAllInputs(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 { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): 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 ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\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 return diagResults\n}\n"],"mappings":"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","names":["chalk","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","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","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","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","build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","verbose","compilerOptionsParam","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","compileFolder","folder","entryMode","options","types","verbose","outDir","errors","packageCompileTscTypes","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTsup","config","console","warn","compile","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint"]}
|
|
@@ -251,12 +251,22 @@ var packageCompileTscTypes = /* @__PURE__ */ __name((folder = "src", { verbose }
|
|
|
251
251
|
// src/actions/package/compile/packageCompileTsup.ts
|
|
252
252
|
var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single", options, types = "tsc", verbose) => {
|
|
253
253
|
const outDir = options?.outDir ?? "dist";
|
|
254
|
+
if (types === "tsc") {
|
|
255
|
+
const errors = packageCompileTscTypes(folder, {
|
|
256
|
+
verbose
|
|
257
|
+
}, {
|
|
258
|
+
outDir
|
|
259
|
+
});
|
|
260
|
+
if (errors) {
|
|
261
|
+
return errors;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
254
264
|
const entry = buildEntries(folder, entryMode);
|
|
255
265
|
const optionsResult = defineConfig({
|
|
256
266
|
bundle: true,
|
|
257
267
|
cjsInterop: true,
|
|
258
268
|
clean: true,
|
|
259
|
-
dts:
|
|
269
|
+
dts: types === "tsup",
|
|
260
270
|
entry,
|
|
261
271
|
format: [
|
|
262
272
|
"esm"
|
|
@@ -279,16 +289,6 @@ var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single",
|
|
|
279
289
|
];
|
|
280
290
|
}))).flat();
|
|
281
291
|
await Promise.all(optionsList.map((options2) => build(options2)));
|
|
282
|
-
if (types === "tsc") {
|
|
283
|
-
const errors = packageCompileTscTypes(folder, {
|
|
284
|
-
verbose
|
|
285
|
-
}, {
|
|
286
|
-
outDir
|
|
287
|
-
});
|
|
288
|
-
if (errors) {
|
|
289
|
-
return errors;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
292
|
return 0;
|
|
293
293
|
}, "compileFolder");
|
|
294
294
|
var packageCompileTsup = /* @__PURE__ */ __name(async (config2, types = "tsc") => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["compile.ts","loadConfig.ts","publint.ts","packageCompileTsc.ts","getCompilerOptions.ts","packageCompileTsup.ts","inputs.ts","buildEntries.ts","packageCompileTscTypes.ts"],"sourcesContent":["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 {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): 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, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\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 deepmerge(config, params ?? {}) as T\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\nimport sortPackageJson from 'sort-package-json'\n\nexport interface PackagePublintParams { verbose?: boolean }\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n\n const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n await fs.writeFile(`${pkgDir}/package.json`, sortedPkg)\n\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-x/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 ...(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\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { 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 deepmerge from 'deepmerge'\nimport { TsConfig } from 'tsc-prog'\nimport {\n CompilerOptions,\n findConfigFile, readConfigFile, sys,\n} 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 deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst 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 deepmerge(configFileCompilerOptions, options)\n}\n","import { Loader } from 'esbuild'\nimport {\n build, defineConfig, Options,\n} from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\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: true,\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: 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 if (types === 'tsc') {\n const errors = packageCompileTscTypes(folder, { verbose }, { outDir })\n if (errors) {\n return errors\n }\n }\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\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 const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\n }\n const standardOptions: Options = {\n bundle: true,\n format: ['esm'],\n loader: standardLoaders,\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n }\n\n return (\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 ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/node',\n platform: 'node',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } 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 getAllInputs(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 { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): 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 ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\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 return diagResults\n}\n"],"mappings":"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","names":["chalk","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","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","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","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","build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","verbose","compilerOptionsParam","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","compileFolder","folder","entryMode","options","types","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","errors","packageCompileTscTypes","packageCompileTsup","config","console","warn","compile","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint"]}
|
|
1
|
+
{"version":3,"sources":["compile.ts","loadConfig.ts","publint.ts","packageCompileTsc.ts","getCompilerOptions.ts","packageCompileTsup.ts","inputs.ts","buildEntries.ts","packageCompileTscTypes.ts"],"sourcesContent":["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 {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): 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, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\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 deepmerge(config, params ?? {}) as T\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport { Message } from 'publint'\nimport sortPackageJson from 'sort-package-json'\n\nexport interface PackagePublintParams { verbose?: boolean }\n\nexport const packagePublint = async (params?: PackagePublintParams) => {\n const pkgDir = process.env.INIT_CWD\n\n const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, 'utf8'))\n await fs.writeFile(`${pkgDir}/package.json`, sortedPkg)\n\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-x/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 ...(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\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { 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 deepmerge from 'deepmerge'\nimport { TsConfig } from 'tsc-prog'\nimport {\n CompilerOptions,\n findConfigFile, readConfigFile, sys,\n} 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 deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst 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 deepmerge(configFileCompilerOptions, options)\n}\n","import { Loader } from 'esbuild'\nimport {\n build, defineConfig, Options,\n} from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (types === 'tsc') {\n const errors = packageCompileTscTypes(folder, { verbose }, { outDir })\n if (errors) {\n return errors\n }\n }\n\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: types === 'tsup',\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: 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 return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\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 const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\n }\n const standardOptions: Options = {\n bundle: true,\n format: ['esm'],\n loader: standardLoaders,\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n }\n\n return (\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 ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/node',\n platform: 'node',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } 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 getAllInputs(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 { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): 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 ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\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 return diagResults\n}\n"],"mappings":"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","names":["chalk","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","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","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","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","build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","verbose","compilerOptionsParam","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","compileFolder","folder","entryMode","options","types","verbose","outDir","errors","packageCompileTscTypes","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTsup","config","console","warn","compile","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint"]}
|
|
@@ -128,12 +128,22 @@ var packageCompileTscTypes = /* @__PURE__ */ __name((folder = "src", { verbose }
|
|
|
128
128
|
// src/actions/package/compile/packageCompileTsup.ts
|
|
129
129
|
var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single", options, types = "tsc", verbose) => {
|
|
130
130
|
const outDir = options?.outDir ?? "dist";
|
|
131
|
+
if (types === "tsc") {
|
|
132
|
+
const errors = packageCompileTscTypes(folder, {
|
|
133
|
+
verbose
|
|
134
|
+
}, {
|
|
135
|
+
outDir
|
|
136
|
+
});
|
|
137
|
+
if (errors) {
|
|
138
|
+
return errors;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
131
141
|
const entry = buildEntries(folder, entryMode);
|
|
132
142
|
const optionsResult = defineConfig({
|
|
133
143
|
bundle: true,
|
|
134
144
|
cjsInterop: true,
|
|
135
145
|
clean: true,
|
|
136
|
-
dts:
|
|
146
|
+
dts: types === "tsup",
|
|
137
147
|
entry,
|
|
138
148
|
format: [
|
|
139
149
|
"esm"
|
|
@@ -156,16 +166,6 @@ var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single",
|
|
|
156
166
|
];
|
|
157
167
|
}))).flat();
|
|
158
168
|
await Promise.all(optionsList.map((options2) => build(options2)));
|
|
159
|
-
if (types === "tsc") {
|
|
160
|
-
const errors = packageCompileTscTypes(folder, {
|
|
161
|
-
verbose
|
|
162
|
-
}, {
|
|
163
|
-
outDir
|
|
164
|
-
});
|
|
165
|
-
if (errors) {
|
|
166
|
-
return errors;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
169
|
return 0;
|
|
170
170
|
}, "compileFolder");
|
|
171
171
|
var packageCompileTsup = /* @__PURE__ */ __name(async (config, types = "tsc") => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["packageCompileTsup.ts","inputs.ts","buildEntries.ts","packageCompileTscTypes.ts","getCompilerOptions.ts"],"sourcesContent":["import { Loader } from 'esbuild'\nimport {\n build, defineConfig, Options,\n} from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\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: true,\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: 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 if (types === 'tsc') {\n const errors = packageCompileTscTypes(folder, { verbose }, { outDir })\n if (errors) {\n return errors\n }\n }\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\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 const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\n }\n const standardOptions: Options = {\n bundle: true,\n format: ['esm'],\n loader: standardLoaders,\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n }\n\n return (\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 ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/node',\n platform: 'node',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } 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 getAllInputs(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 { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): 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 ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\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 return diagResults\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport { TsConfig } from 'tsc-prog'\nimport {\n CompilerOptions,\n findConfigFile, readConfigFile, sys,\n} 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 deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst 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 deepmerge(configFileCompilerOptions, options)\n}\n"],"mappings":"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","names":["build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","createRequire","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","packageCompileTscTypes","folder","verbose","compilerOptionsParam","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","compileFolder","folder","entryMode","options","types","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","errors","packageCompileTscTypes","packageCompileTsup","config","console","warn","compile","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value"]}
|
|
1
|
+
{"version":3,"sources":["packageCompileTsup.ts","inputs.ts","buildEntries.ts","packageCompileTscTypes.ts","getCompilerOptions.ts"],"sourcesContent":["import { Loader } from 'esbuild'\nimport {\n build, defineConfig, Options,\n} from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsc',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (types === 'tsc') {\n const errors = packageCompileTscTypes(folder, { verbose }, { outDir })\n if (errors) {\n return errors\n }\n }\n\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: types === 'tsup',\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: 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 return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsc') => {\n console.warn('packageCompileTsup-types', types)\n const compile = config?.compile\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 const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\n }\n const standardOptions: Options = {\n bundle: true,\n format: ['esm'],\n loader: standardLoaders,\n outExtension: ({ format }) => (format === 'esm' ? { js: '.mjs' } : { js: '.cjs' }),\n skipNodeModulesBundle: true,\n sourcemap: true,\n target: 'esnext',\n }\n\n return (\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 ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/node',\n platform: 'node',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\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 ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || 0\n )\n}\n","import { glob } from 'glob'\n\nexport const getAllInputs = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs } 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 getAllInputs(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 { getCompilerOptions } from './getCompilerOptions.ts'\nimport { XyConfig } from './XyConfig.ts'\n\nexport const packageCompileTscTypes = (\n folder: string = 'src',\n { verbose }: XyConfig = {},\n compilerOptionsParam?: CompilerOptions,\n): 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 ...(getCompilerOptions({\n declaration: true,\n emitDeclarationOnly: true,\n outDir: 'dist',\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\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 return diagResults\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport { TsConfig } from 'tsc-prog'\nimport {\n CompilerOptions,\n findConfigFile, readConfigFile, sys,\n} 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 deepmerge(getNested(opts), config.compilerOptions ?? {}) as CompilerOptions\n }\n\n return config.compilerOptions as CompilerOptions\n}\n\nconst 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 deepmerge(configFileCompilerOptions, options)\n}\n"],"mappings":"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","names":["build","defineConfig","glob","getAllInputs","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","createRequire","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","packageCompileTscTypes","folder","verbose","compilerOptionsParam","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","compileFolder","folder","entryMode","options","types","verbose","outDir","errors","packageCompileTscTypes","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTsup","config","console","warn","compile","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value"]}
|
|
@@ -323,12 +323,22 @@ var packageCompileTscTypes = /* @__PURE__ */ __name((folder = "src", { verbose }
|
|
|
323
323
|
// src/actions/package/compile/packageCompileTsup.ts
|
|
324
324
|
var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single", options, types = "tsc", verbose) => {
|
|
325
325
|
const outDir = options?.outDir ?? "dist";
|
|
326
|
+
if (types === "tsc") {
|
|
327
|
+
const errors = packageCompileTscTypes(folder, {
|
|
328
|
+
verbose
|
|
329
|
+
}, {
|
|
330
|
+
outDir
|
|
331
|
+
});
|
|
332
|
+
if (errors) {
|
|
333
|
+
return errors;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
326
336
|
const entry = buildEntries(folder, entryMode);
|
|
327
337
|
const optionsResult = defineConfig({
|
|
328
338
|
bundle: true,
|
|
329
339
|
cjsInterop: true,
|
|
330
340
|
clean: true,
|
|
331
|
-
dts:
|
|
341
|
+
dts: types === "tsup",
|
|
332
342
|
entry,
|
|
333
343
|
format: [
|
|
334
344
|
"esm"
|
|
@@ -351,16 +361,6 @@ var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single",
|
|
|
351
361
|
];
|
|
352
362
|
}))).flat();
|
|
353
363
|
await Promise.all(optionsList.map((options2) => build(options2)));
|
|
354
|
-
if (types === "tsc") {
|
|
355
|
-
const errors = packageCompileTscTypes(folder, {
|
|
356
|
-
verbose
|
|
357
|
-
}, {
|
|
358
|
-
outDir
|
|
359
|
-
});
|
|
360
|
-
if (errors) {
|
|
361
|
-
return errors;
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
364
|
return 0;
|
|
365
365
|
}, "compileFolder");
|
|
366
366
|
var packageCompileTsup = /* @__PURE__ */ __name(async (config2, types = "tsc") => {
|