@xylabs/ts-scripts-yarn3 7.0.0-rc.9 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/dist/actions/build.mjs +87 -39
  2. package/dist/actions/build.mjs.map +1 -1
  3. package/dist/actions/clean-docs.mjs +22 -8
  4. package/dist/actions/clean-docs.mjs.map +1 -1
  5. package/dist/actions/clean-eslint.mjs +11 -5
  6. package/dist/actions/clean-eslint.mjs.map +1 -1
  7. package/dist/actions/clean-jest.mjs +29 -16
  8. package/dist/actions/clean-jest.mjs.map +1 -1
  9. package/dist/actions/clean.mjs +63 -32
  10. package/dist/actions/clean.mjs.map +1 -1
  11. package/dist/actions/compile.mjs +76 -50
  12. package/dist/actions/compile.mjs.map +1 -1
  13. package/dist/actions/copy-assets.mjs +38 -23
  14. package/dist/actions/copy-assets.mjs.map +1 -1
  15. package/dist/actions/cycle.mjs +57 -28
  16. package/dist/actions/cycle.mjs.map +1 -1
  17. package/dist/actions/dead.mjs +31 -16
  18. package/dist/actions/dead.mjs.map +1 -1
  19. package/dist/actions/deplint/checkPackage/checkPackage.mjs +84 -50
  20. package/dist/actions/deplint/checkPackage/checkPackage.mjs.map +1 -1
  21. package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs +7 -7
  22. package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs.map +1 -1
  23. package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs +6 -10
  24. package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs.map +1 -1
  25. package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs +5 -5
  26. package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs.map +1 -1
  27. package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs +4 -0
  28. package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs.map +1 -1
  29. package/dist/actions/deplint/checkPackage/index.mjs +84 -50
  30. package/dist/actions/deplint/checkPackage/index.mjs.map +1 -1
  31. package/dist/actions/deplint/deplint.mjs +120 -81
  32. package/dist/actions/deplint/deplint.mjs.map +1 -1
  33. package/dist/actions/deplint/findFiles.mjs +20 -4
  34. package/dist/actions/deplint/findFiles.mjs.map +1 -1
  35. package/dist/actions/deplint/findFilesByGlob.mjs +8 -1
  36. package/dist/actions/deplint/findFilesByGlob.mjs.map +1 -1
  37. package/dist/actions/deplint/getBasePackageName.mjs +4 -0
  38. package/dist/actions/deplint/getBasePackageName.mjs.map +1 -1
  39. package/dist/actions/deplint/getDependenciesFromPackageJson.mjs +4 -0
  40. package/dist/actions/deplint/getDependenciesFromPackageJson.mjs.map +1 -1
  41. package/dist/actions/deplint/getExternalImportsFromFiles.mjs +24 -12
  42. package/dist/actions/deplint/getExternalImportsFromFiles.mjs.map +1 -1
  43. package/dist/actions/deplint/getImportsFromFile.mjs +16 -9
  44. package/dist/actions/deplint/getImportsFromFile.mjs.map +1 -1
  45. package/dist/actions/deplint/index.mjs +120 -81
  46. package/dist/actions/deplint/index.mjs.map +1 -1
  47. package/dist/actions/deploy-major.mjs +57 -26
  48. package/dist/actions/deploy-major.mjs.map +1 -1
  49. package/dist/actions/deploy-minor.mjs +57 -26
  50. package/dist/actions/deploy-minor.mjs.map +1 -1
  51. package/dist/actions/deploy-next.mjs +57 -26
  52. package/dist/actions/deploy-next.mjs.map +1 -1
  53. package/dist/actions/deploy.mjs +57 -26
  54. package/dist/actions/deploy.mjs.map +1 -1
  55. package/dist/actions/dupdeps.mjs +37 -26
  56. package/dist/actions/dupdeps.mjs.map +1 -1
  57. package/dist/actions/fix.mjs +54 -36
  58. package/dist/actions/fix.mjs.map +1 -1
  59. package/dist/actions/gen-docs.mjs +65 -25
  60. package/dist/actions/gen-docs.mjs.map +1 -1
  61. package/dist/actions/gitignore-gen.mjs +44 -28
  62. package/dist/actions/gitignore-gen.mjs.map +1 -1
  63. package/dist/actions/gitlint-fix.mjs +14 -5
  64. package/dist/actions/gitlint-fix.mjs.map +1 -1
  65. package/dist/actions/gitlint.mjs +7 -4
  66. package/dist/actions/gitlint.mjs.map +1 -1
  67. package/dist/actions/index.mjs +1555 -966
  68. package/dist/actions/index.mjs.map +1 -1
  69. package/dist/actions/knip.mjs +31 -16
  70. package/dist/actions/knip.mjs.map +1 -1
  71. package/dist/actions/license.mjs +51 -37
  72. package/dist/actions/license.mjs.map +1 -1
  73. package/dist/actions/lint.mjs +48 -33
  74. package/dist/actions/lint.mjs.map +1 -1
  75. package/dist/actions/npmignore-gen.mjs +44 -28
  76. package/dist/actions/npmignore-gen.mjs.map +1 -1
  77. package/dist/actions/package/clean-outputs.mjs +16 -6
  78. package/dist/actions/package/clean-outputs.mjs.map +1 -1
  79. package/dist/actions/package/clean-typescript.mjs +16 -6
  80. package/dist/actions/package/clean-typescript.mjs.map +1 -1
  81. package/dist/actions/package/clean.mjs +29 -12
  82. package/dist/actions/package/clean.mjs.map +1 -1
  83. package/dist/actions/package/compile/buildEntries.mjs +36 -8
  84. package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
  85. package/dist/actions/package/compile/compile.mjs +341 -185
  86. package/dist/actions/package/compile/compile.mjs.map +1 -1
  87. package/dist/actions/package/compile/copyTypeFiles.mjs +23 -20
  88. package/dist/actions/package/compile/copyTypeFiles.mjs.map +1 -1
  89. package/dist/actions/package/compile/deepMerge.mjs +5 -0
  90. package/dist/actions/package/compile/deepMerge.mjs.map +1 -1
  91. package/dist/actions/package/compile/getCompilerOptions.mjs +9 -23
  92. package/dist/actions/package/compile/getCompilerOptions.mjs.map +1 -1
  93. package/dist/actions/package/compile/index.mjs +341 -267
  94. package/dist/actions/package/compile/index.mjs.map +1 -1
  95. package/dist/actions/package/compile/inputs.mjs +26 -3
  96. package/dist/actions/package/compile/inputs.mjs.map +1 -1
  97. package/dist/actions/package/compile/packageCompileTsc.mjs +57 -96
  98. package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
  99. package/dist/actions/package/compile/packageCompileTscTypes.mjs +94 -25
  100. package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
  101. package/dist/actions/package/compile/packageCompileTsup.mjs +321 -123
  102. package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
  103. package/dist/actions/package/copy-assets.mjs +21 -12
  104. package/dist/actions/package/copy-assets.mjs.map +1 -1
  105. package/dist/actions/package/cycle.mjs +16 -9
  106. package/dist/actions/package/cycle.mjs.map +1 -1
  107. package/dist/actions/package/gen-docs.mjs +13 -12
  108. package/dist/actions/package/gen-docs.mjs.map +1 -1
  109. package/dist/actions/package/index.mjs +507 -347
  110. package/dist/actions/package/index.mjs.map +1 -1
  111. package/dist/actions/package/lint.mjs +39 -16
  112. package/dist/actions/package/lint.mjs.map +1 -1
  113. package/dist/actions/package/publint.mjs +9 -6
  114. package/dist/actions/package/publint.mjs.map +1 -1
  115. package/dist/actions/package/recompile.mjs +371 -201
  116. package/dist/actions/package/recompile.mjs.map +1 -1
  117. package/dist/actions/publint.mjs +71 -37
  118. package/dist/actions/publint.mjs.map +1 -1
  119. package/dist/actions/rebuild.mjs +29 -17
  120. package/dist/actions/rebuild.mjs.map +1 -1
  121. package/dist/actions/recompile.mjs +67 -50
  122. package/dist/actions/recompile.mjs.map +1 -1
  123. package/dist/actions/reinstall.mjs +43 -25
  124. package/dist/actions/reinstall.mjs.map +1 -1
  125. package/dist/actions/relint.mjs +63 -40
  126. package/dist/actions/relint.mjs.map +1 -1
  127. package/dist/actions/retest.mjs +35 -17
  128. package/dist/actions/retest.mjs.map +1 -1
  129. package/dist/actions/sonar.mjs +32 -16
  130. package/dist/actions/sonar.mjs.map +1 -1
  131. package/dist/actions/statics.mjs +46 -27
  132. package/dist/actions/statics.mjs.map +1 -1
  133. package/dist/actions/test.mjs +30 -16
  134. package/dist/actions/test.mjs.map +1 -1
  135. package/dist/actions/up.mjs +27 -16
  136. package/dist/actions/up.mjs.map +1 -1
  137. package/dist/actions/updo.mjs +33 -18
  138. package/dist/actions/updo.mjs.map +1 -1
  139. package/dist/actions/upplug.mjs +53 -19
  140. package/dist/actions/upplug.mjs.map +1 -1
  141. package/dist/actions/upyarn.mjs +31 -16
  142. package/dist/actions/upyarn.mjs.map +1 -1
  143. package/dist/actions/yarn3only.mjs +23 -12
  144. package/dist/actions/yarn3only.mjs.map +1 -1
  145. package/dist/bin/package/build-only.mjs +346 -191
  146. package/dist/bin/package/build-only.mjs.map +1 -1
  147. package/dist/bin/package/build.mjs +348 -191
  148. package/dist/bin/package/build.mjs.map +1 -1
  149. package/dist/bin/package/clean-outputs.mjs +15 -6
  150. package/dist/bin/package/clean-outputs.mjs.map +1 -1
  151. package/dist/bin/package/clean-typescript.mjs +15 -6
  152. package/dist/bin/package/clean-typescript.mjs.map +1 -1
  153. package/dist/bin/package/clean.mjs +28 -12
  154. package/dist/bin/package/clean.mjs.map +1 -1
  155. package/dist/bin/package/compile-only.mjs +345 -190
  156. package/dist/bin/package/compile-only.mjs.map +1 -1
  157. package/dist/bin/package/compile-tsup.mjs +323 -126
  158. package/dist/bin/package/compile-tsup.mjs.map +1 -1
  159. package/dist/bin/package/compile.mjs +346 -191
  160. package/dist/bin/package/compile.mjs.map +1 -1
  161. package/dist/bin/package/copy-assets-cjs.mjs +23 -13
  162. package/dist/bin/package/copy-assets-cjs.mjs.map +1 -1
  163. package/dist/bin/package/copy-assets-esm.mjs +23 -13
  164. package/dist/bin/package/copy-assets-esm.mjs.map +1 -1
  165. package/dist/bin/package/cycle.mjs +17 -11
  166. package/dist/bin/package/cycle.mjs.map +1 -1
  167. package/dist/bin/package/fix.mjs +38 -16
  168. package/dist/bin/package/fix.mjs.map +1 -1
  169. package/dist/bin/package/gen-docs.mjs +12 -12
  170. package/dist/bin/package/gen-docs.mjs.map +1 -1
  171. package/dist/bin/package/lint.mjs +38 -16
  172. package/dist/bin/package/lint.mjs.map +1 -1
  173. package/dist/bin/package/publint.mjs +8 -6
  174. package/dist/bin/package/publint.mjs.map +1 -1
  175. package/dist/bin/package/recompile.mjs +372 -203
  176. package/dist/bin/package/recompile.mjs.map +1 -1
  177. package/dist/bin/package/relint.mjs +38 -16
  178. package/dist/bin/package/relint.mjs.map +1 -1
  179. package/dist/bin/xy.mjs +1351 -1075
  180. package/dist/bin/xy.mjs.map +1 -1
  181. package/dist/index.d.ts +133 -121
  182. package/dist/index.mjs +1908 -1460
  183. package/dist/index.mjs.map +1 -1
  184. package/dist/lib/checkResult.mjs +5 -2
  185. package/dist/lib/checkResult.mjs.map +1 -1
  186. package/dist/lib/createBuildConfig.mjs +24 -9
  187. package/dist/lib/createBuildConfig.mjs.map +1 -1
  188. package/dist/lib/defaultBuildConfig.mjs +6 -2
  189. package/dist/lib/defaultBuildConfig.mjs.map +1 -1
  190. package/dist/lib/deleteGlob.mjs +9 -3
  191. package/dist/lib/deleteGlob.mjs.map +1 -1
  192. package/dist/lib/dependencies/DuplicateDetector.mjs +23 -12
  193. package/dist/lib/dependencies/DuplicateDetector.mjs.map +1 -1
  194. package/dist/lib/dependencies/detectDuplicateDependencies.mjs +33 -22
  195. package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +1 -1
  196. package/dist/lib/dependencies/index.mjs +33 -22
  197. package/dist/lib/dependencies/index.mjs.map +1 -1
  198. package/dist/lib/file/ReadFileSyncOptions.mjs +3 -1
  199. package/dist/lib/file/ReadFileSyncOptions.mjs.map +1 -1
  200. package/dist/lib/file/constants.mjs.map +1 -1
  201. package/dist/lib/file/fileLines.mjs +13 -12
  202. package/dist/lib/file/fileLines.mjs.map +1 -1
  203. package/dist/lib/file/index.mjs +15 -14
  204. package/dist/lib/file/index.mjs.map +1 -1
  205. package/dist/lib/file/tryReadFileSync.mjs +8 -3
  206. package/dist/lib/file/tryReadFileSync.mjs.map +1 -1
  207. package/dist/lib/generateIgnoreFiles.mjs +43 -27
  208. package/dist/lib/generateIgnoreFiles.mjs.map +1 -1
  209. package/dist/lib/index.mjs +166 -106
  210. package/dist/lib/index.mjs.map +1 -1
  211. package/dist/lib/jsonFormatters.mjs +5 -2
  212. package/dist/lib/jsonFormatters.mjs.map +1 -1
  213. package/dist/lib/loadConfig.mjs +20 -10
  214. package/dist/lib/loadConfig.mjs.map +1 -1
  215. package/dist/lib/parsedPackageJSON.mjs +5 -2
  216. package/dist/lib/parsedPackageJSON.mjs.map +1 -1
  217. package/dist/lib/processEx.mjs +9 -6
  218. package/dist/lib/processEx.mjs.map +1 -1
  219. package/dist/lib/runSteps.mjs +19 -13
  220. package/dist/lib/runSteps.mjs.map +1 -1
  221. package/dist/lib/runStepsAsync.mjs +22 -22
  222. package/dist/lib/runStepsAsync.mjs.map +1 -1
  223. package/dist/lib/runXy.mjs +31 -19
  224. package/dist/lib/runXy.mjs.map +1 -1
  225. package/dist/lib/runXyWithWarning.mjs +5 -2
  226. package/dist/lib/runXyWithWarning.mjs.map +1 -1
  227. package/dist/lib/safeExit.mjs +13 -10
  228. package/dist/lib/safeExit.mjs.map +1 -1
  229. package/dist/lib/string/empty.mjs +5 -2
  230. package/dist/lib/string/empty.mjs.map +1 -1
  231. package/dist/lib/string/index.mjs +9 -3
  232. package/dist/lib/string/index.mjs.map +1 -1
  233. package/dist/lib/string/union.mjs +7 -1
  234. package/dist/lib/string/union.mjs.map +1 -1
  235. package/dist/lib/withErrnoException.mjs +7 -4
  236. package/dist/lib/withErrnoException.mjs.map +1 -1
  237. package/dist/lib/withError.mjs +5 -2
  238. package/dist/lib/withError.mjs.map +1 -1
  239. package/dist/lib/yarn/index.mjs +30 -11
  240. package/dist/lib/yarn/index.mjs.map +1 -1
  241. package/dist/lib/yarn/isYarnVersionOrGreater.mjs +15 -4
  242. package/dist/lib/yarn/isYarnVersionOrGreater.mjs.map +1 -1
  243. package/dist/lib/yarn/workspace/index.mjs +16 -5
  244. package/dist/lib/yarn/workspace/index.mjs.map +1 -1
  245. package/dist/lib/yarn/workspace/yarnWorkspace.mjs +16 -5
  246. package/dist/lib/yarn/workspace/yarnWorkspace.mjs.map +1 -1
  247. package/dist/lib/yarn/workspace/yarnWorkspaces.mjs +14 -3
  248. package/dist/lib/yarn/workspace/yarnWorkspaces.mjs.map +1 -1
  249. package/dist/lib/yarn/yarnInitCwd.mjs +5 -2
  250. package/dist/lib/yarn/yarnInitCwd.mjs.map +1 -1
  251. package/dist/loadPackageConfig.mjs +8 -3
  252. package/dist/loadPackageConfig.mjs.map +1 -1
  253. package/dist/xy/index.mjs +1351 -1074
  254. package/dist/xy/index.mjs.map +1 -1
  255. package/dist/xy/param.mjs +9 -3
  256. package/dist/xy/param.mjs.map +1 -1
  257. package/dist/xy/xy.mjs +1351 -1074
  258. package/dist/xy/xy.mjs.map +1 -1
  259. package/dist/xy/xyBuildCommands.mjs +324 -305
  260. package/dist/xy/xyBuildCommands.mjs.map +1 -1
  261. package/dist/xy/xyCommonCommands.mjs +336 -251
  262. package/dist/xy/xyCommonCommands.mjs.map +1 -1
  263. package/dist/xy/xyDeployCommands.mjs +161 -99
  264. package/dist/xy/xyDeployCommands.mjs.map +1 -1
  265. package/dist/xy/xyInstallCommands.mjs +193 -145
  266. package/dist/xy/xyInstallCommands.mjs.map +1 -1
  267. package/dist/xy/xyLintCommands.mjs +437 -321
  268. package/dist/xy/xyLintCommands.mjs.map +1 -1
  269. package/dist/xy/xyParseOptions.mjs +5 -2
  270. package/dist/xy/xyParseOptions.mjs.map +1 -1
  271. package/package.json +13 -12
  272. package/dist/actions/compile-types.mjs +0 -153
  273. package/dist/actions/compile-types.mjs.map +0 -1
