@trebired/code-discipline 5.0.2 → 5.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 (81) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +11 -5
  3. package/dist/checks/fix-folderization.js +2 -2
  4. package/dist/checks/fix-folderization.js.map +1 -1
  5. package/dist/checks/format.js +2 -2
  6. package/dist/checks/format.js.map +1 -1
  7. package/dist/checks/rule-slugs.d.ts +2 -4
  8. package/dist/checks/rule-slugs.d.ts.map +1 -1
  9. package/dist/checks/rule-slugs.js +5 -17
  10. package/dist/checks/rule-slugs.js.map +1 -1
  11. package/dist/checks/rules/blank-lines/generic.d.ts +10 -0
  12. package/dist/checks/rules/blank-lines/generic.d.ts.map +1 -0
  13. package/dist/checks/rules/blank-lines/generic.js +242 -0
  14. package/dist/checks/rules/blank-lines/generic.js.map +1 -0
  15. package/dist/checks/rules/blank-lines/index.d.ts.map +1 -1
  16. package/dist/checks/rules/blank-lines/index.js +13 -7
  17. package/dist/checks/rules/blank-lines/index.js.map +1 -1
  18. package/dist/checks/rules/blank-lines/rewrite.d.ts +2 -1
  19. package/dist/checks/rules/blank-lines/rewrite.d.ts.map +1 -1
  20. package/dist/checks/rules/blank-lines/rewrite.js +1 -1
  21. package/dist/checks/rules/blank-lines/rewrite.js.map +1 -1
  22. package/dist/checks/rules/comments/ranges.d.ts +2 -1
  23. package/dist/checks/rules/comments/ranges.d.ts.map +1 -1
  24. package/dist/checks/rules/comments/ranges.js +1 -1
  25. package/dist/checks/rules/comments/ranges.js.map +1 -1
  26. package/dist/checks/rules/dry/candidates.d.ts.map +1 -1
  27. package/dist/checks/rules/dry/candidates.js +52 -32
  28. package/dist/checks/rules/dry/candidates.js.map +1 -1
  29. package/dist/checks/rules/dry/generic.d.ts +5 -0
  30. package/dist/checks/rules/dry/generic.d.ts.map +1 -0
  31. package/dist/checks/rules/dry/generic.js +231 -0
  32. package/dist/checks/rules/dry/generic.js.map +1 -0
  33. package/dist/checks/rules/dry/matching.d.ts.map +1 -1
  34. package/dist/checks/rules/dry/matching.js +12 -6
  35. package/dist/checks/rules/dry/matching.js.map +1 -1
  36. package/dist/checks/rules/dry/model.d.ts +6 -4
  37. package/dist/checks/rules/dry/model.d.ts.map +1 -1
  38. package/dist/checks/rules/dry/model.js +22 -3
  39. package/dist/checks/rules/dry/model.js.map +1 -1
  40. package/dist/checks/rules/dry/similarity.d.ts.map +1 -1
  41. package/dist/checks/rules/dry/similarity.js +2 -0
  42. package/dist/checks/rules/dry/similarity.js.map +1 -1
  43. package/dist/checks/rules/max/function-lines.d.ts +10 -1
  44. package/dist/checks/rules/max/function-lines.d.ts.map +1 -1
  45. package/dist/checks/rules/max/function-lines.js +1 -1
  46. package/dist/checks/rules/max/function-lines.js.map +1 -1
  47. package/dist/checks/rules/max/python.d.ts +7 -2
  48. package/dist/checks/rules/max/python.d.ts.map +1 -1
  49. package/dist/checks/rules/max/python.js +1 -1
  50. package/dist/checks/rules/max/python.js.map +1 -1
  51. package/dist/checks/rules/max/shell.d.ts +2 -1
  52. package/dist/checks/rules/max/shell.d.ts.map +1 -1
  53. package/dist/checks/rules/max/shell.js +1 -1
  54. package/dist/checks/rules/max/shell.js.map +1 -1
  55. package/dist/checks/types.d.ts +3 -6
  56. package/dist/checks/types.d.ts.map +1 -1
  57. package/dist/config/normalize/check-options.d.ts.map +1 -1
  58. package/dist/config/normalize/check-options.js +7 -3
  59. package/dist/config/normalize/check-options.js.map +1 -1
  60. package/dist/config/normalize/formatter-options.d.ts +1 -1
  61. package/dist/config/normalize/formatter-options.d.ts.map +1 -1
  62. package/dist/config/normalize/formatter-options.js +2 -8
  63. package/dist/config/normalize/formatter-options.js.map +1 -1
  64. package/dist/formatters/code.js +4 -4
  65. package/dist/formatters/code.js.map +1 -1
  66. package/dist/index.d.ts +2 -2
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/run.d.ts.map +1 -1
  69. package/dist/run.js +14 -2
  70. package/dist/run.js.map +1 -1
  71. package/dist/shared/discipline-types.d.ts +2 -3
  72. package/dist/shared/discipline-types.d.ts.map +1 -1
  73. package/dist/shared/languages.d.ts +4 -2
  74. package/dist/shared/languages.d.ts.map +1 -1
  75. package/dist/shared/languages.js +6 -4
  76. package/dist/shared/languages.js.map +1 -1
  77. package/native/darwin-arm64.node +0 -0
  78. package/native/darwin-x64.node +0 -0
  79. package/native/linux-arm64-gnu.node +0 -0
  80. package/native/linux-x64-gnu.node +0 -0
  81. package/package.json +3 -2
