@xylabs/ts-scripts-yarn3 4.0.0 → 4.0.1

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.
@@ -1,5 +1,145 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
2
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __commonJS = (cb, mod) => function __require() {
9
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+
28
+ // ../../node_modules/deepmerge/dist/cjs.js
29
+ var require_cjs = __commonJS({
30
+ "../../node_modules/deepmerge/dist/cjs.js"(exports, module) {
31
+ "use strict";
32
+ var isMergeableObject = /* @__PURE__ */ __name(function isMergeableObject2(value) {
33
+ return isNonNullObject(value) && !isSpecial(value);
34
+ }, "isMergeableObject");
35
+ function isNonNullObject(value) {
36
+ return !!value && typeof value === "object";
37
+ }
38
+ __name(isNonNullObject, "isNonNullObject");
39
+ function isSpecial(value) {
40
+ var stringValue = Object.prototype.toString.call(value);
41
+ return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value);
42
+ }
43
+ __name(isSpecial, "isSpecial");
44
+ var canUseSymbol = typeof Symbol === "function" && Symbol.for;
45
+ var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
46
+ function isReactElement(value) {
47
+ return value.$$typeof === REACT_ELEMENT_TYPE;
48
+ }
49
+ __name(isReactElement, "isReactElement");
50
+ function emptyTarget(val) {
51
+ return Array.isArray(val) ? [] : {};
52
+ }
53
+ __name(emptyTarget, "emptyTarget");
54
+ function cloneUnlessOtherwiseSpecified(value, options) {
55
+ return options.clone !== false && options.isMergeableObject(value) ? deepmerge2(emptyTarget(value), value, options) : value;
56
+ }
57
+ __name(cloneUnlessOtherwiseSpecified, "cloneUnlessOtherwiseSpecified");
58
+ function defaultArrayMerge(target, source, options) {
59
+ return target.concat(source).map(function(element) {
60
+ return cloneUnlessOtherwiseSpecified(element, options);
61
+ });
62
+ }
63
+ __name(defaultArrayMerge, "defaultArrayMerge");
64
+ function getMergeFunction(key, options) {
65
+ if (!options.customMerge) {
66
+ return deepmerge2;
67
+ }
68
+ var customMerge = options.customMerge(key);
69
+ return typeof customMerge === "function" ? customMerge : deepmerge2;
70
+ }
71
+ __name(getMergeFunction, "getMergeFunction");
72
+ function getEnumerableOwnPropertySymbols(target) {
73
+ return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
74
+ return Object.propertyIsEnumerable.call(target, symbol);
75
+ }) : [];
76
+ }
77
+ __name(getEnumerableOwnPropertySymbols, "getEnumerableOwnPropertySymbols");
78
+ function getKeys(target) {
79
+ return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
80
+ }
81
+ __name(getKeys, "getKeys");
82
+ function propertyIsOnObject(object, property) {
83
+ try {
84
+ return property in object;
85
+ } catch (_) {
86
+ return false;
87
+ }
88
+ }
89
+ __name(propertyIsOnObject, "propertyIsOnObject");
90
+ function propertyIsUnsafe(target, key) {
91
+ return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
92
+ }
93
+ __name(propertyIsUnsafe, "propertyIsUnsafe");
94
+ function mergeObject(target, source, options) {
95
+ var destination = {};
96
+ if (options.isMergeableObject(target)) {
97
+ getKeys(target).forEach(function(key) {
98
+ destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
99
+ });
100
+ }
101
+ getKeys(source).forEach(function(key) {
102
+ if (propertyIsUnsafe(target, key)) {
103
+ return;
104
+ }
105
+ if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
106
+ destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
107
+ } else {
108
+ destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
109
+ }
110
+ });
111
+ return destination;
112
+ }
113
+ __name(mergeObject, "mergeObject");
114
+ function deepmerge2(target, source, options) {
115
+ options = options || {};
116
+ options.arrayMerge = options.arrayMerge || defaultArrayMerge;
117
+ options.isMergeableObject = options.isMergeableObject || isMergeableObject;
118
+ options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
119
+ var sourceIsArray = Array.isArray(source);
120
+ var targetIsArray = Array.isArray(target);
121
+ var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
122
+ if (!sourceAndTargetTypesMatch) {
123
+ return cloneUnlessOtherwiseSpecified(source, options);
124
+ } else if (sourceIsArray) {
125
+ return options.arrayMerge(target, source, options);
126
+ } else {
127
+ return mergeObject(target, source, options);
128
+ }
129
+ }
130
+ __name(deepmerge2, "deepmerge");
131
+ deepmerge2.all = /* @__PURE__ */ __name(function deepmergeAll(array, options) {
132
+ if (!Array.isArray(array)) {
133
+ throw new Error("first argument should be an array");
134
+ }
135
+ return array.reduce(function(prev, next) {
136
+ return deepmerge2(prev, next, options);
137
+ }, {});
138
+ }, "deepmergeAll");
139
+ var deepmerge_1 = deepmerge2;
140
+ module.exports = deepmerge_1;
141
+ }
142
+ });
3
143
 
