@xylabs/ts-scripts-yarn3 7.0.0-rc.21 → 7.0.0-rc.23
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 +69 -44
- package/dist/actions/index.mjs.map +1 -1
- package/dist/actions/package/compile/buildEntries.mjs +9 -3
- package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
- package/dist/actions/package/compile/compile.mjs +55 -30
- package/dist/actions/package/compile/compile.mjs.map +1 -1
- package/dist/actions/package/compile/index.mjs +55 -30
- package/dist/actions/package/compile/index.mjs.map +1 -1
- package/dist/actions/package/compile/inputs.mjs +8 -2
- package/dist/actions/package/compile/inputs.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsc.mjs +15 -4
- package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTscTypes.mjs +39 -20
- package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsup.mjs +55 -30
- package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
- package/dist/actions/package/index.mjs +61 -36
- package/dist/actions/package/index.mjs.map +1 -1
- package/dist/actions/package/recompile.mjs +55 -30
- package/dist/actions/package/recompile.mjs.map +1 -1
- package/dist/bin/package/build-only.mjs +55 -30
- package/dist/bin/package/build-only.mjs.map +1 -1
- package/dist/bin/package/build.mjs +55 -30
- package/dist/bin/package/build.mjs.map +1 -1
- package/dist/bin/package/compile-only.mjs +55 -30
- package/dist/bin/package/compile-only.mjs.map +1 -1
- package/dist/bin/package/compile-tsup.mjs +55 -30
- package/dist/bin/package/compile-tsup.mjs.map +1 -1
- package/dist/bin/package/compile.mjs +55 -30
- package/dist/bin/package/compile.mjs.map +1 -1
- package/dist/bin/package/recompile.mjs +55 -30
- package/dist/bin/package/recompile.mjs.map +1 -1
- package/dist/index.mjs +69 -44
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -6
|
@@ -119,13 +119,19 @@ import { build, defineConfig } from "tsup";
|
|
|
119
119
|
import chalk5 from "chalk";
|
|
120
120
|
import { glob as glob2 } from "glob";
|
|
121
121
|
var getAllInputs = (srcDir, verbose = false) => {
|
|
122
|
-
return glob2.sync(`${srcDir}
|
|
122
|
+
return [...glob2.sync(`${srcDir}/**/*.ts`, { posix: true }).map((file) => {
|
|
123
123
|
const result = file.slice(Math.max(0, srcDir.length + 1));
|
|
124
124
|
if (verbose) {
|
|
125
125
|
console.log(chalk5.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
|
|
126
126
|
}
|
|
127
127
|
return result;
|
|
128
|
-
})
|
|
128
|
+
}), ...glob2.sync(`${srcDir}/**/*.tsx`, { posix: true }).map((file) => {
|
|
129
|
+
const result = file.slice(Math.max(0, srcDir.length + 1));
|
|
130
|
+
if (verbose) {
|
|
131
|
+
console.log(chalk5.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
|
|
132
|
+
}
|
|
133
|
+
return result;
|
|
134
|
+
})];
|
|
129
135
|
};
|
|
130
136
|
|
|
131
137
|
// src/actions/package/compile/buildEntries.ts
|
|
@@ -137,7 +143,7 @@ var buildEntries = (srcDir, entryMode = "single", options, excludeSpecAndStories
|
|
|
137
143
|
break;
|
|
138
144
|
}
|
|
139
145
|
case "all": {
|
|
140
|
-
entries = excludeSpecAndStories ? getAllInputs(srcDir).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(srcDir);
|
|
146
|
+
entries = (excludeSpecAndStories ? getAllInputs(srcDir).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(srcDir)).filter((entry) => !entry.endsWith(".d.ts"));
|
|
141
147
|
break;
|
|
142
148
|
}
|
|
143
149
|
case "custom": {
|
|
@@ -183,7 +189,7 @@ function deepMergeObjects(objects) {
|
|
|
183
189
|
import { cwd as cwd2 } from "process";
|
|
184
190
|
import chalk6 from "chalk";
|
|
185
191
|
import { createProgramFromConfig } from "tsc-prog";
|
|
186
|
-
import {
|
|
192
|
+
import ts, {
|
|
187
193
|
DiagnosticCategory,
|
|
188
194
|
formatDiagnosticsWithColorAndContext,
|
|
189
195
|
getPreEmitDiagnostics,
|
|
@@ -200,11 +206,20 @@ var getCompilerOptions = (options = {}, fileName = "tsconfig.json") => {
|
|
|
200
206
|
};
|
|
201
207
|
|
|
202
208
|
// src/actions/package/compile/packageCompileTsc.ts
|
|
203
|
-
var packageCompileTsc = (platform, entries, srcDir = "src", outDir = "
|
|
209
|
+
var packageCompileTsc = (platform, entries, srcDir = "src", outDir = "dist", compilerOptionsParam, verbose = false) => {
|
|
204
210
|
const pkg = process.env.INIT_CWD ?? cwd2();
|
|
205
211
|
if (verbose) {
|
|
206
212
|
console.log(chalk6.cyan(`Validating code START: ${entries.length} files to ${outDir} from ${srcDir}`));
|
|
207
213
|
}
|
|
214
|
+
const configFilePath = ts.findConfigFile(
|
|
215
|
+
"./",
|
|
216
|
+
// search path
|
|
217
|
+
ts.sys.fileExists,
|
|
218
|
+
"tsconfig.json"
|
|
219
|
+
);
|
|
220
|
+
if (configFilePath === void 0) {
|
|
221
|
+
throw new Error("Could not find tsconfig.json");
|
|
222
|
+
}
|
|
208
223
|
const compilerOptions = {
|
|
209
224
|
...getCompilerOptions({
|
|
210
225
|
removeComments: false,
|
|
@@ -226,9 +241,11 @@ var packageCompileTsc = (platform, entries, srcDir = "src", outDir = "build", co
|
|
|
226
241
|
try {
|
|
227
242
|
if (entries.length > 0) {
|
|
228
243
|
const program = createProgramFromConfig({
|
|
244
|
+
configFilePath,
|
|
229
245
|
basePath: pkg ?? cwd2(),
|
|
230
246
|
compilerOptions,
|
|
231
|
-
files: entries.map((entry) => `${srcDir}/${entry}`)
|
|
247
|
+
files: entries.map((entry) => `${srcDir}/${entry}`),
|
|
248
|
+
include: [`${srcDir}/**/*.*`]
|
|
232
249
|
});
|
|
233
250
|
const diagnostics = getPreEmitDiagnostics(program);
|
|
234
251
|
if (diagnostics.length > 0) {
|
|
@@ -248,33 +265,42 @@ var packageCompileTsc = (platform, entries, srcDir = "src", outDir = "build", co
|
|
|
248
265
|
return 0;
|
|
249
266
|
} finally {
|
|
250
267
|
if (verbose) {
|
|
251
|
-
console.log(chalk6.cyan(`
|
|
268
|
+
console.log(chalk6.cyan(`Validating code FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
|
|
252
269
|
}
|
|
253
270
|
}
|
|
254
271
|
};
|
|
255
272
|
|
|
256
273
|
// src/actions/package/compile/packageCompileTscTypes.ts
|
|
274
|
+
import path3 from "path";
|
|
257
275
|
import { cwd as cwd3 } from "process";
|
|
258
276
|
import chalk7 from "chalk";
|
|
259
277
|
import { rollup } from "rollup";
|
|
260
278
|
import dts from "rollup-plugin-dts";
|
|
261
|
-
import inlineSvg from "rollup-plugin-inline-svg";
|
|
262
279
|
import nodeExternals from "rollup-plugin-node-externals";
|
|
263
280
|
async function bundleDts(inputPath, outputPath, platform, options, verbose = false) {
|
|
281
|
+
const pkg = process.env.INIT_CWD ?? cwd3();
|
|
282
|
+
const tsconfigPath = path3.resolve(pkg, "tsconfig.json");
|
|
264
283
|
const nodePlugIns = platform === "node" ? [nodeExternals()] : [];
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
284
|
+
try {
|
|
285
|
+
const bundle = await rollup({
|
|
286
|
+
input: inputPath,
|
|
287
|
+
plugins: [dts({
|
|
288
|
+
...options,
|
|
289
|
+
tsconfig: tsconfigPath,
|
|
290
|
+
compilerOptions: { emitDeclarationOnly: true, noEmit: false }
|
|
291
|
+
}), ...nodePlugIns],
|
|
292
|
+
onwarn(warning, warn) {
|
|
293
|
+
if (warning.code === "UNUSED_EXTERNAL_IMPORT") return;
|
|
294
|
+
warn(warning);
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
await bundle.write({
|
|
298
|
+
file: outputPath,
|
|
299
|
+
format: "es"
|
|
300
|
+
});
|
|
301
|
+
} catch (ex) {
|
|
302
|
+
console.error(ex);
|
|
303
|
+
}
|
|
278
304
|
if (verbose) {
|
|
279
305
|
console.log(`Bundled declarations written to ${outputPath}`);
|
|
280
306
|
}
|
|
@@ -291,19 +317,18 @@ var packageCompileTscTypes = async (entries, outDir, platform, srcDir = "build",
|
|
|
291
317
|
const newEntryExtension = "d." + splitEntryName.at(-1);
|
|
292
318
|
return [...splitEntryName.slice(0, -1), newEntryExtension].join(".");
|
|
293
319
|
};
|
|
294
|
-
const compilerOptions = {
|
|
320
|
+
const compilerOptions = getCompilerOptions({
|
|
295
321
|
removeComments: false,
|
|
296
322
|
skipDefaultLibCheck: true,
|
|
297
323
|
skipLibCheck: true,
|
|
298
324
|
sourceMap: false,
|
|
299
325
|
emitDeclarationOnly: false,
|
|
300
326
|
noEmit: true
|
|
301
|
-
};
|
|
327
|
+
});
|
|
302
328
|
const entryNames = entries.map((entry) => entry.split(`${srcDir}/`).at(-1) ?? entry);
|
|
303
329
|
await Promise.all(entryNames.map(async (entryName) => {
|
|
304
330
|
const entryTypeName = entryNameToTypeName(entryName);
|
|
305
|
-
|
|
306
|
-
await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, { compilerOptions, tsconfig: "tsconfig.json" }, verbose);
|
|
331
|
+
await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, { compilerOptions }, verbose);
|
|
307
332
|
}));
|
|
308
333
|
if (verbose) {
|
|
309
334
|
console.log(chalk7.cyan(`Compiling Types FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
|
|
@@ -321,7 +346,7 @@ var compileFolder = async (srcDir, entries, options, verbose) => {
|
|
|
321
346
|
console.warn(chalk8.yellow(`No entries found in ${srcDir} to compile`));
|
|
322
347
|
return 0;
|
|
323
348
|
}
|
|
324
|
-
const tscOutDir = "
|
|
349
|
+
const tscOutDir = "dist";
|
|
325
350
|
if (verbose) {
|
|
326
351
|
console.log(chalk8.gray(`tscOutDir [${tscOutDir}]`));
|
|
327
352
|
}
|
|
@@ -330,10 +355,10 @@ var compileFolder = async (srcDir, entries, options, verbose) => {
|
|
|
330
355
|
console.error(chalk8.red(`Compile:Validation had ${validationResult} errors`));
|
|
331
356
|
return validationResult;
|
|
332
357
|
}
|
|
333
|
-
const optionsParams = {
|
|
358
|
+
const optionsParams = tsupOptions([{
|
|
334
359
|
bundle: true,
|
|
335
360
|
cjsInterop: true,
|
|
336
|
-
clean:
|
|
361
|
+
clean: false,
|
|
337
362
|
dts: false,
|
|
338
363
|
format: ["esm"],
|
|
339
364
|
outDir,
|
|
@@ -343,7 +368,7 @@ var compileFolder = async (srcDir, entries, options, verbose) => {
|
|
|
343
368
|
tsconfig: "tsconfig.json",
|
|
344
369
|
...options,
|
|
345
370
|
entry: entries.map((entry) => `${srcDir}/${entry}`)
|
|
346
|
-
};
|
|
371
|
+
}]);
|
|
347
372
|
const optionsResult = defineConfig(optionsParams);
|
|
348
373
|
const optionsList = (await Promise.all(
|
|
349
374
|
(Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap(async (options2) => {
|
|
@@ -369,7 +394,7 @@ var tsupOptions = (options = []) => {
|
|
|
369
394
|
".jpg": "copy",
|
|
370
395
|
".json": "json",
|
|
371
396
|
".png": "copy",
|
|
372
|
-
".svg": "
|
|
397
|
+
".svg": "text",
|
|
373
398
|
".webp": "copy"
|
|
374
399
|
};
|
|
375
400
|
const standardOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/package/clean-outputs.ts","../../../src/lib/deleteGlob.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/deepMerge.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/recompile.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanOutputs = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n for (let folder of folders) {\n deleteGlob(folder)\n }\n\n return 0\n}\n","import fs from 'node:fs'\n\nimport { glob } from 'glob'\n\nexport const deleteGlob = (globPath: string) => {\n // Find all files matching the glob pattern\n const files = glob.sync(globPath)\n\n // Remove each file or directory\n for (const file of files) {\n fs.rmSync(file, { recursive: true, force: true })\n }\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { TypeScriptLoader } from 'cosmiconfig-typescript-loader'\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 === undefined) {\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true, loaders: { '.ts': TypeScriptLoader() } }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath !== undefined) {\n console.log(chalk.green(`Loaded config from ${configFilePath}`))\n if (config.verbose) {\n console.log(chalk.gray(`${JSON.stringify(config, null, 2)}`))\n }\n }\n }\n return deepmerge(config, params ?? {}) as T\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanTypescript = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n for (let file of files) {\n deleteGlob(file)\n }\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport type { XyConfig } from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const tsupResults = await packageCompileTsup(config)\n\n if (tsupResults > 0) {\n return tsupResults\n }\n\n return (publint ? await packagePublint(config) : 0)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport type { 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 chalk from 'chalk'\nimport type { Loader } from 'esbuild'\nimport type { Options } from 'tsup'\nimport { build, defineConfig } from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { deepMergeObjects } from './deepMerge.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport type { XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n srcDir: string,\n entries: string[],\n options?: Options,\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (verbose) {\n console.log(`compileFolder [${srcDir}, ${options?.outDir}]`)\n }\n\n if (entries.length === 0) {\n console.warn(chalk.yellow(`No entries found in ${srcDir} to compile`))\n return 0\n }\n\n const tscOutDir = 'build'\n\n if (verbose) {\n console.log(chalk.gray(`tscOutDir [${tscOutDir}]`))\n }\n\n const validationResult = packageCompileTsc(options?.platform ?? 'neutral', entries, srcDir, tscOutDir, undefined, verbose)\n if (validationResult !== 0) {\n console.error(chalk.red(`Compile:Validation had ${validationResult} errors`))\n return validationResult\n }\n\n const optionsParams: Options = {\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: false,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n entry: entries.map(entry => `${srcDir}/${entry}`),\n }\n\n const optionsResult = defineConfig(optionsParams)\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 if (verbose) {\n console.log(chalk.cyan(`TSUP:build:start [${srcDir}]`))\n console.log(chalk.gray(`TSUP:build:options [${JSON.stringify(optionsList, null, 2)}]`))\n }\n\n await Promise.all(optionsList.map(options => build(options)))\n\n if (verbose) {\n console.log(chalk.cyan(`TSUP:build:stop [${srcDir}]`))\n }\n\n await packageCompileTscTypes(entries, outDir, options?.platform ?? 'neutral', tscOutDir, verbose)\n\n return 0\n}\n\nexport const tsupOptions = (options: Options[] = []): Options => {\n const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'copy', '.webp': 'copy',\n }\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 deepMergeObjects([standardOptions, ...options])\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log('Compiling with TSUP')\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n return (\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([srcDir, options]) => {\n const optionsObject: Options = typeof options === 'object' ? options : {}\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose)\n return typeof srcDir === 'string'\n ? await compileFolder(\n srcDir,\n entry,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'node', outDir: optionsObject.outDir ?? 'dist/node' }]),\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 ([srcDir, options]) => {\n const optionsObject: Options = typeof options === 'object' ? options : {}\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose)\n return typeof srcDir === 'string'\n ? await compileFolder(\n srcDir,\n entry,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'browser', outDir: optionsObject.outDir ?? 'dist/browser' }]),\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 ([srcDir, options]) => {\n const optionsObject: Options = typeof options === 'object' ? options : {}\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose)\n return typeof srcDir === 'string'\n ? await compileFolder(\n srcDir,\n entry,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'neutral', outDir: optionsObject.outDir ?? 'dist/neutral' }]),\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n + 0\n )\n}\n","import chalk from 'chalk'\nimport { glob } from 'glob'\n\nexport const getAllInputs = (srcDir: string, verbose = false) => {\n /* tsup wants posix paths */\n return glob.sync(`${srcDir}/**/*.*`, { posix: true }).map((file) => {\n const result = file.slice(Math.max(0, srcDir.length + 1)) // Remove the folder prefix\n if (verbose) {\n console.log(chalk.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`))\n }\n return result\n })\n}\n","import type { Options } from 'tsup'\n\nimport { getAllInputs } from './inputs.ts'\nimport type { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (srcDir: string, entryMode: EntryMode = 'single', options?: Options | boolean, excludeSpecAndStories = true, verbose = false) => {\n let entries: string[] = []\n switch (entryMode) {\n case 'platform': {\n entries = ['index-node.ts', 'index-browser.ts']\n break\n }\n case 'all': {\n entries = excludeSpecAndStories ? getAllInputs(srcDir).filter(entry => !entry.includes('.spec.') && !entry.includes('.stories.')) : getAllInputs(srcDir)\n break\n }\n case 'custom': {\n entries = []\n break\n }\n default: {\n entries = ['index.ts']\n break\n }\n }\n\n if (typeof options !== 'boolean' && Array.isArray(options?.entry)) {\n entries.push(...options.entry)\n }\n\n if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`)\n return entries\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyObject = Record<any, any>\n\nfunction deepMerge<T extends AnyObject>(target: AnyObject, source: AnyObject): T {\n if (!source || typeof source !== 'object') return target\n\n for (const key of Object.keys(source)) {\n if (\n typeof source[key] === 'object'\n && source[key] !== null\n && !Array.isArray(source[key])\n ) {\n // Recursively merge nested objects\n if (!target[key] || typeof target[key] !== 'object') {\n target[key] = {} as T[typeof key]\n }\n deepMerge(target[key], source[key])\n } else {\n // Overwrite with non-object values\n target[key] = source[key]\n }\n }\n\n return target\n}\n\nexport function deepMergeObjects<T extends AnyObject>(objects: T[]): T {\n const result = {} as T\n for (const obj of objects) {\n deepMerge(result, obj)\n }\n return result\n}\n","import { rmSync } from 'node:fs'\nimport { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport type { TsConfigCompilerOptions } from 'tsc-prog'\nimport { createProgramFromConfig } from 'tsc-prog'\nimport type { CompilerOptions } from 'typescript'\nimport {\n DiagnosticCategory, formatDiagnosticsWithColorAndContext, getPreEmitDiagnostics, sys,\n} from 'typescript'\n\nimport { getCompilerOptions } from './getCompilerOptions.ts'\n\nexport const packageCompileTsc = (\n platform: 'browser' | 'neutral' | 'node',\n entries: string[],\n srcDir: string = 'src',\n outDir: string = 'build',\n compilerOptionsParam?: CompilerOptions,\n verbose: boolean = false,\n): number => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n if (verbose) {\n console.log(chalk.cyan(`Validating code START: ${entries.length} files to ${outDir} from ${srcDir}`))\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n })),\n ...compilerOptionsParam,\n outDir: `${outDir}/${platform}`,\n emitDeclarationOnly: true,\n noEmit: false,\n } as TsConfigCompilerOptions\n\n console.log(chalk.cyan(`Validating Files: ${entries.length}`))\n if (verbose) {\n for (const entry of entries) {\n console.log(chalk.grey(`Validating: ${entry}`))\n }\n }\n\n try {\n if (entries.length > 0) {\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n files: entries.map(entry => `${srcDir}/${entry}`),\n })\n\n const diagnostics = getPreEmitDiagnostics(program)\n\n if (diagnostics.length > 0) {\n const formattedDiagnostics = formatDiagnosticsWithColorAndContext(\n diagnostics,\n {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => srcDir,\n getNewLine: () => sys.newLine,\n },\n )\n console.error(formattedDiagnostics)\n }\n\n program.emit()\n return diagnostics.reduce((acc, diag) => acc + (diag.category === DiagnosticCategory.Error ? 1 : 0), 0)\n }\n return 0\n } finally {\n if (verbose) {\n console.log(chalk.cyan(`Verifying code FINISH: ${entries.length} files to ${outDir} from ${srcDir}`))\n }\n }\n}\n","import { cwd } from 'node:process'\n\nimport deepmerge from 'deepmerge'\nimport { getTsconfig } from 'get-tsconfig'\nimport type { CompilerOptions } from 'typescript'\n\nexport const getCompilerOptions = (options: CompilerOptions = {}, fileName: string = 'tsconfig.json'): CompilerOptions => {\n const resolvedTsConfigCompilerOptions = getTsconfig(cwd(), fileName)?.config?.compilerOptions ?? {}\n\n return deepmerge(resolvedTsConfigCompilerOptions, options)\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { rollup } from 'rollup'\nimport type { Options } from 'rollup-plugin-dts'\nimport dts from 'rollup-plugin-dts'\nimport inlineSvg from 'rollup-plugin-inline-svg'\nimport nodeExternals from 'rollup-plugin-node-externals'\nimport type ts from 'typescript'\n\nexport async function bundleDts(inputPath: string, outputPath: string, platform: 'node' | 'browser' | 'neutral', options?: Options, verbose = false) {\n const nodePlugIns = platform === 'node' ? [nodeExternals()] : []\n const bundle = await rollup({\n input: inputPath,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n plugins: [dts(options), (inlineSvg as any)(), ...nodePlugIns],\n onwarn(warning, warn) {\n // Ignore certain warnings if needed\n if (warning.code === 'UNUSED_EXTERNAL_IMPORT') return\n warn(warning)\n },\n })\n\n await bundle.write({\n file: outputPath,\n format: 'es',\n })\n if (verbose) {\n console.log(`Bundled declarations written to ${outputPath}`)\n }\n}\n\nexport const packageCompileTscTypes = async (\n entries: string[],\n outDir: string,\n platform: 'node' | 'browser' | 'neutral',\n srcDir: string = 'build',\n verbose = false,\n): Promise<number> => {\n if (verbose) {\n console.log(chalk.cyan(`Compiling Types START [${platform}]: ${entries.length} files to ${outDir} from ${srcDir}`))\n console.log(`Entries: ${entries.join(', ')}`)\n }\n const pkg = process.env.INIT_CWD ?? cwd()\n const srcRoot = `${pkg}/${srcDir}/${platform}`\n\n const entryNameToTypeName = (entry: string): string => {\n const splitEntryName = entry.split('.')\n const newEntryExtension = 'd.' + splitEntryName.at(-1)\n return [...splitEntryName.slice(0, -1), newEntryExtension].join('.')\n }\n\n const compilerOptions = {\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n emitDeclarationOnly: false,\n noEmit: true,\n } as ts.CompilerOptions\n\n const entryNames = entries.map(entry => entry.split(`${srcDir}/`).at(-1) ?? entry)\n\n await Promise.all(entryNames.map(async (entryName) => {\n const entryTypeName = entryNameToTypeName(entryName)\n console.log(`Compiling Types: ${srcRoot}/${entryTypeName} to ${outDir}/${entryTypeName}`)\n await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, { compilerOptions, tsconfig: 'tsconfig.json' }, verbose)\n }))\n\n if (verbose) {\n console.log(chalk.cyan(`Compiling Types FINISH: ${entries.length} files to ${outDir} from ${srcDir}`))\n }\n\n return 0\n}\n","import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return await packageClean() || await packageCompile()\n}\n"],"mappings":"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","names":["chalk","chalk","path","chalk","chalk","path","chalk","fs","chalk","chalk","chalk","glob","cwd","chalk","deepmerge","cwd","chalk","cwd","chalk","chalk","options","config","chalk","config"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/package/clean-outputs.ts","../../../src/lib/deleteGlob.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/clean-typescript.ts","../../../src/actions/package/clean.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/deepMerge.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../src/actions/package/recompile.ts"],"sourcesContent":["import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanOutputs = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n const folders: string[] = [path.join(pkg, 'dist'), path.join(pkg, 'build'), path.join(pkg, 'docs')]\n console.log(chalk.green(`Cleaning Outputs [${pkgName}]`))\n\n for (let folder of folders) {\n deleteGlob(folder)\n }\n\n return 0\n}\n","import fs from 'node:fs'\n\nimport { glob } from 'glob'\n\nexport const deleteGlob = (globPath: string) => {\n // Find all files matching the glob pattern\n const files = glob.sync(globPath)\n\n // Remove each file or directory\n for (const file of files) {\n fs.rmSync(file, { recursive: true, force: true })\n }\n}\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport { TypeScriptLoader } from 'cosmiconfig-typescript-loader'\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 === undefined) {\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true, loaders: { '.ts': TypeScriptLoader() } }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath !== undefined) {\n console.log(chalk.green(`Loaded config from ${configFilePath}`))\n if (config.verbose) {\n console.log(chalk.gray(`${JSON.stringify(config, null, 2)}`))\n }\n }\n }\n return deepmerge(config, params ?? {}) as T\n}\n","import path from 'node:path'\n\nimport chalk from 'chalk'\n\nimport { deleteGlob } from '../../lib/index.ts'\n\nexport const packageCleanTypescript = () => {\n const pkg = process.env.INIT_CWD ?? '.'\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`Cleaning Typescript [${pkgName}]`))\n const files: string[] = [path.join(pkg, '*.tsbuildinfo'), path.join(pkg, '.tsconfig.*'), path.join(pkg, '.eslintcache')]\n\n for (let file of files) {\n deleteGlob(file)\n }\n\n return 0\n}\n","import { packageCleanOutputs } from './clean-outputs.ts'\nimport { packageCleanTypescript } from './clean-typescript.ts'\n\nexport const packageClean = async () => {\n return (await Promise.all([packageCleanOutputs(), packageCleanTypescript()])).reduce((prev, value) => prev + value, 0)\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport type { XyConfig } from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const tsupResults = await packageCompileTsup(config)\n\n if (tsupResults > 0) {\n return tsupResults\n }\n\n return (publint ? await packagePublint(config) : 0)\n}\n","import { promises as fs } from 'node:fs'\n\nimport chalk from 'chalk'\nimport type { 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 chalk from 'chalk'\nimport type { Loader } from 'esbuild'\nimport type { Options } from 'tsup'\nimport { build, defineConfig } from 'tsup'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { deepMergeObjects } from './deepMerge.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport type { XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (\n srcDir: string,\n entries: string[],\n options?: Options,\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n\n if (verbose) {\n console.log(`compileFolder [${srcDir}, ${options?.outDir}]`)\n }\n\n if (entries.length === 0) {\n console.warn(chalk.yellow(`No entries found in ${srcDir} to compile`))\n return 0\n }\n\n const tscOutDir = 'dist'\n\n if (verbose) {\n console.log(chalk.gray(`tscOutDir [${tscOutDir}]`))\n }\n\n const validationResult = packageCompileTsc(options?.platform ?? 'neutral', entries, srcDir, tscOutDir, undefined, verbose)\n if (validationResult !== 0) {\n console.error(chalk.red(`Compile:Validation had ${validationResult} errors`))\n return validationResult\n }\n\n const optionsParams: Options = tsupOptions([{\n bundle: true,\n cjsInterop: true,\n clean: false,\n dts: false,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: true,\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n entry: entries.map(entry => `${srcDir}/${entry}`),\n }])\n\n const optionsResult = defineConfig(optionsParams)\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 if (verbose) {\n console.log(chalk.cyan(`TSUP:build:start [${srcDir}]`))\n console.log(chalk.gray(`TSUP:build:options [${JSON.stringify(optionsList, null, 2)}]`))\n }\n\n await Promise.all(optionsList.map(options => build(options)))\n\n if (verbose) {\n console.log(chalk.cyan(`TSUP:build:stop [${srcDir}]`))\n }\n\n await packageCompileTscTypes(entries, outDir, options?.platform ?? 'neutral', tscOutDir, verbose)\n\n return 0\n}\n\nexport const tsupOptions = (options: Options[] = []): Options => {\n const standardLoaders: Record<string, Loader> = {\n '.gif': 'copy', '.html': 'copy', '.jpg': 'copy', '.json': 'json', '.png': 'copy', '.svg': 'text', '.webp': 'copy',\n }\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 deepMergeObjects([standardOptions, ...options])\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log('Compiling with TSUP')\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n return (\n (\n await Promise.all(\n Object.entries(compileForNode).map(async ([srcDir, options]) => {\n const optionsObject: Options = typeof options === 'object' ? options : {}\n const inEsBuildOptions = typeof compile?.node?.esbuildOptions === 'object' ? compile?.node?.esbuildOptions : {}\n const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose)\n return typeof srcDir === 'string'\n ? await compileFolder(\n srcDir,\n entry,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'node', outDir: optionsObject.outDir ?? 'dist/node' }]),\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 ([srcDir, options]) => {\n const optionsObject: Options = typeof options === 'object' ? options : {}\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose)\n return typeof srcDir === 'string'\n ? await compileFolder(\n srcDir,\n entry,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'browser', outDir: optionsObject.outDir ?? 'dist/browser' }]),\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 ([srcDir, options]) => {\n const optionsObject: Options = typeof options === 'object' ? options : {}\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose)\n return typeof srcDir === 'string'\n ? await compileFolder(\n srcDir,\n entry,\n tsupOptions([inEsBuildOptions,\n compile?.tsup?.options ?? {},\n (typeof options === 'object' ? options : {}),\n { platform: 'neutral', outDir: optionsObject.outDir ?? 'dist/neutral' }]),\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n + 0\n )\n}\n","import chalk from 'chalk'\nimport { glob } from 'glob'\n\nexport const getAllInputs = (srcDir: string, verbose = false) => {\n /* tsup wants posix paths */\n return [...glob.sync(`${srcDir}/**/*.ts`, { posix: true }).map((file) => {\n const result = file.slice(Math.max(0, srcDir.length + 1)) // Remove the folder prefix\n if (verbose) {\n console.log(chalk.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`))\n }\n return result\n }), ...glob.sync(`${srcDir}/**/*.tsx`, { posix: true }).map((file) => {\n const result = file.slice(Math.max(0, srcDir.length + 1)) // Remove the folder prefix\n if (verbose) {\n console.log(chalk.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`))\n }\n return result\n })]\n}\n","import type { Options } from 'tsup'\n\nimport { getAllInputs } from './inputs.ts'\nimport type { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (srcDir: string, entryMode: EntryMode = 'single', options?: Options | boolean, excludeSpecAndStories = true, verbose = false) => {\n let entries: string[] = []\n switch (entryMode) {\n case 'platform': {\n entries = ['index-node.ts', 'index-browser.ts']\n break\n }\n case 'all': {\n entries = (excludeSpecAndStories\n ? getAllInputs(srcDir).filter(entry => !entry.includes('.spec.') && !entry.includes('.stories.'))\n : getAllInputs(srcDir)).filter(entry => !entry.endsWith('.d.ts'))\n break\n }\n case 'custom': {\n entries = []\n break\n }\n default: {\n entries = ['index.ts']\n break\n }\n }\n\n if (typeof options !== 'boolean' && Array.isArray(options?.entry)) {\n entries.push(...options.entry)\n }\n\n if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`)\n return entries\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype AnyObject = Record<any, any>\n\nfunction deepMerge<T extends AnyObject>(target: AnyObject, source: AnyObject): T {\n if (!source || typeof source !== 'object') return target\n\n for (const key of Object.keys(source)) {\n if (\n typeof source[key] === 'object'\n && source[key] !== null\n && !Array.isArray(source[key])\n ) {\n // Recursively merge nested objects\n if (!target[key] || typeof target[key] !== 'object') {\n target[key] = {} as T[typeof key]\n }\n deepMerge(target[key], source[key])\n } else {\n // Overwrite with non-object values\n target[key] = source[key]\n }\n }\n\n return target\n}\n\nexport function deepMergeObjects<T extends AnyObject>(objects: T[]): T {\n const result = {} as T\n for (const obj of objects) {\n deepMerge(result, obj)\n }\n return result\n}\n","import path from 'node:path'\nimport { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport type { TsConfigCompilerOptions } from 'tsc-prog'\nimport { createProgramFromConfig } from 'tsc-prog'\nimport type { CompilerOptions } from 'typescript'\nimport ts, {\n DiagnosticCategory, formatDiagnosticsWithColorAndContext, getPreEmitDiagnostics, sys,\n} from 'typescript'\n\nimport { getCompilerOptions } from './getCompilerOptions.ts'\n\nexport const packageCompileTsc = (\n platform: 'browser' | 'neutral' | 'node',\n entries: string[],\n srcDir: string = 'src',\n outDir: string = 'dist',\n compilerOptionsParam?: CompilerOptions,\n verbose: boolean = false,\n): number => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n if (verbose) {\n console.log(chalk.cyan(`Validating code START: ${entries.length} files to ${outDir} from ${srcDir}`))\n }\n\n const configFilePath = ts.findConfigFile(\n './', // search path\n ts.sys.fileExists,\n 'tsconfig.json',\n )\n\n if (configFilePath === undefined) {\n throw new Error('Could not find tsconfig.json')\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n })),\n ...compilerOptionsParam,\n outDir: `${outDir}/${platform}`,\n emitDeclarationOnly: true,\n noEmit: false,\n } as TsConfigCompilerOptions\n\n console.log(chalk.cyan(`Validating Files: ${entries.length}`))\n if (verbose) {\n for (const entry of entries) {\n console.log(chalk.grey(`Validating: ${entry}`))\n }\n }\n\n try {\n if (entries.length > 0) {\n const program = createProgramFromConfig({\n configFilePath,\n basePath: pkg ?? cwd(),\n compilerOptions,\n files: entries.map(entry => `${srcDir}/${entry}`),\n include: [`${srcDir}/**/*.*`],\n })\n\n const diagnostics = getPreEmitDiagnostics(program)\n\n if (diagnostics.length > 0) {\n const formattedDiagnostics = formatDiagnosticsWithColorAndContext(\n diagnostics,\n {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => srcDir,\n getNewLine: () => sys.newLine,\n },\n )\n console.error(formattedDiagnostics)\n }\n\n program.emit()\n return diagnostics.reduce((acc, diag) => acc + (diag.category === DiagnosticCategory.Error ? 1 : 0), 0)\n }\n return 0\n } finally {\n if (verbose) {\n console.log(chalk.cyan(`Validating code FINISH: ${entries.length} files to ${outDir} from ${srcDir}`))\n }\n }\n}\n","import { cwd } from 'node:process'\n\nimport deepmerge from 'deepmerge'\nimport { getTsconfig } from 'get-tsconfig'\nimport type { CompilerOptions } from 'typescript'\n\nexport const getCompilerOptions = (options: CompilerOptions = {}, fileName: string = 'tsconfig.json'): CompilerOptions => {\n const resolvedTsConfigCompilerOptions = getTsconfig(cwd(), fileName)?.config?.compilerOptions ?? {}\n\n return deepmerge(resolvedTsConfigCompilerOptions, options)\n}\n","import path from 'node:path'\nimport { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport { rollup } from 'rollup'\nimport type { Options } from 'rollup-plugin-dts'\nimport dts from 'rollup-plugin-dts'\nimport nodeExternals from 'rollup-plugin-node-externals'\n\nimport { getCompilerOptions } from './getCompilerOptions.ts'\n\nexport async function bundleDts(inputPath: string, outputPath: string, platform: 'node' | 'browser' | 'neutral', options?: Options, verbose = false) {\n // Find the tsconfig.json path\n const pkg = process.env.INIT_CWD ?? cwd()\n const tsconfigPath = path.resolve(pkg, 'tsconfig.json')\n\n const nodePlugIns = platform === 'node' ? [nodeExternals()] : []\n try {\n const bundle = await rollup({\n input: inputPath,\n\n plugins: [dts({\n ...options, tsconfig: tsconfigPath, compilerOptions: { emitDeclarationOnly: true, noEmit: false },\n\n }), ...nodePlugIns],\n onwarn(warning, warn) {\n // Ignore certain warnings if needed\n if (warning.code === 'UNUSED_EXTERNAL_IMPORT') return\n warn(warning)\n },\n })\n await bundle.write({\n file: outputPath,\n format: 'es',\n })\n } catch (ex) {\n console.error(ex)\n }\n\n if (verbose) {\n console.log(`Bundled declarations written to ${outputPath}`)\n }\n}\n\nexport const packageCompileTscTypes = async (\n entries: string[],\n outDir: string,\n platform: 'node' | 'browser' | 'neutral',\n srcDir: string = 'build',\n verbose = false,\n): Promise<number> => {\n if (verbose) {\n console.log(chalk.cyan(`Compiling Types START [${platform}]: ${entries.length} files to ${outDir} from ${srcDir}`))\n console.log(`Entries: ${entries.join(', ')}`)\n }\n const pkg = process.env.INIT_CWD ?? cwd()\n const srcRoot = `${pkg}/${srcDir}/${platform}`\n\n const entryNameToTypeName = (entry: string): string => {\n const splitEntryName = entry.split('.')\n const newEntryExtension = 'd.' + splitEntryName.at(-1)\n return [...splitEntryName.slice(0, -1), newEntryExtension].join('.')\n }\n\n const compilerOptions = getCompilerOptions({\n removeComments: false,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: false,\n emitDeclarationOnly: false,\n noEmit: true,\n })\n\n const entryNames = entries.map(entry => entry.split(`${srcDir}/`).at(-1) ?? entry)\n\n await Promise.all(entryNames.map(async (entryName) => {\n const entryTypeName = entryNameToTypeName(entryName)\n await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, { compilerOptions }, verbose)\n }))\n\n if (verbose) {\n console.log(chalk.cyan(`Compiling Types FINISH: ${entries.length} files to ${outDir} from ${srcDir}`))\n }\n\n return 0\n}\n","import { packageClean } from './clean.ts'\nimport { packageCompile } from './compile/index.ts'\n\nexport const packageRecompile = async () => {\n return await packageClean() || await packageCompile()\n}\n"],"mappings":"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","names":["chalk","chalk","path","chalk","chalk","path","chalk","fs","chalk","chalk","chalk","glob","cwd","chalk","deepmerge","cwd","chalk","path","cwd","chalk","cwd","path","chalk","chalk","options","config","chalk","config"]}
|
|
@@ -79,13 +79,19 @@ import { build, defineConfig } from "tsup";
|
|
|
79
79
|
import chalk3 from "chalk";
|
|
80
80
|
import { glob } from "glob";
|
|
81
81
|
var getAllInputs = (srcDir, verbose = false) => {
|
|
82
|
-
return glob.sync(`${srcDir}
|
|
82
|
+
return [...glob.sync(`${srcDir}/**/*.ts`, { posix: true }).map((file) => {
|
|
83
83
|
const result = file.slice(Math.max(0, srcDir.length + 1));
|
|
84
84
|
if (verbose) {
|
|
85
85
|
console.log(chalk3.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
|
|
86
86
|
}
|
|
87
87
|
return result;
|
|
88
|
-
})
|
|
88
|
+
}), ...glob.sync(`${srcDir}/**/*.tsx`, { posix: true }).map((file) => {
|
|
89
|
+
const result = file.slice(Math.max(0, srcDir.length + 1));
|
|
90
|
+
if (verbose) {
|
|
91
|
+
console.log(chalk3.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
|
|
92
|
+
}
|
|
93
|
+
return result;
|
|
94
|
+
})];
|
|
89
95
|
};
|
|
90
96
|
|
|
91
97
|
// src/actions/package/compile/buildEntries.ts
|
|
@@ -97,7 +103,7 @@ var buildEntries = (srcDir, entryMode = "single", options, excludeSpecAndStories
|
|
|
97
103
|
break;
|
|
98
104
|
}
|
|
99
105
|
case "all": {
|
|
100
|
-
entries = excludeSpecAndStories ? getAllInputs(srcDir).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(srcDir);
|
|
106
|
+
entries = (excludeSpecAndStories ? getAllInputs(srcDir).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(srcDir)).filter((entry) => !entry.endsWith(".d.ts"));
|
|
101
107
|
break;
|
|
102
108
|
}
|
|
103
109
|
case "custom": {
|
|
@@ -143,7 +149,7 @@ function deepMergeObjects(objects) {
|
|
|
143
149
|
import { cwd as cwd2 } from "process";
|
|
144
150
|
import chalk4 from "chalk";
|
|
145
151
|
import { createProgramFromConfig } from "tsc-prog";
|
|
146
|
-
import {
|
|
152
|
+
import ts, {
|
|
147
153
|
DiagnosticCategory,
|
|
148
154
|
formatDiagnosticsWithColorAndContext,
|
|
149
155
|
getPreEmitDiagnostics,
|
|
@@ -160,11 +166,20 @@ var getCompilerOptions = (options = {}, fileName = "tsconfig.json") => {
|
|
|
160
166
|
};
|
|
161
167
|
|
|
162
168
|
// src/actions/package/compile/packageCompileTsc.ts
|
|
163
|
-
var packageCompileTsc = (platform, entries, srcDir = "src", outDir = "
|
|
169
|
+
var packageCompileTsc = (platform, entries, srcDir = "src", outDir = "dist", compilerOptionsParam, verbose = false) => {
|
|
164
170
|
const pkg = process.env.INIT_CWD ?? cwd2();
|
|
165
171
|
if (verbose) {
|
|
166
172
|
console.log(chalk4.cyan(`Validating code START: ${entries.length} files to ${outDir} from ${srcDir}`));
|
|
167
173
|
}
|
|
174
|
+
const configFilePath = ts.findConfigFile(
|
|
175
|
+
"./",
|
|
176
|
+
// search path
|
|
177
|
+
ts.sys.fileExists,
|
|
178
|
+
"tsconfig.json"
|
|
179
|
+
);
|
|
180
|
+
if (configFilePath === void 0) {
|
|
181
|
+
throw new Error("Could not find tsconfig.json");
|
|
182
|
+
}
|
|
168
183
|
const compilerOptions = {
|
|
169
184
|
...getCompilerOptions({
|
|
170
185
|
removeComments: false,
|
|
@@ -186,9 +201,11 @@ var packageCompileTsc = (platform, entries, srcDir = "src", outDir = "build", co
|
|
|
186
201
|
try {
|
|
187
202
|
if (entries.length > 0) {
|
|
188
203
|
const program = createProgramFromConfig({
|
|
204
|
+
configFilePath,
|
|
189
205
|
basePath: pkg ?? cwd2(),
|
|
190
206
|
compilerOptions,
|
|
191
|
-
files: entries.map((entry) => `${srcDir}/${entry}`)
|
|
207
|
+
files: entries.map((entry) => `${srcDir}/${entry}`),
|
|
208
|
+
include: [`${srcDir}/**/*.*`]
|
|
192
209
|
});
|
|
193
210
|
const diagnostics = getPreEmitDiagnostics(program);
|
|
194
211
|
if (diagnostics.length > 0) {
|
|
@@ -208,33 +225,42 @@ var packageCompileTsc = (platform, entries, srcDir = "src", outDir = "build", co
|
|
|
208
225
|
return 0;
|
|
209
226
|
} finally {
|
|
210
227
|
if (verbose) {
|
|
211
|
-
console.log(chalk4.cyan(`
|
|
228
|
+
console.log(chalk4.cyan(`Validating code FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
|
|
212
229
|
}
|
|
213
230
|
}
|
|
214
231
|
};
|
|
215
232
|
|
|
216
233
|
// src/actions/package/compile/packageCompileTscTypes.ts
|
|
234
|
+
import path from "path";
|
|
217
235
|
import { cwd as cwd3 } from "process";
|
|
218
236
|
import chalk5 from "chalk";
|
|
219
237
|
import { rollup } from "rollup";
|
|
220
238
|
import dts from "rollup-plugin-dts";
|
|
221
|
-
import inlineSvg from "rollup-plugin-inline-svg";
|
|
222
239
|
import nodeExternals from "rollup-plugin-node-externals";
|
|
223
240
|
async function bundleDts(inputPath, outputPath, platform, options, verbose = false) {
|
|
241
|
+
const pkg = process.env.INIT_CWD ?? cwd3();
|
|
242
|
+
const tsconfigPath = path.resolve(pkg, "tsconfig.json");
|
|
224
243
|
const nodePlugIns = platform === "node" ? [nodeExternals()] : [];
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
244
|
+
try {
|
|
245
|
+
const bundle = await rollup({
|
|
246
|
+
input: inputPath,
|
|
247
|
+
plugins: [dts({
|
|
248
|
+
...options,
|
|
249
|
+
tsconfig: tsconfigPath,
|
|
250
|
+
compilerOptions: { emitDeclarationOnly: true, noEmit: false }
|
|
251
|
+
}), ...nodePlugIns],
|
|
252
|
+
onwarn(warning, warn) {
|
|
253
|
+
if (warning.code === "UNUSED_EXTERNAL_IMPORT") return;
|
|
254
|
+
warn(warning);
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
await bundle.write({
|
|
258
|
+
file: outputPath,
|
|
259
|
+
format: "es"
|
|
260
|
+
});
|
|
261
|
+
} catch (ex) {
|
|
262
|
+
console.error(ex);
|
|
263
|
+
}
|
|
238
264
|
if (verbose) {
|
|
239
265
|
console.log(`Bundled declarations written to ${outputPath}`);
|
|
240
266
|
}
|
|
@@ -251,19 +277,18 @@ var packageCompileTscTypes = async (entries, outDir, platform, srcDir = "build",
|
|
|
251
277
|
const newEntryExtension = "d." + splitEntryName.at(-1);
|
|
252
278
|
return [...splitEntryName.slice(0, -1), newEntryExtension].join(".");
|
|
253
279
|
};
|
|
254
|
-
const compilerOptions = {
|
|
280
|
+
const compilerOptions = getCompilerOptions({
|
|
255
281
|
removeComments: false,
|
|
256
282
|
skipDefaultLibCheck: true,
|
|
257
283
|
skipLibCheck: true,
|
|
258
284
|
sourceMap: false,
|
|
259
285
|
emitDeclarationOnly: false,
|
|
260
286
|
noEmit: true
|
|
261
|
-
};
|
|
287
|
+
});
|
|
262
288
|
const entryNames = entries.map((entry) => entry.split(`${srcDir}/`).at(-1) ?? entry);
|
|
263
289
|
await Promise.all(entryNames.map(async (entryName) => {
|
|
264
290
|
const entryTypeName = entryNameToTypeName(entryName);
|
|
265
|
-
|
|
266
|
-
await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, { compilerOptions, tsconfig: "tsconfig.json" }, verbose);
|
|
291
|
+
await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, { compilerOptions }, verbose);
|
|
267
292
|
}));
|
|
268
293
|
if (verbose) {
|
|
269
294
|
console.log(chalk5.cyan(`Compiling Types FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
|
|
@@ -281,7 +306,7 @@ var compileFolder = async (srcDir, entries, options, verbose) => {
|
|
|
281
306
|
console.warn(chalk6.yellow(`No entries found in ${srcDir} to compile`));
|
|
282
307
|
return 0;
|
|
283
308
|
}
|
|
284
|
-
const tscOutDir = "
|
|
309
|
+
const tscOutDir = "dist";
|
|
285
310
|
if (verbose) {
|
|
286
311
|
console.log(chalk6.gray(`tscOutDir [${tscOutDir}]`));
|
|
287
312
|
}
|
|
@@ -290,10 +315,10 @@ var compileFolder = async (srcDir, entries, options, verbose) => {
|
|
|
290
315
|
console.error(chalk6.red(`Compile:Validation had ${validationResult} errors`));
|
|
291
316
|
return validationResult;
|
|
292
317
|
}
|
|
293
|
-
const optionsParams = {
|
|
318
|
+
const optionsParams = tsupOptions([{
|
|
294
319
|
bundle: true,
|
|
295
320
|
cjsInterop: true,
|
|
296
|
-
clean:
|
|
321
|
+
clean: false,
|
|
297
322
|
dts: false,
|
|
298
323
|
format: ["esm"],
|
|
299
324
|
outDir,
|
|
@@ -303,7 +328,7 @@ var compileFolder = async (srcDir, entries, options, verbose) => {
|
|
|
303
328
|
tsconfig: "tsconfig.json",
|
|
304
329
|
...options,
|
|
305
330
|
entry: entries.map((entry) => `${srcDir}/${entry}`)
|
|
306
|
-
};
|
|
331
|
+
}]);
|
|
307
332
|
const optionsResult = defineConfig(optionsParams);
|
|
308
333
|
const optionsList = (await Promise.all(
|
|
309
334
|
(Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap(async (options2) => {
|
|
@@ -329,7 +354,7 @@ var tsupOptions = (options = []) => {
|
|
|
329
354
|
".jpg": "copy",
|
|
330
355
|
".json": "json",
|
|
331
356
|
".png": "copy",
|
|
332
|
-
".svg": "
|
|
357
|
+
".svg": "text",
|
|
333
358
|
".webp": "copy"
|
|
334
359
|
};
|
|
335
360
|
const standardOptions = {
|