github-settings-as-code 1.2.9 → 2.0.0

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 (145) hide show
  1. package/README.md +60 -9
  2. package/dist/cmd/{gh-apply-all.d.mts → repo-settings.d.mts} +1 -1
  3. package/dist/cmd/repo-settings.d.mts.map +1 -0
  4. package/dist/cmd/repo-settings.mjs +118 -0
  5. package/dist/cmd/repo-settings.mjs.map +1 -0
  6. package/dist/github/actions-settings/api/get-actions-settings.d.mts +8 -0
  7. package/dist/github/actions-settings/api/get-actions-settings.d.mts.map +1 -0
  8. package/dist/github/actions-settings/api/get-actions-settings.mjs +25 -0
  9. package/dist/github/actions-settings/api/get-actions-settings.mjs.map +1 -0
  10. package/dist/github/actions-settings/api/index.d.mts +3 -0
  11. package/dist/github/actions-settings/api/index.d.mts.map +1 -0
  12. package/dist/github/actions-settings/api/index.mjs +3 -0
  13. package/dist/github/actions-settings/api/index.mjs.map +1 -0
  14. package/dist/github/actions-settings/api/set-actions-settings.d.mts +4 -0
  15. package/dist/github/actions-settings/api/set-actions-settings.d.mts.map +1 -0
  16. package/dist/github/actions-settings/api/set-actions-settings.mjs +27 -0
  17. package/dist/github/actions-settings/api/set-actions-settings.mjs.map +1 -0
  18. package/dist/github/actions-settings/apply.d.mts +5 -0
  19. package/dist/github/actions-settings/apply.d.mts.map +1 -0
  20. package/dist/github/actions-settings/apply.mjs +39 -0
  21. package/dist/github/actions-settings/apply.mjs.map +1 -0
  22. package/dist/github/actions-settings/backup.d.mts +5 -0
  23. package/dist/github/actions-settings/backup.d.mts.map +1 -0
  24. package/dist/github/actions-settings/backup.mjs +22 -0
  25. package/dist/github/actions-settings/backup.mjs.map +1 -0
  26. package/dist/github/actions-settings/constants.d.mts +69 -0
  27. package/dist/github/actions-settings/constants.d.mts.map +1 -0
  28. package/dist/github/actions-settings/constants.mjs +42 -0
  29. package/dist/github/actions-settings/constants.mjs.map +1 -0
  30. package/dist/github/actions-settings/index.d.mts +5 -0
  31. package/dist/github/actions-settings/index.d.mts.map +1 -0
  32. package/dist/github/actions-settings/index.mjs +5 -0
  33. package/dist/github/actions-settings/index.mjs.map +1 -0
  34. package/dist/github/constants.d.mts +4 -2
  35. package/dist/github/constants.d.mts.map +1 -1
  36. package/dist/github/constants.mjs +7 -31
  37. package/dist/github/constants.mjs.map +1 -1
  38. package/dist/github/index.d.mts +4 -0
  39. package/dist/github/index.d.mts.map +1 -1
  40. package/dist/github/index.mjs +4 -0
  41. package/dist/github/index.mjs.map +1 -1
  42. package/dist/github/octokit.d.mts.map +1 -1
  43. package/dist/github/octokit.mjs +39 -3
  44. package/dist/github/octokit.mjs.map +1 -1
  45. package/dist/github/pages/api/get-pages-settings.d.mts +8 -0
  46. package/dist/github/pages/api/get-pages-settings.d.mts.map +1 -0
  47. package/dist/github/pages/api/get-pages-settings.mjs +26 -0
  48. package/dist/github/pages/api/get-pages-settings.mjs.map +1 -0
  49. package/dist/github/pages/api/index.d.mts +3 -0
  50. package/dist/github/pages/api/index.d.mts.map +1 -0
  51. package/dist/github/pages/api/index.mjs +3 -0
  52. package/dist/github/pages/api/index.mjs.map +1 -0
  53. package/dist/github/pages/api/set-pages-settings.d.mts +9 -0
  54. package/dist/github/pages/api/set-pages-settings.d.mts.map +1 -0
  55. package/dist/github/pages/api/set-pages-settings.mjs +33 -0
  56. package/dist/github/pages/api/set-pages-settings.mjs.map +1 -0
  57. package/dist/github/pages/apply.d.mts +10 -0
  58. package/dist/github/pages/apply.d.mts.map +1 -0
  59. package/dist/github/pages/apply.mjs +49 -0
  60. package/dist/github/pages/apply.mjs.map +1 -0
  61. package/dist/github/pages/backup.d.mts +5 -0
  62. package/dist/github/pages/backup.d.mts.map +1 -0
  63. package/dist/github/pages/backup.mjs +26 -0
  64. package/dist/github/pages/backup.mjs.map +1 -0
  65. package/dist/github/pages/constants.d.mts +42 -0
  66. package/dist/github/pages/constants.d.mts.map +1 -0
  67. package/dist/github/pages/constants.mjs +14 -0
  68. package/dist/github/pages/constants.mjs.map +1 -0
  69. package/dist/github/pages/index.d.mts +5 -0
  70. package/dist/github/pages/index.d.mts.map +1 -0
  71. package/dist/github/pages/index.mjs +5 -0
  72. package/dist/github/pages/index.mjs.map +1 -0
  73. package/dist/github/repository/api/update-repository.d.mts.map +1 -1
  74. package/dist/github/repository/apply.d.mts.map +1 -1
  75. package/dist/github/repository/apply.mjs +4 -4
  76. package/dist/github/repository/apply.mjs.map +1 -1
  77. package/dist/github/repository/backup.d.mts.map +1 -1
  78. package/dist/github/repository/backup.mjs +2 -2
  79. package/dist/github/repository/backup.mjs.map +1 -1
  80. package/dist/github/repository/constants.d.mts +3267 -2032
  81. package/dist/github/repository/constants.d.mts.map +1 -1
  82. package/dist/github/repository/constants.mjs +2 -1
  83. package/dist/github/repository/constants.mjs.map +1 -1
  84. package/dist/github/resolve-target-repo.d.mts +16 -0
  85. package/dist/github/resolve-target-repo.d.mts.map +1 -0
  86. package/dist/github/resolve-target-repo.mjs +113 -0
  87. package/dist/github/resolve-target-repo.mjs.map +1 -0
  88. package/dist/github/ruleset/api/create-ruleset.d.mts.map +1 -1
  89. package/dist/github/ruleset/api/get-all-rulesets.d.mts.map +1 -1
  90. package/dist/github/ruleset/api/get-all-rulesets.mjs.map +1 -1
  91. package/dist/github/ruleset/api/get-ruleset.d.mts.map +1 -1
  92. package/dist/github/ruleset/api/update-ruleset.d.mts.map +1 -1
  93. package/dist/github/ruleset/apply.mjs.map +1 -1
  94. package/dist/github/ruleset/backup.d.mts.map +1 -1
  95. package/dist/github/ruleset/backup.mjs.map +1 -1
  96. package/dist/github/ruleset/constants.d.mts +752 -269
  97. package/dist/github/ruleset/constants.d.mts.map +1 -1
  98. package/dist/github/ruleset/constants.mjs +2 -1
  99. package/dist/github/ruleset/constants.mjs.map +1 -1
  100. package/dist/github/ruleset/read-rule-set-contents.mjs.map +1 -1
  101. package/dist/github/upgrade-stale-codec.d.mts +19 -0
  102. package/dist/github/upgrade-stale-codec.d.mts.map +1 -0
  103. package/dist/github/upgrade-stale-codec.mjs +20 -0
  104. package/dist/github/upgrade-stale-codec.mjs.map +1 -0
  105. package/dist/github/variables/api/create-repo-variable.d.mts.map +1 -1
  106. package/dist/github/variables/api/update-repo-variable.d.mts.map +1 -1
  107. package/dist/github/variables/apply.d.mts.map +1 -1
  108. package/dist/github/variables/apply.mjs +9 -6
  109. package/dist/github/variables/apply.mjs.map +1 -1
  110. package/package.json +53 -58
  111. package/src/cmd/repo-settings.mts +153 -0
  112. package/src/github/actions-settings/api/get-actions-settings.mts +38 -0
  113. package/src/github/actions-settings/api/index.mts +2 -0
  114. package/src/github/actions-settings/api/set-actions-settings.mts +39 -0
  115. package/src/github/actions-settings/apply.mts +63 -0
  116. package/src/github/actions-settings/backup.mts +36 -0
  117. package/src/github/actions-settings/constants.mts +50 -0
  118. package/src/github/actions-settings/index.mts +4 -0
  119. package/src/github/constants.mts +9 -42
  120. package/src/github/index.mts +4 -0
  121. package/src/github/octokit.mts +47 -3
  122. package/src/github/pages/api/get-pages-settings.mts +35 -0
  123. package/src/github/pages/api/index.mts +2 -0
  124. package/src/github/pages/api/set-pages-settings.mts +47 -0
  125. package/src/github/pages/apply.mts +73 -0
  126. package/src/github/pages/backup.mts +44 -0
  127. package/src/github/pages/constants.mts +16 -0
  128. package/src/github/pages/index.mts +4 -0
  129. package/src/github/repository/apply.mts +4 -7
  130. package/src/github/repository/backup.mts +2 -5
  131. package/src/github/repository/constants.mts +5 -1
  132. package/src/github/resolve-target-repo.mts +144 -0
  133. package/src/github/ruleset/api/get-all-rulesets.mts +3 -6
  134. package/src/github/ruleset/constants.mts +5 -1
  135. package/src/github/upgrade-stale-codec.mts +29 -0
  136. package/src/github/variables/apply.mts +9 -6
  137. package/dist/cmd/gh-apply-all.d.mts.map +0 -1
  138. package/dist/cmd/gh-apply-all.mjs +0 -10
  139. package/dist/cmd/gh-apply-all.mjs.map +0 -1
  140. package/dist/cmd/gh-backup-all.d.mts +0 -3
  141. package/dist/cmd/gh-backup-all.d.mts.map +0 -1
  142. package/dist/cmd/gh-backup-all.mjs +0 -9
  143. package/dist/cmd/gh-backup-all.mjs.map +0 -1
  144. package/src/cmd/gh-apply-all.mts +0 -18
  145. package/src/cmd/gh-backup-all.mts +0 -12
