@xylabs/ts-scripts-yarn3 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/actions/index.mjs +7 -148
  2. package/dist/actions/index.mjs.map +1 -1
  3. package/dist/actions/package/compile/compile.mjs +6 -146
  4. package/dist/actions/package/compile/compile.mjs.map +1 -1
  5. package/dist/actions/package/compile/getCompilerOptions.mjs +3 -143
  6. package/dist/actions/package/compile/getCompilerOptions.mjs.map +1 -1
  7. package/dist/actions/package/compile/index.mjs +6 -146
  8. package/dist/actions/package/compile/index.mjs.map +1 -1
  9. package/dist/actions/package/compile/packageCompileTsc.mjs +3 -143
  10. package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
  11. package/dist/actions/package/compile/packageCompileTscTypes.mjs +3 -143
  12. package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
  13. package/dist/actions/package/compile/packageCompileTsup.mjs +3 -143
  14. package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
  15. package/dist/actions/package/deps.mjs +0 -1
  16. package/dist/actions/package/deps.mjs.map +1 -1
  17. package/dist/actions/package/index.mjs +6 -147
  18. package/dist/actions/package/index.mjs.map +1 -1
  19. package/dist/actions/package/recompile.mjs +6 -146
  20. package/dist/actions/package/recompile.mjs.map +1 -1
  21. package/dist/actions/test.mjs +1 -1
  22. package/dist/actions/test.mjs.map +1 -1
  23. package/dist/bin/package/build-only.mjs +6 -146
  24. package/dist/bin/package/build-only.mjs.map +1 -1
  25. package/dist/bin/package/build.mjs +6 -146
  26. package/dist/bin/package/build.mjs.map +1 -1
  27. package/dist/bin/package/compile-only.mjs +6 -146
  28. package/dist/bin/package/compile-only.mjs.map +1 -1
  29. package/dist/bin/package/compile-tsup.mjs +3 -143
  30. package/dist/bin/package/compile-tsup.mjs.map +1 -1
  31. package/dist/bin/package/compile.mjs +6 -146
  32. package/dist/bin/package/compile.mjs.map +1 -1
  33. package/dist/bin/package/deps.mjs +0 -1
  34. package/dist/bin/package/deps.mjs.map +1 -1
  35. package/dist/bin/package/recompile.mjs +6 -146
  36. package/dist/bin/package/recompile.mjs.map +1 -1
  37. package/dist/bin/xy-ts.mjs +1 -1
  38. package/dist/bin/xy-ts.mjs.map +1 -1
  39. package/dist/bin/xy.mjs +1 -1
  40. package/dist/bin/xy.mjs.map +1 -1
  41. package/dist/index.mjs +7 -148
  42. package/dist/index.mjs.map +1 -1
  43. package/dist/lib/index.mjs +3 -143
  44. package/dist/lib/index.mjs.map +1 -1
  45. package/dist/lib/loadConfig.mjs +3 -143
  46. package/dist/lib/loadConfig.mjs.map +1 -1
  47. package/dist/xy/index.mjs +1 -1
  48. package/dist/xy/index.mjs.map +1 -1
  49. package/dist/xy/xy.mjs +1 -1
  50. package/dist/xy/xy.mjs.map +1 -1
  51. package/dist/xy/xyCommonCommands.mjs +1 -1
  52. package/dist/xy/xyCommonCommands.mjs.map +1 -1
  53. package/package.json +8 -11
  54. package/spec/yarn/workspace/tsconfig.json +1 -1
  55. package/src/actions/package/deps.ts +0 -1
  56. package/src/actions/test.ts +1 -1
  57. package/tsconfig.json +1 -2