4
144
  // src/actions/package/compile/packageCompileTsup.ts
5
145
  import { build, defineConfig } from "tsup";
@@ -84,8 +224,93 @@ var buildEntries = /* @__PURE__ */ __name((folder, entryMode, verbose = false) =
84
224
  }
85
225
  }, "buildEntries");
86
226
 
227
+ // src/actions/package/compile/packageCompileTscTypes.ts
228
+ import { cwd } from "node:process";
229
+ import chalk2 from "chalk";
230
+ import { createProgramFromConfig } from "tsc-prog";
231
+ import { DiagnosticCategory } from "typescript";
232
+
233
+ // src/actions/package/compile/getCompilerOptions.ts
234
+ var import_deepmerge = __toESM(require_cjs(), 1);
235
+ import { createRequire } from "node:module";
236
+ import { findConfigFile, readConfigFile, sys } from "typescript";
237
+ var getNested = /* @__PURE__ */ __name((config) => {
238
+ if (config.extends) {
239
+ const require2 = createRequire(import.meta.url);
240
+ const opts = require2(config.extends);
241
+ return (0, import_deepmerge.default)(getNested(opts), config.compilerOptions ?? {});
242
+ }
243
+ return config.compilerOptions;
244
+ }, "getNested");
245
+ var getCompilerOptionsJSONFollowExtends = /* @__PURE__ */ __name((filename) => {
246
+ const config = readConfigFile(filename, sys.readFile).config;
247
+ return getNested(config);
248
+ }, "getCompilerOptionsJSONFollowExtends");
249
+ var getCompilerOptions = /* @__PURE__ */ __name((options = {}, tsconfig = "tsconfig.json") => {
250
+ const configFileName = findConfigFile("./", sys.fileExists, tsconfig);
251
+ const configFileCompilerOptions = (configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : void 0) ?? {};
252
+ return (0, import_deepmerge.default)(configFileCompilerOptions, options);
253
+ }, "getCompilerOptions");
254
+
255
+ // src/actions/package/compile/packageCompileTscTypes.ts
256
+ var packageCompileTscTypes = /* @__PURE__ */ __name((folder = "src", { verbose } = {}, compilerOptionsParam) => {
257
+ const pkg = process.env.INIT_CWD ?? cwd();
258
+ if (verbose) {
259
+ console.log(`Compiling types with TSC [${pkg}]`);
260
+ }
261
+ const compilerOptions = {
262
+ ...getCompilerOptions({
263
+ declaration: true,
264
+ emitDeclarationOnly: true,
265
+ outDir: "dist",
266
+ removeComments: true,
267
+ skipDefaultLibCheck: true,
268
+ skipLibCheck: true,
269
+ sourceMap: true
270
+ }),
271
+ ...compilerOptionsParam
272
+ };
273
+ const files = buildEntries(folder, "all");
274
+ const result = createProgramFromConfig({
275
+ basePath: pkg ?? cwd(),
276
+ compilerOptions,
277
+ exclude: [
278
+ "dist",
279
+ "docs",
280
+ "**/*.spec.*",
281
+ "**/*.stories.*",
282
+ "src/**/spec/**/*"
283
+ ],
284
+ files
285
+ }).emit();
286
+ const diagResults = result.diagnostics.length;
287
+ for (const diag of result.diagnostics) {
288
+ switch (diag.category) {
289
+ case DiagnosticCategory.Error: {
290
+ console.error(chalk2.red(diag.messageText));
291
+ console.error(chalk2.grey(pkg));
292
+ console.error(chalk2.blue(diag.file?.fileName));
293
+ break;
294
+ }
295
+ case DiagnosticCategory.Warning: {
296
+ console.error(chalk2.yellow(diag.messageText));
297
+ console.error(chalk2.grey(pkg));
298
+ console.error(chalk2.blue(diag.file?.fileName));
299
+ break;
300
+ }
301
+ case DiagnosticCategory.Suggestion: {
302
+ console.error(chalk2.white(diag.messageText));
303
+ console.error(chalk2.grey(pkg));
304
+ console.error(chalk2.blue(diag.file?.fileName));
305
+ break;
306
+ }
307
+ }
308
+ }
309
+ return diagResults;
310
+ }, "packageCompileTscTypes");
311
+
87
312
  // src/actions/package/compile/packageCompileTsup.ts
