github-settings-as-code 1.0.2 → 1.0.4

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 (113) hide show
  1. package/dist/cmd/gh-apply-all.d.mts +3 -0
  2. package/dist/cmd/gh-apply-all.d.mts.map +1 -0
  3. package/dist/cmd/gh-apply-all.mjs +10 -0
  4. package/dist/cmd/gh-apply-all.mjs.map +1 -0
  5. package/dist/cmd/gh-backup-all.d.mts +3 -0
  6. package/dist/cmd/gh-backup-all.d.mts.map +1 -0
  7. package/dist/cmd/gh-backup-all.mjs +9 -0
  8. package/dist/cmd/gh-backup-all.mjs.map +1 -0
  9. package/dist/github/constants.d.mts +10 -0
  10. package/dist/github/constants.d.mts.map +1 -0
  11. package/dist/github/constants.mjs +12 -0
  12. package/dist/github/constants.mjs.map +1 -0
  13. package/dist/github/index.d.mts +5 -0
  14. package/dist/github/index.d.mts.map +1 -0
  15. package/dist/github/index.mjs +5 -0
  16. package/dist/github/index.mjs.map +1 -0
  17. package/dist/github/octokit.d.mts +3 -0
  18. package/dist/github/octokit.d.mts.map +1 -0
  19. package/dist/github/octokit.mjs +5 -0
  20. package/dist/github/octokit.mjs.map +1 -0
  21. package/dist/github/repository/api/get-repository.d.mts +4 -0
  22. package/dist/github/repository/api/get-repository.d.mts.map +1 -0
  23. package/dist/github/repository/api/get-repository.mjs +21 -0
  24. package/dist/github/repository/api/get-repository.mjs.map +1 -0
  25. package/dist/github/repository/api/index.d.mts +3 -0
  26. package/dist/github/repository/api/index.d.mts.map +1 -0
  27. package/dist/github/repository/api/index.mjs +3 -0
  28. package/dist/github/repository/api/index.mjs.map +1 -0
  29. package/dist/github/repository/api/update-repository.d.mts +5 -0
  30. package/dist/github/repository/api/update-repository.d.mts.map +1 -0
  31. package/dist/github/repository/api/update-repository.mjs +36 -0
  32. package/dist/github/repository/api/update-repository.mjs.map +1 -0
  33. package/dist/github/repository/apply.d.mts +4 -0
  34. package/dist/github/repository/apply.d.mts.map +1 -0
  35. package/dist/github/repository/apply.mjs +65 -0
  36. package/dist/github/repository/apply.mjs.map +1 -0
  37. package/dist/github/repository/backup.d.mts +4 -0
  38. package/dist/github/repository/backup.d.mts.map +1 -0
  39. package/dist/github/repository/backup.mjs +20 -0
  40. package/dist/github/repository/backup.mjs.map +1 -0
  41. package/dist/github/repository/constants.d.mts +7272 -0
  42. package/dist/github/repository/constants.d.mts.map +1 -0
  43. package/dist/github/repository/constants.mjs +47 -0
  44. package/dist/github/repository/constants.mjs.map +1 -0
  45. package/dist/github/repository/index.d.mts +5 -0
  46. package/dist/github/repository/index.d.mts.map +1 -0
  47. package/dist/github/repository/index.mjs +5 -0
  48. package/dist/github/repository/index.mjs.map +1 -0
  49. package/dist/github/ruleset/api/create-ruleset.d.mts +5 -0
  50. package/dist/github/ruleset/api/create-ruleset.d.mts.map +1 -0
  51. package/dist/github/ruleset/api/create-ruleset.mjs +19 -0
  52. package/dist/github/ruleset/api/create-ruleset.mjs.map +1 -0
  53. package/dist/github/ruleset/api/get-all-rulesets.d.mts +4 -0
  54. package/dist/github/ruleset/api/get-all-rulesets.d.mts.map +1 -0
  55. package/dist/github/ruleset/api/get-all-rulesets.mjs +23 -0
  56. package/dist/github/ruleset/api/get-all-rulesets.mjs.map +1 -0
  57. package/dist/github/ruleset/api/get-ruleset.d.mts +4 -0
  58. package/dist/github/ruleset/api/get-ruleset.d.mts.map +1 -0
  59. package/dist/github/ruleset/api/get-ruleset.mjs +22 -0
  60. package/dist/github/ruleset/api/get-ruleset.mjs.map +1 -0
  61. package/dist/github/ruleset/api/index.d.mts +5 -0
  62. package/dist/github/ruleset/api/index.d.mts.map +1 -0
  63. package/dist/github/ruleset/api/index.mjs +5 -0
  64. package/dist/github/ruleset/api/index.mjs.map +1 -0
  65. package/dist/github/ruleset/api/update-ruleset.d.mts +6 -0
  66. package/dist/github/ruleset/api/update-ruleset.d.mts.map +1 -0
  67. package/dist/github/ruleset/api/update-ruleset.mjs +20 -0
  68. package/dist/github/ruleset/api/update-ruleset.mjs.map +1 -0
  69. package/dist/github/ruleset/apply.d.mts +4 -0
  70. package/dist/github/ruleset/apply.d.mts.map +1 -0
  71. package/dist/github/ruleset/apply.mjs +56 -0
  72. package/dist/github/ruleset/apply.mjs.map +1 -0
  73. package/dist/github/ruleset/backup.d.mts +4 -0
  74. package/dist/github/ruleset/backup.d.mts.map +1 -0
  75. package/dist/github/ruleset/backup.mjs +23 -0
  76. package/dist/github/ruleset/backup.mjs.map +1 -0
  77. package/dist/github/ruleset/constants.d.mts +1552 -0
  78. package/dist/github/ruleset/constants.d.mts.map +1 -0
  79. package/dist/github/ruleset/constants.mjs +16 -0
  80. package/dist/github/ruleset/constants.mjs.map +1 -0
  81. package/dist/github/ruleset/index.d.mts +6 -0
  82. package/dist/github/ruleset/index.d.mts.map +1 -0
  83. package/dist/github/ruleset/index.mjs +6 -0
  84. package/dist/github/ruleset/index.mjs.map +1 -0
  85. package/dist/github/ruleset/read-rule-set-contents.d.mts +5 -0
  86. package/dist/github/ruleset/read-rule-set-contents.d.mts.map +1 -0
  87. package/dist/github/ruleset/read-rule-set-contents.mjs +27 -0
  88. package/dist/github/ruleset/read-rule-set-contents.mjs.map +1 -0
  89. package/dist/github/variables/api/create-repo-variable.d.mts +5 -0
  90. package/dist/github/variables/api/create-repo-variable.d.mts.map +1 -0
  91. package/dist/github/variables/api/create-repo-variable.mjs +13 -0
  92. package/dist/github/variables/api/create-repo-variable.mjs.map +1 -0
  93. package/dist/github/variables/api/index.d.mts +4 -0
  94. package/dist/github/variables/api/index.d.mts.map +1 -0
  95. package/dist/github/variables/api/index.mjs +4 -0
  96. package/dist/github/variables/api/index.mjs.map +1 -0
  97. package/dist/github/variables/api/list-repo-variables.d.mts +7 -0
  98. package/dist/github/variables/api/list-repo-variables.d.mts.map +1 -0
  99. package/dist/github/variables/api/list-repo-variables.mjs +12 -0
  100. package/dist/github/variables/api/list-repo-variables.mjs.map +1 -0
  101. package/dist/github/variables/api/update-repo-variable.d.mts +5 -0
  102. package/dist/github/variables/api/update-repo-variable.d.mts.map +1 -0
  103. package/dist/github/variables/api/update-repo-variable.mjs +13 -0
  104. package/dist/github/variables/api/update-repo-variable.mjs.map +1 -0
  105. package/dist/github/variables/apply.d.mts +5 -0
  106. package/dist/github/variables/apply.d.mts.map +1 -0
  107. package/dist/github/variables/apply.mjs +26 -0
  108. package/dist/github/variables/apply.mjs.map +1 -0
  109. package/dist/github/variables/index.d.mts +3 -0
  110. package/dist/github/variables/index.d.mts.map +1 -0
  111. package/dist/github/variables/index.mjs +3 -0
  112. package/dist/github/variables/index.mjs.map +1 -0
  113. package/package.json +7 -7
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ //# sourceMappingURL=gh-apply-all.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gh-apply-all.d.mts","sourceRoot":"","sources":["../../src/cmd/gh-apply-all.mts"],"names":[],"mappings":";AAEA,OAAO,eAAe,CAAC"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ import { applyRepositorySettings, applyRulesets, applyVariables, } from '../github/index.mjs';
4
+ const runApplyAll = async () => {
5
+ await applyVariables();
6
+ await applyRulesets();
7
+ await applyRepositorySettings();
8
+ };
9
+ await runApplyAll();
10
+ //# sourceMappingURL=gh-apply-all.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gh-apply-all.mjs","sourceRoot":"","sources":["../../src/cmd/gh-apply-all.mts"],"names":[],"mappings":";AAEA,OAAO,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;IAC5C,MAAM,cAAc,EAAE,CAAC;IAEvB,MAAM,aAAa,EAAE,CAAC;IAEtB,MAAM,uBAAuB,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,WAAW,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ //# sourceMappingURL=gh-backup-all.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gh-backup-all.d.mts","sourceRoot":"","sources":["../../src/cmd/gh-backup-all.mts"],"names":[],"mappings":";AAEA,OAAO,eAAe,CAAC"}
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ import { backupRepositorySettings, backupRulesets } from '../github/index.mjs';
4
+ const runBackupAll = async () => {
5
+ await backupRulesets();
6
+ await backupRepositorySettings();
7
+ };
8
+ await runBackupAll();
9
+ //# sourceMappingURL=gh-backup-all.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gh-backup-all.mjs","sourceRoot":"","sources":["../../src/cmd/gh-backup-all.mts"],"names":[],"mappings":";AAEA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/E,MAAM,YAAY,GAAG,KAAK,IAAmB,EAAE;IAC7C,MAAM,cAAc,EAAE,CAAC;IAEvB,MAAM,wBAAwB,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,YAAY,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import 'ts-repo-utils';
2
+ export declare const OWNER = "noshiro-pf";
3
+ export declare const REPO: string;
4
+ export declare const repositorySettingsDir: string;
5
+ export declare const repositorySettingsJsonName = "settings.json";
6
+ export declare const rulesetsDir: string;
7
+ export declare const octokitHeaders: {
8
+ readonly 'X-GitHub-Api-Version': "2022-11-28";
9
+ };
10
+ //# sourceMappingURL=constants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAGvB,eAAO,MAAM,KAAK,eAAe,CAAC;AAClC,eAAO,MAAM,IAAI,QAAmB,CAAC;AAIrC,eAAO,MAAM,qBAAqB,QAGjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,kBAAkB,CAAC;AAC1D,eAAO,MAAM,WAAW,QAAwC,CAAC;AAEjE,eAAO,MAAM,cAAc;;CAEjB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import 'ts-repo-utils';
2
+ import packageJson from '../../package.json' with { type: 'json' };
3
+ export const OWNER = 'noshiro-pf';
4
+ export const REPO = packageJson.name;
5
+ const githubDir = path.resolve(process.cwd(), './github');
6
+ export const repositorySettingsDir = path.resolve(githubDir, './repository-settings');
7
+ export const repositorySettingsJsonName = 'settings.json';
8
+ export const rulesetsDir = path.resolve(githubDir, './rulesets');
9
+ export const octokitHeaders = {
10
+ 'X-GitHub-Api-Version': '2022-11-28',
11
+ };
12
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnE,MAAM,CAAC,MAAM,KAAK,GAAG,YAAY,CAAC;AAClC,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;AAErC,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;AAC1D,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"}
@@ -0,0 +1,5 @@
1
+ export * from './constants.mjs';
2
+ export * from './repository/index.mjs';
3
+ export * from './ruleset/index.mjs';
4
+ export * from './variables/index.mjs';
5
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/github/index.mts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './constants.mjs';
2
+ export * from './repository/index.mjs';
3
+ export * from './ruleset/index.mjs';
4
+ export * from './variables/index.mjs';
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/github/index.mts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Octokit } from '@octokit/core';
2
+ export declare const octokit: Octokit;
3
+ //# sourceMappingURL=octokit.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"octokit.d.mts","sourceRoot":"","sources":["../../src/github/octokit.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,OAAO,SAElB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Octokit } from '@octokit/core';
2
+ export const octokit = new Octokit({
3
+ auth: process.env['PERSONAL_ACCESS_TOKEN'],
4
+ });
5
+ //# sourceMappingURL=octokit.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"octokit.mjs","sourceRoot":"","sources":["../../src/github/octokit.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;CAC3C,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { GetRepositoryResponse } from 'octokit-safe-types';
2
+ import 'ts-repo-utils';
3
+ export declare const getRepositorySettings: () => Promise<GetRepositoryResponse>;
4
+ //# sourceMappingURL=get-repository.d.mts.map
@@ -0,0 +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"}
@@ -0,0 +1,21 @@
1
+ import { GetRepositoryResponse } from 'octokit-safe-types';
2
+ import { validationErrorsToMessages } from 'ts-fortress';
3
+ import 'ts-repo-utils';
4
+ import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
5
+ import { octokit } from '../../octokit.mjs';
6
+ export const getRepositorySettings = async () => {
7
+ // https://docs.github.com/ja/rest/repos/repos?apiVersion=2022-11-28#get-a-repository
8
+ const getRepositoryResult = await octokit.request('GET /repos/{owner}/{repo}', {
9
+ owner: OWNER,
10
+ repo: REPO,
11
+ headers: octokitHeaders,
12
+ });
13
+ {
14
+ const res = GetRepositoryResponse.validate(getRepositoryResult.data);
15
+ if (Result.isErr(res)) {
16
+ console.warn(validationErrorsToMessages(res.value));
17
+ }
18
+ }
19
+ return GetRepositoryResponse.fill(getRepositoryResult.data);
20
+ };
21
+ //# sourceMappingURL=get-repository.mjs.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ export * from './get-repository.mjs';
2
+ export * from './update-repository.mjs';
3
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/github/repository/api/index.mts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './get-repository.mjs';
2
+ export * from './update-repository.mjs';
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/github/repository/api/index.mts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,5 @@
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<{
3
+ payload: UpdateRepositoryRequest;
4
+ }>) => Promise<void>;
5
+ //# sourceMappingURL=update-repository.d.mts.map
@@ -0,0 +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,GAAU,0dA4BpC,QAAQ,CAAC;IACV,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAAC,KAAG,OAAO,CAAC,IAAI,CAiChB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
2
+ 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
5
+ await octokit.request('PATCH /repos/{owner}/{repo}', {
6
+ owner: OWNER,
7
+ repo: REPO,
8
+ headers: octokitHeaders,
9
+ name,
10
+ description,
11
+ homepage,
12
+ private: private_,
13
+ visibility,
14
+ security_and_analysis,
15
+ has_issues,
16
+ has_projects,
17
+ has_wiki,
18
+ is_template,
19
+ default_branch,
20
+ allow_squash_merge,
21
+ allow_merge_commit,
22
+ allow_rebase_merge,
23
+ allow_auto_merge,
24
+ delete_branch_on_merge,
25
+ allow_update_branch,
26
+ use_squash_pr_title_as_default,
27
+ squash_merge_commit_title,
28
+ squash_merge_commit_message,
29
+ merge_commit_title,
30
+ merge_commit_message,
31
+ archived,
32
+ allow_forking,
33
+ web_commit_signoff_required,
34
+ });
35
+ };
36
+ //# sourceMappingURL=update-repository.mjs.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ export declare const applyRepositorySettings: () => Promise<void>;
4
+ //# sourceMappingURL=apply.d.mts.map
@@ -0,0 +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"}
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ import { Obj } from 'ts-data-forge';
4
+ import { validationErrorsToMessages } from 'ts-fortress';
5
+ import { formatUncommittedFiles } from 'ts-repo-utils';
6
+ import { repositorySettingsDir, repositorySettingsJsonName, } from '../constants.mjs';
7
+ import { getRepositorySettings, updateRepository } from './api/index.mjs';
8
+ import { backupRepositorySettings } from './backup.mjs';
9
+ import { repositoryKeysToPick, RepositoryPicked, } from './constants.mjs';
10
+ export const applyRepositorySettings = async () => {
11
+ await backupRepositorySettings(false);
12
+ const settings = await readSettings();
13
+ await updateRepository({
14
+ payload: {
15
+ // name: settings.name,
16
+ // description: settings.description ?? undefined,
17
+ // homepage: settings.homepage ?? undefined,
18
+ // private: settings.private,
19
+ // visibility: settings.visibility === 'public' ? 'public' : 'private',
20
+ security_and_analysis: settings.security_and_analysis,
21
+ has_issues: settings.has_issues,
22
+ has_projects: settings.has_projects,
23
+ has_wiki: settings.has_wiki,
24
+ // is_template: settings.is_template,
25
+ // default_branch: settings.default_branch,
26
+ allow_squash_merge: settings.allow_squash_merge,
27
+ allow_merge_commit: settings.allow_merge_commit,
28
+ allow_rebase_merge: settings.allow_rebase_merge,
29
+ allow_auto_merge: settings.allow_auto_merge,
30
+ delete_branch_on_merge: settings.delete_branch_on_merge,
31
+ allow_update_branch: settings.allow_update_branch,
32
+ use_squash_pr_title_as_default: settings.use_squash_pr_title_as_default,
33
+ squash_merge_commit_title: settings.squash_merge_commit_title,
34
+ squash_merge_commit_message: settings.squash_merge_commit_message,
35
+ merge_commit_title: settings.merge_commit_title,
36
+ merge_commit_message: settings.merge_commit_message,
37
+ // archived: settings.archived,
38
+ // NOTE: "RequestError [HttpError]: Allow forks can only be changed on org-owned repositories"
39
+ // allow_forking: settings.allow_forking,
40
+ web_commit_signoff_required: settings.web_commit_signoff_required,
41
+ },
42
+ });
43
+ // update local setting file
44
+ {
45
+ const repositorySettings = await getRepositorySettings();
46
+ const str = JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2);
47
+ await fs.writeFile(path.resolve(repositorySettingsDir, repositorySettingsJsonName), str);
48
+ await fs.writeFile(path.resolve(repositorySettingsDir, 'bk', repositorySettingsJsonName), str);
49
+ await formatUncommittedFiles();
50
+ }
51
+ };
52
+ const readSettings = async () => {
53
+ const settingsText = await fs.readFile(path.resolve(repositorySettingsDir, repositorySettingsJsonName), {
54
+ encoding: 'utf8',
55
+ });
56
+ const validationResult = RepositoryPicked.validate(JSON.parse(settingsText));
57
+ if (Result.isErr(validationResult)) {
58
+ throw new Error(validationErrorsToMessages(validationResult.value).join('\n'));
59
+ }
60
+ return validationResult.value;
61
+ };
62
+ if (isDirectlyExecuted(import.meta.url)) {
63
+ await applyRepositorySettings();
64
+ }
65
+ //# sourceMappingURL=apply.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/repository/apply.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ export declare const backupRepositorySettings: (fmt?: boolean) => Promise<void>;
4
+ //# sourceMappingURL=backup.d.mts.map
@@ -0,0 +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"}
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ import { Obj } from 'ts-data-forge';
4
+ import { formatUncommittedFiles, makeEmptyDir } from 'ts-repo-utils';
5
+ import { repositorySettingsDir, repositorySettingsJsonName, } from '../constants.mjs';
6
+ import { getRepositorySettings } from './api/index.mjs';
7
+ import { repositoryKeysToPick } from './constants.mjs';
8
+ const backupDir = path.resolve(repositorySettingsDir, './bk');
9
+ export const backupRepositorySettings = async (fmt = true) => {
10
+ await makeEmptyDir(backupDir);
11
+ const repositorySettings = await getRepositorySettings();
12
+ await fs.writeFile(path.resolve(backupDir, repositorySettingsJsonName), JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2));
13
+ if (fmt) {
14
+ await formatUncommittedFiles();
15
+ }
16
+ };
17
+ if (isDirectlyExecuted(import.meta.url)) {
18
+ await backupRepositorySettings();
19
+ }
20
+ //# sourceMappingURL=backup.mjs.map
@@ -0,0 +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"}