github-settings-as-code 3.2.0 → 4.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 (123) hide show
  1. package/README.md +17 -15
  2. package/dist/cmd/repo-settings.mjs +4 -2
  3. package/dist/cmd/repo-settings.mjs.map +1 -1
  4. package/dist/github/actions-settings/apply.d.mts.map +1 -1
  5. package/dist/github/actions-settings/apply.mjs +0 -4
  6. package/dist/github/actions-settings/apply.mjs.map +1 -1
  7. package/dist/github/actions-settings/backup.d.mts +1 -1
  8. package/dist/github/actions-settings/backup.d.mts.map +1 -1
  9. package/dist/github/actions-settings/backup.mjs +4 -4
  10. package/dist/github/actions-settings/backup.mjs.map +1 -1
  11. package/dist/github/actions-settings/constants.d.mts +1 -1
  12. package/dist/github/clear-json-files.d.mts +17 -0
  13. package/dist/github/clear-json-files.d.mts.map +1 -0
  14. package/dist/github/clear-json-files.mjs +29 -0
  15. package/dist/github/clear-json-files.mjs.map +1 -0
  16. package/dist/github/constants.d.mts +1 -0
  17. package/dist/github/constants.d.mts.map +1 -1
  18. package/dist/github/constants.mjs +1 -0
  19. package/dist/github/constants.mjs.map +1 -1
  20. package/dist/github/environments/api/get-environments.d.mts +1 -1
  21. package/dist/github/environments/apply.d.mts +3 -3
  22. package/dist/github/environments/apply.d.mts.map +1 -1
  23. package/dist/github/environments/apply.mjs +5 -9
  24. package/dist/github/environments/apply.mjs.map +1 -1
  25. package/dist/github/environments/backup.d.mts +6 -1
  26. package/dist/github/environments/backup.d.mts.map +1 -1
  27. package/dist/github/environments/backup.mjs +11 -5
  28. package/dist/github/environments/backup.mjs.map +1 -1
  29. package/dist/github/environments/constants.d.mts +1 -1
  30. package/dist/github/environments/read-environment-contents.d.mts +0 -1
  31. package/dist/github/environments/read-environment-contents.d.mts.map +1 -1
  32. package/dist/github/environments/read-environment-contents.mjs +0 -1
  33. package/dist/github/environments/read-environment-contents.mjs.map +1 -1
  34. package/dist/github/index.d.mts +2 -0
  35. package/dist/github/index.d.mts.map +1 -1
  36. package/dist/github/index.mjs +2 -0
  37. package/dist/github/index.mjs.map +1 -1
  38. package/dist/github/pages/apply.d.mts.map +1 -1
  39. package/dist/github/pages/apply.mjs +0 -2
  40. package/dist/github/pages/apply.mjs.map +1 -1
  41. package/dist/github/pages/backup.d.mts +11 -1
  42. package/dist/github/pages/backup.d.mts.map +1 -1
  43. package/dist/github/pages/backup.mjs +18 -5
  44. package/dist/github/pages/backup.mjs.map +1 -1
  45. package/dist/github/repository/apply.d.mts.map +1 -1
  46. package/dist/github/repository/apply.mjs +0 -4
  47. package/dist/github/repository/apply.mjs.map +1 -1
  48. package/dist/github/repository/backup.d.mts.map +1 -1
  49. package/dist/github/repository/backup.mjs +4 -4
  50. package/dist/github/repository/backup.mjs.map +1 -1
  51. package/dist/github/ruleset/apply.d.mts.map +1 -1
  52. package/dist/github/ruleset/apply.mjs +9 -9
  53. package/dist/github/ruleset/apply.mjs.map +1 -1
  54. package/dist/github/ruleset/backup.d.mts +7 -0
  55. package/dist/github/ruleset/backup.d.mts.map +1 -1
  56. package/dist/github/ruleset/backup.mjs +20 -7
  57. package/dist/github/ruleset/backup.mjs.map +1 -1
  58. package/dist/github/ruleset/read-rule-set-contents.d.mts +0 -1
  59. package/dist/github/ruleset/read-rule-set-contents.d.mts.map +1 -1
  60. package/dist/github/ruleset/read-rule-set-contents.mjs +0 -1
  61. package/dist/github/ruleset/read-rule-set-contents.mjs.map +1 -1
  62. package/dist/github/settings-file-path.d.mts +14 -0
  63. package/dist/github/settings-file-path.d.mts.map +1 -0
  64. package/dist/github/settings-file-path.mjs +41 -0
  65. package/dist/github/settings-file-path.mjs.map +1 -0
  66. package/dist/github/variables/api/list-repo-variables.d.mts.map +1 -1
  67. package/dist/github/variables/api/list-repo-variables.mjs +3 -1
  68. package/dist/github/variables/api/list-repo-variables.mjs.map +1 -1
  69. package/dist/github/variables/apply.d.mts +9 -0
  70. package/dist/github/variables/apply.d.mts.map +1 -1
  71. package/dist/github/variables/apply.mjs +31 -17
  72. package/dist/github/variables/apply.mjs.map +1 -1
  73. package/dist/github/variables/backup.d.mts +20 -0
  74. package/dist/github/variables/backup.d.mts.map +1 -0
  75. package/dist/github/variables/backup.mjs +35 -0
  76. package/dist/github/variables/backup.mjs.map +1 -0
  77. package/dist/github/variables/constants.d.mts +65 -0
  78. package/dist/github/variables/constants.d.mts.map +1 -0
  79. package/dist/github/variables/constants.mjs +48 -0
  80. package/dist/github/variables/constants.mjs.map +1 -0
  81. package/dist/github/variables/index.d.mts +2 -0
  82. package/dist/github/variables/index.d.mts.map +1 -1
  83. package/dist/github/variables/index.mjs +2 -0
  84. package/dist/github/variables/index.mjs.map +1 -1
  85. package/dist/github/vulnerability-alerts/apply.d.mts.map +1 -1
  86. package/dist/github/vulnerability-alerts/apply.mjs +0 -2
  87. package/dist/github/vulnerability-alerts/apply.mjs.map +1 -1
  88. package/dist/github/vulnerability-alerts/backup.d.mts +1 -1
  89. package/dist/github/vulnerability-alerts/backup.d.mts.map +1 -1
  90. package/dist/github/vulnerability-alerts/backup.mjs +4 -4
  91. package/dist/github/vulnerability-alerts/backup.mjs.map +1 -1
  92. package/package.json +29 -28
  93. package/src/cmd/repo-settings.mts +5 -2
  94. package/src/github/actions-settings/apply.mts +0 -9
  95. package/src/github/actions-settings/backup.mts +6 -11
  96. package/src/github/actions-settings/constants.mts +1 -1
  97. package/src/github/clear-json-files.mts +31 -0
  98. package/src/github/clear-json-files.test.mts +78 -0
  99. package/src/github/constants.mts +2 -0
  100. package/src/github/environments/api/get-environments.mts +1 -1
  101. package/src/github/environments/apply.mts +8 -13
  102. package/src/github/environments/backup.mts +13 -12
  103. package/src/github/environments/constants.mts +1 -1
  104. package/src/github/environments/read-environment-contents.mts +0 -4
  105. package/src/github/index.mts +2 -0
  106. package/src/github/pages/apply.mts +0 -6
  107. package/src/github/pages/backup.mts +21 -12
  108. package/src/github/repository/apply.mts +0 -9
  109. package/src/github/repository/backup.mts +5 -10
  110. package/src/github/ruleset/apply.mts +10 -18
  111. package/src/github/ruleset/backup.mts +23 -13
  112. package/src/github/ruleset/read-rule-set-contents.mts +0 -4
  113. package/src/github/ruleset/schema.test.mts +0 -13
  114. package/src/github/settings-file-path.mts +51 -0
  115. package/src/github/settings-file-path.test.mts +70 -0
  116. package/src/github/variables/api/list-repo-variables.mts +3 -1
  117. package/src/github/variables/apply.mts +54 -27
  118. package/src/github/variables/backup.mts +47 -0
  119. package/src/github/variables/constants.mts +61 -0
  120. package/src/github/variables/constants.test.mts +110 -0
  121. package/src/github/variables/index.mts +2 -0
  122. package/src/github/vulnerability-alerts/apply.mts +0 -6
  123. package/src/github/vulnerability-alerts/backup.mts +6 -11
