@trebired/code-discipline 0.1.0 → 1.1.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 (75) hide show
  1. package/CHANGELOG.md +18 -9
  2. package/README.md +142 -146
  3. package/dist/checks/fix-folderization.d.ts +17 -0
  4. package/dist/checks/fix-folderization.d.ts.map +1 -0
  5. package/dist/checks/fix-folderization.js +223 -0
  6. package/dist/checks/fix-folderization.js.map +1 -0
  7. package/dist/checks/index.d.ts +21 -2
  8. package/dist/checks/index.d.ts.map +1 -1
  9. package/dist/checks/index.js +104 -12
  10. package/dist/checks/index.js.map +1 -1
  11. package/dist/checks/rules/folderize-compound-files.d.ts.map +1 -1
  12. package/dist/checks/rules/folderize-compound-files.js +15 -33
  13. package/dist/checks/rules/folderize-compound-files.js.map +1 -1
  14. package/dist/checks/rules/folderize-plan.d.ts +16 -0
  15. package/dist/checks/rules/folderize-plan.d.ts.map +1 -0
  16. package/dist/checks/rules/folderize-plan.js +80 -0
  17. package/dist/checks/rules/folderize-plan.js.map +1 -0
  18. package/dist/checks/rules/max-file-lines.d.ts.map +1 -1
  19. package/dist/checks/rules/max-file-lines.js +2 -1
  20. package/dist/checks/rules/max-file-lines.js.map +1 -1
  21. package/dist/checks/types.d.ts +31 -20
  22. package/dist/checks/types.d.ts.map +1 -1
  23. package/dist/cli/run-cli.d.ts.map +1 -1
  24. package/dist/cli/run-cli.js +40 -16
  25. package/dist/cli/run-cli.js.map +1 -1
  26. package/dist/config/normalize-check-options.d.ts.map +1 -1
  27. package/dist/config/normalize-check-options.js +8 -1
  28. package/dist/config/normalize-check-options.js.map +1 -1
  29. package/dist/config/normalize-rule-options.d.ts +21 -7
  30. package/dist/config/normalize-rule-options.d.ts.map +1 -1
  31. package/dist/config/normalize-rule-options.js +43 -18
  32. package/dist/config/normalize-rule-options.js.map +1 -1
  33. package/dist/config/normalize-sync-imports-options.d.ts.map +1 -1
  34. package/dist/config/normalize-sync-imports-options.js +18 -6
  35. package/dist/config/normalize-sync-imports-options.js.map +1 -1
  36. package/dist/imports/aliases.d.ts +2 -1
  37. package/dist/imports/aliases.d.ts.map +1 -1
  38. package/dist/imports/aliases.js +18 -14
  39. package/dist/imports/aliases.js.map +1 -1
  40. package/dist/imports/check-sync-imports.d.ts +6 -0
  41. package/dist/imports/check-sync-imports.d.ts.map +1 -0
  42. package/dist/imports/check-sync-imports.js +55 -0
  43. package/dist/imports/check-sync-imports.js.map +1 -0
  44. package/dist/imports/module-specifiers.d.ts +20 -0
  45. package/dist/imports/module-specifiers.d.ts.map +1 -0
  46. package/dist/imports/module-specifiers.js +69 -0
  47. package/dist/imports/module-specifiers.js.map +1 -0
  48. package/dist/imports/rewrite.d.ts +3 -2
  49. package/dist/imports/rewrite.d.ts.map +1 -1
  50. package/dist/imports/rewrite.js +27 -90
  51. package/dist/imports/rewrite.js.map +1 -1
  52. package/dist/imports/sync-imports.d.ts.map +1 -1
  53. package/dist/imports/sync-imports.js +50 -5
  54. package/dist/imports/sync-imports.js.map +1 -1
  55. package/dist/imports/types.d.ts +18 -24
  56. package/dist/imports/types.d.ts.map +1 -1
  57. package/dist/index.d.ts +7 -7
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +4 -4
  60. package/dist/index.js.map +1 -1
  61. package/dist/shared/constants.d.ts +4 -6
  62. package/dist/shared/constants.d.ts.map +1 -1
  63. package/dist/shared/constants.js +4 -6
  64. package/dist/shared/constants.js.map +1 -1
  65. package/dist/shared/errors.d.ts +8 -2
  66. package/dist/shared/errors.d.ts.map +1 -1
  67. package/dist/shared/errors.js +13 -1
  68. package/dist/shared/errors.js.map +1 -1
  69. package/dist/shared/logging-types.d.ts +7 -1
  70. package/dist/shared/logging-types.d.ts.map +1 -1
  71. package/dist/shared/logging.d.ts +2 -3
  72. package/dist/shared/logging.d.ts.map +1 -1
  73. package/dist/shared/logging.js +20 -2
  74. package/dist/shared/logging.js.map +1 -1
  75. package/package.json +3 -1
@@ -1,30 +1,9 @@
1
1
  import fs from "node:fs/promises";
2
- import path from "node:path";
3
- import ts from "typescript";
4
- import { ParseFailureError, RewriteFailureError } from "../shared/errors.js";
2
+ import { RewriteFailureError } from "../shared/errors.js";
3
+ import { applyTextReplacements, collectModuleSpecifiers } from "./module-specifiers.js";
5
4
  import { resolveRelativeImport } from "./resolve.js";
