@codefast/cli 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/README.md +44 -3
  2. package/dist/arrange/analyze.js +2 -0
  3. package/dist/arrange/analyze.js.map +1 -1
  4. package/dist/arrange/cli-schema.js +6 -0
  5. package/dist/arrange/cli-schema.js.map +1 -1
  6. package/dist/arrange/command.js +2 -0
  7. package/dist/arrange/command.js.map +1 -1
  8. package/dist/arrange/domain/analyze-service.js +2 -0
  9. package/dist/arrange/domain/analyze-service.js.map +1 -1
  10. package/dist/arrange/domain/ast/ast-node.js +34 -0
  11. package/dist/arrange/domain/ast/ast-node.js.map +1 -1
  12. package/dist/arrange/domain/ast/collectors-cn.js +8 -0
  13. package/dist/arrange/domain/ast/collectors-cn.js.map +1 -1
  14. package/dist/arrange/domain/ast/collectors-jsx.js +2 -0
  15. package/dist/arrange/domain/ast/collectors-jsx.js.map +1 -1
  16. package/dist/arrange/domain/ast/collectors-tv.js +10 -0
  17. package/dist/arrange/domain/ast/collectors-tv.js.map +1 -1
  18. package/dist/arrange/domain/ast/helpers.js +4 -0
  19. package/dist/arrange/domain/ast/helpers.js.map +1 -1
  20. package/dist/arrange/domain/ast/simplify-targets.js.map +1 -1
  21. package/dist/arrange/domain/ast/targets.js +6 -0
  22. package/dist/arrange/domain/ast/targets.js.map +1 -1
  23. package/dist/arrange/domain/grouping-service.js +14 -0
  24. package/dist/arrange/domain/grouping-service.js.map +1 -1
  25. package/dist/arrange/domain/grouping.js +2 -0
  26. package/dist/arrange/domain/grouping.js.map +1 -1
  27. package/dist/arrange/domain/imports.js +2 -0
  28. package/dist/arrange/domain/imports.js.map +1 -1
  29. package/dist/arrange/domain/source-text-formatters.js +8 -0
  30. package/dist/arrange/domain/source-text-formatters.js.map +1 -1
  31. package/dist/arrange/domain/tailwind-token.js +2 -0
  32. package/dist/arrange/domain/tailwind-token.js.map +1 -1
  33. package/dist/arrange/domain/token-classifier.js +4 -0
  34. package/dist/arrange/domain/token-classifier.js.map +1 -1
  35. package/dist/arrange/output.js +8 -0
  36. package/dist/arrange/output.js.map +1 -1
  37. package/dist/arrange/process-file.js +2 -0
  38. package/dist/arrange/process-file.js.map +1 -1
  39. package/dist/arrange/resolve-target.js +2 -0
  40. package/dist/arrange/resolve-target.js.map +1 -1
  41. package/dist/arrange/scan-target.js +2 -0
  42. package/dist/arrange/scan-target.js.map +1 -1
  43. package/dist/arrange/simplify-process-file.js +2 -0
  44. package/dist/arrange/simplify-process-file.js.map +1 -1
  45. package/dist/arrange/simplify-sync.js +2 -0
  46. package/dist/arrange/simplify-sync.js.map +1 -1
  47. package/dist/arrange/source-parse.js +2 -0
  48. package/dist/arrange/source-parse.js.map +1 -1
  49. package/dist/arrange/suggest.js +2 -0
  50. package/dist/arrange/suggest.js.map +1 -1
  51. package/dist/arrange/sync.js +2 -0
  52. package/dist/arrange/sync.js.map +1 -1
  53. package/dist/arrange/typescript-ast-translator.js +2 -0
  54. package/dist/arrange/typescript-ast-translator.js.map +1 -1
  55. package/dist/arrange/workspace.js +2 -0
  56. package/dist/arrange/workspace.js.map +1 -1
  57. package/dist/audit/cli-schema.js +13 -2
  58. package/dist/audit/cli-schema.js.map +1 -1
  59. package/dist/audit/command.js +44 -4
  60. package/dist/audit/command.js.map +1 -1
  61. package/dist/audit/domain/audit-file.js +2 -2
  62. package/dist/audit/domain/mappings.js +9 -7
  63. package/dist/audit/domain/mappings.js.map +1 -1
  64. package/dist/audit/domain/react-imports.js +92 -0
  65. package/dist/audit/domain/react-imports.js.map +1 -0
  66. package/dist/audit/domain/since-versions.js +86 -0
  67. package/dist/audit/domain/since-versions.js.map +1 -0
  68. package/dist/audit/domain/tokenize.js +5 -3
  69. package/dist/audit/domain/tokenize.js.map +1 -1
  70. package/dist/audit/output.js +44 -3
  71. package/dist/audit/output.js.map +1 -1
  72. package/dist/audit/prepare.js +32 -1
  73. package/dist/audit/prepare.js.map +1 -1
  74. package/dist/audit/run-comments.js +25 -0
  75. package/dist/audit/run-comments.js.map +1 -1
  76. package/dist/audit/run-react.js +56 -0
  77. package/dist/audit/run-react.js.map +1 -0
  78. package/dist/audit/run.js +1 -1
  79. package/dist/cli.js +2 -0
  80. package/dist/cli.js.map +1 -1
  81. package/dist/core/cli/format-error.js +2 -0
  82. package/dist/core/cli/format-error.js.map +1 -1
  83. package/dist/core/cli/result-handle.js +6 -0
  84. package/dist/core/cli/result-handle.js.map +1 -1
  85. package/dist/core/config/loader.js +2 -0
  86. package/dist/core/config/loader.js.map +1 -1
  87. package/dist/core/config/schema.js +19 -0
  88. package/dist/core/config/schema.js.map +1 -1
  89. package/dist/core/config/warnings.js +2 -0
  90. package/dist/core/config/warnings.js.map +1 -1
  91. package/dist/core/config.js +2 -0
  92. package/dist/core/config.js.map +1 -1
  93. package/dist/core/errors.js +2 -0
  94. package/dist/core/errors.js.map +1 -1
  95. package/dist/core/exit-codes.js +4 -0
  96. package/dist/core/exit-codes.js.map +1 -1
  97. package/dist/core/filesystem/node.js +2 -0
  98. package/dist/core/filesystem/node.js.map +1 -1
  99. package/dist/core/logger.js +2 -0
  100. package/dist/core/logger.js.map +1 -1
  101. package/dist/core/result.js +4 -0
  102. package/dist/core/result.js.map +1 -1
  103. package/dist/core/schema-parse.js +2 -0
  104. package/dist/core/schema-parse.js.map +1 -1
  105. package/dist/core/source-text-edit.js +8 -0
  106. package/dist/core/source-text-edit.js.map +1 -1
  107. package/dist/core/verbose-diagnostics.js +2 -0
  108. package/dist/core/verbose-diagnostics.js.map +1 -1
  109. package/dist/core/workspace/package-version.js +25 -0
  110. package/dist/core/workspace/package-version.js.map +1 -0
  111. package/dist/core/workspace/resolver.js +2 -0
  112. package/dist/core/workspace/resolver.js.map +1 -1
  113. package/dist/core/workspace/skip-directories.js +2 -0
  114. package/dist/core/workspace/skip-directories.js.map +1 -1
  115. package/dist/core/workspace/typescript-walk.js +2 -0
  116. package/dist/core/workspace/typescript-walk.js.map +1 -1
  117. package/dist/mirror/cli-result.js +4 -0
  118. package/dist/mirror/cli-result.js.map +1 -1
  119. package/dist/mirror/cli-schema.js +2 -0
  120. package/dist/mirror/cli-schema.js.map +1 -1
  121. package/dist/mirror/command.js +2 -0
  122. package/dist/mirror/command.js.map +1 -1
  123. package/dist/mirror/dist-filesystem-impl.js +2 -0
  124. package/dist/mirror/dist-filesystem-impl.js.map +1 -1
  125. package/dist/mirror/domain/constants.js +10 -0
  126. package/dist/mirror/domain/constants.js.map +1 -1
  127. package/dist/mirror/domain/errors.js +4 -0
  128. package/dist/mirror/domain/errors.js.map +1 -1
  129. package/dist/mirror/domain/exports.js +4 -0
  130. package/dist/mirror/domain/exports.js.map +1 -1
  131. package/dist/mirror/domain/path-normalizer.js +2 -0
  132. package/dist/mirror/domain/path-normalizer.js.map +1 -1
  133. package/dist/mirror/output.js +2 -0
  134. package/dist/mirror/output.js.map +1 -1
  135. package/dist/mirror/package-path.js +4 -0
  136. package/dist/mirror/package-path.js.map +1 -1
  137. package/dist/mirror/prepare.js +2 -0
  138. package/dist/mirror/prepare.js.map +1 -1
  139. package/dist/mirror/supplement-exports.js +2 -0
  140. package/dist/mirror/supplement-exports.js.map +1 -1
  141. package/dist/mirror/sync-reporter.js.map +1 -1
  142. package/dist/mirror/sync-workspace-package.js +2 -0
  143. package/dist/mirror/sync-workspace-package.js.map +1 -1
  144. package/dist/mirror/sync.js +2 -0
  145. package/dist/mirror/sync.js.map +1 -1
  146. package/dist/tag/cli-result.js +2 -0
  147. package/dist/tag/cli-result.js.map +1 -1
  148. package/dist/tag/cli-schema.js +2 -0
  149. package/dist/tag/cli-schema.js.map +1 -1
  150. package/dist/tag/command.js +2 -0
  151. package/dist/tag/command.js.map +1 -1
  152. package/dist/tag/output.js +4 -0
  153. package/dist/tag/output.js.map +1 -1
  154. package/dist/tag/prepare.js +2 -0
  155. package/dist/tag/prepare.js.map +1 -1
  156. package/dist/tag/resolve-target-path.js +2 -0
  157. package/dist/tag/resolve-target-path.js.map +1 -1
  158. package/dist/tag/since-writer.js +2 -0
  159. package/dist/tag/since-writer.js.map +1 -1
  160. package/dist/tag/sync.js +2 -0
  161. package/dist/tag/sync.js.map +1 -1
  162. package/dist/tag/target-candidates.js +2 -0
  163. package/dist/tag/target-candidates.js.map +1 -1
  164. package/dist/tag/target-runner.js +2 -0
  165. package/dist/tag/target-runner.js.map +1 -1
  166. package/dist/tag/version-resolver.js +7 -21
  167. package/dist/tag/version-resolver.js.map +1 -1
  168. package/package.json +6 -6
