github-settings-as-code 1.2.5 → 1.2.7

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 (48) hide show
  1. package/dist/github/constants.d.mts +0 -1
  2. package/dist/github/constants.d.mts.map +1 -1
  3. package/dist/github/constants.mjs +5 -2
  4. package/dist/github/constants.mjs.map +1 -1
  5. package/dist/github/repository/api/get-repository.d.mts +0 -1
  6. package/dist/github/repository/api/get-repository.d.mts.map +1 -1
  7. package/dist/github/repository/api/get-repository.mjs +1 -1
  8. package/dist/github/repository/api/get-repository.mjs.map +1 -1
  9. package/dist/github/repository/apply.d.mts.map +1 -1
  10. package/dist/github/repository/apply.mjs +6 -1
  11. package/dist/github/repository/apply.mjs.map +1 -1
  12. package/dist/github/repository/backup.d.mts.map +1 -1
  13. package/dist/github/repository/backup.mjs +4 -1
  14. package/dist/github/repository/backup.mjs.map +1 -1
  15. package/dist/github/ruleset/api/get-all-rulesets.d.mts +0 -1
  16. package/dist/github/ruleset/api/get-all-rulesets.d.mts.map +1 -1
  17. package/dist/github/ruleset/api/get-all-rulesets.mjs +1 -1
  18. package/dist/github/ruleset/api/get-all-rulesets.mjs.map +1 -1
  19. package/dist/github/ruleset/api/get-ruleset.d.mts +0 -1
  20. package/dist/github/ruleset/api/get-ruleset.d.mts.map +1 -1
  21. package/dist/github/ruleset/api/get-ruleset.mjs +1 -1
  22. package/dist/github/ruleset/api/get-ruleset.mjs.map +1 -1
  23. package/dist/github/ruleset/apply.d.mts.map +1 -1
  24. package/dist/github/ruleset/apply.mjs +5 -1
  25. package/dist/github/ruleset/apply.mjs.map +1 -1
  26. package/dist/github/ruleset/backup.d.mts.map +1 -1
  27. package/dist/github/ruleset/backup.mjs +4 -1
  28. package/dist/github/ruleset/backup.mjs.map +1 -1
  29. package/dist/github/ruleset/read-rule-set-contents.d.mts +0 -1
  30. package/dist/github/ruleset/read-rule-set-contents.d.mts.map +1 -1
  31. package/dist/github/ruleset/read-rule-set-contents.mjs +7 -2
  32. package/dist/github/ruleset/read-rule-set-contents.mjs.map +1 -1
  33. package/dist/github/variables/apply.d.mts +0 -1
  34. package/dist/github/variables/apply.d.mts.map +1 -1
  35. package/dist/github/variables/apply.mjs +1 -1
  36. package/dist/github/variables/apply.mjs.map +1 -1
  37. package/package.json +20 -20
  38. package/src/github/constants.mts +5 -2
  39. package/src/github/repository/api/get-repository.mts +1 -1
  40. package/src/github/repository/apply.mts +10 -1
  41. package/src/github/repository/backup.mts +8 -1
  42. package/src/github/ruleset/api/get-all-rulesets.mts +1 -1
  43. package/src/github/ruleset/api/get-ruleset.mts +1 -1
  44. package/src/github/ruleset/apply.mts +5 -1
  45. package/src/github/ruleset/backup.mts +8 -1
  46. package/src/github/ruleset/read-rule-set-contents.mts +5 -1
  47. package/src/github/variables/apply.mts +1 -1
  48. package/src/globals.d.mts +0 -1
@@ -1,4 +1,3 @@
1
- import 'ts-repo-utils';
2
1
  export declare const OWNER: string;
3
2
  export declare const REPO: string;
4
3
  export declare const repositorySettingsDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AACA,OAAO,eAAe,CAAC;AAQvB,eAAO,MAAM,KAAK,QAAgB,CAAC;AAgCnC,eAAO,MAAM,IAAI,EAAE,MAA4B,CAAC;AAIhD,eAAO,MAAM,qBAAqB,QAGjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,kBAAkB,CAAC;AAE1D,eAAO,MAAM,WAAW,QAAwC,CAAC;AAEjE,eAAO,MAAM,cAAc;;CAEjB,CAAC"}