6
- import { formatDiagnostics } from "../shared/utils.js";
7
- function resolveScriptKind(filePath) {
8
- const extension = path.extname(filePath).toLowerCase();
9
- if (extension === ".tsx")
10
- return ts.ScriptKind.TSX;
11
- if (extension === ".jsx")
12
- return ts.ScriptKind.JSX;
13
- if (extension === ".js")
14
- return ts.ScriptKind.JS;
15
- return ts.ScriptKind.TS;
16
- }
17
- function parseSource(text, filePath) {
18
- const sourceFile = ts.createSourceFile(filePath, text, ts.ScriptTarget.Latest, true, resolveScriptKind(filePath));
19
- const diagnostics = (sourceFile.parseDiagnostics ?? []);
20
- const errors = diagnostics.filter((diagnostic) => diagnostic.category === ts.DiagnosticCategory.Error);
21
- if (errors.length > 0) {
22
- throw new ParseFailureError(filePath, formatDiagnostics(errors));
23
- }
24
- return sourceFile;
25
- }
26
- function shouldKeepRelative(specifier, sourceFile, resolvedFile, options) {
27
- const policy = options.imports.keepRelative;
5
+ function isAllowedRelative(specifier, sourceFile, resolvedFile, options) {
6
+ const policy = options.allowRelative;
28
7
  if (Array.isArray(policy)) {
29
8
  return policy.some((entry) => specifier === entry || specifier.startsWith(entry));
30
9
  }
@@ -35,74 +14,34 @@ function shouldKeepRelative(specifier, sourceFile, resolvedFile, options) {
35
14
  sourceRoot: options.sourceRoot,
36
15
  });
37
16
  }
