@neurodevs/meta-node 0.19.8 → 0.19.10
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/build/impl/NpmWorkspaceTypeChecker.js +15 -8
- package/build/impl/NpmWorkspaceTypeChecker.js.map +1 -1
- package/build/scripts/runNpmWorkspaceTypeChecker.d.ts +1 -0
- package/build/scripts/runNpmWorkspaceTypeChecker.js +4 -0
- package/build/scripts/runNpmWorkspaceTypeChecker.js.map +1 -0
- package/package.json +1 -1
- package/src/impl/NpmWorkspaceTypeChecker.ts +30 -16
- package/src/scripts/runNpmWorkspaceTypeChecker.ts +4 -0
|
@@ -14,28 +14,35 @@ export default class NpmWorkspaceTypeChecker {
|
|
|
14
14
|
return new (this.Class ?? this)(workspacePath);
|
|
15
15
|
}
|
|
16
16
|
async run() {
|
|
17
|
-
console.info('Starting type checking... \n');
|
|
18
17
|
const repoNames = await this.readDir(this.workspacePath, {
|
|
19
18
|
withFileTypes: true,
|
|
20
19
|
});
|
|
21
|
-
await Promise.all(repoNames.map(async (repoName) => {
|
|
20
|
+
const repoPaths = (await Promise.all(repoNames.map(async (repoName) => {
|
|
22
21
|
if (!repoName.isDirectory()) {
|
|
23
22
|
return;
|
|
24
23
|
}
|
|
25
|
-
const
|
|
26
|
-
const repoContents = await this.readDir(
|
|
24
|
+
const repoPath = join(this.workspacePath, repoName.name);
|
|
25
|
+
const repoContents = await this.readDir(repoPath);
|
|
27
26
|
if (!repoContents.includes('tsconfig.json')) {
|
|
28
27
|
return;
|
|
29
28
|
}
|
|
30
|
-
|
|
29
|
+
return repoPath;
|
|
30
|
+
}))).filter((p) => Boolean(p));
|
|
31
|
+
console.info(`\nChecking types for the following repos:\n\n${repoPaths
|
|
32
|
+
.map((r) => ` ${r}`)
|
|
33
|
+
.join('\n')}\n`);
|
|
34
|
+
const results = await Promise.all(repoPaths.map(async (repoPath) => {
|
|
31
35
|
try {
|
|
32
|
-
await this.exec('npx tsc --noEmit', { cwd:
|
|
36
|
+
await this.exec('npx tsc --noEmit', { cwd: repoPath });
|
|
37
|
+
return { hasErrors: false };
|
|
33
38
|
}
|
|
34
39
|
catch {
|
|
35
|
-
console.error(`Type errors found in ${
|
|
40
|
+
console.error(`Type errors found in ${repoPath}!`);
|
|
41
|
+
return { hasErrors: true };
|
|
36
42
|
}
|
|
37
43
|
}));
|
|
38
|
-
|
|
44
|
+
const numErrors = results.filter((r) => r.hasErrors).length;
|
|
45
|
+
console.info(`\nType checking completed with ${numErrors} error${numErrors !== 1 ? 's' : ''}!\n`);
|
|
39
46
|
}
|
|
40
47
|
get readDir() {
|
|
41
48
|
return NpmWorkspaceTypeChecker.readDir;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NpmWorkspaceTypeChecker.js","sourceRoot":"","sources":["../../src/impl/NpmWorkspaceTypeChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACjC,MAAM,CAAC,KAAK,CAAkC;IAC9C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;IAEhC,aAAa,CAAQ;IAE7B,YAAsB,aAAqB;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACtC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,aAAqB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,GAAG;QACZ,
|
|
1
|
+
{"version":3,"file":"NpmWorkspaceTypeChecker.js","sourceRoot":"","sources":["../../src/impl/NpmWorkspaceTypeChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,CAAC,OAAO,OAAO,uBAAuB;IACjC,MAAM,CAAC,KAAK,CAAkC;IAC9C,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;IAEhC,aAAa,CAAQ;IAE7B,YAAsB,aAAqB;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACtC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,aAAqB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,GAAG;QACZ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE;YACrD,aAAa,EAAE,IAAI;SACtB,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,CACd,MAAM,OAAO,CAAC,GAAG,CACb,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC1B,OAAM;YACV,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YACxD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAEjD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC1C,OAAM;YACV,CAAC;YACD,OAAO,QAAQ,CAAA;QACnB,CAAC,CAAC,CACL,CACJ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAExC,OAAO,CAAC,IAAI,CACR,gDAAgD,SAAS;aACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CACtB,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;gBACtD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,CAAC,KAAK,CAAC,wBAAwB,QAAQ,GAAG,CAAC,CAAA;gBAClD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;YAC9B,CAAC;QACL,CAAC,CAAC,CACL,CAAA;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAA;QAC3D,OAAO,CAAC,IAAI,CACR,kCAAkC,SAAS,SAAS,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CACtF,CAAA;IACL,CAAC;IAED,IAAY,OAAO;QACf,OAAO,uBAAuB,CAAC,OAAO,CAAA;IAC1C,CAAC;IACD,IAAY,IAAI;QACZ,OAAO,uBAAuB,CAAC,IAAI,CAAA;IACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runNpmWorkspaceTypeChecker.js","sourceRoot":"","sources":["../../src/scripts/runNpmWorkspaceTypeChecker.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,MAAM,oCAAoC,CAAA;AAExE,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACrD,MAAM,OAAO,CAAC,GAAG,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -19,36 +19,50 @@ export default class NpmWorkspaceTypeChecker implements WorkspaceTypeChecker {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
public async run() {
|
|
22
|
-
console.info('Starting type checking... \n')
|
|
23
22
|
const repoNames = await this.readDir(this.workspacePath, {
|
|
24
23
|
withFileTypes: true,
|
|
25
24
|
})
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const fullRepoPath = join(this.workspacePath, repoName.name)
|
|
26
|
+
const repoPaths = (
|
|
27
|
+
await Promise.all(
|
|
28
|
+
repoNames.map(async (repoName) => {
|
|
29
|
+
if (!repoName.isDirectory()) {
|
|
30
|
+
return
|
|
31
|
+
}
|
|
34
32
|
|
|
35
|
-
|
|
33
|
+
const repoPath = join(this.workspacePath, repoName.name)
|
|
34
|
+
const repoContents = await this.readDir(repoPath)
|
|
36
35
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
if (!repoContents.includes('tsconfig.json')) {
|
|
37
|
+
return
|
|
38
|
+
}
|
|
39
|
+
return repoPath
|
|
40
|
+
})
|
|
41
|
+
)
|
|
42
|
+
).filter((p): p is string => Boolean(p))
|
|
40
43
|
|
|
41
|
-
|
|
44
|
+
console.info(
|
|
45
|
+
`\nChecking types for the following repos:\n\n${repoPaths
|
|
46
|
+
.map((r) => ` ${r}`)
|
|
47
|
+
.join('\n')}\n`
|
|
48
|
+
)
|
|
42
49
|
|
|
50
|
+
const results = await Promise.all(
|
|
51
|
+
repoPaths.map(async (repoPath) => {
|
|
43
52
|
try {
|
|
44
|
-
await this.exec('npx tsc --noEmit', { cwd:
|
|
53
|
+
await this.exec('npx tsc --noEmit', { cwd: repoPath })
|
|
54
|
+
return { hasErrors: false }
|
|
45
55
|
} catch {
|
|
46
|
-
console.error(`Type errors found in ${
|
|
56
|
+
console.error(`Type errors found in ${repoPath}!`)
|
|
57
|
+
return { hasErrors: true }
|
|
47
58
|
}
|
|
48
59
|
})
|
|
49
60
|
)
|
|
50
61
|
|
|
51
|
-
|
|
62
|
+
const numErrors = results.filter((r) => r.hasErrors).length
|
|
63
|
+
console.info(
|
|
64
|
+
`\nType checking completed with ${numErrors} error${numErrors !== 1 ? 's' : ''}!\n`
|
|
65
|
+
)
|
|
52
66
|
}
|
|
53
67
|
|
|
54
68
|
private get readDir() {
|