@@ -3,7 +3,7 @@ import { logger } from "#/core/logger";
3
3
  /**
4
4
  * Exit `1` when any non-allowlisted violation remains.
5
5
  *
6
- * @since 1.0.0-canary.7
6
+ * @since 0.5.0-canary.6
7
7
  */
8
8
  export function exitCodeForRtlAuditResult(result) {
9
9
  return result.violationCount > 0 ? CLI_EXIT_GENERAL_ERROR : CLI_EXIT_SUCCESS;
@@ -11,7 +11,7 @@ export function exitCodeForRtlAuditResult(result) {
11
11
  /**
12
12
  * Human-readable RTL audit report (matches the former packages/ui script shape).
13
13
  *
14
- * @since 1.0.0-canary.7
14
+ * @since 0.5.0-canary.6
15
15
  */
16
16
  export function presentRtlAuditResult(result) {
17
17
  for (const file of result.files) {
@@ -31,7 +31,7 @@ export function presentRtlAuditResult(result) {
31
31
  /**
32
32
  * Machine-readable RTL audit summary for `--json`.
33
33
  *
34
- * @since 1.0.0-canary.7
34
+ * @since 0.5.0-canary.6
35
35
  */
36
36
  export function formatRtlAuditJsonOutput(result, rootDir) {
37
37
  return JSON.stringify({
@@ -82,6 +82,47 @@ export function formatLinkAuditJsonOutput(result, rootDir) {
82
82
  result,
83
83
  });
84
84
  }
85
+ /**
86
+ * Exit `1` when any non-allowlisted React import-policy violation remains.
87
+ *
88
+ * @since 0.8.0
89
+ */
90
+ export function exitCodeForReactAuditResult(result) {
91
+ return result.violationCount > 0 ? CLI_EXIT_GENERAL_ERROR : CLI_EXIT_SUCCESS;
92
+ }
93
+ /**
94
+ * Human-readable React import-policy report.
95
+ *
96
+ * @since 0.8.0
97
+ */
98
+ export function presentReactAuditResult(result) {
99
+ for (const file of result.files) {
100
+ logger.out(`\n${file.relativePath}`);
101
+ for (const { line, raw, reason } of file.violations) {
102
+ logger.out(` ${line}: ${raw} → ${reason}`);
103
+ }
104
+ }
105
+ const allowlistSuffix = result.allowlistedCount > 0 ? ` (${result.allowlistedCount} allowlisted)` : "";
106
+ if (result.violationCount > 0) {
107
+ logger.out(`\n✖ ${result.violationCount} React import violation(s)${allowlistSuffix}`);
108
+ }
109
+ else {
110
+ logger.out(`✓ No namespace/default React imports or React.* UMD globals across ${result.scannedFileCount} file(s)${allowlistSuffix}`);
111
+ }
112
+ }
113
+ /**
114
+ * Machine-readable React import-policy summary for `--json`.
115
+ *
116
+ * @since 0.8.0
117
+ */
118
+ export function formatReactAuditJsonOutput(result, rootDir) {
119
+ return JSON.stringify({
120
+ schemaVersion: 1,
121
+ ok: result.violationCount === 0,
122
+ cwd: rootDir,
123
+ result,
124
+ });
125
+ }
85
126
  /**
86
127
  * Exit `1` when any non-allowlisted divider still breaks the convention.
87
128
  *
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/audit/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/audit/output.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { findRepoRoot } from "#/core/workspace/resolver";
6
6
  /**
7
7
  * Loads config and resolves the scan target for `audit rtl`.
8
8
  *
9
- * @since 1.0.0-canary.7
9
+ * @since 0.5.0-canary.6
10
10
  */
11
11
  export async function prepareRtlAudit(fs, args) {
12
12
  let rootDir;
@@ -70,6 +70,37 @@ export async function prepareLinkAudit(fs, args) {
70
70
  allowlist: linksConfig.allowlist ?? [],
71
71
  });
72
72
  }
73
+ /**
74
+ * Loads config and resolves the scan target for `audit react`.
75
+ *
76
+ * @remarks Defaults to the repo root: the import policy is repo-wide, and generated or vendored
77
+ * trees are already excluded by the shared walk.
78
+ *
79
+ * @since 0.8.0
80
+ */
81
+ export async function prepareReactAudit(fs, args) {
82
+ let rootDir;
83
+ try {
84
+ rootDir = fs.canonicalPathSync(findRepoRoot(args.currentWorkingDirectory, fs));
85
+ }
86
+ catch (caughtError) {
87
+ return err(new AppError("INFRA_FAILURE", messageFrom(caughtError), caughtError));
88
+ }
89
+ const loadedOutcome = await loadCodefastConfig(rootDir, fs);
90
+ if (!loadedOutcome.ok) {
91
+ return loadedOutcome;
92
+ }
93
+ const reactConfig = loadedOutcome.value.config.audit?.react ?? {};
94
+ const targetPath = args.rawTarget === undefined ? rootDir : resolveRepoRelativePath(args.currentWorkingDirectory, args.rawTarget);
95
+ if (!fs.existsSync(targetPath)) {
96
+ return err(new AppError("NOT_FOUND", `Not found: ${targetPath}`));
97
+ }
98
+ return ok({
99
+ rootDir,
100
+ targetPath: fs.canonicalPathSync(targetPath),
101
+ allowlist: reactConfig.allowlist ?? [],
102
+ });
103
+ }
73
104
  /**
74
105
  * Loads config and resolves the scan target for `audit comments`.
75
106
  *
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/audit/prepare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/audit/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAazD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAkB,EAClB,IAGC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,iGAAiG;QACjG,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,WAAoB,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;IAE1C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;IACrC,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC;IAC1C,MAAM,mBAAmB,GAAG,aAAa,IAAI,gBAAgB,CAAC;IAC9D,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,GAAG,CACR,IAAI,QAAQ,CACV,kBAAkB,EAClB,sFAAsF,CACvF,CACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,uBAAuB,CACxC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,EACpE,mBAAmB,CACpB,CAAC;IACF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,EAAE,CAAC;QACR,OAAO;QACP,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC;QAC5C,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,EAAE;KACrC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAkB,EAClB,IAGC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,WAAoB,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;IAElE,MAAM,UAAU,GACd,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,EAAE,CAAC;QACR,OAAO;QACP,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC;QAC5C,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE;KACvC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAkB,EAClB,IAGC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,WAAoB,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;IAElE,MAAM,UAAU,GACd,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,EAAE,CAAC;QACR,OAAO;QACP,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC;QAC5C,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE;KACvC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAkB,EAClB,IAGC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,WAAoB,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;IAExE,MAAM,UAAU,GACd,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,cAAc,UAAU,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,EAAE,CAAC;QACR,OAAO;QACP,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC;QAC5C,SAAS,EAAE,cAAc,CAAC,SAAS,IAAI,EAAE;KAC1C,CAAC,CAAC;AACL,CAAC"}
@@ -2,9 +2,11 @@ import path from "node:path";
2
2
  import { scanCommentContent } from "#/audit/domain/comment-content";
3
3
  import { applyCommentDividerFixes, DIVIDER_COLUMN, scanCommentDividers } from "#/audit/domain/comment-dividers";
4
4
  import { countHeadMentions, isPathLinkTarget, linkTargetHead, scanLinkReferences, } from "#/audit/domain/link-references";
5
+ import { scanImpossibleSinceTags } from "#/audit/domain/since-versions";
5
6
  import { scanTsdocSyntax } from "#/audit/domain/tsdoc-syntax";
6
7
  import { AppError, messageFrom } from "#/core/errors";
7
8
  import { err, ok } from "#/core/result";
9
+ import { findNearestPackageVersion } from "#/core/workspace/package-version";
8
10
  import { sourceCommentLanguage, walkSourceFiles } from "#/core/workspace/source-walk";
9
11
  const reasonByDefect = {
10
12
  "bad-width": `rule does not end at column ${DIVIDER_COLUMN}`,
@@ -15,6 +17,7 @@ const reasonByDefect = {
15
17
  "legacy-form": "legacy divider form",
16
18
  "param-coverage": "a block naming any parameter must name them all — a partial list reads as complete",
17
19
  "param-hyphen": "TSDoc separates the name from its description with ' - '",
20
+ "since-impossible": "@since names a version the package has not reached — set it to the release that shipped the symbol",
18
21
  "since-order": "@since is stamped at release and stays the block's last tag",
19
22
  "stacked-doc": "// run stacked above a doc block — fold it into the block",
20
23
  };
@@ -32,6 +35,7 @@ export function runCommentAudit(fs, args) {
32
35
  const filesToScan = collectScanPaths(fs, targetPath);
33
36
  const perFile = new Map();
34
37
  const scanned = [];
38
+ const versionByDirectory = new Map();
35
39
  let allowlistedCount = 0;
36
40
  let fixedCount = 0;
37
41
  let dividerCount = 0;
@@ -71,6 +75,16 @@ export function runCommentAudit(fs, args) {
71
75
  }
72
76
  breakages.push({ line: finding.line, raw: finding.raw, reason: reasonByDefect[finding.defect] });
73
77
  }
78
+ const packageVersion = nearestVersion(fs, absolutePath, versionByDirectory);
79
+ if (packageVersion !== null) {
80
+ for (const finding of scanImpossibleSinceTags(content, packageVersion)) {
81
+ if (allowlist.has(finding.raw) || allowlist.has(`${relativePath}:${finding.raw}`)) {
82
+ allowlistedCount++;
83
+ continue;
84
+ }
85
+ breakages.push({ line: finding.line, raw: finding.raw, reason: reasonByDefect["since-impossible"] });
86
+ }
87
+ }
74
88
  if (language === "js") {
75
89
  for (const finding of scanTsdocSyntax(content)) {
76
90
  if (allowlist.has(finding.raw) || allowlist.has(`${relativePath}:${finding.raw}`)) {
@@ -152,6 +166,17 @@ function appendDeadLinkBreakages(fs, scanned, allowlist, perFile) {
152
166
  }
153
167
  return allowlisted;
154
168
  }
169
+ // One package.json walk per directory — sibling files share the answer.
170
+ function nearestVersion(fs, absolutePath, cache) {
171
+ const directory = path.dirname(absolutePath);
172
+ const cached = cache.get(directory);
173
+ if (cached !== undefined) {
174
+ return cached;
175
+ }
176
+ const version = findNearestPackageVersion(fs, directory);
177
+ cache.set(directory, version);
178
+ return version;
179
+ }
155
180
  function collectScanPaths(fs, targetPath) {
156
181
  const stats = fs.statSync(targetPath);
157
182
  if (stats.isFile()) {
@@ -1 +1 @@
1
- {"version":3,"file":"run-comments.js","sourceRoot":"","sources":["../../src/audit/run-comments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-comments.js","sourceRoot":"","sources":["../../src/audit/run-comments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import path from "node:path";
2
+ import { auditReactImportSource } from "#/audit/domain/react-imports";
3
+ import { AppError, messageFrom } from "#/core/errors";
4
+ import { err, ok } from "#/core/result";
5
+ import { walkTsxFiles } from "#/core/workspace/typescript-walk";
6
+ /**
7
+ * Scans a target path for React import-policy violations.
8
+ *
9
+ * @since 0.8.0
10
+ */
11
+ export function runReactAudit(fs, args) {
12
+ try {
13
+ const allowlist = new Set(args.allowlist);
14
+ const { rootDir, targetPath } = args;
15
+ const filesToScan = collectScanPaths(fs, targetPath);
16
+ const files = [];
17
+ let violationCount = 0;
18
+ let allowlistedCount = 0;
19
+ for (const absolutePath of filesToScan) {
20
+ const relativePath = toPosixPath(path.relative(rootDir, absolutePath));
21
+ const content = fs.readFileSync(absolutePath, "utf8");
22
+ const remaining = auditReactImportSource(absolutePath, content).filter(({ raw }) => {
23
+ const isAllowed = allowlist.has(raw) || allowlist.has(`${relativePath}:${raw}`);
24
+ if (isAllowed) {
25
+ allowlistedCount++;
26
+ }
27
+ return !isAllowed;
28
+ });
29
+ if (remaining.length === 0) {
30
+ continue;
31
+ }
32
+ violationCount += remaining.length;
33
+ files.push({ relativePath, violations: remaining });
34
+ }
35
+ return ok({
36
+ files,
37
+ violationCount,
38
+ allowlistedCount,
39
+ scannedFileCount: filesToScan.length,
40
+ });
41
+ }
42
+ catch (caughtError) {
43
+ return err(new AppError("INFRA_FAILURE", messageFrom(caughtError), caughtError));
44
+ }
45
+ }
46
+ function collectScanPaths(fs, targetPath) {
47
+ const stats = fs.statSync(targetPath);
48
+ if (stats.isFile()) {
49
+ return [targetPath];
50
+ }
51
+ return walkTsxFiles(targetPath, fs);
52
+ }
53
+ function toPosixPath(filePath) {
54
+ return filePath.split(path.sep).join("/");
55
+ }
56
+ //# sourceMappingURL=run-react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-react.js","sourceRoot":"","sources":["../../src/audit/run-react.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,EAAkB,EAClB,IAIC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACrC,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,KAAK,GAAqC,EAAE,CAAC;QACnD,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,KAAK,MAAM,YAAY,IAAI,WAAW,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;gBACjF,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,IAAI,GAAG,EAAE,CAAC,CAAC;gBAChF,IAAI,SAAS,EAAE,CAAC;oBACd,gBAAgB,EAAE,CAAC;gBACrB,CAAC;gBACD,OAAO,CAAC,SAAS,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,cAAc,IAAI,SAAS,CAAC,MAAM,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,EAAE,CAAC;YACR,KAAK;YACL,cAAc;YACd,gBAAgB;YAChB,gBAAgB,EAAE,WAAW,CAAC,MAAM;SACrC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,WAAoB,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAkB,EAAE,UAAkB;IAC9D,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC"}
package/dist/audit/run.js CHANGED
@@ -6,7 +6,7 @@ import { walkTsxFiles } from "#/core/workspace/typescript-walk";
6
6
  /**
7
7
  * Scans a target path for physical-direction Tailwind class violations.
8
8
  *
9
- * @since 1.0.0-canary.7
9
+ * @since 0.5.0-canary.6
10
10
  */
11
11
  export function runRtlAudit(fs, args) {
12
12
  try {
package/dist/cli.js CHANGED
@@ -20,6 +20,8 @@ function readVersion() {
20
20
  }
21
21
  }
22
22
  /**
23
+ * Runs the `codefast` CLI over the given argv and returns the process exit code.
24
+ *
23
25
  * @since 0.3.16-canary.0
24
26
  */
25
27
  export async function runCli(argv) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2B,CAAC,OAAO,CAAC;QACtE,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAmB;IAC9C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,OAAO,CAAC,WAAW,EAAE,CAAC;SACtB,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;QAClD,6EAA6E;QAC7E,iFAAiF;SAChF,uBAAuB,EAAE;SACzB,aAAa,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;SACxC,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;IAEhD,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEvC,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2B,CAAC,OAAO,CAAC;QACtE,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAmB;IAC9C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,UAAU,CAAC;SAChB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,OAAO,CAAC,WAAW,EAAE,CAAC;SACtB,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;QAClD,6EAA6E;QAC7E,iFAAiF;SAChF,uBAAuB,EAAE;SACzB,aAAa,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;SACxC,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;IAEhD,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEvC,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,4 +1,6 @@
1
1
  /**
2
+ * Formats an `AppError` as a `[CODE] message` line for CLI output.
3
+ *
2
4
  * @since 0.3.16-canary.0
3
5
  */
4
6
  export function formatAppError(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"format-error.js","sourceRoot":"","sources":["../../../src/core/cli/format-error.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAe;IAC5C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAChC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,eAAe,OAAO,EAAE,CAAC;QAClC,KAAK,kBAAkB;YACrB,OAAO,sBAAsB,OAAO,EAAE,CAAC;QACzC,KAAK,eAAe;YAClB,OAAO,mBAAmB,OAAO,EAAE,CAAC;QACtC,SAAS,CAAC;YACR,MAAM,UAAU,GAAU,IAAI,CAAC;YAC/B,OAAO,yBAAyB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"format-error.js","sourceRoot":"","sources":["../../../src/core/cli/format-error.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAe;IAC5C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAChC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,eAAe,OAAO,EAAE,CAAC;QAClC,KAAK,kBAAkB;YACrB,OAAO,sBAAsB,OAAO,EAAE,CAAC;QACzC,KAAK,eAAe;YAClB,OAAO,mBAAmB,OAAO,EAAE,CAAC;QACtC,SAAS,CAAC;YACR,MAAM,UAAU,GAAU,IAAI,CAAC;YAC/B,OAAO,yBAAyB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -18,6 +18,8 @@ function exitCodeForAppError(error) {
18
18
  }
19
19
  }
20
20
  /**
21
+ * Narrows a `Result` by invoking `onSuccess` on success, or reporting the error and setting the exit code.
22
+ *
21
23
  * @since 0.3.16-canary.0
22
24
  */
23
25
  export function handleResult(outcome, onSuccess) {
@@ -36,6 +38,8 @@ export function handleResult(outcome, onSuccess) {
36
38
  return true;
37
39
  }
38
40
  /**
41
+ * Narrows a `Result`, reporting a failure and setting the exit code, or logging an optional success message.
42
+ *
39
43
  * @since 0.3.16-canary.0
40
44
  */
41
45
  export function consumeCliAppError(outcome, options) {
@@ -56,6 +60,8 @@ export function consumeCliAppError(outcome, options) {
56
60
  return true;
57
61
  }
58
62
  /**
63
+ * Awaits a `Result`, hands a success to `onSuccess`, and records the returned exit code on the process.
64
+ *
59
65
  * @since 0.3.16-canary.0
60
66
  */
61
67
  export async function runCliResultAsync(outcomePromise, onSuccess) {
@@ -1 +1 @@
1
- {"version":3,"file":"result-handle.js","sourceRoot":"","sources":["../../../src/core/cli/result-handle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-handle.js","sourceRoot":"","sources":["../../../src/core/cli/result-handle.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,8 @@ async function loadOnce(startDir, fs) {
72
72
  return { config, warnings, configPath };
73
73
  }
74
74
  /**
75
+ * Loads and caches the config payload for a directory, sharing one load per resolved path.
76
+ *
75
77
  * @since 0.3.16-canary.0
76
78
  */
77
79
  export function loadConfigPayload(startDir, fs) {
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/config/loader.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,8 @@ export const mirrorPackageConfigSchema = z
49
49
  */
50
50
  export const mirrorConfigSchema = z.record(z.string(), z.union([z.literal(false), mirrorPackageConfigSchema]));
51
51
  /**
52
+ * Zod schema for the `tag` command's configuration.
53
+ *
52
54
  * @since 0.3.16-canary.0
53
55
  */
54
56
  export const codefastTagConfigSchema = z
@@ -58,6 +60,8 @@ export const codefastTagConfigSchema = z
58
60
  })
59
61
  .strict();
60
62
  /**
63
+ * Zod schema for the `arrange` command's configuration.
64
+ *
61
65
  * @since 0.3.16-canary.0
62
66
  */
63
67
  export const codefastArrangeConfigSchema = z
@@ -101,6 +105,20 @@ export const codefastAuditCommentsConfigSchema = z
101
105
  })
102
106
  .strict();
103
107
  /**
108
+ * React import-policy audit defaults — the scan always starts at the repo root, so only
109
+ * exceptions are configured.
110
+ *
111
+ * @since 0.8.0
112
+ */
113
+ export const codefastAuditReactConfigSchema = z
114
+ .object({
115
+ /** Offending source text as written, or `repo/relative/path.tsx:<text>` entries, to ignore. */
116
+ allowlist: z.array(z.string()).optional(),
117
+ })
118
+ .strict();
119
+ /**
120
+ * Zod schema grouping the per-audit configurations under `audit`.
121
+ *
104
122
  * @since 0.3.16-canary.0
105
123
  */
106
124
  export const codefastAuditConfigSchema = z
@@ -108,6 +126,7 @@ export const codefastAuditConfigSchema = z
108
126
  rtl: codefastAuditRtlConfigSchema.optional(),
109
127
  links: codefastAuditLinksConfigSchema.optional(),
110
128
  comments: codefastAuditCommentsConfigSchema.optional(),
129
+ react: codefastAuditReactConfigSchema.optional(),
111
130
  })
112
131
  .strict();
113
132
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { logger } from "#/core/logger";
2
2
  const yellowAnsi = "\x1b[33m";
3
3
  const resetAnsi = "\x1b[0m";
4
4
  /**
5
+ * Prints each config schema warning as a highlighted line.
6
+ *
5
7
  * @since 0.3.16-canary.0
6
8
  */
7
9
  export function reportSchemaWarnings(warnings) {
@@ -1 +1 @@
1
- {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../../src/core/config/warnings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,SAAS,GAAG,SAAS,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA+B;IAClE,KAAK,MAAM,cAAc,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,KAAK,cAAc,GAAG,SAAS,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../../src/core/config/warnings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,SAAS,GAAG,SAAS,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA+B;IAClE,KAAK,MAAM,cAAc,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,KAAK,cAAc,GAAG,SAAS,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
@@ -3,6 +3,8 @@ import { reportSchemaWarnings } from "#/core/config/warnings";
3
3
  import { AppError, messageFrom } from "#/core/errors";
4
4
  import { err, ok } from "#/core/result";
5
5
  /**
6
+ * Loads the `codefast.config.js` for a workspace root, reporting schema warnings along the way.
7
+ *
6
8
  * @since 0.3.16-canary.0
7
9
  */
8
10
  export async function loadCodefastConfig(rootDir, fs) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,EAAkB;IAElB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,WAAoB,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACnF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,EAAkB;IAElB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,WAAoB,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAC,IAAI,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACnF,CAAC;AACH,CAAC"}
@@ -5,6 +5,8 @@
5
5
  * @since 0.3.16-canary.0
6
6
  */
7
7
  /**
8
+ * A coded application error carried in `Result` values rather than thrown.
9
+ *
8
10
  * @since 0.3.16-canary.0
9
11
  */
10
12
  export class AppError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,OAAO,QAAQ;IACV,IAAI,GAAG,UAAmB,CAAC;IAC3B,IAAI,CAAe;IACnB,OAAO,CAAS;IAChB,KAAK,CAAW;IAEzB,YAAY,IAAkB,EAAE,OAAe,EAAE,KAAe;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IACD,OAAO,kCAAkC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACV,IAAI,GAAG,UAAmB,CAAC;IAC3B,IAAI,CAAe;IACnB,OAAO,CAAS;IAChB,KAAK,CAAW;IAEzB,YAAY,IAAkB,EAAE,OAAe,EAAE,KAAe;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IACD,OAAO,kCAAkC,CAAC;AAC5C,CAAC"}
@@ -5,10 +5,14 @@
5
5
  */
6
6
  export const CLI_EXIT_SUCCESS = 0;
7
7
  /**
8
+ * The exit code for a run that failed for any reason other than bad usage.
9
+ *
8
10
  * @since 0.3.16-canary.0
9
11
  */
10
12
  export const CLI_EXIT_GENERAL_ERROR = 1;
11
13
  /**
14
+ * The exit code for invalid arguments or configuration.
15
+ *
12
16
  * @since 0.3.16-canary.0
13
17
  */
14
18
  export const CLI_EXIT_USAGE = 2;
@@ -1 +1 @@
1
- {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../src/core/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../src/core/exit-codes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC"}
@@ -2,6 +2,8 @@ import fsSync from "node:fs";
2
2
  import fsPromises from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  /**
5
+ * The `FilesystemPort` implementation backed by Node's real filesystem.
6
+ *
5
7
  * @since 0.3.16-canary.0
6
8
  */
7
9
  export const nodeFilesystem = {
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/core/filesystem/node.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,YAAY,EAAE,MAAM,CAAC,YAAY;IACjC,aAAa,EAAE,MAAM,CAAC,aAAa;IACnC,WAAW,EAAE,MAAM,CAAC,WAAW;IAE/B,iBAAiB,CAAC,SAAiB;QACjC,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,QAAQ,EAAE,CAAC,QAAgB,EAAE,GAAoB,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;IAExF,SAAS,EAAE,CAAC,QAAgB,EAAE,IAAY,EAAE,GAAoB,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC;IAE9G,OAAO,EAAE,KAAK,EAAE,QAAgB,EAAE,IAAuD,EAAE,EAAE;QAC3F,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAgD,CAAC,CAAC;QACjG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;YACzB,OAAO,GAA+B,CAAC;QACzC,CAAC;QACD,OAAO,GAAuC,CAAC;IACjD,CAAC;IAED,MAAM,EAAE,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;IAEjF,MAAM,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;CAC1D,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/core/filesystem/node.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,YAAY,EAAE,MAAM,CAAC,YAAY;IACjC,aAAa,EAAE,MAAM,CAAC,aAAa;IACnC,WAAW,EAAE,MAAM,CAAC,WAAW;IAE/B,iBAAiB,CAAC,SAAiB;QACjC,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,QAAQ,EAAE,CAAC,QAAgB,EAAE,GAAoB,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;IAExF,SAAS,EAAE,CAAC,QAAgB,EAAE,IAAY,EAAE,GAAoB,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC;IAE9G,OAAO,EAAE,KAAK,EAAE,QAAgB,EAAE,IAAuD,EAAE,EAAE;QAC3F,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAgD,CAAC,CAAC;QACjG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;YACzB,OAAO,GAA+B,CAAC;QACzC,CAAC;QACD,OAAO,GAAuC,CAAC;IACjD,CAAC;IAED,MAAM,EAAE,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;IAEjF,MAAM,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;CAC1D,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import process from "node:process";
2
2
  /**
3
+ * The CLI's line-oriented writer for stdout and stderr.
4
+ *
3
5
  * @since 0.3.16-canary.0
4
6
  */
5
7
  export const logger = {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,CAAC,IAAY;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,GAAG,CAAC,IAAY;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACpC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,CAAC,IAAY;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,GAAG,CAAC,IAAY;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACpC,CAAC;CACF,CAAC"}