package/dist/run.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { checkCodeDiscipline, fixCodeDiscipline } from "./checks/index.js";
2
2
  import { orchestrateCodeDisciplineRun } from "./runtime/orchestrate.js";
3
+ import { InvalidCodeDisciplineConfigError } from "./shared/errors.js";
3
4
  function resolveLoggingOptions(options) {
4
5
  const hasLogger = options.logger !== undefined;
5
6
  if (!options.logging && !hasLogger) {
@@ -28,7 +29,6 @@ function buildCheckOptions(options) {
28
29
  excludeSourceExtensions: options.excludeSourceExtensions,
29
30
  ignore: options.ignore,
30
31
  gitignorePath: options.gitignorePath,
31
- formatter: options.formatter,
32
32
  logging: resolveLoggingOptions(options),
33
33
  onlyRules: options.onlyRules,
34
34
  progressObserver: options.progressObserver,
@@ -42,13 +42,25 @@ function buildFixOptions(options) {
42
42
  onlyRules: options.onlyRules,
43
43
  };
44
44
  }
45
+ function assertRemovedInvocationOptions(options) {
46
+ if ("formatters" in options) {
47
+ throw new InvalidCodeDisciplineConfigError("formatters is no longer supported; use rules.formatting instead", {
48
+ key: "formatters",
49
+ });
50
+ }
51
+ if ("formatter" in options) {
52
+ throw new InvalidCodeDisciplineConfigError("formatter is no longer supported; use rules.formatting instead", {
53
+ key: "formatter",
54
+ });
55
+ }
56
+ }
45
57
  async function codeDiscipline(options) {
58
+ assertRemovedInvocationOptions(options);
46
59
  const baseConfig = {
47
60
  ignore: options.ignore,
48
61
  gitignorePath: options.gitignorePath,
49
62
  lifecycle: options.lifecycle,
50
63
  logging: options.logging,
51
- formatter: options.formatter,
52
64
  onlyRules: options.onlyRules,
53
65
  rules: options.rules,
54
66
  excludeSourceExtensions: options.excludeSourceExtensions,
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { ResultLike } from "@package/result";
2
2
  type CodeDisciplineRuleName = "banned-patterns" | "banned-files" | "min-file-lines" | "min-declaration-name" | "max-file-lines" | "max-characters-per-line" | "max-function-lines" | "folderize-compound-files" | "imports" | "remove-comments" | "structural-blank-lines" | "dry" | "format";
3
- type CodeDisciplineFormatterName = "format";
4
- type CodeDisciplineCheckName = CodeDisciplineRuleName | CodeDisciplineFormatterName;
3
+ type CodeDisciplineCheckName = CodeDisciplineRuleName;
5
4
  type CodeDisciplineViolationSeverity = "fail" | "warning";
6
5
  type CodeDisciplineViolation = {
7
6
  rule: CodeDisciplineCheckName;
@@ -22,5 +21,5 @@ type CodeDisciplineResult = {
22
21
  rules: CodeDisciplineCheckName[];
23
22
  }>;
24
23
  };
25
- export type { CodeDisciplineCheckName, CodeDisciplineFormatterName, CodeDisciplineResult, CodeDisciplineRuleName, CodeDisciplineViolation, CodeDisciplineViolationSeverity, };
24
+ export type { CodeDisciplineCheckName, CodeDisciplineResult, CodeDisciplineRuleName, CodeDisciplineViolation, CodeDisciplineViolationSeverity, };
26
25
  //# sourceMappingURL=discipline-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discipline-types.d.ts","sourceRoot":"","sources":["../../src/shared/discipline-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,KAAK,sBAAsB,GACvB,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,sBAAsB,GACtB,gBAAgB,GAChB,yBAAyB,GACzB,oBAAoB,GACpB,0BAA0B,GAC1B,SAAS,GACT,iBAAiB,GACjB,wBAAwB,GACxB,KAAK,GACL,QAAQ,CAAC;AAEb,KAAK,2BAA2B,GAAG,QAAQ,CAAC;AAC5C,KAAK,uBAAuB,GAAG,sBAAsB,GAAG,2BAA2B,CAAC;AACpF,KAAK,+BAA+B,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1D,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,+BAA+B,CAAC;CAC5C,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,MAAM,CAAC,EAAE,UAAU,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE;QACD,KAAK,EAAE,uBAAuB,EAAE,CAAC;KAClC,CAAC,CAAC;CACJ,CAAC;AAEF,YAAY,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,+BAA+B,GAChC,CAAC"}
1
+ {"version":3,"file":"discipline-types.d.ts","sourceRoot":"","sources":["../../src/shared/discipline-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,KAAK,sBAAsB,GACvB,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,sBAAsB,GACtB,gBAAgB,GAChB,yBAAyB,GACzB,oBAAoB,GACpB,0BAA0B,GAC1B,SAAS,GACT,iBAAiB,GACjB,wBAAwB,GACxB,KAAK,GACL,QAAQ,CAAC;AAEb,KAAK,uBAAuB,GAAG,sBAAsB,CAAC;AACtD,KAAK,+BAA+B,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1D,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,+BAA+B,CAAC;CAC5C,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,MAAM,CAAC,EAAE,UAAU,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE;QACD,KAAK,EAAE,uBAAuB,EAAE,CAAC;KAClC,CAAC,CAAC;CACJ,CAAC;AAEF,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,+BAA+B,GAChC,CAAC"}
@@ -7,9 +7,11 @@ declare function isShellExtension(value: string): boolean;
7
7
  declare function isScssExtension(value: string): boolean;
8
8
  declare function isStyleExtension(value: string): boolean;
9
9
  declare function supportsImports(value: string): boolean;
10
- declare function supportsFolderizationFix(value: string): boolean;
11
10
  declare function supportsMaxFunctionLines(value: string): boolean;
11
+ declare function supportsDry(value: string): boolean;
12
12
  declare function supportsRemoveComments(value: string): boolean;
13
13
  declare function supportsFormatter(value: string): boolean;
14
- export { isGoExtension, isPythonExtension, isQmlExtension, isRustExtension, isShellExtension, isScssExtension, isStyleExtension, isTypeScriptFamilyExtension, supportsFolderizationFix, supportsFormatter, supportsMaxFunctionLines, supportsRemoveComments, supportsImports, };
14
+ declare const supportsFolderizationFix: typeof supportsFormatter;
15
+ declare const supportsStructuralBlankLines: typeof supportsFormatter;
16
+ export { isGoExtension, isPythonExtension, isQmlExtension, isRustExtension, isShellExtension, isScssExtension, isStyleExtension, isTypeScriptFamilyExtension, supportsDry, supportsFolderizationFix, supportsFormatter, supportsMaxFunctionLines, supportsRemoveComments, supportsStructuralBlankLines, supportsImports, };
15
17
  //# sourceMappingURL=languages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/shared/languages.ts"],"names":[],"mappings":"AAwBA,iBAAS,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,GAChB,CAAC"}
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/shared/languages.ts"],"names":[],"mappings":"AAwBA,iBAAS,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,iBAAS,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,QAAA,MAAM,wBAAwB,0BAAoB,CAAC;AACnD,QAAA,MAAM,4BAA4B,0BAAoB,CAAC;AAEvD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,WAAW,EACX,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC5B,eAAe,GAChB,CAAC"}
@@ -45,17 +45,19 @@ function isStyleExtension(value) {
45
45
  function supportsImports(value) {
46
46
  return isTypeScriptFamilyExtension(value) || isScssExtension(value);
47
47
  }
48
- function supportsFolderizationFix(value) {
49
- return supportsImports(value);
50
- }
51
48
  function supportsMaxFunctionLines(value) {
52
49
  return isTypeScriptFamilyExtension(value) || isGoExtension(value) || isRustExtension(value) || isPythonExtension(value) || isShellExtension(value) || isQmlExtension(value);
53
50
  }
51
+ function supportsDry(value) {
52
+ return supportsMaxFunctionLines(value);
53
+ }
54
54
  function supportsRemoveComments(value) {
55
55
  return isTypeScriptFamilyExtension(value) || isGoExtension(value) || isRustExtension(value) || isPythonExtension(value) || isShellExtension(value) || isQmlExtension(value) || isStyleExtension(value);
56
56
  }
57
57
  function supportsFormatter(value) {
58
58
  return supportsRemoveComments(value);
59
59
  }
60
- export { isGoExtension, isPythonExtension, isQmlExtension, isRustExtension, isShellExtension, isScssExtension, isStyleExtension, isTypeScriptFamilyExtension, supportsFolderizationFix, supportsFormatter, supportsMaxFunctionLines, supportsRemoveComments, supportsImports, };
60
+ const supportsFolderizationFix = supportsFormatter;
61
+ const supportsStructuralBlankLines = supportsFormatter;
62
+ export { isGoExtension, isPythonExtension, isQmlExtension, isRustExtension, isShellExtension, isScssExtension, isStyleExtension, isTypeScriptFamilyExtension, supportsDry, supportsFolderizationFix, supportsFormatter, supportsMaxFunctionLines, supportsRemoveComments, supportsStructuralBlankLines, supportsImports, };
61
63
  //# sourceMappingURL=languages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/shared/languages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/shared/languages.ts"],"names":[],"mappings":"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"}
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trebired/code-discipline",
3
- "version": "5.0.2",
3
+ "version": "5.1.0",
4
4
  "description": "Configurable codebase discipline checks and rule-driven fixes for Bun projects.",
5
5
  "type": "module",
6
6
  "private": false,
@@ -40,13 +40,14 @@
40
40
  "demo": "bun run examples/dummy.ts",
41
41
  "discipline": "bun node_modules/@trebired/code-discipline/dist/cli.js check",
42
42
  "discipline:fix": "bun node_modules/@trebired/code-discipline/dist/cli.js fix",
43
- "prepublishOnly": "bun run typecheck && bun run build && bun run build:native && bun run verify:max-line-fixer && bun run verify:language-support && bun run verify:formatter && bun run verify:generated-artifacts",
43
+ "prepublishOnly": "bun run typecheck && bun run build && bun run build:native && bun run verify:max-line-fixer && bun run verify:language-support && bun run verify:language-dry && bun run verify:formatter && bun run verify:generated-artifacts",
44
44
  "prepare:generated": "bun ./scripts/build/generated/tsconfig.mjs",
45
45
  "publish:package": "bun run build:native:matrix && bun publish",
46
46
  "publish:package:host": "bun run build:native && bun publish",
47
47
  "typecheck": "bun run prepare:generated && tsc --noEmit",
48
48
  "verify:generated-artifacts": "bun ./scripts/verify/generated/artifacts.mjs",
49
49
  "verify:formatter": "bun ./scripts/verify/formatter.mjs",
50
+ "verify:language-dry": "bun ./scripts/verify/language/dry.mjs",
50
51
  "verify:language-support": "bun ./scripts/verify/language/support.mjs",
51
52
  "verify:max-line-fixer": "bun ./scripts/verify/max/line/fixer.mjs"
52
53
  },