package/README.md CHANGED
@@ -21,17 +21,17 @@ npm install -D github-settings-as-code
21
21
  repo-settings <command> [target] [options]
22
22
  ```
23
23
 
24
- | Command | Description |
25
- | -------- | ---------------------------------------------------------------- |
26
- | `apply` | Apply the local settings files to GitHub |
27
- | `backup` | Save the current values on GitHub to the local `bk/` directories |
24
+ | Command | Description |
25
+ | -------- | ---------------------------------------------------------------------- |
26
+ | `apply` | Apply the local settings files to GitHub |
27
+ | `backup` | Re-snapshot the local settings files from the current values on GitHub |
28
28
 
29
29
  | Target | Files | `apply` | `backup` |
30
30
  | --------------- | ------------------------------------------------- | ------- | -------- |
31
31
  | `all` (default) | All of the below | ✅ | ✅ |
32
32
  | `repository` | `repo-settings/repository-settings/settings.json` | ✅ | ✅ |
33
33
  | `rulesets` | `repo-settings/rulesets/*.json` | ✅ | ✅ |
34
- | `variables` | Repository variables | ✅ | — |
34
+ | `variables` | `repo-settings/variables/settings.json` | ✅ | ✅ |
35
35
  | `actions` | `repo-settings/actions-settings/settings.json` | ✅ | ✅ |
36
36
  | `pages` | `repo-settings/pages/settings.json` | ✅ | ✅ |
37
37
 
@@ -42,10 +42,11 @@ repo-settings backup
42
42
  repo-settings apply --owner noshiro-pf --repo ts-repo-utils
43
43
  ```
44
44
 
45
- Each `backup` is written to a `bk/` directory next to the settings file it
46
- mirrors (for example `repo-settings/rulesets/bk/`). `apply` reads the values
47
- back from GitHub afterwards and rewrites the local files with what was actually
48
- applied.
45
+ `backup` rewrites the settings files themselves from what GitHub currently
46
+ has — there is one copy of each resource, not a declaration and a mirror of it.
47
+ `apply` reads the values back from GitHub afterwards and rewrites the files
48
+ with what was actually applied, so a value GitHub canonicalized or refused
49
+ shows up as a diff.
49
50
 
50
51
  ## Resolving the target repository
51
52
 
@@ -76,12 +77,13 @@ under `permissions:`).
76
77
 
77
78
  ## Managed settings
78
79
 
79
- | File | Location on GitHub |
80
- | ------------------------------------------------- | --------------------------------------- |
81
- | `repo-settings/repository-settings/settings.json` | Settings > General |
82
- | `repo-settings/rulesets/*.json` | Settings > Rules > Rulesets |
83
- | `repo-settings/actions-settings/settings.json` | Settings > Actions > General |
84
- | `repo-settings/pages/settings.json` | Settings > Pages > Build and deployment |
80
+ | File | Location on GitHub |
81
+ | ------------------------------------------------- | ------------------------------------------------------ |
82
+ | `repo-settings/repository-settings/settings.json` | Settings > General |
83
+ | `repo-settings/rulesets/*.json` | Settings > Rules > Rulesets |
84
+ | `repo-settings/actions-settings/settings.json` | Settings > Actions > General |
85
+ | `repo-settings/pages/settings.json` | Settings > Pages > Build and deployment |
86
+ | `repo-settings/variables/settings.json` | Settings > Secrets and variables > Actions > Variables |
85
87
 
86
88
  In a repository without `repo-settings/pages/settings.json`, Pages is left
87
89
  untouched, so that a repository that does not use Pages never has it enabled by
@@ -10,13 +10,13 @@ const HELP = dedent `
10
10
 
11
11
  Commands:
12
12
  apply [target] ローカルの設定ファイルを GitHub に反映する
13
- backup [target] GitHub の現在値をローカルの bk/ に保存する
13
+ backup [target] GitHub の現在値でローカルの設定ファイルを撮り直す
14
14
 
15
15
  Targets:
16
16
  all すべて(既定)
17
17
  repository repo-settings/repository-settings/settings.json
18
18
  rulesets repo-settings/rulesets/*.json
19
- variables repository variables ( apply のみ )
19
+ variables repo-settings/variables/settings.json
20
20
  actions repo-settings/actions-settings/settings.json
21
21
  pages repo-settings/pages/settings.json
22
22
  environments repo-settings/environments/*.json
@@ -117,9 +117,11 @@ const runners = {
117
117
  await github.backupPagesSettings();
118
118
  await github.backupEnvironments();
119
119
  await github.backupVulnerabilityAlerts();
120
+ await github.backupVariables();
120
121
  },
121
122
  repository: github.backupRepositorySettings,
122
123
  rulesets: github.backupRulesets,
124
+ variables: github.backupVariables,
123
125
  actions: github.backupActionsSettings,
124
126
  pages: github.backupPagesSettings,
125
127
  environments: github.backupEnvironments,
@@ -1 +1 @@
1
- {"version":3,"file":"repo-settings.mjs","sourceRoot":"","sources":["../../src/cmd/repo-settings.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo-settings.mjs","sourceRoot":"","sources":["../../src/cmd/repo-settings.mts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/actions-settings/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAcvB,2FAA2F;AAC3F,eAAO,MAAM,oBAAoB,QAAa,OAAO,CAAC,IAAI,CAwBzD,CAAC"}
1
+ {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/actions-settings/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAavB,2FAA2F;AAC3F,eAAO,MAAM,oBAAoB,QAAa,OAAO,CAAC,IAAI,CAgBzD,CAAC"}
@@ -6,11 +6,9 @@ import * as t from 'ts-fortress';
6
6
  import { formatUncommittedFiles, isDirectlyExecuted, Result, } from 'ts-repo-utils';
7
7
  import { actionsSettingsDir, settingsJsonName } from '../constants.mjs';
8
8
  import { getActionsSettings, setActionsSettings } from './api/index.mjs';
9
- import { backupActionsSettings } from './backup.mjs';
10
9
  import { ActionsSettings } from './constants.mjs';
11
10
 
12
11
  export const applyActionsSettings = async () => {
13
- await backupActionsSettings(false);
14
12
  const settings = await readSettings();
15
13
  await setActionsSettings(settings);
16
14
 
@@ -19,8 +17,6 @@ export const applyActionsSettings = async () => {
19
17
  const str = JSON.stringify(applied, undefined, 2);
20
18
 
21
19
  await fs.writeFile(path.resolve(actionsSettingsDir, settingsJsonName), str);
22
-
23
- await fs.writeFile(path.resolve(actionsSettingsDir, 'bk', settingsJsonName), str);
24
20
  await formatUncommittedFiles();
25
21
  }
26
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/actions-settings/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;IAC5D,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IAEtC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEnC,0BAA0B;IAC1B,CAAC;QACC,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAElD,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;QAE5E,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,CAAC,EACxD,GAAG,CACJ,CAAC;QAEF,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,IAA8B,EAAE;IACxD,mEAAmE;IACnE,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CACpC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAClD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IAEF,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAE5E,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,CAAC,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,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,oBAAoB,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/actions-settings/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;IAC5D,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IAEtC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEnC,0BAA0B;IAC1B,CAAC;QACC,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAElD,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;QAE5E,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,IAA8B,EAAE;IACxD,mEAAmE;IACnE,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CACpC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAClD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IAEF,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAE5E,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,CAAC,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,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,oBAAoB,EAAE,CAAC;AAC/B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
- /** Settings > Actions > General の現在値を `bk/` に保存する。 */
3
+ /** Settings > Actions > General の現在値を宣言ファイルへ撮り直す。 */
4
4
  export declare const backupActionsSettings: (fmt?: boolean) => Promise<void>;
