@codefast/cli 0.8.0 → 0.8.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 (226) hide show
  1. package/README.md +123 -49
  2. package/dist/arrange/analyze.js +1 -2
  3. package/dist/arrange/cli-schema.js +1 -2
  4. package/dist/arrange/command.js +1 -2
  5. package/dist/arrange/domain/analyze-service.js +1 -2
  6. package/dist/arrange/domain/ast/ast-node.js +1 -2
  7. package/dist/arrange/domain/ast/collectors-cn.js +1 -2
  8. package/dist/arrange/domain/ast/collectors-jsx.js +1 -2
  9. package/dist/arrange/domain/ast/collectors-tv.js +1 -2
  10. package/dist/arrange/domain/ast/helpers.js +1 -2
  11. package/dist/arrange/domain/ast/simplify-targets.js +1 -2
  12. package/dist/arrange/domain/ast/targets.js +1 -2
  13. package/dist/arrange/domain/constants.js +1 -2
  14. package/dist/arrange/domain/grouping-service.js +1 -2
  15. package/dist/arrange/domain/grouping.js +1 -2
  16. package/dist/arrange/domain/imports.js +1 -2
  17. package/dist/arrange/domain/source-text-formatters.js +1 -2
  18. package/dist/arrange/domain/tailwind-token.js +1 -2
  19. package/dist/arrange/domain/token-classifier.js +1 -2
  20. package/dist/arrange/domain/types.js +1 -2
  21. package/dist/arrange/output.js +1 -2
  22. package/dist/arrange/process-file.js +1 -2
  23. package/dist/arrange/resolve-target.js +1 -2
  24. package/dist/arrange/scan-target.js +1 -2
  25. package/dist/arrange/simplify-process-file.js +1 -2
  26. package/dist/arrange/simplify-sync.js +1 -2
  27. package/dist/arrange/source-parse.js +1 -2
  28. package/dist/arrange/suggest.js +1 -2
  29. package/dist/arrange/sync.js +1 -2
  30. package/dist/arrange/typescript-ast-translator.js +1 -2
  31. package/dist/arrange/workspace.js +1 -2
  32. package/dist/audit/cli-schema.js +1 -2
  33. package/dist/audit/command.js +1 -2
  34. package/dist/audit/domain/audit-file.js +2 -3
  35. package/dist/audit/domain/comment-content.js +1 -2
  36. package/dist/audit/domain/comment-dividers.js +1 -2
  37. package/dist/audit/domain/link-references.js +1 -2
  38. package/dist/audit/domain/mappings.js +1 -2
  39. package/dist/audit/domain/markdown-links.js +1 -2
  40. package/dist/audit/domain/react-imports.js +1 -2
  41. package/dist/audit/domain/since-versions.js +1 -2
  42. package/dist/audit/domain/tokenize.js +2 -3
  43. package/dist/audit/domain/tsdoc-syntax.js +1 -2
  44. package/dist/audit/domain/types.js +1 -2
  45. package/dist/audit/output.js +1 -2
  46. package/dist/audit/prepare.js +1 -2
  47. package/dist/audit/run-comments.js +1 -2
  48. package/dist/audit/run-links.js +1 -2
  49. package/dist/audit/run-react.js +1 -2
  50. package/dist/audit/run.js +1 -2
  51. package/dist/bin.js +1 -2
  52. package/dist/cli.js +3 -2
  53. package/dist/core/cli/format-error.js +1 -2
  54. package/dist/core/cli/global-options.js +1 -2
  55. package/dist/core/cli/positional.js +1 -2
  56. package/dist/core/cli/result-handle.js +1 -22
  57. package/dist/core/config/loader.js +1 -2
  58. package/dist/core/config/schema.js +9 -10
  59. package/dist/core/config/warnings.js +1 -2
  60. package/dist/core/config.js +1 -2
  61. package/dist/core/errors.js +1 -2
  62. package/dist/core/exit-codes.js +1 -2
  63. package/dist/core/filesystem/node.js +1 -2
  64. package/dist/core/filesystem/port.js +1 -2
  65. package/dist/core/glob.js +1 -2
  66. package/dist/core/logger.js +1 -2
  67. package/dist/core/result.js +1 -2
  68. package/dist/core/schema-parse.js +1 -2
  69. package/dist/core/source-text-edit.js +1 -2
  70. package/dist/core/verbose-diagnostics.js +1 -2
  71. package/dist/core/workspace/markdown-walk.js +1 -2
  72. package/dist/core/workspace/package-version.js +1 -2
  73. package/dist/core/workspace/resolver.js +1 -2
  74. package/dist/core/workspace/skip-directories.js +1 -2
  75. package/dist/core/workspace/source-walk.js +1 -2
  76. package/dist/core/workspace/typescript-walk.js +1 -2
  77. package/dist/mirror/cli-result.js +1 -2
  78. package/dist/mirror/cli-schema.js +1 -2
  79. package/dist/mirror/command.js +1 -2
  80. package/dist/mirror/dist-filesystem-impl.js +1 -2
  81. package/dist/mirror/domain/constants.js +1 -2
  82. package/dist/mirror/domain/dirent-guard.js +1 -2
  83. package/dist/mirror/domain/dist-filesystem.js +1 -2
  84. package/dist/mirror/domain/errors.js +1 -2
  85. package/dist/mirror/domain/exports.js +1 -2
  86. package/dist/mirror/domain/package-display-name.js +1 -2
  87. package/dist/mirror/domain/path-normalizer.js +1 -2
  88. package/dist/mirror/domain/types.js +1 -2
  89. package/dist/mirror/output.js +1 -2
  90. package/dist/mirror/package-path.js +1 -2
  91. package/dist/mirror/prepare.js +1 -2
  92. package/dist/mirror/supplement-exports.js +1 -2
  93. package/dist/mirror/sync-reporter.js +1 -2
  94. package/dist/mirror/sync-types.js +1 -2
  95. package/dist/mirror/sync-workspace-package.js +1 -2
  96. package/dist/mirror/sync.js +1 -2
  97. package/dist/mirror/write-exports.js +1 -2
  98. package/dist/pack-slim/cli-result.js +23 -0
  99. package/dist/pack-slim/cli-schema.js +11 -0
  100. package/dist/pack-slim/command.js +79 -0
  101. package/dist/pack-slim/domain/transform.js +95 -0
  102. package/dist/pack-slim/domain/types.js +2 -0
  103. package/dist/pack-slim/output.js +53 -0
  104. package/dist/pack-slim/sync.js +151 -0
  105. package/dist/pack-slim/working-tree.js +45 -0
  106. package/dist/tag/cli-result.js +1 -2
  107. package/dist/tag/cli-schema.js +1 -2
  108. package/dist/tag/command.js +1 -2
  109. package/dist/tag/domain/types.js +1 -2
  110. package/dist/tag/output.js +1 -2
  111. package/dist/tag/prepare.js +1 -2
  112. package/dist/tag/resolve-target-path.js +1 -2
  113. package/dist/tag/since-writer.js +1 -2
  114. package/dist/tag/sync.js +1 -2
  115. package/dist/tag/target-candidates.js +1 -2
  116. package/dist/tag/target-runner.js +1 -2
  117. package/dist/tag/version-resolver.js +1 -2
  118. package/package.json +8 -15
  119. package/dist/arrange/analyze.js.map +0 -1
  120. package/dist/arrange/cli-schema.js.map +0 -1
  121. package/dist/arrange/command.js.map +0 -1
  122. package/dist/arrange/domain/analyze-service.js.map +0 -1
  123. package/dist/arrange/domain/ast/ast-node.js.map +0 -1
  124. package/dist/arrange/domain/ast/collectors-cn.js.map +0 -1
  125. package/dist/arrange/domain/ast/collectors-jsx.js.map +0 -1
  126. package/dist/arrange/domain/ast/collectors-tv.js.map +0 -1
  127. package/dist/arrange/domain/ast/helpers.js.map +0 -1
  128. package/dist/arrange/domain/ast/simplify-targets.js.map +0 -1
  129. package/dist/arrange/domain/ast/targets.js.map +0 -1
  130. package/dist/arrange/domain/constants.js.map +0 -1
  131. package/dist/arrange/domain/grouping-service.js.map +0 -1
  132. package/dist/arrange/domain/grouping.js.map +0 -1
  133. package/dist/arrange/domain/imports.js.map +0 -1
  134. package/dist/arrange/domain/source-text-formatters.js.map +0 -1
  135. package/dist/arrange/domain/tailwind-token.js.map +0 -1
  136. package/dist/arrange/domain/token-classifier.js.map +0 -1
  137. package/dist/arrange/domain/types.js.map +0 -1
  138. package/dist/arrange/output.js.map +0 -1
  139. package/dist/arrange/process-file.js.map +0 -1
  140. package/dist/arrange/resolve-target.js.map +0 -1
  141. package/dist/arrange/scan-target.js.map +0 -1
  142. package/dist/arrange/simplify-process-file.js.map +0 -1
  143. package/dist/arrange/simplify-sync.js.map +0 -1
  144. package/dist/arrange/source-parse.js.map +0 -1
  145. package/dist/arrange/suggest.js.map +0 -1
  146. package/dist/arrange/sync.js.map +0 -1
  147. package/dist/arrange/typescript-ast-translator.js.map +0 -1
  148. package/dist/arrange/workspace.js.map +0 -1
  149. package/dist/audit/cli-schema.js.map +0 -1
  150. package/dist/audit/command.js.map +0 -1
  151. package/dist/audit/domain/audit-file.js.map +0 -1
  152. package/dist/audit/domain/comment-content.js.map +0 -1
  153. package/dist/audit/domain/comment-dividers.js.map +0 -1
  154. package/dist/audit/domain/link-references.js.map +0 -1
  155. package/dist/audit/domain/mappings.js.map +0 -1
  156. package/dist/audit/domain/markdown-links.js.map +0 -1
  157. package/dist/audit/domain/react-imports.js.map +0 -1
  158. package/dist/audit/domain/since-versions.js.map +0 -1
  159. package/dist/audit/domain/tokenize.js.map +0 -1
  160. package/dist/audit/domain/tsdoc-syntax.js.map +0 -1
  161. package/dist/audit/domain/types.js.map +0 -1
  162. package/dist/audit/output.js.map +0 -1
  163. package/dist/audit/prepare.js.map +0 -1
  164. package/dist/audit/run-comments.js.map +0 -1
  165. package/dist/audit/run-links.js.map +0 -1
  166. package/dist/audit/run-react.js.map +0 -1
  167. package/dist/audit/run.js.map +0 -1
  168. package/dist/bin.js.map +0 -1
  169. package/dist/cli.js.map +0 -1
  170. package/dist/core/cli/format-error.js.map +0 -1
  171. package/dist/core/cli/global-options.js.map +0 -1
  172. package/dist/core/cli/positional.js.map +0 -1
  173. package/dist/core/cli/result-handle.js.map +0 -1
  174. package/dist/core/config/loader.js.map +0 -1
  175. package/dist/core/config/schema.js.map +0 -1
  176. package/dist/core/config/warnings.js.map +0 -1
  177. package/dist/core/config.js.map +0 -1
  178. package/dist/core/errors.js.map +0 -1
  179. package/dist/core/exit-codes.js.map +0 -1
  180. package/dist/core/filesystem/node.js.map +0 -1
  181. package/dist/core/filesystem/port.js.map +0 -1
  182. package/dist/core/glob.js.map +0 -1
  183. package/dist/core/logger.js.map +0 -1
  184. package/dist/core/result.js.map +0 -1
  185. package/dist/core/schema-parse.js.map +0 -1
  186. package/dist/core/source-text-edit.js.map +0 -1
  187. package/dist/core/verbose-diagnostics.js.map +0 -1
  188. package/dist/core/workspace/markdown-walk.js.map +0 -1
  189. package/dist/core/workspace/package-version.js.map +0 -1
  190. package/dist/core/workspace/resolver.js.map +0 -1
  191. package/dist/core/workspace/skip-directories.js.map +0 -1
  192. package/dist/core/workspace/source-walk.js.map +0 -1
  193. package/dist/core/workspace/typescript-walk.js.map +0 -1
  194. package/dist/mirror/cli-result.js.map +0 -1
  195. package/dist/mirror/cli-schema.js.map +0 -1
  196. package/dist/mirror/command.js.map +0 -1
  197. package/dist/mirror/dist-filesystem-impl.js.map +0 -1
  198. package/dist/mirror/domain/constants.js.map +0 -1
  199. package/dist/mirror/domain/dirent-guard.js.map +0 -1
  200. package/dist/mirror/domain/dist-filesystem.js.map +0 -1
  201. package/dist/mirror/domain/errors.js.map +0 -1
  202. package/dist/mirror/domain/exports.js.map +0 -1
  203. package/dist/mirror/domain/package-display-name.js.map +0 -1
  204. package/dist/mirror/domain/path-normalizer.js.map +0 -1
  205. package/dist/mirror/domain/types.js.map +0 -1
  206. package/dist/mirror/output.js.map +0 -1
  207. package/dist/mirror/package-path.js.map +0 -1
  208. package/dist/mirror/prepare.js.map +0 -1
  209. package/dist/mirror/supplement-exports.js.map +0 -1
  210. package/dist/mirror/sync-reporter.js.map +0 -1
  211. package/dist/mirror/sync-types.js.map +0 -1
  212. package/dist/mirror/sync-workspace-package.js.map +0 -1
  213. package/dist/mirror/sync.js.map +0 -1
  214. package/dist/mirror/write-exports.js.map +0 -1
  215. package/dist/tag/cli-result.js.map +0 -1
  216. package/dist/tag/cli-schema.js.map +0 -1
  217. package/dist/tag/command.js.map +0 -1
  218. package/dist/tag/domain/types.js.map +0 -1
  219. package/dist/tag/output.js.map +0 -1
  220. package/dist/tag/prepare.js.map +0 -1
  221. package/dist/tag/resolve-target-path.js.map +0 -1
  222. package/dist/tag/since-writer.js.map +0 -1
  223. package/dist/tag/sync.js.map +0 -1
  224. package/dist/tag/target-candidates.js.map +0 -1
  225. package/dist/tag/target-runner.js.map +0 -1
  226. package/dist/tag/version-resolver.js.map +0 -1