@@ -1,39 +1,63 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
1
4
  // src/actions/deplint/deplint.ts
2
5
  import chalk5 from "chalk";
3
6
 
4
7
  // src/lib/yarn/workspace/yarnWorkspaces.ts
5
8
  import { spawnSync } from "child_process";
6
- var yarnWorkspaces = () => {
7
- const result = spawnSync("yarn", ["workspaces", "list", "--json", "--recursive"], { encoding: "utf8", shell: true });
9
+ var yarnWorkspaces = /* @__PURE__ */ __name(() => {
10
+ const result = spawnSync("yarn", [
11
+ "workspaces",
12
+ "list",
13
+ "--json",
14
+ "--recursive"
15
+ ], {
16
+ encoding: "utf8",
17
+ shell: true
18
+ });
8
19
  if (result.error) {
9
20
  throw result.error;
10
21
  }
11
22
  return result.stdout.toString().split("\n").slice(0, -1).map((item) => {
12
23
  return JSON.parse(item);
13
24
  });
14
- };
25
+ }, "yarnWorkspaces");
15
26
 
16
27
  // src/lib/yarn/workspace/yarnWorkspace.ts
17
- var yarnWorkspace = (pkg) => {
28
+ var yarnWorkspace = /* @__PURE__ */ __name((pkg) => {
18
29
  const workspace = yarnWorkspaces().find(({ name }) => name === pkg);
19
30
  if (!workspace) throw new Error(`Workspace ${pkg} not found`);
20
31
  return workspace;
21
- };
32
+ }, "yarnWorkspace");
22
33
 