1
+ {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAWA,eAAO,MAAM,KAAK,QAAgB,CAAC;AAiCnC,eAAO,MAAM,IAAI,EAAE,MAA4B,CAAC;AAIhD,eAAO,MAAM,qBAAqB,QAGjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,kBAAkB,CAAC;AAE1D,eAAO,MAAM,WAAW,QAAwC,CAAC;AAEjE,eAAO,MAAM,cAAc;;CAEjB,CAAC"}
@@ -1,5 +1,7 @@
1
- import { hasKey, isRecord, isString, Json, Result } from 'ts-data-forge';
2
- import 'ts-repo-utils';
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+ import { hasKey, isRecord, isString, Json } from 'ts-data-forge';
4
+ import { Result } from 'ts-repo-utils';
3
5
  const ownerNullable = process.env['OWNER'];
4
6
  if (ownerNullable === undefined) {
5
7
  throw new Error('OWNER env var is not set');
@@ -11,6 +13,7 @@ const getRepoName = async () => {
11
13
  return repoNameEnv;
12
14
  }
13
15
  const packageJsonPath = path.resolve(process.cwd(), './package.json');
16
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
14
17
  const packageJsonStr = await fs.readFile(packageJsonPath, {
15
18
  encoding: 'utf8',
16
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,eAAe,CAAC;AAEvB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAE3C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;IAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC;AAEnC,MAAM,WAAW,GAAG,KAAK,IAAqB,EAAE;IAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAEtE,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE;QACxD,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IACE,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAC5B,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;QAClC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EACjC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAW,MAAM,WAAW,EAAE,CAAC;AAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAC/C,SAAS,EACT,uBAAuB,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,sBAAsB,EAAE,YAAY;CAC5B,CAAC"}
1
+ {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAE3C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;IAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC;AAEnC,MAAM,WAAW,GAAG,KAAK,IAAqB,EAAE;IAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAEtE,mEAAmE;IACnE,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE;QACxD,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IACE,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAC5B,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;QAClC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EACjC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAW,MAAM,WAAW,EAAE,CAAC;AAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAC/C,SAAS,EACT,uBAAuB,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,sBAAsB,EAAE,YAAY;CAC5B,CAAC"}
@@ -1,4 +1,3 @@
1
1
  import { GetRepositoryResponse } from 'octokit-safe-types';
2
- import 'ts-repo-utils';
3
2
  export declare const getRepositorySettings: () => Promise<GetRepositoryResponse>;
4
3
  //# sourceMappingURL=get-repository.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-repository.d.mts","sourceRoot":"","sources":["../../../../src/github/repository/api/get-repository.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;AAE9E,OAAO,eAAe,CAAC;AAIvB,eAAO,MAAM,qBAAqB,QACtB,OAAO,CAAC,qBAAqB,CAoBtC,CAAC"}
1
+ {"version":3,"file":"get-repository.d.mts","sourceRoot":"","sources":["../../../../src/github/repository/api/get-repository.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;AAM9E,eAAO,MAAM,qBAAqB,QACtB,OAAO,CAAC,qBAAqB,CAoBtC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { GetRepositoryResponse } from 'octokit-safe-types';
2
2
  import { validationErrorsToMessages } from 'ts-fortress';
3
- import 'ts-repo-utils';
3
+ import { Result } from 'ts-repo-utils';
4
4
  import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
5
5
  import { octokit } from '../../octokit.mjs';
6
6
  export const getRepositorySettings = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"get-repository.mjs","sourceRoot":"","sources":["../../../../src/github/repository/api/get-repository.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAChC,KAAK,IAAoC,EAAE;IACzC,qFAAqF;IACrF,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,OAAO,CAC/C,2BAAkD,EAClD;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;KACxB,CACF,CAAC;IAEF,CAAC;QACC,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAErE,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC,CAAC"}
1
+ {"version":3,"file":"get-repository.mjs","sourceRoot":"","sources":["../../../../src/github/repository/api/get-repository.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAChC,KAAK,IAAoC,EAAE;IACzC,qFAAqF;IACrF,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,OAAO,CAC/C,2BAAkD,EAClD;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;KACxB,CACF,CAAC;IAEF,CAAC;QACC,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAErE,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/repository/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAiBvB,eAAO,MAAM,uBAAuB,QAAa,OAAO,CAAC,IAAI,CA0D5D,CAAC"}
1
+ {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/repository/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAuBvB,eAAO,MAAM,uBAAuB,QAAa,OAAO,CAAC,IAAI,CA4D5D,CAAC"}
@@ -1,8 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
3
5
  import { Obj } from 'ts-data-forge';
4
6
  import { validationErrorsToMessages } from 'ts-fortress';
5
- import { formatUncommittedFiles } from 'ts-repo-utils';
7
+ import { formatUncommittedFiles, isDirectlyExecuted, Result, } from 'ts-repo-utils';
6
8
  import { repositorySettingsDir, repositorySettingsJsonName, } from '../constants.mjs';
7
9
  import { getRepositorySettings, updateRepository } from './api/index.mjs';
8
10
  import { backupRepositorySettings } from './backup.mjs';
@@ -44,12 +46,15 @@ export const applyRepositorySettings = async () => {
44
46
  {
45
47
  const repositorySettings = await getRepositorySettings();
46
48
  const str = JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2);
49
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
47
50
  await fs.writeFile(path.resolve(repositorySettingsDir, repositorySettingsJsonName), str);
51
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
48
52
  await fs.writeFile(path.resolve(repositorySettingsDir, 'bk', repositorySettingsJsonName), str);
49
53
  await formatUncommittedFiles();
50
54
  }
51
55
  };
52
56
  const readSettings = async () => {
57
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
53
58
  const settingsText = await fs.readFile(path.resolve(repositorySettingsDir, repositorySettingsJsonName), {
54
59
  encoding: 'utf8',
55
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/repository/apply.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/repository/apply.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/repository/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAYvB,eAAO,MAAM,wBAAwB,GACnC,MAAK,OAAc,KAClB,OAAO,CAAC,IAAI,CAiBd,CAAC"}
1
+ {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/repository/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAkBvB,eAAO,MAAM,wBAAwB,GACnC,MAAK,OAAc,KAClB,OAAO,CAAC,IAAI,CAkBd,CAAC"}
@@ -1,7 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
3
5
  import { Obj } from 'ts-data-forge';
4
- import { formatUncommittedFiles, makeEmptyDir } from 'ts-repo-utils';
6
+ import { formatUncommittedFiles, isDirectlyExecuted, makeEmptyDir, } from 'ts-repo-utils';
5
7
  import { repositorySettingsDir, repositorySettingsJsonName, } from '../constants.mjs';
6
8
  import { getRepositorySettings } from './api/index.mjs';
7
9
  import { repositoryKeysToPick } from './constants.mjs';
@@ -9,6 +11,7 @@ const backupDir = path.resolve(repositorySettingsDir, './bk');
9
11
  export const backupRepositorySettings = async (fmt = true) => {
10
12
  await makeEmptyDir(backupDir);
11
13
  const repositorySettings = await getRepositorySettings();
14
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
12
15
  await fs.writeFile(path.resolve(backupDir, repositorySettingsJsonName), JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2));
13
16
  if (fmt) {
14
17
  await formatUncommittedFiles();
@@ -1 +1 @@
1
- {"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/repository/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,MAAe,IAAI,EACJ,EAAE;IACjB,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9B,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEzD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,0BAA0B,CAAC,EACnD,IAAI,CAAC,SAAS,CACZ,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,EAClD,SAAS,EACT,CAAC,CACF,CACF,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,wBAAwB,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/repository/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,MAAe,IAAI,EACJ,EAAE;IACjB,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9B,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEzD,mEAAmE;IACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,0BAA0B,CAAC,EACnD,IAAI,CAAC,SAAS,CACZ,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,EAClD,SAAS,EACT,CAAC,CACF,CACF,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,wBAAwB,EAAE,CAAC;AACnC,CAAC"}
@@ -1,4 +1,3 @@
1
1
  import { GetAllRulesetsResponse } from 'octokit-safe-types';
2
- import 'ts-repo-utils';
3
2
  export declare const getAllRulesets: () => Promise<GetAllRulesetsResponse>;
4
3
  //# sourceMappingURL=get-all-rulesets.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-all-rulesets.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-all-rulesets.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAIvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,eAAe,CAAC;AAIvB,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,sBAAsB,CA6DrE,CAAC"}
1
+ {"version":3,"file":"get-all-rulesets.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-all-rulesets.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAIvB,MAAM,oBAAoB,CAAC;AAO5B,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,sBAAsB,CA6DrE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { GetAllRulesetsResponse, } from 'octokit-safe-types';
2
2
  import { expectType } from 'ts-data-forge';
3
3
  import { validationErrorsToMessages } from 'ts-fortress';
4
- import 'ts-repo-utils';
4
+ import { Result } from 'ts-repo-utils';
5
5
  import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
6
6
  import { octokit } from '../../octokit.mjs';
7
7
  export const getAllRulesets = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"get-all-rulesets.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-all-rulesets.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAIvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAqC,EAAE;IACxE,gGAAgG;IAChG,MAAM,sBAAsB,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CACnD,oCAA2D,EAC3D;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;KACxB,CACF,CAAwD,CAAC;IAE1D,UAAU,CAuCR,GAAG,CAAC,CAAC;IAEP,CAAC;QACC,MAAM,GAAG,GAAG,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,sBAAsB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC,CAAC"}
1
+ {"version":3,"file":"get-all-rulesets.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-all-rulesets.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAIvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAqC,EAAE;IACxE,gGAAgG;IAChG,MAAM,sBAAsB,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CACnD,oCAA2D,EAC3D;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;KACxB,CACF,CAAwD,CAAC;IAE1D,UAAU,CAuCR,GAAG,CAAC,CAAC;IAEP,CAAC;QACC,MAAM,GAAG,GAAG,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,sBAAsB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC,CAAC"}
@@ -1,4 +1,3 @@
1
1
  import { GetRulesetResponse } from 'octokit-safe-types';
2
- import 'ts-repo-utils';
3
2
  export declare const getRuleset: (rulesetId: number) => Promise<GetRulesetResponse>;
4
3
  //# sourceMappingURL=get-ruleset.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-ruleset.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAE3E,OAAO,eAAe,CAAC;AAIvB,eAAO,MAAM,UAAU,GACrB,WAAW,MAAM,KAChB,OAAO,CAAC,kBAAkB,CAqB5B,CAAC"}
1
+ {"version":3,"file":"get-ruleset.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAM3E,eAAO,MAAM,UAAU,GACrB,WAAW,MAAM,KAChB,OAAO,CAAC,kBAAkB,CAqB5B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { GetRulesetResponse } from 'octokit-safe-types';
2
2
  import { validationErrorsToMessages } from 'ts-fortress';
3
- import 'ts-repo-utils';
3
+ import { Result } from 'ts-repo-utils';
4
4
  import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
5
5
  import { octokit } from '../../octokit.mjs';
6
6
  export const getRuleset = async (rulesetId) => {
@@ -1 +1 @@
1
- {"version":3,"file":"get-ruleset.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,SAAiB,EACY,EAAE;IAC/B,6FAA6F;IAC7F,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,OAAO,CAC5C,iDAAwE,EACxE;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,cAAc;KACxB,CACF,CAAC;IAEF,CAAC;QACC,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC,CAAC"}
1
+ {"version":3,"file":"get-ruleset.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,SAAiB,EACY,EAAE;IAC/B,6FAA6F;IAC7F,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,OAAO,CAC5C,iDAAwE,EACxE;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,cAAc;KACxB,CACF,CAAC;IAEF,CAAC;QACC,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAiBvB,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,IAAI,CA+DlD,CAAC"}
1
+ {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAmBvB,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,IAAI,CAiElD,CAAC"}
@@ -1,7 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
3
5
  import { Obj } from 'ts-data-forge';
4
- import { formatUncommittedFiles } from 'ts-repo-utils';
6
+ import { formatUncommittedFiles, isDirectlyExecuted } from 'ts-repo-utils';
5
7
  import { rulesetsDir } from '../constants.mjs';
6
8
  import { createRuleset, getAllRulesets, getRuleset, updateRuleset, } from './api/index.mjs';
7
9
  import { backupRulesets } from './backup.mjs';
@@ -44,7 +46,9 @@ export const applyRulesets = async () => {
44
46
  for (const rule of rulesetsResult) {
45
47
  const content = await getRuleset(rule.id);
46
48
  const str = JSON.stringify(Obj.pick(content, rulesetKeysToPick), undefined, 2);
49
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
47
50
  await fs.writeFile(path.resolve(rulesetsDir, `${rule.name}.json`), str);
51
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
48
52
  await fs.writeFile(path.resolve(rulesetsDir, `./bk/${rule.name}.json`), str);
49
53
  }
50
54
  await formatUncommittedFiles();
@@ -1 +1 @@
1
- {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,aAAa,EACb,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAmB,EAAE;IACrD,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;IAE5B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAE1C,MAAM,SAAS,GAAwB,MAAM,sBAAsB,EAAE,CAAC,IAAI,CACxE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACrC,CAAC;IAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAErE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtE,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,MAAM,aAAa,CAAC;YAClB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,OAAO,EAAE;gBACP,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC3C,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;aACrE;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,MAAM,aAAa,CAAC;YAClB,OAAO,EAAE;gBACP,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC3C,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;aACrE;SACF,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,CAAC;QACC,MAAM,cAAc,GAAG,MAAM,cAAc,EAAE,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE1C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CACxB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EACpC,SAAS,EACT,CAAC,CACF,CAAC;YAEF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;YAExE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,EACnD,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/apply.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AASvB,eAAO,MAAM,cAAc,GAAU,MAAK,OAAc,KAAG,OAAO,CAAC,IAAI,CAiBtE,CAAC"}
1
+ {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAevB,eAAO,MAAM,cAAc,GAAU,MAAK,OAAc,KAAG,OAAO,CAAC,IAAI,CAkBtE,CAAC"}
@@ -1,7 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
3
5
  import { Obj } from 'ts-data-forge';
4
- import { formatUncommittedFiles, makeEmptyDir } from 'ts-repo-utils';
6
+ import { formatUncommittedFiles, isDirectlyExecuted, makeEmptyDir, } from 'ts-repo-utils';
5
7
  import { rulesetsDir } from '../constants.mjs';
6
8
  import { getAllRulesets, getRuleset } from './api/index.mjs';
7
9
  import { rulesetKeysToPick } from './constants.mjs';
@@ -11,6 +13,7 @@ export const backupRulesets = async (fmt = true) => {
11
13
  const rulesetsResult = await getAllRulesets();
12
14
  for (const rule of rulesetsResult) {
13
15
  const content = await getRuleset(rule.id);
16
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
14
17
  await fs.writeFile(path.resolve(backupDir, `${rule.name}.json`), JSON.stringify(Obj.pick(content, rulesetKeysToPick), undefined, 2));
15
18
  }
16
19
  if (fmt) {
@@ -1 +1 @@
1
- {"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,MAAe,IAAI,EAAiB,EAAE;IACzE,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9B,MAAM,cAAc,GAAG,MAAM,cAAc,EAAE,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC,EAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,MAAe,IAAI,EAAiB,EAAE;IACzE,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9B,MAAM,cAAc,GAAG,MAAM,cAAc,EAAE,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1C,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC,EAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC"}
@@ -1,4 +1,3 @@
1
- import 'ts-repo-utils';
2
1
  import { RulesetPicked } from './constants.mjs';
3
2
  export declare const readRulesetFiles: () => Promise<readonly RulesetPicked[]>;
4
3
  export declare const readRulesetBackupFiles: () => Promise<readonly RulesetPicked[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"read-rule-set-contents.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/read-rule-set-contents.mts"],"names":[],"mappings":"AAEA,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,SAAS,aAAa,EAAE,CAChD,CAAC;AAE3B,eAAO,MAAM,sBAAsB,QAAa,OAAO,CACrD,SAAS,aAAa,EAAE,CACyB,CAAC"}
1
+ {"version":3,"file":"read-rule-set-contents.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/read-rule-set-contents.mts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,SAAS,aAAa,EAAE,CAChD,CAAC;AAE3B,eAAO,MAAM,sBAAsB,QAAa,OAAO,CACrD,SAAS,aAAa,EAAE,CACyB,CAAC"}
@@ -1,16 +1,21 @@
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
1
3
  import * as t from 'ts-fortress';
2
- import 'ts-repo-utils';
4
+ import { isDirectlyExecuted, Result } from 'ts-repo-utils';
3
5
  import { rulesetsDir } from '../constants.mjs';
4
6
  import { RulesetPicked } from './constants.mjs';
5
7
  export const readRulesetFiles = async () => readFilesIn(rulesetsDir);
6
8
  export const readRulesetBackupFiles = async () => readFilesIn(path.resolve(rulesetsDir, './bk'));
7
9
  const readFilesIn = async (dir) => {
10
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
8
11
  const files = await fs.readdir(dir, {
9
12
  withFileTypes: true,
10
13
  });
11
14
  const rulesetFileContents = await Promise.all(files
12
15
  .filter((d) => d.isFile())
13
- .map((d) => fs.readFile(path.resolve(dir, d.name), {
16
+ .map((d) =>
17
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
18
+ fs.readFile(path.resolve(dir, d.name), {
14
19
  encoding: 'utf8',
15
20
  })));
16
21
  const validationResults = rulesetFileContents.map((rule) => RulesetPicked.validate(JSON.parse(rule)));
@@ -1 +1 @@
1
- {"version":3,"file":"read-rule-set-contents.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/read-rule-set-contents.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAuC,EAAE,CAC5E,WAAW,CAAC,WAAW,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,IAEzC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpD,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAqC,EAAE;IAC3E,MAAM,KAAK,GAA8B,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7D,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAsB,MAAM,OAAO,CAAC,GAAG,CAC9D,KAAK;SACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;QACrC,QAAQ,EAAE,MAAM;KACjB,CAAC,CACH,CACJ,CAAC;IAEF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACzC,CAAC;IAEF,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,oEAAoE;IACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC;IAEpD,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,gBAAgB,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"read-rule-set-contents.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/read-rule-set-contents.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAuC,EAAE,CAC5E,WAAW,CAAC,WAAW,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,IAEzC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpD,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAqC,EAAE;IAC3E,mEAAmE;IACnE,MAAM,KAAK,GAA8B,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7D,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAsB,MAAM,OAAO,CAAC,GAAG,CAC9D,KAAK;SACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IACT,mEAAmE;IACnE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;QACrC,QAAQ,EAAE,MAAM;KACjB,CAAC,CACH,CACJ,CAAC;IAEF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACzC,CAAC;IAEF,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,oEAAoE;IACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC;IAEpD,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,gBAAgB,EAAE,CAAC;AAC3B,CAAC"}
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
- import 'ts-repo-utils';
4
3
  export declare const applyVariables: () => Promise<void>;
5
4
  //# sourceMappingURL=apply.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/variables/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AAOvB,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,IAAI,CA2BnD,CAAC"}
1
+ {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/variables/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAQvB,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,IAAI,CA2BnD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
- import 'ts-repo-utils';
3
+ import { isDirectlyExecuted } from 'ts-repo-utils';
4
4
  import { createRepoVariable, listRepoVariables, updateRepoVariable, } from './api/index.mjs';
5
5
  export const applyVariables = async () => {
6
6
  const variables = [
@@ -1 +1 @@
1
- {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/variables/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAmB,EAAE;IACtD,MAAM,SAAS,GAAG;QAChB;YACE,IAAI,EAAE,kCAAkC;YACxC,KAAK,EAAE,SAAS;SACjB;QACD;YACE,IAAI,EAAE,4CAA4C;YAClD,KAAK,EAAE,SAAS;SACjB;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,SAAS;SACjB;KACO,CAAC;IAEX,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAEpD,MAAM,cAAc,GAAwB,IAAI,GAAG,CACjD,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACrC,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEhD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/variables/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAmB,EAAE;IACtD,MAAM,SAAS,GAAG;QAChB;YACE,IAAI,EAAE,kCAAkC;YACxC,KAAK,EAAE,SAAS;SACjB;QACD;YACE,IAAI,EAAE,4CAA4C;YAClD,KAAK,EAAE,SAAS;SACjB;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,SAAS;SACjB;KACO,CAAC;IAEX,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAEpD,MAAM,cAAc,GAAwB,IAAI,GAAG,CACjD,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACrC,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEhD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-settings-as-code",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "private": false,
5
5
  "keywords": [
6
6
  "github",
@@ -72,9 +72,9 @@
72
72
  "dependencies": {
73
73
  "@octokit/core": "7.0.6",
74
74
  "dotenv": "^17.4.2",
75
- "octokit-safe-types": "^1.2.14",
76
- "ts-data-forge": "^6.9.0",
77
- "ts-fortress": "^7.0.2"
75
+ "octokit-safe-types": "^1.2.16",
76
+ "ts-data-forge": "^6.9.2",
77
+ "ts-fortress": "^7.0.3"
78
78
  },
79
79
  "devDependencies": {
80
80
  "@semantic-release/changelog": "6.0.3",
@@ -84,37 +84,37 @@
84
84
  "@semantic-release/github": "12.0.6",
85
85
  "@semantic-release/npm": "13.1.5",
86
86
  "@semantic-release/release-notes-generator": "14.1.0",
87
- "@types/node": "25.5.0",
88
- "@vitest/coverage-v8": "4.1.0",
89
- "@vitest/ui": "4.1.0",
90
- "cmd-ts": "^0.15.0",
87
+ "@types/node": "25.6.0",
88
+ "@vitest/coverage-v8": "4.1.5",
89
+ "@vitest/ui": "4.1.5",
90
+ "cmd-ts": "0.15.0",
91
91
  "conventional-changelog-conventionalcommits": "9.3.1",
92
92
  "cspell": "10.0.0",
93
- "dedent": "^1.7.2",
94
- "eslint": "10.1.0",
95
- "eslint-config-typed": "4.9.0",
93
+ "dedent": "1.7.2",
94
+ "eslint": "10.2.0",
95
+ "eslint-config-typed": "4.9.6",
96
96
  "jiti": "2.6.1",
97
97
  "markdownlint": "0.40.0",
98
- "markdownlint-cli2": "0.22.0",
98
+ "markdownlint-cli2": "0.22.1",
99
99
  "npm-run-all2": "8.0.4",
100
100
  "playwright": "1.59.1",
101
- "prettier": "3.8.1",
101
+ "prettier": "3.8.3",
102
102
  "prettier-plugin-organize-imports": "4.3.0",
103
103
  "prettier-plugin-packagejson": "3.0.2",
104
104
  "semantic-release": "25.0.3",
105
- "ts-codemod-lib": "^2.1.1",
106
- "ts-repo-utils": "^9.0.0",
107
- "ts-type-forge": "2.4.0",
105
+ "ts-codemod-lib": "2.1.3",
106
+ "ts-repo-utils": "10.0.0",
107
+ "ts-type-forge": "2.4.1",
108
108
  "tslib": "2.8.1",
109
109
  "tsx": "4.21.0",
110
- "typedoc": "0.28.18",
110
+ "typedoc": "0.28.19",
111
111
  "typedoc-github-theme": "0.4.0",
112
112
  "typescript": "5.9.3",
113
- "vitest": "4.1.0"
113
+ "vitest": "4.1.5"
114
114
  },
115
- "packageManager": "pnpm@10.33.1",
115
+ "packageManager": "pnpm@10.33.2",
116
116
  "engines": {
117
- "node": ">=22.12.0",
117
+ "node": ">=22.18.0",
118
118
  "pnpm": ">=9.0.0"
119
119
  },
120
120
  "volta": {
@@ -1,5 +1,7 @@
1
- import { hasKey, isRecord, isString, Json, Result } from 'ts-data-forge';
2
- import 'ts-repo-utils';
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+ import { hasKey, isRecord, isString, Json } from 'ts-data-forge';
4
+ import { Result } from 'ts-repo-utils';
3
5
 
4
6
  const ownerNullable = process.env['OWNER'];
5
7
 
@@ -18,6 +20,7 @@ const getRepoName = async (): Promise<string> => {
18
20
 
19
21
  const packageJsonPath = path.resolve(process.cwd(), './package.json');
20
22
 
23
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
21
24
  const packageJsonStr = await fs.readFile(packageJsonPath, {
22
25
  encoding: 'utf8',
23
26
  });
@@ -1,6 +1,6 @@
1
1
  import { GetRepositoryResponse, type EndpointKeys } from 'octokit-safe-types';
2
2
  import { validationErrorsToMessages } from 'ts-fortress';
3
- import 'ts-repo-utils';
3
+ import { Result } from 'ts-repo-utils';
4
4
  import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
5
5
  import { octokit } from '../../octokit.mjs';
6
6
 
@@ -1,9 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
3
5
  import { type UpdateRepositoryRequest } from 'octokit-safe-types';
4
6
  import { Obj } from 'ts-data-forge';
5
7
  import { validationErrorsToMessages } from 'ts-fortress';
6
- import { formatUncommittedFiles } from 'ts-repo-utils';
8
+ import {
9
+ formatUncommittedFiles,
10
+ isDirectlyExecuted,
11
+ Result,
12
+ } from 'ts-repo-utils';
7
13
  import {
8
14
  repositorySettingsDir,
9
15
  repositorySettingsJsonName,
@@ -62,11 +68,13 @@ export const applyRepositorySettings = async (): Promise<void> => {
62
68
  2,
63
69
  );
64
70
 
71
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
65
72
  await fs.writeFile(
66
73
  path.resolve(repositorySettingsDir, repositorySettingsJsonName),
67
74
  str,
68
75
  );
69
76
 
77
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
70
78
  await fs.writeFile(
71
79
  path.resolve(repositorySettingsDir, 'bk', repositorySettingsJsonName),
72
80
  str,
@@ -77,6 +85,7 @@ export const applyRepositorySettings = async (): Promise<void> => {
77
85
  };
78
86
 
79
87
  const readSettings = async (): Promise<RepositoryPicked> => {
88
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
80
89
  const settingsText = await fs.readFile(
81
90
  path.resolve(repositorySettingsDir, repositorySettingsJsonName),
82
91
  {
@@ -1,7 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
3
5
  import { Obj } from 'ts-data-forge';
4
- import { formatUncommittedFiles, makeEmptyDir } from 'ts-repo-utils';
6
+ import {
7
+ formatUncommittedFiles,
8
+ isDirectlyExecuted,
9
+ makeEmptyDir,
10
+ } from 'ts-repo-utils';
5
11
  import {
6
12
  repositorySettingsDir,
7
13
  repositorySettingsJsonName,
@@ -18,6 +24,7 @@ export const backupRepositorySettings = async (
18
24
 
19
25
  const repositorySettings = await getRepositorySettings();
20
26
 
27
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
21
28
  await fs.writeFile(
22
29
  path.resolve(backupDir, repositorySettingsJsonName),
23
30
  JSON.stringify(
@@ -6,7 +6,7 @@ import {
6
6
  } from 'octokit-safe-types';
7
7
  import { expectType } from 'ts-data-forge';
8
8
  import { validationErrorsToMessages } from 'ts-fortress';
9
- import 'ts-repo-utils';
9
+ import { Result } from 'ts-repo-utils';
10
10
  import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
11
11
  import { octokit } from '../../octokit.mjs';
12
12
 
@@ -1,6 +1,6 @@
1
1
  import { GetRulesetResponse, type EndpointKeys } from 'octokit-safe-types';
2
2
  import { validationErrorsToMessages } from 'ts-fortress';
3
- import 'ts-repo-utils';
3
+ import { Result } from 'ts-repo-utils';
4
4
  import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
5
5
  import { octokit } from '../../octokit.mjs';
6
6
 
@@ -1,7 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
3
5
  import { Obj } from 'ts-data-forge';
4
- import { formatUncommittedFiles } from 'ts-repo-utils';
6
+ import { formatUncommittedFiles, isDirectlyExecuted } from 'ts-repo-utils';
5
7
  import { rulesetsDir } from '../constants.mjs';
6
8
  import {
7
9
  createRuleset,
@@ -69,8 +71,10 @@ export const applyRulesets = async (): Promise<void> => {
69
71
  2,
70
72
  );
71
73
 
74
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
72
75
  await fs.writeFile(path.resolve(rulesetsDir, `${rule.name}.json`), str);
73
76
 
77
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
74
78
  await fs.writeFile(
75
79
  path.resolve(rulesetsDir, `./bk/${rule.name}.json`),
76
80
  str,
@@ -1,7 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
3
5
  import { Obj } from 'ts-data-forge';
4
- import { formatUncommittedFiles, makeEmptyDir } from 'ts-repo-utils';
6
+ import {
7
+ formatUncommittedFiles,
8
+ isDirectlyExecuted,
9
+ makeEmptyDir,
10
+ } from 'ts-repo-utils';
5
11
  import { rulesetsDir } from '../constants.mjs';
6
12
  import { getAllRulesets, getRuleset } from './api/index.mjs';
7
13
  import { rulesetKeysToPick } from './constants.mjs';
@@ -16,6 +22,7 @@ export const backupRulesets = async (fmt: boolean = true): Promise<void> => {
16
22
  for (const rule of rulesetsResult) {
17
23
  const content = await getRuleset(rule.id);
18
24
 
25
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
19
26
  await fs.writeFile(
20
27
  path.resolve(backupDir, `${rule.name}.json`),
21
28
  JSON.stringify(Obj.pick(content, rulesetKeysToPick), undefined, 2),
@@ -1,6 +1,8 @@
1
1
  import { type Dirent } from 'node:fs';
2
+ import * as fs from 'node:fs/promises';
3
+ import * as path from 'node:path';
2
4
  import * as t from 'ts-fortress';
3
- import 'ts-repo-utils';
5
+ import { isDirectlyExecuted, Result } from 'ts-repo-utils';
4
6
  import { rulesetsDir } from '../constants.mjs';
5
7
  import { RulesetPicked } from './constants.mjs';
6
8
 
@@ -12,6 +14,7 @@ export const readRulesetBackupFiles = async (): Promise<
12
14
  > => readFilesIn(path.resolve(rulesetsDir, './bk'));
13
15
 
14
16
  const readFilesIn = async (dir: string): Promise<readonly RulesetPicked[]> => {
17
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
15
18
  const files: readonly Dirent<string>[] = await fs.readdir(dir, {
16
19
  withFileTypes: true,
17
20
  });
@@ -20,6 +23,7 @@ const readFilesIn = async (dir: string): Promise<readonly RulesetPicked[]> => {
20
23
  files
21
24
  .filter((d) => d.isFile())
22
25
  .map((d) =>
26
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
23
27
  fs.readFile(path.resolve(dir, d.name), {
24
28
  encoding: 'utf8',
25
29
  }),
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
- import 'ts-repo-utils';
3
+ import { isDirectlyExecuted } from 'ts-repo-utils';
4
4
  import {
5
5
  createRepoVariable,
6
6
  listRepoVariables,
package/src/globals.d.mts DELETED
@@ -1 +0,0 @@
1
- /// <reference types="ts-type-forge" />