@@ -88,5 +88,4 @@ function lineOfOffset(sourceText, offset) {
88
88
  function firstLineOf(text) {
89
89
  const newlineIndex = text.indexOf("\n");
90
90
  return newlineIndex === -1 ? text : text.slice(0, newlineIndex);
91
- }
92
- //# sourceMappingURL=react-imports.js.map
91
+ }
@@ -82,5 +82,4 @@ export function scanImpossibleSinceTags(content, packageVersion) {
82
82
  }
83
83
  }
84
84
  return findings;
85
- }
86
- //# sourceMappingURL=since-versions.js.map
85
+ }
@@ -52,7 +52,7 @@ export function splitClassName(token) {
52
52
  *
53
53
  * @since 0.5.0-canary.6
54
54
  */
55
- export function* stringLiterals(content) {
55
+ function* stringLiterals(content) {
56
56
  const pattern = /"([^"\n]*)"|'([^'\n]*)'|`([^`]*)`/g;
57
57
  for (const match of content.matchAll(pattern)) {
58
58
  const text = match[1] ?? match[2] ?? match[3] ?? "";
@@ -81,5 +81,4 @@ export function collectTokens(content) {
81
81
  }
82
82
  }
83
83
  return tokens;
84
- }
85
- //# sourceMappingURL=tokenize.js.map
84
+ }
@@ -29,5 +29,4 @@ export function scanTsdocSyntax(content) {
29
29
  }