@@ -1,158 +1,18 @@
1
1
  #!/usr/bin/env node
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
- var __commonJS = (cb, mod) => function __require() {
10
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
-
29
- // ../../node_modules/deepmerge/dist/cjs.js
30
- var require_cjs = __commonJS({
31
- "../../node_modules/deepmerge/dist/cjs.js"(exports, module) {
32
- "use strict";
33
- var isMergeableObject = /* @__PURE__ */ __name(function isMergeableObject2(value) {
34
- return isNonNullObject(value) && !isSpecial(value);
35
- }, "isMergeableObject");
36
- function isNonNullObject(value) {
37
- return !!value && typeof value === "object";
38
- }
39
- __name(isNonNullObject, "isNonNullObject");
40
- function isSpecial(value) {
41
- var stringValue = Object.prototype.toString.call(value);
42
- return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value);
43
- }
44
- __name(isSpecial, "isSpecial");
45
- var canUseSymbol = typeof Symbol === "function" && Symbol.for;
46
- var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
47
- function isReactElement(value) {
48
- return value.$$typeof === REACT_ELEMENT_TYPE;
49
- }
50
- __name(isReactElement, "isReactElement");
51
- function emptyTarget(val) {
52
- return Array.isArray(val) ? [] : {};
53
- }
54
- __name(emptyTarget, "emptyTarget");
55
- function cloneUnlessOtherwiseSpecified(value, options) {
56
- return options.clone !== false && options.isMergeableObject(value) ? deepmerge3(emptyTarget(value), value, options) : value;
57
- }
58
- __name(cloneUnlessOtherwiseSpecified, "cloneUnlessOtherwiseSpecified");
59
- function defaultArrayMerge(target, source, options) {
60
- return target.concat(source).map(function(element) {
61
- return cloneUnlessOtherwiseSpecified(element, options);
62
- });
63
- }
64
- __name(defaultArrayMerge, "defaultArrayMerge");
65
- function getMergeFunction(key, options) {
66
- if (!options.customMerge) {
67
- return deepmerge3;
68
- }
69
- var customMerge = options.customMerge(key);
70
- return typeof customMerge === "function" ? customMerge : deepmerge3;
71
- }
72
- __name(getMergeFunction, "getMergeFunction");
73
- function getEnumerableOwnPropertySymbols(target) {
74
- return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
75
- return Object.propertyIsEnumerable.call(target, symbol);
76
- }) : [];
77
- }
78
- __name(getEnumerableOwnPropertySymbols, "getEnumerableOwnPropertySymbols");
79
- function getKeys(target) {
80
- return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
81
- }
82
- __name(getKeys, "getKeys");
83
- function propertyIsOnObject(object, property) {
84
- try {
85
- return property in object;
86
- } catch (_) {
87
- return false;
88
- }
89
- }
90
- __name(propertyIsOnObject, "propertyIsOnObject");
91
- function propertyIsUnsafe(target, key) {
92
- return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
93
- }
94
- __name(propertyIsUnsafe, "propertyIsUnsafe");
95
- function mergeObject(target, source, options) {
96
- var destination = {};
97
- if (options.isMergeableObject(target)) {
98
- getKeys(target).forEach(function(key) {
99
- destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
100
- });
101
- }
102
- getKeys(source).forEach(function(key) {
103
- if (propertyIsUnsafe(target, key)) {
104
- return;
105
- }
106
- if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
107
- destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
108
- } else {
109
- destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
110
- }
111
- });
112
- return destination;
113
- }
114
- __name(mergeObject, "mergeObject");
115
- function deepmerge3(target, source, options) {
116
- options = options || {};
117
- options.arrayMerge = options.arrayMerge || defaultArrayMerge;
118
- options.isMergeableObject = options.isMergeableObject || isMergeableObject;
119
- options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
120
- var sourceIsArray = Array.isArray(source);
121
- var targetIsArray = Array.isArray(target);
122
- var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
123
- if (!sourceAndTargetTypesMatch) {
124
- return cloneUnlessOtherwiseSpecified(source, options);
125
- } else if (sourceIsArray) {
126
- return options.arrayMerge(target, source, options);
127
- } else {
128
- return mergeObject(target, source, options);
129
- }
130
- }
131
- __name(deepmerge3, "deepmerge");
132
- deepmerge3.all = /* @__PURE__ */ __name(function deepmergeAll(array, options) {
133
- if (!Array.isArray(array)) {
134
- throw new Error("first argument should be an array");
135
- }
136
- return array.reduce(function(prev, next) {
137
- return deepmerge3(prev, next, options);
138
- }, {});
139
- }, "deepmergeAll");
140
- var deepmerge_1 = deepmerge3;
141
- module.exports = deepmerge_1;
142
- }
143
- });
144
4
 
145
5
  // src/bin/package/build-only.ts
146
6
  import chalk6 from "chalk";
147
7
 
148
8
  // src/lib/loadConfig.ts
149
- var import_deepmerge = __toESM(require_cjs(), 1);
150
9
  import chalk from "chalk";