38
- function collectReplacements(sourceFile, sourcePath, options, aliasIdsByFilePath, logger) {
39
- const replacements = [];
40
- function queueLiteralRewrite(node) {
41
- const specifier = node.text;
42
- replacements.push((async () => {
43
- if (!specifier.startsWith("."))
44
- return null;
45
- const resolvedFile = await resolveRelativeImport(specifier, sourcePath, options);
17
+ async function rewriteSourceFile(file, options, aliasIdsByFilePath, logger) {
18
+ try {
19
+ const text = await fs.readFile(file.absolutePath, "utf8");
20
+ const replacements = [];
21
+ for (const occurrence of collectModuleSpecifiers(text, file.absolutePath)) {
22
+ if (!occurrence.specifier.startsWith("."))
23
+ continue;
24
+ const resolvedFile = await resolveRelativeImport(occurrence.specifier, file.absolutePath, options);
46
25
  if (!resolvedFile) {
47
- logger.debug("rewrite-skipped-unresolved", `skipped unresolved import ${specifier}`, {
48
- sourceFile: sourcePath,
49
- specifier,
26
+ logger.debug("rewrite-skipped-unresolved", `skipped unresolved import ${occurrence.specifier}`, {
27
+ sourceFile: file.absolutePath,
28
+ specifier: occurrence.specifier,
50
29
  });
51
- return null;
52
- }
53
- if (shouldKeepRelative(specifier, sourcePath, resolvedFile, options)) {
54
- return null;
30
+ continue;
55
31
  }
32
+ if (isAllowedRelative(occurrence.specifier, file.absolutePath, resolvedFile, options))
33
+ continue;
56
34
  const aliasId = aliasIdsByFilePath.get(resolvedFile);
57
35
  if (!aliasId)
58
- return null;
59
- return {
60
- start: node.getStart(sourceFile) + 1,
61
- end: node.getEnd() - 1,
36
+ continue;
37
+ replacements.push({
38
+ start: occurrence.start,
39
+ end: occurrence.end,
62
40
  value: aliasId,
63
- };
64
- })());
65
- }
66
- function visit(node) {
67
- if (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) {
68
- if (node.moduleSpecifier && ts.isStringLiteralLike(node.moduleSpecifier)) {
69
- queueLiteralRewrite(node.moduleSpecifier);
70
- }
41
+ });
71
42
  }
72
- if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {
73
- const [firstArg] = node.arguments;
74
- if (firstArg && ts.isStringLiteralLike(firstArg)) {
75
- queueLiteralRewrite(firstArg);
76
- }
77
- }
78
- if (ts.isImportTypeNode(node) && ts.isLiteralTypeNode(node.argument) && ts.isStringLiteralLike(node.argument.literal)) {
79
- queueLiteralRewrite(node.argument.literal);
80
- }
81
- ts.forEachChild(node, visit);
82
- }
83
- visit(sourceFile);
84
- return Promise.all(replacements).then((rows) => rows.filter(Boolean));
85
- }
86
- function applyReplacements(text, replacements) {
87
- if (replacements.length === 0)
88
- return { text, rewrittenImports: 0 };
89
- const sorted = [...replacements].sort((left, right) => right.start - left.start);
90
- let nextText = text;
91
- for (const replacement of sorted) {
92
- nextText = `${nextText.slice(0, replacement.start)}${replacement.value}${nextText.slice(replacement.end)}`;
93
- }
94
- return {
95
- text: nextText,
96
- rewrittenImports: replacements.length,
97
- };
98
- }
99
- async function rewriteSourceFile(file, options, aliasIdsByFilePath, logger) {
100
- try {
101
- const text = await fs.readFile(file.absolutePath, "utf8");
102
- const sourceFile = parseSource(text, file.absolutePath);
103
- const replacements = await collectReplacements(sourceFile, file.absolutePath, options, aliasIdsByFilePath, logger);
104
- const applied = applyReplacements(text, replacements);
105
- if (applied.rewrittenImports === 0) {
43
+ const applied = applyTextReplacements(text, replacements);
44
+ if (applied.count === 0) {
106
45
  return {
107
46
  rewritten: false,
108
47
  rewrittenImports: 0,
@@ -111,12 +50,10 @@ async function rewriteSourceFile(file, options, aliasIdsByFilePath, logger) {
111
50
  await fs.writeFile(file.absolutePath, applied.text);
112
51
  return {
113
52
  rewritten: true,
114
- rewrittenImports: applied.rewrittenImports,
53
+ rewrittenImports: applied.count,
115
54
  };
116
55
  }
117
56
  catch (error) {
118
- if (error instanceof ParseFailureError)
119
- throw error;
120
57
  throw new RewriteFailureError(file.absolutePath, error);
121
58
  }
122
59
  }
@@ -135,5 +72,5 @@ async function rewriteSourceImports(sourceFiles, aliasRecords, options, logger)
135
72
  rewrittenImports,
136
73
  };
137
74
  }
138
- export { rewriteSourceImports };
75
+ export { isAllowedRelative, rewriteSourceImports };
139
76
  //# sourceMappingURL=rewrite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../src/imports/rewrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rewrite.js","sourceRoot":"","sources":["../../src/imports/rewrite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAUrD,SAAS,iBAAiB,CACxB,SAAiB,EACjB,UAAkB,EAClB,YAAoB,EACpB,OAAqC;IAErC,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAErC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,OAAQ,MAA0B,CAAC,SAAS,EAAE;QAC5C,UAAU;QACV,YAAY;QACZ,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,IAAuB,EACvB,OAAqC,EACrC,kBAAuC,EACvC,MAAmC;IAEnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,KAAK,MAAM,UAAU,IAAI,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAEpD,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACnG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,6BAA6B,UAAU,CAAC,SAAS,EAAE,EAAE;oBAC9F,UAAU,EAAE,IAAI,CAAC,YAAY;oBAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;iBAChC,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC;gBAAE,SAAS;YAEhG,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,YAAY,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,GAAG,EAAE,UAAU,CAAC,GAAG;gBACnB,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,gBAAgB,EAAE,CAAC;aACpB,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEpD,OAAO;YACL,SAAS,EAAE,IAAI;YACf,gBAAgB,EAAE,OAAO,CAAC,KAAK;SAChC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,WAAgC,EAChC,YAA2B,EAC3B,OAAqC,EACrC,MAAmC;IAEnC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnG,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAClF,IAAI,MAAM,CAAC,SAAS;YAAE,cAAc,IAAI,CAAC,CAAC;QAC1C,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,cAAc;QACd,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-imports.d.ts","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExE,iBAAe,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwClF;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"sync-imports.d.ts","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExE,iBAAe,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyFlF;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { normalizeSyncImportsOptions } from "../config/normalize-sync-imports-options.js";
2
2
  import { resolveLogger } from "../shared/logging.js";
3
+ import { planTsconfigAliases, syncTsconfigAliases } from "./aliases.js";
4
+ import { collectSyncImportViolations } from "./check-sync-imports.js";
3
5
  import { rewriteSourceImports } from "./rewrite.js";
4
6
  import { scanSourceFiles } from "./scan.js";
5
- import { syncTsconfigAliases } from "./aliases.js";
6
7
  async function syncImports(options) {
7
8
  const normalized = await normalizeSyncImportsOptions(options);
8
9
  const logger = resolveLogger(normalized.logging);
@@ -10,13 +11,54 @@ async function syncImports(options) {
10
11
  projectRoot: normalized.projectRoot,
11
12
  sourceRoot: normalized.sourceRoot,
12
13
  tsconfigPath: normalized.tsconfigPath,
14
+ fix: normalized.fix,
13
15
  });
14
16
  try {
15
17
  const sourceFiles = await scanSourceFiles(normalized);
16
- const aliasState = await syncTsconfigAliases(normalized, sourceFiles, logger);
17
- const rewriteState = normalized.imports.rewrite
18
- ? await rewriteSourceImports(sourceFiles, aliasState.aliasRecords, normalized, logger)
19
- : { rewrittenFiles: 0, rewrittenImports: 0 };
18
+ const plannedAliases = await planTsconfigAliases(normalized, sourceFiles, logger);
19
+ const driftViolations = await collectSyncImportViolations(sourceFiles, normalized, logger);
20
+ if (!normalized.enabled) {
21
+ logger.info("sync-disabled", "syncImports is disabled", {
22
+ aliasesCount: plannedAliases.aliasesCount,
23
+ });
24
+ return {
25
+ ok: true,
26
+ mutations_allowed: false,
27
+ aliases_changed: false,
28
+ aliases_count: plannedAliases.aliasesCount,
29
+ import_violations: 0,
30
+ rewritten_files: 0,
31
+ rewritten_imports: 0,
32
+ };
33
+ }
34
+ if (!normalized.fix) {
35
+ const failed = normalized.stop && driftViolations.length > 0;
36
+ if (driftViolations.length > 0) {
37
+ const log = failed ? logger.error : logger.warn;
38
+ log("sync-drift-detected", `sync drift detected count=${driftViolations.length}`, {
39
+ aliasesChanged: plannedAliases.aliasesChanged,
40
+ importViolations: driftViolations.length,
41
+ });
42
+ }
43
+ else {
44
+ logger.success("sync-drift-clear", "sync policy already satisfied", {
45
+ aliasesChanged: plannedAliases.aliasesChanged,
46
+ });
47
+ }
48
+ return {
49
+ ok: !failed,
50
+ mutations_allowed: false,
51
+ aliases_changed: plannedAliases.aliasesChanged,
52
+ aliases_count: plannedAliases.aliasesCount,
53
+ import_violations: driftViolations.length,
54
+ rewritten_files: 0,
55
+ rewritten_imports: 0,
56
+ };
57
+ }
58
+ const aliasState = plannedAliases.aliasesChanged
59
+ ? await syncTsconfigAliases(normalized, sourceFiles, logger)
60
+ : plannedAliases;
61
+ const rewriteState = await rewriteSourceImports(sourceFiles, aliasState.aliasRecords, normalized, logger);
20
62
  logger.success("sync-finished", `rewritten files=${rewriteState.rewrittenFiles} imports=${rewriteState.rewrittenImports}`, {
21
63
  aliasesChanged: aliasState.aliasesChanged,
22
64
  aliasesCount: aliasState.aliasesCount,
@@ -24,8 +66,11 @@ async function syncImports(options) {
24
66
  rewrittenImports: rewriteState.rewrittenImports,
25
67
  });
26
68
  return {
69
+ ok: true,
70
+ mutations_allowed: true,
27
71
  aliases_changed: aliasState.aliasesChanged,
28
72
  aliases_count: aliasState.aliasesCount,
73
+ import_violations: 0,
29
74
  rewritten_files: rewriteState.rewrittenFiles,
30
75
  rewritten_imports: rewriteState.rewrittenImports,
31
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sync-imports.js","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,KAAK,UAAU,WAAW,CAAC,OAA2B;IACpD,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAEjD,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE;QAC1C,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,YAAY,EAAE,UAAU,CAAC,YAAY;KACtC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO;YAC7C,CAAC,CAAC,MAAM,oBAAoB,CAAC,WAAW,EAAE,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC;YACtF,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;QAE/C,MAAM,CAAC,OAAO,CACZ,eAAe,EACf,mBAAmB,YAAY,CAAC,cAAc,YAAY,YAAY,CAAC,gBAAgB,EAAE,EACzF;YACE,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;SAChD,CACF,CAAC;QAEF,OAAO;YACL,eAAe,EAAE,UAAU,CAAC,cAAc;YAC1C,aAAa,EAAE,UAAU,CAAC,YAAY;YACtC,eAAe,EAAE,YAAY,CAAC,cAAc;YAC5C,iBAAiB,EAAE,YAAY,CAAC,gBAAgB;SACjD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE;YAClF,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK;SAC1D,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"sync-imports.js","sourceRoot":"","sources":["../../src/imports/sync-imports.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { LogAdapterFn } from "../shared/logging-types.js";
1
+ import type { LoggingOptions } from "../shared/logging-types.js";
2
2
  type AliasStrategyInput = {
3
3
  absolutePath: string;
4
4
  relativeFromProjectRoot: string;
@@ -7,38 +7,37 @@ type AliasStrategyInput = {
7
7
  prefix: string;
8
8
  };
9
9
  type AliasStrategyFn = (input: AliasStrategyInput) => string;
10
- type KeepRelativeContext = {
10
+ type AllowRelativeContext = {
11
11
  sourceFile: string;
12
12
  resolvedFile: string;
13
13
  projectRoot: string;
14
14
  sourceRoot: string;
15
15
  };
16
- type KeepRelativeFn = (specifier: string, context: KeepRelativeContext) => boolean;
16
+ type AllowRelativeFn = (specifier: string, context: AllowRelativeContext) => boolean;
17
17
  type SyncImportsOptions = {
18
18
  projectRoot: string;
19
19
  sourceRoot?: string;
20
20
  tsconfigPath?: string;
21
21
  sourceExtensions?: string[];
22
22
  excludeDirs?: string[];
23
+ enabled?: boolean;
24
+ stop?: boolean;
25
+ fix?: boolean;
23
26
  alias?: {
24
27
  prefix?: string;
25
28
  strategy?: "random" | "relative-path-hash" | "relative-path-slug" | AliasStrategyFn;
26
29
  randomLength?: number;
27
30
  };
28
- imports?: {
29
- rewrite?: boolean;
30
- keepRelative?: string[] | KeepRelativeFn;
31
- };
32
- logging?: {
33
- enabled?: boolean;
34
- logger?: unknown;
35
- adapter?: "trebired" | "generic" | "console" | LogAdapterFn;
36
- quiet?: boolean;
37
- };
31
+ allowRelative?: string[] | AllowRelativeFn;
32
+ logging?: LoggingOptions;
38
33
  };
34
+ type SyncImportsRuleOptions = Omit<SyncImportsOptions, "projectRoot">;
39
35
  type SyncImportsResult = {
36
+ ok: boolean;
37
+ mutations_allowed: boolean;
40
38
  aliases_changed: boolean;
41
39
  aliases_count: number;
40
+ import_violations: number;
42
41
  rewritten_files: number;
43
42
  rewritten_imports: number;
44
43
  };
@@ -51,21 +50,16 @@ type SourceScanOptions = {
51
50
  type NormalizedSyncImportsOptions = SourceScanOptions & {
52
51
  sourceRootRelative: string;
53
52
  tsconfigPath: string;
53
+ enabled: boolean;
54
+ stop: boolean;
55
+ fix: boolean;
54
56
  alias: {
55
57
  prefix: string;
56
58
  strategy: "random" | "relative-path-hash" | "relative-path-slug" | AliasStrategyFn;
57
59
  randomLength: number;
58
60
  };
59
- imports: {
60
- rewrite: boolean;
61
- keepRelative: string[] | KeepRelativeFn;
62
- };
63
- logging: {
64
- enabled: boolean;
65
- logger?: unknown;
66
- adapter?: "trebired" | "generic" | "console" | LogAdapterFn;
67
- quiet: boolean;
68
- };
61
+ allowRelative: string[] | AllowRelativeFn;
62
+ logging: LoggingOptions;
69
63
  };
70
64
  type ScannedSourceFile = {
71
65
  absolutePath: string;
@@ -100,5 +94,5 @@ type RewriteResult = {
100
94
  rewrittenFiles: number;
101
95
  rewrittenImports: number;
102
96
  };
103
- export type { AliasRecord, AliasStrategyFn, AliasStrategyInput, KeepRelativeContext, KeepRelativeFn, NormalizedSyncImportsOptions, RewriteFileResult, RewriteResult, ScannedSourceFile, SourceScanOptions, SyncAliasesResult, SyncImportsOptions, SyncImportsResult, TsconfigJson, };
97
+ export type { AliasRecord, AliasStrategyFn, AliasStrategyInput, AllowRelativeContext, AllowRelativeFn, NormalizedSyncImportsOptions, RewriteFileResult, RewriteResult, ScannedSourceFile, SourceScanOptions, SyncAliasesResult, SyncImportsOptions, SyncImportsResult, SyncImportsRuleOptions, TsconfigJson, };
104
98
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/imports/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,KAAK,kBAAkB,GAAG;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,MAAM,CAAC;AAE7D,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC;AAEnF,KAAK,kBAAkB,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,eAAe,CAAC;QACpF,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;KAC1C,CAAC;IACF,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;QAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,KAAK,4BAA4B,GAAG,iBAAiB,GAAG;IACtD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,QAAQ,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,eAAe,CAAC;QACnF,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;KACzC,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;QAC5D,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,eAAe,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,YAAY,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,GACb,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/imports/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,16 +1,16 @@
1
- export { DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_FOLDERIZE_COMPOUND_FILES_SEVERITY, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SUFFIXES, DEFAULT_EXCLUDE_DIRS, DEFAULT_IMPORTS_REWRITE, DEFAULT_KEEP_RELATIVE, DEFAULT_MAX_FILE_LINES_SEVERITY, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, } from "./shared/constants.js";
2
- export { checkCodeDiscipline } from "./checks/index.js";
1
+ export { DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_ALLOW_RELATIVE, DEFAULT_EXCLUDE_DIRS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_RULE_FIX, DEFAULT_RULE_STOP, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, } from "./shared/constants.js";
2
+ export { checkCodeDiscipline, fixCodeDiscipline } from "./checks/index.js";
3
3
  export { defineCodeDisciplineConfig, loadCodeDisciplineConfig } from "./config/index.js";
4
4
  export { normalizeSyncImportsOptions } from "./config/normalize-sync-imports-options.js";
5
- export { syncTsconfigAliases } from "./imports/aliases.js";
5
+ export { planTsconfigAliases, syncTsconfigAliases } from "./imports/aliases.js";
6
6
  export { resolveRelativeImport } from "./imports/resolve.js";
7
7
  export { rewriteSourceImports } from "./imports/rewrite.js";
8
8
  export { scanSourceFiles } from "./imports/scan.js";
9
9
  export { createRandomAlias, createRelativePathHashAlias, createRelativePathSlugAlias } from "./imports/strategies.js";
10
10
  export { syncImports } from "./imports/sync-imports.js";
11
11
  export { resolveLogger } from "./shared/logging.js";
12
- export { AliasCollisionError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, } from "./shared/errors.js";
13
- export type { LogAdapterFn, NormalizedSyncImportsLogger, SyncImportsLogEvent, SyncImportsLogLevel, } from "./shared/logging-types.js";
14
- export type { AliasRecord, AliasStrategyFn, AliasStrategyInput, KeepRelativeContext, KeepRelativeFn, NormalizedSyncImportsOptions, RewriteFileResult, RewriteResult, ScannedSourceFile, SourceScanOptions, SyncAliasesResult, SyncImportsOptions, SyncImportsResult, TsconfigJson, } from "./imports/types.js";
15
- export type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineRuleName, CodeDisciplineRuleSeverity, CodeDisciplineRules, CodeDisciplineViolation, FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, NormalizedCheckCodeDisciplineOptions, NormalizedFolderizeCompoundFilesRule, NormalizedMaxFileLinesRule, SyncImportsRuleOptions, } from "./checks/types.js";
12
+ export { AliasCollisionError, FileConflictError, FixFailureError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, } from "./shared/errors.js";
13
+ export type { LogAdapterFn, LoggingOptions, NormalizedSyncImportsLogger, SyncImportsLogEvent, SyncImportsLogLevel, } from "./shared/logging-types.js";
14
+ export type { AliasRecord, AliasStrategyFn, AliasStrategyInput, AllowRelativeContext, AllowRelativeFn, NormalizedSyncImportsOptions, RewriteFileResult, RewriteResult, ScannedSourceFile, SourceScanOptions, SyncAliasesResult, SyncImportsOptions, SyncImportsResult, SyncImportsRuleOptions, TsconfigJson, } from "./imports/types.js";
15
+ export type { CheckCodeDisciplineOptions, CheckCodeDisciplineResult, CodeDisciplineConfig, CodeDisciplineRuleName, CodeDisciplineRules, CodeDisciplineViolation, FixCodeDisciplineOptions, FixCodeDisciplineResult, FolderizeCompoundFilesRuleOptions, MaxFileLinesRuleOptions, NormalizedCheckCodeDisciplineOptions, NormalizedFolderizeCompoundFilesRule, NormalizedMaxFileLinesRule, NormalizedRuleControl, RuleControlOptions, } from "./checks/types.js";
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,yCAAyC,EACzC,0CAA0C,EAC1C,wCAAwC,EACxC,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,YAAY,EACZ,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,iCAAiC,EACjC,uBAAuB,EACvB,oCAAoC,EACpC,oCAAoC,EACpC,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,iCAAiC,EACjC,uBAAuB,EACvB,oCAAoC,EACpC,oCAAoC,EACpC,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- export { DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_FOLDERIZE_COMPOUND_FILES_SEVERITY, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SUFFIXES, DEFAULT_EXCLUDE_DIRS, DEFAULT_IMPORTS_REWRITE, DEFAULT_KEEP_RELATIVE, DEFAULT_MAX_FILE_LINES_SEVERITY, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, } from "./shared/constants.js";
2
- export { checkCodeDiscipline } from "./checks/index.js";
1
+ export { DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_ALLOW_RELATIVE, DEFAULT_EXCLUDE_DIRS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_RULE_FIX, DEFAULT_RULE_STOP, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, } from "./shared/constants.js";
2
+ export { checkCodeDiscipline, fixCodeDiscipline } from "./checks/index.js";
3
3
  export { defineCodeDisciplineConfig, loadCodeDisciplineConfig } from "./config/index.js";
4
4
  export { normalizeSyncImportsOptions } from "./config/normalize-sync-imports-options.js";
5
- export { syncTsconfigAliases } from "./imports/aliases.js";
5
+ export { planTsconfigAliases, syncTsconfigAliases } from "./imports/aliases.js";
6
6
  export { resolveRelativeImport } from "./imports/resolve.js";
7
7
  export { rewriteSourceImports } from "./imports/rewrite.js";
8
8
  export { scanSourceFiles } from "./imports/scan.js";
9
9
  export { createRandomAlias, createRelativePathHashAlias, createRelativePathSlugAlias } from "./imports/strategies.js";
10
10
  export { syncImports } from "./imports/sync-imports.js";
11
11
  export { resolveLogger } from "./shared/logging.js";
12
- export { AliasCollisionError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, } from "./shared/errors.js";
12
+ export { AliasCollisionError, FileConflictError, FixFailureError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, } from "./shared/errors.js";
13
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,yCAAyC,EACzC,0CAA0C,EAC1C,wCAAwC,EACxC,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC"}
@@ -4,15 +4,13 @@ declare const DEFAULT_EXCLUDE_DIRS: string[];
4
4
  declare const DEFAULT_ALIAS_PREFIX = "#";
5
5
  declare const DEFAULT_ALIAS_STRATEGY = "random";
6
6
  declare const DEFAULT_ALIAS_RANDOM_LENGTH = 12;
7
- declare const DEFAULT_IMPORTS_REWRITE = true;
8
- declare const DEFAULT_KEEP_RELATIVE: string[];
9
- declare const DEFAULT_MAX_FILE_LINES_SEVERITY = "error";
10
- declare const DEFAULT_FOLDERIZE_COMPOUND_FILES_SEVERITY = "error";
7
+ declare const DEFAULT_RULE_STOP = true;
8
+ declare const DEFAULT_RULE_FIX = false;
9
+ declare const DEFAULT_ALLOW_RELATIVE: string[];
11
10
  declare const DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS: string[];
12
- declare const DEFAULT_FOLDERIZE_COMPOUND_FILE_SUFFIXES: string[];
13
11
  declare const CODE_DISCIPLINE_CONFIG_FILE = "code-discipline.config.json";
14
12
  declare const SYNC_IMPORTS_LOG_GROUP = "code-discipline";
15
13
  declare const RANDOM_ALIAS_ALPHABET = "abcdefghijklmnopqrstuvwxyz0123456789";
16
14
  declare const HASH_ALIAS_LENGTH = 12;
17
- export { CODE_DISCIPLINE_CONFIG_FILE, DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_EXCLUDE_DIRS, DEFAULT_FOLDERIZE_COMPOUND_FILES_SEVERITY, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SUFFIXES, DEFAULT_IMPORTS_REWRITE, DEFAULT_KEEP_RELATIVE, DEFAULT_MAX_FILE_LINES_SEVERITY, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, HASH_ALIAS_LENGTH, RANDOM_ALIAS_ALPHABET, SYNC_IMPORTS_LOG_GROUP, };
15
+ export { CODE_DISCIPLINE_CONFIG_FILE, DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_ALLOW_RELATIVE, DEFAULT_EXCLUDE_DIRS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_RULE_FIX, DEFAULT_RULE_STOP, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, HASH_ALIAS_LENGTH, RANDOM_ALIAS_ALPHABET, SYNC_IMPORTS_LOG_GROUP, };
18
16
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,mBAAmB,QAAQ,CAAC;AAClC,QAAA,MAAM,yBAAyB,UAAiC,CAAC;AACjE,QAAA,MAAM,oBAAoB,UAAoC,CAAC;AAC/D,QAAA,MAAM,oBAAoB,MAAM,CAAC;AACjC,QAAA,MAAM,sBAAsB,WAAW,CAAC;AACxC,QAAA,MAAM,2BAA2B,KAAK,CAAC;AACvC,QAAA,MAAM,uBAAuB,OAAO,CAAC;AACrC,QAAA,MAAM,qBAAqB,UAAS,CAAC;AACrC,QAAA,MAAM,+BAA+B,UAAU,CAAC;AAChD,QAAA,MAAM,yCAAyC,UAAU,CAAC;AAC1D,QAAA,MAAM,0CAA0C,UAAa,CAAC;AAC9D,QAAA,MAAM,wCAAwC,UAAY,CAAC;AAC3D,QAAA,MAAM,2BAA2B,gCAAgC,CAAC;AAClE,QAAA,MAAM,sBAAsB,oBAAoB,CAAC;AACjD,QAAA,MAAM,qBAAqB,yCAAyC,CAAC;AACrE,QAAA,MAAM,iBAAiB,KAAK,CAAC;AAE7B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,yCAAyC,EACzC,0CAA0C,EAC1C,wCAAwC,EACxC,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,GACvB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,mBAAmB,QAAQ,CAAC;AAClC,QAAA,MAAM,yBAAyB,UAAiC,CAAC;AACjE,QAAA,MAAM,oBAAoB,UAAoC,CAAC;AAC/D,QAAA,MAAM,oBAAoB,MAAM,CAAC;AACjC,QAAA,MAAM,sBAAsB,WAAW,CAAC;AACxC,QAAA,MAAM,2BAA2B,KAAK,CAAC;AACvC,QAAA,MAAM,iBAAiB,OAAO,CAAC;AAC/B,QAAA,MAAM,gBAAgB,QAAQ,CAAC;AAC/B,QAAA,MAAM,sBAAsB,UAAS,CAAC;AACtC,QAAA,MAAM,0CAA0C,UAAa,CAAC;AAC9D,QAAA,MAAM,2BAA2B,gCAAgC,CAAC;AAClE,QAAA,MAAM,sBAAsB,oBAAoB,CAAC;AACjD,QAAA,MAAM,qBAAqB,yCAAyC,CAAC;AACrE,QAAA,MAAM,iBAAiB,KAAK,CAAC;AAE7B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,GACvB,CAAC"}
@@ -4,15 +4,13 @@ const DEFAULT_EXCLUDE_DIRS = ["node_modules", "dist", ".vite"];
4
4
  const DEFAULT_ALIAS_PREFIX = "#";
5
5
  const DEFAULT_ALIAS_STRATEGY = "random";
6
6
  const DEFAULT_ALIAS_RANDOM_LENGTH = 12;
7
- const DEFAULT_IMPORTS_REWRITE = true;
8
- const DEFAULT_KEEP_RELATIVE = ["./"];
9
- const DEFAULT_MAX_FILE_LINES_SEVERITY = "error";
10
- const DEFAULT_FOLDERIZE_COMPOUND_FILES_SEVERITY = "error";
7
+ const DEFAULT_RULE_STOP = true;
8
+ const DEFAULT_RULE_FIX = false;
9
+ const DEFAULT_ALLOW_RELATIVE = ["./"];
11
10
  const DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS = ["_", "-"];
12
- const DEFAULT_FOLDERIZE_COMPOUND_FILE_SUFFIXES = ["start"];
13
11
  const CODE_DISCIPLINE_CONFIG_FILE = "code-discipline.config.json";
14
12
  const SYNC_IMPORTS_LOG_GROUP = "code-discipline";
15
13
  const RANDOM_ALIAS_ALPHABET = "abcdefghijklmnopqrstuvwxyz0123456789";
16
14
  const HASH_ALIAS_LENGTH = 12;
17
- export { CODE_DISCIPLINE_CONFIG_FILE, DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_EXCLUDE_DIRS, DEFAULT_FOLDERIZE_COMPOUND_FILES_SEVERITY, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SUFFIXES, DEFAULT_IMPORTS_REWRITE, DEFAULT_KEEP_RELATIVE, DEFAULT_MAX_FILE_LINES_SEVERITY, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, HASH_ALIAS_LENGTH, RANDOM_ALIAS_ALPHABET, SYNC_IMPORTS_LOG_GROUP, };
15
+ export { CODE_DISCIPLINE_CONFIG_FILE, DEFAULT_ALIAS_PREFIX, DEFAULT_ALIAS_RANDOM_LENGTH, DEFAULT_ALIAS_STRATEGY, DEFAULT_ALLOW_RELATIVE, DEFAULT_EXCLUDE_DIRS, DEFAULT_FOLDERIZE_COMPOUND_FILE_SEPARATORS, DEFAULT_RULE_FIX, DEFAULT_RULE_STOP, DEFAULT_SOURCE_EXTENSIONS, DEFAULT_SOURCE_ROOT, HASH_ALIAS_LENGTH, RANDOM_ALIAS_ALPHABET, SYNC_IMPORTS_LOG_GROUP, };
18
16
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACjE,MAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/D,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AACxC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,MAAM,qBAAqB,GAAG,CAAC,IAAI,CAAC,CAAC;AACrC,MAAM,+BAA+B,GAAG,OAAO,CAAC;AAChD,MAAM,yCAAyC,GAAG,OAAO,CAAC;AAC1D,MAAM,0CAA0C,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9D,MAAM,wCAAwC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC3D,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AAClE,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AACjD,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AACrE,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,yCAAyC,EACzC,0CAA0C,EAC1C,wCAAwC,EACxC,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,GACvB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACjE,MAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/D,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AACxC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,MAAM,0CAA0C,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9D,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AAClE,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AACjD,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AACrE,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0CAA0C,EAC1C,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,GACvB,CAAC"}
@@ -1,4 +1,4 @@
1
- type SyncImportsErrorCode = "invalid_project_root" | "invalid_source_root" | "invalid_tsconfig_path" | "invalid_config" | "alias_collision" | "invalid_alias" | "rewrite_failure" | "parse_failure";
1
+ type SyncImportsErrorCode = "invalid_project_root" | "invalid_source_root" | "invalid_tsconfig_path" | "invalid_config" | "alias_collision" | "invalid_alias" | "rewrite_failure" | "parse_failure" | "file_conflict" | "fix_failure";
2
2
  declare class SyncImportsError extends Error {
3
3
  code: SyncImportsErrorCode | string;
4
4
  details: Record<string, unknown>;
@@ -28,7 +28,13 @@ declare class RewriteFailureError extends SyncImportsError {
28
28
  declare class ParseFailureError extends SyncImportsError {
29
29
  constructor(filePath: string, diagnostics: unknown);
30
30
  }
31
+ declare class FileConflictError extends SyncImportsError {
32
+ constructor(filePath: string, details?: Record<string, unknown>);
33
+ }
34
+ declare class FixFailureError extends SyncImportsError {
35
+ constructor(message: string, details?: Record<string, unknown>);
36
+ }
31
37
  declare function isSyncImportsError(value: unknown): value is SyncImportsError;
32
- export { AliasCollisionError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, };
38
+ export { AliasCollisionError, FileConflictError, FixFailureError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, };
33
39
  export type { SyncImportsErrorCode };
34
40
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":"AAAA,KAAK,oBAAoB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,uBAAuB,GACvB,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,CAAC;AAEpB,cAAM,gBAAiB,SAAQ,KAAK;IAClC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAErB,IAAI,EAAE,oBAAoB,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAMxG;AAED,cAAM,uBAAwB,SAAQ,gBAAgB;gBACxC,WAAW,EAAE,MAAM;CAIhC;AAED,cAAM,sBAAuB,SAAQ,gBAAgB;gBACvC,UAAU,EAAE,MAAM;CAI/B;AAED,cAAM,wBAAyB,SAAQ,gBAAgB;gBACzC,YAAY,EAAE,MAAM;CAIjC;AAED,cAAM,gCAAiC,SAAQ,gBAAgB;gBACjD,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAInE;AAED,cAAM,mBAAoB,SAAQ,gBAAgB;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAInE;AAED,cAAM,iBAAkB,SAAQ,gBAAgB;gBAClC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAIpE;AAED,cAAM,mBAAoB,SAAQ,gBAAgB;gBACpC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAO9C;AAED,cAAM,iBAAkB,SAAQ,gBAAgB;gBAClC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;CAInD;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAErE;AAED,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,CAAC;AACF,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":"AAAA,KAAK,oBAAoB,GACrB,sBAAsB,GACtB,qBAAqB,GACrB,uBAAuB,GACvB,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,eAAe,GACf,aAAa,CAAC;AAElB,cAAM,gBAAiB,SAAQ,KAAK;IAClC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAErB,IAAI,EAAE,oBAAoB,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAMxG;AAED,cAAM,uBAAwB,SAAQ,gBAAgB;gBACxC,WAAW,EAAE,MAAM;CAIhC;AAED,cAAM,sBAAuB,SAAQ,gBAAgB;gBACvC,UAAU,EAAE,MAAM;CAI/B;AAED,cAAM,wBAAyB,SAAQ,gBAAgB;gBACzC,YAAY,EAAE,MAAM;CAIjC;AAED,cAAM,gCAAiC,SAAQ,gBAAgB;gBACjD,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAInE;AAED,cAAM,mBAAoB,SAAQ,gBAAgB;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAInE;AAED,cAAM,iBAAkB,SAAQ,gBAAgB;gBAClC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAIpE;AAED,cAAM,mBAAoB,SAAQ,gBAAgB;gBACpC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAO9C;AAED,cAAM,iBAAkB,SAAQ,gBAAgB;gBAClC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;CAInD;AAED,cAAM,iBAAkB,SAAQ,gBAAgB;gBAClC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAIpE;AAED,cAAM,eAAgB,SAAQ,gBAAgB;gBAChC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAInE;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAErE;AAED,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gCAAgC,EAChC,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,CAAC;AACF,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
@@ -57,8 +57,20 @@ class ParseFailureError extends SyncImportsError {
57
57
  this.name = "ParseFailureError";
58
58
  }
59
59
  }
60
+ class FileConflictError extends SyncImportsError {
61
+ constructor(filePath, details = {}) {
62
+ super("file_conflict", `File conflict: ${filePath}`, { filePath, ...details });
63
+ this.name = "FileConflictError";
64
+ }
65
+ }
66
+ class FixFailureError extends SyncImportsError {
67
+ constructor(message, details = {}) {
68
+ super("fix_failure", message, details);
69
+ this.name = "FixFailureError";
70
+ }
71
+ }
60
72
  function isSyncImportsError(value) {
61
73
  return value instanceof SyncImportsError;
62
74
  }
63
- export { AliasCollisionError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, };
75
+ export { AliasCollisionError, FileConflictError, FixFailureError, InvalidCodeDisciplineConfigError, InvalidAliasError, InvalidProjectRootError, InvalidSourceRootError, InvalidTsconfigPathError, ParseFailureError, RewriteFailureError, SyncImportsError, isSyncImportsError, };
64
76
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@ type SyncImportsLogEvent = {
6
6
  metadata?: Record<string, unknown>;
7
7
  };
8
8
  type LogAdapterFn = (event: SyncImportsLogEvent) => void;
9
+ type LoggingOptions = {
10
+ enabled?: boolean;
11
+ logger?: unknown;
12
+ adapter?: "trebired" | "generic" | "console" | LogAdapterFn;
13
+ quiet?: boolean;
14
+ };
9
15
  type NormalizedSyncImportsLogger = {
10
16
  enabled: boolean;
11
17
  debug: (event: string, message: string, metadata?: Record<string, unknown>) => void;
@@ -14,5 +20,5 @@ type NormalizedSyncImportsLogger = {
14
20
  error: (event: string, message: string, metadata?: Record<string, unknown>) => void;
15
21
  success: (event: string, message: string, metadata?: Record<string, unknown>) => void;
16
22
  };
17
- export type { LogAdapterFn, NormalizedSyncImportsLogger, SyncImportsLogEvent, SyncImportsLogLevel, };
23
+ export type { LogAdapterFn, LoggingOptions, NormalizedSyncImportsLogger, SyncImportsLogEvent, SyncImportsLogLevel, };
18
24
  //# sourceMappingURL=logging-types.d.ts.map