@stack-spot/build-tools 1.2.0 → 1.2.3
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.
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
|
-
import
|
|
2
|
+
import yargs from 'yargs';
|
|
3
|
+
import { asyncExec } from './utils.js';
|
|
3
4
|
async function listFilesChangedByLastCommit(merge) {
|
|
4
5
|
const filesPerLine = await asyncExec(`git diff-tree ${merge ? '-m' : ''} --no-commit-id --name-only -r HEAD`);
|
|
5
6
|
return filesPerLine.split('\n').map(f => f.trim());
|
|
@@ -11,15 +12,30 @@ function listChangedPackages(changedFiles) {
|
|
|
11
12
|
if (name)
|
|
12
13
|
packages.add(name);
|
|
13
14
|
}
|
|
14
|
-
return packages;
|
|
15
|
+
return Array.from(packages);
|
|
16
|
+
}
|
|
17
|
+
function getArguments() {
|
|
18
|
+
return yargs(process.argv.slice(2)).options({
|
|
19
|
+
allowed: { type: 'array', coerce: (v) => v.map((i) => `${i}`.trim()).filter(i => !!i), default: [] },
|
|
20
|
+
}).parseSync();
|
|
21
|
+
}
|
|
22
|
+
function filterAllowedPackages(packages) {
|
|
23
|
+
const { allowed } = getArguments();
|
|
24
|
+
return allowed.length ? packages.filter(p => allowed.includes(p)) : packages;
|
|
15
25
|
}
|
|
16
26
|
async function start() {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
try {
|
|
28
|
+
const changedFiles = (await Promise.all([
|
|
29
|
+
listFilesChangedByLastCommit(),
|
|
30
|
+
listFilesChangedByLastCommit(true),
|
|
31
|
+
])).flat();
|
|
32
|
+
const changedPackages = filterAllowedPackages(listChangedPackages(changedFiles));
|
|
33
|
+
console.log(JSON.stringify(changedPackages));
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
console.error(error);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
23
39
|
}
|
|
24
40
|
start();
|
|
25
41
|
//# sourceMappingURL=get-modified-packages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-modified-packages.js","sourceRoot":"","sources":["../src/get-modified-packages.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,KAAK,UAAU,4BAA4B,CAAC,KAAe;IACzD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAA;IAC7G,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AACpD,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAsB;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAA;QAC3D,IAAI,IAAI;YAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IACD,OAAO,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"get-modified-packages.js","sourceRoot":"","sources":["../src/get-modified-packages.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,KAAK,UAAU,4BAA4B,CAAC,KAAe;IACzD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,iBAAiB,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAA;IAC7G,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AACpD,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAsB;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAA;QAC3D,IAAI,IAAI;YAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;KACjH,CAAC,CAAC,SAAS,EAAE,CAAA;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAkB;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,CAAA;IAClC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC9E,CAAC;AAED,KAAK,UAAU,KAAK;IAClB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC;YACtC,4BAA4B,EAAE;YAC9B,4BAA4B,CAAC,IAAI,CAAC;SACnC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACV,MAAM,eAAe,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAA;QAChF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,KAAK,EAAE,CAAA"}
|
package/dist/package-override.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stack-spot/build-tools",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"package-override": "./dist/package-override.js",
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"devDependencies": {
|
|
10
10
|
"@types/node": "^22.14.1",
|
|
11
|
+
"@types/yargs": "^17.0.33",
|
|
11
12
|
"eslint": "^8.53.0",
|
|
12
13
|
"eslint-plugin-filenames": "^1.3.2",
|
|
13
14
|
"eslint-plugin-import": "^2.29.0",
|
|
@@ -18,10 +19,14 @@
|
|
|
18
19
|
"eslint-plugin-react-refresh": "^0.4.4",
|
|
19
20
|
"rimraf": "^5.0.7",
|
|
20
21
|
"tsx": "^4.15.1",
|
|
21
|
-
"typescript": "^5.2.2"
|
|
22
|
+
"typescript": "^5.2.2",
|
|
23
|
+
"tsc-esm-fix": "3.1.2"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"yargs": "^17.7.2"
|
|
22
27
|
},
|
|
23
28
|
"scripts": {
|
|
24
|
-
"build": "rimraf dist && tsc",
|
|
29
|
+
"build": "rimraf dist && tsc && tsc-esm-fix --target='dist'",
|
|
25
30
|
"check-branch": "pnpm build",
|
|
26
31
|
"lint": "echo nothing to lint"
|
|
27
32
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
|
+
import yargs from 'yargs'
|
|
2
3
|
import { asyncExec } from './utils'
|
|
3
4
|
|
|
4
5
|
async function listFilesChangedByLastCommit(merge?: boolean) {
|
|
@@ -12,16 +13,32 @@ function listChangedPackages(changedFiles: string[]) {
|
|
|
12
13
|
const [, name] = file.match(/^packages\/([^/]+)\/.*/) ?? []
|
|
13
14
|
if (name) packages.add(name)
|
|
14
15
|
}
|
|
15
|
-
return packages
|
|
16
|
+
return Array.from(packages)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function getArguments() {
|
|
20
|
+
return yargs(process.argv.slice(2)).options({
|
|
21
|
+
allowed: { type: 'array', coerce: (v: any[]) => v.map((i: any) => `${i}`.trim()).filter(i => !!i), default: [] },
|
|
22
|
+
}).parseSync()
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function filterAllowedPackages(packages: string[]) {
|
|
26
|
+
const { allowed } = getArguments()
|
|
27
|
+
return allowed.length ? packages.filter(p => allowed.includes(p)) : packages
|
|
16
28
|
}
|
|
17
29
|
|
|
18
30
|
async function start() {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
try {
|
|
32
|
+
const changedFiles = (await Promise.all([
|
|
33
|
+
listFilesChangedByLastCommit(),
|
|
34
|
+
listFilesChangedByLastCommit(true),
|
|
35
|
+
])).flat()
|
|
36
|
+
const changedPackages = filterAllowedPackages(listChangedPackages(changedFiles))
|
|
37
|
+
console.log(JSON.stringify(changedPackages))
|
|
38
|
+
} catch (error) {
|
|
39
|
+
console.error(error)
|
|
40
|
+
process.exit(1)
|
|
41
|
+
}
|
|
25
42
|
}
|
|
26
43
|
|
|
27
44
|
start()
|