github-settings-as-code 1.1.8 → 1.2.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.
- package/dist/github/constants.d.mts.map +1 -1
- package/dist/github/constants.mjs +21 -12
- package/dist/github/constants.mjs.map +1 -1
- package/dist/github/ruleset/api/create-ruleset.d.mts.map +1 -1
- package/dist/github/ruleset/api/create-ruleset.mjs +3 -1
- package/dist/github/ruleset/api/create-ruleset.mjs.map +1 -1
- package/dist/github/ruleset/api/update-ruleset.d.mts.map +1 -1
- package/dist/github/ruleset/api/update-ruleset.mjs +3 -1
- package/dist/github/ruleset/api/update-ruleset.mjs.map +1 -1
- package/package.json +22 -13
- package/src/github/constants.mts +26 -14
- package/src/github/ruleset/api/create-ruleset.mts +1 -0
- package/src/github/ruleset/api/update-ruleset.mts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AACA,OAAO,eAAe,CAAC;AAQvB,eAAO,MAAM,KAAK,QAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AACA,OAAO,eAAe,CAAC;AAQvB,eAAO,MAAM,KAAK,QAAgB,CAAC;AAgCnC,eAAO,MAAM,IAAI,EAAE,MAA4B,CAAC;AAIhD,eAAO,MAAM,qBAAqB,QAGjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,kBAAkB,CAAC;AAE1D,eAAO,MAAM,WAAW,QAAwC,CAAC;AAEjE,eAAO,MAAM,cAAc;;CAEjB,CAAC"}
|
|
@@ -5,18 +5,27 @@ if (ownerNullable === undefined) {
|
|
|
5
5
|
throw new Error('OWNER env var is not set');
|
|
6
6
|
}
|
|
7
7
|
export const OWNER = ownerNullable;
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
const getRepoName = async () => {
|
|
9
|
+
const repoNameEnv = process.env['REPO_NAME'];
|
|
10
|
+
if (repoNameEnv !== undefined) {
|
|
11
|
+
return repoNameEnv;
|
|
12
|
+
}
|
|
13
|
+
const packageJsonPath = path.resolve(process.cwd(), './package.json');
|
|
14
|
+
const packageJsonStr = await fs.readFile(packageJsonPath, {
|
|
15
|
+
encoding: 'utf8',
|
|
16
|
+
});
|
|
17
|
+
const packageJson = Json.parse(packageJsonStr);
|
|
18
|
+
if (Result.isErr(packageJson)) {
|
|
19
|
+
throw new Error(packageJson.value);
|
|
20
|
+
}
|
|
21
|
+
if (!isRecord(packageJson.value) ||
|
|
22
|
+
!hasKey(packageJson.value, 'name') ||
|
|
23
|
+
!isString(packageJson.value.name)) {
|
|
24
|
+
throw new Error('package.json not parsed correctly');
|
|
25
|
+
}
|
|
26
|
+
return packageJson.value.name;
|
|
27
|
+
};
|
|
28
|
+
export const REPO = await getRepoName();
|
|
20
29
|
const githubDir = path.resolve(process.cwd(), './github');
|
|
21
30
|
export const repositorySettingsDir = path.resolve(githubDir, './repository-settings');
|
|
22
31
|
export const repositorySettingsJsonName = 'settings.json';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,eAAe,CAAC;AAEvB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAE3C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;IAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC;AAEnC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,eAAe,CAAC;AAEvB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAE3C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;IAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC;AAEnC,MAAM,WAAW,GAAG,KAAK,IAAqB,EAAE;IAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAEtE,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE;QACxD,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IACE,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAC5B,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;QAClC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EACjC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAW,MAAM,WAAW,EAAE,CAAC;AAEhD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAC/C,SAAS,EACT,uBAAuB,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,sBAAsB,EAAE,YAAY;CAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-ruleset.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/create-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,oBAAoB,CAAC;AAK5B,eAAO,MAAM,aAAa,GAAU,+EAEjC,QAAQ,CAAC;IACV,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC,KAAG,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"create-ruleset.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/create-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,oBAAoB,CAAC;AAK5B,eAAO,MAAM,aAAa,GAAU,+EAEjC,QAAQ,CAAC;IACV,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC,KAAG,OAAO,CAAC,IAAI,CAqBhB,CAAC"}
|
|
@@ -3,7 +3,9 @@ import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
|
|
|
3
3
|
import { octokit } from '../../octokit.mjs';
|
|
4
4
|
export const createRuleset = async ({ payload: { name, target, enforcement, bypass_actors, conditions, rules }, }) => {
|
|
5
5
|
// https://docs.github.com/ja/rest/repos/rules?apiVersion=2022-11-28#create-a-repository-ruleset
|
|
6
|
-
await octokit.request('POST /repos/{owner}/{repo}/rulesets',
|
|
6
|
+
await octokit.request('POST /repos/{owner}/{repo}/rulesets',
|
|
7
|
+
// transformer-ignore-next-line convert-to-readonly
|
|
8
|
+
{
|
|
7
9
|
owner: OWNER,
|
|
8
10
|
repo: REPO,
|
|
9
11
|
headers: octokitHeaders,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-ruleset.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/create-ruleset.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,GAGxE,EAAiB,EAAE;IACnB,gGAAgG;IAChG,MAAM,OAAO,CAAC,OAAO,CACnB,qCAA4D,
|
|
1
|
+
{"version":3,"file":"create-ruleset.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/create-ruleset.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,GAGxE,EAAiB,EAAE;IACnB,gGAAgG;IAChG,MAAM,OAAO,CAAC,OAAO,CACnB,qCAA4D;IAC5D,mDAAmD;IACnD;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;QAEvB,IAAI;QACJ,MAAM;QACN,WAAW;QACX,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC;QAC7C,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC;QACvC,oEAAoE;QACpE,KAAK,EAAE,eAAe,CACpB,KAAK,CACwC;KAChD,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-ruleset.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/update-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAK5B,eAAO,MAAM,aAAa,GAAU,0FAGjC,QAAQ,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC,KAAG,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"update-ruleset.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/update-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAK5B,eAAO,MAAM,aAAa,GAAU,0FAGjC,QAAQ,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC,KAAG,OAAO,CAAC,IAAI,CAsBhB,CAAC"}
|
|
@@ -3,7 +3,9 @@ import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
|
|
|
3
3
|
import { octokit } from '../../octokit.mjs';
|
|
4
4
|
export const updateRuleset = async ({ rulesetId, payload: { name, target, enforcement, bypass_actors, conditions, rules }, }) => {
|
|
5
5
|
// https://docs.github.com/ja/rest/repos/rules?apiVersion=2022-11-28#update-a-repository-ruleset
|
|
6
|
-
await octokit.request('PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}',
|
|
6
|
+
await octokit.request('PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}',
|
|
7
|
+
// transformer-ignore-next-line convert-to-readonly
|
|
8
|
+
{
|
|
7
9
|
owner: OWNER,
|
|
8
10
|
repo: REPO,
|
|
9
11
|
ruleset_id: rulesetId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-ruleset.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/update-ruleset.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,SAAS,EACT,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,GAIxE,EAAiB,EAAE;IACnB,gGAAgG;IAChG,MAAM,OAAO,CAAC,OAAO,CACnB,iDAAwE,
|
|
1
|
+
{"version":3,"file":"update-ruleset.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/update-ruleset.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,SAAS,EACT,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,GAIxE,EAAiB,EAAE;IACnB,gGAAgG;IAChG,MAAM,OAAO,CAAC,OAAO,CACnB,iDAAwE;IACxE,mDAAmD;IACnD;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,cAAc;QAEvB,IAAI;QACJ,MAAM;QACN,WAAW;QACX,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC;QAC7C,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC;QACvC,oEAAoE;QACpE,KAAK,EAAE,eAAe,CACpB,KAAK,CACwC;KAChD,CACF,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "github-settings-as-code",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"github",
|
|
@@ -34,6 +34,12 @@
|
|
|
34
34
|
"build:min": "tsx ./scripts/cmd/build.mts --skip-check",
|
|
35
35
|
"check:ext": "tsx ./scripts/cmd/check-ext.mts",
|
|
36
36
|
"check-all": "tsx ./scripts/cmd/check-all.mts",
|
|
37
|
+
"codemod": "run-s codemod:uncommitted:as-const fmt codemod:uncommitted:readonly fmt",
|
|
38
|
+
"codemod:full": "run-s codemod:full:as-const fmt codemod:full:readonly fmt",
|
|
39
|
+
"codemod:full:as-const": "append-as-const '{src,scripts,samples}/**/*.{mts,tsx}'",
|
|
40
|
+
"codemod:full:readonly": "convert-to-readonly '{src,scripts,samples}/**/*.{mts,tsx}'",
|
|
41
|
+
"codemod:uncommitted:as-const": "append-as-const --uncommitted '{src,scripts,samples}/**/*.{mts,tsx}'",
|
|
42
|
+
"codemod:uncommitted:readonly": "convert-to-readonly --uncommitted '{src,scripts,samples}/**/*.{mts,tsx}'",
|
|
37
43
|
"cspell": "cspell \"**\" --gitignore --gitignore-root ./ --no-progress",
|
|
38
44
|
"doc": "tsx ./scripts/cmd/gen-docs.mts",
|
|
39
45
|
"fmt": "format-uncommitted",
|
|
@@ -65,9 +71,9 @@
|
|
|
65
71
|
},
|
|
66
72
|
"dependencies": {
|
|
67
73
|
"@octokit/core": "7.0.6",
|
|
68
|
-
"dotenv": "^17.
|
|
74
|
+
"dotenv": "^17.3.1",
|
|
69
75
|
"octokit-safe-types": "^1.2.10",
|
|
70
|
-
"ts-data-forge": "^6.
|
|
76
|
+
"ts-data-forge": "^6.5.0",
|
|
71
77
|
"ts-fortress": "^6.4.0"
|
|
72
78
|
},
|
|
73
79
|
"devDependencies": {
|
|
@@ -75,33 +81,36 @@
|
|
|
75
81
|
"@semantic-release/commit-analyzer": "13.0.1",
|
|
76
82
|
"@semantic-release/exec": "7.1.0",
|
|
77
83
|
"@semantic-release/git": "10.0.1",
|
|
78
|
-
"@semantic-release/github": "12.0.
|
|
79
|
-
"@semantic-release/npm": "13.1.
|
|
84
|
+
"@semantic-release/github": "12.0.6",
|
|
85
|
+
"@semantic-release/npm": "13.1.4",
|
|
80
86
|
"@semantic-release/release-notes-generator": "14.1.0",
|
|
81
|
-
"@types/node": "25.2
|
|
82
|
-
"@vitest/coverage-v8": "4.0.
|
|
83
|
-
"@vitest/ui": "4.0.
|
|
87
|
+
"@types/node": "25.3.2",
|
|
88
|
+
"@vitest/coverage-v8": "4.0.18",
|
|
89
|
+
"@vitest/ui": "4.0.18",
|
|
90
|
+
"cmd-ts": "^0.15.0",
|
|
84
91
|
"conventional-changelog-conventionalcommits": "9.1.0",
|
|
85
92
|
"cspell": "9.6.4",
|
|
93
|
+
"dedent": "^1.7.1",
|
|
86
94
|
"eslint": "9.39.2",
|
|
87
|
-
"eslint-config-typed": "4.6.
|
|
95
|
+
"eslint-config-typed": "4.6.4",
|
|
88
96
|
"jiti": "2.6.1",
|
|
89
97
|
"markdownlint": "0.40.0",
|
|
90
|
-
"markdownlint-cli2": "0.
|
|
98
|
+
"markdownlint-cli2": "0.21.0",
|
|
91
99
|
"npm-run-all2": "8.0.4",
|
|
92
100
|
"playwright": "1.58.2",
|
|
93
101
|
"prettier": "3.8.1",
|
|
94
102
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
95
103
|
"prettier-plugin-packagejson": "3.0.0",
|
|
96
104
|
"semantic-release": "25.0.3",
|
|
105
|
+
"ts-codemod-lib": "^2.0.5",
|
|
97
106
|
"ts-repo-utils": "^8.2.0",
|
|
98
107
|
"ts-type-forge": "2.3.1",
|
|
99
108
|
"tslib": "2.8.1",
|
|
100
109
|
"tsx": "4.21.0",
|
|
101
|
-
"typedoc": "0.28.
|
|
102
|
-
"typedoc-github-theme": "0.
|
|
110
|
+
"typedoc": "0.28.17",
|
|
111
|
+
"typedoc-github-theme": "0.4.0",
|
|
103
112
|
"typescript": "5.9.3",
|
|
104
|
-
"vitest": "4.0.
|
|
113
|
+
"vitest": "4.0.18"
|
|
105
114
|
},
|
|
106
115
|
"packageManager": "pnpm@10.24.0",
|
|
107
116
|
"engines": {
|
package/src/github/constants.mts
CHANGED
|
@@ -9,25 +9,37 @@ if (ownerNullable === undefined) {
|
|
|
9
9
|
|
|
10
10
|
export const OWNER = ownerNullable;
|
|
11
11
|
|
|
12
|
-
const
|
|
12
|
+
const getRepoName = async (): Promise<string> => {
|
|
13
|
+
const repoNameEnv = process.env['REPO_NAME'];
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
if (repoNameEnv !== undefined) {
|
|
16
|
+
return repoNameEnv;
|
|
17
|
+
}
|
|
15
18
|
|
|
16
|
-
const
|
|
19
|
+
const packageJsonPath = path.resolve(process.cwd(), './package.json');
|
|
17
20
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
+
const packageJsonStr = await fs.readFile(packageJsonPath, {
|
|
22
|
+
encoding: 'utf8',
|
|
23
|
+
});
|
|
21
24
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
const packageJson = Json.parse(packageJsonStr);
|
|
26
|
+
|
|
27
|
+
if (Result.isErr(packageJson)) {
|
|
28
|
+
throw new Error(packageJson.value);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (
|
|
32
|
+
!isRecord(packageJson.value) ||
|
|
33
|
+
!hasKey(packageJson.value, 'name') ||
|
|
34
|
+
!isString(packageJson.value.name)
|
|
35
|
+
) {
|
|
36
|
+
throw new Error('package.json not parsed correctly');
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return packageJson.value.name;
|
|
40
|
+
};
|
|
29
41
|
|
|
30
|
-
export const REPO: string =
|
|
42
|
+
export const REPO: string = await getRepoName();
|
|
31
43
|
|
|
32
44
|
const githubDir = path.resolve(process.cwd(), './github');
|
|
33
45
|
|
|
@@ -15,6 +15,7 @@ export const createRuleset = async ({
|
|
|
15
15
|
// https://docs.github.com/ja/rest/repos/rules?apiVersion=2022-11-28#create-a-repository-ruleset
|
|
16
16
|
await octokit.request(
|
|
17
17
|
'POST /repos/{owner}/{repo}/rulesets' satisfies EndpointKeys,
|
|
18
|
+
// transformer-ignore-next-line convert-to-readonly
|
|
18
19
|
{
|
|
19
20
|
owner: OWNER,
|
|
20
21
|
repo: REPO,
|
|
@@ -17,6 +17,7 @@ export const updateRuleset = async ({
|
|
|
17
17
|
// https://docs.github.com/ja/rest/repos/rules?apiVersion=2022-11-28#update-a-repository-ruleset
|
|
18
18
|
await octokit.request(
|
|
19
19
|
'PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}' satisfies EndpointKeys,
|
|
20
|
+
// transformer-ignore-next-line convert-to-readonly
|
|
20
21
|
{
|
|
21
22
|
owner: OWNER,
|
|
22
23
|
repo: REPO,
|