github-settings-as-code 3.0.0 → 3.0.2

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 (69) hide show
  1. package/dist/cmd/repo-settings.d.mts.map +1 -1
  2. package/dist/cmd/repo-settings.mjs +35 -34
  3. package/dist/cmd/repo-settings.mjs.map +1 -1
  4. package/dist/github/actions-settings/api/get-actions-settings.d.mts.map +1 -1
  5. package/dist/github/actions-settings/api/get-actions-settings.mjs +7 -8
  6. package/dist/github/actions-settings/api/get-actions-settings.mjs.map +1 -1
  7. package/dist/github/actions-settings/api/set-actions-settings.mjs +7 -7
  8. package/dist/github/actions-settings/apply.mjs +7 -7
  9. package/dist/github/actions-settings/apply.mjs.map +1 -1
  10. package/dist/github/actions-settings/backup.mjs +2 -2
  11. package/dist/github/actions-settings/constants.d.mts +86 -0
  12. package/dist/github/actions-settings/constants.d.mts.map +1 -1
  13. package/dist/github/actions-settings/constants.mjs +24 -24
  14. package/dist/github/constants.mjs +2 -2
  15. package/dist/github/octokit.mjs +12 -12
  16. package/dist/github/pages/api/get-pages-settings.d.mts.map +1 -1
  17. package/dist/github/pages/api/get-pages-settings.mjs +6 -7
  18. package/dist/github/pages/api/get-pages-settings.mjs.map +1 -1
  19. package/dist/github/pages/api/set-pages-settings.mjs +8 -8
  20. package/dist/github/pages/apply.mjs +12 -12
  21. package/dist/github/pages/apply.mjs.map +1 -1
  22. package/dist/github/pages/backup.mjs +2 -2
  23. package/dist/github/pages/constants.d.mts +20 -0
  24. package/dist/github/pages/constants.d.mts.map +1 -1
  25. package/dist/github/pages/constants.mjs +6 -6
  26. package/dist/github/repository/api/get-repository.mjs +3 -3
  27. package/dist/github/repository/api/get-repository.mjs.map +1 -1
  28. package/dist/github/repository/api/update-repository.d.mts +1 -1
  29. package/dist/github/repository/api/update-repository.d.mts.map +1 -1
  30. package/dist/github/repository/api/update-repository.mjs +6 -3
  31. package/dist/github/repository/api/update-repository.mjs.map +1 -1
  32. package/dist/github/repository/apply.mjs +16 -16
  33. package/dist/github/repository/apply.mjs.map +1 -1
  34. package/dist/github/repository/backup.mjs +1 -1
  35. package/dist/github/repository/constants.d.mts +176 -0
  36. package/dist/github/repository/constants.d.mts.map +1 -1
  37. package/dist/github/repository/constants.mjs +3 -3
  38. package/dist/github/resolve-target-repo.mjs +24 -24
  39. package/dist/github/ruleset/api/create-ruleset.mjs +7 -7
  40. package/dist/github/ruleset/api/get-all-rulesets.mjs +5 -5
  41. package/dist/github/ruleset/api/get-all-rulesets.mjs.map +1 -1
  42. package/dist/github/ruleset/api/get-ruleset.mjs +3 -3
  43. package/dist/github/ruleset/api/get-ruleset.mjs.map +1 -1
  44. package/dist/github/ruleset/api/update-ruleset.mjs +7 -7
  45. package/dist/github/ruleset/apply.mjs +3 -3
  46. package/dist/github/ruleset/backup.mjs +1 -1
  47. package/dist/github/ruleset/constants.d.mts +88 -8
  48. package/dist/github/ruleset/constants.d.mts.map +1 -1
  49. package/dist/github/ruleset/constants.mjs +3 -3
  50. package/dist/github/ruleset/read-rule-set-contents.mjs +2 -2
  51. package/dist/github/variables/api/create-repo-variable.mjs +1 -1
  52. package/dist/github/variables/api/list-repo-variables.mjs +1 -1
  53. package/dist/github/variables/api/update-repo-variable.mjs +1 -1
  54. package/dist/github/variables/apply.d.mts.map +1 -1
  55. package/dist/github/variables/apply.mjs +7 -6
  56. package/dist/github/variables/apply.mjs.map +1 -1
  57. package/package.json +22 -27
  58. package/src/cmd/repo-settings.mts +37 -36
  59. package/src/github/actions-settings/api/get-actions-settings.mts +0 -1
  60. package/src/github/actions-settings/apply.mts +2 -2
  61. package/src/github/pages/api/get-pages-settings.mts +0 -1
  62. package/src/github/pages/apply.mts +2 -2
  63. package/src/github/repository/api/get-repository.mts +2 -2
  64. package/src/github/repository/api/update-repository.mts +6 -1
  65. package/src/github/repository/apply.mts +2 -2
  66. package/src/github/ruleset/api/get-all-rulesets.mts +2 -2
  67. package/src/github/ruleset/api/get-ruleset.mts +2 -2
  68. package/src/github/ruleset/schema.test.mts +164 -0
  69. package/src/github/variables/apply.mts +2 -0
