@webpieces/rules-config 0.3.185 → 0.3.187
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.
- package/package.json +1 -1
- package/src/abstract-rule.d.ts +17 -0
- package/src/abstract-rule.js +30 -0
- package/src/abstract-rule.js.map +1 -0
- package/src/index.d.ts +4 -1
- package/src/index.js +18 -2
- package/src/index.js.map +1 -1
- package/src/rule-configs.d.ts +27 -27
- package/src/rule-configs.js +45 -62
- package/src/rule-configs.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webpieces/rules-config",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.187",
|
|
4
4
|
"description": "Shared webpieces.config.json loader. Single source of truth for validation rule configuration consumed by @webpieces/ai-hook-rules, @webpieces/code-rules, and @webpieces/nx-webpieces-rules.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseRuleConfig } from './rule-configs';
|
|
2
|
+
/**
|
|
3
|
+
* Shared base for every rule in BOTH packages (ai-hook-rules and code-rules). A rule is
|
|
4
|
+
* constructed with its typed config (`new NoAnyUnknownRule(config['no-any-unknown'])`), so the
|
|
5
|
+
* config class is genuinely consumed — find-usages/rename work across packages.
|
|
6
|
+
*
|
|
7
|
+
* It is execution-agnostic: it owns only `name` + the on/off + escape-hatch decision
|
|
8
|
+
* (`shouldRun`). Each package's base adds its own execution surface (ai-hook `check(ctx)`,
|
|
9
|
+
* code-rules `run(workspaceRoot)`), so rules-config stays free of package-specific types.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class AbstractRule<C extends BaseRuleConfig> {
|
|
12
|
+
protected readonly config: C;
|
|
13
|
+
readonly name: string;
|
|
14
|
+
constructor(config: C, name: string);
|
|
15
|
+
/** True unless the rule is `mode: "OFF"` or skipped by a branch/epoch escape hatch. */
|
|
16
|
+
shouldRun(): boolean;
|
|
17
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractRule = void 0;
|
|
4
|
+
const skip_rule_1 = require("./skip-rule");
|
|
5
|
+
/**
|
|
6
|
+
* Shared base for every rule in BOTH packages (ai-hook-rules and code-rules). A rule is
|
|
7
|
+
* constructed with its typed config (`new NoAnyUnknownRule(config['no-any-unknown'])`), so the
|
|
8
|
+
* config class is genuinely consumed — find-usages/rename work across packages.
|
|
9
|
+
*
|
|
10
|
+
* It is execution-agnostic: it owns only `name` + the on/off + escape-hatch decision
|
|
11
|
+
* (`shouldRun`). Each package's base adds its own execution surface (ai-hook `check(ctx)`,
|
|
12
|
+
* code-rules `run(workspaceRoot)`), so rules-config stays free of package-specific types.
|
|
13
|
+
*/
|
|
14
|
+
class AbstractRule {
|
|
15
|
+
config;
|
|
16
|
+
name;
|
|
17
|
+
constructor(config, name) {
|
|
18
|
+
this.config = config;
|
|
19
|
+
this.name = name;
|
|
20
|
+
}
|
|
21
|
+
/** True unless the rule is `mode: "OFF"` or skipped by a branch/epoch escape hatch. */
|
|
22
|
+
shouldRun() {
|
|
23
|
+
if (this.config.mode === 'OFF')
|
|
24
|
+
return false;
|
|
25
|
+
const skip = (0, skip_rule_1.shouldSkipRule)(this.config.ignoreModifiedUntilEpoch, this.config.ignoreRuleWhileOnBranch);
|
|
26
|
+
return !skip.skip;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.AbstractRule = AbstractRule;
|
|
30
|
+
//# sourceMappingURL=abstract-rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-rule.js","sourceRoot":"","sources":["../../../../../packages/tooling/rules-config/src/abstract-rule.ts"],"names":[],"mappings":";;;AACA,2CAA6C;AAE7C;;;;;;;;GAQG;AACH,MAAsB,YAAY;IACC;IAAoB;IAAnD,YAA+B,MAAS,EAAW,IAAY;QAAhC,WAAM,GAAN,MAAM,CAAG;QAAW,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAEnE,uFAAuF;IACvF,SAAS;QACL,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAA,0BAAc,EAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACvG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IACtB,CAAC;CACJ;AATD,oCASC","sourcesContent":["import { BaseRuleConfig } from './rule-configs';\nimport { shouldSkipRule } from './skip-rule';\n\n/**\n * Shared base for every rule in BOTH packages (ai-hook-rules and code-rules). A rule is\n * constructed with its typed config (`new NoAnyUnknownRule(config['no-any-unknown'])`), so the\n * config class is genuinely consumed — find-usages/rename work across packages.\n *\n * It is execution-agnostic: it owns only `name` + the on/off + escape-hatch decision\n * (`shouldRun`). Each package's base adds its own execution surface (ai-hook `check(ctx)`,\n * code-rules `run(workspaceRoot)`), so rules-config stays free of package-specific types.\n */\nexport abstract class AbstractRule<C extends BaseRuleConfig> {\n constructor(protected readonly config: C, readonly name: string) {}\n\n /** True unless the rule is `mode: \"OFF\"` or skipped by a branch/epoch escape hatch. */\n shouldRun(): boolean {\n if (this.config.mode === 'OFF') return false;\n const skip = shouldSkipRule(this.config.ignoreModifiedUntilEpoch, this.config.ignoreRuleWhileOnBranch);\n return !skip.skip;\n }\n}\n"]}
|
package/src/index.d.ts
CHANGED
|
@@ -11,7 +11,10 @@ export { FieldDef } from './field-def';
|
|
|
11
11
|
export type { SchemaShape } from './field-def';
|
|
12
12
|
export { shouldSkipRule, getCurrentBranch } from './skip-rule';
|
|
13
13
|
export type { SkipRuleResult } from './skip-rule';
|
|
14
|
+
export { AbstractRule } from './abstract-rule';
|
|
14
15
|
export { WEBPIECES_DISABLE, RULE_NAMES, hasDisable, WEBPIECES_TMP_DIR, MERGE_DIR_PREFIX, MERGE_IN_PROGRESS_FILE, } from './constants';
|
|
15
16
|
export { WebpiecesRulesConfig } from './WebpiecesRulesConfig';
|
|
16
|
-
export { MaxMethodLinesConfig, MaxFileLinesConfig, RequireReturnTypeConfig, NoInlineTypeLiteralsConfig, NoAnyUnknownConfig, NoImplicitAnyConfig, PrismaValidateDtosConfig, PrismaConverterConfig, NoDestructureConfig, NoUnmanagedExceptionsConfig, CatchErrorPatternConfig, ThrowCauseRequiredConfig, AngularNoDirectApiInResolverConfig, NoSymbolDiTokensConfig, NoShellSubstitutionConfig, BranchCreationGuardConfig, PrCreationGuardConfig, MergeInProgressGuardConfig, PrMergeCleanupConfig, NoDirectMainUpdateConfig, NoEditOnMainConfig, NoFileImportCyclesConfig, RuntimeArchitectureConfig, NoJsFilesConfig, ValidateTsInSrcConfig, } from './rule-configs';
|
|
17
|
+
export { MaxMethodLinesConfig, MaxFileLinesConfig, RequireReturnTypeConfig, NoInlineTypeLiteralsConfig, NoAnyUnknownConfig, NoImplicitAnyConfig, PrismaValidateDtosConfig, PrismaConverterConfig, NoDestructureConfig, NoUnmanagedExceptionsConfig, CatchErrorPatternConfig, ThrowCauseRequiredConfig, AngularNoDirectApiInResolverConfig, NoSymbolDiTokensConfig, NoShellSubstitutionConfig, BranchCreationGuardConfig, PrCreationGuardConfig, MergeInProgressGuardConfig, PrMergeCleanupConfig, NoDirectMainUpdateConfig, NoEditOnMainConfig, NoFileImportCyclesConfig, RuntimeArchitectureConfig, NoJsFilesConfig, ValidateTsInSrcConfig, BaseRuleConfig, } from './rule-configs';
|
|
18
|
+
export { METHOD_LIMIT_MODES, FILE_LIMIT_MODES, RETURN_TYPE_MODES, INLINE_TYPE_MODES, MODIFIED_CODE_MODES, PRISMA_DTOS_MODES, PRISMA_CONVERTER_MODES, DIRECT_API_RESOLVER_MODES, THROW_CAUSE_MODES, ON_OFF_MODES, VALIDATE_TS_MODES, } from './rule-configs';
|
|
19
|
+
export type { MethodLimitMode, FileLimitMode, ReturnTypeMode, InlineTypeMode, ModifiedCodeMode, PrismaValidateDtosMode, PrismaConverterMode, DirectApiResolverMode, ThrowCauseMode, OnOffMode, ValidateTsMode, } from './rule-configs';
|
|
17
20
|
export { GateDefinition, PrGateConfig, defaultGates, defaultPrGateConfig, loadPrGateConfig, } from './pr-gate-config';
|
package/src/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.loadPrGateConfig = exports.defaultPrGateConfig = exports.defaultGates = exports.PrGateConfig = exports.GateDefinition = void 0;
|
|
3
|
+
exports.NoJsFilesConfig = exports.RuntimeArchitectureConfig = exports.NoFileImportCyclesConfig = exports.NoEditOnMainConfig = exports.NoDirectMainUpdateConfig = exports.PrMergeCleanupConfig = exports.MergeInProgressGuardConfig = exports.PrCreationGuardConfig = exports.BranchCreationGuardConfig = exports.NoShellSubstitutionConfig = exports.NoSymbolDiTokensConfig = exports.AngularNoDirectApiInResolverConfig = exports.ThrowCauseRequiredConfig = exports.CatchErrorPatternConfig = exports.NoUnmanagedExceptionsConfig = exports.NoDestructureConfig = exports.PrismaConverterConfig = exports.PrismaValidateDtosConfig = exports.NoImplicitAnyConfig = exports.NoAnyUnknownConfig = exports.NoInlineTypeLiteralsConfig = exports.RequireReturnTypeConfig = exports.MaxFileLinesConfig = exports.MaxMethodLinesConfig = exports.WebpiecesRulesConfig = exports.MERGE_IN_PROGRESS_FILE = exports.MERGE_DIR_PREFIX = exports.WEBPIECES_TMP_DIR = exports.hasDisable = exports.RULE_NAMES = exports.WEBPIECES_DISABLE = exports.AbstractRule = exports.getCurrentBranch = exports.shouldSkipRule = exports.FieldDef = exports.validateWebpiecesConfig = exports.writeTemplate = exports.writeTemplateIfMissing = exports.loadTemplate = exports.defaultRulesDir = exports.defaultRules = exports.isPathExcluded = exports.loadWebpiecesRulesConfig = exports.CONFIG_FILENAME = exports.findConfigFile = exports.loadConfig = exports.toError = exports.InformAiError = exports.ResolvedRuleConfig = exports.ResolvedConfig = void 0;
|
|
4
|
+
exports.loadPrGateConfig = exports.defaultPrGateConfig = exports.defaultGates = exports.PrGateConfig = exports.GateDefinition = exports.VALIDATE_TS_MODES = exports.ON_OFF_MODES = exports.THROW_CAUSE_MODES = exports.DIRECT_API_RESOLVER_MODES = exports.PRISMA_CONVERTER_MODES = exports.PRISMA_DTOS_MODES = exports.MODIFIED_CODE_MODES = exports.INLINE_TYPE_MODES = exports.RETURN_TYPE_MODES = exports.FILE_LIMIT_MODES = exports.METHOD_LIMIT_MODES = exports.BaseRuleConfig = exports.ValidateTsInSrcConfig = void 0;
|
|
5
5
|
var types_1 = require("./types");
|
|
6
6
|
Object.defineProperty(exports, "ResolvedConfig", { enumerable: true, get: function () { return types_1.ResolvedConfig; } });
|
|
7
7
|
Object.defineProperty(exports, "ResolvedRuleConfig", { enumerable: true, get: function () { return types_1.ResolvedRuleConfig; } });
|
|
@@ -30,6 +30,8 @@ Object.defineProperty(exports, "FieldDef", { enumerable: true, get: function ()
|
|
|
30
30
|
var skip_rule_1 = require("./skip-rule");
|
|
31
31
|
Object.defineProperty(exports, "shouldSkipRule", { enumerable: true, get: function () { return skip_rule_1.shouldSkipRule; } });
|
|
32
32
|
Object.defineProperty(exports, "getCurrentBranch", { enumerable: true, get: function () { return skip_rule_1.getCurrentBranch; } });
|
|
33
|
+
var abstract_rule_1 = require("./abstract-rule");
|
|
34
|
+
Object.defineProperty(exports, "AbstractRule", { enumerable: true, get: function () { return abstract_rule_1.AbstractRule; } });
|
|
33
35
|
var constants_1 = require("./constants");
|
|
34
36
|
Object.defineProperty(exports, "WEBPIECES_DISABLE", { enumerable: true, get: function () { return constants_1.WEBPIECES_DISABLE; } });
|
|
35
37
|
Object.defineProperty(exports, "RULE_NAMES", { enumerable: true, get: function () { return constants_1.RULE_NAMES; } });
|
|
@@ -65,6 +67,20 @@ Object.defineProperty(exports, "NoFileImportCyclesConfig", { enumerable: true, g
|
|
|
65
67
|
Object.defineProperty(exports, "RuntimeArchitectureConfig", { enumerable: true, get: function () { return rule_configs_1.RuntimeArchitectureConfig; } });
|
|
66
68
|
Object.defineProperty(exports, "NoJsFilesConfig", { enumerable: true, get: function () { return rule_configs_1.NoJsFilesConfig; } });
|
|
67
69
|
Object.defineProperty(exports, "ValidateTsInSrcConfig", { enumerable: true, get: function () { return rule_configs_1.ValidateTsInSrcConfig; } });
|
|
70
|
+
Object.defineProperty(exports, "BaseRuleConfig", { enumerable: true, get: function () { return rule_configs_1.BaseRuleConfig; } });
|
|
71
|
+
// Mode unions + their value arrays — the single source of truth shared with code-rules.
|
|
72
|
+
var rule_configs_2 = require("./rule-configs");
|
|
73
|
+
Object.defineProperty(exports, "METHOD_LIMIT_MODES", { enumerable: true, get: function () { return rule_configs_2.METHOD_LIMIT_MODES; } });
|
|
74
|
+
Object.defineProperty(exports, "FILE_LIMIT_MODES", { enumerable: true, get: function () { return rule_configs_2.FILE_LIMIT_MODES; } });
|
|
75
|
+
Object.defineProperty(exports, "RETURN_TYPE_MODES", { enumerable: true, get: function () { return rule_configs_2.RETURN_TYPE_MODES; } });
|
|
76
|
+
Object.defineProperty(exports, "INLINE_TYPE_MODES", { enumerable: true, get: function () { return rule_configs_2.INLINE_TYPE_MODES; } });
|
|
77
|
+
Object.defineProperty(exports, "MODIFIED_CODE_MODES", { enumerable: true, get: function () { return rule_configs_2.MODIFIED_CODE_MODES; } });
|
|
78
|
+
Object.defineProperty(exports, "PRISMA_DTOS_MODES", { enumerable: true, get: function () { return rule_configs_2.PRISMA_DTOS_MODES; } });
|
|
79
|
+
Object.defineProperty(exports, "PRISMA_CONVERTER_MODES", { enumerable: true, get: function () { return rule_configs_2.PRISMA_CONVERTER_MODES; } });
|
|
80
|
+
Object.defineProperty(exports, "DIRECT_API_RESOLVER_MODES", { enumerable: true, get: function () { return rule_configs_2.DIRECT_API_RESOLVER_MODES; } });
|
|
81
|
+
Object.defineProperty(exports, "THROW_CAUSE_MODES", { enumerable: true, get: function () { return rule_configs_2.THROW_CAUSE_MODES; } });
|
|
82
|
+
Object.defineProperty(exports, "ON_OFF_MODES", { enumerable: true, get: function () { return rule_configs_2.ON_OFF_MODES; } });
|
|
83
|
+
Object.defineProperty(exports, "VALIDATE_TS_MODES", { enumerable: true, get: function () { return rule_configs_2.VALIDATE_TS_MODES; } });
|
|
68
84
|
var pr_gate_config_1 = require("./pr-gate-config");
|
|
69
85
|
Object.defineProperty(exports, "GateDefinition", { enumerable: true, get: function () { return pr_gate_config_1.GateDefinition; } });
|
|
70
86
|
Object.defineProperty(exports, "PrGateConfig", { enumerable: true, get: function () { return pr_gate_config_1.PrGateConfig; } });
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/tooling/rules-config/src/index.ts"],"names":[],"mappings":";;;;AAAA,iCAA0E;AAAjE,uGAAA,cAAc,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAC3C,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAChB,6CAAsG;AAA7F,yGAAA,UAAU,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,8GAAA,eAAe,OAAA;AAAE,uHAAA,wBAAwB,OAAA;AAE9E,iDAAiD;AAAxC,+GAAA,cAAc,OAAA;AACvB,iDAAgE;AAAvD,6GAAA,YAAY,OAAA;AAAE,gHAAA,eAAe,OAAA;AACtC,iDAAsF;AAA7E,6GAAA,YAAY,OAAA;AAAE,uHAAA,sBAAsB,OAAA;AAAE,8GAAA,aAAa,OAAA;AAC5D,qDAA4D;AAAnD,0HAAA,uBAAuB,OAAA;AAChC,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AAEjB,yCAA+D;AAAtD,2GAAA,cAAc,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAEzC,yCAOqB;AANjB,8GAAA,iBAAiB,OAAA;AACjB,uGAAA,UAAU,OAAA;AACV,uGAAA,UAAU,OAAA;AACV,8GAAA,iBAAiB,OAAA;AACjB,6GAAA,gBAAgB,OAAA;AAChB,mHAAA,sBAAsB,OAAA;AAE1B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/tooling/rules-config/src/index.ts"],"names":[],"mappings":";;;;AAAA,iCAA0E;AAAjE,uGAAA,cAAc,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAC3C,qDAAkD;AAAzC,gHAAA,aAAa,OAAA;AACtB,uCAAqC;AAA5B,mGAAA,OAAO,OAAA;AAChB,6CAAsG;AAA7F,yGAAA,UAAU,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,8GAAA,eAAe,OAAA;AAAE,uHAAA,wBAAwB,OAAA;AAE9E,iDAAiD;AAAxC,+GAAA,cAAc,OAAA;AACvB,iDAAgE;AAAvD,6GAAA,YAAY,OAAA;AAAE,gHAAA,eAAe,OAAA;AACtC,iDAAsF;AAA7E,6GAAA,YAAY,OAAA;AAAE,uHAAA,sBAAsB,OAAA;AAAE,8GAAA,aAAa,OAAA;AAC5D,qDAA4D;AAAnD,0HAAA,uBAAuB,OAAA;AAChC,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA;AAEjB,yCAA+D;AAAtD,2GAAA,cAAc,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAEzC,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,yCAOqB;AANjB,8GAAA,iBAAiB,OAAA;AACjB,uGAAA,UAAU,OAAA;AACV,uGAAA,UAAU,OAAA;AACV,8GAAA,iBAAiB,OAAA;AACjB,6GAAA,gBAAgB,OAAA;AAChB,mHAAA,sBAAsB,OAAA;AAE1B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,+CA2BwB;AA1BpB,oHAAA,oBAAoB,OAAA;AACpB,kHAAA,kBAAkB,OAAA;AAClB,uHAAA,uBAAuB,OAAA;AACvB,0HAAA,0BAA0B,OAAA;AAC1B,kHAAA,kBAAkB,OAAA;AAClB,mHAAA,mBAAmB,OAAA;AACnB,wHAAA,wBAAwB,OAAA;AACxB,qHAAA,qBAAqB,OAAA;AACrB,mHAAA,mBAAmB,OAAA;AACnB,2HAAA,2BAA2B,OAAA;AAC3B,uHAAA,uBAAuB,OAAA;AACvB,wHAAA,wBAAwB,OAAA;AACxB,kIAAA,kCAAkC,OAAA;AAClC,sHAAA,sBAAsB,OAAA;AACtB,yHAAA,yBAAyB,OAAA;AACzB,yHAAA,yBAAyB,OAAA;AACzB,qHAAA,qBAAqB,OAAA;AACrB,0HAAA,0BAA0B,OAAA;AAC1B,oHAAA,oBAAoB,OAAA;AACpB,wHAAA,wBAAwB,OAAA;AACxB,kHAAA,kBAAkB,OAAA;AAClB,wHAAA,wBAAwB,OAAA;AACxB,yHAAA,yBAAyB,OAAA;AACzB,+GAAA,eAAe,OAAA;AACf,qHAAA,qBAAqB,OAAA;AACrB,8GAAA,cAAc,OAAA;AAElB,wFAAwF;AACxF,+CAYwB;AAXpB,kHAAA,kBAAkB,OAAA;AAClB,gHAAA,gBAAgB,OAAA;AAChB,iHAAA,iBAAiB,OAAA;AACjB,iHAAA,iBAAiB,OAAA;AACjB,mHAAA,mBAAmB,OAAA;AACnB,iHAAA,iBAAiB,OAAA;AACjB,sHAAA,sBAAsB,OAAA;AACtB,yHAAA,yBAAyB,OAAA;AACzB,iHAAA,iBAAiB,OAAA;AACjB,4GAAA,YAAY,OAAA;AACZ,iHAAA,iBAAiB,OAAA;AAerB,mDAM0B;AALtB,gHAAA,cAAc,OAAA;AACd,8GAAA,YAAY,OAAA;AACZ,8GAAA,YAAY,OAAA;AACZ,qHAAA,mBAAmB,OAAA;AACnB,kHAAA,gBAAgB,OAAA","sourcesContent":["export { ResolvedConfig, ResolvedRuleConfig, RuleOptions } from './types';\nexport { InformAiError } from './inform-ai-error';\nexport { toError } from './to-error';\nexport { loadConfig, findConfigFile, CONFIG_FILENAME, loadWebpiecesRulesConfig } from './load-config';\nexport type { LoadedWebpiecesConfig } from './load-config';\nexport { isPathExcluded } from './exclude-paths';\nexport { defaultRules, defaultRulesDir } from './default-rules';\nexport { loadTemplate, writeTemplateIfMissing, writeTemplate } from './load-template';\nexport { validateWebpiecesConfig } from './validate-config';\nexport { FieldDef } from './field-def';\nexport type { SchemaShape } from './field-def';\nexport { shouldSkipRule, getCurrentBranch } from './skip-rule';\nexport type { SkipRuleResult } from './skip-rule';\nexport { AbstractRule } from './abstract-rule';\nexport {\n WEBPIECES_DISABLE,\n RULE_NAMES,\n hasDisable,\n WEBPIECES_TMP_DIR,\n MERGE_DIR_PREFIX,\n MERGE_IN_PROGRESS_FILE,\n} from './constants';\nexport { WebpiecesRulesConfig } from './WebpiecesRulesConfig';\nexport {\n MaxMethodLinesConfig,\n MaxFileLinesConfig,\n RequireReturnTypeConfig,\n NoInlineTypeLiteralsConfig,\n NoAnyUnknownConfig,\n NoImplicitAnyConfig,\n PrismaValidateDtosConfig,\n PrismaConverterConfig,\n NoDestructureConfig,\n NoUnmanagedExceptionsConfig,\n CatchErrorPatternConfig,\n ThrowCauseRequiredConfig,\n AngularNoDirectApiInResolverConfig,\n NoSymbolDiTokensConfig,\n NoShellSubstitutionConfig,\n BranchCreationGuardConfig,\n PrCreationGuardConfig,\n MergeInProgressGuardConfig,\n PrMergeCleanupConfig,\n NoDirectMainUpdateConfig,\n NoEditOnMainConfig,\n NoFileImportCyclesConfig,\n RuntimeArchitectureConfig,\n NoJsFilesConfig,\n ValidateTsInSrcConfig,\n BaseRuleConfig,\n} from './rule-configs';\n// Mode unions + their value arrays — the single source of truth shared with code-rules.\nexport {\n METHOD_LIMIT_MODES,\n FILE_LIMIT_MODES,\n RETURN_TYPE_MODES,\n INLINE_TYPE_MODES,\n MODIFIED_CODE_MODES,\n PRISMA_DTOS_MODES,\n PRISMA_CONVERTER_MODES,\n DIRECT_API_RESOLVER_MODES,\n THROW_CAUSE_MODES,\n ON_OFF_MODES,\n VALIDATE_TS_MODES,\n} from './rule-configs';\nexport type {\n MethodLimitMode,\n FileLimitMode,\n ReturnTypeMode,\n InlineTypeMode,\n ModifiedCodeMode,\n PrismaValidateDtosMode,\n PrismaConverterMode,\n DirectApiResolverMode,\n ThrowCauseMode,\n OnOffMode,\n ValidateTsMode,\n} from './rule-configs';\nexport {\n GateDefinition,\n PrGateConfig,\n defaultGates,\n defaultPrGateConfig,\n loadPrGateConfig,\n} from './pr-gate-config';\n"]}
|
package/src/rule-configs.d.ts
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
import { FieldDef, SchemaShape } from './field-def';
|
|
2
|
-
declare const METHOD_LIMIT_MODES: readonly ["OFF", "NEW_METHODS", "NEW_AND_MODIFIED_METHODS", "MODIFIED_FILES"];
|
|
3
|
-
type MethodLimitMode = typeof METHOD_LIMIT_MODES[number];
|
|
4
|
-
declare const FILE_LIMIT_MODES: readonly ["OFF", "MODIFIED_FILES"];
|
|
5
|
-
type FileLimitMode = typeof FILE_LIMIT_MODES[number];
|
|
6
|
-
declare const RETURN_TYPE_MODES: readonly ["OFF", "NEW_METHODS", "NEW_AND_MODIFIED_METHODS", "MODIFIED_FILES"];
|
|
7
|
-
type
|
|
8
|
-
declare const INLINE_TYPE_MODES: readonly ["OFF", "NEW_METHODS", "NEW_AND_MODIFIED_METHODS", "MODIFIED_FILES"];
|
|
9
|
-
type
|
|
10
|
-
declare const MODIFIED_CODE_MODES: readonly ["OFF", "MODIFIED_CODE", "MODIFIED_FILES"];
|
|
11
|
-
type ModifiedCodeMode = typeof MODIFIED_CODE_MODES[number];
|
|
12
|
-
declare const PRISMA_DTOS_MODES: readonly ["OFF", "MODIFIED_CLASS", "MODIFIED_FILES"];
|
|
13
|
-
type PrismaValidateDtosMode = typeof PRISMA_DTOS_MODES[number];
|
|
14
|
-
declare const PRISMA_CONVERTER_MODES: readonly ["OFF", "NEW_AND_MODIFIED_METHODS", "MODIFIED_FILES"];
|
|
15
|
-
type
|
|
16
|
-
declare const DIRECT_API_RESOLVER_MODES: readonly ["OFF", "MODIFIED_CODE", "NEW_AND_MODIFIED_METHODS", "MODIFIED_FILES"];
|
|
17
|
-
type DirectApiResolverMode = typeof DIRECT_API_RESOLVER_MODES[number];
|
|
18
|
-
declare const THROW_CAUSE_MODES: readonly ["ON", "OFF", "MODIFIED_CODE"];
|
|
19
|
-
type
|
|
20
|
-
declare const ON_OFF_MODES: readonly ["ON", "OFF"];
|
|
21
|
-
type OnOffMode = typeof ON_OFF_MODES[number];
|
|
22
|
-
declare const VALIDATE_TS_MODES: readonly ["ON", "OFF", "MODIFIED_FILES"];
|
|
23
|
-
type ValidateTsMode = typeof VALIDATE_TS_MODES[number];
|
|
2
|
+
export declare const METHOD_LIMIT_MODES: readonly ["OFF", "NEW_METHODS", "NEW_AND_MODIFIED_METHODS", "MODIFIED_FILES"];
|
|
3
|
+
export type MethodLimitMode = typeof METHOD_LIMIT_MODES[number];
|
|
4
|
+
export declare const FILE_LIMIT_MODES: readonly ["OFF", "MODIFIED_FILES"];
|
|
5
|
+
export type FileLimitMode = typeof FILE_LIMIT_MODES[number];
|
|
6
|
+
export declare const RETURN_TYPE_MODES: readonly ["OFF", "NEW_METHODS", "NEW_AND_MODIFIED_METHODS", "MODIFIED_FILES"];
|
|
7
|
+
export type ReturnTypeMode = typeof RETURN_TYPE_MODES[number];
|
|
8
|
+
export declare const INLINE_TYPE_MODES: readonly ["OFF", "NEW_METHODS", "NEW_AND_MODIFIED_METHODS", "MODIFIED_FILES"];
|
|
9
|
+
export type InlineTypeMode = typeof INLINE_TYPE_MODES[number];
|
|
10
|
+
export declare const MODIFIED_CODE_MODES: readonly ["OFF", "MODIFIED_CODE", "MODIFIED_FILES"];
|
|
11
|
+
export type ModifiedCodeMode = typeof MODIFIED_CODE_MODES[number];
|
|
12
|
+
export declare const PRISMA_DTOS_MODES: readonly ["OFF", "MODIFIED_CLASS", "MODIFIED_FILES"];
|
|
13
|
+
export type PrismaValidateDtosMode = typeof PRISMA_DTOS_MODES[number];
|
|
14
|
+
export declare const PRISMA_CONVERTER_MODES: readonly ["OFF", "NEW_AND_MODIFIED_METHODS", "MODIFIED_FILES"];
|
|
15
|
+
export type PrismaConverterMode = typeof PRISMA_CONVERTER_MODES[number];
|
|
16
|
+
export declare const DIRECT_API_RESOLVER_MODES: readonly ["OFF", "MODIFIED_CODE", "NEW_AND_MODIFIED_METHODS", "MODIFIED_FILES"];
|
|
17
|
+
export type DirectApiResolverMode = typeof DIRECT_API_RESOLVER_MODES[number];
|
|
18
|
+
export declare const THROW_CAUSE_MODES: readonly ["ON", "OFF", "MODIFIED_CODE"];
|
|
19
|
+
export type ThrowCauseMode = typeof THROW_CAUSE_MODES[number];
|
|
20
|
+
export declare const ON_OFF_MODES: readonly ["ON", "OFF"];
|
|
21
|
+
export type OnOffMode = typeof ON_OFF_MODES[number];
|
|
22
|
+
export declare const VALIDATE_TS_MODES: readonly ["ON", "OFF", "MODIFIED_FILES"];
|
|
23
|
+
export type ValidateTsMode = typeof VALIDATE_TS_MODES[number];
|
|
24
24
|
export declare abstract class BaseRuleConfig {
|
|
25
|
+
mode?: string;
|
|
25
26
|
ignoreModifiedUntilEpoch?: number;
|
|
26
27
|
ignoreRuleWhileOnBranch?: string;
|
|
27
28
|
}
|
|
@@ -42,12 +43,12 @@ export declare class MaxFileLinesConfig extends BaseRuleConfig {
|
|
|
42
43
|
static readonly SCHEMA: SchemaShape<MaxFileLinesConfig>;
|
|
43
44
|
}
|
|
44
45
|
export declare class RequireReturnTypeConfig extends BaseRuleConfig {
|
|
45
|
-
mode?:
|
|
46
|
+
mode?: ReturnTypeMode;
|
|
46
47
|
disableAllowed?: boolean;
|
|
47
48
|
static readonly SCHEMA: SchemaShape<RequireReturnTypeConfig>;
|
|
48
49
|
}
|
|
49
50
|
export declare class NoInlineTypeLiteralsConfig extends BaseRuleConfig {
|
|
50
|
-
mode?:
|
|
51
|
+
mode?: InlineTypeMode;
|
|
51
52
|
disableAllowed?: boolean;
|
|
52
53
|
static readonly SCHEMA: SchemaShape<NoInlineTypeLiteralsConfig>;
|
|
53
54
|
}
|
|
@@ -69,7 +70,7 @@ export declare class PrismaValidateDtosConfig extends BaseRuleConfig {
|
|
|
69
70
|
static readonly SCHEMA: SchemaShape<PrismaValidateDtosConfig>;
|
|
70
71
|
}
|
|
71
72
|
export declare class PrismaConverterConfig extends BaseRuleConfig {
|
|
72
|
-
mode?:
|
|
73
|
+
mode?: PrismaConverterMode;
|
|
73
74
|
disableAllowed?: boolean;
|
|
74
75
|
schemaPath?: string;
|
|
75
76
|
convertersPaths?: string[];
|
|
@@ -93,7 +94,7 @@ export declare class CatchErrorPatternConfig extends BaseRuleConfig {
|
|
|
93
94
|
static readonly SCHEMA: SchemaShape<CatchErrorPatternConfig>;
|
|
94
95
|
}
|
|
95
96
|
export declare class ThrowCauseRequiredConfig extends BaseRuleConfig {
|
|
96
|
-
mode?:
|
|
97
|
+
mode?: ThrowCauseMode;
|
|
97
98
|
disableAllowed?: boolean;
|
|
98
99
|
static readonly SCHEMA: SchemaShape<ThrowCauseRequiredConfig>;
|
|
99
100
|
}
|
|
@@ -163,4 +164,3 @@ export declare class ValidateTsInSrcConfig extends BaseRuleConfig {
|
|
|
163
164
|
excludePaths?: string[];
|
|
164
165
|
static readonly SCHEMA: SchemaShape<ValidateTsInSrcConfig>;
|
|
165
166
|
}
|
|
166
|
-
export {};
|
package/src/rule-configs.js
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidateTsInSrcConfig = exports.NoJsFilesConfig = exports.RuntimeArchitectureConfig = exports.NoFileImportCyclesConfig = exports.NoEditOnMainConfig = exports.NoDirectMainUpdateConfig = exports.PrMergeCleanupConfig = exports.MergeInProgressGuardConfig = exports.PrCreationGuardConfig = exports.BranchCreationGuardConfig = exports.NoShellSubstitutionConfig = exports.NoSymbolDiTokensConfig = exports.AngularNoDirectApiInResolverConfig = exports.ThrowCauseRequiredConfig = exports.CatchErrorPatternConfig = exports.NoUnmanagedExceptionsConfig = exports.NoDestructureConfig = exports.PrismaConverterConfig = exports.PrismaValidateDtosConfig = exports.NoImplicitAnyConfig = exports.NoAnyUnknownConfig = exports.NoInlineTypeLiteralsConfig = exports.RequireReturnTypeConfig = exports.MaxFileLinesConfig = exports.MaxMethodLinesConfig = exports.BASE_RULE_SCHEMA = exports.BaseRuleConfig = void 0;
|
|
3
|
+
exports.ValidateTsInSrcConfig = exports.NoJsFilesConfig = exports.RuntimeArchitectureConfig = exports.NoFileImportCyclesConfig = exports.NoEditOnMainConfig = exports.NoDirectMainUpdateConfig = exports.PrMergeCleanupConfig = exports.MergeInProgressGuardConfig = exports.PrCreationGuardConfig = exports.BranchCreationGuardConfig = exports.NoShellSubstitutionConfig = exports.NoSymbolDiTokensConfig = exports.AngularNoDirectApiInResolverConfig = exports.ThrowCauseRequiredConfig = exports.CatchErrorPatternConfig = exports.NoUnmanagedExceptionsConfig = exports.NoDestructureConfig = exports.PrismaConverterConfig = exports.PrismaValidateDtosConfig = exports.NoImplicitAnyConfig = exports.NoAnyUnknownConfig = exports.NoInlineTypeLiteralsConfig = exports.RequireReturnTypeConfig = exports.MaxFileLinesConfig = exports.MaxMethodLinesConfig = exports.BASE_RULE_SCHEMA = exports.BaseRuleConfig = exports.VALIDATE_TS_MODES = exports.ON_OFF_MODES = exports.THROW_CAUSE_MODES = exports.DIRECT_API_RESOLVER_MODES = exports.PRISMA_CONVERTER_MODES = exports.PRISMA_DTOS_MODES = exports.MODIFIED_CODE_MODES = exports.INLINE_TYPE_MODES = exports.RETURN_TYPE_MODES = exports.FILE_LIMIT_MODES = exports.METHOD_LIMIT_MODES = void 0;
|
|
4
4
|
const field_def_1 = require("./field-def");
|
|
5
5
|
// Mode const arrays — TypeScript union types derived from them, and FieldDef enum
|
|
6
6
|
// values reference the same array. Impossible for the type and runtime check to diverge.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
// Single source of truth for rule "mode" values. Exported so code-rules (and any other
|
|
8
|
+
// consumer) imports these instead of re-declaring the same unions — a rename here ripples
|
|
9
|
+
// everywhere at compile time. The FieldDef SCHEMA below references the same arrays, so the
|
|
10
|
+
// type and the runtime validation can never diverge.
|
|
11
|
+
exports.METHOD_LIMIT_MODES = ['OFF', 'NEW_METHODS', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'];
|
|
12
|
+
exports.FILE_LIMIT_MODES = ['OFF', 'MODIFIED_FILES'];
|
|
13
|
+
exports.RETURN_TYPE_MODES = ['OFF', 'NEW_METHODS', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'];
|
|
14
|
+
exports.INLINE_TYPE_MODES = ['OFF', 'NEW_METHODS', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'];
|
|
15
|
+
exports.MODIFIED_CODE_MODES = ['OFF', 'MODIFIED_CODE', 'MODIFIED_FILES'];
|
|
16
|
+
exports.PRISMA_DTOS_MODES = ['OFF', 'MODIFIED_CLASS', 'MODIFIED_FILES'];
|
|
17
|
+
exports.PRISMA_CONVERTER_MODES = ['OFF', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'];
|
|
18
|
+
exports.DIRECT_API_RESOLVER_MODES = ['OFF', 'MODIFIED_CODE', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'];
|
|
19
|
+
exports.THROW_CAUSE_MODES = ['ON', 'OFF', 'MODIFIED_CODE'];
|
|
20
|
+
exports.ON_OFF_MODES = ['ON', 'OFF'];
|
|
21
|
+
exports.VALIDATE_TS_MODES = ['ON', 'OFF', 'MODIFIED_FILES'];
|
|
18
22
|
// ---------------------------------------------------------------------------
|
|
19
23
|
// Universal escape hatches — EVERY rule supports temporarily disabling itself
|
|
20
24
|
// either while on a named git branch (ignoreRuleWhileOnBranch) or until an
|
|
@@ -24,6 +28,10 @@ const VALIDATE_TS_MODES = ['ON', 'OFF', 'MODIFIED_FILES'];
|
|
|
24
28
|
// values vary (ON/OFF vs MODIFIED_CODE vs NEW_AND_MODIFIED_METHODS, etc).
|
|
25
29
|
// ---------------------------------------------------------------------------
|
|
26
30
|
class BaseRuleConfig {
|
|
31
|
+
// `mode` is declared here (loosely typed) so the shared AbstractRule base can read it for
|
|
32
|
+
// on/off. Each concrete *Config narrows it to its own union (e.g. `mode?: ModifiedCodeMode`),
|
|
33
|
+
// which is an assignable (covariant) override.
|
|
34
|
+
mode;
|
|
27
35
|
ignoreModifiedUntilEpoch;
|
|
28
36
|
ignoreRuleWhileOnBranch;
|
|
29
37
|
}
|
|
@@ -33,11 +41,10 @@ exports.BASE_RULE_SCHEMA = {
|
|
|
33
41
|
ignoreRuleWhileOnBranch: field_def_1.FieldDef.optional('string'),
|
|
34
42
|
};
|
|
35
43
|
class MaxMethodLinesConfig extends BaseRuleConfig {
|
|
36
|
-
mode;
|
|
37
44
|
limit;
|
|
38
45
|
disableAllowed;
|
|
39
46
|
static SCHEMA = {
|
|
40
|
-
mode: new field_def_1.FieldDef('string', METHOD_LIMIT_MODES),
|
|
47
|
+
mode: new field_def_1.FieldDef('string', exports.METHOD_LIMIT_MODES),
|
|
41
48
|
limit: field_def_1.FieldDef.optional('number'),
|
|
42
49
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
43
50
|
...exports.BASE_RULE_SCHEMA,
|
|
@@ -45,11 +52,10 @@ class MaxMethodLinesConfig extends BaseRuleConfig {
|
|
|
45
52
|
}
|
|
46
53
|
exports.MaxMethodLinesConfig = MaxMethodLinesConfig;
|
|
47
54
|
class MaxFileLinesConfig extends BaseRuleConfig {
|
|
48
|
-
mode;
|
|
49
55
|
limit;
|
|
50
56
|
disableAllowed;
|
|
51
57
|
static SCHEMA = {
|
|
52
|
-
mode: new field_def_1.FieldDef('string', FILE_LIMIT_MODES),
|
|
58
|
+
mode: new field_def_1.FieldDef('string', exports.FILE_LIMIT_MODES),
|
|
53
59
|
limit: field_def_1.FieldDef.optional('number'),
|
|
54
60
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
55
61
|
...exports.BASE_RULE_SCHEMA,
|
|
@@ -57,52 +63,47 @@ class MaxFileLinesConfig extends BaseRuleConfig {
|
|
|
57
63
|
}
|
|
58
64
|
exports.MaxFileLinesConfig = MaxFileLinesConfig;
|
|
59
65
|
class RequireReturnTypeConfig extends BaseRuleConfig {
|
|
60
|
-
mode;
|
|
61
66
|
disableAllowed;
|
|
62
67
|
static SCHEMA = {
|
|
63
|
-
mode: new field_def_1.FieldDef('string', RETURN_TYPE_MODES),
|
|
68
|
+
mode: new field_def_1.FieldDef('string', exports.RETURN_TYPE_MODES),
|
|
64
69
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
65
70
|
...exports.BASE_RULE_SCHEMA,
|
|
66
71
|
};
|
|
67
72
|
}
|
|
68
73
|
exports.RequireReturnTypeConfig = RequireReturnTypeConfig;
|
|
69
74
|
class NoInlineTypeLiteralsConfig extends BaseRuleConfig {
|
|
70
|
-
mode;
|
|
71
75
|
disableAllowed;
|
|
72
76
|
static SCHEMA = {
|
|
73
|
-
mode: new field_def_1.FieldDef('string', INLINE_TYPE_MODES),
|
|
77
|
+
mode: new field_def_1.FieldDef('string', exports.INLINE_TYPE_MODES),
|
|
74
78
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
75
79
|
...exports.BASE_RULE_SCHEMA,
|
|
76
80
|
};
|
|
77
81
|
}
|
|
78
82
|
exports.NoInlineTypeLiteralsConfig = NoInlineTypeLiteralsConfig;
|
|
79
83
|
class NoAnyUnknownConfig extends BaseRuleConfig {
|
|
80
|
-
mode;
|
|
81
84
|
disableAllowed;
|
|
82
85
|
static SCHEMA = {
|
|
83
|
-
mode: new field_def_1.FieldDef('string', MODIFIED_CODE_MODES),
|
|
86
|
+
mode: new field_def_1.FieldDef('string', exports.MODIFIED_CODE_MODES),
|
|
84
87
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
85
88
|
...exports.BASE_RULE_SCHEMA,
|
|
86
89
|
};
|
|
87
90
|
}
|
|
88
91
|
exports.NoAnyUnknownConfig = NoAnyUnknownConfig;
|
|
89
92
|
class NoImplicitAnyConfig extends BaseRuleConfig {
|
|
90
|
-
mode;
|
|
91
93
|
disableAllowed;
|
|
92
94
|
static SCHEMA = {
|
|
93
|
-
mode: new field_def_1.FieldDef('string', MODIFIED_CODE_MODES),
|
|
95
|
+
mode: new field_def_1.FieldDef('string', exports.MODIFIED_CODE_MODES),
|
|
94
96
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
95
97
|
...exports.BASE_RULE_SCHEMA,
|
|
96
98
|
};
|
|
97
99
|
}
|
|
98
100
|
exports.NoImplicitAnyConfig = NoImplicitAnyConfig;
|
|
99
101
|
class PrismaValidateDtosConfig extends BaseRuleConfig {
|
|
100
|
-
mode;
|
|
101
102
|
disableAllowed;
|
|
102
103
|
prismaSchemaPath;
|
|
103
104
|
dtoSourcePaths;
|
|
104
105
|
static SCHEMA = {
|
|
105
|
-
mode: new field_def_1.FieldDef('string', PRISMA_DTOS_MODES),
|
|
106
|
+
mode: new field_def_1.FieldDef('string', exports.PRISMA_DTOS_MODES),
|
|
106
107
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
107
108
|
prismaSchemaPath: field_def_1.FieldDef.optional('string'),
|
|
108
109
|
dtoSourcePaths: field_def_1.FieldDef.optional('string[]'),
|
|
@@ -111,13 +112,12 @@ class PrismaValidateDtosConfig extends BaseRuleConfig {
|
|
|
111
112
|
}
|
|
112
113
|
exports.PrismaValidateDtosConfig = PrismaValidateDtosConfig;
|
|
113
114
|
class PrismaConverterConfig extends BaseRuleConfig {
|
|
114
|
-
mode;
|
|
115
115
|
disableAllowed;
|
|
116
116
|
schemaPath;
|
|
117
117
|
convertersPaths;
|
|
118
118
|
enforcePaths;
|
|
119
119
|
static SCHEMA = {
|
|
120
|
-
mode: new field_def_1.FieldDef('string', PRISMA_CONVERTER_MODES),
|
|
120
|
+
mode: new field_def_1.FieldDef('string', exports.PRISMA_CONVERTER_MODES),
|
|
121
121
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
122
122
|
schemaPath: field_def_1.FieldDef.optional('string'),
|
|
123
123
|
convertersPaths: field_def_1.FieldDef.optional('string[]'),
|
|
@@ -127,11 +127,10 @@ class PrismaConverterConfig extends BaseRuleConfig {
|
|
|
127
127
|
}
|
|
128
128
|
exports.PrismaConverterConfig = PrismaConverterConfig;
|
|
129
129
|
class NoDestructureConfig extends BaseRuleConfig {
|
|
130
|
-
mode;
|
|
131
130
|
allowTopLevel;
|
|
132
131
|
disableAllowed;
|
|
133
132
|
static SCHEMA = {
|
|
134
|
-
mode: new field_def_1.FieldDef('string', MODIFIED_CODE_MODES),
|
|
133
|
+
mode: new field_def_1.FieldDef('string', exports.MODIFIED_CODE_MODES),
|
|
135
134
|
allowTopLevel: field_def_1.FieldDef.optional('boolean'),
|
|
136
135
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
137
136
|
...exports.BASE_RULE_SCHEMA,
|
|
@@ -139,41 +138,37 @@ class NoDestructureConfig extends BaseRuleConfig {
|
|
|
139
138
|
}
|
|
140
139
|
exports.NoDestructureConfig = NoDestructureConfig;
|
|
141
140
|
class NoUnmanagedExceptionsConfig extends BaseRuleConfig {
|
|
142
|
-
mode;
|
|
143
141
|
disableAllowed;
|
|
144
142
|
static SCHEMA = {
|
|
145
|
-
mode: new field_def_1.FieldDef('string', MODIFIED_CODE_MODES),
|
|
143
|
+
mode: new field_def_1.FieldDef('string', exports.MODIFIED_CODE_MODES),
|
|
146
144
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
147
145
|
...exports.BASE_RULE_SCHEMA,
|
|
148
146
|
};
|
|
149
147
|
}
|
|
150
148
|
exports.NoUnmanagedExceptionsConfig = NoUnmanagedExceptionsConfig;
|
|
151
149
|
class CatchErrorPatternConfig extends BaseRuleConfig {
|
|
152
|
-
mode;
|
|
153
150
|
disableAllowed;
|
|
154
151
|
static SCHEMA = {
|
|
155
|
-
mode: new field_def_1.FieldDef('string', MODIFIED_CODE_MODES),
|
|
152
|
+
mode: new field_def_1.FieldDef('string', exports.MODIFIED_CODE_MODES),
|
|
156
153
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
157
154
|
...exports.BASE_RULE_SCHEMA,
|
|
158
155
|
};
|
|
159
156
|
}
|
|
160
157
|
exports.CatchErrorPatternConfig = CatchErrorPatternConfig;
|
|
161
158
|
class ThrowCauseRequiredConfig extends BaseRuleConfig {
|
|
162
|
-
mode;
|
|
163
159
|
disableAllowed;
|
|
164
160
|
static SCHEMA = {
|
|
165
|
-
mode: new field_def_1.FieldDef('string', THROW_CAUSE_MODES),
|
|
161
|
+
mode: new field_def_1.FieldDef('string', exports.THROW_CAUSE_MODES),
|
|
166
162
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
167
163
|
...exports.BASE_RULE_SCHEMA,
|
|
168
164
|
};
|
|
169
165
|
}
|
|
170
166
|
exports.ThrowCauseRequiredConfig = ThrowCauseRequiredConfig;
|
|
171
167
|
class AngularNoDirectApiInResolverConfig extends BaseRuleConfig {
|
|
172
|
-
mode;
|
|
173
168
|
disableAllowed;
|
|
174
169
|
enforcePaths;
|
|
175
170
|
static SCHEMA = {
|
|
176
|
-
mode: new field_def_1.FieldDef('string', DIRECT_API_RESOLVER_MODES),
|
|
171
|
+
mode: new field_def_1.FieldDef('string', exports.DIRECT_API_RESOLVER_MODES),
|
|
177
172
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
178
173
|
enforcePaths: field_def_1.FieldDef.optional('string[]'),
|
|
179
174
|
...exports.BASE_RULE_SCHEMA,
|
|
@@ -181,11 +176,10 @@ class AngularNoDirectApiInResolverConfig extends BaseRuleConfig {
|
|
|
181
176
|
}
|
|
182
177
|
exports.AngularNoDirectApiInResolverConfig = AngularNoDirectApiInResolverConfig;
|
|
183
178
|
class NoSymbolDiTokensConfig extends BaseRuleConfig {
|
|
184
|
-
mode;
|
|
185
179
|
disableAllowed;
|
|
186
180
|
allowedPaths;
|
|
187
181
|
static SCHEMA = {
|
|
188
|
-
mode: new field_def_1.FieldDef('string', MODIFIED_CODE_MODES),
|
|
182
|
+
mode: new field_def_1.FieldDef('string', exports.MODIFIED_CODE_MODES),
|
|
189
183
|
disableAllowed: field_def_1.FieldDef.optional('boolean'),
|
|
190
184
|
allowedPaths: field_def_1.FieldDef.optional('string[]'),
|
|
191
185
|
...exports.BASE_RULE_SCHEMA,
|
|
@@ -193,71 +187,63 @@ class NoSymbolDiTokensConfig extends BaseRuleConfig {
|
|
|
193
187
|
}
|
|
194
188
|
exports.NoSymbolDiTokensConfig = NoSymbolDiTokensConfig;
|
|
195
189
|
class NoShellSubstitutionConfig extends BaseRuleConfig {
|
|
196
|
-
mode;
|
|
197
190
|
static SCHEMA = {
|
|
198
|
-
mode: new field_def_1.FieldDef('string', ON_OFF_MODES),
|
|
191
|
+
mode: new field_def_1.FieldDef('string', exports.ON_OFF_MODES),
|
|
199
192
|
...exports.BASE_RULE_SCHEMA,
|
|
200
193
|
};
|
|
201
194
|
}
|
|
202
195
|
exports.NoShellSubstitutionConfig = NoShellSubstitutionConfig;
|
|
203
196
|
class BranchCreationGuardConfig extends BaseRuleConfig {
|
|
204
|
-
mode;
|
|
205
197
|
subBranchNaming;
|
|
206
198
|
static SCHEMA = {
|
|
207
|
-
mode: new field_def_1.FieldDef('string', ON_OFF_MODES),
|
|
199
|
+
mode: new field_def_1.FieldDef('string', exports.ON_OFF_MODES),
|
|
208
200
|
subBranchNaming: field_def_1.FieldDef.optional('string'),
|
|
209
201
|
...exports.BASE_RULE_SCHEMA,
|
|
210
202
|
};
|
|
211
203
|
}
|
|
212
204
|
exports.BranchCreationGuardConfig = BranchCreationGuardConfig;
|
|
213
205
|
class PrCreationGuardConfig extends BaseRuleConfig {
|
|
214
|
-
mode;
|
|
215
206
|
static SCHEMA = {
|
|
216
|
-
mode: new field_def_1.FieldDef('string', ON_OFF_MODES),
|
|
207
|
+
mode: new field_def_1.FieldDef('string', exports.ON_OFF_MODES),
|
|
217
208
|
...exports.BASE_RULE_SCHEMA,
|
|
218
209
|
};
|
|
219
210
|
}
|
|
220
211
|
exports.PrCreationGuardConfig = PrCreationGuardConfig;
|
|
221
212
|
class MergeInProgressGuardConfig extends BaseRuleConfig {
|
|
222
|
-
mode;
|
|
223
213
|
static SCHEMA = {
|
|
224
|
-
mode: new field_def_1.FieldDef('string', ON_OFF_MODES),
|
|
214
|
+
mode: new field_def_1.FieldDef('string', exports.ON_OFF_MODES),
|
|
225
215
|
...exports.BASE_RULE_SCHEMA,
|
|
226
216
|
};
|
|
227
217
|
}
|
|
228
218
|
exports.MergeInProgressGuardConfig = MergeInProgressGuardConfig;
|
|
229
219
|
class PrMergeCleanupConfig extends BaseRuleConfig {
|
|
230
|
-
mode;
|
|
231
220
|
static SCHEMA = {
|
|
232
|
-
mode: new field_def_1.FieldDef('string', ON_OFF_MODES),
|
|
221
|
+
mode: new field_def_1.FieldDef('string', exports.ON_OFF_MODES),
|
|
233
222
|
...exports.BASE_RULE_SCHEMA,
|
|
234
223
|
};
|
|
235
224
|
}
|
|
236
225
|
exports.PrMergeCleanupConfig = PrMergeCleanupConfig;
|
|
237
226
|
class NoDirectMainUpdateConfig extends BaseRuleConfig {
|
|
238
|
-
mode;
|
|
239
227
|
static SCHEMA = {
|
|
240
|
-
mode: new field_def_1.FieldDef('string', ON_OFF_MODES),
|
|
228
|
+
mode: new field_def_1.FieldDef('string', exports.ON_OFF_MODES),
|
|
241
229
|
...exports.BASE_RULE_SCHEMA,
|
|
242
230
|
};
|
|
243
231
|
}
|
|
244
232
|
exports.NoDirectMainUpdateConfig = NoDirectMainUpdateConfig;
|
|
245
233
|
class NoEditOnMainConfig extends BaseRuleConfig {
|
|
246
|
-
mode;
|
|
247
234
|
branchNamingConvention;
|
|
248
235
|
static SCHEMA = {
|
|
249
|
-
mode: new field_def_1.FieldDef('string', ON_OFF_MODES),
|
|
236
|
+
mode: new field_def_1.FieldDef('string', exports.ON_OFF_MODES),
|
|
250
237
|
branchNamingConvention: field_def_1.FieldDef.optional('string'),
|
|
251
238
|
...exports.BASE_RULE_SCHEMA,
|
|
252
239
|
};
|
|
253
240
|
}
|
|
254
241
|
exports.NoEditOnMainConfig = NoEditOnMainConfig;
|
|
255
242
|
class NoFileImportCyclesConfig extends BaseRuleConfig {
|
|
256
|
-
mode;
|
|
257
243
|
ignoreTypeOnly;
|
|
258
244
|
excludePackages;
|
|
259
245
|
static SCHEMA = {
|
|
260
|
-
mode: new field_def_1.FieldDef('string', ON_OFF_MODES),
|
|
246
|
+
mode: new field_def_1.FieldDef('string', exports.ON_OFF_MODES),
|
|
261
247
|
ignoreTypeOnly: field_def_1.FieldDef.optional('boolean'),
|
|
262
248
|
excludePackages: field_def_1.FieldDef.optional('string[]'),
|
|
263
249
|
...exports.BASE_RULE_SCHEMA,
|
|
@@ -265,12 +251,11 @@ class NoFileImportCyclesConfig extends BaseRuleConfig {
|
|
|
265
251
|
}
|
|
266
252
|
exports.NoFileImportCyclesConfig = NoFileImportCyclesConfig;
|
|
267
253
|
class RuntimeArchitectureConfig extends BaseRuleConfig {
|
|
268
|
-
mode;
|
|
269
254
|
servicePaths;
|
|
270
255
|
apiProjectPaths;
|
|
271
256
|
allowedCycles;
|
|
272
257
|
static SCHEMA = {
|
|
273
|
-
mode: new field_def_1.FieldDef('string', ON_OFF_MODES),
|
|
258
|
+
mode: new field_def_1.FieldDef('string', exports.ON_OFF_MODES),
|
|
274
259
|
servicePaths: field_def_1.FieldDef.optional('string[]'),
|
|
275
260
|
apiProjectPaths: field_def_1.FieldDef.optional('string[]'),
|
|
276
261
|
allowedCycles: field_def_1.FieldDef.optional('string[]'),
|
|
@@ -279,21 +264,19 @@ class RuntimeArchitectureConfig extends BaseRuleConfig {
|
|
|
279
264
|
}
|
|
280
265
|
exports.RuntimeArchitectureConfig = RuntimeArchitectureConfig;
|
|
281
266
|
class NoJsFilesConfig extends BaseRuleConfig {
|
|
282
|
-
mode;
|
|
283
267
|
allowedPaths;
|
|
284
268
|
static SCHEMA = {
|
|
285
|
-
mode: new field_def_1.FieldDef('string', ON_OFF_MODES),
|
|
269
|
+
mode: new field_def_1.FieldDef('string', exports.ON_OFF_MODES),
|
|
286
270
|
allowedPaths: field_def_1.FieldDef.optional('string[]'),
|
|
287
271
|
...exports.BASE_RULE_SCHEMA,
|
|
288
272
|
};
|
|
289
273
|
}
|
|
290
274
|
exports.NoJsFilesConfig = NoJsFilesConfig;
|
|
291
275
|
class ValidateTsInSrcConfig extends BaseRuleConfig {
|
|
292
|
-
mode;
|
|
293
276
|
allowedRootFiles;
|
|
294
277
|
excludePaths;
|
|
295
278
|
static SCHEMA = {
|
|
296
|
-
mode: new field_def_1.FieldDef('string', VALIDATE_TS_MODES),
|
|
279
|
+
mode: new field_def_1.FieldDef('string', exports.VALIDATE_TS_MODES),
|
|
297
280
|
allowedRootFiles: field_def_1.FieldDef.optional('string[]'),
|
|
298
281
|
excludePaths: field_def_1.FieldDef.optional('string[]'),
|
|
299
282
|
...exports.BASE_RULE_SCHEMA,
|
package/src/rule-configs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-configs.js","sourceRoot":"","sources":["../../../../../packages/tooling/rules-config/src/rule-configs.ts"],"names":[],"mappings":";;;AAAA,2CAAoD;AAEpD,kFAAkF;AAClF,yFAAyF;AAEzF,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE,gBAAgB,CAAU,CAAC;AAGzG,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAU,CAAC;AAG5D,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE,gBAAgB,CAAU,CAAC;AAGxG,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE,gBAAgB,CAAU,CAAC;AAGxG,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;AAGhF,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAU,CAAC;AAG/E,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,CAAU,CAAC;AAG9F,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,gBAAgB,CAAU,CAAC;AAGlH,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAU,CAAC;AAGlE,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,KAAK,CAAU,CAAC;AAG5C,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAU,CAAC;AAGnE,8EAA8E;AAC9E,8EAA8E;AAC9E,2EAA2E;AAC3E,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,0EAA0E;AAC1E,8EAA8E;AAC9E,MAAsB,cAAc;IAChC,wBAAwB,CAAU;IAClC,uBAAuB,CAAU;CACpC;AAHD,wCAGC;AAEY,QAAA,gBAAgB,GAAG;IAC5B,wBAAwB,EAAE,oBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACrD,uBAAuB,EAAE,oBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;CACvD,CAAC;AAEF,MAAa,oBAAqB,SAAQ,cAAc;IACpD,IAAI,CAAmB;IACvB,KAAK,CAAU;IACf,cAAc,CAAW;IAEzB,MAAM,CAAU,MAAM,GAAsC;QACxD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAChD,KAAK,EAAE,oBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClC,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AAVN,oDAWC;AAED,MAAa,kBAAmB,SAAQ,cAAc;IAClD,IAAI,CAAiB;IACrB,KAAK,CAAU;IACf,cAAc,CAAW;IAEzB,MAAM,CAAU,MAAM,GAAoC;QACtD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QAC9C,KAAK,EAAE,oBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClC,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AAVN,gDAWC;AAED,MAAa,uBAAwB,SAAQ,cAAc;IACvD,IAAI,CAAuB;IAC3B,cAAc,CAAW;IAEzB,MAAM,CAAU,MAAM,GAAyC;QAC3D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QAC/C,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AARN,0DASC;AAED,MAAa,0BAA2B,SAAQ,cAAc;IAC1D,IAAI,CAAuB;IAC3B,cAAc,CAAW;IAEzB,MAAM,CAAU,MAAM,GAA4C;QAC9D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QAC/C,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AARN,gEASC;AAED,MAAa,kBAAmB,SAAQ,cAAc;IAClD,IAAI,CAAoB;IACxB,cAAc,CAAW;IAEzB,MAAM,CAAU,MAAM,GAAoC;QACtD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QACjD,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AARN,gDASC;AAED,MAAa,mBAAoB,SAAQ,cAAc;IACnD,IAAI,CAAoB;IACxB,cAAc,CAAW;IAEzB,MAAM,CAAU,MAAM,GAAqC;QACvD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QACjD,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AARN,kDASC;AAED,MAAa,wBAAyB,SAAQ,cAAc;IACxD,IAAI,CAA0B;IAC9B,cAAc,CAAW;IACzB,gBAAgB,CAAU;IAC1B,cAAc,CAAY;IAE1B,MAAM,CAAU,MAAM,GAA0C;QAC5D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QAC/C,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,gBAAgB,EAAE,oBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7C,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC7C,GAAG,wBAAgB;KACtB,CAAC;;AAZN,4DAaC;AAED,MAAa,qBAAsB,SAAQ,cAAc;IACrD,IAAI,CAA4B;IAChC,cAAc,CAAW;IACzB,UAAU,CAAU;IACpB,eAAe,CAAY;IAC3B,YAAY,CAAY;IAExB,MAAM,CAAU,MAAM,GAAuC;QACzD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QACpD,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,UAAU,EAAE,oBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvC,eAAe,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9C,YAAY,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC3C,GAAG,wBAAgB;KACtB,CAAC;;AAdN,sDAeC;AAED,MAAa,mBAAoB,SAAQ,cAAc;IACnD,IAAI,CAAoB;IACxB,aAAa,CAAW;IACxB,cAAc,CAAW;IAEzB,MAAM,CAAU,MAAM,GAAqC;QACvD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QACjD,aAAa,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3C,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AAVN,kDAWC;AAED,MAAa,2BAA4B,SAAQ,cAAc;IAC3D,IAAI,CAAoB;IACxB,cAAc,CAAW;IAEzB,MAAM,CAAU,MAAM,GAA6C;QAC/D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QACjD,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AARN,kEASC;AAED,MAAa,uBAAwB,SAAQ,cAAc;IACvD,IAAI,CAAoB;IACxB,cAAc,CAAW;IAEzB,MAAM,CAAU,MAAM,GAAyC;QAC3D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QACjD,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AARN,0DASC;AAED,MAAa,wBAAyB,SAAQ,cAAc;IACxD,IAAI,CAAuB;IAC3B,cAAc,CAAW;IAEzB,MAAM,CAAU,MAAM,GAA0C;QAC5D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QAC/C,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AARN,4DASC;AAED,MAAa,kCAAmC,SAAQ,cAAc;IAClE,IAAI,CAAyB;IAC7B,cAAc,CAAW;IACzB,YAAY,CAAY;IAExB,MAAM,CAAU,MAAM,GAAoD;QACtE,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;QACvD,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,YAAY,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC3C,GAAG,wBAAgB;KACtB,CAAC;;AAVN,gFAWC;AAED,MAAa,sBAAuB,SAAQ,cAAc;IACtD,IAAI,CAAoB;IACxB,cAAc,CAAW;IACzB,YAAY,CAAY;IAExB,MAAM,CAAU,MAAM,GAAwC;QAC1D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;QACjD,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,YAAY,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC3C,GAAG,wBAAgB;KACtB,CAAC;;AAVN,wDAWC;AAED,MAAa,yBAA0B,SAAQ,cAAc;IACzD,IAAI,CAAa;IAEjB,MAAM,CAAU,MAAM,GAA2C;QAC7D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC1C,GAAG,wBAAgB;KACtB,CAAC;;AANN,8DAOC;AAED,MAAa,yBAA0B,SAAQ,cAAc;IACzD,IAAI,CAAa;IACjB,eAAe,CAAU;IAEzB,MAAM,CAAU,MAAM,GAA2C;QAC7D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC1C,eAAe,EAAE,oBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AARN,8DASC;AAED,MAAa,qBAAsB,SAAQ,cAAc;IACrD,IAAI,CAAa;IAEjB,MAAM,CAAU,MAAM,GAAuC;QACzD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC1C,GAAG,wBAAgB;KACtB,CAAC;;AANN,sDAOC;AAED,MAAa,0BAA2B,SAAQ,cAAc;IAC1D,IAAI,CAAa;IAEjB,MAAM,CAAU,MAAM,GAA4C;QAC9D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC1C,GAAG,wBAAgB;KACtB,CAAC;;AANN,gEAOC;AAED,MAAa,oBAAqB,SAAQ,cAAc;IACpD,IAAI,CAAa;IAEjB,MAAM,CAAU,MAAM,GAAsC;QACxD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC1C,GAAG,wBAAgB;KACtB,CAAC;;AANN,oDAOC;AAED,MAAa,wBAAyB,SAAQ,cAAc;IACxD,IAAI,CAAa;IAEjB,MAAM,CAAU,MAAM,GAA0C;QAC5D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC1C,GAAG,wBAAgB;KACtB,CAAC;;AANN,4DAOC;AAED,MAAa,kBAAmB,SAAQ,cAAc;IAClD,IAAI,CAAa;IACjB,sBAAsB,CAAU;IAEhC,MAAM,CAAU,MAAM,GAAoC;QACtD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC1C,sBAAsB,EAAE,oBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnD,GAAG,wBAAgB;KACtB,CAAC;;AARN,gDASC;AAED,MAAa,wBAAyB,SAAQ,cAAc;IACxD,IAAI,CAAa;IACjB,cAAc,CAAW;IACzB,eAAe,CAAY;IAE3B,MAAM,CAAU,MAAM,GAA0C;QAC5D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC1C,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,eAAe,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9C,GAAG,wBAAgB;KACtB,CAAC;;AAVN,4DAWC;AAED,MAAa,yBAA0B,SAAQ,cAAc;IACzD,IAAI,CAAa;IACjB,YAAY,CAAY;IACxB,eAAe,CAAY;IAC3B,aAAa,CAAY;IAEzB,MAAM,CAAU,MAAM,GAA2C;QAC7D,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC1C,YAAY,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC3C,eAAe,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9C,aAAa,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,GAAG,wBAAgB;KACtB,CAAC;;AAZN,8DAaC;AAED,MAAa,eAAgB,SAAQ,cAAc;IAC/C,IAAI,CAAa;IACjB,YAAY,CAAY;IAExB,MAAM,CAAU,MAAM,GAAiC;QACnD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC1C,YAAY,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC3C,GAAG,wBAAgB;KACtB,CAAC;;AARN,0CASC;AAED,MAAa,qBAAsB,SAAQ,cAAc;IACrD,IAAI,CAAkB;IACtB,gBAAgB,CAAY;IAC5B,YAAY,CAAY;IAExB,MAAM,CAAU,MAAM,GAAuC;QACzD,IAAI,EAAE,IAAI,oBAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QAC/C,gBAAgB,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC/C,YAAY,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC3C,GAAG,wBAAgB;KACtB,CAAC;;AAVN,sDAWC","sourcesContent":["import { FieldDef, SchemaShape } from './field-def';\n\n// Mode const arrays — TypeScript union types derived from them, and FieldDef enum\n// values reference the same array. Impossible for the type and runtime check to diverge.\n\nconst METHOD_LIMIT_MODES = ['OFF', 'NEW_METHODS', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'] as const;\ntype MethodLimitMode = typeof METHOD_LIMIT_MODES[number];\n\nconst FILE_LIMIT_MODES = ['OFF', 'MODIFIED_FILES'] as const;\ntype FileLimitMode = typeof FILE_LIMIT_MODES[number];\n\nconst RETURN_TYPE_MODES = ['OFF', 'NEW_METHODS', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'] as const;\ntype ReturnTypeModeLocal = typeof RETURN_TYPE_MODES[number];\n\nconst INLINE_TYPE_MODES = ['OFF', 'NEW_METHODS', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'] as const;\ntype InlineTypeModeLocal = typeof INLINE_TYPE_MODES[number];\n\nconst MODIFIED_CODE_MODES = ['OFF', 'MODIFIED_CODE', 'MODIFIED_FILES'] as const;\ntype ModifiedCodeMode = typeof MODIFIED_CODE_MODES[number];\n\nconst PRISMA_DTOS_MODES = ['OFF', 'MODIFIED_CLASS', 'MODIFIED_FILES'] as const;\ntype PrismaValidateDtosMode = typeof PRISMA_DTOS_MODES[number];\n\nconst PRISMA_CONVERTER_MODES = ['OFF', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'] as const;\ntype PrismaConverterModeLocal = typeof PRISMA_CONVERTER_MODES[number];\n\nconst DIRECT_API_RESOLVER_MODES = ['OFF', 'MODIFIED_CODE', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'] as const;\ntype DirectApiResolverMode = typeof DIRECT_API_RESOLVER_MODES[number];\n\nconst THROW_CAUSE_MODES = ['ON', 'OFF', 'MODIFIED_CODE'] as const;\ntype ThrowCauseModeLocal = typeof THROW_CAUSE_MODES[number];\n\nconst ON_OFF_MODES = ['ON', 'OFF'] as const;\ntype OnOffMode = typeof ON_OFF_MODES[number];\n\nconst VALIDATE_TS_MODES = ['ON', 'OFF', 'MODIFIED_FILES'] as const;\ntype ValidateTsMode = typeof VALIDATE_TS_MODES[number];\n\n// ---------------------------------------------------------------------------\n// Universal escape hatches — EVERY rule supports temporarily disabling itself\n// either while on a named git branch (ignoreRuleWhileOnBranch) or until an\n// epoch passes (ignoreModifiedUntilEpoch). Both are optional. They live on a\n// shared base class so the two fields (and their schema entries) are declared\n// once instead of repeated per rule. `mode` stays per-rule because its allowed\n// values vary (ON/OFF vs MODIFIED_CODE vs NEW_AND_MODIFIED_METHODS, etc).\n// ---------------------------------------------------------------------------\nexport abstract class BaseRuleConfig {\n ignoreModifiedUntilEpoch?: number;\n ignoreRuleWhileOnBranch?: string;\n}\n\nexport const BASE_RULE_SCHEMA = {\n ignoreModifiedUntilEpoch: FieldDef.optional('number'),\n ignoreRuleWhileOnBranch: FieldDef.optional('string'),\n};\n\nexport class MaxMethodLinesConfig extends BaseRuleConfig {\n mode?: MethodLimitMode;\n limit?: number;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<MaxMethodLinesConfig> = {\n mode: new FieldDef('string', METHOD_LIMIT_MODES),\n limit: FieldDef.optional('number'),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class MaxFileLinesConfig extends BaseRuleConfig {\n mode?: FileLimitMode;\n limit?: number;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<MaxFileLinesConfig> = {\n mode: new FieldDef('string', FILE_LIMIT_MODES),\n limit: FieldDef.optional('number'),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class RequireReturnTypeConfig extends BaseRuleConfig {\n mode?: ReturnTypeModeLocal;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<RequireReturnTypeConfig> = {\n mode: new FieldDef('string', RETURN_TYPE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoInlineTypeLiteralsConfig extends BaseRuleConfig {\n mode?: InlineTypeModeLocal;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<NoInlineTypeLiteralsConfig> = {\n mode: new FieldDef('string', INLINE_TYPE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoAnyUnknownConfig extends BaseRuleConfig {\n mode?: ModifiedCodeMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<NoAnyUnknownConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoImplicitAnyConfig extends BaseRuleConfig {\n mode?: ModifiedCodeMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<NoImplicitAnyConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class PrismaValidateDtosConfig extends BaseRuleConfig {\n mode?: PrismaValidateDtosMode;\n disableAllowed?: boolean;\n prismaSchemaPath?: string;\n dtoSourcePaths?: string[];\n\n static readonly SCHEMA: SchemaShape<PrismaValidateDtosConfig> = {\n mode: new FieldDef('string', PRISMA_DTOS_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n prismaSchemaPath: FieldDef.optional('string'),\n dtoSourcePaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class PrismaConverterConfig extends BaseRuleConfig {\n mode?: PrismaConverterModeLocal;\n disableAllowed?: boolean;\n schemaPath?: string;\n convertersPaths?: string[];\n enforcePaths?: string[];\n\n static readonly SCHEMA: SchemaShape<PrismaConverterConfig> = {\n mode: new FieldDef('string', PRISMA_CONVERTER_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n schemaPath: FieldDef.optional('string'),\n convertersPaths: FieldDef.optional('string[]'),\n enforcePaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoDestructureConfig extends BaseRuleConfig {\n mode?: ModifiedCodeMode;\n allowTopLevel?: boolean;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<NoDestructureConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n allowTopLevel: FieldDef.optional('boolean'),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoUnmanagedExceptionsConfig extends BaseRuleConfig {\n mode?: ModifiedCodeMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<NoUnmanagedExceptionsConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class CatchErrorPatternConfig extends BaseRuleConfig {\n mode?: ModifiedCodeMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<CatchErrorPatternConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class ThrowCauseRequiredConfig extends BaseRuleConfig {\n mode?: ThrowCauseModeLocal;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<ThrowCauseRequiredConfig> = {\n mode: new FieldDef('string', THROW_CAUSE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class AngularNoDirectApiInResolverConfig extends BaseRuleConfig {\n mode?: DirectApiResolverMode;\n disableAllowed?: boolean;\n enforcePaths?: string[];\n\n static readonly SCHEMA: SchemaShape<AngularNoDirectApiInResolverConfig> = {\n mode: new FieldDef('string', DIRECT_API_RESOLVER_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n enforcePaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoSymbolDiTokensConfig extends BaseRuleConfig {\n mode?: ModifiedCodeMode;\n disableAllowed?: boolean;\n allowedPaths?: string[];\n\n static readonly SCHEMA: SchemaShape<NoSymbolDiTokensConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n allowedPaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoShellSubstitutionConfig extends BaseRuleConfig {\n mode?: OnOffMode;\n\n static readonly SCHEMA: SchemaShape<NoShellSubstitutionConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class BranchCreationGuardConfig extends BaseRuleConfig {\n mode?: OnOffMode;\n subBranchNaming?: string;\n\n static readonly SCHEMA: SchemaShape<BranchCreationGuardConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n subBranchNaming: FieldDef.optional('string'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class PrCreationGuardConfig extends BaseRuleConfig {\n mode?: OnOffMode;\n\n static readonly SCHEMA: SchemaShape<PrCreationGuardConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class MergeInProgressGuardConfig extends BaseRuleConfig {\n mode?: OnOffMode;\n\n static readonly SCHEMA: SchemaShape<MergeInProgressGuardConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class PrMergeCleanupConfig extends BaseRuleConfig {\n mode?: OnOffMode;\n\n static readonly SCHEMA: SchemaShape<PrMergeCleanupConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoDirectMainUpdateConfig extends BaseRuleConfig {\n mode?: OnOffMode;\n\n static readonly SCHEMA: SchemaShape<NoDirectMainUpdateConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoEditOnMainConfig extends BaseRuleConfig {\n mode?: OnOffMode;\n branchNamingConvention?: string;\n\n static readonly SCHEMA: SchemaShape<NoEditOnMainConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n branchNamingConvention: FieldDef.optional('string'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoFileImportCyclesConfig extends BaseRuleConfig {\n mode?: OnOffMode;\n ignoreTypeOnly?: boolean;\n excludePackages?: string[];\n\n static readonly SCHEMA: SchemaShape<NoFileImportCyclesConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ignoreTypeOnly: FieldDef.optional('boolean'),\n excludePackages: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class RuntimeArchitectureConfig extends BaseRuleConfig {\n mode?: OnOffMode;\n servicePaths?: string[];\n apiProjectPaths?: string[];\n allowedCycles?: string[];\n\n static readonly SCHEMA: SchemaShape<RuntimeArchitectureConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n servicePaths: FieldDef.optional('string[]'),\n apiProjectPaths: FieldDef.optional('string[]'),\n allowedCycles: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoJsFilesConfig extends BaseRuleConfig {\n mode?: OnOffMode;\n allowedPaths?: string[];\n\n static readonly SCHEMA: SchemaShape<NoJsFilesConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n allowedPaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class ValidateTsInSrcConfig extends BaseRuleConfig {\n mode?: ValidateTsMode;\n allowedRootFiles?: string[];\n excludePaths?: string[];\n\n static readonly SCHEMA: SchemaShape<ValidateTsInSrcConfig> = {\n mode: new FieldDef('string', VALIDATE_TS_MODES),\n allowedRootFiles: FieldDef.optional('string[]'),\n excludePaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"rule-configs.js","sourceRoot":"","sources":["../../../../../packages/tooling/rules-config/src/rule-configs.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldDef, SchemaShape } from './field-def';\n\n// Mode const arrays — TypeScript union types derived from them, and FieldDef enum\n// values reference the same array. Impossible for the type and runtime check to diverge.\n\n// Single source of truth for rule \"mode\" values. Exported so code-rules (and any other\n// consumer) imports these instead of re-declaring the same unions — a rename here ripples\n// everywhere at compile time. The FieldDef SCHEMA below references the same arrays, so the\n// type and the runtime validation can never diverge.\nexport const METHOD_LIMIT_MODES = ['OFF', 'NEW_METHODS', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'] as const;\nexport type MethodLimitMode = typeof METHOD_LIMIT_MODES[number];\n\nexport const FILE_LIMIT_MODES = ['OFF', 'MODIFIED_FILES'] as const;\nexport type FileLimitMode = typeof FILE_LIMIT_MODES[number];\n\nexport const RETURN_TYPE_MODES = ['OFF', 'NEW_METHODS', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'] as const;\nexport type ReturnTypeMode = typeof RETURN_TYPE_MODES[number];\n\nexport const INLINE_TYPE_MODES = ['OFF', 'NEW_METHODS', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'] as const;\nexport type InlineTypeMode = typeof INLINE_TYPE_MODES[number];\n\nexport const MODIFIED_CODE_MODES = ['OFF', 'MODIFIED_CODE', 'MODIFIED_FILES'] as const;\nexport type ModifiedCodeMode = typeof MODIFIED_CODE_MODES[number];\n\nexport const PRISMA_DTOS_MODES = ['OFF', 'MODIFIED_CLASS', 'MODIFIED_FILES'] as const;\nexport type PrismaValidateDtosMode = typeof PRISMA_DTOS_MODES[number];\n\nexport const PRISMA_CONVERTER_MODES = ['OFF', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'] as const;\nexport type PrismaConverterMode = typeof PRISMA_CONVERTER_MODES[number];\n\nexport const DIRECT_API_RESOLVER_MODES = ['OFF', 'MODIFIED_CODE', 'NEW_AND_MODIFIED_METHODS', 'MODIFIED_FILES'] as const;\nexport type DirectApiResolverMode = typeof DIRECT_API_RESOLVER_MODES[number];\n\nexport const THROW_CAUSE_MODES = ['ON', 'OFF', 'MODIFIED_CODE'] as const;\nexport type ThrowCauseMode = typeof THROW_CAUSE_MODES[number];\n\nexport const ON_OFF_MODES = ['ON', 'OFF'] as const;\nexport type OnOffMode = typeof ON_OFF_MODES[number];\n\nexport const VALIDATE_TS_MODES = ['ON', 'OFF', 'MODIFIED_FILES'] as const;\nexport type ValidateTsMode = typeof VALIDATE_TS_MODES[number];\n\n// ---------------------------------------------------------------------------\n// Universal escape hatches — EVERY rule supports temporarily disabling itself\n// either while on a named git branch (ignoreRuleWhileOnBranch) or until an\n// epoch passes (ignoreModifiedUntilEpoch). Both are optional. They live on a\n// shared base class so the two fields (and their schema entries) are declared\n// once instead of repeated per rule. `mode` stays per-rule because its allowed\n// values vary (ON/OFF vs MODIFIED_CODE vs NEW_AND_MODIFIED_METHODS, etc).\n// ---------------------------------------------------------------------------\nexport abstract class BaseRuleConfig {\n // `mode` is declared here (loosely typed) so the shared AbstractRule base can read it for\n // on/off. Each concrete *Config narrows it to its own union (e.g. `mode?: ModifiedCodeMode`),\n // which is an assignable (covariant) override.\n mode?: string;\n ignoreModifiedUntilEpoch?: number;\n ignoreRuleWhileOnBranch?: string;\n}\n\nexport const BASE_RULE_SCHEMA = {\n ignoreModifiedUntilEpoch: FieldDef.optional('number'),\n ignoreRuleWhileOnBranch: FieldDef.optional('string'),\n};\n\nexport class MaxMethodLinesConfig extends BaseRuleConfig {\n declare mode?: MethodLimitMode;\n limit?: number;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<MaxMethodLinesConfig> = {\n mode: new FieldDef('string', METHOD_LIMIT_MODES),\n limit: FieldDef.optional('number'),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class MaxFileLinesConfig extends BaseRuleConfig {\n declare mode?: FileLimitMode;\n limit?: number;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<MaxFileLinesConfig> = {\n mode: new FieldDef('string', FILE_LIMIT_MODES),\n limit: FieldDef.optional('number'),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class RequireReturnTypeConfig extends BaseRuleConfig {\n declare mode?: ReturnTypeMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<RequireReturnTypeConfig> = {\n mode: new FieldDef('string', RETURN_TYPE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoInlineTypeLiteralsConfig extends BaseRuleConfig {\n declare mode?: InlineTypeMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<NoInlineTypeLiteralsConfig> = {\n mode: new FieldDef('string', INLINE_TYPE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoAnyUnknownConfig extends BaseRuleConfig {\n declare mode?: ModifiedCodeMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<NoAnyUnknownConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoImplicitAnyConfig extends BaseRuleConfig {\n declare mode?: ModifiedCodeMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<NoImplicitAnyConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class PrismaValidateDtosConfig extends BaseRuleConfig {\n declare mode?: PrismaValidateDtosMode;\n disableAllowed?: boolean;\n prismaSchemaPath?: string;\n dtoSourcePaths?: string[];\n\n static readonly SCHEMA: SchemaShape<PrismaValidateDtosConfig> = {\n mode: new FieldDef('string', PRISMA_DTOS_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n prismaSchemaPath: FieldDef.optional('string'),\n dtoSourcePaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class PrismaConverterConfig extends BaseRuleConfig {\n declare mode?: PrismaConverterMode;\n disableAllowed?: boolean;\n schemaPath?: string;\n convertersPaths?: string[];\n enforcePaths?: string[];\n\n static readonly SCHEMA: SchemaShape<PrismaConverterConfig> = {\n mode: new FieldDef('string', PRISMA_CONVERTER_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n schemaPath: FieldDef.optional('string'),\n convertersPaths: FieldDef.optional('string[]'),\n enforcePaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoDestructureConfig extends BaseRuleConfig {\n declare mode?: ModifiedCodeMode;\n allowTopLevel?: boolean;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<NoDestructureConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n allowTopLevel: FieldDef.optional('boolean'),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoUnmanagedExceptionsConfig extends BaseRuleConfig {\n declare mode?: ModifiedCodeMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<NoUnmanagedExceptionsConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class CatchErrorPatternConfig extends BaseRuleConfig {\n declare mode?: ModifiedCodeMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<CatchErrorPatternConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class ThrowCauseRequiredConfig extends BaseRuleConfig {\n declare mode?: ThrowCauseMode;\n disableAllowed?: boolean;\n\n static readonly SCHEMA: SchemaShape<ThrowCauseRequiredConfig> = {\n mode: new FieldDef('string', THROW_CAUSE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class AngularNoDirectApiInResolverConfig extends BaseRuleConfig {\n declare mode?: DirectApiResolverMode;\n disableAllowed?: boolean;\n enforcePaths?: string[];\n\n static readonly SCHEMA: SchemaShape<AngularNoDirectApiInResolverConfig> = {\n mode: new FieldDef('string', DIRECT_API_RESOLVER_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n enforcePaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoSymbolDiTokensConfig extends BaseRuleConfig {\n declare mode?: ModifiedCodeMode;\n disableAllowed?: boolean;\n allowedPaths?: string[];\n\n static readonly SCHEMA: SchemaShape<NoSymbolDiTokensConfig> = {\n mode: new FieldDef('string', MODIFIED_CODE_MODES),\n disableAllowed: FieldDef.optional('boolean'),\n allowedPaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoShellSubstitutionConfig extends BaseRuleConfig {\n declare mode?: OnOffMode;\n\n static readonly SCHEMA: SchemaShape<NoShellSubstitutionConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class BranchCreationGuardConfig extends BaseRuleConfig {\n declare mode?: OnOffMode;\n subBranchNaming?: string;\n\n static readonly SCHEMA: SchemaShape<BranchCreationGuardConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n subBranchNaming: FieldDef.optional('string'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class PrCreationGuardConfig extends BaseRuleConfig {\n declare mode?: OnOffMode;\n\n static readonly SCHEMA: SchemaShape<PrCreationGuardConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class MergeInProgressGuardConfig extends BaseRuleConfig {\n declare mode?: OnOffMode;\n\n static readonly SCHEMA: SchemaShape<MergeInProgressGuardConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class PrMergeCleanupConfig extends BaseRuleConfig {\n declare mode?: OnOffMode;\n\n static readonly SCHEMA: SchemaShape<PrMergeCleanupConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoDirectMainUpdateConfig extends BaseRuleConfig {\n declare mode?: OnOffMode;\n\n static readonly SCHEMA: SchemaShape<NoDirectMainUpdateConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoEditOnMainConfig extends BaseRuleConfig {\n declare mode?: OnOffMode;\n branchNamingConvention?: string;\n\n static readonly SCHEMA: SchemaShape<NoEditOnMainConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n branchNamingConvention: FieldDef.optional('string'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoFileImportCyclesConfig extends BaseRuleConfig {\n declare mode?: OnOffMode;\n ignoreTypeOnly?: boolean;\n excludePackages?: string[];\n\n static readonly SCHEMA: SchemaShape<NoFileImportCyclesConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n ignoreTypeOnly: FieldDef.optional('boolean'),\n excludePackages: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class RuntimeArchitectureConfig extends BaseRuleConfig {\n declare mode?: OnOffMode;\n servicePaths?: string[];\n apiProjectPaths?: string[];\n allowedCycles?: string[];\n\n static readonly SCHEMA: SchemaShape<RuntimeArchitectureConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n servicePaths: FieldDef.optional('string[]'),\n apiProjectPaths: FieldDef.optional('string[]'),\n allowedCycles: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class NoJsFilesConfig extends BaseRuleConfig {\n declare mode?: OnOffMode;\n allowedPaths?: string[];\n\n static readonly SCHEMA: SchemaShape<NoJsFilesConfig> = {\n mode: new FieldDef('string', ON_OFF_MODES),\n allowedPaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n\nexport class ValidateTsInSrcConfig extends BaseRuleConfig {\n declare mode?: ValidateTsMode;\n allowedRootFiles?: string[];\n excludePaths?: string[];\n\n static readonly SCHEMA: SchemaShape<ValidateTsInSrcConfig> = {\n mode: new FieldDef('string', VALIDATE_TS_MODES),\n allowedRootFiles: FieldDef.optional('string[]'),\n excludePaths: FieldDef.optional('string[]'),\n ...BASE_RULE_SCHEMA,\n };\n}\n"]}
|