30
30
  }
31
31
  return findings;
32
- }
33
- //# sourceMappingURL=tsdoc-syntax.js.map
32
+ }
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
1
+ export {};
@@ -169,5 +169,4 @@ export function formatCommentAuditJsonOutput(result, rootDir) {
169
169
  }
170
170
  function truncate(raw) {
171
171
  return raw.length <= 60 ? raw : `${raw.slice(0, 57)}…`;
172
- }
173
- //# sourceMappingURL=output.js.map
172
+ }
@@ -131,5 +131,4 @@ export async function prepareCommentAudit(fs, args) {
131
131
  targetPath: fs.canonicalPathSync(targetPath),
132
132
  allowlist: commentsConfig.allowlist ?? [],
133
133
  });
134
- }
135
- //# sourceMappingURL=prepare.js.map
134
+ }
@@ -186,5 +186,4 @@ function collectScanPaths(fs, targetPath) {
186
186
  }
187
187
  function toPosixPath(filePath) {
188
188
  return filePath.split(path.sep).join("/");
189
- }
190
- //# sourceMappingURL=run-comments.js.map
189
+ }
@@ -88,5 +88,4 @@ function collectScanPaths(fs, targetPath) {
88
88
  }
89
89
  function toPosixPath(filePath) {
90
90
  return filePath.split(path.sep).join("/");
91
- }
92
- //# sourceMappingURL=run-links.js.map
91
+ }
@@ -52,5 +52,4 @@ function collectScanPaths(fs, targetPath) {
52
52
  }