88
- var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single", options, _verbose) => {
313
+ var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single", options, verbose) => {
89
314
  const outDir = options?.outDir ?? "dist";
90
315
  const entry = buildEntries(folder, entryMode);
91
316
  const optionsResult = defineConfig({
@@ -99,7 +324,7 @@ var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single",
99
324
  ],
100
325
  outDir,
101
326
  silent: true,
102
- sourcemap: true,
327
+ sourcemap: false,
103
328
  splitting: false,
104
329
  tsconfig: "tsconfig.json",
105
330
  ...options
@@ -115,7 +340,11 @@ var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single",
115
340
  ];
116
341
  }))).flat();
117
342
  await Promise.all(optionsList.map((options2) => build(options2)));
118
- return 0;
343
+ return packageCompileTscTypes(folder, {
344
+ verbose
345
+ }, {
346
+ outDir
347
+ });
119
348
  }, "compileFolder");
120
349
  var packageCompileTsup = /* @__PURE__ */ __name(async (config) => {
121
350
  const compile = config?.compile;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/actions/package/compile/packageCompileTsup.ts","../../../../src/actions/package/publint.ts","../../../../src/actions/package/compile/inputs.ts","../../../../src/actions/package/compile/buildEntries.ts"],"sourcesContent":["import type { Loader } from 'esbuild'\nimport type { Options } from 'tsup'\nimport { build, defineConfig } from 'tsup'\n\nimport { packagePublint } from '../publint.ts'\nimport { buildEntries } from './buildEntries.ts'\nimport type { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, _verbose?: boolean) => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: 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 // packageCompileTscTypes(folder, { verbose }, { outDir })\n\n return 0\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n 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 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 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 verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (publint ? await packagePublint() : 0)\n )\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 { readdir } from 'node:fs/promises'\n\nimport { glob } from 'glob'\n\nexport const getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter(\n file => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.includes('.spec.') && !file.includes('.stories.'),\n )\n .map(file => (subDir ? `${subDir}/${file}` : file))\n}\n\nexport const getInputDirs = async (depth: number = 0) => {\n if (depth === 0) {\n return []\n }\n return [\n '.',\n ...(await readdir('src', { recursive: true, withFileTypes: true }))\n .filter(file => file.isDirectory())\n .map((file) => {\n const pathParts = file.path?.split('/') ?? []\n pathParts.shift()\n if (pathParts.length > 0) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nexport const getAllInputs = async (depth = 100) => {\n const dirs = await getInputDirs(depth)\n return (await Promise.all(dirs.map(async dir => await getInputs(dir)))).flat()\n}\n\nexport const getAllInputs2 = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs2 } from './inputs.ts'\nimport type { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode?: EntryMode, verbose = false) => {\n switch (entryMode) {\n case 'platform': {\n if (verbose) console.log('buildEntries [platform]')\n return [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n }\n case 'all': {\n if (verbose) console.log('buildEntries [all]')\n return getAllInputs2(folder).filter(entry => !entry.includes('.spec.') && !entry.includes('.story.'))\n }\n default: {\n if (verbose) console.log('buildEntries [single]')\n return [`${folder}/index.ts`]\n }\n }\n}\n"],"mappings":"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","names":["build","defineConfig","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","glob","getAllInputs2","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs2","filter","entry","includes","compileFolder","folder","entryMode","options","_verbose","outDir","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTsup","config","compile","publint","verbose","console","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","packagePublint"]}
1
+ {"version":3,"sources":["../../../../../../node_modules/deepmerge/dist/cjs.js","../../../../src/actions/package/compile/packageCompileTsup.ts","../../../../src/actions/package/publint.ts","../../../../src/actions/package/compile/inputs.ts","../../../../src/actions/package/compile/buildEntries.ts","../../../../src/actions/package/compile/packageCompileTscTypes.ts","../../../../src/actions/package/compile/getCompilerOptions.ts"],"sourcesContent":["'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import type { Loader } from 'esbuild'\nimport type { Options } from 'tsup'\nimport { build, defineConfig } from 'tsup'\n\nimport { packagePublint } from '../publint.ts'\nimport { buildEntries } from './buildEntries.ts'\nimport { packageCompileTscTypes } from './packageCompileTscTypes.ts'\nimport type { EntryMode, XyTsupConfig } from './XyConfig.ts'\n\nconst compileFolder = async (folder: string, entryMode: EntryMode = 'single', options?: Options, verbose?: boolean) => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: true,\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: false,\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 packageCompileTscTypes(folder, { verbose }, { outDir })\n}\n\nexport const packageCompileTsup = async (config?: XyTsupConfig) => {\n const compile = config?.compile\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n if (verbose) {\n console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`)\n }\n\n const compileForNode = compile?.node ?? { src: {} }\n const compileForBrowser = compile?.browser ?? { src: {} }\n const compileForNeutral = compile?.neutral ?? { src: {} }\n\n 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 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 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 verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (publint ? await packagePublint() : 0)\n )\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 { readdir } from 'node:fs/promises'\n\nimport { glob } from 'glob'\n\nexport const getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter(\n file => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.includes('.spec.') && !file.includes('.stories.'),\n )\n .map(file => (subDir ? `${subDir}/${file}` : file))\n}\n\nexport const getInputDirs = async (depth: number = 0) => {\n if (depth === 0) {\n return []\n }\n return [\n '.',\n ...(await readdir('src', { recursive: true, withFileTypes: true }))\n .filter(file => file.isDirectory())\n .map((file) => {\n const pathParts = file.path?.split('/') ?? []\n pathParts.shift()\n if (pathParts.length > 0) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nexport const getAllInputs = async (depth = 100) => {\n const dirs = await getInputDirs(depth)\n return (await Promise.all(dirs.map(async dir => await getInputs(dir)))).flat()\n}\n\nexport const getAllInputs2 = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs2 } from './inputs.ts'\nimport type { EntryMode } from './XyConfig.ts'\n\nexport const buildEntries = (folder: string, entryMode?: EntryMode, verbose = false) => {\n switch (entryMode) {\n case 'platform': {\n if (verbose) console.log('buildEntries [platform]')\n return [`${folder}/index-node.ts`, `${folder}/index-browser.ts`]\n }\n case 'all': {\n if (verbose) console.log('buildEntries [all]')\n return getAllInputs2(folder).filter(entry => !entry.includes('.spec.') && !entry.includes('.story.'))\n }\n default: {\n if (verbose) console.log('buildEntries [single]')\n return [`${folder}/index.ts`]\n }\n }\n}\n","import { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport type { TsConfigCompilerOptions } from 'tsc-prog'\nimport { createProgramFromConfig } from 'tsc-prog'\nimport type { CompilerOptions } from 'typescript'\nimport { DiagnosticCategory } from 'typescript'\n\nimport { buildEntries } from './buildEntries.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport type { 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: true,\n skipDefaultLibCheck: true,\n skipLibCheck: true,\n sourceMap: true,\n })),\n ...compilerOptionsParam,\n } as TsConfigCompilerOptions\n\n // calling all here since the types do not get rolled up\n const files = buildEntries(folder, 'all')\n\n const result = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n files,\n }).emit()\n\n const diagResults = result.diagnostics.length\n for (const diag of result.diagnostics) {\n switch (diag.category) {\n case DiagnosticCategory.Error: {\n console.error(chalk.red(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Warning: {\n console.error(chalk.yellow(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n case DiagnosticCategory.Suggestion: {\n console.error(chalk.white(diag.messageText))\n console.error(chalk.grey(pkg))\n console.error(chalk.blue(diag.file?.fileName))\n break\n }\n }\n }\n return diagResults\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport type { TsConfig } from 'tsc-prog'\nimport type { CompilerOptions } from 'typescript'\nimport {\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\nexport const getCompilerOptionsJSONFollowExtends = (filename: string): CompilerOptions => {\n const config = readConfigFile(filename, sys.readFile).config\n return getNested(config)\n}\n\nexport const getCompilerOptions = (options: CompilerOptions = {}, tsconfig: string = 'tsconfig.json'): CompilerOptions => {\n const configFileName = findConfigFile('./', sys.fileExists, tsconfig)\n const configFileCompilerOptions = (configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : undefined) ?? {}\n\n return deepmerge(configFileCompilerOptions, options)\n}\n"],"mappings":"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","names":["isMergeableObject","value","isNonNullObject","isSpecial","stringValue","Object","prototype","toString","call","isReactElement","canUseSymbol","Symbol","for","REACT_ELEMENT_TYPE","$$typeof","emptyTarget","val","Array","isArray","cloneUnlessOtherwiseSpecified","options","clone","deepmerge","defaultArrayMerge","target","source","concat","map","element","getMergeFunction","key","customMerge","getEnumerableOwnPropertySymbols","getOwnPropertySymbols","filter","symbol","propertyIsEnumerable","getKeys","keys","propertyIsOnObject","object","property","_","propertyIsUnsafe","hasOwnProperty","mergeObject","destination","forEach","arrayMerge","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","all","deepmergeAll","array","Error","reduce","prev","next","deepmerge_1","module","exports","build","defineConfig","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","glob","getAllInputs2","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs2","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","createRequire","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","verbose","outDir","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTscTypes","packageCompileTsup","config","compile","publint","console","log","depth","compileForNode","node","src","compileForBrowser","browser","compileForNeutral","neutral","standardLoaders","standardOptions","loader","outExtension","js","skipNodeModulesBundle","target","Object","entries","inEsBuildOptions","esbuildOptions","platform","tsup","reduce","prev","value","packagePublint"]}
@@ -230,7 +230,7 @@ var packageClean = /* @__PURE__ */ __name(async () => {
230
230
  }, "packageClean");
231
231
 
232
232
  // src/actions/package/compile/compile.ts
233
- import chalk7 from "chalk";
233
+ import chalk8 from "chalk";
234
234
 
235
235
  // src/actions/package/publint.ts
236
236
  import { promises as fs2 } from "node:fs";
@@ -395,8 +395,69 @@ var buildEntries = /* @__PURE__ */ __name((folder, entryMode, verbose = false) =
395
395
  }
396
396
  }, "buildEntries");