5
5
  //# sourceMappingURL=backup.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/actions-settings/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAavB,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,SAC3B,OAAO,KACX,OAAO,CAAC,IAAI,CAcd,CAAC"}
1
+ {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/actions-settings/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAQvB,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,SAC3B,OAAO,KACX,OAAO,CAAC,IAAI,CAcd,CAAC"}
@@ -2,16 +2,16 @@
2
2
  import 'dotenv/config';
3
3
  import * as fs from 'node:fs/promises';
4
4
  import * as path from 'node:path';
5
- import { formatUncommittedFiles, isDirectlyExecuted, makeEmptyDir, } from 'ts-repo-utils';
5
+ import { formatUncommittedFiles, isDirectlyExecuted } from 'ts-repo-utils';
6
+ import { clearJsonFilesIn } from '../clear-json-files.mjs';
6
7
  import { actionsSettingsDir, settingsJsonName } from '../constants.mjs';
7
8
  import { getActionsSettings } from './api/index.mjs';
8
- const backupDir = path.resolve(actionsSettingsDir, './bk');
9
9
 
10
10
  export const backupActionsSettings = async (fmt = true) => {
11
- await makeEmptyDir(backupDir);
12
11
  const settings = await getActionsSettings();
12
+ await clearJsonFilesIn(actionsSettingsDir);
13
13
 
14
- await fs.writeFile(path.resolve(backupDir, settingsJsonName), JSON.stringify(settings, undefined, 2));
14
+ await fs.writeFile(path.resolve(actionsSettingsDir, settingsJsonName), JSON.stringify(settings, undefined, 2));
15
15
  if (fmt) {
16
16
  await formatUncommittedFiles();
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/actions-settings/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,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAE3D,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,GAAG,GAAY,IAAI,EACJ,EAAE;IACjB,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE5C,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,qBAAqB,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/actions-settings/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,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,qDAAqD;AACrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,GAAG,GAAY,IAAI,EACJ,EAAE;IACjB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAE5C,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IAE3C,mEAAmE;IACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAClD,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,qBAAqB,EAAE,CAAC;AAChC,CAAC"}
@@ -149,7 +149,7 @@ export declare const ActionsSettings: Readonly<{
149
149
  * `read` にできるのは、 workflow 側が全て明示的に `permissions` を宣言して
150
150
  * いる場合だけ。宣言の無い job はこの既定値をそのまま受け取るため、
151
151
  * `write` のままだと「 branch の中身が何であれ書き込めるトークン」が
152
- * 渡る。 .github/workflows/type-check.yml 冒頭の注記を参照。
152
+ * 渡る。 .github/workflows/code-check.yml 冒頭の注記を参照。
153
153
  */
154
154
  readonly default_workflow_permissions: Readonly<{
155
155
  typeName: string;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * `dir` の直下の `*.json` を消す。ディレクトリが無ければ作る。
3
+ *
4
+ * backup が書き込む前にこれを呼ぶ。撮り直したあとにそこに在るものが、そのまま
5
+ * 「GitHub から取れたもの」になる — 取れなかった資源は `git status` に削除と
6
+ * して現れる。消さずに上書きするだけだと、取れなかった資源の古いファイルが
7
+ * 残り、取れたのと見分けがつかない。
8
+ *
9
+ * まだ apply していない宣言も同じように削除として現れるが、それも見えた方が
10
+ * よい情報で、コミットしなければ失われない。
11
+ *
12
+ * `rm -rf` ではなく直下の `*.json` に限る。宣言の隣に置いてある README
13
+ * (`repo-settings/variables/README.md`)のような、JSON でない同居ファイルを
14
+ * 巻き込まないため。
15
+ */
16
+ export declare const clearJsonFilesIn: (dir: string) => Promise<void>;
17
+ //# sourceMappingURL=clear-json-files.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clear-json-files.d.mts","sourceRoot":"","sources":["../../src/github/clear-json-files.mts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,QAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAYhE,CAAC"}
@@ -0,0 +1,29 @@
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ export const clearJsonFilesIn = async (dir) => {
19
+
20
+ await fs.mkdir(dir, { recursive: true });
21
+
22
+ const entries = await fs.readdir(dir, { withFileTypes: true });
23
+ for (const entry of entries) {
24
+ if (entry.isFile() && entry.name.endsWith('.json')) {
25
+ await fs.rm(path.resolve(dir, entry.name));
26
+ }
27
+ }
28
+ };
29
+ //# sourceMappingURL=clear-json-files.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clear-json-files.mjs","sourceRoot":"","sources":["../../src/github/clear-json-files.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;IACnE,mEAAmE;IACnE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,mEAAmE;IACnE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -7,6 +7,7 @@ export declare const pagesSettingsDir: string;
7
7
  export declare const environmentsDir: string;
8
8
  export declare const vulnerabilityAlertsDir: string;
9
9
  export declare const rulesetsDir: string;
10
+ export declare const variablesDir: string;
10
11
  export declare const octokitHeaders: {
11
12
  readonly 'X-GitHub-Api-Version': '2022-11-28';
12
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAKA,eAAO,MAAM,KAAK,EAAE,MAAyB,CAAC;AAE9C,eAAO,MAAM,IAAI,EAAE,MAAwB,CAAC;AAM5C,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD,eAAO,MAAM,qBAAqB,QAGjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAG9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AAErE,eAAO,MAAM,eAAe,QAA8C,CAAC;AAE3E,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AAEF,eAAO,MAAM,WAAW,QAA0C,CAAC;AAEnE,eAAO,MAAM,cAAc;aACzB,sBAAsB,EAAE,YAAY;CAC5B,CAAC"}
1
+ {"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAKA,eAAO,MAAM,KAAK,EAAE,MAAyB,CAAC;AAE9C,eAAO,MAAM,IAAI,EAAE,MAAwB,CAAC;AAM5C,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD,eAAO,MAAM,qBAAqB,QAGjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAG9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AAErE,eAAO,MAAM,eAAe,QAA8C,CAAC;AAE3E,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AAEF,eAAO,MAAM,WAAW,QAA0C,CAAC;AAEnE,eAAO,MAAM,YAAY,QAA2C,CAAC;AAErE,eAAO,MAAM,cAAc;aACzB,sBAAsB,EAAE,YAAY;CAC5B,CAAC"}
@@ -13,6 +13,7 @@ export const pagesSettingsDir = path.resolve(settingsDir, './pages');
13
13
  export const environmentsDir = path.resolve(settingsDir, './environments');
14
14
  export const vulnerabilityAlertsDir = path.resolve(settingsDir, './vulnerability-alerts');
15
15
  export const rulesetsDir = path.resolve(settingsDir, './rulesets');
16
+ export const variablesDir = path.resolve(settingsDir, './variables');
16
17
  export const octokitHeaders = {
17
18
  'X-GitHub-Api-Version': '2022-11-28',
18
19
  };
@@ -1 +1 @@
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,yEAAyE;AACzE,iEAAiE;AACjE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAC/C,WAAW,EACX,uBAAuB,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAC5C,WAAW,EACX,oBAAoB,CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAChD,WAAW,EACX,wBAAwB,CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAEnE,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,yEAAyE;AACzE,iEAAiE;AACjE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAC/C,WAAW,EACX,uBAAuB,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAC5C,WAAW,EACX,oBAAoB,CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAChD,WAAW,EACX,wBAAwB,CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,sBAAsB,EAAE,YAAY;CAC5B,CAAC"}
@@ -3,7 +3,7 @@ import { EnvironmentSettings } from '../constants.mjs';
3
3
  * Settings > Environments の現在値を、宣言ファイルと同じ形にして返す。
4
4
  *
5
5
  * 名前順に整える。 GitHub が返す順は作成順で、環境を 1 つ足しただけで
6
- * `bk/` の中身が並び替わると差分が読めなくなるため。
6
+ * 宣言ファイルの中身が並び替わると差分が読めなくなるため。
7
7
  */
8
8
  export declare const getAllEnvironments: () => Promise<readonly EnvironmentSettings[]>;
9
9
  /** 「 Selected branches and tags 」に登録されている pattern を列挙する。 */
@@ -3,9 +3,9 @@ import 'dotenv/config';
3
3
  /**
4
4
  * `repo-settings/environments/*.json` を Settings > Environments に反映する。
5
5
  *
6
- * ruleset と同じく、宣言に無い環境は消さない。 GUI で作られたものが `bk/` に
7
- * 現れることが drift の見え方であって、 apply が黙って片付けてしまうと
8
- * 「いつ誰が何を作ったか」を見る機会がなくなる。
6
+ * ruleset と同じく、宣言に無い環境は消さない。 GUI で作られたものは drift
7
+ * 検査が報せるのであって、 apply が黙って片付けてしまうと「いつ誰が何を
8
+ * 作ったか」を見る機会がなくなる。
9
9
  */
10
10
  export declare const applyEnvironments: () => Promise<void>;
11
11
  //# sourceMappingURL=apply.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/environments/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAWvB;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,IAAI,CAgCtD,CAAC"}
1
+ {"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/environments/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAUvB;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,IAAI,CA4BtD,CAAC"}
@@ -1,12 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
3
  import * as fs from 'node:fs/promises';
4
- import * as path from 'node:path';
5
4
  import { Arr } from 'ts-data-forge';
6
- import { isDirectlyExecuted } from 'ts-repo-utils';
5
+ import { formatUncommittedFiles, isDirectlyExecuted } from 'ts-repo-utils';
7
6
  import { environmentsDir } from '../constants.mjs';
7
+ import { settingsFilePath } from '../settings-file-path.mjs';
8
8
  import { getAllEnvironments, setEnvironment } from './api/index.mjs';
9
- import { backupEnvironments } from './backup.mjs';
10
9
  import { readEnvironmentFiles } from './read-environment-contents.mjs';
11
10
 
12
11
 
@@ -16,7 +15,6 @@ import { readEnvironmentFiles } from './read-environment-contents.mjs';
16
15
 
17
16
 
18
17
  export const applyEnvironments = async () => {
19
- await backupEnvironments(false);
20
18
  const environments = await readEnvironmentFiles();
21
19
  for (const environment of environments) {
22
20
  assertConsistent(environment);
@@ -30,12 +28,10 @@ export const applyEnvironments = async () => {
30
28
  for (const environment of applied) {
31
29
  const str = JSON.stringify(environment, undefined, 2);
32
30
 
33
- await fs.writeFile(path.resolve(environmentsDir, `${environment.name}.json`), str);
34
- }
35
-
36
31
 
37
-
38
- await backupEnvironments();
32
+ await fs.writeFile(settingsFilePath(environmentsDir, environment.name), str);
33
+ }
34
+ await formatUncommittedFiles();
39
35
  }
40
36
  };
41
37
 
@@ -1 +1 @@
1
- {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/environments/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,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IACzD,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhC,MAAM,YAAY,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAElD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,0BAA0B;IAC1B,CAAC;QACC,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAE3C,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAEtD,mEAAmE;YACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,WAAW,CAAC,IAAI,OAAO,CAAC,EACzD,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,qDAAqD;QACrD,oCAAoC;QACpC,gBAAgB;QAChB,MAAM,kBAAkB,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,WAAgC,EAAQ,EAAE;IAClE,MAAM,MAAM,GACV,WAAW,CAAC,wBAAwB,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAExE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb;YACE,OAAO,WAAW,CAAC,IAAI,0CAA0C;YACjE,iEAAiE;YACjE,wDAAwD;SACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,gDAAgD;IAChD,mBAAmB;IACnB,IAAI,MAAM,IAAI,WAAW,CAAC,wBAAwB,CAAC,kBAAkB,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,OAAO,WAAW,CAAC,IAAI,kEAAkE,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,iBAAiB,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/environments/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IACzD,MAAM,YAAY,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAElD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,0BAA0B;IAC1B,CAAC;QACC,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAE3C,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAEtD,0DAA0D;YAC1D,mEAAmE;YACnE,MAAM,EAAE,CAAC,SAAS,CAChB,gBAAgB,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,EACnD,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,MAAM,sBAAsB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,WAAgC,EAAQ,EAAE;IAClE,MAAM,MAAM,GACV,WAAW,CAAC,wBAAwB,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAExE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb;YACE,OAAO,WAAW,CAAC,IAAI,0CAA0C;YACjE,iEAAiE;YACjE,wDAAwD;SACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,gDAAgD;IAChD,mBAAmB;IACnB,IAAI,MAAM,IAAI,WAAW,CAAC,wBAAwB,CAAC,kBAAkB,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,OAAO,WAAW,CAAC,IAAI,kEAAkE,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,iBAAiB,EAAE,CAAC;AAC5B,CAAC"}
@@ -1,5 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
- /** Settings > Environments の現在値を `bk/` に保存する。 */
3
+ /**
4
+ * Settings > Environments の現在値を宣言ファイルへ撮り直す。
5
+ *
6
+ * ruleset と同じく、先に直下の `*.json` を消してから書く。理由は
7
+ * {@link clearJsonFilesIn} を参照。
8
+ */
4
9
  export declare const backupEnvironments: (fmt?: boolean) => Promise<void>;
5
10
  //# sourceMappingURL=backup.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/environments/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAavB,iDAAiD;AACjD,eAAO,MAAM,kBAAkB,SACxB,OAAO,KACX,OAAO,CAAC,IAAI,CAgBd,CAAC"}
1
+ {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/environments/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAQvB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,SACxB,OAAO,KACX,OAAO,CAAC,IAAI,CAiBd,CAAC"}
@@ -1,18 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
3
  import * as fs from 'node:fs/promises';
4
- import * as path from 'node:path';
5
- import { formatUncommittedFiles, isDirectlyExecuted, makeEmptyDir, } from 'ts-repo-utils';
4
+ import { formatUncommittedFiles, isDirectlyExecuted } from 'ts-repo-utils';
5
+ import { clearJsonFilesIn } from '../clear-json-files.mjs';
6
6
  import { environmentsDir } from '../constants.mjs';
7
+ import { settingsFilePath } from '../settings-file-path.mjs';
7
8
  import { getAllEnvironments } from './api/index.mjs';
8
- const backupDir = path.resolve(environmentsDir, './bk');
9
+
10
+
11
+
12
+
13
+
9
14
 
10
15
  export const backupEnvironments = async (fmt = true) => {
11
- await makeEmptyDir(backupDir);
12
16
  const environments = await getAllEnvironments();
17
+ await clearJsonFilesIn(environmentsDir);
13
18
  for (const environment of environments) {
14
19
 
15
- await fs.writeFile(path.resolve(backupDir, `${environment.name}.json`), JSON.stringify(environment, undefined, 2));
20
+
21
+ await fs.writeFile(settingsFilePath(environmentsDir, environment.name), JSON.stringify(environment, undefined, 2));
16
22
  }
17
23
  if (fmt) {
18
24
  await formatUncommittedFiles();
@@ -1 +1 @@
1
- {"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/environments/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,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAExD,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,GAAG,GAAY,IAAI,EACJ,EAAE;IACjB,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAEhD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,WAAW,CAAC,IAAI,OAAO,CAAC,EACnD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,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,kBAAkB,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/environments/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,GAAG,GAAY,IAAI,EACJ,EAAE;IACjB,MAAM,YAAY,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAEhD,MAAM,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAExC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,0DAA0D;QAC1D,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAChB,gBAAgB,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,EACnD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,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,kBAAkB,EAAE,CAAC;AAC7B,CAAC"}
@@ -303,7 +303,7 @@ export declare const EnvironmentSettings: Readonly<{
303
303
  /**
304
304
  * `custom_branch_policies` が `true` のときの pattern 一覧。
305
305
  *
306
- * それ以外のときは空配列でなければならない ( `applyEnvironments` が拒否する )。
306
+ * それ以外のときは空配列でなければならない(`applyEnvironments` が拒否する)。
307
307
  * GitHub 側は別エンドポイントだが、「どの ref から deploy できるか」を
308
308
  * 決めているのは選択と pattern の組で、片方だけ見ても意味を成さない。
309
309
  */
@@ -1,4 +1,3 @@
1
1
  import { EnvironmentSettings } from './constants.mjs';
2
2
  export declare const readEnvironmentFiles: () => Promise<readonly EnvironmentSettings[]>;
3
- export declare const readEnvironmentBackupFiles: () => Promise<readonly EnvironmentSettings[]>;
4
3
  //# sourceMappingURL=read-environment-contents.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-environment-contents.d.mts","sourceRoot":"","sources":["../../../src/github/environments/read-environment-contents.mts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAO,MAAM,oBAAoB,QAAa,OAAO,CACnD,SAAS,mBAAmB,EAAE,CACC,CAAC;AAElC,eAAO,MAAM,0BAA0B,QAAa,OAAO,CACzD,SAAS,mBAAmB,EAAE,CACuB,CAAC"}
1
+ {"version":3,"file":"read-environment-contents.d.mts","sourceRoot":"","sources":["../../../src/github/environments/read-environment-contents.mts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAO,MAAM,oBAAoB,QAAa,OAAO,CACnD,SAAS,mBAAmB,EAAE,CACC,CAAC"}
@@ -5,7 +5,6 @@ import { isDirectlyExecuted, Result } from 'ts-repo-utils';
5
5
  import { environmentsDir } from '../constants.mjs';
6
6
  import { EnvironmentSettings } from './constants.mjs';
7
7
  export const readEnvironmentFiles = async () => readFilesIn(environmentsDir);
8
- export const readEnvironmentBackupFiles = async () => readFilesIn(path.resolve(environmentsDir, './bk'));
9
8
  const readFilesIn = async (dir) => {
10
9
 
11
10
  const files = await fs.readdir(dir, {
@@ -1 +1 @@
1
- {"version":3,"file":"read-environment-contents.mjs","sourceRoot":"","sources":["../../../src/github/environments/read-environment-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,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAEvC,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,IAE7C,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AAExD,MAAM,WAAW,GAAG,KAAK,EACvB,GAAW,EAC8B,EAAE;IAC3C,mEAAmE;IACnE,MAAM,KAAK,GAA8B,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7D,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAsB,MAAM,OAAO,CAAC,GAAG,CACvD,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,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAC7D,CACJ,CAAC;IAEF,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACrD,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAClD,CAAC;IAEF,MAAM,UAAU,GAA0B,EAAE,CAAC;IAE7C,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,oBAAoB,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"read-environment-contents.mjs","sourceRoot":"","sources":["../../../src/github/environments/read-environment-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,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAEvC,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;AAElC,MAAM,WAAW,GAAG,KAAK,EACvB,GAAW,EAC8B,EAAE;IAC3C,mEAAmE;IACnE,MAAM,KAAK,GAA8B,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7D,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAsB,MAAM,OAAO,CAAC,GAAG,CACvD,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,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAC7D,CACJ,CAAC;IAEF,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACrD,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAClD,CAAC;IAEF,MAAM,UAAU,GAA0B,EAAE,CAAC;IAE7C,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,oBAAoB,EAAE,CAAC;AAC/B,CAAC"}
@@ -1,10 +1,12 @@
1
1
  export * from './actions-settings/index.mjs';
2
+ export * from './clear-json-files.mjs';
2
3
  export * from './constants.mjs';
3
4
  export * from './environments/index.mjs';
4
5
  export * from './pages/index.mjs';
5
6
  export * from './repository/index.mjs';
6
7
  export * from './resolve-target-repo.mjs';
7
8
  export * from './ruleset/index.mjs';
9
+ export * from './settings-file-path.mjs';
8
10
  export * from './variables/index.mjs';
9
11
  export * from './vulnerability-alerts/index.mjs';
10
12
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
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,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/github/index.mts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC"}
@@ -1,10 +1,12 @@
1
1
  export * from './actions-settings/index.mjs';
2
+ export * from './clear-json-files.mjs';
2
3
  export * from './constants.mjs';
3
4
  export * from './environments/index.mjs';
4
5
  export * from './pages/index.mjs';
5
6
  export * from './repository/index.mjs';
6
7
  export * from './resolve-target-repo.mjs';
7
8
  export * from './ruleset/index.mjs';
9
+ export * from './settings-file-path.mjs';
8
10
  export * from './variables/index.mjs';
9
11
  export * from './vulnerability-alerts/index.mjs';
10
12
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/github/index.mts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/github/index.mts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC"}
@@ -1 +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"}
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,CA0BvD,CAAC"}
@@ -29,8 +29,6 @@ export const applyPagesSettings = async () => {
29
29
  const str = JSON.stringify(applied, undefined, 2);
30
30
 
31
31
  await fs.writeFile(settingsPath, str);
32
-
33
- await fs.writeFile(path.resolve(pagesSettingsDir, 'bk', settingsJsonName), str);
34
32
  await formatUncommittedFiles();
35
33
  }
36
34
  };
@@ -1 +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,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,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,CAAC,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,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"}
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,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,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,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,CAAC,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,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"}
@@ -1,5 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import 'dotenv/config';
3
- /** Settings > Pages の現在値を `bk/` に保存する。 */
3
+ /**
4
+ * Settings > Pages の現在値を宣言ファイルへ撮り直す。
5
+ *
6
+ * **Pages が無効なら宣言も消える。** 他のターゲットと同じ規則にしてある — 撮り
7
+ * 直したあとに在るものが live から取れたものそのもの、という性質を、ここだけ
8
+ * 崩さない。無効になったことが `git status` に削除として出る。
9
+ *
10
+ * 無効化と読み取り失敗を区別できないという弱点は残るが、`getPagesSettings` が
11
+ * `undefined` を返すのは 404 のときだけで、それ以外の失敗は例外になる。消えた
12
+ * 宣言はコミットしなければ失われない。
13
+ */
4
14
  export declare const backupPagesSettings: (fmt?: boolean) => Promise<void>;
5
15
  //# sourceMappingURL=backup.d.mts.map
@@ -1 +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"}
1
+ {"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/pages/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAQvB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,SACzB,OAAO,KACX,OAAO,CAAC,IAAI,CA0Bd,CAAC"}
@@ -2,20 +2,33 @@
2
2
  import 'dotenv/config';
3
3
  import * as fs from 'node:fs/promises';
4
4
  import * as path from 'node:path';
5
- import { formatUncommittedFiles, isDirectlyExecuted, makeEmptyDir, } from 'ts-repo-utils';
5
+ import { formatUncommittedFiles, isDirectlyExecuted } from 'ts-repo-utils';
6
+ import { clearJsonFilesIn } from '../clear-json-files.mjs';
6
7
  import { pagesSettingsDir, settingsJsonName } from '../constants.mjs';
7
8
  import { getPagesSettings } from './api/index.mjs';
8
- const backupDir = path.resolve(pagesSettingsDir, './bk');
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
9
19
 
10
20
  export const backupPagesSettings = async (fmt = true) => {
11
- await makeEmptyDir(backupDir);
12
21
  const settings = await getPagesSettings();
22
+ await clearJsonFilesIn(pagesSettingsDir);
13
23
  if (settings === undefined) {
14
- console.warn('GitHub Pages is not enabled for this repository; skipping backup.');
24
+ console.warn('GitHub Pages is not enabled for this repository; the declaration was removed.');
25
+ if (fmt) {
26
+ await formatUncommittedFiles();
27
+ }
15
28
  return;
16
29
  }
17
30
 
18
- await fs.writeFile(path.resolve(backupDir, settingsJsonName), JSON.stringify(settings, undefined, 2));
31
+ await fs.writeFile(path.resolve(pagesSettingsDir, settingsJsonName), JSON.stringify(settings, undefined, 2));
19
32
  if (fmt) {
20
33
  await formatUncommittedFiles();
21
34
  }