53
53
  function toPosixPath(filePath) {
54
54
  return filePath.split(path.sep).join("/");
55
- }
56
- //# sourceMappingURL=run-react.js.map
55
+ }
package/dist/audit/run.js CHANGED
@@ -53,5 +53,4 @@ function collectScanPaths(fs, targetPath) {
53
53
  }
54
54
  function toPosixPath(filePath) {
55
55
  return filePath.split(path.sep).join("/");
56
- }
57
- //# sourceMappingURL=run.js.map
56
+ }
package/dist/bin.js CHANGED
@@ -2,5 +2,4 @@
2
2
  import process from "node:process";
3
3
  import { runCli } from "#/cli";
4
4
  const code = await runCli(process.argv);
5
- process.exit(code);
6
- //# sourceMappingURL=bin.js.map
5
+ process.exit(code);
package/dist/cli.js CHANGED
@@ -6,6 +6,7 @@ import { Command } from "commander";
6
6
  import { createArrangeCommand } from "#/arrange/command";
7
7
  import { createAuditCommand } from "#/audit/command";
8
8
  import { createMirrorCommand } from "#/mirror/command";
9
+ import { createPackSlimCommand } from "#/pack-slim/command";
9
10
  import { createTagCommand } from "#/tag/command";
10
11
  function readVersion() {
11
12
  try {
@@ -39,9 +40,9 @@ export async function runCli(argv) {
39
40
  program.addCommand(createArrangeCommand());
40
41
  program.addCommand(createAuditCommand());
41
42
  program.addCommand(createMirrorCommand());
43
+ program.addCommand(createPackSlimCommand());
42
44
  program.addCommand(createTagCommand());
43
45
  await program.parseAsync(argv, { from: "node" });
44
46
  const code = process.exitCode ?? 0;
45
47
  return typeof code === "number" ? code : Number(code) || 0;
46
- }
47
- //# sourceMappingURL=cli.js.map
48
+ }
@@ -17,5 +17,4 @@ export function formatAppError(error) {
17
17
  return `Unhandled error code: ${String(exhaustive)}`;
18
18
  }
19
19
  }