397
397
 
398
+ // src/actions/package/compile/packageCompileTscTypes.ts
399
+ import { cwd as cwd2 } from "node:process";
400
+ import chalk7 from "chalk";
401
+ import { createProgramFromConfig as createProgramFromConfig2 } from "tsc-prog";
402
+ import { DiagnosticCategory as DiagnosticCategory2 } from "typescript";
403
+ var packageCompileTscTypes = /* @__PURE__ */ __name((folder = "src", { verbose } = {}, compilerOptionsParam) => {
404
+ const pkg = process.env.INIT_CWD ?? cwd2();
405
+ if (verbose) {
406
+ console.log(`Compiling types with TSC [${pkg}]`);
407
+ }
408
+ const compilerOptions = {
409
+ ...getCompilerOptions({
410
+ declaration: true,
411
+ emitDeclarationOnly: true,
412
+ outDir: "dist",
413
+ removeComments: true,
414
+ skipDefaultLibCheck: true,
415
+ skipLibCheck: true,
416
+ sourceMap: true
417
+ }),
418
+ ...compilerOptionsParam
419
+ };
420
+ const files = buildEntries(folder, "all");
421
+ const result = createProgramFromConfig2({
422
+ basePath: pkg ?? cwd2(),
423
+ compilerOptions,
424
+ exclude: [
425
+ "dist",
426
+ "docs",
427
+ "**/*.spec.*",
428
+ "**/*.stories.*",
429
+ "src/**/spec/**/*"
430
+ ],
431
+ files
432
+ }).emit();
433
+ const diagResults = result.diagnostics.length;
434
+ for (const diag of result.diagnostics) {
435
+ switch (diag.category) {
436
+ case DiagnosticCategory2.Error: {
437
+ console.error(chalk7.red(diag.messageText));
438
+ console.error(chalk7.grey(pkg));
439
+ console.error(chalk7.blue(diag.file?.fileName));
440
+ break;
441
+ }
442
+ case DiagnosticCategory2.Warning: {
443
+ console.error(chalk7.yellow(diag.messageText));
444
+ console.error(chalk7.grey(pkg));
445
+ console.error(chalk7.blue(diag.file?.fileName));
446
+ break;
447
+ }
448
+ case DiagnosticCategory2.Suggestion: {
449
+ console.error(chalk7.white(diag.messageText));
450
+ console.error(chalk7.grey(pkg));
451
+ console.error(chalk7.blue(diag.file?.fileName));
452
+ break;
453
+ }
454
+ }
455
+ }
456
+ return diagResults;
457
+ }, "packageCompileTscTypes");
458
+
398
459
  // src/actions/package/compile/packageCompileTsup.ts