@@ -6,7 +6,7 @@ import { formatUncommittedFiles, isDirectlyExecuted, makeEmptyDir, } from 'ts-re
6
6
  import { pagesSettingsDir, settingsJsonName } from '../constants.mjs';
7
7
  import { getPagesSettings } from './api/index.mjs';
8
8
  const backupDir = path.resolve(pagesSettingsDir, './bk');
9
- /** Settings > Pages の現在値を `bk/` に保存する。 */
9
+
10
10
  export const backupPagesSettings = async (fmt = true) => {
11
11
  await makeEmptyDir(backupDir);
12
12
  const settings = await getPagesSettings();
@@ -14,7 +14,7 @@ export const backupPagesSettings = async (fmt = true) => {
14
14
  console.warn('GitHub Pages is not enabled for this repository; skipping backup.');
15
15
  return;
16
16
  }
17
- // eslint-disable-next-line security/detect-non-literal-fs-filename
17
+
18
18
  await fs.writeFile(path.resolve(backupDir, settingsJsonName), JSON.stringify(settings, undefined, 2));
19
19
  if (fmt) {
20
20
  await formatUncommittedFiles();
@@ -37,6 +37,26 @@ export declare const PagesSettings: Readonly<{
37
37
  details?: t.ValidationErrorDetails | undefined;
38
38
  }>[]>;
39
39
  optional?: true;
40
+ }> & Readonly<{
41
+ shape: {
42
+ readonly build_type: Readonly<{
43
+ typeName: string;
44
+ defaultValue: "legacy" | "workflow";
45
+ is: (a: unknown) => a is "legacy" | "workflow";
46
+ assertIs: (a: unknown) => asserts a is "legacy" | "workflow";
47
+ cast: (a: unknown) => "legacy" | "workflow";
48
+ fill: (a: unknown) => "legacy" | "workflow";
49
+ prune: <B extends "legacy" | "workflow">(a: B) => "legacy" | "workflow";
50
+ validate: (a: unknown) => t.Result<"legacy" | "workflow", readonly Readonly<{
51
+ path: readonly string[];
52
+ actualValue: unknown;
53
+ expectedType: string;
54
+ typeName: string;
55
+ details?: t.ValidationErrorDetails | undefined;
56
+ }>[]>;
57
+ optional?: true;
58
+ }>;
59
+ };
40
60
  }>;
41
61
  export type PagesSettings = t.TypeOf<typeof PagesSettings>;
42
62
  //# sourceMappingURL=constants.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../../src/github/pages/constants.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../../src/github/pages/constants.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import * as t from 'ts-fortress';
2
- /**
3
- * `repo-settings/pages/settings.json` の型。
4
- *
5
- * Settings > Pages > Build and deployment > Source に対応する。
6
- * `workflow` が GUI 上の「 GitHub Actions 」、 `legacy` が「 Deploy from a branch 」。
7
- */
2
+
3
+
4
+
5
+
6
+
7
+
8
8
  export const PagesSettings = t.record({
9
9
  build_type: t.enumType(['workflow', 'legacy'], {
10
10
  typeName: 'PagesBuildType',
@@ -1,10 +1,10 @@
1
1
  import { GetRepositoryResponse } from 'octokit-safe-types';
2
- import { validationErrorsToMessages } from 'ts-fortress';
2
+ import * as t from 'ts-fortress';
3
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 () => {
7
- // https://docs.github.com/ja/rest/repos/repos?apiVersion=2022-11-28#get-a-repository
7
+
8
8
  const getRepositoryResult = await octokit.request('GET /repos/{owner}/{repo}', {
9
9
  owner: OWNER,
10
10
  repo: REPO,
@@ -13,7 +13,7 @@ export const getRepositorySettings = async () => {
13
13
  {
14
14
  const res = GetRepositoryResponse.validate(getRepositoryResult.data);
15
15
  if (Result.isErr(res)) {
16
- console.warn(validationErrorsToMessages(res.value));
16
+ console.warn(t.validationErrorsToMessages(res.value));
17
17
  }
18
18
  }
19
19
  return GetRepositoryResponse.fill(getRepositoryResult.data);
@@ -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,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
+ {"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,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,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,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type UpdateRepositoryRequest } from 'octokit-safe-types';
2
- export declare const updateRepository: ({ payload: { name, description, homepage, private: private_, visibility, security_and_analysis, has_issues, has_projects, has_wiki, is_template, default_branch, allow_squash_merge, allow_merge_commit, allow_rebase_merge, allow_auto_merge, delete_branch_on_merge, allow_update_branch, use_squash_pr_title_as_default, squash_merge_commit_title, squash_merge_commit_message, merge_commit_title, merge_commit_message, archived, allow_forking, web_commit_signoff_required, }, }: Readonly<{
2
+ export declare const updateRepository: ({ payload: { name, description, homepage, private: private_, visibility, security_and_analysis, has_issues, has_projects, has_wiki, has_pull_requests, pull_request_creation_policy, is_template, default_branch, allow_squash_merge, allow_merge_commit, allow_rebase_merge, allow_auto_merge, delete_branch_on_merge, allow_update_branch, use_squash_pr_title_as_default, squash_merge_commit_title, squash_merge_commit_message, merge_commit_title, merge_commit_message, archived, allow_forking, web_commit_signoff_required, }, }: Readonly<{
3
3
  payload: UpdateRepositoryRequest;
4
4
  }>) => Promise<void>;
5
5
  //# sourceMappingURL=update-repository.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-repository.d.mts","sourceRoot":"","sources":["../../../../src/github/repository/api/update-repository.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,gBAAgB,6dA4B1B,QAAQ,CAAC;IACV,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAAC,KAAG,OAAO,CAAC,IAAI,CAiChB,CAAC"}
1
+ {"version":3,"file":"update-repository.d.mts","sourceRoot":"","sources":["../../../../src/github/repository/api/update-repository.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAK5B,eAAO,MAAM,gBAAgB,8gBA8B1B,QAAQ,CAAC;IACV,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAAC,KAAG,OAAO,CAAC,IAAI,CAmChB,CAAC"}
@@ -1,7 +1,8 @@
1
+
1
2
  import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
2
3
  import { octokit } from '../../octokit.mjs';
3
- export const updateRepository = async ({ payload: { name, description, homepage, private: private_, visibility, security_and_analysis, has_issues, has_projects, has_wiki, is_template, default_branch, allow_squash_merge, allow_merge_commit, allow_rebase_merge, allow_auto_merge, delete_branch_on_merge, allow_update_branch, use_squash_pr_title_as_default, squash_merge_commit_title, squash_merge_commit_message, merge_commit_title, merge_commit_message, archived, allow_forking, web_commit_signoff_required, }, }) => {
4
- // https://docs.github.com/ja/rest/repos/repos?apiVersion=2022-11-28#update-a-repository
4
+ export const updateRepository = async ({ payload: { name, description, homepage, private: private_, visibility, security_and_analysis, has_issues, has_projects, has_wiki, has_pull_requests, pull_request_creation_policy, is_template, default_branch, allow_squash_merge, allow_merge_commit, allow_rebase_merge, allow_auto_merge, delete_branch_on_merge, allow_update_branch, use_squash_pr_title_as_default, squash_merge_commit_title, squash_merge_commit_message, merge_commit_title, merge_commit_message, archived, allow_forking, web_commit_signoff_required, }, }) => {
5
+
5
6
  await octokit.request('PATCH /repos/{owner}/{repo}', {
6
7
  owner: OWNER,
7
8
  repo: REPO,
@@ -11,10 +12,12 @@ export const updateRepository = async ({ payload: { name, description, homepage,
11
12
  homepage,
12
13
  private: private_,
13
14
  visibility,
14
- security_and_analysis,
15
+ security_and_analysis: security_and_analysis,
15
16
  has_issues,
16
17
  has_projects,
17
18
  has_wiki,
19
+ has_pull_requests,
20
+ pull_request_creation_policy,
18
21
  is_template,
19
22
  default_branch,
20
23
  allow_squash_merge,
@@ -1 +1 @@
1
- {"version":3,"file":"update-repository.mjs","sourceRoot":"","sources":["../../../../src/github/repository/api/update-repository.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,OAAO,EAAE,EACP,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,OAAO,EAAE,QAAQ,EACjB,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,kBAAkB,EAClB,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,2BAA2B,GAC5B,GAGD,EAAiB,EAAE;IACnB,wFAAwF;IACxF,MAAM,OAAO,CAAC,OAAO,CAAC,6BAAoD,EAAE;QAC1E,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;QAEvB,IAAI;QACJ,WAAW;QACX,QAAQ;QACR,OAAO,EAAE,QAAQ;QACjB,UAAU;QACV,qBAAqB;QACrB,UAAU;QACV,YAAY;QACZ,QAAQ;QACR,WAAW;QACX,cAAc;QACd,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,gBAAgB;QAChB,sBAAsB;QACtB,mBAAmB;QACnB,8BAA8B;QAC9B,yBAAyB;QACzB,2BAA2B;QAC3B,kBAAkB;QAClB,oBAAoB;QACpB,QAAQ;QACR,aAAa;QACb,2BAA2B;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"update-repository.mjs","sourceRoot":"","sources":["../../../../src/github/repository/api/update-repository.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,OAAO,EAAE,EACP,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,OAAO,EAAE,QAAQ,EACjB,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,4BAA4B,EAC5B,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,kBAAkB,EAClB,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,2BAA2B,GAC5B,GAGD,EAAiB,EAAE;IACnB,wFAAwF;IACxF,MAAM,OAAO,CAAC,OAAO,CAAC,6BAAoD,EAAE;QAC1E,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;QAEvB,IAAI;QACJ,WAAW;QACX,QAAQ;QACR,OAAO,EAAE,QAAQ;QACjB,UAAU;QACV,qBAAqB,EAAE,eAAe,CAAC,qBAAqB,CAAC;QAC7D,UAAU;QACV,YAAY;QACZ,QAAQ;QACR,iBAAiB;QACjB,4BAA4B;QAC5B,WAAW;QACX,cAAc;QACd,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,gBAAgB;QAChB,sBAAsB;QACtB,mBAAmB;QACnB,8BAA8B;QAC9B,yBAAyB;QACzB,2BAA2B;QAC3B,kBAAkB;QAClB,oBAAoB;QACpB,QAAQ;QACR,aAAa;QACb,2BAA2B;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import 'dotenv/config';
3
3
  import * as fs from 'node:fs/promises';
4
4
  import * as path from 'node:path';
5
5
  import { Obj } from 'ts-data-forge';
6
- import { validationErrorsToMessages } from 'ts-fortress';
6
+ import * as t from 'ts-fortress';
7
7
  import { formatUncommittedFiles, isDirectlyExecuted, Result, } from 'ts-repo-utils';
8
8
  import { repositorySettingsDir, settingsJsonName } from '../constants.mjs';
9
9
  import { getRepositorySettings, updateRepository } from './api/index.mjs';
@@ -14,17 +14,17 @@ export const applyRepositorySettings = async () => {
14
14
  const settings = await readSettings();
15
15
  await updateRepository({
16
16
  payload: {
17
- // name: settings.name,
18
- // description: settings.description ?? undefined,
19
- // homepage: settings.homepage ?? undefined,
20
- // private: settings.private,
21
- // visibility: settings.visibility === 'public' ? 'public' : 'private',
17
+
18
+
19
+
20
+
21
+
22
22
  security_and_analysis: settings.security_and_analysis,
23
23
  has_issues: settings.has_issues,
24
24
  has_projects: settings.has_projects,
25
25
  has_wiki: settings.has_wiki,
26
- // is_template: settings.is_template,
27
- // default_branch: settings.default_branch,
26
+
27
+
28
28
  allow_squash_merge: settings.allow_squash_merge,
29
29
  allow_merge_commit: settings.allow_merge_commit,
30
30
  allow_rebase_merge: settings.allow_rebase_merge,
@@ -36,31 +36,31 @@ export const applyRepositorySettings = async () => {
36
36
  squash_merge_commit_message: settings.squash_merge_commit_message,
37
37
  merge_commit_title: settings.merge_commit_title,
38
38
  merge_commit_message: settings.merge_commit_message,
39
- // archived: settings.archived,
40
- // NOTE: "RequestError [HttpError]: Allow forks can only be changed on org-owned repositories"
41
- // allow_forking: settings.allow_forking,
39
+
40
+
41
+
42
42
  web_commit_signoff_required: settings.web_commit_signoff_required,
43
43
  },
44
44
  });
45
- // update local setting file
45
+
46
46
  {
47
47
  const repositorySettings = await getRepositorySettings();
48
48
  const str = JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2);
49
- // eslint-disable-next-line security/detect-non-literal-fs-filename
49
+
50
50
  await fs.writeFile(path.resolve(repositorySettingsDir, settingsJsonName), str);
51
- // eslint-disable-next-line security/detect-non-literal-fs-filename
51
+
52
52
  await fs.writeFile(path.resolve(repositorySettingsDir, 'bk', settingsJsonName), str);
53
53
  await formatUncommittedFiles();
54
54
  }
55
55
  };
56
56
  const readSettings = async () => {
57
- // eslint-disable-next-line security/detect-non-literal-fs-filename
57
+
58
58
  const settingsText = await fs.readFile(path.resolve(repositorySettingsDir, settingsJsonName), {
59
59
  encoding: 'utf8',
60
60
  });
61
61
  const validationResult = RepositoryPicked.validate(JSON.parse(settingsText));
62
62
  if (Result.isErr(validationResult)) {
63
- throw new Error(validationErrorsToMessages(validationResult.value).join('\n'));
63
+ throw new Error(t.validationErrorsToMessages(validationResult.value).join('\n'));
64
64
  }
65
65
  return validationResult.value;
66
66
  };
@@ -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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"}
@@ -11,7 +11,7 @@ const backupDir = path.resolve(repositorySettingsDir, './bk');
11
11
  export const backupRepositorySettings = async (fmt = true) => {
12
12
  await makeEmptyDir(backupDir);
13
13
  const repositorySettings = await getRepositorySettings();
14
- // eslint-disable-next-line security/detect-non-literal-fs-filename
14
+
15
15
  await fs.writeFile(path.resolve(backupDir, settingsJsonName), JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2));
16
16
  if (fmt) {
17
17
  await formatUncommittedFiles();