@xylabs/ts-scripts-yarn3 7.0.0-rc.9 → 7.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.
Files changed (273) hide show
  1. package/dist/actions/build.mjs +87 -39
  2. package/dist/actions/build.mjs.map +1 -1
  3. package/dist/actions/clean-docs.mjs +22 -8
  4. package/dist/actions/clean-docs.mjs.map +1 -1
  5. package/dist/actions/clean-eslint.mjs +11 -5
  6. package/dist/actions/clean-eslint.mjs.map +1 -1
  7. package/dist/actions/clean-jest.mjs +29 -16
  8. package/dist/actions/clean-jest.mjs.map +1 -1
  9. package/dist/actions/clean.mjs +63 -32
  10. package/dist/actions/clean.mjs.map +1 -1
  11. package/dist/actions/compile.mjs +76 -50
  12. package/dist/actions/compile.mjs.map +1 -1
  13. package/dist/actions/copy-assets.mjs +38 -23
  14. package/dist/actions/copy-assets.mjs.map +1 -1
  15. package/dist/actions/cycle.mjs +57 -28
  16. package/dist/actions/cycle.mjs.map +1 -1
  17. package/dist/actions/dead.mjs +31 -16
  18. package/dist/actions/dead.mjs.map +1 -1
  19. package/dist/actions/deplint/checkPackage/checkPackage.mjs +84 -50
  20. package/dist/actions/deplint/checkPackage/checkPackage.mjs.map +1 -1
  21. package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs +7 -7
  22. package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs.map +1 -1
  23. package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs +6 -10
  24. package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs.map +1 -1
  25. package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs +5 -5
  26. package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs.map +1 -1
  27. package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs +4 -0
  28. package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs.map +1 -1
  29. package/dist/actions/deplint/checkPackage/index.mjs +84 -50
  30. package/dist/actions/deplint/checkPackage/index.mjs.map +1 -1
  31. package/dist/actions/deplint/deplint.mjs +120 -81
  32. package/dist/actions/deplint/deplint.mjs.map +1 -1
  33. package/dist/actions/deplint/findFiles.mjs +20 -4
  34. package/dist/actions/deplint/findFiles.mjs.map +1 -1
  35. package/dist/actions/deplint/findFilesByGlob.mjs +8 -1
  36. package/dist/actions/deplint/findFilesByGlob.mjs.map +1 -1
  37. package/dist/actions/deplint/getBasePackageName.mjs +4 -0
  38. package/dist/actions/deplint/getBasePackageName.mjs.map +1 -1
  39. package/dist/actions/deplint/getDependenciesFromPackageJson.mjs +4 -0
  40. package/dist/actions/deplint/getDependenciesFromPackageJson.mjs.map +1 -1
  41. package/dist/actions/deplint/getExternalImportsFromFiles.mjs +24 -12
  42. package/dist/actions/deplint/getExternalImportsFromFiles.mjs.map +1 -1
  43. package/dist/actions/deplint/getImportsFromFile.mjs +16 -9
  44. package/dist/actions/deplint/getImportsFromFile.mjs.map +1 -1
  45. package/dist/actions/deplint/index.mjs +120 -81
  46. package/dist/actions/deplint/index.mjs.map +1 -1
  47. package/dist/actions/deploy-major.mjs +57 -26
  48. package/dist/actions/deploy-major.mjs.map +1 -1
  49. package/dist/actions/deploy-minor.mjs +57 -26
  50. package/dist/actions/deploy-minor.mjs.map +1 -1
  51. package/dist/actions/deploy-next.mjs +57 -26
  52. package/dist/actions/deploy-next.mjs.map +1 -1
  53. package/dist/actions/deploy.mjs +57 -26
  54. package/dist/actions/deploy.mjs.map +1 -1
  55. package/dist/actions/dupdeps.mjs +37 -26
  56. package/dist/actions/dupdeps.mjs.map +1 -1
  57. package/dist/actions/fix.mjs +54 -36
  58. package/dist/actions/fix.mjs.map +1 -1
  59. package/dist/actions/gen-docs.mjs +65 -25
  60. package/dist/actions/gen-docs.mjs.map +1 -1
  61. package/dist/actions/gitignore-gen.mjs +44 -28
  62. package/dist/actions/gitignore-gen.mjs.map +1 -1
  63. package/dist/actions/gitlint-fix.mjs +14 -5
  64. package/dist/actions/gitlint-fix.mjs.map +1 -1
  65. package/dist/actions/gitlint.mjs +7 -4
  66. package/dist/actions/gitlint.mjs.map +1 -1
  67. package/dist/actions/index.mjs +1555 -966
  68. package/dist/actions/index.mjs.map +1 -1
  69. package/dist/actions/knip.mjs +31 -16
  70. package/dist/actions/knip.mjs.map +1 -1
  71. package/dist/actions/license.mjs +51 -37
  72. package/dist/actions/license.mjs.map +1 -1
  73. package/dist/actions/lint.mjs +48 -33
  74. package/dist/actions/lint.mjs.map +1 -1
  75. package/dist/actions/npmignore-gen.mjs +44 -28
  76. package/dist/actions/npmignore-gen.mjs.map +1 -1
  77. package/dist/actions/package/clean-outputs.mjs +16 -6
  78. package/dist/actions/package/clean-outputs.mjs.map +1 -1
  79. package/dist/actions/package/clean-typescript.mjs +16 -6
  80. package/dist/actions/package/clean-typescript.mjs.map +1 -1
  81. package/dist/actions/package/clean.mjs +29 -12
  82. package/dist/actions/package/clean.mjs.map +1 -1
  83. package/dist/actions/package/compile/buildEntries.mjs +36 -8
  84. package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
  85. package/dist/actions/package/compile/compile.mjs +341 -185
  86. package/dist/actions/package/compile/compile.mjs.map +1 -1
  87. package/dist/actions/package/compile/copyTypeFiles.mjs +23 -20
  88. package/dist/actions/package/compile/copyTypeFiles.mjs.map +1 -1
  89. package/dist/actions/package/compile/deepMerge.mjs +5 -0
  90. package/dist/actions/package/compile/deepMerge.mjs.map +1 -1
  91. package/dist/actions/package/compile/getCompilerOptions.mjs +9 -23
  92. package/dist/actions/package/compile/getCompilerOptions.mjs.map +1 -1
  93. package/dist/actions/package/compile/index.mjs +341 -267
  94. package/dist/actions/package/compile/index.mjs.map +1 -1
  95. package/dist/actions/package/compile/inputs.mjs +26 -3
  96. package/dist/actions/package/compile/inputs.mjs.map +1 -1
  97. package/dist/actions/package/compile/packageCompileTsc.mjs +57 -96
  98. package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
  99. package/dist/actions/package/compile/packageCompileTscTypes.mjs +94 -25
  100. package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
  101. package/dist/actions/package/compile/packageCompileTsup.mjs +321 -123
  102. package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
  103. package/dist/actions/package/copy-assets.mjs +21 -12
  104. package/dist/actions/package/copy-assets.mjs.map +1 -1
  105. package/dist/actions/package/cycle.mjs +16 -9
  106. package/dist/actions/package/cycle.mjs.map +1 -1
  107. package/dist/actions/package/gen-docs.mjs +13 -12
  108. package/dist/actions/package/gen-docs.mjs.map +1 -1
  109. package/dist/actions/package/index.mjs +507 -347
  110. package/dist/actions/package/index.mjs.map +1 -1
  111. package/dist/actions/package/lint.mjs +39 -16
  112. package/dist/actions/package/lint.mjs.map +1 -1
  113. package/dist/actions/package/publint.mjs +9 -6
  114. package/dist/actions/package/publint.mjs.map +1 -1
  115. package/dist/actions/package/recompile.mjs +371 -201
  116. package/dist/actions/package/recompile.mjs.map +1 -1
  117. package/dist/actions/publint.mjs +71 -37
  118. package/dist/actions/publint.mjs.map +1 -1
  119. package/dist/actions/rebuild.mjs +29 -17
  120. package/dist/actions/rebuild.mjs.map +1 -1
  121. package/dist/actions/recompile.mjs +67 -50
  122. package/dist/actions/recompile.mjs.map +1 -1
  123. package/dist/actions/reinstall.mjs +43 -25
  124. package/dist/actions/reinstall.mjs.map +1 -1
  125. package/dist/actions/relint.mjs +63 -40
  126. package/dist/actions/relint.mjs.map +1 -1
  127. package/dist/actions/retest.mjs +35 -17
  128. package/dist/actions/retest.mjs.map +1 -1
  129. package/dist/actions/sonar.mjs +32 -16
  130. package/dist/actions/sonar.mjs.map +1 -1
  131. package/dist/actions/statics.mjs +46 -27
  132. package/dist/actions/statics.mjs.map +1 -1
  133. package/dist/actions/test.mjs +30 -16
  134. package/dist/actions/test.mjs.map +1 -1
  135. package/dist/actions/up.mjs +27 -16
  136. package/dist/actions/up.mjs.map +1 -1
  137. package/dist/actions/updo.mjs +33 -18
  138. package/dist/actions/updo.mjs.map +1 -1
  139. package/dist/actions/upplug.mjs +53 -19
  140. package/dist/actions/upplug.mjs.map +1 -1
  141. package/dist/actions/upyarn.mjs +31 -16
  142. package/dist/actions/upyarn.mjs.map +1 -1
  143. package/dist/actions/yarn3only.mjs +23 -12
  144. package/dist/actions/yarn3only.mjs.map +1 -1
  145. package/dist/bin/package/build-only.mjs +346 -191
  146. package/dist/bin/package/build-only.mjs.map +1 -1
  147. package/dist/bin/package/build.mjs +348 -191
  148. package/dist/bin/package/build.mjs.map +1 -1
  149. package/dist/bin/package/clean-outputs.mjs +15 -6
  150. package/dist/bin/package/clean-outputs.mjs.map +1 -1
  151. package/dist/bin/package/clean-typescript.mjs +15 -6
  152. package/dist/bin/package/clean-typescript.mjs.map +1 -1
  153. package/dist/bin/package/clean.mjs +28 -12
  154. package/dist/bin/package/clean.mjs.map +1 -1
  155. package/dist/bin/package/compile-only.mjs +345 -190
  156. package/dist/bin/package/compile-only.mjs.map +1 -1
  157. package/dist/bin/package/compile-tsup.mjs +323 -126
  158. package/dist/bin/package/compile-tsup.mjs.map +1 -1
  159. package/dist/bin/package/compile.mjs +346 -191
  160. package/dist/bin/package/compile.mjs.map +1 -1
  161. package/dist/bin/package/copy-assets-cjs.mjs +23 -13
  162. package/dist/bin/package/copy-assets-cjs.mjs.map +1 -1
  163. package/dist/bin/package/copy-assets-esm.mjs +23 -13
  164. package/dist/bin/package/copy-assets-esm.mjs.map +1 -1
  165. package/dist/bin/package/cycle.mjs +17 -11
  166. package/dist/bin/package/cycle.mjs.map +1 -1
  167. package/dist/bin/package/fix.mjs +38 -16
  168. package/dist/bin/package/fix.mjs.map +1 -1
  169. package/dist/bin/package/gen-docs.mjs +12 -12
  170. package/dist/bin/package/gen-docs.mjs.map +1 -1
  171. package/dist/bin/package/lint.mjs +38 -16
  172. package/dist/bin/package/lint.mjs.map +1 -1
  173. package/dist/bin/package/publint.mjs +8 -6
  174. package/dist/bin/package/publint.mjs.map +1 -1
  175. package/dist/bin/package/recompile.mjs +372 -203
  176. package/dist/bin/package/recompile.mjs.map +1 -1
  177. package/dist/bin/package/relint.mjs +38 -16
  178. package/dist/bin/package/relint.mjs.map +1 -1
  179. package/dist/bin/xy.mjs +1351 -1075
  180. package/dist/bin/xy.mjs.map +1 -1
  181. package/dist/index.d.ts +133 -121
  182. package/dist/index.mjs +1908 -1460
  183. package/dist/index.mjs.map +1 -1
  184. package/dist/lib/checkResult.mjs +5 -2
  185. package/dist/lib/checkResult.mjs.map +1 -1
  186. package/dist/lib/createBuildConfig.mjs +24 -9
  187. package/dist/lib/createBuildConfig.mjs.map +1 -1
  188. package/dist/lib/defaultBuildConfig.mjs +6 -2
  189. package/dist/lib/defaultBuildConfig.mjs.map +1 -1
  190. package/dist/lib/deleteGlob.mjs +9 -3
  191. package/dist/lib/deleteGlob.mjs.map +1 -1
  192. package/dist/lib/dependencies/DuplicateDetector.mjs +23 -12
  193. package/dist/lib/dependencies/DuplicateDetector.mjs.map +1 -1
  194. package/dist/lib/dependencies/detectDuplicateDependencies.mjs +33 -22
  195. package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +1 -1
  196. package/dist/lib/dependencies/index.mjs +33 -22
  197. package/dist/lib/dependencies/index.mjs.map +1 -1
  198. package/dist/lib/file/ReadFileSyncOptions.mjs +3 -1
  199. package/dist/lib/file/ReadFileSyncOptions.mjs.map +1 -1
  200. package/dist/lib/file/constants.mjs.map +1 -1
  201. package/dist/lib/file/fileLines.mjs +13 -12
  202. package/dist/lib/file/fileLines.mjs.map +1 -1
  203. package/dist/lib/file/index.mjs +15 -14
  204. package/dist/lib/file/index.mjs.map +1 -1
  205. package/dist/lib/file/tryReadFileSync.mjs +8 -3
  206. package/dist/lib/file/tryReadFileSync.mjs.map +1 -1
  207. package/dist/lib/generateIgnoreFiles.mjs +43 -27
  208. package/dist/lib/generateIgnoreFiles.mjs.map +1 -1
  209. package/dist/lib/index.mjs +166 -106
  210. package/dist/lib/index.mjs.map +1 -1
  211. package/dist/lib/jsonFormatters.mjs +5 -2
  212. package/dist/lib/jsonFormatters.mjs.map +1 -1
  213. package/dist/lib/loadConfig.mjs +20 -10
  214. package/dist/lib/loadConfig.mjs.map +1 -1
  215. package/dist/lib/parsedPackageJSON.mjs +5 -2
  216. package/dist/lib/parsedPackageJSON.mjs.map +1 -1
  217. package/dist/lib/processEx.mjs +9 -6
  218. package/dist/lib/processEx.mjs.map +1 -1
  219. package/dist/lib/runSteps.mjs +19 -13
  220. package/dist/lib/runSteps.mjs.map +1 -1
  221. package/dist/lib/runStepsAsync.mjs +22 -22
  222. package/dist/lib/runStepsAsync.mjs.map +1 -1
  223. package/dist/lib/runXy.mjs +31 -19
  224. package/dist/lib/runXy.mjs.map +1 -1
  225. package/dist/lib/runXyWithWarning.mjs +5 -2
  226. package/dist/lib/runXyWithWarning.mjs.map +1 -1
  227. package/dist/lib/safeExit.mjs +13 -10
  228. package/dist/lib/safeExit.mjs.map +1 -1
  229. package/dist/lib/string/empty.mjs +5 -2
  230. package/dist/lib/string/empty.mjs.map +1 -1
  231. package/dist/lib/string/index.mjs +9 -3
  232. package/dist/lib/string/index.mjs.map +1 -1
  233. package/dist/lib/string/union.mjs +7 -1
  234. package/dist/lib/string/union.mjs.map +1 -1
  235. package/dist/lib/withErrnoException.mjs +7 -4
  236. package/dist/lib/withErrnoException.mjs.map +1 -1
  237. package/dist/lib/withError.mjs +5 -2
  238. package/dist/lib/withError.mjs.map +1 -1
  239. package/dist/lib/yarn/index.mjs +30 -11
  240. package/dist/lib/yarn/index.mjs.map +1 -1
  241. package/dist/lib/yarn/isYarnVersionOrGreater.mjs +15 -4
  242. package/dist/lib/yarn/isYarnVersionOrGreater.mjs.map +1 -1
  243. package/dist/lib/yarn/workspace/index.mjs +16 -5
  244. package/dist/lib/yarn/workspace/index.mjs.map +1 -1
  245. package/dist/lib/yarn/workspace/yarnWorkspace.mjs +16 -5
  246. package/dist/lib/yarn/workspace/yarnWorkspace.mjs.map +1 -1
  247. package/dist/lib/yarn/workspace/yarnWorkspaces.mjs +14 -3
  248. package/dist/lib/yarn/workspace/yarnWorkspaces.mjs.map +1 -1
  249. package/dist/lib/yarn/yarnInitCwd.mjs +5 -2
  250. package/dist/lib/yarn/yarnInitCwd.mjs.map +1 -1
  251. package/dist/loadPackageConfig.mjs +8 -3
  252. package/dist/loadPackageConfig.mjs.map +1 -1
  253. package/dist/xy/index.mjs +1351 -1074
  254. package/dist/xy/index.mjs.map +1 -1
  255. package/dist/xy/param.mjs +9 -3
  256. package/dist/xy/param.mjs.map +1 -1
  257. package/dist/xy/xy.mjs +1351 -1074
  258. package/dist/xy/xy.mjs.map +1 -1
  259. package/dist/xy/xyBuildCommands.mjs +324 -305
  260. package/dist/xy/xyBuildCommands.mjs.map +1 -1
  261. package/dist/xy/xyCommonCommands.mjs +336 -251
  262. package/dist/xy/xyCommonCommands.mjs.map +1 -1
  263. package/dist/xy/xyDeployCommands.mjs +161 -99
  264. package/dist/xy/xyDeployCommands.mjs.map +1 -1
  265. package/dist/xy/xyInstallCommands.mjs +193 -145
  266. package/dist/xy/xyInstallCommands.mjs.map +1 -1
  267. package/dist/xy/xyLintCommands.mjs +437 -321
  268. package/dist/xy/xyLintCommands.mjs.map +1 -1
  269. package/dist/xy/xyParseOptions.mjs +5 -2
  270. package/dist/xy/xyParseOptions.mjs.map +1 -1
  271. package/package.json +13 -12
  272. package/dist/actions/compile-types.mjs +0 -153
  273. package/dist/actions/compile-types.mjs.map +0 -1
