github-settings-as-code 1.2.5 → 1.2.7
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 +0 -1
- package/dist/github/constants.d.mts.map +1 -1
- package/dist/github/constants.mjs +5 -2
- package/dist/github/constants.mjs.map +1 -1
- package/dist/github/repository/api/get-repository.d.mts +0 -1
- package/dist/github/repository/api/get-repository.d.mts.map +1 -1
- package/dist/github/repository/api/get-repository.mjs +1 -1
- package/dist/github/repository/api/get-repository.mjs.map +1 -1
- package/dist/github/repository/apply.d.mts.map +1 -1
- package/dist/github/repository/apply.mjs +6 -1
- package/dist/github/repository/apply.mjs.map +1 -1
- package/dist/github/repository/backup.d.mts.map +1 -1
- package/dist/github/repository/backup.mjs +4 -1
- package/dist/github/repository/backup.mjs.map +1 -1
- package/dist/github/ruleset/api/get-all-rulesets.d.mts +0 -1
- package/dist/github/ruleset/api/get-all-rulesets.d.mts.map +1 -1
- package/dist/github/ruleset/api/get-all-rulesets.mjs +1 -1
- package/dist/github/ruleset/api/get-all-rulesets.mjs.map +1 -1
- package/dist/github/ruleset/api/get-ruleset.d.mts +0 -1
- package/dist/github/ruleset/api/get-ruleset.d.mts.map +1 -1
- package/dist/github/ruleset/api/get-ruleset.mjs +1 -1
- package/dist/github/ruleset/api/get-ruleset.mjs.map +1 -1
- package/dist/github/ruleset/apply.d.mts.map +1 -1
- package/dist/github/ruleset/apply.mjs +5 -1
- package/dist/github/ruleset/apply.mjs.map +1 -1
- package/dist/github/ruleset/backup.d.mts.map +1 -1
- package/dist/github/ruleset/backup.mjs +4 -1
- package/dist/github/ruleset/backup.mjs.map +1 -1
- package/dist/github/ruleset/read-rule-set-contents.d.mts +0 -1
- package/dist/github/ruleset/read-rule-set-contents.d.mts.map +1 -1
- package/dist/github/ruleset/read-rule-set-contents.mjs +7 -2
- package/dist/github/ruleset/read-rule-set-contents.mjs.map +1 -1
- package/dist/github/variables/apply.d.mts +0 -1
- package/dist/github/variables/apply.d.mts.map +1 -1
- package/dist/github/variables/apply.mjs +1 -1
- package/dist/github/variables/apply.mjs.map +1 -1
- package/package.json +20 -20
- package/src/github/constants.mts +5 -2
- package/src/github/repository/api/get-repository.mts +1 -1
- package/src/github/repository/apply.mts +10 -1
- package/src/github/repository/backup.mts +8 -1
- package/src/github/ruleset/api/get-all-rulesets.mts +1 -1
- package/src/github/ruleset/api/get-ruleset.mts +1 -1
- package/src/github/ruleset/apply.mts +5 -1
- package/src/github/ruleset/backup.mts +8 -1
- package/src/github/ruleset/read-rule-set-contents.mts +5 -1
- package/src/github/variables/apply.mts +1 -1
- package/src/globals.d.mts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAWA,eAAO,MAAM,KAAK,QAAgB,CAAC;AAiCnC,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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import '
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { hasKey, isRecord, isString, Json } from 'ts-data-forge';
|
|
4
|
+
import { Result } from 'ts-repo-utils';
|
|
3
5
|
const ownerNullable = process.env['OWNER'];
|
|
4
6
|
if (ownerNullable === undefined) {
|
|
5
7
|
throw new Error('OWNER env var is not set');
|
|
@@ -11,6 +13,7 @@ const getRepoName = async () => {
|
|
|
11
13
|
return repoNameEnv;
|
|
12
14
|
}
|
|
13
15
|
const packageJsonPath = path.resolve(process.cwd(), './package.json');
|
|
16
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
14
17
|
const packageJsonStr = await fs.readFile(packageJsonPath, {
|
|
15
18
|
encoding: 'utf8',
|
|
16
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../../src/github/constants.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-repository.d.mts","sourceRoot":"","sources":["../../../../src/github/repository/api/get-repository.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-repository.d.mts","sourceRoot":"","sources":["../../../../src/github/repository/api/get-repository.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;AAM9E,eAAO,MAAM,qBAAqB,QACtB,OAAO,CAAC,qBAAqB,CAoBtC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GetRepositoryResponse } from 'octokit-safe-types';
|
|
2
2
|
import { validationErrorsToMessages } from 'ts-fortress';
|
|
3
|
-
import 'ts-repo-utils';
|
|
3
|
+
import { Result } from 'ts-repo-utils';
|
|
4
4
|
import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
|
|
5
5
|
import { octokit } from '../../octokit.mjs';
|
|
6
6
|
export const getRepositorySettings = async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-repository.mjs","sourceRoot":"","sources":["../../../../src/github/repository/api/get-repository.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"get-repository.mjs","sourceRoot":"","sources":["../../../../src/github/repository/api/get-repository.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAChC,KAAK,IAAoC,EAAE;IACzC,qFAAqF;IACrF,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,OAAO,CAC/C,2BAAkD,EAClD;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;KACxB,CACF,CAAC;IAEF,CAAC;QACC,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAErE,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/repository/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;
|
|
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,8 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import 'dotenv/config';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
3
5
|
import { Obj } from 'ts-data-forge';
|
|
4
6
|
import { validationErrorsToMessages } from 'ts-fortress';
|
|
5
|
-
import { formatUncommittedFiles } from 'ts-repo-utils';
|
|
7
|
+
import { formatUncommittedFiles, isDirectlyExecuted, Result, } from 'ts-repo-utils';
|
|
6
8
|
import { repositorySettingsDir, repositorySettingsJsonName, } from '../constants.mjs';
|
|
7
9
|
import { getRepositorySettings, updateRepository } from './api/index.mjs';
|
|
8
10
|
import { backupRepositorySettings } from './backup.mjs';
|
|
@@ -44,12 +46,15 @@ export const applyRepositorySettings = async () => {
|
|
|
44
46
|
{
|
|
45
47
|
const repositorySettings = await getRepositorySettings();
|
|
46
48
|
const str = JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2);
|
|
49
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
47
50
|
await fs.writeFile(path.resolve(repositorySettingsDir, repositorySettingsJsonName), str);
|
|
51
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
48
52
|
await fs.writeFile(path.resolve(repositorySettingsDir, 'bk', repositorySettingsJsonName), str);
|
|
49
53
|
await formatUncommittedFiles();
|
|
50
54
|
}
|
|
51
55
|
};
|
|
52
56
|
const readSettings = async () => {
|
|
57
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
53
58
|
const settingsText = await fs.readFile(path.resolve(repositorySettingsDir, repositorySettingsJsonName), {
|
|
54
59
|
encoding: 'utf8',
|
|
55
60
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/repository/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/repository/apply.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/repository/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;
|
|
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,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import 'dotenv/config';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
3
5
|
import { Obj } from 'ts-data-forge';
|
|
4
|
-
import { formatUncommittedFiles, makeEmptyDir } from 'ts-repo-utils';
|
|
6
|
+
import { formatUncommittedFiles, isDirectlyExecuted, makeEmptyDir, } from 'ts-repo-utils';
|
|
5
7
|
import { repositorySettingsDir, repositorySettingsJsonName, } from '../constants.mjs';
|
|
6
8
|
import { getRepositorySettings } from './api/index.mjs';
|
|
7
9
|
import { repositoryKeysToPick } from './constants.mjs';
|
|
@@ -9,6 +11,7 @@ const backupDir = path.resolve(repositorySettingsDir, './bk');
|
|
|
9
11
|
export const backupRepositorySettings = async (fmt = true) => {
|
|
10
12
|
await makeEmptyDir(backupDir);
|
|
11
13
|
const repositorySettings = await getRepositorySettings();
|
|
14
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
12
15
|
await fs.writeFile(path.resolve(backupDir, repositorySettingsJsonName), JSON.stringify(Obj.pick(repositorySettings, repositoryKeysToPick), undefined, 2));
|
|
13
16
|
if (fmt) {
|
|
14
17
|
await formatUncommittedFiles();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/repository/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-all-rulesets.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-all-rulesets.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAIvB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-all-rulesets.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-all-rulesets.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAIvB,MAAM,oBAAoB,CAAC;AAO5B,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,sBAAsB,CA6DrE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { GetAllRulesetsResponse, } from 'octokit-safe-types';
|
|
2
2
|
import { expectType } from 'ts-data-forge';
|
|
3
3
|
import { validationErrorsToMessages } from 'ts-fortress';
|
|
4
|
-
import 'ts-repo-utils';
|
|
4
|
+
import { Result } from 'ts-repo-utils';
|
|
5
5
|
import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
|
|
6
6
|
import { octokit } from '../../octokit.mjs';
|
|
7
7
|
export const getAllRulesets = async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-all-rulesets.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-all-rulesets.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAIvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"get-all-rulesets.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-all-rulesets.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAIvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAqC,EAAE;IACxE,gGAAgG;IAChG,MAAM,sBAAsB,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CACnD,oCAA2D,EAC3D;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,cAAc;KACxB,CACF,CAAwD,CAAC;IAE1D,UAAU,CAuCR,GAAG,CAAC,CAAC;IAEP,CAAC;QACC,MAAM,GAAG,GAAG,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,sBAAsB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-ruleset.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-ruleset.d.mts","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAM3E,eAAO,MAAM,UAAU,GACrB,WAAW,MAAM,KAChB,OAAO,CAAC,kBAAkB,CAqB5B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GetRulesetResponse } from 'octokit-safe-types';
|
|
2
2
|
import { validationErrorsToMessages } from 'ts-fortress';
|
|
3
|
-
import 'ts-repo-utils';
|
|
3
|
+
import { Result } from 'ts-repo-utils';
|
|
4
4
|
import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
|
|
5
5
|
import { octokit } from '../../octokit.mjs';
|
|
6
6
|
export const getRuleset = async (rulesetId) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-ruleset.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"get-ruleset.mjs","sourceRoot":"","sources":["../../../../src/github/ruleset/api/get-ruleset.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,SAAiB,EACY,EAAE;IAC/B,6FAA6F;IAC7F,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,OAAO,CAC5C,iDAAwE,EACxE;QACE,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,cAAc;KACxB,CACF,CAAC;IAEF,CAAC;QACC,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAmBvB,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,IAAI,CAiElD,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import 'dotenv/config';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
3
5
|
import { Obj } from 'ts-data-forge';
|
|
4
|
-
import { formatUncommittedFiles } from 'ts-repo-utils';
|
|
6
|
+
import { formatUncommittedFiles, isDirectlyExecuted } from 'ts-repo-utils';
|
|
5
7
|
import { rulesetsDir } from '../constants.mjs';
|
|
6
8
|
import { createRuleset, getAllRulesets, getRuleset, updateRuleset, } from './api/index.mjs';
|
|
7
9
|
import { backupRulesets } from './backup.mjs';
|
|
@@ -44,7 +46,9 @@ export const applyRulesets = async () => {
|
|
|
44
46
|
for (const rule of rulesetsResult) {
|
|
45
47
|
const content = await getRuleset(rule.id);
|
|
46
48
|
const str = JSON.stringify(Obj.pick(content, rulesetKeysToPick), undefined, 2);
|
|
49
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
47
50
|
await fs.writeFile(path.resolve(rulesetsDir, `${rule.name}.json`), str);
|
|
51
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
48
52
|
await fs.writeFile(path.resolve(rulesetsDir, `./bk/${rule.name}.json`), str);
|
|
49
53
|
}
|
|
50
54
|
await formatUncommittedFiles();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/apply.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"backup.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAevB,eAAO,MAAM,cAAc,GAAU,MAAK,OAAc,KAAG,OAAO,CAAC,IAAI,CAkBtE,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import 'dotenv/config';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
3
5
|
import { Obj } from 'ts-data-forge';
|
|
4
|
-
import { formatUncommittedFiles, makeEmptyDir } from 'ts-repo-utils';
|
|
6
|
+
import { formatUncommittedFiles, isDirectlyExecuted, makeEmptyDir, } from 'ts-repo-utils';
|
|
5
7
|
import { rulesetsDir } from '../constants.mjs';
|
|
6
8
|
import { getAllRulesets, getRuleset } from './api/index.mjs';
|
|
7
9
|
import { rulesetKeysToPick } from './constants.mjs';
|
|
@@ -11,6 +13,7 @@ export const backupRulesets = async (fmt = true) => {
|
|
|
11
13
|
const rulesetsResult = await getAllRulesets();
|
|
12
14
|
for (const rule of rulesetsResult) {
|
|
13
15
|
const content = await getRuleset(rule.id);
|
|
16
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
14
17
|
await fs.writeFile(path.resolve(backupDir, `${rule.name}.json`), JSON.stringify(Obj.pick(content, rulesetKeysToPick), undefined, 2));
|
|
15
18
|
}
|
|
16
19
|
if (fmt) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/backup.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"backup.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/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,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,MAAe,IAAI,EAAiB,EAAE;IACzE,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9B,MAAM,cAAc,GAAG,MAAM,cAAc,EAAE,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1C,mEAAmE;QACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC,EAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,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,cAAc,EAAE,CAAC;AACzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-rule-set-contents.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/read-rule-set-contents.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"read-rule-set-contents.d.mts","sourceRoot":"","sources":["../../../src/github/ruleset/read-rule-set-contents.mts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,SAAS,aAAa,EAAE,CAChD,CAAC;AAE3B,eAAO,MAAM,sBAAsB,QAAa,OAAO,CACrD,SAAS,aAAa,EAAE,CACyB,CAAC"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
1
3
|
import * as t from 'ts-fortress';
|
|
2
|
-
import 'ts-repo-utils';
|
|
4
|
+
import { isDirectlyExecuted, Result } from 'ts-repo-utils';
|
|
3
5
|
import { rulesetsDir } from '../constants.mjs';
|
|
4
6
|
import { RulesetPicked } from './constants.mjs';
|
|
5
7
|
export const readRulesetFiles = async () => readFilesIn(rulesetsDir);
|
|
6
8
|
export const readRulesetBackupFiles = async () => readFilesIn(path.resolve(rulesetsDir, './bk'));
|
|
7
9
|
const readFilesIn = async (dir) => {
|
|
10
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
8
11
|
const files = await fs.readdir(dir, {
|
|
9
12
|
withFileTypes: true,
|
|
10
13
|
});
|
|
11
14
|
const rulesetFileContents = await Promise.all(files
|
|
12
15
|
.filter((d) => d.isFile())
|
|
13
|
-
.map((d) =>
|
|
16
|
+
.map((d) =>
|
|
17
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
18
|
+
fs.readFile(path.resolve(dir, d.name), {
|
|
14
19
|
encoding: 'utf8',
|
|
15
20
|
})));
|
|
16
21
|
const validationResults = rulesetFileContents.map((rule) => RulesetPicked.validate(JSON.parse(rule)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-rule-set-contents.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/read-rule-set-contents.mts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,aAAa,CAAC;AACjC,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"read-rule-set-contents.mjs","sourceRoot":"","sources":["../../../src/github/ruleset/read-rule-set-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,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAuC,EAAE,CAC5E,WAAW,CAAC,WAAW,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,IAEzC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpD,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAqC,EAAE;IAC3E,mEAAmE;IACnE,MAAM,KAAK,GAA8B,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7D,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAsB,MAAM,OAAO,CAAC,GAAG,CAC9D,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;QACrC,QAAQ,EAAE,MAAM;KACjB,CAAC,CACH,CACJ,CAAC;IAEF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACzC,CAAC;IAEF,IAAI,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,oEAAoE;IACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC;IAEpD,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,gBAAgB,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/variables/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.d.mts","sourceRoot":"","sources":["../../../src/github/variables/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAQvB,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,IAAI,CA2BnD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import 'dotenv/config';
|
|
3
|
-
import 'ts-repo-utils';
|
|
3
|
+
import { isDirectlyExecuted } from 'ts-repo-utils';
|
|
4
4
|
import { createRepoVariable, listRepoVariables, updateRepoVariable, } from './api/index.mjs';
|
|
5
5
|
export const applyVariables = async () => {
|
|
6
6
|
const variables = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/variables/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.mjs","sourceRoot":"","sources":["../../../src/github/variables/apply.mts"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAmB,EAAE;IACtD,MAAM,SAAS,GAAG;QAChB;YACE,IAAI,EAAE,kCAAkC;YACxC,KAAK,EAAE,SAAS;SACjB;QACD;YACE,IAAI,EAAE,4CAA4C;YAClD,KAAK,EAAE,SAAS;SACjB;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,SAAS;SACjB;KACO,CAAC;IAEX,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAEpD,MAAM,cAAc,GAAwB,IAAI,GAAG,CACjD,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACrC,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEhD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "github-settings-as-code",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.7",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"github",
|
|
@@ -72,9 +72,9 @@
|
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@octokit/core": "7.0.6",
|
|
74
74
|
"dotenv": "^17.4.2",
|
|
75
|
-
"octokit-safe-types": "^1.2.
|
|
76
|
-
"ts-data-forge": "^6.9.
|
|
77
|
-
"ts-fortress": "^7.0.
|
|
75
|
+
"octokit-safe-types": "^1.2.16",
|
|
76
|
+
"ts-data-forge": "^6.9.2",
|
|
77
|
+
"ts-fortress": "^7.0.3"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@semantic-release/changelog": "6.0.3",
|
|
@@ -84,37 +84,37 @@
|
|
|
84
84
|
"@semantic-release/github": "12.0.6",
|
|
85
85
|
"@semantic-release/npm": "13.1.5",
|
|
86
86
|
"@semantic-release/release-notes-generator": "14.1.0",
|
|
87
|
-
"@types/node": "25.
|
|
88
|
-
"@vitest/coverage-v8": "4.1.
|
|
89
|
-
"@vitest/ui": "4.1.
|
|
90
|
-
"cmd-ts": "
|
|
87
|
+
"@types/node": "25.6.0",
|
|
88
|
+
"@vitest/coverage-v8": "4.1.5",
|
|
89
|
+
"@vitest/ui": "4.1.5",
|
|
90
|
+
"cmd-ts": "0.15.0",
|
|
91
91
|
"conventional-changelog-conventionalcommits": "9.3.1",
|
|
92
92
|
"cspell": "10.0.0",
|
|
93
|
-
"dedent": "
|
|
94
|
-
"eslint": "10.
|
|
95
|
-
"eslint-config-typed": "4.9.
|
|
93
|
+
"dedent": "1.7.2",
|
|
94
|
+
"eslint": "10.2.0",
|
|
95
|
+
"eslint-config-typed": "4.9.6",
|
|
96
96
|
"jiti": "2.6.1",
|
|
97
97
|
"markdownlint": "0.40.0",
|
|
98
|
-
"markdownlint-cli2": "0.22.
|
|
98
|
+
"markdownlint-cli2": "0.22.1",
|
|
99
99
|
"npm-run-all2": "8.0.4",
|
|
100
100
|
"playwright": "1.59.1",
|
|
101
|
-
"prettier": "3.8.
|
|
101
|
+
"prettier": "3.8.3",
|
|
102
102
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
103
103
|
"prettier-plugin-packagejson": "3.0.2",
|
|
104
104
|
"semantic-release": "25.0.3",
|
|
105
|
-
"ts-codemod-lib": "
|
|
106
|
-
"ts-repo-utils": "
|
|
107
|
-
"ts-type-forge": "2.4.
|
|
105
|
+
"ts-codemod-lib": "2.1.3",
|
|
106
|
+
"ts-repo-utils": "10.0.0",
|
|
107
|
+
"ts-type-forge": "2.4.1",
|
|
108
108
|
"tslib": "2.8.1",
|
|
109
109
|
"tsx": "4.21.0",
|
|
110
|
-
"typedoc": "0.28.
|
|
110
|
+
"typedoc": "0.28.19",
|
|
111
111
|
"typedoc-github-theme": "0.4.0",
|
|
112
112
|
"typescript": "5.9.3",
|
|
113
|
-
"vitest": "4.1.
|
|
113
|
+
"vitest": "4.1.5"
|
|
114
114
|
},
|
|
115
|
-
"packageManager": "pnpm@10.33.
|
|
115
|
+
"packageManager": "pnpm@10.33.2",
|
|
116
116
|
"engines": {
|
|
117
|
-
"node": ">=22.
|
|
117
|
+
"node": ">=22.18.0",
|
|
118
118
|
"pnpm": ">=9.0.0"
|
|
119
119
|
},
|
|
120
120
|
"volta": {
|
package/src/github/constants.mts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import '
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { hasKey, isRecord, isString, Json } from 'ts-data-forge';
|
|
4
|
+
import { Result } from 'ts-repo-utils';
|
|
3
5
|
|
|
4
6
|
const ownerNullable = process.env['OWNER'];
|
|
5
7
|
|
|
@@ -18,6 +20,7 @@ const getRepoName = async (): Promise<string> => {
|
|
|
18
20
|
|
|
19
21
|
const packageJsonPath = path.resolve(process.cwd(), './package.json');
|
|
20
22
|
|
|
23
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
21
24
|
const packageJsonStr = await fs.readFile(packageJsonPath, {
|
|
22
25
|
encoding: 'utf8',
|
|
23
26
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GetRepositoryResponse, type EndpointKeys } from 'octokit-safe-types';
|
|
2
2
|
import { validationErrorsToMessages } from 'ts-fortress';
|
|
3
|
-
import 'ts-repo-utils';
|
|
3
|
+
import { Result } from 'ts-repo-utils';
|
|
4
4
|
import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
|
|
5
5
|
import { octokit } from '../../octokit.mjs';
|
|
6
6
|
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import 'dotenv/config';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
3
5
|
import { type UpdateRepositoryRequest } from 'octokit-safe-types';
|
|
4
6
|
import { Obj } from 'ts-data-forge';
|
|
5
7
|
import { validationErrorsToMessages } from 'ts-fortress';
|
|
6
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
formatUncommittedFiles,
|
|
10
|
+
isDirectlyExecuted,
|
|
11
|
+
Result,
|
|
12
|
+
} from 'ts-repo-utils';
|
|
7
13
|
import {
|
|
8
14
|
repositorySettingsDir,
|
|
9
15
|
repositorySettingsJsonName,
|
|
@@ -62,11 +68,13 @@ export const applyRepositorySettings = async (): Promise<void> => {
|
|
|
62
68
|
2,
|
|
63
69
|
);
|
|
64
70
|
|
|
71
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
65
72
|
await fs.writeFile(
|
|
66
73
|
path.resolve(repositorySettingsDir, repositorySettingsJsonName),
|
|
67
74
|
str,
|
|
68
75
|
);
|
|
69
76
|
|
|
77
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
70
78
|
await fs.writeFile(
|
|
71
79
|
path.resolve(repositorySettingsDir, 'bk', repositorySettingsJsonName),
|
|
72
80
|
str,
|
|
@@ -77,6 +85,7 @@ export const applyRepositorySettings = async (): Promise<void> => {
|
|
|
77
85
|
};
|
|
78
86
|
|
|
79
87
|
const readSettings = async (): Promise<RepositoryPicked> => {
|
|
88
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
80
89
|
const settingsText = await fs.readFile(
|
|
81
90
|
path.resolve(repositorySettingsDir, repositorySettingsJsonName),
|
|
82
91
|
{
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import 'dotenv/config';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
3
5
|
import { Obj } from 'ts-data-forge';
|
|
4
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
formatUncommittedFiles,
|
|
8
|
+
isDirectlyExecuted,
|
|
9
|
+
makeEmptyDir,
|
|
10
|
+
} from 'ts-repo-utils';
|
|
5
11
|
import {
|
|
6
12
|
repositorySettingsDir,
|
|
7
13
|
repositorySettingsJsonName,
|
|
@@ -18,6 +24,7 @@ export const backupRepositorySettings = async (
|
|
|
18
24
|
|
|
19
25
|
const repositorySettings = await getRepositorySettings();
|
|
20
26
|
|
|
27
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
21
28
|
await fs.writeFile(
|
|
22
29
|
path.resolve(backupDir, repositorySettingsJsonName),
|
|
23
30
|
JSON.stringify(
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from 'octokit-safe-types';
|
|
7
7
|
import { expectType } from 'ts-data-forge';
|
|
8
8
|
import { validationErrorsToMessages } from 'ts-fortress';
|
|
9
|
-
import 'ts-repo-utils';
|
|
9
|
+
import { Result } from 'ts-repo-utils';
|
|
10
10
|
import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
|
|
11
11
|
import { octokit } from '../../octokit.mjs';
|
|
12
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GetRulesetResponse, type EndpointKeys } from 'octokit-safe-types';
|
|
2
2
|
import { validationErrorsToMessages } from 'ts-fortress';
|
|
3
|
-
import 'ts-repo-utils';
|
|
3
|
+
import { Result } from 'ts-repo-utils';
|
|
4
4
|
import { octokitHeaders, OWNER, REPO } from '../../constants.mjs';
|
|
5
5
|
import { octokit } from '../../octokit.mjs';
|
|
6
6
|
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import 'dotenv/config';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
3
5
|
import { Obj } from 'ts-data-forge';
|
|
4
|
-
import { formatUncommittedFiles } from 'ts-repo-utils';
|
|
6
|
+
import { formatUncommittedFiles, isDirectlyExecuted } from 'ts-repo-utils';
|
|
5
7
|
import { rulesetsDir } from '../constants.mjs';
|
|
6
8
|
import {
|
|
7
9
|
createRuleset,
|
|
@@ -69,8 +71,10 @@ export const applyRulesets = async (): Promise<void> => {
|
|
|
69
71
|
2,
|
|
70
72
|
);
|
|
71
73
|
|
|
74
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
72
75
|
await fs.writeFile(path.resolve(rulesetsDir, `${rule.name}.json`), str);
|
|
73
76
|
|
|
77
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
74
78
|
await fs.writeFile(
|
|
75
79
|
path.resolve(rulesetsDir, `./bk/${rule.name}.json`),
|
|
76
80
|
str,
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import 'dotenv/config';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
3
5
|
import { Obj } from 'ts-data-forge';
|
|
4
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
formatUncommittedFiles,
|
|
8
|
+
isDirectlyExecuted,
|
|
9
|
+
makeEmptyDir,
|
|
10
|
+
} from 'ts-repo-utils';
|
|
5
11
|
import { rulesetsDir } from '../constants.mjs';
|
|
6
12
|
import { getAllRulesets, getRuleset } from './api/index.mjs';
|
|
7
13
|
import { rulesetKeysToPick } from './constants.mjs';
|
|
@@ -16,6 +22,7 @@ export const backupRulesets = async (fmt: boolean = true): Promise<void> => {
|
|
|
16
22
|
for (const rule of rulesetsResult) {
|
|
17
23
|
const content = await getRuleset(rule.id);
|
|
18
24
|
|
|
25
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
19
26
|
await fs.writeFile(
|
|
20
27
|
path.resolve(backupDir, `${rule.name}.json`),
|
|
21
28
|
JSON.stringify(Obj.pick(content, rulesetKeysToPick), undefined, 2),
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type Dirent } from 'node:fs';
|
|
2
|
+
import * as fs from 'node:fs/promises';
|
|
3
|
+
import * as path from 'node:path';
|
|
2
4
|
import * as t from 'ts-fortress';
|
|
3
|
-
import 'ts-repo-utils';
|
|
5
|
+
import { isDirectlyExecuted, Result } from 'ts-repo-utils';
|
|
4
6
|
import { rulesetsDir } from '../constants.mjs';
|
|
5
7
|
import { RulesetPicked } from './constants.mjs';
|
|
6
8
|
|
|
@@ -12,6 +14,7 @@ export const readRulesetBackupFiles = async (): Promise<
|
|
|
12
14
|
> => readFilesIn(path.resolve(rulesetsDir, './bk'));
|
|
13
15
|
|
|
14
16
|
const readFilesIn = async (dir: string): Promise<readonly RulesetPicked[]> => {
|
|
17
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
15
18
|
const files: readonly Dirent<string>[] = await fs.readdir(dir, {
|
|
16
19
|
withFileTypes: true,
|
|
17
20
|
});
|
|
@@ -20,6 +23,7 @@ const readFilesIn = async (dir: string): Promise<readonly RulesetPicked[]> => {
|
|
|
20
23
|
files
|
|
21
24
|
.filter((d) => d.isFile())
|
|
22
25
|
.map((d) =>
|
|
26
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
23
27
|
fs.readFile(path.resolve(dir, d.name), {
|
|
24
28
|
encoding: 'utf8',
|
|
25
29
|
}),
|
package/src/globals.d.mts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/// <reference types="ts-type-forge" />
|