@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,7 +1,9 @@
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/build-only.ts
4
- import chalk4 from "chalk";
6
+ import chalk8 from "chalk";
5
7
 
6
8
  // src/lib/loadConfig.ts
7
9
  import chalk from "chalk";
@@ -9,27 +11,34 @@ import { cosmiconfig } from "cosmiconfig";
9
11
  import { TypeScriptLoader } from "cosmiconfig-typescript-loader";
10
12
  import deepmerge from "deepmerge";
11
13
  var config;
12
- var loadConfig = async (params) => {
13
- if (config) {
14
- return deepmerge(config, params ?? {});
15
- }
16
- const cosmicConfigResult = await cosmiconfig("xy", { cache: true, loaders: { ".ts": TypeScriptLoader() } }).search();
17
- config = cosmicConfigResult?.config;
18
- const configFilePath = cosmicConfigResult?.filepath;
19
- if (configFilePath) {
20
- console.log(chalk.gray(`Loading config from ${configFilePath}`));
14
+ var loadConfig = /* @__PURE__ */ __name(async (params) => {
15
+ if (config === void 0) {
16
+ const cosmicConfigResult = await cosmiconfig("xy", {
17
+ cache: true,
18
+ loaders: {
19
+ ".ts": TypeScriptLoader()
20
+ }
21
+ }).search();
22
+ config = cosmicConfigResult?.config;
23
+ const configFilePath = cosmicConfigResult?.filepath;
24
+ if (configFilePath !== void 0) {
25
+ console.log(chalk.green(`Loaded config from ${configFilePath}`));
26
+ if (config.verbose) {
27
+ console.log(chalk.gray(`${JSON.stringify(config, null, 2)}`));
28
+ }
29
+ }
21
30
  }
22
31
  return deepmerge(config, params ?? {});
23
- };
32
+ }, "loadConfig");
24
33
 
25
34
  // src/actions/package/compile/compile.ts
26
- import chalk3 from "chalk";
35
+ import chalk7 from "chalk";
27
36
 
28
37
  // src/actions/package/publint.ts
29
38
  import { promises as fs } from "fs";
30
39
  import chalk2 from "chalk";
31
40
  import sortPackageJson from "sort-package-json";
32
- var packagePublint = async (params) => {
41
+ var packagePublint = /* @__PURE__ */ __name(async (params) => {
33
42
  const pkgDir = process.env.INIT_CWD;
34
43
  const sortedPkg = sortPackageJson(await fs.readFile(`${pkgDir}/package.json`, "utf8"));
35
44
  await fs.writeFile(`${pkgDir}/package.json`, sortedPkg);
@@ -43,9 +52,9 @@ var packagePublint = async (params) => {
43
52
  strict: true
44
53
  });
45
54
  const { formatMessage } = await import("publint/utils");
46
- const validMessage = (_message) => {
55
+ const validMessage = /* @__PURE__ */ __name((_message) => {
47
56
  return true;
48
- };
57
+ }, "validMessage");
49
58
  const validMessages = messages.filter(validMessage);
50
59
  for (const message of validMessages) {
51
60
  switch (message.type) {
@@ -67,27 +76,51 @@ var packagePublint = async (params) => {
67
76
  console.log(chalk2.gray(`Publint [Finish]: ${pkgDir} [${validMessages.length}]`));
68
77
  }
69
78
  return validMessages.filter((message) => message.type === "error").length;
70
- };
79
+ }, "packagePublint");
71
80
 
72
81
  // src/actions/package/compile/packageCompileTsup.ts
82
+ import chalk6 from "chalk";
73
83
  import { build, defineConfig } from "tsup";
74
84
 
75
85
  // src/actions/package/compile/inputs.ts
86
+ import chalk3 from "chalk";
76
87
  import { glob } from "glob";
77
- var getAllInputs = (folder) => {
78
- return glob.sync(`${folder}/**/*.*`, { posix: true });
79
- };
88
+ var getAllInputs = /* @__PURE__ */ __name((srcDir, verbose = false) => {
89
+ return [
90
+ ...glob.sync(`${srcDir}/**/*.ts`, {
91
+ posix: true
92
+ }).map((file) => {
93
+ const result = file.slice(Math.max(0, srcDir.length + 1));
94
+ if (verbose) {
95
+ console.log(chalk3.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
96
+ }
97
+ return result;
98
+ }),
99
+ ...glob.sync(`${srcDir}/**/*.tsx`, {
100
+ posix: true
101
+ }).map((file) => {
102
+ const result = file.slice(Math.max(0, srcDir.length + 1));
103
+ if (verbose) {
104
+ console.log(chalk3.gray(`getAllInputs: ${JSON.stringify(result, null, 2)}`));
105
+ }
106
+ return result;
107
+ })
108
+ ];
109
+ }, "getAllInputs");
80
110
 
81
111
  // src/actions/package/compile/buildEntries.ts
82
- var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories = true, verbose = false) => {
112
+ var buildEntries = /* @__PURE__ */ __name((srcDir, entryMode = "single", options, excludeSpecAndStories = true, verbose = false) => {
83
113
  let entries = [];
84
114
  switch (entryMode) {
85
115
  case "platform": {
86
- entries = [`${folder}/index-node.ts`, `${folder}/index-browser.ts`];
116
+ entries = [
117
+ "index-node.ts",
118
+ "index-browser.ts"
119
+ ];
87
120
  break;
88
121
  }
89
122
  case "all": {
90
- entries = excludeSpecAndStories ? getAllInputs(folder).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(folder);
123
+ entries = (excludeSpecAndStories ? getAllInputs(srcDir).filter((entry) => !entry.includes(".spec.") && !entry.includes(".stories.")) : getAllInputs(srcDir)).filter((entry) => !entry.endsWith(".d.ts"));
91
124
  break;
92
125
  }
93
126
  case "custom": {
@@ -95,7 +128,9 @@ var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories
95
128
  break;
96
129
  }
97
130
  default: {
98
- entries = [`${folder}/index.ts`];
131
+ entries = [
132
+ "index.ts"
133
+ ];
99
134
  break;
100
135
  }
101
136
  }
@@ -104,7 +139,7 @@ var buildEntries = (folder, entryMode = "single", options, excludeSpecAndStories
104
139
  }
105
140
  if (verbose) console.log(`buildEntries [${entryMode}] ${entries.length}`);
106
141
  return entries;
107
- };
142
+ }, "buildEntries");
108
143
 
109
144
  // src/actions/package/compile/deepMerge.ts
110
145
  function deepMerge(target, source) {
@@ -121,6 +156,7 @@ function deepMerge(target, source) {
121
156
  }
122
157
  return target;
123
158
  }
159
+ __name(deepMerge, "deepMerge");
124
160
  function deepMergeObjects(objects) {
125
161
  const result = {};
126
162
  for (const obj of objects) {
@@ -128,167 +164,335 @@ function deepMergeObjects(objects) {
128
164
  }
129
165
  return result;
130
166
  }
167
+ __name(deepMergeObjects, "deepMergeObjects");
131
168
 
132
- // src/actions/package/compile/packageCompileTscTypes.ts
169
+ // src/actions/package/compile/packageCompileTsc.ts
170
+ import { cwd as cwd2 } from "process";
171
+ import chalk4 from "chalk";
172
+ import { createProgramFromConfig } from "tsc-prog";
173
+ import ts, { DiagnosticCategory, formatDiagnosticsWithColorAndContext, getPreEmitDiagnostics, sys } from "typescript";
174
+
175
+ // src/actions/package/compile/getCompilerOptions.ts
133
176
  import { cwd } from "process";
177
+ import deepmerge2 from "deepmerge";
178
+ import { getTsconfig } from "get-tsconfig";
179
+ var getCompilerOptions = /* @__PURE__ */ __name((options = {}, fileName = "tsconfig.json") => {
180
+ const resolvedTsConfigCompilerOptions = getTsconfig(cwd(), fileName)?.config?.compilerOptions ?? {};
181
+ return deepmerge2(resolvedTsConfigCompilerOptions, options);
182
+ }, "getCompilerOptions");
183
+
184
+ // src/actions/package/compile/packageCompileTsc.ts
185
+ var packageCompileTsc = /* @__PURE__ */ __name((platform, entries, srcDir = "src", outDir = "dist", compilerOptionsParam, verbose = false) => {
186
+ const pkg = process.env.INIT_CWD ?? cwd2();
187
+ if (verbose) {
188
+ console.log(chalk4.cyan(`Validating code START: ${entries.length} files to ${outDir} from ${srcDir}`));
189
+ }
190
+ const configFilePath = ts.findConfigFile("./", ts.sys.fileExists, "tsconfig.json");
191
+ if (configFilePath === void 0) {
192
+ throw new Error("Could not find tsconfig.json");
193
+ }
194
+ const compilerOptions = {
195
+ ...getCompilerOptions({
196
+ removeComments: false,
197
+ skipDefaultLibCheck: true,
198
+ skipLibCheck: true,
199
+ sourceMap: false
200
+ }),
201
+ ...compilerOptionsParam,
202
+ outDir: `${outDir}/${platform}`,
203
+ emitDeclarationOnly: true,
204
+ noEmit: false
205
+ };
206
+ console.log(chalk4.cyan(`Validating Files: ${entries.length}`));
207
+ if (verbose) {
208
+ for (const entry of entries) {
209
+ console.log(chalk4.grey(`Validating: ${entry}`));
210
+ }
211
+ }
212
+ try {
213
+ if (entries.length > 0) {
214
+ const program = createProgramFromConfig({
215
+ configFilePath,
216
+ basePath: pkg ?? cwd2(),
217
+ compilerOptions,
218
+ files: entries.map((entry) => `${srcDir}/${entry}`),
219
+ include: [
220
+ `${srcDir}/**/*.*`
221
+ ]
222
+ });
223
+ const diagnostics = getPreEmitDiagnostics(program);
224
+ if (diagnostics.length > 0) {
225
+ const formattedDiagnostics = formatDiagnosticsWithColorAndContext(diagnostics, {
226
+ getCanonicalFileName: /* @__PURE__ */ __name((fileName) => fileName, "getCanonicalFileName"),
227
+ getCurrentDirectory: /* @__PURE__ */ __name(() => srcDir, "getCurrentDirectory"),
228
+ getNewLine: /* @__PURE__ */ __name(() => sys.newLine, "getNewLine")
229
+ });
230
+ console.error(formattedDiagnostics);
231
+ }
232
+ program.emit();
233
+ return diagnostics.reduce((acc, diag) => acc + (diag.category === DiagnosticCategory.Error ? 1 : 0), 0);
234
+ }
235
+ return 0;
236
+ } finally {
237
+ if (verbose) {
238
+ console.log(chalk4.cyan(`Validating code FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
239
+ }
240
+ }
241
+ }, "packageCompileTsc");
242
+
243
+ // src/actions/package/compile/packageCompileTscTypes.ts
244
+ import path from "path";
245
+ import { cwd as cwd3 } from "process";
246
+ import chalk5 from "chalk";
134
247
  import { rollup } from "rollup";
135
248
  import dts from "rollup-plugin-dts";
136
249
  import nodeExternals from "rollup-plugin-node-externals";
137
- async function bundleDts(inputPath, outputPath, platform) {
138
- const nodePlugIns = platform === "node" ? [nodeExternals()] : [];
139
- const bundle = await rollup({
140
- input: inputPath,
141
- plugins: [dts(), ...nodePlugIns],
142
- onwarn(warning, warn) {
143
- if (warning.code === "UNUSED_EXTERNAL_IMPORT") return;
144
- warn(warning);
145
- }
146
- });
147
- await bundle.write({
148
- file: outputPath,
149
- format: "es"
150
- });
151
- console.log(`Bundled declarations written to ${outputPath}`);
250
+ var ignoredWarningCodes = /* @__PURE__ */ new Set([
251
+ "EMPTY_BUNDLE",
252
+ "UNRESOLVED_IMPORT"
253
+ ]);
254
+ async function bundleDts(inputPath, outputPath, platform, options, verbose = false) {
255
+ const pkg = process.env.INIT_CWD ?? cwd3();
256
+ const tsconfigPath = path.resolve(pkg, "tsconfig.json");
257
+ const nodePlugIns = platform === "node" ? [
258
+ nodeExternals()
259
+ ] : [];
260
+ try {
261
+ const bundle = await rollup({
262
+ input: inputPath,
263
+ plugins: [
264
+ dts({
265
+ ...options,
266
+ tsconfig: tsconfigPath,
267
+ compilerOptions: {
268
+ emitDeclarationOnly: true,
269
+ noEmit: false,
270
+ declarationMap: true
271
+ }
272
+ }),
273
+ ...nodePlugIns
274
+ ],
275
+ onwarn(warning, warn) {
276
+ if (ignoredWarningCodes.has(warning.code ?? "")) {
277
+ return;
278
+ }
279
+ console.warn(chalk5.yellow(`[${warning.code}] ${warning.message}`));
280
+ console.warn(chalk5.gray(inputPath));
281
+ warn(warning);
282
+ }
283
+ });
284
+ await bundle.write({
285
+ file: outputPath,
286
+ format: "es"
287
+ });
288
+ } catch (ex) {
289
+ const error = ex;
290
+ console.warn(chalk5.red(error));
291
+ console.warn(chalk5.gray(inputPath));
292
+ }
293
+ if (verbose) {
294
+ console.log(`Bundled declarations written to ${outputPath}`);
295
+ }
152
296
  }
153
- var packageCompileTscTypes = async (entries, outDir, platform, folder = "src") => {
154
- const pkg = process.env.INIT_CWD ?? cwd();
155
- const srcRoot = `${pkg}/${folder}`;
156
- const entryNameToTypeName = (entry) => {
297
+ __name(bundleDts, "bundleDts");
298
+ var packageCompileTscTypes = /* @__PURE__ */ __name(async (entries, outDir, platform, srcDir = "build", verbose = false) => {
299
+ if (verbose) {
300
+ console.log(chalk5.cyan(`Compiling Types START [${platform}]: ${entries.length} files to ${outDir} from ${srcDir}`));
301
+ console.log(`Entries: ${entries.join(", ")}`);
302
+ }
303
+ const pkg = process.env.INIT_CWD ?? cwd3();
304
+ const srcRoot = `${pkg}/${srcDir}/${platform}`;
305
+ const entryNameToTypeName = /* @__PURE__ */ __name((entry) => {
157
306
  const splitEntryName = entry.split(".");
158
307
  const newEntryExtension = "d." + splitEntryName.at(-1);
159
- return [...splitEntryName.slice(0, -1), newEntryExtension].join(".");
160
- };
161
- const entryNames = entries.map((entry) => entry.split(`${folder}/`).at(-1) ?? entry);
308
+ return [
309
+ ...splitEntryName.slice(0, -1),
310
+ newEntryExtension
311
+ ].join(".");
312
+ }, "entryNameToTypeName");
313
+ const compilerOptions = getCompilerOptions({
314
+ removeComments: false,
315
+ skipDefaultLibCheck: true,
316
+ skipLibCheck: true,
317
+ declarationMap: true,
318
+ emitDeclarationOnly: true,
319
+ noEmit: true
320
+ });
321
+ const entryNames = entries.map((entry) => entry.split(`${srcDir}/`).at(-1) ?? entry);
162
322
  await Promise.all(entryNames.map(async (entryName) => {
163
- await bundleDts(`${srcRoot}/${entryName}`, outDir + "/" + entryNameToTypeName(entryName), platform);
323
+ const entryTypeName = entryNameToTypeName(entryName);
324
+ await bundleDts(`${srcRoot}/${entryTypeName}`, `${outDir}/${entryTypeName}`, platform, {
325
+ compilerOptions
326
+ }, verbose);
164
327
  }));
328
+ if (verbose) {
329
+ console.log(chalk5.cyan(`Compiling Types FINISH: ${entries.length} files to ${outDir} from ${srcDir}`));
330
+ }
165
331
  return 0;
166
- };
332
+ }, "packageCompileTscTypes");
167
333
 
168
334
  // src/actions/package/compile/packageCompileTsup.ts
169
- var compileFolder = async (folder, entries, options, verbose) => {
335
+ var compileFolder = /* @__PURE__ */ __name(async (srcDir, entries, buildDir, options, bundleTypes = false, verbose) => {
170
336
  const outDir = options?.outDir ?? "dist";
171
337
  if (verbose) {
172
- console.log(`compileFolder [${folder}]`);
338
+ console.log(`compileFolder [${srcDir}, ${options?.outDir}]`);
173
339
  }
174
- const optionsResult = defineConfig({
175
- bundle: true,
176
- cjsInterop: true,
177
- clean: true,
178
- dts: false,
179
- entry: entries,
180
- format: ["esm"],
181
- outDir,
182
- silent: true,
183
- sourcemap: true,
184
- splitting: false,
185
- tsconfig: "tsconfig.json",
186
- ...options
187
- });
188
- const optionsList = (await Promise.all(
189
- (Array.isArray(optionsResult) ? optionsResult : [optionsResult]).flatMap(async (options2) => {
190
- const result = typeof options2 === "function" ? await options2({}) : [options2];
191
- return Array.isArray(result) ? result : [result];
192
- })
193
- )).flat();
340
+ if (entries.length === 0) {
341
+ console.warn(chalk6.yellow(`No entries found in ${srcDir} to compile`));
342
+ return 0;
343
+ }
344
+ if (verbose) {
345
+ console.log(chalk6.gray(`buildDir [${buildDir}]`));
346
+ }
347
+ const validationResult = packageCompileTsc(options?.platform ?? "neutral", entries, srcDir, buildDir, void 0, verbose);
348
+ if (validationResult !== 0) {
349
+ console.error(chalk6.red(`Compile:Validation had ${validationResult} errors`));
350
+ return validationResult;
351
+ }
352
+ const optionsParams = tsupOptions([
353
+ {
354
+ bundle: true,
355
+ cjsInterop: true,
356
+ clean: false,
357
+ dts: false,
358
+ format: [
359
+ "esm"
360
+ ],
361
+ outDir,
362
+ silent: true,
363
+ sourcemap: true,
364
+ splitting: false,
365
+ tsconfig: "tsconfig.json",
366
+ ...options,
367
+ entry: entries.map((entry) => `${srcDir}/${entry}`)
368
+ }
369
+ ]);
370
+ const optionsResult = defineConfig(optionsParams);
371
+ const optionsList = (await Promise.all((Array.isArray(optionsResult) ? optionsResult : [
372
+ optionsResult
373
+ ]).flatMap(async (options2) => {
374
+ const result = typeof options2 === "function" ? await options2({}) : [
375
+ options2
376
+ ];
377
+ return Array.isArray(result) ? result : [
378
+ result
379
+ ];
380
+ }))).flat();
194
381
  if (verbose) {
195
- console.log(`TSUP:build:start [${folder}]`);
382
+ console.log(chalk6.cyan(`TSUP:build:start [${srcDir}]`));
383
+ console.log(chalk6.gray(`TSUP:build:options [${JSON.stringify(optionsList, null, 2)}]`));
196
384
  }
197
385
  await Promise.all(optionsList.map((options2) => build(options2)));
198
386
  if (verbose) {
199
- console.log(`TSUP:build:stop [${folder}]`);
387
+ console.log(chalk6.cyan(`TSUP:build:stop [${srcDir}]`));
388
+ }
389
+ if (bundleTypes) {
390
+ await packageCompileTscTypes(entries, outDir, options?.platform ?? "neutral", buildDir, verbose);
200
391
  }
201
- await packageCompileTscTypes(entries, outDir, options?.platform ?? "neutral", folder);
202
392
  return 0;
203
- };
204
- var tsupOptions = (options = []) => {
393
+ }, "compileFolder");
394
+ var tsupOptions = /* @__PURE__ */ __name((options = []) => {
205
395
  const standardLoaders = {
206
396
  ".gif": "copy",
207
397
  ".html": "copy",
208
398
  ".jpg": "copy",
209
399
  ".json": "json",
210
400
  ".png": "copy",
211
- ".svg": "copy",
401
+ ".svg": "text",
212
402
  ".webp": "copy"
213
403
  };
214
404
  const standardOptions = {
215
405
  bundle: true,
216
- format: ["esm"],
406
+ format: [
407
+ "esm"
408
+ ],
217
409
  loader: standardLoaders,
218
- outExtension: ({ format }) => format === "esm" ? { js: ".mjs" } : { js: ".cjs" },
410
+ outExtension: /* @__PURE__ */ __name(({ format }) => format === "esm" ? {
411
+ js: ".mjs"
412
+ } : {
413
+ js: ".cjs"
414
+ }, "outExtension"),
219
415
  skipNodeModulesBundle: true,
220
416
  sourcemap: true,
221
417
  target: "esnext"
222
418
  };
223
- return deepMergeObjects([standardOptions, ...options]);
224
- };
225
- var packageCompileTsup = async (config2) => {
419
+ return deepMergeObjects([
420
+ standardOptions,
421
+ ...options
422
+ ]);
423
+ }, "tsupOptions");
424
+ var packageCompileTsup = /* @__PURE__ */ __name(async (config2) => {
226
425
  const compile = config2?.compile;
227
426
  const verbose = config2?.verbose ?? false;
427
+ const outDirAsBuildDir = compile?.outDirAsBuildDir ?? true;
428
+ const bundleTypes = compile?.bundleTypes ?? false;
228
429
  if (verbose) {
229
- console.log(`Compiling with TSUP [Depth: ${compile?.depth}]`);
230
- }
231
- const compileForNode = compile?.node ?? { src: {} };
232
- const compileForBrowser = compile?.browser ?? { src: {} };
233
- const compileForNeutral = compile?.neutral ?? { src: {} };
234
- if (verbose) {
235
- console.log("Calling packageCompileTscTypes");
430
+ console.log("Compiling with TSUP");
236
431
  }
237
- return (await Promise.all(
238
- Object.entries(compileForNode).map(async ([folder, options]) => {
239
- const optionsObject = typeof options === "object" ? options : {};
240
- const inEsBuildOptions = typeof compile?.node?.esbuildOptions === "object" ? compile?.node?.esbuildOptions : {};
241
- return typeof folder === "string" ? await compileFolder(
242
- folder,
243
- buildEntries(folder, compile?.entryMode, options, true, verbose),
244
- tsupOptions([
245
- inEsBuildOptions,
246
- compile?.tsup?.options ?? {},
247
- typeof options === "object" ? options : {},
248
- { platform: "node", outDir: optionsObject.outDir ?? "dist/node" }
249
- ]),
250
- verbose
251
- ) : 0;
252
- })
253
- )).reduce((prev, value) => prev + value, 0) + (await Promise.all(
254
- Object.entries(compileForBrowser).map(async ([folder, options]) => {
255
- const optionsObject = typeof options === "object" ? options : {};
256
- const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === "object" ? compile?.browser?.esbuildOptions : {};
257
- return typeof folder === "string" ? await compileFolder(
258
- folder,
259
- buildEntries(folder, compile?.entryMode, options, true, verbose),
260
- tsupOptions([
261
- inEsBuildOptions,
262
- compile?.tsup?.options ?? {},
263
- typeof options === "object" ? options : {},
264
- { platform: "browser", outDir: optionsObject.outDir ?? "dist/browser" }
265
- ]),
266
- verbose
267
- ) : 0;
268
- })
269
- )).reduce((prev, value) => prev + value, 0) + (await Promise.all(
270
- Object.entries(compileForNeutral).map(async ([folder, options]) => {
271
- const optionsObject = typeof options === "object" ? options : {};
272
- const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === "object" ? compile?.neutral?.esbuildOptions : {};
273
- return typeof folder === "string" ? await compileFolder(
274
- folder,
275
- buildEntries(folder, compile?.entryMode, options, true, verbose),
276
- tsupOptions([
277
- inEsBuildOptions,
278
- compile?.tsup?.options ?? {},
279
- typeof options === "object" ? options : {},
280
- { platform: "neutral", outDir: optionsObject.outDir ?? "dist/neutral" }
281
- ]),
282
- verbose
283
- ) : 0;
284
- })
285
- )).reduce((prev, value) => prev + value, 0) + 0;
286
- };
432
+ const compileForNode = compile?.node ?? {
433
+ src: {}
434
+ };
435
+ const compileForBrowser = compile?.browser ?? {
436
+ src: {}
437
+ };
438
+ const compileForNeutral = compile?.neutral ?? {
439
+ src: {}
440
+ };
441
+ return (await Promise.all(Object.entries(compileForNode).map(async ([srcDir, options]) => {
442
+ const optionsObject = typeof options === "object" ? options : {};
443
+ const inEsBuildOptions = typeof compile?.node?.esbuildOptions === "object" ? compile?.node?.esbuildOptions : {};
444
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
445
+ const platform = "node";
446
+ const rootOutDir = optionsObject.outDir ?? "dist";
447
+ const outDir = rootOutDir + "/" + platform;
448
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
449
+ inEsBuildOptions,
450
+ compile?.tsup?.options ?? {},
451
+ typeof options === "object" ? options : {},
452
+ {
453
+ platform: "node",
454
+ outDir
455
+ }
456
+ ]), bundleTypes, verbose) : 0;
457
+ }))).reduce((prev, value) => prev + value, 0) + (await Promise.all(Object.entries(compileForBrowser).map(async ([srcDir, options]) => {
458
+ const optionsObject = typeof options === "object" ? options : {};
459
+ const inEsBuildOptions = typeof compile?.browser?.esbuildOptions === "object" ? compile?.browser?.esbuildOptions : {};
460
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
461
+ const platform = "browser";
462
+ const rootOutDir = optionsObject.outDir ?? "dist";
463
+ const outDir = rootOutDir + "/" + platform;
464
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
465
+ inEsBuildOptions,
466
+ compile?.tsup?.options ?? {},
467
+ typeof options === "object" ? options : {},
468
+ {
469
+ platform: "browser",
470
+ outDir
471
+ }
472
+ ]), bundleTypes, verbose) : 0;
473
+ }))).reduce((prev, value) => prev + value, 0) + (await Promise.all(Object.entries(compileForNeutral).map(async ([srcDir, options]) => {
474
+ const optionsObject = typeof options === "object" ? options : {};
475
+ const inEsBuildOptions = typeof compile?.neutral?.esbuildOptions === "object" ? compile?.neutral?.esbuildOptions : {};
476
+ const entry = buildEntries(srcDir, compile?.entryMode, options, true, verbose);
477
+ const platform = "neutral";
478
+ const rootOutDir = optionsObject.outDir ?? "dist";
479
+ const outDir = rootOutDir + "/" + platform;
480
+ return typeof srcDir === "string" ? await compileFolder(srcDir, entry, outDirAsBuildDir ? rootOutDir : "build", tsupOptions([
481
+ inEsBuildOptions,
482
+ compile?.tsup?.options ?? {},
483
+ typeof options === "object" ? options : {},
484
+ {
485
+ platform: "neutral",
486
+ outDir
487
+ }
488
+ ]), bundleTypes, verbose) : 0;
489
+ }))).reduce((prev, value) => prev + value, 0) + 0;
490
+ }, "packageCompileTsup");
287
491
 
288
492
  // src/actions/package/compile/compile.ts
289
- var packageCompile = async (inConfig = {}) => {
493
+ var packageCompile = /* @__PURE__ */ __name(async (inConfig = {}) => {
290
494
  const pkg = process.env.INIT_CWD;
291
- console.log(chalk3.green(`Compiling ${pkg}`));
495
+ console.log(chalk7.green(`Compiling ${pkg}`));
292
496
  const config2 = await loadConfig(inConfig);
293
497
  const publint = config2.publint;
294
498
  const tsupResults = await packageCompileTsup(config2);
@@ -296,15 +500,15 @@ var packageCompile = async (inConfig = {}) => {
296
500
  return tsupResults;
297
501
  }
298
502
  return publint ? await packagePublint(config2) : 0;
299
- };
503
+ }, "packageCompile");
300
504
 
301
505
  // src/bin/package/build-only.ts
302
- packageCompile({ verbose: true, publint: false }).then((value) => {
303
- if (value) {
506
+ packageCompile().then((value) => {
507
+ if (value !== 0) {
304
508
  process.exit(value);
305
509
  }
306
510
  }).catch((reason) => {
307
- console.error(chalk4.red(reason));
511
+ console.error(chalk8.red(reason));
308
512
  process.exit(-1);
309
513
  });
310
514
  //# sourceMappingURL=build-only.mjs.map