399
- var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single", options, _verbose) => {
460
+ var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single", options, verbose) => {
400
461
  const outDir = options?.outDir ?? "dist";
401
462
  const entry = buildEntries(folder, entryMode);
402
463
  const optionsResult = defineConfig({
@@ -410,7 +471,7 @@ var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single",
410
471
  ],
411
472
  outDir,
412
473
  silent: true,
413
- sourcemap: true,
474
+ sourcemap: false,
414
475
  splitting: false,
415
476
  tsconfig: "tsconfig.json",
416
477
  ...options
@@ -426,7 +487,11 @@ var compileFolder = /* @__PURE__ */ __name(async (folder, entryMode = "single",
426
487
  ];
427
488
  }))).flat();
428
489
  await Promise.all(optionsList.map((options2) => build(options2)));
429
- return 0;
490
+ return packageCompileTscTypes(folder, {
491
+ verbose
492
+ }, {
493
+ outDir
494
+ });
430
495
  }, "compileFolder");
431
496
  var packageCompileTsup = /* @__PURE__ */ __name(async (config2) => {
432
497
  const compile = config2?.compile;
@@ -513,7 +578,7 @@ var packageCompileTsup = /* @__PURE__ */ __name(async (config2) => {
513
578
  // src/actions/package/compile/compile.ts
514
579
  var packageCompile = /* @__PURE__ */ __name(async (inConfig = {}) => {
515
580
  const pkg = process.env.INIT_CWD;
516
- console.log(chalk7.green(`Compiling ${pkg}`));
581
+ console.log(chalk8.green(`Compiling ${pkg}`));
517
582
  const config2 = await loadConfig(inConfig);
518
583
  const publint = config2.publint;
519
584
  const mode = config2.compile?.mode ?? "tsup";
@@ -533,7 +598,7 @@ var packageCompile = /* @__PURE__ */ __name(async (inConfig = {}) => {
533
598
 
534
599
  // src/actions/package/copy-assets.ts
535
600
  import path3 from "node:path/posix";
536
- import chalk8 from "chalk";
601
+ import chalk9 from "chalk";
537
602
  import cpy from "cpy";
538
603
  var copyTargetAssets = /* @__PURE__ */ __name(async (target, name, location) => {
539
604
  try {
@@ -552,7 +617,7 @@ var copyTargetAssets = /* @__PURE__ */ __name(async (target, name, location) =>
552
617
  flat: false
553
618
  });
554
619
  if (values.length > 0) {
555
- console.log(chalk8.green(`Copying Assets [${target.toUpperCase()}] - ${name} - ${location}`));
620
+ console.log(chalk9.green(`Copying Assets [${target.toUpperCase()}] - ${name} - ${location}`));
556
621
  }
557
622
  for (const value of values) {
558
623
  console.log(`${value.split("/").pop()} => ./dist/${target}`);
@@ -582,8 +647,8 @@ var packageCopyAssets = /* @__PURE__ */ __name(async ({ target }) => {
582
647
 
583
648
  // src/actions/package/deps.ts
584
649
  import { existsSync, readFileSync } from "node:fs";
585
- import { cwd as cwd2 } from "node:process";
586
- import chalk9 from "chalk";
650
+ import { cwd as cwd3 } from "node:process";
651
+ import chalk10 from "chalk";
587
652
  import depcheck from "depcheck";
588
653
  var special = depcheck.special;
589
654
  var defaultIgnorePatterns = [
@@ -610,21 +675,21 @@ var defaultIgnoreDevPatterns = [
610
675
  var reportUnused = /* @__PURE__ */ __name((name, unused) => {
611
676
  if (unused.length > 0) {
612
677
  const message = [
613
- chalk9.yellow(`${unused.length} Unused ${name}`)
678
+ chalk10.yellow(`${unused.length} Unused ${name}`)
614
679
  ];
615
- for (const value of unused) message.push(chalk9.gray(` ${value}`));
680
+ for (const value of unused) message.push(chalk10.gray(` ${value}`));
616
681
  console.log(message.join("\n"));
617
682
  }
618
683
  }, "reportUnused");
619
684
  var reportMissing = /* @__PURE__ */ __name((name, missing) => {
620
685
  if (Object.keys(missing).length > 0) {
621
686
  const message = [
622
- chalk9.yellow(`${Object.entries(missing).length} Missing ${name}`)
687
+ chalk10.yellow(`${Object.entries(missing).length} Missing ${name}`)
623
688
  ];
624
689
  for (const [key, value] of Object.entries(missing)) {
625
- message.push(`${key}`, chalk9.gray(` ${value.at(0)}`));
690
+ message.push(`${key}`, chalk10.gray(` ${value.at(0)}`));
626
691
  }
627
- console.log(chalk9.yellow(message.join("\n")));
692
+ console.log(chalk10.yellow(message.join("\n")));
628
693
  }
629
694
  }, "reportMissing");
630
695
  var analyzeDeps = /* @__PURE__ */ __name(async (pkg, ignoreMatches) => {
@@ -679,7 +744,7 @@ var analyzeDeps = /* @__PURE__ */ __name(async (pkg, ignoreMatches) => {
679
744
  };
680
745
  }, "analyzeDeps");
681
746
  var packageDeps = /* @__PURE__ */ __name(async () => {
682
- const pkg = process.env.INIT_CWD ?? cwd2();
747
+ const pkg = process.env.INIT_CWD ?? cwd3();
683
748
  const pkgName = process.env.npm_package_name;
684
749
  const packageContent = existsSync(`${pkg}/package.json`) ? JSON.parse(readFileSync(`${pkg}/package.json`, {
685
750
  encoding: "utf8"
@@ -729,10 +794,10 @@ var packageDeps = /* @__PURE__ */ __name(async () => {
729
794
  reportUnused("dependencies", unusedDeps);
730
795
  reportUnused("devDependencies", unusedDevDeps);
731
796
  if (Object.entries(invalidDirs).length > 0) {
732
- for (const [key, value] of Object.entries(invalidDirs)) console.warn(chalk9.gray(`Invalid Dir: ${key}: ${value}`));
797
+ for (const [key, value] of Object.entries(invalidDirs)) console.warn(chalk10.gray(`Invalid Dir: ${key}: ${value}`));
733
798
  }
734
799
  if (Object.entries(invalidFiles).length > 0) {
735
- for (const [key, value] of Object.entries(invalidFiles)) console.warn(chalk9.gray(`Invalid File: ${key}: ${value}`));
800
+ for (const [key, value] of Object.entries(invalidFiles)) console.warn(chalk10.gray(`Invalid File: ${key}: ${value}`));
736
801
  }
737
802
  reportMissing("dependencies", missingDepsObject);
738
803
  reportMissing("devDependencies", missingDevDepsObject);
@@ -743,7 +808,7 @@ var packageDeps = /* @__PURE__ */ __name(async () => {
743
808
  // src/actions/package/gen-docs.ts
744
809
  import { existsSync as existsSync2 } from "node:fs";
745
810
  import path4 from "node:path";
746
- import chalk10 from "chalk";
811
+ import chalk11 from "chalk";
747
812
  import { Application, ArgumentsReader, TSConfigReader, TypeDocReader } from "typedoc";
748
813
  var ExitCodes = {
749
814
  CompileError: 3,
@@ -845,7 +910,7 @@ var runTypeDoc = /* @__PURE__ */ __name(async (app) => {
845
910
  return ExitCodes.OutputError;
846
911
  }
847
912
  }
848
- console.log(chalk10.green(`${pkgName} - Ok`));
913
+ console.log(chalk11.green(`${pkgName} - Ok`));
849
914
  return ExitCodes.Ok;
850
915
  }, "runTypeDoc");
851
916