20
- }
21
- //# sourceMappingURL=format-error.js.map
20
+ }
@@ -6,5 +6,4 @@ import { z } from "zod";
6
6
  */
7
7
  export const globalCliCommanderOptionsSchema = z.object({
8
8
  color: z.boolean().optional(),
9
- });
10
- //# sourceMappingURL=global-options.js.map
9
+ });
@@ -5,5 +5,4 @@
5
5
  */
6
6
  export function readOptionalPositionalArg(candidate) {
7
7
  return typeof candidate === "string" ? candidate : undefined;
8
- }
9
- //# sourceMappingURL=positional.js.map
8
+ }
@@ -17,26 +17,6 @@ function exitCodeForAppError(error) {
17
17
  }
18
18
  }
19
19
  }
20
- /**
21
- * Narrows a `Result` by invoking `onSuccess` on success, or reporting the error and setting the exit code.
22
- *
23
- * @since 0.3.16-canary.0
24
- */
25
- export function handleResult(outcome, onSuccess) {
26
- if (!outcome.ok) {
27
- logger.err(formatAppError(outcome.error));
28
- if (isVerboseCliDiagnostics() &&
29
- outcome.error.code === "INFRA_FAILURE" &&
30
- outcome.error.cause instanceof Error &&
31
- outcome.error.cause.stack !== undefined) {
32
- logger.err(outcome.error.cause.stack);
33
- }
34
- process.exitCode = exitCodeForAppError(outcome.error);
35
- return false;
36
- }
37
- onSuccess(outcome.value);
38
- return true;
39
- }
40
20
  /**
41
21
  * Narrows a `Result`, reporting a failure and setting the exit code, or logging an optional success message.
42
22
  *
@@ -71,5 +51,4 @@ export async function runCliResultAsync(outcomePromise, onSuccess) {
71
51
  }
72
52
  const exit = await onSuccess(outcome.value);
73
53
  process.exitCode = exit === undefined ? 0 : exit;
74
- }
75
- //# sourceMappingURL=result-handle.js.map
54
+ }
@@ -86,5 +86,4 @@ export function loadConfigPayload(startDir, fs) {
86
86
  throw new Error("config loader cache invariant violated");
87
87
  }
88
88
  return cached;
89
- }
90
- //# sourceMappingURL=loader.js.map
89
+ }
@@ -23,7 +23,7 @@ const mirrorCssConfigSchema = z.union([
23
23
  *
24
24
  * @since 0.3.16-canary.0
25
25
  */
