Skip to content

Commit f16ca7d

Browse files
authoredSep 23, 2022
Remove 'async' dependency, used only in errorCheck.ts, modernize file (#50667)
1 parent c6bef3f commit f16ca7d

File tree

3 files changed

+57
-83
lines changed

3 files changed

+57
-83
lines changed
 

‎package-lock.json

-26
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎package.json

-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
],
4141
"devDependencies": {
4242
"@octokit/rest": "latest",
43-
"@types/async": "latest",
4443
"@types/chai": "latest",
4544
"@types/fs-extra": "^9.0.13",
4645
"@types/glob": "latest",
@@ -62,7 +61,6 @@
6261
"@typescript-eslint/eslint-plugin": "^5.33.1",
6362
"@typescript-eslint/parser": "^5.33.1",
6463
"@typescript-eslint/utils": "^5.33.1",
65-
"async": "latest",
6664
"azure-devops-node-api": "^11.2.0",
6765
"chai": "latest",
6866
"chalk": "^4.1.2",

‎scripts/errorCheck.ts

+57-55
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import * as fs from "fs";
2-
import * as async from "async";
3-
import * as glob from "glob";
2+
import * as fsPromises from "fs/promises";
3+
import * as _glob from "glob";
4+
import * as util from "util";
45

5-
fs.readFile("src/compiler/diagnosticMessages.json", "utf-8", (err, data) => {
6-
if (err) {
7-
throw err;
8-
}
6+
const glob = util.promisify(_glob);
97

8+
async function checkErrorBaselines() {
9+
const data = await fsPromises.readFile("src/compiler/diagnosticMessages.json", "utf-8");
1010
const messages = JSON.parse(data);
1111
const keys = Object.keys(messages);
1212
console.log("Loaded " + keys.length + " errors");
@@ -18,39 +18,35 @@ fs.readFile("src/compiler/diagnosticMessages.json", "utf-8", (err, data) => {
1818
const errRegex = /\(\d+,\d+\): error TS([^:]+):/g;
1919
const baseDir = "tests/baselines/reference/";
2020

21-
fs.readdir(baseDir, (err, files) => {
22-
files = files.filter(f => f.indexOf(".errors.txt") > 0);
23-
const tasks: ((callback: () => void) => void)[] = [];
24-
files.forEach(f => tasks.push(done => {
25-
fs.readFile(baseDir + f, "utf-8", (err, baseline) => {
26-
if (err) throw err;
27-
28-
let g: RegExpExecArray | null;
29-
while (g = errRegex.exec(baseline)) {
30-
const errCode = +g[1];
31-
const msg = keys.filter(k => messages[k].code === errCode)[0];
32-
messages[msg].seen = true;
33-
}
34-
35-
done();
36-
});
37-
}));
38-
39-
async.parallelLimit(tasks, 25, done => {
40-
console.log("== List of errors not present in baselines ==");
41-
let count = 0;
42-
for (const k of keys) {
43-
if (messages[k].seen !== true) {
44-
console.log(k);
45-
count++;
46-
}
21+
const files = (await fsPromises.readdir(baseDir)).filter(f => f.endsWith(".errors.txt"));
22+
23+
files.forEach(f => {
24+
fs.readFile(baseDir + f, "utf-8", (err, baseline) => {
25+
if (err) throw err;
26+
27+
let g: RegExpExecArray | null;
28+
while (g = errRegex.exec(baseline)) {
29+
const errCode = +g[1];
30+
const msg = keys.filter(k => messages[k].code === errCode)[0];
31+
messages[msg].seen = true;
4732
}
48-
console.log(count + " of " + keys.length + " errors are not in baselines");
4933
});
5034
});
51-
});
5235

53-
fs.readFile("src/compiler/diagnosticInformationMap.generated.ts", "utf-8", (err, data) => {
36+
console.log("== List of errors not present in baselines ==");
37+
let count = 0;
38+
for (const k of keys) {
39+
if (messages[k].seen !== true) {
40+
console.log(k);
41+
count++;
42+
}
43+
}
44+
console.log(count + " of " + keys.length + " errors are not in baselines");
45+
}
46+
47+
async function checkSourceFiles() {
48+
const data = await fsPromises.readFile("src/compiler/diagnosticInformationMap.generated.ts", "utf-8");
49+
5450
const errorRegexp = /\s(\w+): \{ code/g;
5551
const errorNames: string[] = [];
5652
let errMatch: RegExpExecArray | null;
@@ -59,27 +55,33 @@ fs.readFile("src/compiler/diagnosticInformationMap.generated.ts", "utf-8", (err,
5955
}
6056

6157
let allSrc = "";
62-
glob("./src/**/*.ts", {}, (err, files) => {
63-
console.log("Reading " + files.length + " source files");
64-
for (const file of files) {
65-
if (file.indexOf("diagnosticInformationMap.generated.ts") > 0) {
66-
continue;
67-
}
68-
69-
const src = fs.readFileSync(file, "utf-8");
70-
allSrc = allSrc + src;
58+
const files = await glob("./src/**/*.ts");
59+
console.log("Reading " + files.length + " source files");
60+
for (const file of files) {
61+
if (file.indexOf("diagnosticInformationMap.generated.ts") > 0) {
62+
continue;
7163
}
7264

73-
console.log("Consumed " + allSrc.length + " characters of source");
65+
const src = fs.readFileSync(file, "utf-8");
66+
allSrc = allSrc + src;
67+
}
68+
69+
console.log("Consumed " + allSrc.length + " characters of source");
7470

75-
let count = 0;
76-
console.log("== List of errors not used in source ==");
77-
for (const errName of errorNames) {
78-
if (allSrc.indexOf(errName) < 0) {
79-
console.log(errName);
80-
count++;
81-
}
71+
let count = 0;
72+
console.log("== List of errors not used in source ==");
73+
for (const errName of errorNames) {
74+
if (allSrc.indexOf(errName) < 0) {
75+
console.log(errName);
76+
count++;
8277
}
83-
console.log(count + " of " + errorNames.length + " errors are not used in source");
84-
});
85-
});
78+
}
79+
console.log(count + " of " + errorNames.length + " errors are not used in source");
80+
}
81+
82+
async function main() {
83+
await checkErrorBaselines();
84+
await checkSourceFiles();
85+
}
86+
87+
main();

0 commit comments

Comments
 (0)