23
34
  // src/actions/deplint/findFilesByGlob.ts
24
35
  import { globSync } from "glob";
25
36
  function findFilesByGlob(cwd, pattern) {
26
- return globSync(pattern, { cwd, absolute: true });
37
+ return globSync(pattern, {
38
+ cwd,
39
+ absolute: true
40
+ });
27
41
  }
42
+ __name(findFilesByGlob, "findFilesByGlob");
28
43
 
29
44
  // src/actions/deplint/findFiles.ts
30
45
  function findFiles(path3) {
31
- const allSourceInclude = ["./src/**/*.{ts,tsx}"];
32
- const allDistInclude = ["./dist/**/*.d.ts", "./dist/**/*.{mjs,js,cjs}"];
46
+ const allSourceInclude = [
47
+ "./src/**/*.{ts,tsx}"
48
+ ];
49
+ const allDistInclude = [
50
+ "./dist/**/*.d.ts",
51
+ "./dist/**/*.{mjs,js,cjs}"
52
+ ];
33
53
  const srcFiles = allSourceInclude.flatMap((pattern) => findFilesByGlob(path3, pattern));
34
54
  const distFiles = allDistInclude.flatMap((pattern) => findFilesByGlob(path3, pattern));
35
- return { srcFiles, distFiles };
55
+ return {
56
+ srcFiles,
57
+ distFiles
58
+ };
36
59
  }
60
+ __name(findFiles, "findFiles");
37
61
 
38
62
  // src/actions/deplint/getDependenciesFromPackageJson.ts
39
63
  import fs from "fs";
@@ -51,6 +75,7 @@ function getDependenciesFromPackageJson(packageJsonPath) {
51
75
  peerDependencies
52
76
  };
53
77
  }
78
+ __name(getDependenciesFromPackageJson, "getDependenciesFromPackageJson");
54
79
 
55
80
  // src/actions/deplint/getImportsFromFile.ts
56
81
  import fs2 from "fs";
@@ -66,18 +91,13 @@ function getBasePackageName(importName) {
66
91
  }
67
92
  return importNameScrubbed.split("/")[0];
68
93
  }
94
+ __name(getBasePackageName, "getBasePackageName");
69
95
 
70
96
  // src/actions/deplint/getImportsFromFile.ts
71
97
  function getImportsFromFile(filePath, importPaths, typeImportPaths) {
72
98
  const sourceCode = fs2.readFileSync(filePath, "utf8");
73
99
  const isMjsFile = filePath.endsWith(".mjs");
74
- const sourceFile = ts.createSourceFile(
75
- path2.basename(filePath),
76
- sourceCode,
77
- ts.ScriptTarget.Latest,
78
- true,
79
- isMjsFile ? ts.ScriptKind.JS : void 0
80
- );
100
+ const sourceFile = ts.createSourceFile(path2.basename(filePath), sourceCode, ts.ScriptTarget.Latest, true, isMjsFile ? ts.ScriptKind.JS : void 0);
81
101
  const imports = [];
82
102
  const typeImports = [];
83
103
  const isDeclarationFile = filePath.endsWith(".d.ts");
@@ -102,8 +122,13 @@ function getImportsFromFile(filePath, importPaths, typeImportPaths) {
102
122
  }
103
123
  ts.forEachChild(node, visit);
104
124
  }
125
+ __name(visit, "visit");
105
126
  visit(sourceFile);
106
- const importsStartsWithExcludes = [".", "#", "node:"];
127
+ const importsStartsWithExcludes = [
128
+ ".",
129
+ "#",
130
+ "node:"
131
+ ];
107
132
  const cleanedImports = imports.filter((imp) => !importsStartsWithExcludes.some((exc) => imp.startsWith(exc))).map(getBasePackageName);
108
133
  const cleanedTypeImports = typeImports.filter((imp) => !importsStartsWithExcludes.some((exc) => imp.startsWith(exc))).map(getBasePackageName);
109
134
  for (const imp of cleanedImports) {
@@ -114,14 +139,22 @@ function getImportsFromFile(filePath, importPaths, typeImportPaths) {
114
139
  typeImportPaths[imp] = typeImportPaths[imp] ?? [];
115
140
  typeImportPaths[imp].push(filePath);
116
141
  }
117
- return [cleanedImports, cleanedTypeImports];
142
+ return [
143
+ cleanedImports,
144
+ cleanedTypeImports
145
+ ];
118
146
  }
147
+ __name(getImportsFromFile, "getImportsFromFile");
119
148
 
120
149
  // src/actions/deplint/getExternalImportsFromFiles.ts
121
- var internalImportPrefixes = [".", "#", "node:"];
122
- var removeInternalImports = (imports) => {
150
+ var internalImportPrefixes = [
151
+ ".",
152
+ "#",
153
+ "node:"
154
+ ];
155
+ var removeInternalImports = /* @__PURE__ */ __name((imports) => {
123
156
  return imports.filter((imp) => !internalImportPrefixes.some((prefix) => imp.startsWith(prefix)));
124
- };
157
+ }, "removeInternalImports");
125
158
  function getExternalImportsFromFiles({ srcFiles, distFiles }) {
126
159
  const srcImportPaths = {};
127
160
  const distImportPaths = {};
@@ -147,25 +180,22 @@ function getExternalImportsFromFiles({ srcFiles, distFiles }) {
147
180
  externalDistTypeImports
148
181
  };
149
182
  }
183
+ __name(getExternalImportsFromFiles, "getExternalImportsFromFiles");
150
184
 
151
185
  // src/actions/deplint/checkPackage/getUnlistedDependencies.ts
152
186
  import { builtinModules } from "module";
153
187
  import chalk from "chalk";