@@ -1 +1 @@
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
+ {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,UAAU,GAAG,MAAM,iBAAiB,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,KAAK,GAAW,UAAU,CAAC,KAAK,CAAC;AAE9C,MAAM,CAAC,MAAM,IAAI,GAAW,UAAU,CAAC,IAAI,CAAC;AAE5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAC/C,SAAS,EACT,uBAAuB,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEnE,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,5 +1,9 @@
1
+ export * from './actions-settings/index.mjs';
1
2
  export * from './constants.mjs';
3
+ export * from './pages/index.mjs';
2
4
  export * from './repository/index.mjs';
5
+ export * from './resolve-target-repo.mjs';
3
6
  export * from './ruleset/index.mjs';
7
+ export * from './upgrade-stale-codec.mjs';
4
8
  export * from './variables/index.mjs';
5
9
  //# sourceMappingURL=index.d.mts.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/github/index.mts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC"}
@@ -1,5 +1,9 @@
1
+ export * from './actions-settings/index.mjs';
1
2
  export * from './constants.mjs';
3
+ export * from './pages/index.mjs';
2
4
  export * from './repository/index.mjs';
5
+ export * from './resolve-target-repo.mjs';
3
6
  export * from './ruleset/index.mjs';
7
+ export * from './upgrade-stale-codec.mjs';
4
8
  export * from './variables/index.mjs';
5
9
  //# sourceMappingURL=index.mjs.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/github/index.mts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC"}
@@ -1 +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"}
1
+ {"version":3,"file":"octokit.d.mts","sourceRoot":"","sources":["../../src/github/octokit.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAgDxC,eAAO,MAAM,OAAO,SAA4C,CAAC"}
@@ -1,5 +1,41 @@
1
1
  import { Octokit } from '@octokit/core';
2
- export const octokit = new Octokit({
3
- auth: process.env['PERSONAL_ACCESS_TOKEN'],
4
- });
2
+ import { execFileSync } from 'node:child_process';
3
+ /**
4
+ * GitHub API の認証トークンを解決する。
5
+ *
6
+ * 1. 明示的な環境変数 … CI では GitHub App の installation token を渡す。
7
+ * 2. `gh auth token` … ローカルでは gh CLI のログイン情報をそのまま使うため、 PAT
8
+ * を .env などに平文で置く必要がない。
9
+ *
10
+ * `GITHUB_TOKEN` は候補に含めない。 Actions では既定の( administration 権限を
11
+ * 持たない)トークンが同名で入っていることがあり、黙って弱い方を掴むため。
12
+ */
13
+ const resolveAuthToken = () => {
14
+ const fromEnv = process.env['GITHUB_APP_TOKEN'] ??
15
+ process.env['GH_TOKEN'] ??
16
+ process.env['PERSONAL_ACCESS_TOKEN'];
17
+ if (fromEnv !== undefined && fromEnv !== '') {
18
+ return fromEnv;
19
+ }
20
+ try {
21
+ // シェルを経由させない。 stderr も捨てて、失敗時にトークンが混ざらないようにする。
22
+ const stdout = execFileSync('gh', ['auth', 'token'], {
23
+ encoding: 'utf8',
24
+ stdio: ['ignore', 'pipe', 'ignore'],
25
+ });
26
+ const token = stdout.trim();
27
+ if (token.length > 0) {
28
+ return token;
29
+ }
30
+ }
31
+ catch {
32
+ // gh が未インストール、または未ログイン。下のエラーにまとめる。
33
+ }
34
+ throw new Error([
35
+ 'GitHub のトークンが見つかりませんでした。',
36
+ 'CI では GH_TOKEN( GitHub App の installation token )を設定してください。',
37
+ 'ローカルでは `gh auth login` を実行すれば、その認証がそのまま使われます。',
38
+ ].join('\n'));
39
+ };
40
+ export const octokit = new Octokit({ auth: resolveAuthToken() });
5
41
  //# sourceMappingURL=octokit.mjs.map
@@ -1 +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"}
1
+ {"version":3,"file":"octokit.mjs","sourceRoot":"","sources":["../../src/github/octokit.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,gBAAgB,GAAG,GAAW,EAAE;IACpC,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAEvC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAC;QACH,+CAA+C;QAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;YACnD,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAE5B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;IAED,MAAM,IAAI,KAAK,CACb;QACE,0BAA0B;QAC1B,6DAA6D;QAC7D,+CAA+C;KAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { PagesSettings } from '../constants.mjs';
2
+ /**
3
+ * GitHub Pages の現在の設定を取得する。
4
+ *
5
+ * Pages が未設定の repository では 404 が返るため、その場合は `undefined` を返す。
6
+ */
7
+ export declare const getPagesSettings: () => Promise<PagesSettings | undefined>;
8
+ //# sourceMappingURL=get-pages-settings.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-pages-settings.d.mts","sourceRoot":"","sources":["../../../../src/github/pages/api/get-pages-settings.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAC/C,aAAa,GAAG,SAAS,CAuB1B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
2
+ import { octokit } from '../../octokit.mjs';
3
+ import { PagesSettings } from '../constants.mjs';
4
+ /**
5
+ * GitHub Pages の現在の設定を取得する。
6
+ *
7
+ * Pages が未設定の repository では 404 が返るため、その場合は `undefined` を返す。
8
+ */
9
+ export const getPagesSettings = async () => {
10
+ try {
11
+ // https://docs.github.com/rest/pages/pages#get-a-apiname-pages-site
12
+ const response = await octokit.request('GET /repos/{owner}/{repo}/pages', { owner: OWNER, repo: REPO, headers: octokitHeaders });
13
+ // eslint-disable-next-line unicorn/no-array-fill-with-reference-type
14
+ return PagesSettings.fill({ build_type: response.data.build_type });
15
+ }
16
+ catch (error) {
17
+ if (typeof error === 'object' &&
18
+ error !== null &&
19
+ Object.hasOwn(error, 'status') &&
20
+ error.status === 404) {
21
+ return undefined;
22
+ }
23
+ throw error;
24
+ }
25
+ };
26
+ //# sourceMappingURL=get-pages-settings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-pages-settings.mjs","sourceRoot":"","sources":["../../../../src/github/pages/api/get-pages-settings.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAEnC,EAAE;IACF,IAAI,CAAC;QACH,oEAAoE;QACpE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CACpC,iCAAwD,EACxD,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,CACtD,CAAC;QAEF,qEAAqE;QACrE,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC7B,KAAwC,CAAC,MAAM,KAAK,GAAG,EACxD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './get-pages-settings.mjs';
2
+ export * from './set-pages-settings.mjs';
3
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/github/pages/api/index.mts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './get-pages-settings.mjs';
2
+ export * from './set-pages-settings.mjs';
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/github/pages/api/index.mts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type PagesSettings } from '../constants.mjs';
2
+ /**
3
+ * GitHub Pages の Source を JSON の内容に合わせる。
4
+ *
5
+ * Pages 未設定なら POST で作成し、設定済みなら PUT で更新する。 これにより
6
+ * 「 Settings > Pages で Source を GitHub Actions に変更する 」という手作業が不要になる。
7
+ */
8
+ export declare const setPagesSettings: (settings: PagesSettings) => Promise<void>;
9
+ //# sourceMappingURL=set-pages-settings.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-pages-settings.d.mts","sourceRoot":"","sources":["../../../../src/github/pages/api/set-pages-settings.mts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,aACjB,aAAa,KACtB,OAAO,CAAC,IAAI,CAgCd,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
2
+ import { octokit } from '../../octokit.mjs';
3
+ import { getPagesSettings } from './get-pages-settings.mjs';
4
+ /**
5
+ * GitHub Pages の Source を JSON の内容に合わせる。
6
+ *
7
+ * Pages 未設定なら POST で作成し、設定済みなら PUT で更新する。 これにより
8
+ * 「 Settings > Pages で Source を GitHub Actions に変更する 」という手作業が不要になる。
9
+ */
10
+ export const setPagesSettings = async (settings) => {
11
+ const current = await getPagesSettings();
12
+ if (current === undefined) {
13
+ // https://docs.github.com/rest/pages/pages#create-a-apiname-pages-site
14
+ await octokit.request('POST /repos/{owner}/{repo}/pages', {
15
+ owner: OWNER,
16
+ repo: REPO,
17
+ headers: octokitHeaders,
18
+ build_type: settings.build_type,
19
+ });
20
+ return;
21
+ }
22
+ if (current.build_type === settings.build_type) {
23
+ return;
24
+ }
25
+ // https://docs.github.com/rest/pages/pages#update-information-about-a-apiname-pages-site
26
+ await octokit.request('PUT /repos/{owner}/{repo}/pages', {
27
+ owner: OWNER,
28
+ repo: REPO,
29
+ headers: octokitHeaders,
30
+ build_type: settings.build_type,
31
+ });
32
+ };
33
+ //# sourceMappingURL=set-pages-settings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-pages-settings.mjs","sourceRoot":"","sources":["../../../../src/github/pages/api/set-pages-settings.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,QAAuB,EACR,EAAE;IACjB,MAAM,OAAO,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAEzC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,uEAAuE;QACvE,MAAM,OAAO,CAAC,OAAO,CACnB,kCAAyD,EACzD;YACE,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,cAAc;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CACF,CAAC;QAEF,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,yFAAyF;IACzF,MAAM,OAAO,CAAC,OAAO,CACnB,iCAAwD,EACxD;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ /**
4
+ * `github/pages/settings.json` を Settings > Pages に反映する。
5
+ *
6
+ * 設定ファイルを置いていない repository では何もしない( Pages を使わない
7
+ * repository で誤って Pages を有効化しないため)。
8
+ */
9
+ export declare const applyPagesSettings: () => Promise<void>;
10
+ //# sourceMappingURL=apply.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/pages/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAcvB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,IAAI,CAgCvD,CAAC"}
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
5
+ import { validationErrorsToMessages } from 'ts-fortress';
6
+ import { formatUncommittedFiles, isDirectlyExecuted, pathExists, Result, } from 'ts-repo-utils';
7
+ import { pagesSettingsDir, settingsJsonName } from '../constants.mjs';
8
+ import { getPagesSettings, setPagesSettings } from './api/index.mjs';
9
+ import { PagesSettings } from './constants.mjs';
10
+ /**
11
+ * `github/pages/settings.json` を Settings > Pages に反映する。
12
+ *
13
+ * 設定ファイルを置いていない repository では何もしない( Pages を使わない
14
+ * repository で誤って Pages を有効化しないため)。
15
+ */
16
+ export const applyPagesSettings = async () => {
17
+ const settingsPath = path.resolve(pagesSettingsDir, settingsJsonName);
18
+ if (!(await pathExists(settingsPath))) {
19
+ return;
20
+ }
21
+ const settings = await readSettings(settingsPath);
22
+ await setPagesSettings(settings);
23
+ // 反映後の実際の値でローカルのファイルを更新する
24
+ {
25
+ const applied = await getPagesSettings();
26
+ if (applied === undefined) {
27
+ return;
28
+ }
29
+ const str = JSON.stringify(applied, undefined, 2);
30
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
31
+ await fs.writeFile(settingsPath, str);
32
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
33
+ await fs.writeFile(path.resolve(pagesSettingsDir, 'bk', settingsJsonName), str);
34
+ await formatUncommittedFiles();
35
+ }
36
+ };
37
+ const readSettings = async (settingsPath) => {
38
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
39
+ const settingsText = await fs.readFile(settingsPath, { encoding: 'utf8' });
40
+ const validationResult = PagesSettings.validate(JSON.parse(settingsText));
41
+ if (Result.isErr(validationResult)) {
42
+ throw new Error(validationErrorsToMessages(validationResult.value).join('\n'));
43
+ }
44
+ return validationResult.value;
45
+ };
46
+ if (isDirectlyExecuted(import.meta.url)) {
47
+ await applyPagesSettings();
48
+ }
49
+ //# sourceMappingURL=apply.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/pages/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,EACV,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,IAAmB,EAAE;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAEtE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;IAElD,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAEjC,0BAA0B;IAC1B,CAAC;QACC,MAAM,OAAO,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAEzC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAElD,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAEtC,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,CAAC,EACtD,GAAG,CACJ,CAAC;QAEF,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EAAE,YAAoB,EAA0B,EAAE;IAC1E,mEAAmE;IACnE,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3E,MAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1E,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,0BAA0B,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9D,CAAC;IACJ,CAAC;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC;AAChC,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,kBAAkB,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ /** Settings > Pages の現在値を `bk/` に保存する。 */
4
+ export declare const backupPagesSettings: (fmt?: boolean) => Promise<void>;
5
+ //# sourceMappingURL=backup.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/pages/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAavB,0CAA0C;AAC1C,eAAO,MAAM,mBAAmB,SACzB,OAAO,KACX,OAAO,CAAC,IAAI,CAsBd,CAAC"}
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ import 'dotenv/config';
3
+ import * as fs from 'node:fs/promises';
4
+ import * as path from 'node:path';
5
+ import { formatUncommittedFiles, isDirectlyExecuted, makeEmptyDir, } from 'ts-repo-utils';
6
+ import { pagesSettingsDir, settingsJsonName } from '../constants.mjs';
7
+ import { getPagesSettings } from './api/index.mjs';
8
+ const backupDir = path.resolve(pagesSettingsDir, './bk');
9
+ /** Settings > Pages の現在値を `bk/` に保存する。 */
10
+ export const backupPagesSettings = async (fmt = true) => {
11
+ await makeEmptyDir(backupDir);
12
+ const settings = await getPagesSettings();
13
+ if (settings === undefined) {
14
+ console.warn('GitHub Pages is not enabled for this repository; skipping backup.');
15
+ return;
16
+ }
17
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
18
+ await fs.writeFile(path.resolve(backupDir, settingsJsonName), JSON.stringify(settings, undefined, 2));
19
+ if (fmt) {
20
+ await formatUncommittedFiles();
21
+ }
22
+ };
23
+ if (isDirectlyExecuted(import.meta.url)) {
24
+ await backupPagesSettings();
25
+ }
26
+ //# sourceMappingURL=backup.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/pages/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAEzD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,GAAG,GAAY,IAAI,EACJ,EAAE;IACjB,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAE1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CACV,mEAAmE,CACpE,CAAC;QAEF,OAAO;IACT,CAAC;IAED,mEAAmE;IACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,EACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CACvC,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,mBAAmB,EAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,42 @@
1
+ import * as t from 'ts-fortress';
2
+ /**
3
+ * `github/pages/settings.json` の型。
4
+ *
5
+ * Settings > Pages > Build and deployment > Source に対応する。
6
+ * `workflow` が GUI 上の「 GitHub Actions 」、 `legacy` が「 Deploy from a branch 」。
7
+ */
8
+ export declare const PagesSettings: Readonly<{
9
+ typeName: string;
10
+ defaultValue: Readonly<{
11
+ build_type: "legacy" | "workflow";
12
+ }>;
13
+ is: (a: unknown) => a is Readonly<{
14
+ build_type: "legacy" | "workflow";
15
+ }>;
16
+ assertIs: (a: unknown) => asserts a is Readonly<{
17
+ build_type: "legacy" | "workflow";
18
+ }>;
19
+ cast: (a: unknown) => Readonly<{
20
+ build_type: "legacy" | "workflow";
21
+ }>;
22
+ fill: (a: unknown) => Readonly<{
23
+ build_type: "legacy" | "workflow";
24
+ }>;
25
+ prune: <B extends Readonly<{
26
+ build_type: "legacy" | "workflow";
27
+ }>>(a: B) => Readonly<{
28
+ build_type: "legacy" | "workflow";
29
+ }>;
30
+ validate: (a: unknown) => t.Result<Readonly<{
31
+ build_type: "legacy" | "workflow";
32
+ }>, readonly Readonly<{
33
+ path: readonly string[];
34
+ actualValue: unknown;
35
+ expectedType: string;
36
+ typeName: string;
37
+ details?: t.ValidationErrorDetails | undefined;
38
+ }>[]>;
39
+ optional?: true;
40
+ }>;
41
+ export type PagesSettings = t.TypeOf<typeof PagesSettings>;
42
+ //# sourceMappingURL=constants.d.mts.map
@@ -0,0 +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"}
@@ -0,0 +1,14 @@
1
+ import * as t from 'ts-fortress';
2
+ /**
3
+ * `github/pages/settings.json` の型。
4
+ *
5
+ * Settings > Pages > Build and deployment > Source に対応する。
6
+ * `workflow` が GUI 上の「 GitHub Actions 」、 `legacy` が「 Deploy from a branch 」。
7
+ */
8
+ export const PagesSettings = t.record({
9
+ build_type: t.enumType(['workflow', 'legacy'], {
10
+ typeName: 'PagesBuildType',
11
+ defaultValue: 'workflow',
12
+ }),
13
+ });
14
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../../src/github/pages/constants.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;QAC7C,QAAQ,EAAE,gBAAgB;QAC1B,YAAY,EAAE,UAAU;KACzB,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './api/index.mjs';
2
+ export * from './apply.mjs';
3
+ export * from './backup.mjs';
4
+ export * from './constants.mjs';
5
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../src/github/pages/index.mts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './api/index.mjs';
2
+ export * from './apply.mjs';
3
+ export * from './backup.mjs';
4
+ export * from './constants.mjs';
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../src/github/pages/index.mts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
@@ -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,GAAU,0dA4BpC,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;AAI5B,eAAO,MAAM,gBAAgB,6dA4B1B,QAAQ,CAAC;IACV,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAAC,KAAG,OAAO,CAAC,IAAI,CAiChB,CAAC"}
@@ -1 +1 @@
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
+ {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/repository/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAoBvB,eAAO,MAAM,uBAAuB,QAAa,OAAO,CAAC,IAAI,CA4D5D,CAAC"}
@@ -5,7 +5,7 @@ import * as path from 'node:path';
5
5
  import { Obj } from 'ts-data-forge';
6
6
  import { validationErrorsToMessages } from 'ts-fortress';
7
7
  import { formatUncommittedFiles, isDirectlyExecuted, Result, } from 'ts-repo-utils';
8
- import { repositorySettingsDir, repositorySettingsJsonName, } from '../constants.mjs';
8
+ import { repositorySettingsDir, settingsJsonName } from '../constants.mjs';
9
9
  import { getRepositorySettings, updateRepository } from './api/index.mjs';
10
10
  import { backupRepositorySettings } from './backup.mjs';
11
11
  import { repositoryKeysToPick, RepositoryPicked, } from './constants.mjs';
@@ -47,15 +47,15 @@ export const applyRepositorySettings = async () => {
47
47
  const repositorySettings = await getRepositorySettings();
48
48
  const str = JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2);
49
49
  // eslint-disable-next-line security/detect-non-literal-fs-filename
50
- await fs.writeFile(path.resolve(repositorySettingsDir, repositorySettingsJsonName), str);
50
+ await fs.writeFile(path.resolve(repositorySettingsDir, settingsJsonName), str);
51
51
  // eslint-disable-next-line security/detect-non-literal-fs-filename
52
- await fs.writeFile(path.resolve(repositorySettingsDir, 'bk', repositorySettingsJsonName), str);
52
+ await fs.writeFile(path.resolve(repositorySettingsDir, 'bk', settingsJsonName), str);
53
53
  await formatUncommittedFiles();
54
54
  }
55
55
  };
56
56
  const readSettings = async () => {
57
57
  // eslint-disable-next-line security/detect-non-literal-fs-filename
58
- const settingsText = await fs.readFile(path.resolve(repositorySettingsDir, repositorySettingsJsonName), {
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));
@@ -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":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAEL,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,IAAmB,EAAE;IAC/D,MAAM,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IAEtC,MAAM,gBAAgB,CAAC;QACrB,OAAO,EAAE;YACP,uBAAuB;YACvB,kDAAkD;YAClD,4CAA4C;YAC5C,6BAA6B;YAC7B,uEAAuE;YACvE,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;YACrD,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,qCAAqC;YACrC,2CAA2C;YAC3C,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;YACvD,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;YACjD,8BAA8B,EAAE,QAAQ,CAAC,8BAA8B;YACvE,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB;YAC7D,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;YACjE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;YACnD,+BAA+B;YAC/B,8FAA8F;YAC9F,yCAAyC;YACzC,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;SACJ;KAChE,CAAC,CAAC;IAEH,4BAA4B;IAC5B,CAAC;QACC,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,EAAE,CAAC;QAEzD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CACxB,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,EAClD,SAAS,EACT,CAAC,CACF,CAAC;QAEF,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,EACrD,GAAG,CACJ,CAAC;QAEF,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAC3D,GAAG,CACJ,CAAC;QAEF,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,IAA+B,EAAE;IACzD,mEAAmE;IACnE,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CACpC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,EACrD;QACE,QAAQ,EAAE,MAAM;KACjB,CACF,CAAC;IAEF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAE7E,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,0BAA0B,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9D,CAAC;IACJ,CAAC;IAED,OAAO,gBAAgB,CAAC,KAAK,CAAC;AAChC,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,uBAAuB,EAAE,CAAC;AAClC,CAAC"}
@@ -1 +1 @@
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
+ {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/repository/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAevB,eAAO,MAAM,wBAAwB,SAC9B,OAAO,KACX,OAAO,CAAC,IAAI,CAkBd,CAAC"}
@@ -4,7 +4,7 @@ import * as fs from 'node:fs/promises';
4
4
  import * as path from 'node:path';
5
5
  import { Obj } from 'ts-data-forge';
6
6
  import { formatUncommittedFiles, isDirectlyExecuted, makeEmptyDir, } from 'ts-repo-utils';
7
- import { repositorySettingsDir, repositorySettingsJsonName, } from '../constants.mjs';
7
+ import { repositorySettingsDir, settingsJsonName } from '../constants.mjs';
8
8
  import { getRepositorySettings } from './api/index.mjs';
9
9
  import { repositoryKeysToPick } from './constants.mjs';
10
10
  const backupDir = path.resolve(repositorySettingsDir, './bk');
@@ -12,7 +12,7 @@ export const backupRepositorySettings = async (fmt = true) => {
12
12
  await makeEmptyDir(backupDir);
13
13
  const repositorySettings = await getRepositorySettings();
14
14
  // eslint-disable-next-line security/detect-non-literal-fs-filename
15
- await fs.writeFile(path.resolve(backupDir, repositorySettingsJsonName), JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2));
15
+ await fs.writeFile(path.resolve(backupDir, settingsJsonName), JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2));
16
16
  if (fmt) {
17
17
  await formatUncommittedFiles();
18
18
  }
@@ -1 +1 @@
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
+ {"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,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,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,GAAG,GAAY,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,gBAAgB,CAAC,EACzC,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,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,wBAAwB,EAAE,CAAC;AACnC,CAAC"}