151
10
  import { cosmiconfig } from "cosmiconfig";
11
+ import deepmerge from "deepmerge";
152
12
  var config;
153
13
  var loadConfig = /* @__PURE__ */ __name(async (params) => {
154
14
  if (config) {
155
- return (0, import_deepmerge.default)(config, params ?? {});
15
+ return deepmerge(config, params ?? {});
156
16
  }
157
17
  const cosmicConfigResult = await cosmiconfig("xy", {
158
18
  cache: true
@@ -162,7 +22,7 @@ var loadConfig = /* @__PURE__ */ __name(async (params) => {
162
22
  if (configFilePath) {
163
23
  console.log(chalk.gray(`Loading config from ${configFilePath}`));
164
24
  }
165
- return (0, import_deepmerge.default)(config, params ?? {});
25
+ return deepmerge(config, params ?? {});
166
26
  }, "loadConfig");
167
27
 
168
28
  // src/actions/package/compile/compile.ts
@@ -219,14 +79,14 @@ import { createProgramFromConfig } from "tsc-prog";
219
79
  import { DiagnosticCategory, formatDiagnosticsWithColorAndContext, getLineAndCharacterOfPosition, getPreEmitDiagnostics } from "typescript";
220
80
 
221
81
  // src/actions/package/compile/getCompilerOptions.ts
222
- var import_deepmerge2 = __toESM(require_cjs(), 1);
223
82
  import { createRequire } from "node:module";
83
+ import deepmerge2 from "deepmerge";
224
84
  import { findConfigFile, readConfigFile, sys } from "typescript";
225
85
  var getNested = /* @__PURE__ */ __name((config2) => {
226
86
  if (config2.extends) {
227
87
  const require2 = createRequire(import.meta.url);
228
88
  const opts = require2(config2.extends);
229
- return (0, import_deepmerge2.default)(getNested(opts), config2.compilerOptions ?? {});
89
+ return deepmerge2(getNested(opts), config2.compilerOptions ?? {});
230
90
  }
231
91
  return config2.compilerOptions;
232
92
  }, "getNested");
@@ -237,7 +97,7 @@ var getCompilerOptionsJSONFollowExtends = /* @__PURE__ */ __name((filename) => {
237
97
  var getCompilerOptions = /* @__PURE__ */ __name((options = {}, tsconfig = "tsconfig.json") => {
238
98
  const configFileName = findConfigFile("./", sys.fileExists, tsconfig);
239
99
  const configFileCompilerOptions = (configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : void 0) ?? {};
240
- return (0, import_deepmerge2.default)(configFileCompilerOptions, options);
100
+ return deepmerge2(configFileCompilerOptions, options);
241
101
  }, "getCompilerOptions");
242
102
 
243
103
  // src/actions/package/compile/packageCompileTsc.ts
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../node_modules/deepmerge/dist/cjs.js","../../../src/bin/package/build-only.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts"],"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","#!/usr/bin/env node\n\nimport chalk from 'chalk'\n\nimport { packageCompile } from '../../actions/index.ts'\n\npackageCompile({ verbose: true, publint: false }, 'tsc')\n .then((value) => {\n if (value) {\n process.exit(value)\n }\n })\n .catch((reason) => {\n console.error(chalk.red(reason))\n process.exit(-1)\n })\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return deepmerge(config, params ?? {}) as T\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport type {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import { 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 { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport type { TsConfigCompilerOptions } from 'tsc-prog'\nimport { createProgramFromConfig } from 'tsc-prog'\nimport type {\n CompilerOptions,\n FormatDiagnosticsHost,\n LineAndCharacter,\n} from 'typescript'\nimport {\n DiagnosticCategory,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport type { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport 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","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 (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsup',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: true,\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: types === 'tsup',\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n await Promise.all(optionsList.map(options => build(options)))\n if (types === 'tsc') {\n return packageCompileTscTypes(folder, { verbose }, { outDir })\n }\n return 0\n}\n\n// eslint-disable-next-line complexity\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsup') => {\n console.warn('packageCompileTsup-types', types)\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 types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (publint ? await packagePublint() : 0)\n )\n}\n","import { readdir } from 'node:fs/promises'\n\nimport { glob } from 'glob'\n\nexport const getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter(\n file => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.includes('.spec.') && !file.includes('.stories.'),\n )\n .map(file => (subDir ? `${subDir}/${file}` : file))\n}\n\nexport const getInputDirs = async (depth: number = 0) => {\n if (depth === 0) {\n return []\n }\n return [\n '.',\n ...(await readdir('src', { recursive: true, withFileTypes: true }))\n .filter(file => file.isDirectory())\n .map((file) => {\n const pathParts = file.path?.split('/') ?? []\n pathParts.shift()\n if (pathParts.length > 0) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nexport const getAllInputs = async (depth = 100) => {\n const dirs = await getInputDirs(depth)\n return (await Promise.all(dirs.map(async dir => await getInputs(dir)))).flat()\n}\n\nexport const getAllInputs2 = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs2 } from './inputs.ts'\nimport 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"],"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","chalk","chalk","cosmiconfig","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","chalk","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","formatDiagnosticsWithColorAndContext","getLineAndCharacterOfPosition","getPreEmitDiagnostics","import_deepmerge","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","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","build","defineConfig","glob","getAllInputs2","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs2","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","verbose","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","compileFolder","folder","entryMode","options","types","verbose","outDir","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTscTypes","packageCompileTsup","config","console","warn","compile","publint","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","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","packageCompile","verbose","publint","then","value","process","exit","catch","reason","console","error","chalk","red"]}
1
+ {"version":3,"sources":["../../../src/bin/package/build-only.ts","../../../src/lib/loadConfig.ts","../../../src/actions/package/compile/compile.ts","../../../src/actions/package/publint.ts","../../../src/actions/package/compile/packageCompileTsc.ts","../../../src/actions/package/compile/getCompilerOptions.ts","../../../src/actions/package/compile/packageCompileTsup.ts","../../../src/actions/package/compile/inputs.ts","../../../src/actions/package/compile/buildEntries.ts","../../../src/actions/package/compile/packageCompileTscTypes.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport chalk from 'chalk'\n\nimport { packageCompile } from '../../actions/index.ts'\n\npackageCompile({ verbose: true, publint: false }, 'tsc')\n .then((value) => {\n if (value) {\n process.exit(value)\n }\n })\n .catch((reason) => {\n console.error(chalk.red(reason))\n process.exit(-1)\n })\n","import chalk from 'chalk'\nimport { cosmiconfig } from 'cosmiconfig'\nimport deepmerge from 'deepmerge'\n\nlet config: Record<string, unknown>\n\nexport const loadConfig = async <T extends object>(params?: T): Promise<T> => {\n if (config) {\n return deepmerge(config, params ?? {}) as T\n }\n\n const cosmicConfigResult = await cosmiconfig('xy', { cache: true }).search()\n config = cosmicConfigResult?.config\n const configFilePath = cosmicConfigResult?.filepath\n if (configFilePath) {\n console.log(chalk.gray(`Loading config from ${configFilePath}`))\n }\n return deepmerge(config, params ?? {}) as T\n}\n","import chalk from 'chalk'\n\nimport { loadConfig } from '../../../lib/index.ts'\nimport { packagePublint } from '../publint.ts'\nimport { packageCompileTsc } from './packageCompileTsc.ts'\nimport { packageCompileTsup } from './packageCompileTsup.ts'\nimport type {\n XyConfig, XyTscConfig, XyTsupConfig,\n} from './XyConfig.ts'\n\nexport const packageCompile = async (inConfig: XyConfig = {}, types?: 'tsc' | 'tsup'): Promise<number> => {\n const pkg = process.env.INIT_CWD\n console.log(chalk.green(`Compiling ${pkg}`))\n const config = await loadConfig(inConfig)\n const publint = config.publint\n\n const mode = config.compile?.mode ?? 'tsup'\n let result: number = 0\n switch (mode) {\n case 'tsc': {\n result += await packageCompileTsc(undefined, config as XyTscConfig)\n break\n }\n case 'tsup': {\n result += await packageCompileTsup(config as XyTsupConfig, types)\n break\n }\n }\n return result + (publint ? await packagePublint(config) : 0)\n}\n","import { 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 { cwd } from 'node:process'\n\nimport chalk from 'chalk'\nimport type { TsConfigCompilerOptions } from 'tsc-prog'\nimport { createProgramFromConfig } from 'tsc-prog'\nimport type {\n CompilerOptions,\n FormatDiagnosticsHost,\n LineAndCharacter,\n} from 'typescript'\nimport {\n DiagnosticCategory,\n formatDiagnosticsWithColorAndContext,\n getLineAndCharacterOfPosition,\n getPreEmitDiagnostics,\n} from 'typescript'\n\nimport { packagePublint } from '../publint.ts'\nimport { getCompilerOptions } from './getCompilerOptions.ts'\nimport type { XyTscConfig } from './XyConfig.ts'\n\nexport const packageCompileTsc = async (noEmit?: boolean, config?: XyTscConfig, compilerOptionsParam?: CompilerOptions): Promise<number> => {\n const pkg = process.env.INIT_CWD ?? cwd()\n\n const publint = config?.publint ?? true\n const verbose = config?.verbose ?? false\n\n const formatHost: FormatDiagnosticsHost = {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => pkg,\n getNewLine: () => '\\n',\n }\n\n if (verbose) {\n console.log(`Compiling with NoEmit TSC [${pkg}]`)\n }\n\n const compilerOptions = {\n ...(getCompilerOptions({\n outDir: 'dist',\n removeComments: true,\n rootDir: 'src',\n })),\n ...compilerOptionsParam,\n ...(noEmit === undefined ? {} : { noEmit }),\n } as TsConfigCompilerOptions\n\n const program = createProgramFromConfig({\n basePath: pkg ?? cwd(),\n compilerOptions,\n exclude: ['dist', 'docs', '**/*.spec.*', '**/*.stories.*', 'src/**/spec/**/*'],\n include: ['src'],\n })\n\n const results = getPreEmitDiagnostics(program)\n\n for (const diag of results) {\n const lineAndChar: LineAndCharacter = diag.file\n ? getLineAndCharacterOfPosition(diag.file, diag.start ?? 0)\n : { character: 0, line: 0 }\n console.log(chalk.cyan(`${diag.file?.fileName}:${lineAndChar.line + 1}:${lineAndChar.character + 1}`))\n console.log(formatDiagnosticsWithColorAndContext([diag], formatHost))\n }\n\n // eslint-disable-next-line unicorn/no-array-reduce\n return results.reduce((prev, diag) => (prev + diag.category === DiagnosticCategory.Error ? 1 : 0), 0) || (publint ? await packagePublint() : 0)\n}\n","import { createRequire } from 'node:module'\n\nimport deepmerge from 'deepmerge'\nimport 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","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 (\n folder: string,\n entryMode: EntryMode = 'single',\n options?: Options,\n types: 'tsc' | 'tsup' = 'tsup',\n verbose?: boolean,\n): Promise<number> => {\n const outDir = options?.outDir ?? 'dist'\n const entry = buildEntries(folder, entryMode)\n const optionsResult = defineConfig({\n bundle: true,\n cjsInterop: true,\n clean: true,\n dts: true,\n entry,\n format: ['esm'],\n outDir,\n silent: true,\n sourcemap: types === 'tsup',\n splitting: false,\n tsconfig: 'tsconfig.json',\n ...options,\n })\n const optionsList = (\n await Promise.all(\n (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap<Promise<Options[]>>(async (options) => {\n const result = typeof options === 'function' ? await options({}) : [options]\n return Array.isArray(result) ? result : [result]\n }),\n )\n ).flat()\n\n await Promise.all(optionsList.map(options => build(options)))\n if (types === 'tsc') {\n return packageCompileTscTypes(folder, { verbose }, { outDir })\n }\n return 0\n}\n\n// eslint-disable-next-line complexity\nexport const packageCompileTsup = async (config?: XyTsupConfig, types: 'tsc' | 'tsup' = 'tsup') => {\n console.warn('packageCompileTsup-types', types)\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 types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (\n await Promise.all(\n Object.entries(compileForBrowser).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === 'object' ? compile?.browser?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/browser',\n platform: 'browser',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (\n await Promise.all(\n Object.entries(compileForNeutral).map(async ([folder, options]) => {\n const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === 'object' ? compile?.neutral?.esbuildOptions : {}\n return folder\n ? await compileFolder(\n folder,\n compile?.entryMode,\n {\n ...standardOptions,\n loader: {\n ...standardOptions.loader,\n ...inEsBuildOptions?.loader,\n },\n outDir: 'dist/neutral',\n platform: 'neutral',\n ...compile?.tsup?.options,\n ...(typeof options === 'object' ? options : {}),\n },\n types,\n verbose,\n )\n : 0\n }),\n )\n ).reduce((prev, value) => prev + value, 0)\n || (publint ? await packagePublint() : 0)\n )\n}\n","import { readdir } from 'node:fs/promises'\n\nimport { glob } from 'glob'\n\nexport const getInputs = async (subDir?: string) => {\n return (await readdir(subDir ? `src/${subDir}` : 'src', { recursive: false }))\n .filter(\n file => (file.endsWith('.ts') || file.endsWith('.tsx')) && !file.endsWith('d.ts') && !file.includes('.spec.') && !file.includes('.stories.'),\n )\n .map(file => (subDir ? `${subDir}/${file}` : file))\n}\n\nexport const getInputDirs = async (depth: number = 0) => {\n if (depth === 0) {\n return []\n }\n return [\n '.',\n ...(await readdir('src', { recursive: true, withFileTypes: true }))\n .filter(file => file.isDirectory())\n .map((file) => {\n const pathParts = file.path?.split('/') ?? []\n pathParts.shift()\n if (pathParts.length > 0) {\n const root = pathParts.join('/')\n return `${root}/${file.name}`\n } else {\n return file.name\n }\n }),\n ]\n}\n\nexport const getAllInputs = async (depth = 100) => {\n const dirs = await getInputDirs(depth)\n return (await Promise.all(dirs.map(async dir => await getInputs(dir)))).flat()\n}\n\nexport const getAllInputs2 = (folder: string) => {\n /* tsup wants posix paths */\n return glob.sync(`${folder}/**/*.*`, { ignore: ['**/*.spec.*', '**/*.stories.*', '**/spec/**/*'], posix: true })\n}\n","import { getAllInputs2 } from './inputs.ts'\nimport 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"],"mappings":"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","names":["chalk","chalk","cosmiconfig","deepmerge","config","loadConfig","params","deepmerge","cosmicConfigResult","cosmiconfig","cache","search","configFilePath","filepath","console","log","chalk","gray","chalk","promises","fs","chalk","sortPackageJson","packagePublint","params","pkgDir","process","env","INIT_CWD","sortedPkg","sortPackageJson","fs","readFile","writeFile","pkg","JSON","parse","console","log","chalk","green","name","gray","publint","messages","level","strict","formatMessage","validMessage","_message","validMessages","filter","message","type","error","red","code","warn","yellow","white","verbose","length","cwd","chalk","createProgramFromConfig","DiagnosticCategory","formatDiagnosticsWithColorAndContext","getLineAndCharacterOfPosition","getPreEmitDiagnostics","createRequire","deepmerge","findConfigFile","readConfigFile","sys","getNested","config","extends","require","createRequire","url","opts","deepmerge","compilerOptions","getCompilerOptionsJSONFollowExtends","filename","readConfigFile","sys","readFile","getCompilerOptions","options","tsconfig","configFileName","findConfigFile","fileExists","configFileCompilerOptions","undefined","packageCompileTsc","noEmit","config","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","publint","verbose","formatHost","getCanonicalFileName","fileName","getCurrentDirectory","getNewLine","console","log","compilerOptions","getCompilerOptions","outDir","removeComments","rootDir","undefined","program","createProgramFromConfig","basePath","exclude","include","results","getPreEmitDiagnostics","diag","lineAndChar","file","getLineAndCharacterOfPosition","start","character","line","chalk","cyan","formatDiagnosticsWithColorAndContext","reduce","prev","category","DiagnosticCategory","Error","packagePublint","build","defineConfig","glob","getAllInputs2","folder","glob","sync","ignore","posix","buildEntries","folder","entryMode","verbose","console","log","getAllInputs2","filter","entry","includes","cwd","chalk","createProgramFromConfig","DiagnosticCategory","packageCompileTscTypes","folder","verbose","compilerOptionsParam","pkg","process","env","INIT_CWD","cwd","console","log","compilerOptions","getCompilerOptions","declaration","emitDeclarationOnly","outDir","removeComments","skipDefaultLibCheck","skipLibCheck","sourceMap","files","buildEntries","result","createProgramFromConfig","basePath","exclude","emit","diagResults","diagnostics","length","diag","category","DiagnosticCategory","Error","error","chalk","red","messageText","grey","blue","file","fileName","Warning","yellow","Suggestion","white","compileFolder","folder","entryMode","options","types","verbose","outDir","entry","buildEntries","optionsResult","defineConfig","bundle","cjsInterop","clean","dts","format","silent","sourcemap","splitting","tsconfig","optionsList","Promise","all","Array","isArray","flatMap","result","flat","map","build","packageCompileTscTypes","packageCompileTsup","config","console","warn","compile","publint","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","packageCompile","inConfig","types","pkg","process","env","INIT_CWD","console","log","chalk","green","config","loadConfig","publint","mode","compile","result","packageCompileTsc","undefined","packageCompileTsup","packagePublint","packageCompile","verbose","publint","then","value","process","exit","catch","reason","console","error","chalk","red"]}
@@ -1,158 +1,18 @@
1
1
  #!/usr/bin/env node
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
- var __commonJS = (cb, mod) => function __require() {
10
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
-
29
- // ../../node_modules/deepmerge/dist/cjs.js
30
- var require_cjs = __commonJS({
31
- "../../node_modules/deepmerge/dist/cjs.js"(exports, module) {
32
- "use strict";
33
- var isMergeableObject = /* @__PURE__ */ __name(function isMergeableObject2(value) {
34
- return isNonNullObject(value) && !isSpecial(value);
35
- }, "isMergeableObject");
36
- function isNonNullObject(value) {
37
- return !!value && typeof value === "object";
38
- }
39
- __name(isNonNullObject, "isNonNullObject");
40
- function isSpecial(value) {
41
- var stringValue = Object.prototype.toString.call(value);
42
- return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value);
43
- }
44
- __name(isSpecial, "isSpecial");
45
- var canUseSymbol = typeof Symbol === "function" && Symbol.for;
46
- var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for("react.element") : 60103;
47
- function isReactElement(value) {
48
- return value.$$typeof === REACT_ELEMENT_TYPE;
49
- }
50
- __name(isReactElement, "isReactElement");
51
- function emptyTarget(val) {
52
- return Array.isArray(val) ? [] : {};
53
- }
54
- __name(emptyTarget, "emptyTarget");
55
- function cloneUnlessOtherwiseSpecified(value, options) {
56
- return options.clone !== false && options.isMergeableObject(value) ? deepmerge3(emptyTarget(value), value, options) : value;
57
- }
58
- __name(cloneUnlessOtherwiseSpecified, "cloneUnlessOtherwiseSpecified");
59
- function defaultArrayMerge(target, source, options) {
60
- return target.concat(source).map(function(element) {
61
- return cloneUnlessOtherwiseSpecified(element, options);
62
- });
63
- }
64
- __name(defaultArrayMerge, "defaultArrayMerge");
65
- function getMergeFunction(key, options) {
66
- if (!options.customMerge) {
67
- return deepmerge3;
68
- }
69
- var customMerge = options.customMerge(key);
70
- return typeof customMerge === "function" ? customMerge : deepmerge3;
71
- }
72
- __name(getMergeFunction, "getMergeFunction");
73
- function getEnumerableOwnPropertySymbols(target) {
74
- return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
75
- return Object.propertyIsEnumerable.call(target, symbol);
76
- }) : [];
77
- }
78
- __name(getEnumerableOwnPropertySymbols, "getEnumerableOwnPropertySymbols");
79
- function getKeys(target) {
80
- return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
81
- }
82
- __name(getKeys, "getKeys");
83
- function propertyIsOnObject(object, property) {
84
- try {
85
- return property in object;
86
- } catch (_) {
87
- return false;
88
- }
89
- }
90
- __name(propertyIsOnObject, "propertyIsOnObject");
91
- function propertyIsUnsafe(target, key) {
92
- return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
93
- }
94
- __name(propertyIsUnsafe, "propertyIsUnsafe");
95
- function mergeObject(target, source, options) {
96
- var destination = {};
97
- if (options.isMergeableObject(target)) {
98
- getKeys(target).forEach(function(key) {
99
- destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
100
- });
101
- }
102
- getKeys(source).forEach(function(key) {
103
- if (propertyIsUnsafe(target, key)) {
104
- return;
105
- }
106
- if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
107
- destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
108
- } else {
109
- destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
110
- }
111
- });
112
- return destination;
113
- }
114
- __name(mergeObject, "mergeObject");
115
- function deepmerge3(target, source, options) {
116
- options = options || {};
117
- options.arrayMerge = options.arrayMerge || defaultArrayMerge;
118
- options.isMergeableObject = options.isMergeableObject || isMergeableObject;
119
- options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
120
- var sourceIsArray = Array.isArray(source);
121
- var targetIsArray = Array.isArray(target);
122
- var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
123
- if (!sourceAndTargetTypesMatch) {
124
- return cloneUnlessOtherwiseSpecified(source, options);
125
- } else if (sourceIsArray) {
126
- return options.arrayMerge(target, source, options);
127
- } else {
128
- return mergeObject(target, source, options);
129
- }
130
- }
131
- __name(deepmerge3, "deepmerge");
132
- deepmerge3.all = /* @__PURE__ */ __name(function deepmergeAll(array, options) {
133
- if (!Array.isArray(array)) {
134
- throw new Error("first argument should be an array");
135
- }
136
- return array.reduce(function(prev, next) {
137
- return deepmerge3(prev, next, options);
138
- }, {});
139
- }, "deepmergeAll");
140
- var deepmerge_1 = deepmerge3;
141
- module.exports = deepmerge_1;
142
- }
143
- });
144
4
 
145
5
  // src/bin/package/build.ts
146
6
  import chalk6 from "chalk";
147
7
 
148
8
  // src/lib/loadConfig.ts
149
- var import_deepmerge = __toESM(require_cjs(), 1);
150
9
  import chalk from "chalk";
151
10
  import { cosmiconfig } from "cosmiconfig";
11
+ import deepmerge from "deepmerge";
152
12
  var config;
153
13
  var loadConfig = /* @__PURE__ */ __name(async (params) => {
154
14
  if (config) {
155
- return (0, import_deepmerge.default)(config, params ?? {});
15
+ return deepmerge(config, params ?? {});
156
16
  }
157
17
  const cosmicConfigResult = await cosmiconfig("xy", {
158
18
  cache: true
@@ -162,7 +22,7 @@ var loadConfig = /* @__PURE__ */ __name(async (params) => {
162
22
  if (configFilePath) {
163
23
  console.log(chalk.gray(`Loading config from ${configFilePath}`));
164
24
  }
165
- return (0, import_deepmerge.default)(config, params ?? {});
25
+ return deepmerge(config, params ?? {});
166
26
  }, "loadConfig");
167
27
 
168
28
  // src/actions/package/compile/compile.ts
@@ -219,14 +79,14 @@ import { createProgramFromConfig } from "tsc-prog";
219
79
  import { DiagnosticCategory, formatDiagnosticsWithColorAndContext, getLineAndCharacterOfPosition, getPreEmitDiagnostics } from "typescript";
220
80
 
221
81
  // src/actions/package/compile/getCompilerOptions.ts
222
- var import_deepmerge2 = __toESM(require_cjs(), 1);
223
82
  import { createRequire } from "node:module";
83
+ import deepmerge2 from "deepmerge";
224
84
  import { findConfigFile, readConfigFile, sys } from "typescript";
225
85
  var getNested = /* @__PURE__ */ __name((config2) => {
226
86
  if (config2.extends) {
227
87
  const require2 = createRequire(import.meta.url);
228
88
  const opts = require2(config2.extends);
229
- return (0, import_deepmerge2.default)(getNested(opts), config2.compilerOptions ?? {});
89
+ return deepmerge2(getNested(opts), config2.compilerOptions ?? {});
230
90
  }
231
91
  return config2.compilerOptions;
232
92
  }, "getNested");
@@ -237,7 +97,7 @@ var getCompilerOptionsJSONFollowExtends = /* @__PURE__ */ __name((filename) => {
237
97
  var getCompilerOptions = /* @__PURE__ */ __name((options = {}, tsconfig = "tsconfig.json") => {
238
98
  const configFileName = findConfigFile("./", sys.fileExists, tsconfig);
239
99
  const configFileCompilerOptions = (configFileName ? getCompilerOptionsJSONFollowExtends(configFileName) : void 0) ?? {};
240
- return (0, import_deepmerge2.default)(configFileCompilerOptions, options);
100
+ return deepmerge2(configFileCompilerOptions, options);
241
101
  }, "getCompilerOptions");
242
102
 
243
103
  // src/actions/package/compile/packageCompileTsc.ts