26
- export const mirrorPackageConfigSchema = z
26
+ const mirrorPackageConfigSchema = z
27
27
  .object({
28
28
  /** Preserve the existing `package.json#exports` map and only add missing conditions
29
29
  * (`source`, `types`, `import`). No dist/ scan is performed. */
@@ -53,7 +53,7 @@ export const mirrorConfigSchema = z.record(z.string(), z.union([z.literal(false)
53
53
  *
54
54
  * @since 0.3.16-canary.0
55
55
  */
56
- export const codefastTagConfigSchema = z
56
+ const codefastTagConfigSchema = z
57
57
  .object({
58
58
  skipPackages: z.array(z.string()).optional(),
59
59
  onAfterWrite: afterWriteHookSchema.optional(),
@@ -64,7 +64,7 @@ export const codefastTagConfigSchema = z
64
64
  *
65
65
  * @since 0.3.16-canary.0
66
66
  */
67
- export const codefastArrangeConfigSchema = z
67
+ const codefastArrangeConfigSchema = z
68
68
  .object({
69
69
  onAfterWrite: afterWriteHookSchema.optional(),
70
70
  })
@@ -74,7 +74,7 @@ export const codefastArrangeConfigSchema = z
74
74
  *
75
75
  * @since 0.3.16-canary.0
76
76
  */
77
- export const codefastAuditRtlConfigSchema = z
77
+ const codefastAuditRtlConfigSchema = z
78
78
  .object({
79
79
  /** Directory or file to scan when no CLI target is passed. */
80
80
  target: z.string().optional(),
@@ -87,7 +87,7 @@ export const codefastAuditRtlConfigSchema = z
87
87
  *
88
88
  * @since 0.5.0
89
89
  */
90
- export const codefastAuditLinksConfigSchema = z
90
+ const codefastAuditLinksConfigSchema = z
91
91
  .object({
92
92
  /** Bare link targets or `repo/relative/doc.md:target` entries to ignore. */
93
93
  allowlist: z.array(z.string()).optional(),
@@ -98,7 +98,7 @@ export const codefastAuditLinksConfigSchema = z
98
98
  *
99
99
  * @since 0.6.0
100
100
  */
101
- export const codefastAuditCommentsConfigSchema = z
101
+ const codefastAuditCommentsConfigSchema = z
102
102
  .object({
103
103
  /** Divider lines as written, or `repo/relative/path.ts:<divider>` entries, to ignore. */
104
104
  allowlist: z.array(z.string()).optional(),
@@ -110,7 +110,7 @@ export const codefastAuditCommentsConfigSchema = z
110
110
  *
111
111
  * @since 0.8.0
112
112
  */
113
- export const codefastAuditReactConfigSchema = z
113
+ const codefastAuditReactConfigSchema = z
114
114
  .object({
115
115
  /** Offending source text as written, or `repo/relative/path.tsx:<text>` entries, to ignore. */
116
116
  allowlist: z.array(z.string()).optional(),
@@ -121,7 +121,7 @@ export const codefastAuditReactConfigSchema = z
121
121
  *
122
122
  * @since 0.3.16-canary.0
123
123
  */
124
- export const codefastAuditConfigSchema = z
124
+ const codefastAuditConfigSchema = z
125
125
  .object({
126
126
  rtl: codefastAuditRtlConfigSchema.optional(),
127
127
  links: codefastAuditLinksConfigSchema.optional(),
@@ -141,5 +141,4 @@ export const codefastConfigRootSchema = z
141
141
  arrange: codefastArrangeConfigSchema.optional(),
142
142
  audit: codefastAuditConfigSchema.optional(),
143
143
  })
144
- .strict();
145
- //# sourceMappingURL=schema.js.map
144
+ .strict();
@@ -10,5 +10,4 @@ export function reportSchemaWarnings(warnings) {
10
10
  for (const warningMessage of warnings) {
11
11
  logger.out(`${yellowAnsi}⚠ ${warningMessage}${resetAnsi}`);
12
12
  }
13
- }
14
- //# sourceMappingURL=warnings.js.map
13
+ }
@@ -16,5 +16,4 @@ export async function loadCodefastConfig(rootDir, fs) {
16
16
  catch (caughtError) {
17
17
  return err(new AppError("INFRA_FAILURE", messageFrom(caughtError), caughtError));
18
18
  }
19
- }
20
- //# sourceMappingURL=config.js.map
19
+ }
@@ -56,5 +56,4 @@ export function messageFrom(value) {
56
56
  // Circular structure, BigInt in tree, etc.
57
57
  }
58
58
  return "[unserializable non-Error value]";
59
- }
60
- //# sourceMappingURL=errors.js.map
59
+ }
@@ -15,5 +15,4 @@ export const CLI_EXIT_GENERAL_ERROR = 1;
15
15
  *
16
16
  * @since 0.3.16-canary.0
17
17
  */
18
- export const CLI_EXIT_USAGE = 2;
19
- //# sourceMappingURL=exit-codes.js.map
18
+ export const CLI_EXIT_USAGE = 2;
@@ -31,5 +31,4 @@ export const nodeFilesystem = {
31
31
  },
32
32
  rename: (oldPath, newPath) => fsPromises.rename(oldPath, newPath),
33
33
  unlink: (filePath) => fsPromises.unlink(filePath),
34
- };
35
- //# sourceMappingURL=node.js.map
34
+ };
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=port.js.map
1
+ export {};
package/dist/core/glob.js CHANGED
@@ -16,5 +16,4 @@ export function createAnyGlobMatcher(patterns, options) {
16
16
  }
17
17
  const matchers = patterns.map((pattern) => picomatch(pattern, options));
18
18
  return (value) => matchers.some((isMatch) => isMatch(value));
19
- }
20
- //# sourceMappingURL=glob.js.map
19
+ }
@@ -11,5 +11,4 @@ export const logger = {
11
11
  err(line) {
12
12
  process.stderr.write(`${line}\n`);
13
13
  },
14
- };
15
- //# sourceMappingURL=logger.js.map
14
+ };
@@ -16,5 +16,4 @@ export function ok(value) {
16
16
  */
17
17
  export function err(error) {
18
18
  return { ok: false, error };
19
- }
20
- //# sourceMappingURL=result.js.map
19
+ }
@@ -19,5 +19,4 @@ export function parseWithSchema(schema, input) {
19
19
  return err(new AppError("VALIDATION_ERROR", formatSchemaIssues(parsed.error.issues)));
20
20
  }
21
21
  return ok(parsed.data);
22
- }
23
- //# sourceMappingURL=schema-parse.js.map
22
+ }
@@ -66,5 +66,4 @@ export function applyEditsDescending(sourceText, edits) {
66
66
  out = out.slice(0, edit.start) + edit.replacement + out.slice(edit.end);
67
67
  }
68
68
  return out;
69
- }
70
- //# sourceMappingURL=source-text-edit.js.map
69
+ }
@@ -7,5 +7,4 @@ import process from "node:process";
7
7
  export function isVerboseCliDiagnostics() {
8
8
  const raw = process.env.CODEFAST_VERBOSE;
9
9
  return raw === "1" || raw === "true";
10
- }
11
- //# sourceMappingURL=verbose-diagnostics.js.map
10
+ }
@@ -24,5 +24,4 @@ function visitMarkdownPaths(result, entryPath, fs) {
24
24
  if (entryPath.endsWith(".md")) {
25
25
  result.push(entryPath);
26
26
  }
27
- }
28
- //# sourceMappingURL=markdown-walk.js.map
27
+ }
@@ -21,5 +21,4 @@ function findNearestPackageVersion(fs, targetPath) {
21
21
  current = parent;
22
22
  }
