@saferun/cli 0.6.49 → 0.6.51
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/dist/commands/settings.js +14 -9
- package/dist/commands/settings.js.map +1 -1
- package/dist/commands/setup.js +17 -0
- package/dist/commands/setup.js.map +1 -1
- package/dist/hooks/hook-runner.js +16 -6
- package/dist/hooks/hook-runner.js.map +1 -1
- package/dist/interceptors/branch-delete.js +41 -6
- package/dist/interceptors/branch-delete.js.map +1 -1
- package/dist/interceptors/clean.js +42 -7
- package/dist/interceptors/clean.js.map +1 -1
- package/dist/interceptors/force-push.js +41 -6
- package/dist/interceptors/force-push.js.map +1 -1
- package/dist/interceptors/rebase.js +42 -9
- package/dist/interceptors/rebase.js.map +1 -1
- package/dist/interceptors/reset-hard.js +42 -8
- package/dist/interceptors/reset-hard.js.map +1 -1
- package/dist/utils/config.d.ts +15 -0
- package/dist/utils/config.js +19 -0
- package/dist/utils/config.js.map +1 -1
- package/package.json +1 -1
package/dist/utils/config.d.ts
CHANGED
|
@@ -36,9 +36,14 @@ export interface BranchRuleConfig {
|
|
|
36
36
|
allow_force_push?: boolean;
|
|
37
37
|
skip_checks?: boolean;
|
|
38
38
|
}
|
|
39
|
+
export interface RepositoryProtectionConfig {
|
|
40
|
+
protected_branches: string[];
|
|
41
|
+
branch_rules?: BranchRuleConfig[];
|
|
42
|
+
}
|
|
39
43
|
export interface GithubConfig {
|
|
40
44
|
repo: string;
|
|
41
45
|
protected_branches: string[];
|
|
46
|
+
repositories?: Record<string, RepositoryProtectionConfig>;
|
|
42
47
|
branch_rules?: BranchRuleConfig[];
|
|
43
48
|
}
|
|
44
49
|
export interface OperationRuleConfig {
|
|
@@ -69,6 +74,7 @@ export interface TelemetryConfig {
|
|
|
69
74
|
export interface SyncMetadata {
|
|
70
75
|
last_sync_at?: string;
|
|
71
76
|
sync_source?: string;
|
|
77
|
+
synced_repo?: string;
|
|
72
78
|
}
|
|
73
79
|
export interface SafeRunConfig {
|
|
74
80
|
mode: ProtectionMode;
|
|
@@ -94,3 +100,12 @@ export declare function loadConfig(cwd?: string, options?: {
|
|
|
94
100
|
export declare function saveConfig(config: SafeRunConfig, repoRoot?: string): Promise<void>;
|
|
95
101
|
export declare function setConfigValue(config: SafeRunConfig, dotPath: string, value: unknown): SafeRunConfig;
|
|
96
102
|
export declare function getConfigValue<T>(config: SafeRunConfig, dotPath: string): T | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Get protected branches for a specific repository
|
|
105
|
+
* Checks repository-specific config first, then falls back to global default
|
|
106
|
+
*
|
|
107
|
+
* @param config - SafeRun configuration
|
|
108
|
+
* @param repoSlug - Repository identifier (e.g., "owner/repo")
|
|
109
|
+
* @returns Array of protected branch patterns
|
|
110
|
+
*/
|
|
111
|
+
export declare function getProtectedBranchesForRepo(config: SafeRunConfig, repoSlug: string): string[];
|
package/dist/utils/config.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.loadConfig = loadConfig;
|
|
|
10
10
|
exports.saveConfig = saveConfig;
|
|
11
11
|
exports.setConfigValue = setConfigValue;
|
|
12
12
|
exports.getConfigValue = getConfigValue;
|
|
13
|
+
exports.getProtectedBranchesForRepo = getProtectedBranchesForRepo;
|
|
13
14
|
const fs_1 = __importDefault(require("fs"));
|
|
14
15
|
const path_1 = __importDefault(require("path"));
|
|
15
16
|
const js_yaml_1 = require("js-yaml");
|
|
@@ -267,4 +268,22 @@ function resolveEnvPlaceholders(config) {
|
|
|
267
268
|
};
|
|
268
269
|
return replacer(config);
|
|
269
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Get protected branches for a specific repository
|
|
273
|
+
* Checks repository-specific config first, then falls back to global default
|
|
274
|
+
*
|
|
275
|
+
* @param config - SafeRun configuration
|
|
276
|
+
* @param repoSlug - Repository identifier (e.g., "owner/repo")
|
|
277
|
+
* @returns Array of protected branch patterns
|
|
278
|
+
*/
|
|
279
|
+
function getProtectedBranchesForRepo(config, repoSlug) {
|
|
280
|
+
var _a, _b;
|
|
281
|
+
// Check if repo has specific config
|
|
282
|
+
const repoConfig = (_a = config.github.repositories) === null || _a === void 0 ? void 0 : _a[repoSlug];
|
|
283
|
+
if (repoConfig === null || repoConfig === void 0 ? void 0 : repoConfig.protected_branches) {
|
|
284
|
+
return repoConfig.protected_branches;
|
|
285
|
+
}
|
|
286
|
+
// Fall back to global default
|
|
287
|
+
return (_b = config.github.protected_branches) !== null && _b !== void 0 ? _b : [];
|
|
288
|
+
}
|
|
270
289
|
//# sourceMappingURL=config.js.map
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";;;;;;;AAmQA,gDASC;AAED,gCA4BC;AAED,gCAiBC;AAED,wCAiBC;AAED,wCAYC;AA2DD,kEASC;AAlaD,4CAAoB;AACpB,gDAAwB;AACxB,qCAA6D;AAC7D,+BAAqD;AAExC,QAAA,eAAe,GAAG,UAAU,CAAC;AAC7B,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAmH7C,MAAM,cAAc,GAAkB;IACpC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE;QACL,OAAO,EAAE;YACP,WAAW,EAAE,uBAAuB;YACpC,gBAAgB,EAAE,KAAK;YACvB,aAAa,EAAE,KAAK;YACpB,kBAAkB,EAAE,KAAK;YACzB,eAAe,EAAE,IAAI;SACtB;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,oCAAoC;YACjD,gBAAgB,EAAE,KAAK;YACvB,aAAa,EAAE,IAAI;YACnB,kBAAkB,EAAE,IAAI;YACxB,eAAe,EAAE,IAAI;SACtB;QACD,KAAK,EAAE;YACL,WAAW,EAAE,oCAAoC;YACjD,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,IAAI;YACtB,eAAe,EAAE,IAAI;SACtB;QACD,OAAO,EAAE;YACP,WAAW,EAAE,mCAAmC;YAChD,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,IAAI;YACtB,eAAe,EAAE,IAAI;SACtB;KACF;IACD,GAAG,EAAE;QACH,GAAG,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,eAAe,mCAAI,oCAAoC;QACxE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;QAChC,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,CAAC;QACd,wEAAwE;QACxE,mEAAmE;QACnE,SAAS,EAAE,QAAQ;QACnB,cAAc,EAAE;YACd,eAAe,EAAE;gBACf,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,8MAA8M;aACxN;YACD,kBAAkB,EAAE;gBAClB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,+DAA+D;aACzE;YACD,eAAe,EAAE;gBACf,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,mEAAmE;aAC7E;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,+CAA+C;aACzD;SACF;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,kBAAkB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC;QACjE,YAAY,EAAE;YACZ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE;YACnE,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;YACtE,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;SAClE;KACF;IACD,gBAAgB,EAAE;QAChB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,IAAI;KACxB;IACD,KAAK,EAAE;QACL,UAAU,EAAE;YACV,MAAM,EAAE,MAAC,OAAO,CAAC,GAAG,CAAC,iBAAmD,mCAAI,kBAAkB;YAC9F,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,IAAI;YACtB,uBAAuB;SACxB;QACD,aAAa,EAAE;YACb,MAAM,EAAE,kBAAkB;YAC1B,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;SACtC;QACD,UAAU,EAAE;YACV,MAAM,EAAE,kBAAkB;YAC1B,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,CAAC;SACpB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,kBAAkB;YAC1B,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,QAAQ;YACxB,gBAAgB,EAAE,IAAI;SACvB;KACF;IACD,kCAAkC;IAClC,aAAa,EAAE;QACb,KAAK,EAAE;YACL,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAC1C,OAAO,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,aAAa;SACpD;KACF;IACD,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN,mBAAmB;YACnB,mBAAmB;YACnB,oBAAoB;YACpB,kBAAkB;YAClB,4DAA4D;YAC5D,cAAc;YACd,gBAAgB;SACjB;QACD,UAAU,EAAE;YACV,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,EAAE;SACd;KACF;CACF,CAAC;AAQF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;AAE9C,KAAK,UAAU,kBAAkB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC1D,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAiB,EAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAe,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAgB,CAAC,CAAC;IAC1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAC7C,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,UAAqC,EAAE;IAC3F,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACpC,CAAC;IAED,IAAI,UAAqC,CAAC;IAC1C,IAAI,YAAE,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,IAAA,cAAQ,EAAC,YAAY,CAA8B,CAAC;QACnE,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,GAAG,MAAM,CAAC;QACtB,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAA,eAAS,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,UAAU,GAAG,cAAc,CAAC;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAChD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,MAAqB,EAAE,QAAiB;IACvE,MAAM,KAAK,GAAG,QAAQ;QACpB,CAAC,CAAC;YACE,QAAQ;YACR,SAAS,EAAE,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAe,CAAC;YAC/C,UAAU,EAAE,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAe,EAAE,wBAAgB,CAAC;SACnE;QACH,CAAC,CAAC,MAAM,kBAAkB,EAAE,CAAC;IAE/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,IAAA,eAAS,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,IAAA,cAAQ,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAClD,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7D,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,cAAc,CAAC,MAAqB,EAAE,OAAe,EAAE,KAAc;IACnF,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,OAAO,GAAQ,MAAM,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,cAAc,CAAI,MAAqB,EAAE,OAAe;IACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,OAAO,GAAQ,MAAM,CAAC;IAE1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,OAAwB,CAAC;AAClC,CAAC;AAED,SAAS,SAAS,CAAgC,MAAS,EAAE,MAA2B;;IACtF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAE,MAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAChF,SAAS;QACX,CAAC;QAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAC,MAAc,CAAC,GAAG,CAAC,mCAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YACpE,SAAS;QACX,CAAC;QAEA,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAkB,CAAC;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAqB;IACnD,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAW,EAAE;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,MAAc,EAAE,QAAiB,EAAE,EAAE;gBAC9F,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,OAAO,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,KAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC,MAAM,CAAkB,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,2BAA2B,CAAC,MAAqB,EAAE,QAAgB;;IACjF,oCAAoC;IACpC,MAAM,UAAU,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,YAAY,0CAAG,QAAQ,CAAC,CAAC;IAC1D,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,kBAAkB,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,kBAAkB,CAAC;IACvC,CAAC;IAED,8BAA8B;IAC9B,OAAO,MAAA,MAAM,CAAC,MAAM,CAAC,kBAAkB,mCAAI,EAAE,CAAC;AAChD,CAAC"}
|