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