23
23
  }
24
- export { findNearestPackageVersion };
25
- //# sourceMappingURL=package-version.js.map
24
+ export { findNearestPackageVersion };
@@ -206,5 +206,4 @@ export async function listWorkspacePackageDirectories(rootDirectoryPathAbsolute,
206
206
  layoutSource,
207
207
  hasPnpmWorkspaceYamlFile,
208
208
  };
209
- }
210
- //# sourceMappingURL=resolver.js.map
209
+ }
@@ -17,5 +17,4 @@ export const defaultSkipDirectoryNames = new Set([
17
17
  ".output",
18
18
  ".tanstack",
19
19
  ".nitro",
20
- ]);
21
- //# sourceMappingURL=skip-directories.js.map
20
+ ]);
@@ -41,5 +41,4 @@ function visitSourcePaths(result, entryPath, fs) {
41
41
  if (sourceCommentLanguage(entryPath) !== null) {
42
42
  result.push(entryPath);
43
43
  }
44
- }
45
- //# sourceMappingURL=source-walk.js.map
44
+ }
@@ -27,5 +27,4 @@ function visitTsxPaths(result, entryPath, fs) {
27
27
  if (entryPath.endsWith(".tsx") || entryPath.endsWith(".ts")) {
28
28
  result.push(entryPath);
29
29
  }
30
- }
31
- //# sourceMappingURL=typescript-walk.js.map
30
+ }
@@ -20,5 +20,4 @@ export function formatMirrorSyncJsonOutput(stats, elapsedSeconds, write = true)
20
20
  elapsedSeconds,
21
21
  stats,
22
22
  });
23
- }
24
- //# sourceMappingURL=cli-result.js.map
23
+ }
@@ -9,5 +9,4 @@ export const mirrorSyncRunRequestSchema = z.object({
9
9
  packageFilter: z.string().optional(),
10
10
  config: z.unknown().optional(),
11
11
  write: z.boolean().optional(),
12
- });
13
- //# sourceMappingURL=cli-schema.js.map
12
+ });
@@ -71,5 +71,4 @@ export function createMirrorCommand() {
71
71
  process.exitCode = exitCodeForMirrorSyncResult(outcome.value);
72
72
  });
73
73
  return cmd;
74
- }
75
- //# sourceMappingURL=command.js.map
74
+ }
@@ -51,5 +51,4 @@ function isKnownReadDirError(caughtError) {
51
51
  caughtError !== null &&
52
52
  "code" in caughtError &&
53
53
  (caughtError.code === "ENOENT" || caughtError.code === "EACCES"));
54
- }
55
- //# sourceMappingURL=dist-filesystem-impl.js.map
54
+ }
@@ -27,5 +27,4 @@ export const VALID_DTS_EXTENSIONS = new Set([".d.ts", ".d.mts", ".d.cts"]);
27
27
  *
28
28
  * @since 0.3.16-canary.0
29
29
  */
30
- export const PACKAGE_JSON_EXPORT = "./package.json";
31
- //# sourceMappingURL=constants.js.map
30
+ export const PACKAGE_JSON_EXPORT = "./package.json";
@@ -12,5 +12,4 @@ export function isDirentList(x) {
12
12
  }
13
13
  const first = x[0];
14
14
  return typeof first === "object" && first !== null && "isFile" in first && "isDirectory" in first;
15
- }
16
- //# sourceMappingURL=dirent-guard.js.map
15
+ }
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=dist-filesystem.js.map
1
+ export {};
@@ -19,5 +19,4 @@ export class MirrorError extends Error {
19
19
  this.name = "MirrorError";
20
20
  this.code = code;
21
21
  }
22
- }
23
- //# sourceMappingURL=errors.js.map
22
+ }
@@ -320,5 +320,4 @@ export async function generateExports(fileSystemService, distDir, pathTransform,
320
320
  jsCount: Object.keys(moduleExportsBySpecifier).length,
321
321
  cssCount: Object.keys(cssExports).length,
322
322
  };
323
- }
324
- //# sourceMappingURL=exports.js.map
323
+ }
@@ -6,5 +6,4 @@
6
6
  export function resolvePackageDisplayName(packageJson, folderBasename) {
7
7
  const declaredName = packageJson.name;
8
8
  return typeof declaredName === "string" && declaredName.length > 0 ? declaredName : folderBasename;
9
- }
10
- //# sourceMappingURL=package-display-name.js.map
9
+ }
@@ -6,5 +6,4 @@ import path from "node:path";
6
6
  */