@@ -1,27 +1,53 @@
1
1
  #!/usr/bin/env node
2
+ var __defProp = Object.defineProperty;
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
2
4
 
3
5
  // src/bin/package/compile-tsup.ts
4
- import chalk from "chalk";
6
+ import chalk5 from "chalk";
5
7
 
6
8
  // src/actions/package/compile/packageCompileTsup.ts
9
+ import chalk4 from "chalk";
7
10
  import { build, defineConfig } from "tsup";
8
11
 
9
12
  // src/actions/package/compile/inputs.ts
13
+ import chalk from "chalk";
10
14
  import { glob } from "glob";
11
- var getAllInputs = (folder) => {
12
- return glob.sync(`${folder}/**/*.*`, { posix: true });
13
- };
15
+ var getAllInputs = /* @__PURE__ */ __name((srcDir, verbose = false) => {
16
+ return [
17
+ ...glob.sync(`${srcDir}/**/*.ts`, {
18
+ posix: true
19
+ }).map((file) => {
20
+ const result = file.slice(Math.max(0, srcDir.length + 1));
21
+ if (verbose) {
22
+ console.log(chalk.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
23
+ }
24
+ return result;
25
+ }),
26
+ ...glob.sync(`${srcDir}/**/*.tsx`, {
27
+ posix: true
28
+ }).map((file) => {
29
+ const result = file.slice(Math.max(0, srcDir.length + 1));
30
+ if (verbose) {
31
+ console.log(chalk.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
32
+ }
33
+ return result;
34
+ })
35
+ ];
36
+ }, "getAllInputs");
14
37
 
15
38
  // src/actions/package/compile/buildEntries.ts
16
- var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories = true, verbose = false) => {
39
+ var buildEntries = /* @__PURE__ */ __name((srcDir, entryMode = "single", options, excludeSpecAndStories = true, verbose = false) => {
17
40
  let entries = [];
18
41
  switch (entryMode) {
19
42
  case "platform": {
20
- entries = [`${folder}/index-node.ts`, `${folder}/index-browser.ts`];
43
+ entries = [
44
+ "index-node.ts",
45
+ "index-browser.ts"
46
+ ];
21
47
  break;
22
48
  }
23
49
  case "all": {
24
- entries = excludeSpecAndStories ? getAllInputs(folder).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(folder);
50
+ entries = (excludeSpecAndStories ? getAllInputs(srcDir).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(srcDir)).filter((entry) => !entry.endsWith(".d.ts"));
25
51
  break;
26
52
  }
27
53
  case "custom": {
@@ -29,7 +55,9 @@ var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories
29
55
  break;
30
56
  }
31
57
  default: {
32
- entries = [`${folder}/index.ts`];
58
+ entries = [
59
+ "index.ts"
60
+ ];
33
61
  break;
34
62
  }
35
63
  }
@@ -38,7 +66,7 @@ var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories
38
66
  }
39
67
  if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`);
40
68
  return entries;
41
- };
69
+ }, "buildEntries");
42
70
 
43
71
  // src/actions/package/compile/deepMerge.ts
44
72
  function deepMerge(target, source) {
@@ -55,6 +83,7 @@ function deepMerge(target, source) {
55
83
  }
56
84
  return target;
57
85
  }
86
+ __name(deepMerge, "deepMerge");
58
87
  function deepMergeObjects(objects) {
59
88
  const result = {};
60
89
  for (const obj of objects) {
@@ -62,166 +91,334 @@ function deepMergeObjects(objects) {
62
91
  }
63
92
  return result;
64
93
  }
94
+ __name(deepMergeObjects, "deepMergeObjects");
65
95
 
66
- // src/actions/package/compile/packageCompileTscTypes.ts
96
+ // src/actions/package/compile/packageCompileTsc.ts
97
+ import { cwd as cwd2 } from "process";
98
+ import chalk2 from "chalk";
99
+ import { createProgramFromConfig } from "tsc-prog";
100
+ import ts, { DiagnosticCategory, formatDiagnosticsWithColorAndContext, getPreEmitDiagnostics, sys } from "typescript";
101
+
102
+ // src/actions/package/compile/getCompilerOptions.ts
67
103
  import { cwd } from "process";
104
+ import deepmerge from "deepmerge";
105
+ import { getTsconfig } from "get-tsconfig";
106
+ var getCompilerOptions = /* @__PURE__ */ __name((options = {}, fileName = "tsconfig.json") => {
107
+ const resolvedTsConfigCompilerOptions = getTsconfig(cwd(), fileName)?.config?.compilerOptions ?? {};
108
+ return deepmerge(resolvedTsConfigCompilerOptions, options);
109
+ }, "getCompilerOptions");
110
+
111
+ // src/actions/package/compile/packageCompileTsc.ts
112
+ var packageCompileTsc = /* @__PURE__ */ __name((platform, entries, srcDir = "src", outDir = "dist", compilerOptionsParam, verbose = false) => {
113
+ const pkg = process.env.INIT_CWD ?? cwd2();
114
+ if (verbose) {
115
+ console.log(chalk2.cyan(`Validating code START: ${entries.length} files to ${outDir} from ${srcDir}`));
116
+ }
117
+ const configFilePath = ts.findConfigFile("./", ts.sys.fileExists, "tsconfig.json");
118
+ if (configFilePath === void 0) {
119
+ throw new Error("Could not find tsconfig.json");
120
+ }
121
+ const compilerOptions = {
122
+ ...getCompilerOptions({
123
+ removeComments: false,
124
+ skipDefaultLibCheck: true,
125
+ skipLibCheck: true,
126
+ sourceMap: false
127
+ }),
128
+ ...compilerOptionsParam,
129
+ outDir: `${outDir}/${platform}`,
130
+ emitDeclarationOnly: true,
131
+ noEmit: false
132
+ };
133
+ console.log(chalk2.cyan(`Validating Files: ${entries.length}`));
134
+ if (verbose) {
135
+ for (const entry of entries) {
136
+ console.log(chalk2.grey(`Validating: ${entry}`));
137
+ }
138
+ }
139
+ try {
140
+ if (entries.length > 0) {
141
+ const program = createProgramFromConfig({
142
+ configFilePath,
143
+ basePath: pkg ?? cwd2(),
144
+ compilerOptions,
145
+ files: entries.map((entry) => `${srcDir}/${entry}`),
146
+ include: [
147
+ `${srcDir}/**/*.*`
148
+ ]
149
+ });
150
+ const diagnostics = getPreEmitDiagnostics(program);
151
+ if (diagnostics.length > 0) {
152
+ const formattedDiagnostics = formatDiagnosticsWithColorAndContext(diagnostics, {
153
+ getCanonicalFileName: /* @__PURE__ */ __name((fileName) => fileName, "getCanonicalFileName"),
154
+ getCurrentDirectory: /* @__PURE__ */ __name(() => srcDir, "getCurrentDirectory"),
155
+ getNewLine: /* @__PURE__ */ __name(() => sys.newLine, "getNewLine")
156
+ });
157
+ console.error(formattedDiagnostics);
158
+ }
159
+ program.emit();
160
+ return diagnostics.reduce((acc, diag) => acc + (diag.category === DiagnosticCategory.Error ? 1 : 0), 0);
161
+ }
162
+ return 0;
163
+ } finally {
164
+ if (verbose) {
165
+ console.log(chalk2.cyan(`Validating code FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
166
+ }
167
+ }
168
+ }, "packageCompileTsc");
169
+
170
+ // src/actions/package/compile/packageCompileTscTypes.ts
171
+ import path from "path";
172
+ import { cwd as cwd3 } from "process";
173
+ import chalk3 from "chalk";
68
174
  import { rollup } from "rollup";