154
- function getUnlistedDependencies({ name, location }, { dependencies, peerDependencies }, {
155
- externalDistImports,
156
- externalDistTypeImports,
157
- distImportPaths
158
- }) {
188
+ function getUnlistedDependencies({ name, location }, { dependencies, peerDependencies }, { externalDistImports, externalDistTypeImports, distImportPaths }) {
159
189
  let unlistedDependencies = 0;
160
190
  for (const imp of externalDistImports) {
161
- if (!dependencies.includes(imp) && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && !builtinModules.includes(`@types/${imp}`)) {
191
+ if (!dependencies.includes(imp) && imp !== name && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && !builtinModules.includes(`@types/${imp}`)) {
162
192
  unlistedDependencies++;
163
193
  console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`);
164
194
  console.log(` ${distImportPaths[imp].join("\n ")}`);
165
195
  }
166
196
  }
167
197
  for (const imp of externalDistTypeImports) {
168
- if (!dependencies.includes(imp) && dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && builtinModules.includes(`@types/${imp}`)) {
198
+ if (!dependencies.includes(imp) && imp !== name && dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && builtinModules.includes(`@types/${imp}`)) {
169
199
  unlistedDependencies++;
170
200
  console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`);
171
201
  console.log(` ${distImportPaths[imp].join("\n ")}`);
@@ -178,22 +208,15 @@ function getUnlistedDependencies({ name, location }, { dependencies, peerDepende
178
208
  }
179
209
  return unlistedDependencies;
180
210
  }
211
+ __name(getUnlistedDependencies, "getUnlistedDependencies");
181
212
 
182
213
  // src/actions/deplint/checkPackage/getUnlistedDevDependencies.ts
183
214
  import { builtinModules as builtinModules2 } from "module";
184
215
  import chalk2 from "chalk";
185
- function getUnlistedDevDependencies({ name, location }, {
186
- devDependencies,
187
- dependencies,
188
- peerDependencies
189
- }, {
190
- srcImportPaths,
191
- externalSrcImports,
192
- distImports
193
- }) {
216
+ function getUnlistedDevDependencies({ name, location }, { devDependencies, dependencies, peerDependencies }, { srcImportPaths, externalSrcImports, distImports }) {
194
217
  let unlistedDevDependencies = 0;
195
218
  for (const imp of externalSrcImports) {
196
- if (!distImports.includes(imp) && !dependencies.includes(imp) && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !devDependencies.includes(imp) && !devDependencies.includes(`@types/${imp}`) && !builtinModules2.includes(imp)) {
219
+ if (!distImports.includes(imp) && imp !== name && !dependencies.includes(imp) && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !devDependencies.includes(imp) && !devDependencies.includes(`@types/${imp}`) && !builtinModules2.includes(imp)) {
197
220
  unlistedDevDependencies++;
198
221
  console.log(`[${chalk2.blue(name)}] Missing devDependency in package.json: ${chalk2.red(imp)}`);
199
222
  console.log(` ${srcImportPaths[imp].join("\n ")}`);
@@ -206,14 +229,11 @@ function getUnlistedDevDependencies({ name, location }, {
206
229
  }
207
230
  return unlistedDevDependencies;
208
231
  }
232
+ __name(getUnlistedDevDependencies, "getUnlistedDevDependencies");
209
233
 
210
234
  // src/actions/deplint/checkPackage/getUnusedDependencies.ts
211
235
  import chalk3 from "chalk";
212
- function getUnusedDependencies({ name, location }, { dependencies }, {
213
- externalDistImports,
214
- externalDistTypeImports,
215
- externalSrcImports
216
- }) {
236
+ function getUnusedDependencies({ name, location }, { dependencies }, { externalDistImports, externalDistTypeImports, externalSrcImports }) {
217
237
  let unusedDependencies = 0;
218
238
  for (const dep of dependencies) {
219
239
  if (!externalDistImports.includes(dep) && !externalDistImports.includes(dep.replace(/^@types\//, "")) && !externalDistTypeImports.includes(dep) && !externalDistTypeImports.includes(dep.replace(/^@types\//, ""))) {
@@ -232,6 +252,7 @@ function getUnusedDependencies({ name, location }, { dependencies }, {
232
252
  }
233
253
  return unusedDependencies;
234
254
  }
255
+ __name(getUnusedDependencies, "getUnusedDependencies");
235
256
 
236
257
  // src/actions/deplint/checkPackage/getUnusedPeerDependencies.ts
237
258
  import chalk4 from "chalk";
@@ -254,66 +275,84 @@ function getUnusedPeerDependencies({ name, location }, { peerDependencies, depen
254
275
  }
255
276
  return unusedDependencies;
256
277
  }
278
+ __name(getUnusedPeerDependencies, "getUnusedPeerDependencies");
257
279
 
258
280
  // src/actions/deplint/checkPackage/checkPackage.ts
259
- function checkPackage({
260
- name,
261
- location,
262
- deps = false,
263
- devDeps = false,
264
- peerDeps = false
265
- }) {
281
+ function checkPackage({ name, location, deps = false, devDeps = false, peerDeps = false, verbose = false }) {
266
282
  const { srcFiles, distFiles } = findFiles(location);
283
+ if (verbose) {
284
+ console.info(`Checking package: ${name} at ${location}`);
285
+ console.info(`Source files: ${srcFiles.length}, Distribution files: ${distFiles.length}`);
286
+ for (const file of srcFiles) {
287
+ console.info(`Source file: ${file}`);
288
+ }
289
+ for (const file of distFiles) {
290
+ console.info(`Distribution file: ${file}`);
291
+ }
292
+ }
267
293
  const checkDeps = deps || !(deps || devDeps || peerDeps);
268
294
  const checkDevDeps = devDeps || !(deps || devDeps || peerDeps);
269
295
  const checkPeerDeps = peerDeps;
270
- const sourceParams = getExternalImportsFromFiles({ srcFiles, distFiles });
296
+ const sourceParams = getExternalImportsFromFiles({
297
+ srcFiles,
298
+ distFiles
299
+ });
271
300
  const packageParams = getDependenciesFromPackageJson(`${location}/package.json`);
272
- const unlistedDependencies = checkDeps ? getUnlistedDependencies({ name, location }, packageParams, sourceParams) : 0;
273
- const unusedDependencies = checkDeps ? getUnusedDependencies({ name, location }, packageParams, sourceParams) : 0;
274
- const unlistedDevDependencies = checkDevDeps ? getUnlistedDevDependencies({ name, location }, packageParams, sourceParams) : 0;
275
- const unusedPeerDependencies = checkPeerDeps ? getUnusedPeerDependencies({ name, location }, packageParams, sourceParams) : 0;
301
+ const unlistedDependencies = checkDeps ? getUnlistedDependencies({
302
+ name,
303
+ location
304
+ }, packageParams, sourceParams) : 0;
305
+ const unusedDependencies = checkDeps ? getUnusedDependencies({
306
+ name,
307
+ location
308
+ }, packageParams, sourceParams) : 0;
309
+ const unlistedDevDependencies = checkDevDeps ? getUnlistedDevDependencies({
310
+ name,
311
+ location
312
+ }, packageParams, sourceParams) : 0;
313
+ const unusedPeerDependencies = checkPeerDeps ? getUnusedPeerDependencies({
314
+ name,
315
+ location
316
+ }, packageParams, sourceParams) : 0;
276
317
  const totalErrors = unlistedDependencies + unlistedDevDependencies + unusedDependencies + unusedPeerDependencies;
277
318
  return totalErrors;
278
319
  }
320
+ __name(checkPackage, "checkPackage");
279
321
 
280
322
  // src/actions/deplint/deplint.ts
281
- var deplint = ({
282
- pkg,
283
- deps,
284
- devDeps,
285
- peerDeps
286
- }) => {
287
- if (pkg) {
288
- const { location, name } = yarnWorkspace(pkg);
289
- console.log(`Running Deplint for ${name}`);
290
- checkPackage({
291
- name,
292
- location,
293
- devDeps,
294
- deps,
295
- peerDeps
296
- });
297
- } else {
323
+ var deplint = /* @__PURE__ */ __name(({ pkg, deps, devDeps, peerDeps, verbose }) => {
324
+ let totalErrors = 0;
325
+ if (pkg === void 0) {
298
326
  const workspaces = yarnWorkspaces();
299
- console.log("Deplint Started...");
300
- let totalErrors = 0;
327
+ console.info("Deplint Started...");
301
328
  for (const workspace of workspaces) {
302
329
  totalErrors += checkPackage({
303
330
  ...workspace,
304
331
  deps,
305
332
  devDeps,
306
- peerDeps
333
+ peerDeps,
334
+ verbose
307
335
  });
308
336
  }
309
- if (totalErrors > 0) {
310
- console.log(`Deplint: Found ${chalk5.red(totalErrors)} dependency problems. ${chalk5.red("\u2716")}`);
311
- } else {
312
- console.log(`Deplint: Found no dependency problems. ${chalk5.green("\u2714")}`);
313
- }
337
+ } else {
338
+ const { location, name } = yarnWorkspace(pkg);
339
+ console.info(`Running Deplint for ${name}`);
340
+ totalErrors += checkPackage({
341
+ name,
342
+ location,
343
+ devDeps,
344
+ deps,
345
+ peerDeps,
346
+ verbose
347
+ });
348
+ }
349
+ if (totalErrors > 0) {
350
+ console.warn(`Deplint: Found ${chalk5.red(totalErrors)} dependency problems. ${chalk5.red("\u2716")}`);
351
+ } else {
352
+ console.info(`Deplint: Found no dependency problems. ${chalk5.green("\u2714")}`);
314
353
  }
315
354
  return 0;
316
- };
355
+ }, "deplint");
317
356
  export {
318
357
  deplint
319
358
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/actions/deplint/deplint.ts","../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/lib/yarn/workspace/yarnWorkspace.ts","../../../src/actions/deplint/findFilesByGlob.ts","../../../src/actions/deplint/findFiles.ts","../../../src/actions/deplint/getDependenciesFromPackageJson.ts","../../../src/actions/deplint/getImportsFromFile.ts","../../../src/actions/deplint/getBasePackageName.ts","../../../src/actions/deplint/getExternalImportsFromFiles.ts","../../../src/actions/deplint/checkPackage/getUnlistedDependencies.ts","../../../src/actions/deplint/checkPackage/getUnlistedDevDependencies.ts","../../../src/actions/deplint/checkPackage/getUnusedDependencies.ts","../../../src/actions/deplint/checkPackage/getUnusedPeerDependencies.ts","../../../src/actions/deplint/checkPackage/checkPackage.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { yarnWorkspace, yarnWorkspaces } from '../../lib/index.ts'\nimport { checkPackage } from './checkPackage/index.ts'\n\nexport const deplint = ({\n pkg, deps, devDeps, peerDeps,\n}: { deps: boolean; devDeps: boolean; peerDeps: boolean; pkg: string }) => {\n if (pkg) {\n const { location, name } = yarnWorkspace(pkg)\n\n console.log(`Running Deplint for ${name}`)\n checkPackage({\n name, location, devDeps, deps, peerDeps,\n })\n } else {\n const workspaces = yarnWorkspaces()\n\n console.log('Deplint Started...')\n\n let totalErrors = 0\n\n for (const workspace of workspaces) {\n totalErrors += checkPackage({\n ...workspace, deps, devDeps, peerDeps,\n })\n }\n\n if (totalErrors > 0) {\n console.log(`Deplint: Found ${chalk.red(totalErrors)} dependency problems. ${chalk.red('✖')}`)\n } else {\n console.log(`Deplint: Found no dependency problems. ${chalk.green('✔')}`)\n }\n }\n return 0\n}\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import type { Workspace } from './Workspace.ts'\nimport { yarnWorkspaces } from './yarnWorkspaces.ts'\n\nexport const yarnWorkspace = (pkg: string): Workspace => {\n const workspace = yarnWorkspaces().find(({ name }) => name === pkg)\n if (!workspace) throw new Error(`Workspace ${pkg} not found`)\n return workspace\n}\n","import { globSync } from 'glob'\n\nexport function findFilesByGlob(cwd: string, pattern: string) {\n return globSync(pattern, { cwd, absolute: true })\n}\n","import { findFilesByGlob } from './findFilesByGlob.ts'\n\nexport function findFiles(path: string) {\n const allSourceInclude = ['./src/**/*.{ts,tsx}']\n const allDistInclude = ['./dist/**/*.d.ts', './dist/**/*.{mjs,js,cjs}']\n const srcFiles = allSourceInclude.flatMap(pattern => findFilesByGlob(path, pattern))\n const distFiles = allDistInclude.flatMap(pattern => findFilesByGlob(path, pattern))\n\n return { srcFiles, distFiles }\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nexport function getDependenciesFromPackageJson(packageJsonPath: string) {\n const packageJsonFullPath = path.resolve(packageJsonPath)\n const rawContent = fs.readFileSync(packageJsonFullPath, 'utf8')\n const packageJson = JSON.parse(rawContent)\n\n const dependencies = packageJson.dependencies\n ? Object.keys(packageJson.dependencies)\n : []\n\n const devDependencies = packageJson.devDependencies\n ? Object.keys(packageJson.devDependencies)\n : []\n\n const peerDependencies = packageJson.peerDependencies\n ? Object.keys(packageJson.peerDependencies)\n : []\n\n return {\n dependencies, devDependencies, peerDependencies,\n }\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport ts from 'typescript'\n\nimport { getBasePackageName } from './getBasePackageName.ts'\n\nexport function getImportsFromFile(filePath: string, importPaths: Record<string, string[]>, typeImportPaths: Record<string, string[]>) {\n const sourceCode = fs.readFileSync(filePath, 'utf8')\n\n const isMjsFile = filePath.endsWith('.mjs')\n\n const sourceFile = ts.createSourceFile(\n path.basename(filePath),\n sourceCode,\n ts.ScriptTarget.Latest,\n true,\n isMjsFile ? ts.ScriptKind.JS : undefined,\n )\n\n const imports: string[] = []\n const typeImports: string[] = []\n\n const isDeclarationFile = filePath.endsWith('.d.ts')\n\n function visit(node: ts.Node) {\n if (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) {\n const moduleSpecifier = (node.moduleSpecifier)?.getFullText()\n const isTypeImport = ts.isImportDeclaration(node) ? (node.importClause?.isTypeOnly ?? false) : false\n if (typeof moduleSpecifier === 'string') {\n const trimmed = moduleSpecifier.replaceAll(\"'\", '').replaceAll('\"', '').trim()\n // we are determining if the type import is being imported in an exported d.ts file\n if (isTypeImport || isDeclarationFile) {\n typeImports.push(trimmed)\n } else {\n imports.push(trimmed)\n }\n }\n } else if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {\n const [arg] = node.arguments\n if (ts.isStringLiteral(arg)) {\n const trimmed = arg.text\n imports.push(trimmed)\n }\n }\n ts.forEachChild(node, visit)\n }\n\n visit(sourceFile)\n\n const importsStartsWithExcludes = ['.', '#', 'node:']\n\n const cleanedImports = imports.filter(imp => !importsStartsWithExcludes.some(exc => imp.startsWith(exc))).map(getBasePackageName)\n const cleanedTypeImports = typeImports.filter(imp => !importsStartsWithExcludes.some(exc => imp.startsWith(exc))).map(getBasePackageName)\n\n for (const imp of cleanedImports) {\n importPaths[imp] = importPaths[imp] ?? []\n importPaths[imp].push(filePath)\n }\n\n for (const imp of cleanedTypeImports) {\n typeImportPaths[imp] = typeImportPaths[imp] ?? []\n typeImportPaths[imp].push(filePath)\n }\n\n return [cleanedImports, cleanedTypeImports]\n}\n","export function getBasePackageName(importName: string) {\n const importNameScrubbed = importName.replaceAll('\"', '').trim()\n if (importNameScrubbed.startsWith('@')) {\n const parts = importNameScrubbed.split('/')\n return parts.length >= 2 ? `${parts[0]}/${parts[1]}` : importNameScrubbed\n }\n return importNameScrubbed.split('/')[0]\n}\n","import type { CheckSourceParams } from './checkPackage/index.ts'\nimport { getImportsFromFile } from './getImportsFromFile.ts'\n\nconst internalImportPrefixes = ['.', '#', 'node:']\n\nconst removeInternalImports = (imports: string[]) => {\n return imports.filter(imp => !internalImportPrefixes.some(prefix => imp.startsWith(prefix)))\n}\n\nexport function getExternalImportsFromFiles({ srcFiles, distFiles }: { distFiles: string []; srcFiles: string[] }): CheckSourceParams {\n const srcImportPaths: Record<string, string[]> = {}\n const distImportPaths: Record<string, string[]> = {}\n const distTypeImportPaths: Record<string, string[]> = {}\n for (const path of srcFiles) getImportsFromFile(path, srcImportPaths, srcImportPaths).flat()\n const distTypeFiles = distFiles.filter(file => file.endsWith('.d.ts') || file.endsWith('.d.cts') || file.endsWith('.d.mts'))\n const distCodeFiles = distFiles.filter(file => !(file.endsWith('.d.ts') || file.endsWith('.d.cts') || file.endsWith('.d.mts')))\n for (const path of distCodeFiles) getImportsFromFile(path, distImportPaths, distImportPaths).flat()\n for (const path of distTypeFiles) getImportsFromFile(path, distTypeImportPaths, distTypeImportPaths).flat()\n const srcImports = Object.keys(srcImportPaths)\n const distImports = Object.keys(distImportPaths)\n const distTypeImports = Object.keys(distTypeImportPaths)\n\n const externalSrcImports = removeInternalImports(srcImports)\n const externalDistImports = removeInternalImports(distImports)\n const externalDistTypeImports = removeInternalImports(distTypeImports)\n\n return {\n srcImports,\n srcImportPaths,\n externalSrcImports,\n distImports,\n distImportPaths,\n externalDistImports,\n externalDistTypeImports,\n }\n}\n","import { builtinModules } from 'node:module'\n\nimport chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnlistedDependencies(\n { name, location }: Workspace,\n { dependencies, peerDependencies }: CheckPackageParams,\n {\n externalDistImports, externalDistTypeImports, distImportPaths,\n }: CheckSourceParams,\n) {\n let unlistedDependencies = 0\n\n for (const imp of externalDistImports) {\n if (!dependencies.includes(imp)\n && !dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && !peerDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n && !builtinModules.includes(`@types/${imp}`)) {\n unlistedDependencies++\n console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${distImportPaths[imp].join('\\n ')}`)\n }\n }\n\n for (const imp of externalDistTypeImports) {\n if (!dependencies.includes(imp)\n && dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && peerDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n && builtinModules.includes(`@types/${imp}`)) {\n unlistedDependencies++\n console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${distImportPaths[imp].join('\\n ')}`)\n }\n }\n\n if (unlistedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unlistedDependencies\n}\n","import { builtinModules } from 'node:module'\n\nimport chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnlistedDevDependencies(\n { name, location }: Workspace,\n {\n devDependencies, dependencies, peerDependencies,\n }: CheckPackageParams,\n {\n srcImportPaths, externalSrcImports, distImports,\n }: CheckSourceParams,\n) {\n let unlistedDevDependencies = 0\n for (const imp of externalSrcImports) {\n if (!distImports.includes(imp)\n && !dependencies.includes(imp)\n && !dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && !peerDependencies.includes(`@types/${imp}`)\n && !devDependencies.includes(imp)\n && !devDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n ) {\n unlistedDevDependencies++\n console.log(`[${chalk.blue(name)}] Missing devDependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${srcImportPaths[imp].join('\\n ')}`)\n }\n }\n if (unlistedDevDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unlistedDevDependencies\n}\n","import chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnusedDependencies(\n { name, location }: Workspace,\n { dependencies }: CheckPackageParams,\n {\n externalDistImports,\n externalDistTypeImports,\n externalSrcImports,\n }: CheckSourceParams,\n) {\n let unusedDependencies = 0\n for (const dep of dependencies) {\n if (!externalDistImports.includes(dep)\n && !externalDistImports.includes(dep.replace(/^@types\\//, ''))\n && !externalDistTypeImports.includes(dep)\n && !externalDistTypeImports.includes(dep.replace(/^@types\\//, ''))) {\n unusedDependencies++\n if (externalSrcImports.includes(dep)) {\n console.log(`[${chalk.blue(name)}] dependency should be devDependency in package.json: ${chalk.red(dep)}`)\n } else {\n console.log(`[${chalk.blue(name)}] Unused dependency in package.json: ${chalk.red(dep)}`)\n }\n }\n }\n if (unusedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unusedDependencies\n}\n","import chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnusedPeerDependencies(\n { name, location }: Workspace,\n { peerDependencies, dependencies }: CheckPackageParams,\n { externalDistImports, externalDistTypeImports }: CheckSourceParams,\n) {\n let unusedDependencies = 0\n for (const dep of peerDependencies) {\n if (!externalDistImports.includes(dep) && !externalDistImports.includes(dep.replace(/^@types\\//, ''))\n && !externalDistTypeImports.includes(dep) && !externalDistTypeImports.includes(dep.replace(/^@types\\//, ''))) {\n unusedDependencies++\n if (dependencies.includes(dep)) {\n console.log(`[${chalk.blue(name)}] Unused peerDependency [already a dependency] in package.json: ${chalk.red(dep)}`)\n } else {\n console.log(`[${chalk.blue(name)}] Unused peerDependency in package.json: ${chalk.red(dep)}`)\n }\n }\n }\n if (unusedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unusedDependencies\n}\n","import type { Workspace } from '../../../lib/index.ts'\nimport { findFiles } from '../findFiles.ts'\nimport { getDependenciesFromPackageJson } from '../getDependenciesFromPackageJson.ts'\nimport { getExternalImportsFromFiles } from '../getExternalImportsFromFiles.ts'\nimport { getUnlistedDependencies } from './getUnlistedDependencies.ts'\nimport { getUnlistedDevDependencies } from './getUnlistedDevDependencies.ts'\nimport { getUnusedDependencies } from './getUnusedDependencies.ts'\nimport { getUnusedPeerDependencies } from './getUnusedPeerDependencies.ts'\n\nexport interface CheckPackageOptions extends Workspace {\n deps?: boolean\n devDeps?: boolean\n peerDeps?: boolean\n}\n\nexport function checkPackage({\n name, location, deps = false, devDeps = false, peerDeps = false,\n}: CheckPackageOptions) {\n const { srcFiles, distFiles } = findFiles(location)\n const checkDeps = deps || !(deps || devDeps || peerDeps)\n const checkDevDeps = devDeps || !(deps || devDeps || peerDeps)\n const checkPeerDeps = peerDeps // || !(deps || devDeps || peerDeps)\n const sourceParams = getExternalImportsFromFiles({ srcFiles, distFiles })\n\n const packageParams = getDependenciesFromPackageJson(`${location}/package.json`)\n\n const unlistedDependencies = checkDeps ? getUnlistedDependencies({ name, location }, packageParams, sourceParams) : 0\n const unusedDependencies = checkDeps ? getUnusedDependencies({ name, location }, packageParams, sourceParams) : 0\n const unlistedDevDependencies = checkDevDeps ? getUnlistedDevDependencies({ name, location }, packageParams, sourceParams) : 0\n const unusedPeerDependencies = checkPeerDeps ? getUnusedPeerDependencies({ name, location }, packageParams, sourceParams) : 0\n\n const totalErrors = unlistedDependencies + unlistedDevDependencies + unusedDependencies + unusedPeerDependencies\n return totalErrors\n}\n"],"mappings":"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","names":["chalk","path","fs","path","fs","path","path","builtinModules","chalk","chalk","chalk","chalk"]}
1
+ {"version":3,"sources":["../../../src/actions/deplint/deplint.ts","../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/lib/yarn/workspace/yarnWorkspace.ts","../../../src/actions/deplint/findFilesByGlob.ts","../../../src/actions/deplint/findFiles.ts","../../../src/actions/deplint/getDependenciesFromPackageJson.ts","../../../src/actions/deplint/getImportsFromFile.ts","../../../src/actions/deplint/getBasePackageName.ts","../../../src/actions/deplint/getExternalImportsFromFiles.ts","../../../src/actions/deplint/checkPackage/getUnlistedDependencies.ts","../../../src/actions/deplint/checkPackage/getUnlistedDevDependencies.ts","../../../src/actions/deplint/checkPackage/getUnusedDependencies.ts","../../../src/actions/deplint/checkPackage/getUnusedPeerDependencies.ts","../../../src/actions/deplint/checkPackage/checkPackage.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { yarnWorkspace, yarnWorkspaces } from '../../lib/index.ts'\nimport type { CheckPackageOptions } from './checkPackage/index.ts'\nimport { checkPackage } from './checkPackage/index.ts'\n\nexport interface DepLintOptions extends CheckPackageOptions {\n pkg?: string\n}\n\nexport const deplint = ({\n pkg, deps, devDeps, peerDeps, verbose,\n}: DepLintOptions) => {\n let totalErrors = 0\n\n if (pkg === undefined) {\n const workspaces = yarnWorkspaces()\n\n console.info('Deplint Started...')\n\n for (const workspace of workspaces) {\n totalErrors += checkPackage({\n ...workspace, deps, devDeps, peerDeps, verbose,\n })\n }\n } else {\n const { location, name } = yarnWorkspace(pkg)\n\n console.info(`Running Deplint for ${name}`)\n totalErrors += checkPackage({\n name, location, devDeps, deps, peerDeps, verbose,\n })\n }\n\n if (totalErrors > 0) {\n console.warn(`Deplint: Found ${chalk.red(totalErrors)} dependency problems. ${chalk.red('✖')}`)\n } else {\n console.info(`Deplint: Found no dependency problems. ${chalk.green('✔')}`)\n }\n return 0\n}\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import type { Workspace } from './Workspace.ts'\nimport { yarnWorkspaces } from './yarnWorkspaces.ts'\n\nexport const yarnWorkspace = (pkg: string): Workspace => {\n const workspace = yarnWorkspaces().find(({ name }) => name === pkg)\n if (!workspace) throw new Error(`Workspace ${pkg} not found`)\n return workspace\n}\n","import { globSync } from 'glob'\n\nexport function findFilesByGlob(cwd: string, pattern: string) {\n return globSync(pattern, { cwd, absolute: true })\n}\n","import { findFilesByGlob } from './findFilesByGlob.ts'\n\nexport function findFiles(path: string) {\n const allSourceInclude = ['./src/**/*.{ts,tsx}']\n const allDistInclude = ['./dist/**/*.d.ts', './dist/**/*.{mjs,js,cjs}']\n const srcFiles = allSourceInclude.flatMap(pattern => findFilesByGlob(path, pattern))\n const distFiles = allDistInclude.flatMap(pattern => findFilesByGlob(path, pattern))\n\n return { srcFiles, distFiles }\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nexport function getDependenciesFromPackageJson(packageJsonPath: string) {\n const packageJsonFullPath = path.resolve(packageJsonPath)\n const rawContent = fs.readFileSync(packageJsonFullPath, 'utf8')\n const packageJson = JSON.parse(rawContent)\n\n const dependencies = packageJson.dependencies\n ? Object.keys(packageJson.dependencies)\n : []\n\n const devDependencies = packageJson.devDependencies\n ? Object.keys(packageJson.devDependencies)\n : []\n\n const peerDependencies = packageJson.peerDependencies\n ? Object.keys(packageJson.peerDependencies)\n : []\n\n return {\n dependencies, devDependencies, peerDependencies,\n }\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport ts from 'typescript'\n\nimport { getBasePackageName } from './getBasePackageName.ts'\n\nexport function getImportsFromFile(filePath: string, importPaths: Record<string, string[]>, typeImportPaths: Record<string, string[]>) {\n const sourceCode = fs.readFileSync(filePath, 'utf8')\n\n const isMjsFile = filePath.endsWith('.mjs')\n\n const sourceFile = ts.createSourceFile(\n path.basename(filePath),\n sourceCode,\n ts.ScriptTarget.Latest,\n true,\n isMjsFile ? ts.ScriptKind.JS : undefined,\n )\n\n const imports: string[] = []\n const typeImports: string[] = []\n\n const isDeclarationFile = filePath.endsWith('.d.ts')\n\n function visit(node: ts.Node) {\n if (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) {\n const moduleSpecifier = (node.moduleSpecifier)?.getFullText()\n const isTypeImport = ts.isImportDeclaration(node) ? (node.importClause?.isTypeOnly ?? false) : false\n if (typeof moduleSpecifier === 'string') {\n const trimmed = moduleSpecifier.replaceAll(\"'\", '').replaceAll('\"', '').trim()\n // we are determining if the type import is being imported in an exported d.ts file\n if (isTypeImport || isDeclarationFile) {\n typeImports.push(trimmed)\n } else {\n imports.push(trimmed)\n }\n }\n } else if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {\n const [arg] = node.arguments\n if (ts.isStringLiteral(arg)) {\n const trimmed = arg.text\n imports.push(trimmed)\n }\n }\n ts.forEachChild(node, visit)\n }\n\n visit(sourceFile)\n\n const importsStartsWithExcludes = ['.', '#', 'node:']\n\n const cleanedImports = imports.filter(imp => !importsStartsWithExcludes.some(exc => imp.startsWith(exc))).map(getBasePackageName)\n const cleanedTypeImports = typeImports.filter(imp => !importsStartsWithExcludes.some(exc => imp.startsWith(exc))).map(getBasePackageName)\n\n for (const imp of cleanedImports) {\n importPaths[imp] = importPaths[imp] ?? []\n importPaths[imp].push(filePath)\n }\n\n for (const imp of cleanedTypeImports) {\n typeImportPaths[imp] = typeImportPaths[imp] ?? []\n typeImportPaths[imp].push(filePath)\n }\n\n return [cleanedImports, cleanedTypeImports]\n}\n","export function getBasePackageName(importName: string) {\n const importNameScrubbed = importName.replaceAll('\"', '').trim()\n if (importNameScrubbed.startsWith('@')) {\n const parts = importNameScrubbed.split('/')\n return parts.length >= 2 ? `${parts[0]}/${parts[1]}` : importNameScrubbed\n }\n return importNameScrubbed.split('/')[0]\n}\n","import type { CheckSourceParams } from './checkPackage/index.ts'\nimport { getImportsFromFile } from './getImportsFromFile.ts'\n\nconst internalImportPrefixes = ['.', '#', 'node:']\n\nconst removeInternalImports = (imports: string[]) => {\n return imports.filter(imp => !internalImportPrefixes.some(prefix => imp.startsWith(prefix)))\n}\n\nexport function getExternalImportsFromFiles({ srcFiles, distFiles }: { distFiles: string []; srcFiles: string[] }): CheckSourceParams {\n const srcImportPaths: Record<string, string[]> = {}\n const distImportPaths: Record<string, string[]> = {}\n const distTypeImportPaths: Record<string, string[]> = {}\n for (const path of srcFiles) getImportsFromFile(path, srcImportPaths, srcImportPaths).flat()\n const distTypeFiles = distFiles.filter(file => file.endsWith('.d.ts') || file.endsWith('.d.cts') || file.endsWith('.d.mts'))\n const distCodeFiles = distFiles.filter(file => !(file.endsWith('.d.ts') || file.endsWith('.d.cts') || file.endsWith('.d.mts')))\n for (const path of distCodeFiles) getImportsFromFile(path, distImportPaths, distImportPaths).flat()\n for (const path of distTypeFiles) getImportsFromFile(path, distTypeImportPaths, distTypeImportPaths).flat()\n const srcImports = Object.keys(srcImportPaths)\n const distImports = Object.keys(distImportPaths)\n const distTypeImports = Object.keys(distTypeImportPaths)\n\n const externalSrcImports = removeInternalImports(srcImports)\n const externalDistImports = removeInternalImports(distImports)\n const externalDistTypeImports = removeInternalImports(distTypeImports)\n\n return {\n srcImports,\n srcImportPaths,\n externalSrcImports,\n distImports,\n distImportPaths,\n externalDistImports,\n externalDistTypeImports,\n }\n}\n","import { builtinModules } from 'node:module'\n\nimport chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnlistedDependencies(\n { name, location }: Workspace,\n { dependencies, peerDependencies }: CheckPackageParams,\n {\n externalDistImports, externalDistTypeImports, distImportPaths,\n }: CheckSourceParams,\n) {\n let unlistedDependencies = 0\n\n for (const imp of externalDistImports) {\n if (!dependencies.includes(imp)\n && imp !== name\n && !dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && !peerDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n && !builtinModules.includes(`@types/${imp}`)) {\n unlistedDependencies++\n console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${distImportPaths[imp].join('\\n ')}`)\n }\n }\n\n for (const imp of externalDistTypeImports) {\n if (!dependencies.includes(imp)\n && imp !== name\n && dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && peerDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n && builtinModules.includes(`@types/${imp}`)) {\n unlistedDependencies++\n console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${distImportPaths[imp].join('\\n ')}`)\n }\n }\n\n if (unlistedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unlistedDependencies\n}\n","import { builtinModules } from 'node:module'\n\nimport chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnlistedDevDependencies(\n { name, location }: Workspace,\n {\n devDependencies, dependencies, peerDependencies,\n }: CheckPackageParams,\n {\n srcImportPaths, externalSrcImports, distImports,\n }: CheckSourceParams,\n) {\n let unlistedDevDependencies = 0\n for (const imp of externalSrcImports) {\n if (!distImports.includes(imp)\n && imp !== name\n && !dependencies.includes(imp)\n && !dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && !peerDependencies.includes(`@types/${imp}`)\n && !devDependencies.includes(imp)\n && !devDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n ) {\n unlistedDevDependencies++\n console.log(`[${chalk.blue(name)}] Missing devDependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${srcImportPaths[imp].join('\\n ')}`)\n }\n }\n if (unlistedDevDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unlistedDevDependencies\n}\n","import chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnusedDependencies(\n { name, location }: Workspace,\n { dependencies }: CheckPackageParams,\n {\n externalDistImports,\n externalDistTypeImports,\n externalSrcImports,\n }: CheckSourceParams,\n) {\n let unusedDependencies = 0\n for (const dep of dependencies) {\n if (!externalDistImports.includes(dep)\n && !externalDistImports.includes(dep.replace(/^@types\\//, ''))\n && !externalDistTypeImports.includes(dep)\n && !externalDistTypeImports.includes(dep.replace(/^@types\\//, ''))) {\n unusedDependencies++\n if (externalSrcImports.includes(dep)) {\n console.log(`[${chalk.blue(name)}] dependency should be devDependency in package.json: ${chalk.red(dep)}`)\n } else {\n console.log(`[${chalk.blue(name)}] Unused dependency in package.json: ${chalk.red(dep)}`)\n }\n }\n }\n if (unusedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unusedDependencies\n}\n","import chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnusedPeerDependencies(\n { name, location }: Workspace,\n { peerDependencies, dependencies }: CheckPackageParams,\n { externalDistImports, externalDistTypeImports }: CheckSourceParams,\n) {\n let unusedDependencies = 0\n for (const dep of peerDependencies) {\n if (!externalDistImports.includes(dep) && !externalDistImports.includes(dep.replace(/^@types\\//, ''))\n && !externalDistTypeImports.includes(dep) && !externalDistTypeImports.includes(dep.replace(/^@types\\//, ''))) {\n unusedDependencies++\n if (dependencies.includes(dep)) {\n console.log(`[${chalk.blue(name)}] Unused peerDependency [already a dependency] in package.json: ${chalk.red(dep)}`)\n } else {\n console.log(`[${chalk.blue(name)}] Unused peerDependency in package.json: ${chalk.red(dep)}`)\n }\n }\n }\n if (unusedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unusedDependencies\n}\n","import type { Workspace } from '../../../lib/index.ts'\nimport { findFiles } from '../findFiles.ts'\nimport { getDependenciesFromPackageJson } from '../getDependenciesFromPackageJson.ts'\nimport { getExternalImportsFromFiles } from '../getExternalImportsFromFiles.ts'\nimport { getUnlistedDependencies } from './getUnlistedDependencies.ts'\nimport { getUnlistedDevDependencies } from './getUnlistedDevDependencies.ts'\nimport { getUnusedDependencies } from './getUnusedDependencies.ts'\nimport { getUnusedPeerDependencies } from './getUnusedPeerDependencies.ts'\n\nexport interface CheckPackageOptions {\n deps?: boolean\n devDeps?: boolean\n peerDeps?: boolean\n verbose?: boolean\n}\n\nexport function checkPackage({\n name, location, deps = false, devDeps = false, peerDeps = false, verbose = false,\n}: CheckPackageOptions & Workspace) {\n const { srcFiles, distFiles } = findFiles(location)\n if (verbose) {\n console.info(`Checking package: ${name} at ${location}`)\n console.info(`Source files: ${srcFiles.length}, Distribution files: ${distFiles.length}`)\n for (const file of srcFiles) {\n console.info(`Source file: ${file}`)\n }\n for (const file of distFiles) {\n console.info(`Distribution file: ${file}`)\n }\n }\n const checkDeps = deps || !(deps || devDeps || peerDeps)\n const checkDevDeps = devDeps || !(deps || devDeps || peerDeps)\n const checkPeerDeps = peerDeps // || !(deps || devDeps || peerDeps)\n const sourceParams = getExternalImportsFromFiles({ srcFiles, distFiles })\n\n const packageParams = getDependenciesFromPackageJson(`${location}/package.json`)\n\n const unlistedDependencies = checkDeps ? getUnlistedDependencies({ name, location }, packageParams, sourceParams) : 0\n const unusedDependencies = checkDeps ? getUnusedDependencies({ name, location }, packageParams, sourceParams) : 0\n const unlistedDevDependencies = checkDevDeps ? getUnlistedDevDependencies({ name, location }, packageParams, sourceParams) : 0\n const unusedPeerDependencies = checkPeerDeps ? getUnusedPeerDependencies({ name, location }, packageParams, sourceParams) : 0\n\n const totalErrors = unlistedDependencies + unlistedDevDependencies + unusedDependencies + unusedPeerDependencies\n return totalErrors\n}\n"],"mappings":"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","names":["chalk","spawnSync","yarnWorkspaces","result","spawnSync","encoding","shell","error","stdout","toString","split","slice","map","item","JSON","parse","yarnWorkspace","pkg","workspace","yarnWorkspaces","find","name","Error","globSync","findFilesByGlob","cwd","pattern","globSync","absolute","findFiles","path","allSourceInclude","allDistInclude","srcFiles","flatMap","pattern","findFilesByGlob","distFiles","fs","path","getDependenciesFromPackageJson","packageJsonPath","packageJsonFullPath","path","resolve","rawContent","fs","readFileSync","packageJson","JSON","parse","dependencies","Object","keys","devDependencies","peerDependencies","fs","path","ts","getBasePackageName","importName","importNameScrubbed","replaceAll","trim","startsWith","parts","split","length","getImportsFromFile","filePath","importPaths","typeImportPaths","sourceCode","fs","readFileSync","isMjsFile","endsWith","sourceFile","ts","createSourceFile","path","basename","ScriptTarget","Latest","ScriptKind","JS","undefined","imports","typeImports","isDeclarationFile","visit","node","isImportDeclaration","isExportDeclaration","moduleSpecifier","getFullText","isTypeImport","importClause","isTypeOnly","trimmed","replaceAll","trim","push","isCallExpression","expression","kind","SyntaxKind","ImportKeyword","arg","arguments","isStringLiteral","text","forEachChild","importsStartsWithExcludes","cleanedImports","filter","imp","some","exc","startsWith","map","getBasePackageName","cleanedTypeImports","internalImportPrefixes","removeInternalImports","imports","filter","imp","some","prefix","startsWith","getExternalImportsFromFiles","srcFiles","distFiles","srcImportPaths","distImportPaths","distTypeImportPaths","path","getImportsFromFile","flat","distTypeFiles","file","endsWith","distCodeFiles","srcImports","Object","keys","distImports","distTypeImports","externalSrcImports","externalDistImports","externalDistTypeImports","builtinModules","chalk","getUnlistedDependencies","name","location","dependencies","peerDependencies","externalDistImports","externalDistTypeImports","distImportPaths","unlistedDependencies","imp","includes","builtinModules","console","log","chalk","blue","red","join","packageLocation","yellow","builtinModules","chalk","getUnlistedDevDependencies","name","location","devDependencies","dependencies","peerDependencies","srcImportPaths","externalSrcImports","distImports","unlistedDevDependencies","imp","includes","builtinModules","console","log","chalk","blue","red","join","packageLocation","yellow","chalk","getUnusedDependencies","name","location","dependencies","externalDistImports","externalDistTypeImports","externalSrcImports","unusedDependencies","dep","includes","replace","console","log","chalk","blue","red","packageLocation","yellow","chalk","getUnusedPeerDependencies","name","location","peerDependencies","dependencies","externalDistImports","externalDistTypeImports","unusedDependencies","dep","includes","replace","console","log","chalk","blue","red","packageLocation","yellow","checkPackage","name","location","deps","devDeps","peerDeps","verbose","srcFiles","distFiles","findFiles","console","info","length","file","checkDeps","checkDevDeps","checkPeerDeps","sourceParams","getExternalImportsFromFiles","packageParams","getDependenciesFromPackageJson","unlistedDependencies","getUnlistedDependencies","unusedDependencies","getUnusedDependencies","unlistedDevDependencies","getUnlistedDevDependencies","unusedPeerDependencies","getUnusedPeerDependencies","totalErrors","deplint","pkg","deps","devDeps","peerDeps","verbose","totalErrors","undefined","workspaces","yarnWorkspaces","console","info","workspace","checkPackage","location","name","yarnWorkspace","warn","chalk","red","green"]}
@@ -1,9 +1,12 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
1
4
  // src/actions/deploy-major.ts
2
5
  import { readFileSync } from "fs";
3
6
 
4
7
  // src/lib/checkResult.ts
5
8
  import chalk from "chalk";
6
- var checkResult = (name, result, level = "error", exitOnFail = false) => {
9
+ var checkResult = /* @__PURE__ */ __name((name, result, level = "error", exitOnFail = false) => {
7
10
  if (result) {
8
11
  const exiting = exitOnFail ? "[Exiting Process]" : "[Continuing]";
9
12
  const chalkFunc = level === "error" ? chalk.red : chalk.yellow;
@@ -12,23 +15,23 @@ var checkResult = (name, result, level = "error", exitOnFail = false) => {
12
15
  process.exit(result);
13
16
  }
14
17
  }
15
- };
18
+ }, "checkResult");
16
19
 
17
20
  // src/lib/processEx.ts
18
21
  import chalk2 from "chalk";
19
22
 
20
23
  // src/lib/withError.ts
21
- var withError = (ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
24
+ var withError = /* @__PURE__ */ __name((ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
22
25
  return predicate(ex) ? closure(ex) : void 0;
23
- };
26
+ }, "withError");
24
27
 
25
28
  // src/lib/withErrnoException.ts
26
- var withErrnoException = (ex, closure) => {
29
+ var withErrnoException = /* @__PURE__ */ __name((ex, closure) => {
27
30
  return withError(ex, closure, (ex2) => ex2.errno !== void 0);
28
- };
31
+ }, "withErrnoException");
29
32
 
30
33
  // src/lib/processEx.ts
31
- var processEx = (ex) => {
34
+ var processEx = /* @__PURE__ */ __name((ex) => {
32
35
  const error = typeof ex === "string" ? new Error(ex) : ex;
33
36
  const exitCode = withErrnoException(error, (error2) => {
34
37
  if (error2.code === "ENOENT") {
@@ -45,10 +48,10 @@ var processEx = (ex) => {
45
48
  return -1;
46
49
  })();
47
50
  process.exit(process.exitCode ?? exitCode);
48
- };
51
+ }, "processEx");
49
52
 
50
53
  // src/lib/safeExit.ts
51
- var safeExit = (func, exitOnFail = true) => {
54
+ var safeExit = /* @__PURE__ */ __name((func, exitOnFail = true) => {
52
55
  try {
53
56
  const result = func();
54
57
  if (result && exitOnFail) {
@@ -58,25 +61,33 @@ var safeExit = (func, exitOnFail = true) => {
58
61
  } catch (ex) {
59
62
  return processEx(ex);
60
63
  }
61
- };
64
+ }, "safeExit");
62
65
 
63
66
  // src/lib/yarn/workspace/yarnWorkspaces.ts
64
67
  import { spawnSync } from "child_process";
65
- var yarnWorkspaces = () => {
66
- const result = spawnSync("yarn", ["workspaces", "list", "--json", "--recursive"], { encoding: "utf8", shell: true });
68
+ var yarnWorkspaces = /* @__PURE__ */ __name(() => {
69
+ const result = spawnSync("yarn", [
70
+ "workspaces",
71
+ "list",
72
+ "--json",
73
+ "--recursive"
74
+ ], {
75
+ encoding: "utf8",
76
+ shell: true
77
+ });
67
78
  if (result.error) {
68
79
  throw result.error;
69
80
  }
70
81
  return result.stdout.toString().split("\n").slice(0, -1).map((item) => {
71
82
  return JSON.parse(item);
72
83
  });
73
- };
84
+ }, "yarnWorkspaces");
74
85
 
75
86
  // src/lib/runSteps.ts
76
87
  import { spawnSync as spawnSync2 } from "child_process";
77
88
  import { existsSync } from "fs";
78
89
  import chalk3 from "chalk";
79
- var runSteps = (name, steps, exitOnFail = true, messages) => {
90
+ var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages) => {
80
91
  return safeExit(() => {
81
92
  const pkgName = process.env.npm_package_name;
82
93
  console.log(chalk3.green(`${name} [${pkgName}]`));
@@ -92,7 +103,10 @@ var runSteps = (name, steps, exitOnFail = true, messages) => {
92
103
  const status = spawnSync2(command, Array.isArray(args) ? args : args.split(" "), {
93
104
  ...config,
94
105
  encoding: "utf8",
95
- env: { FORCE_COLOR: "3", ...process.env },
106
+ env: {
107
+ FORCE_COLOR: "3",
108
+ ...process.env
109
+ },
96
110
  shell: true,
97
111
  stdio: "inherit"
98
112
  }).status ?? 0;
@@ -101,31 +115,48 @@ var runSteps = (name, steps, exitOnFail = true, messages) => {
101
115
  }
102
116
  return totalStatus;
103
117
  }, !!exitOnFail);
104
- };
118
+ }, "runSteps");
105
119
 
106
120
  // src/actions/deploy-major.ts
107
- var privatePackageExcludeList = () => {
121
+ var privatePackageExcludeList = /* @__PURE__ */ __name(() => {
108
122
  const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
109
123
  workspace,
110
- JSON.parse(readFileSync(`${workspace.location}/package.json`, { encoding: "utf8" }))
124
+ JSON.parse(readFileSync(`${workspace.location}/package.json`, {
125
+ encoding: "utf8"
126
+ }))
111
127
  ]);
112
128
  const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
113
129
  const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
114
130
  return excludeList;
115
- };
116
- var deployMajor = () => {
131
+ }, "privatePackageExcludeList");
132
+ var deployMajor = /* @__PURE__ */ __name(() => {
117
133
  const excludeList = privatePackageExcludeList();
118
134
  if (excludeList.length > 0) {
119
135
  console.log("Excluding private packages from deployment:", excludeList);
120
136
  }
121
137
  return runSteps("Deploy [Major]", [
122
- ["yarn", "workspaces foreach --all version major --deferred"],
123
- ["yarn", "xy clean"],
124
- ["yarn", "xy build"],
125
- ["yarn", "version apply --all"],
126
- ["yarn", `workspaces foreach --all ${excludeList.join(" ")} --parallel npm publish`]
138
+ [
139
+ "yarn",
140
+ "workspaces foreach --all version major --deferred"
141
+ ],
142
+ [
143
+ "yarn",
144
+ "xy clean"
145
+ ],
146
+ [
147
+ "yarn",
148
+ "xy build"
149
+ ],
150
+ [
151
+ "yarn",
152
+ "version apply --all"
153
+ ],
154
+ [
155
+ "yarn",
156
+ `workspaces foreach --all ${excludeList.join(" ")} --parallel npm publish`
157
+ ]
127
158
  ]);
128
- };
159
+ }, "deployMajor");
129
160
  export {
130
161
  deployMajor
131
162
  };