7
7
  export function normalizePath(pathString) {
8
8
  return pathString.split(path.sep).join("/").replace(/\\/g, "/");
9
- }
10
- //# sourceMappingURL=path-normalizer.js.map
9
+ }
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
1
+ export {};
@@ -45,5 +45,4 @@ export class MirrorSyncProgressPresenter {
45
45
  this.reporter.mirrorSummarySeparator(cliLogger);
46
46
  this.reporter.mirrorSummary(cliLogger, stats, elapsedSeconds);
47
47
  }
48
- }
49
- //# sourceMappingURL=output.js.map
48
+ }
@@ -40,5 +40,4 @@ export function resolvePackageFilterUnderRoot(fs, rootDir, packageFilter) {
40
40
  return err(new AppError("VALIDATION_ERROR", `Package path must be a subdirectory under monorepo root: ${rootDir}`));
41
41
  }
42
42
  return ok(normalized);
43
- }
44
- //# sourceMappingURL=package-path.js.map
43
+ }
@@ -35,5 +35,4 @@ export async function prepareMirrorSync(fs, args) {
35
35
  config: loadedOutcome.value.config,
36
36
  packageFilter: filterOutcome.value,
37
37
  });
38
- }
39
- //# sourceMappingURL=prepare.js.map
38
+ }
@@ -155,5 +155,4 @@ export function buildSourcePathResolver(fs, packageDir) {
155
155
  const tsxPath = path.join(srcDir, `${modulePath}.tsx`);
156
156
  return fs.existsSync(tsxPath) ? `./src/${modulePath}.tsx` : `./src/${modulePath}.ts`;
157
157
  };
158
- }
159
- //# sourceMappingURL=supplement-exports.js.map
158
+ }
@@ -121,5 +121,4 @@ export class MirrorSyncReporter {
121
121
  }
122
122
  return `${openSequence}${text}${ANSI.reset}`;
123
123
  }
124
- }
125
- //# sourceMappingURL=sync-reporter.js.map
124
+ }
@@ -1,2 +1 @@
1
- export {};
2
- //# sourceMappingURL=sync-types.js.map
1
+ export {};
@@ -116,5 +116,4 @@ export async function syncExportsForWorkspacePackage(fs, rootDir, packagePathStr
116
116
  pkgStats.error = messageFrom(caughtError);
117
117
  }
118
118
  return pkgStats;
119
- }
120
- //# sourceMappingURL=sync-workspace-package.js.map
119
+ }
@@ -88,5 +88,4 @@ function mirrorTargetsFromWorkspaceLayout(rootDir, layoutOutcome) {
88
88
  .filter((relativePath) => relativePath.length > 0);
89
89
  relPaths.sort((left, right) => left.localeCompare(right));
90
90
  return { relPaths, multiSource };
91
- }
92
- //# sourceMappingURL=sync.js.map
91
+ }
@@ -141,5 +141,4 @@ export async function writePackageJsonExportsAtomic(fs, packageJsonPath, mergeIn
141
141
  throw new MirrorError(MirrorErrorCode.PACKAGE_WRITE, `Failed to atomically update ${packageJsonPath}: ${messageFrom(caughtRenameError)}`, caughtRenameError instanceof Error ? { cause: caughtRenameError } : undefined);
142
142
  }
143
143
  return { prunedKeys };
144
- }
145
- //# sourceMappingURL=write-exports.js.map
144
+ }
@@ -0,0 +1,23 @@
1
+ import { CLI_EXIT_GENERAL_ERROR, CLI_EXIT_SUCCESS } from "#/core/exit-codes";
2
+ /**
3
+ * Maps a pack-slim run's stats to the process exit code.
4
+ *
5
+ * @since 0.8.1
6
+ */
7
+ export function exitCodeForPackSlimResult(stats) {
8
+ return stats.packagesErrored > 0 ? CLI_EXIT_GENERAL_ERROR : CLI_EXIT_SUCCESS;
9
+ }
10
+ /**
11
+ * Serializes a pack-slim run's stats as the single-line JSON summary printed under `--json`.
12
+ *
13
+ * @since 0.8.1
14
+ */
15
+ export function formatPackSlimJsonOutput(stats, elapsedSeconds, write = true) {
16
+ return JSON.stringify({
17
+ schemaVersion: 1,
18
+ ok: stats.packagesErrored === 0,
19
+ write,
20
+ elapsedSeconds,
21
+ stats,
22
+ });
23
+ }
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Zod schema validating the serializable inputs of a pack-slim run.
4
+ *
5
+ * @since 0.8.1
6
+ */
7
+ export const packSlimRunRequestSchema = z.object({
8
+ rootDir: z.string().min(1),
9
+ packageFilter: z.string().optional(),
10
+ write: z.boolean().optional(),
11
+ });