69
175
  import dts from "rollup-plugin-dts";
70
176
  import nodeExternals from "rollup-plugin-node-externals";
71
- async function bundleDts(inputPath, outputPath, platform) {
72
- const nodePlugIns = platform === "node" ? [nodeExternals()] : [];
73
- const bundle = await rollup({
74
- input: inputPath,
75
- plugins: [dts(), ...nodePlugIns],
76
- onwarn(warning, warn) {
77
- if (warning.code === "UNUSED_EXTERNAL_IMPORT") return;
78
- warn(warning);
79
- }
80
- });
81
- await bundle.write({
82
- file: outputPath,
83
- format: "es"
84
- });
85
- console.log(`Bundled declarations written to ${outputPath}`);
177
+ var ignoredWarningCodes = /* @__PURE__ */ new Set([
178
+ "EMPTY_BUNDLE",
179
+ "UNRESOLVED_IMPORT"
180
+ ]);
181
+ async function bundleDts(inputPath, outputPath, platform, options, verbose = false) {
182
+ const pkg = process.env.INIT_CWD ?? cwd3();
183
+ const tsconfigPath = path.resolve(pkg, "tsconfig.json");
184
+ const nodePlugIns = platform === "node" ? [
185
+ nodeExternals()
186
+ ] : [];
187
+ try {
188
+ const bundle = await rollup({
189
+ input: inputPath,
190
+ plugins: [
191
+ dts({
192
+ ...options,
193
+ tsconfig: tsconfigPath,
194
+ compilerOptions: {
195
+ emitDeclarationOnly: true,
196
+ noEmit: false,
197
+ declarationMap: true
198
+ }
199
+ }),
200
+ ...nodePlugIns
201
+ ],
202
+ onwarn(warning, warn) {
203
+ if (ignoredWarningCodes.has(warning.code ?? "")) {
204
+ return;
205
+ }
206
+ console.warn(chalk3.yellow(`[${warning.code}] ${warning.message}`));
207
+ console.warn(chalk3.gray(inputPath));
208
+ warn(warning);
209
+ }
210
+ });
211
+ await bundle.write({
212
+ file: outputPath,
213
+ format: "es"
214
+ });
215
+ } catch (ex) {
216
+ const error = ex;
217
+ console.warn(chalk3.red(error));
218
+ console.warn(chalk3.gray(inputPath));
219
+ }
220
+ if (verbose) {
221
+ console.log(`Bundled declarations written to ${outputPath}`);
222
+ }
86
223
  }
87
- var packageCompileTscTypes = async (entries, outDir, platform, folder = "src") => {
88
- const pkg = process.env.INIT_CWD ?? cwd();
89
- const srcRoot = `${pkg}/${folder}`;
90
- const entryNameToTypeName = (entry) => {
224
+ __name(bundleDts, "bundleDts");
225
+ var packageCompileTscTypes = /* @__PURE__ */ __name(async (entries, outDir, platform, srcDir = "build", verbose = false) => {
226
+ if (verbose) {
227
+ console.log(chalk3.cyan(`Compiling Types START [${platform}]: ${entries.length} files to ${outDir} from ${srcDir}`));
228
+ console.log(`Entries: ${entries.join(", ")}`);
229
+ }
230
+ const pkg = process.env.INIT_CWD ?? cwd3();
231
+ const srcRoot = `${pkg}/${srcDir}/${platform}`;
232
+ const entryNameToTypeName = /* @__PURE__ */ __name((entry) => {
91
233
  const splitEntryName = entry.split(".");
92
234
  const newEntryExtension = "d." + splitEntryName.at(-1);
93
- return [...splitEntryName.slice(0, -1), newEntryExtension].join(".");
94
- };
95
- const entryNames = entries.map((entry) => entry.split(`${folder}/`).at(-1) ?? entry);
235
+ return [
236
+ ...splitEntryName.slice(0, -1),
237
+ newEntryExtension
238
+ ].join(".");
239
+ }, "entryNameToTypeName");
240
+ const compilerOptions = getCompilerOptions({
241
+ removeComments: false,
242
+ skipDefaultLibCheck: true,
243
+ skipLibCheck: true,
244
+ declarationMap: true,
245
+ emitDeclarationOnly: true,
246
+ noEmit: true
247
+ });
248
+ const entryNames = entries.map((entry) => entry.split(`${srcDir}/`).at(-1) ?? entry);
96
249
  await Promise.all(entryNames.map(async (entryName) => {
97
- await bundleDts(`${srcRoot}/${entryName}`, outDir + "/" + entryNameToTypeName(entryName), platform);
250
+ const entryTypeName = entryNameToTypeName(entryName);
251
+ await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, {
252
+ compilerOptions
253
+ }, verbose);
98
254
  }));
255
+ if (verbose) {
256
+ console.log(chalk3.cyan(`Compiling Types FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
257
+ }
99
258
  return 0;
100
- };
259
+ }, "packageCompileTscTypes");
101
260
 
102
261
  // src/actions/package/compile/packageCompileTsup.ts
103
- var compileFolder = async (folder, entries, options, verbose) => {
262
+ var compileFolder = /* @__PURE__ */ __name(async (srcDir, entries, buildDir, options, bundleTypes = false, verbose) => {
104
263
  const outDir = options?.outDir ?? "dist";
105
264
  if (verbose) {
106
- console.log(`compileFolder [${folder}]`);
265
+ console.log(`compileFolder [${srcDir}, ${options?.outDir}]`);
107
266
  }
108
- const optionsResult = defineConfig({
109
- bundle: true,
110
- cjsInterop: true,
111
- clean: true,
112
- dts: false,
113
- entry: entries,
114
- format: ["esm"],
115
- outDir,
116
- silent: true,
117
- sourcemap: true,
118
- splitting: false,
119
- tsconfig: "tsconfig.json",
120
- ...options
121
- });
122
- const optionsList = (await Promise.all(
123
- (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap(async (options2) => {
124
- const result = typeof options2 === "function" ? await options2({}) : [options2];
125
- return Array.isArray(result) ? result : [result];
126
- })
127
- )).flat();
267
+ if (entries.length === 0) {
268
+ console.warn(chalk4.yellow(`No entries found in ${srcDir} to compile`));
269
+ return 0;
270
+ }
271
+ if (verbose) {
272
+ console.log(chalk4.gray(`buildDir [${buildDir}]`));
273
+ }
274
+ const validationResult = packageCompileTsc(options?.platform ?? "neutral", entries, srcDir, buildDir, void 0, verbose);
275
+ if (validationResult !== 0) {
276
+ console.error(chalk4.red(`Compile:Validation had ${validationResult} errors`));
277
+ return validationResult;
278
+ }
279
+ const optionsParams = tsupOptions([
280
+ {
281
+ bundle: true,
282
+ cjsInterop: true,
283
+ clean: false,
284
+ dts: false,
285
+ format: [
286
+ "esm"
287
+ ],
288
+ outDir,
289
+ silent: true,
290
+ sourcemap: true,
291
+ splitting: false,
292
+ tsconfig: "tsconfig.json",
293
+ ...options,
294
+ entry: entries.map((entry) => `${srcDir}/${entry}`)
295
+ }
296
+ ]);
297
+ const optionsResult = defineConfig(optionsParams);
298
+ const optionsList = (await Promise.all((Array.isArray(optionsResult) ? optionsResult : [
299
+ optionsResult
300
+ ]).flatMap(async (options2) => {
301
+ const result = typeof options2 === "function" ? await options2({}) : [
302
+ options2
303
+ ];
304
+ return Array.isArray(result) ? result : [
305
+ result
306
+ ];
307
+ }))).flat();
128
308
  if (verbose) {
129
- console.log(`TSUP:build:start [${folder}]`);
309
+ console.log(chalk4.cyan(`TSUP:build:start [${srcDir}]`));
310
+ console.log(chalk4.gray(`TSUP:build:options [${JSON.stringify(optionsList, null, 2)}]`));
130
311
  }
131
312
  await Promise.all(optionsList.map((options2) => build(options2)));
132
313
  if (verbose) {
133
- console.log(`TSUP:build:stop [${folder}]`);
314
+ console.log(chalk4.cyan(`TSUP:build:stop [${srcDir}]`));
315
+ }
316
+ if (bundleTypes) {
317
+ await packageCompileTscTypes(entries, outDir, options?.platform ?? "neutral", buildDir, verbose);
134
318
  }
135
- await packageCompileTscTypes(entries, outDir, options?.platform ?? "neutral", folder);
136
319
  return 0;
137
- };
138
- var tsupOptions = (options = []) => {
320
+ }, "compileFolder");
321
+ var tsupOptions = /* @__PURE__ */ __name((options = []) => {
139
322
  const standardLoaders = {
140
323
  ".gif": "copy",
141
324
  ".html": "copy",
142
325
  ".jpg": "copy",
143
326
  ".json": "json",
144
327
  ".png": "copy",
145
- ".svg": "copy",
328
+ ".svg": "text",
146
329
  ".webp": "copy"
147
330
  };
148
331
  const standardOptions = {
149
332
  bundle: true,
150
- format: ["esm"],
333
+ format: [
334
+ "esm"
335
+ ],
151
336
  loader: standardLoaders,
152
- outExtension: ({ format }) => format === "esm" ? { js: ".mjs" } : { js: ".cjs" },
337
+ outExtension: /* @__PURE__ */ __name(({ format }) => format === "esm" ? {
338
+ js: ".mjs"
339
+ } : {
340
+ js: ".cjs"
341
+ }, "outExtension"),
153
342
  skipNodeModulesBundle: true,
154
343
  sourcemap: true,
155
344
  target: "esnext"
156
345
  };
157
- return deepMergeObjects([standardOptions, ...options]);
158
- };
159
- var packageCompileTsup = async (config) => {
346
+ return deepMergeObjects([
347
+ standardOptions,
348
+ ...options
349
+ ]);
350
+ }, "tsupOptions");
351
+ var packageCompileTsup = /* @__PURE__ */ __name(async (config) => {
160
352
  const compile = config?.compile;
161
353
  const verbose = config?.verbose ?? false;
354
+ const outDirAsBuildDir = compile?.outDirAsBuildDir ?? true;
355
+ const bundleTypes = compile?.bundleTypes ?? false;
162
356
  if (verbose) {
163
- console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`);
357
+ console.log("Compiling with TSUP");
164
358
  }
165
- const compileForNode = compile?.node ?? { src: {} };
166
- const compileForBrowser = compile?.browser ?? { src: {} };
167
- const compileForNeutral = compile?.neutral ?? { src: {} };
168
- if (verbose) {
169
- console.log("Calling packageCompileTscTypes");
170
- }
171
- return (await Promise.all(
172
- Object.entries(compileForNode).map(async ([folder, options]) => {
173
- const optionsObject = typeof options === "object" ? options : {};
174
- const inEsBuildOptions = typeof compile?.node?.esbuildOptions === "object" ? compile?.node?.esbuildOptions : {};
175
- return typeof folder === "string" ? await compileFolder(
176
- folder,
177
- buildEntries(folder, compile?.entryMode, options, true, verbose),
178
- tsupOptions([
179
- inEsBuildOptions,
180
- compile?.tsup?.options ?? {},
181
- typeof options === "object" ? options : {},
182
- { platform: "node", outDir: optionsObject.outDir ?? "dist/node" }
183
- ]),
184
- verbose
185
- ) : 0;
186
- })
187
- )).reduce((prev, value) => prev + value, 0) + (await Promise.all(
188
- Object.entries(compileForBrowser).map(async ([folder, options]) => {
189
- const optionsObject = typeof options === "object" ? options : {};
190
- const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === "object" ? compile?.browser?.esbuildOptions : {};
191
- return typeof folder === "string" ? await compileFolder(
192
- folder,
193
- buildEntries(folder, compile?.entryMode, options, true, verbose),
194
- tsupOptions([
195
- inEsBuildOptions,
196
- compile?.tsup?.options ?? {},
197
- typeof options === "object" ? options : {},
198
- { platform: "browser", outDir: optionsObject.outDir ?? "dist/browser" }
199
- ]),
200
- verbose
201
- ) : 0;
202
- })
203
- )).reduce((prev, value) => prev + value, 0) + (await Promise.all(
204
- Object.entries(compileForNeutral).map(async ([folder, options]) => {
205
- const optionsObject = typeof options === "object" ? options : {};
206
- const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === "object" ? compile?.neutral?.esbuildOptions : {};
207
- return typeof folder === "string" ? await compileFolder(
208
- folder,
209
- buildEntries(folder, compile?.entryMode, options, true, verbose),
210
- tsupOptions([
211
- inEsBuildOptions,
212
- compile?.tsup?.options ?? {},
213
- typeof options === "object" ? options : {},
214
- { platform: "neutral", outDir: optionsObject.outDir ?? "dist/neutral" }
215
- ]),
216
- verbose
217
- ) : 0;
218
- })
219
- )).reduce((prev, value) => prev + value, 0) + 0;
220
- };
359
+ const compileForNode = compile?.node ?? {
360
+ src: {}
361
+ };
362
+ const compileForBrowser = compile?.browser ?? {
363
+ src: {}
364
+ };
365
+ const compileForNeutral = compile?.neutral ?? {
366
+ src: {}
367
+ };
368
+ return (await Promise.all(Object.entries(compileForNode).map(async ([srcDir, options]) => {
369
+ const optionsObject = typeof options === "object" ? options : {};
370
+ const inEsBuildOptions = typeof compile?.node?.esbuildOptions === "object" ? compile?.node?.esbuildOptions : {};
371
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
372
+ const platform = "node";
373
+ const rootOutDir = optionsObject.outDir ?? "dist";
374
+ const outDir = rootOutDir + "/" + platform;
375
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
376
+ inEsBuildOptions,
377
+ compile?.tsup?.options ?? {},
378
+ typeof options === "object" ? options : {},
379
+ {
380
+ platform: "node",
381
+ outDir
382
+ }
383
+ ]), bundleTypes, verbose) : 0;
384
+ }))).reduce((prev, value) => prev + value, 0) + (await Promise.all(Object.entries(compileForBrowser).map(async ([srcDir, options]) => {
385
+ const optionsObject = typeof options === "object" ? options : {};
386
+ const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === "object" ? compile?.browser?.esbuildOptions : {};
387
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
388
+ const platform = "browser";
389
+ const rootOutDir = optionsObject.outDir ?? "dist";
390
+ const outDir = rootOutDir + "/" + platform;
391
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
392
+ inEsBuildOptions,
393
+ compile?.tsup?.options ?? {},
394
+ typeof options === "object" ? options : {},
395
+ {
396
+ platform: "browser",
397
+ outDir
398
+ }
399
+ ]), bundleTypes, verbose) : 0;
400
+ }))).reduce((prev, value) => prev + value, 0) + (await Promise.all(Object.entries(compileForNeutral).map(async ([srcDir, options]) => {
401
+ const optionsObject = typeof options === "object" ? options : {};
402
+ const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === "object" ? compile?.neutral?.esbuildOptions : {};
403
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
404
+ const platform = "neutral";
405
+ const rootOutDir = optionsObject.outDir ?? "dist";
406
+ const outDir = rootOutDir + "/" + platform;
407
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
408
+ inEsBuildOptions,
409
+ compile?.tsup?.options ?? {},
410
+ typeof options === "object" ? options : {},
411
+ {
412
+ platform: "neutral",
413
+ outDir
414
+ }
415
+ ]), bundleTypes, verbose) : 0;
416
+ }))).reduce((prev, value) => prev + value, 0) + 0;
417
+ }, "packageCompileTsup");
221
418
 
222
419
  // src/bin/package/compile-tsup.ts
223
- packageCompileTsup({ verbose: true }).then((value) => process.exitCode = value).catch((reason) => {
224
- console.error(chalk.red(reason));
420
+ packageCompileTsup().then((value) => process.exitCode = value).catch((reason) => {
421
+ console.error(chalk5.red(reason));
225
422
  process.exitCode = 1;
226
423
  });
227
424
  //# sourceMappingURL=compile-tsup.mjs.map