Skip to content

Commit 8665394

Browse files
Format
1 parent a63b04e commit 8665394

File tree

115 files changed

+722
-734
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+722
-734
lines changed

packages/definitions-parser/src/check-parse-results.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
Semver,
1313
UncachedNpmInfoClient,
1414
NpmInfoRawVersions,
15-
NpmInfoVersion
15+
NpmInfoVersion,
1616
} from "@definitelytyped/utils";
1717

1818
export async function checkParseResults(
@@ -56,11 +56,11 @@ export async function checkParseResults(
5656
await nAtATime(
5757
10,
5858
allPackages.allTypings(),
59-
pkg => checkNpm(pkg, log, dependedOn, client!),
59+
(pkg) => checkNpm(pkg, log, dependedOn, client!),
6060
options.progress
6161
? {
6262
name: "Checking for typed packages...",
63-
flavor: pkg => pkg.desc
63+
flavor: (pkg) => pkg.desc,
6464
}
6565
: undefined
6666
);
@@ -82,7 +82,7 @@ function checkTypeScriptVersions(allPackages: AllPackages): void {
8282
export function checkPathMappings(allPackages: AllPackages): void {
8383
for (const pkg of allPackages.allTypings()) {
8484
const unusedPathMappings = new Set(
85-
Object.keys(pkg.pathMappings).filter(m => m !== pkg.name && m !== pkg.unescapedName)
85+
Object.keys(pkg.pathMappings).filter((m) => m !== pkg.name && m !== pkg.unescapedName)
8686
);
8787

8888
// If A depends on B, and B has path mappings, A must have the same mappings.
@@ -110,7 +110,7 @@ export function checkPathMappings(allPackages: AllPackages): void {
110110
throw new Error(`${pkg.desc} has unused path mappings for [${Array.from(unusedPathMappings).join(", ")}].
111111
If these mappings are actually used, they could be missing in a dependency's tsconfig.json instead.
112112
Check the path mappings for [${Array.from(allPackages.allDependencyTypings(pkg))
113-
.map(d => d.name)
113+
.map((d) => d.name)
114114
.join(", ")}].`);
115115
}
116116
}
@@ -148,7 +148,7 @@ async function checkNpm(
148148
`Typings already defined for ${name} (${libraryName}) as of ${firstTypedVersion.versionString} (our version: ${ourVersion})`
149149
);
150150
const contributorUrls = contributors
151-
.map(c => {
151+
.map((c) => {
152152
const gh = "https://github.com/";
153153
return c.url.startsWith(gh) ? `@${c.url.slice(gh.length)}` : `${c.name} (${c.url})`;
154154
})
@@ -222,5 +222,5 @@ const notNeededExceptions: ReadonlySet<string> = new Set([
222222
"raspi-serial",
223223
"raspi-soft-pwm",
224224
// Declare "typings" but don't actually have them yet (https://github.com/stampit-org/stampit/issues/245)
225-
"stampit"
225+
"stampit",
226226
]);

packages/definitions-parser/src/get-affected-packages.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
PackageId,
66
PackageBase,
77
getMangledNameForScopedPackage,
8-
formatDependencyVersion
8+
formatDependencyVersion,
99
} from "./packages";
1010

1111
export interface Affected {
@@ -16,26 +16,26 @@ export interface Affected {
1616

1717
/** Gets all packages that have changed on this branch, plus all packages affected by the change. */
1818
export function getAffectedPackages(allPackages: AllPackages, changedPackageIds: PackageId[]): Affected {
19-
const resolved = changedPackageIds.map(id => allPackages.tryResolve(id));
19+
const resolved = changedPackageIds.map((id) => allPackages.tryResolve(id));
2020
// If a package doesn't exist, that's because it was deleted.
21-
const changed = mapDefined(resolved, id => allPackages.tryGetTypingsData(id));
22-
const dependent = mapIterable(collectDependers(resolved, getReverseDependencies(allPackages, resolved)), p =>
21+
const changed = mapDefined(resolved, (id) => allPackages.tryGetTypingsData(id));
22+
const dependent = mapIterable(collectDependers(resolved, getReverseDependencies(allPackages, resolved)), (p) =>
2323
allPackages.getTypingsData(p)
2424
);
2525
return { changedPackages: changed, dependentPackages: sortPackages(dependent), allPackages };
2626
}
2727

2828
/** Every package name in the original list, plus their dependencies (incl. dependencies' dependencies). */
2929
export function allDependencies(allPackages: AllPackages, packages: Iterable<TypingsData>): TypingsData[] {
30-
return sortPackages(transitiveClosure(packages, pkg => allPackages.allDependencyTypings(pkg)));
30+
return sortPackages(transitiveClosure(packages, (pkg) => allPackages.allDependencyTypings(pkg)));
3131
}
3232

3333
/** Collect all packages that depend on changed packages, and all that depend on those, etc. */
3434
function collectDependers(
3535
changedPackages: PackageId[],
3636
reverseDependencies: Map<PackageId, Set<PackageId>>
3737
): Set<PackageId> {
38-
const dependers = transitiveClosure(changedPackages, pkg => reverseDependencies.get(pkg) || []);
38+
const dependers = transitiveClosure(changedPackages, (pkg) => reverseDependencies.get(pkg) || []);
3939
// Don't include the original changed packages, just their dependers
4040
for (const original of changedPackages) {
4141
dependers.delete(original);

packages/definitions-parser/src/git.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
formatDependencyVersion,
77
getDependencyFromFile,
88
AllPackages,
9-
NotNeededPackage
9+
NotNeededPackage,
1010
} from "./packages";
1111
import {
1212
Logger,
@@ -19,7 +19,7 @@ import {
1919
assertDefined,
2020
Semver,
2121
UncachedNpmInfoClient,
22-
NpmInfo
22+
NpmInfo,
2323
} from "@definitelytyped/utils";
2424
import { getAffectedPackages } from "./get-affected-packages";
2525

@@ -54,7 +54,7 @@ export async function gitDiff(log: Logger, definitelyTypedPath: string): Promise
5454
// We are probably already on master, so compare to the last commit.
5555
diff = (await run(`git diff ${sourceBranch}~1 --name-status`)).trim();
5656
}
57-
return diff.split("\n").map(line => {
57+
return diff.split("\n").map((line) => {
5858
const [status, file] = line.split(/\s+/, 2);
5959
return { status: status.trim(), file: file.trim() } as GitDiff;
6060
});
@@ -95,7 +95,7 @@ export async function getAffectedPackagesFromDiff(
9595
) {
9696
const allPackages = await AllPackages.read(dt);
9797
const diffs = await gitDiff(consoleLogger.info, definitelyTypedPath);
98-
if (diffs.find(d => d.file === "notNeededPackages.json")) {
98+
if (diffs.find((d) => d.file === "notNeededPackages.json")) {
9999
const uncached = new UncachedNpmInfoClient();
100100
for (const deleted of getNotNeededPackages(allPackages, diffs)) {
101101
const source = await uncached.fetchNpmInfo(deleted.libraryName); // eg @babel/parser
@@ -110,19 +110,19 @@ export async function getAffectedPackagesFromDiff(
110110
: selection === "affected"
111111
? getAffectedPackages(allPackages, gitChanges(diffs))
112112
: {
113-
changedPackages: allPackages.allTypings().filter(t => selection.test(t.name)),
113+
changedPackages: allPackages.allTypings().filter((t) => selection.test(t.name)),
114114
dependentPackages: [],
115-
allPackages
115+
allPackages,
116116
};
117117

118118
console.log(
119119
`Testing ${affected.changedPackages.length} changed packages: ${affected.changedPackages
120-
.map(t => t.desc)
120+
.map((t) => t.desc)
121121
.toString()}`
122122
);
123123
console.log(
124124
`Testing ${affected.dependentPackages.length} dependent packages: ${affected.dependentPackages
125-
.map(t => t.desc)
125+
.map((t) => t.desc)
126126
.toString()}`
127127
);
128128
return affected;
@@ -169,17 +169,17 @@ it is supposed to replace, ${latestTypings.versionString} of ${unneeded.fullNpmN
169169
export function getNotNeededPackages(allPackages: AllPackages, diffs: GitDiff[]) {
170170
const deletedPackages = new Set(
171171
diffs
172-
.filter(d => d.status === "D")
172+
.filter((d) => d.status === "D")
173173
.map(
174-
d =>
174+
(d) =>
175175
assertDefined(
176176
getDependencyFromFile(d.file),
177177
`Unexpected file deleted: ${d.file}
178178
When removing packages, you should only delete files that are a part of removed packages.`
179179
).name
180180
)
181181
);
182-
return mapDefined(deletedPackages, p => {
182+
return mapDefined(deletedPackages, (p) => {
183183
const hasTyping = allPackages.hasTypingFor({ name: p, version: "*" });
184184
const notNeeded = allPackages.getNotNeededPackage(p);
185185
if (hasTyping) {

packages/definitions-parser/src/lib/definition-parser-worker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { getTypingInfo } from "./definition-parser";
88
export const definitionParserWorkerFilename = __filename;
99

1010
if (!module.parent) {
11-
process.on("message", message => {
11+
process.on("message", (message) => {
1212
assert(process.argv.length === 3);
1313
const typesPath = process.argv[2];
1414
// tslint:disable-next-line no-async-without-await

packages/definitions-parser/src/lib/definition-parser.ts

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
PackageJsonDependency,
99
TypingsDataRaw,
1010
TypingsVersionsRaw,
11-
DirectoryParsedTypingVersion
11+
DirectoryParsedTypingVersion,
1212
} from "../packages";
1313
import { getAllowedPackageJsonDependencies } from "./settings";
1414
import {
@@ -26,7 +26,7 @@ import {
2626
unmangleScopedPackage,
2727
removeVersionFromPackageName,
2828
hasVersionNumberInMapping,
29-
mangleScopedPackage
29+
mangleScopedPackage,
3030
} from "@definitelytyped/utils";
3131
import { TypeScriptVersion } from "@definitelytyped/typescript-versions";
3232

@@ -58,7 +58,7 @@ export async function getTypingInfo(packageName: string, fs: FS): Promise<Typing
5858
}
5959
const [rootDirectoryLs, olderVersionDirectories] = split<string, OlderVersionDir>(
6060
fs.readdir(),
61-
fileOrDirectoryName => {
61+
(fileOrDirectoryName) => {
6262
const version = parseVersionFromDirectoryName(fileOrDirectoryName);
6363
return version === undefined ? undefined : { directoryName: fileOrDirectoryName, version };
6464
}
@@ -68,7 +68,7 @@ export async function getTypingInfo(packageName: string, fs: FS): Promise<Typing
6868

6969
const latestData: TypingsDataRaw = {
7070
libraryVersionDirectoryName: undefined,
71-
...(await combineDataForAllTypesVersions(packageName, rootDirectoryLs, fs, undefined))
71+
...(await combineDataForAllTypesVersions(packageName, rootDirectoryLs, fs, undefined)),
7272
};
7373

7474
const older = await Promise.all(
@@ -87,7 +87,7 @@ export async function getTypingInfo(packageName: string, fs: FS): Promise<Typing
8787
const ls = fs.readdir(directoryName);
8888
const data: TypingsDataRaw = {
8989
libraryVersionDirectoryName: formatTypingVersion(directoryVersion),
90-
...(await combineDataForAllTypesVersions(packageName, ls, fs.subDir(directoryName), directoryVersion))
90+
...(await combineDataForAllTypesVersions(packageName, ls, fs.subDir(directoryName), directoryVersion)),
9191
};
9292

9393
if (!matchesVersion(data, directoryVersion, considerLibraryMinorVersion)) {
@@ -122,8 +122,8 @@ interface LsMinusTypesVersionsAndPackageJson {
122122
readonly hasPackageJson: boolean;
123123
}
124124
function getTypesVersionsAndPackageJson(ls: readonly string[]): LsMinusTypesVersionsAndPackageJson {
125-
const withoutPackageJson = ls.filter(name => name !== packageJsonName);
126-
const [remainingLs, typesVersions] = split(withoutPackageJson, fileOrDirectoryName => {
125+
const withoutPackageJson = ls.filter((name) => name !== packageJsonName);
126+
const [remainingLs, typesVersions] = split(withoutPackageJson, (fileOrDirectoryName) => {
127127
const match = /^ts(\d+\.\d+)$/.exec(fileOrDirectoryName);
128128
if (match === null) {
129129
return undefined;
@@ -159,7 +159,7 @@ export function parseVersionFromDirectoryName(
159159
}
160160
return {
161161
major: Number(match[1]),
162-
minor: match[3] !== undefined ? Number(match[3]) : undefined // tslint:disable-line strict-type-predicates (false positive)
162+
minor: match[3] !== undefined ? Number(match[3]) : undefined, // tslint:disable-line strict-type-predicates (false positive)
163163
};
164164
}
165165

@@ -174,7 +174,7 @@ export function tryParsePackageVersion(versionString: string | undefined): Depen
174174
}
175175
return {
176176
major: Number(match[1]),
177-
minor: match[3] !== undefined ? Number(match[3]) : undefined // tslint:disable-line strict-type-predicates (false positive)
177+
minor: match[3] !== undefined ? Number(match[3]) : undefined, // tslint:disable-line strict-type-predicates (false positive)
178178
};
179179
}
180180

@@ -204,7 +204,7 @@ async function combineDataForAllTypesVersions(
204204
libraryMinorVersion,
205205
typeScriptVersion: minTsVersion,
206206
libraryName,
207-
projects
207+
projects,
208208
} = parseHeaderOrFail(readFileAndThrowOnBOM("index.d.ts", fs));
209209

210210
const dataForRoot = getTypingDataForSingleTypesVersion(
@@ -215,7 +215,7 @@ async function combineDataForAllTypesVersions(
215215
fs,
216216
directoryVersion
217217
);
218-
const dataForOtherTypesVersions = typesVersions.map(tsVersion => {
218+
const dataForOtherTypesVersions = typesVersions.map((tsVersion) => {
219219
const subFs = fs.subDir(`ts${tsVersion}`);
220220
return getTypingDataForSingleTypesVersion(
221221
tsVersion,
@@ -242,7 +242,7 @@ async function combineDataForAllTypesVersions(
242242

243243
const files = Array.from(
244244
flatMap(allTypesVersions, ({ typescriptVersion, declFiles }) =>
245-
declFiles.map(file => (typescriptVersion === undefined ? file : `ts${typescriptVersion}/${file}`))
245+
declFiles.map((file) => (typescriptVersion === undefined ? file : `ts${typescriptVersion}/${file}`))
246246
)
247247
);
248248

@@ -258,25 +258,25 @@ async function combineDataForAllTypesVersions(
258258
typesVersions,
259259
files,
260260
license,
261-
dependencies: Object.assign({}, ...allTypesVersions.map(v => v.dependencies)),
261+
dependencies: Object.assign({}, ...allTypesVersions.map((v) => v.dependencies)),
262262
testDependencies: getAllUniqueValues<"testDependencies", string>(allTypesVersions, "testDependencies"),
263-
pathMappings: Object.assign({}, ...allTypesVersions.map(v => v.pathMappings)),
263+
pathMappings: Object.assign({}, ...allTypesVersions.map((v) => v.pathMappings)),
264264
packageJsonDependencies,
265265
contentHash: hash(
266266
hasPackageJson ? [...files, packageJsonName] : files,
267-
mapDefined(allTypesVersions, a => a.tsconfigPathsForHash),
267+
mapDefined(allTypesVersions, (a) => a.tsconfigPathsForHash),
268268
fs
269269
),
270270
globals: getAllUniqueValues<"globals", string>(allTypesVersions, "globals"),
271271
declaredModules: getAllUniqueValues<"declaredModules", string>(allTypesVersions, "declaredModules"),
272272
imports: checkPackageJsonImports(packageJson.imports, packageJsonName),
273273
exports: checkPackageJsonExportsAndAddPJsonEntry(packageJson.exports, packageJsonName),
274-
type: checkPackageJsonType(packageJson.type, packageJsonName)
274+
type: checkPackageJsonType(packageJson.type, packageJsonName),
275275
};
276276
}
277277

278278
function getAllUniqueValues<K extends string, T>(records: readonly Record<K, readonly T[]>[], key: K): readonly T[] {
279-
return unique(flatMap(records, x => x[key]));
279+
return unique(flatMap(records, (x) => x[key]));
280280
}
281281

282282
interface TypingDataFromIndividualTypeScriptVersion {
@@ -332,19 +332,22 @@ function getTypingDataForSingleTypesVersion(
332332
checkAllFilesUsed(ls, usedFiles, otherFiles, packageName, fs);
333333
for (const untestedTypeFile of filter(
334334
otherFiles,
335-
name => name.endsWith(".d.ts") || name.endsWith(".d.mts") || name.endsWith(".d.cts")
335+
(name) => name.endsWith(".d.ts") || name.endsWith(".d.mts") || name.endsWith(".d.cts")
336336
)) {
337337
// add d.ts files from OTHER_FILES.txt in order get their dependencies
338338
// tslint:disable-next-line:non-literal-fs-path -- Not a reference to the fs package
339339
types.set(untestedTypeFile, createSourceFile(untestedTypeFile, fs.readFile(untestedTypeFile)));
340340
}
341341

342342
const { dependencies: dependenciesWithDeclaredModules, globals, declaredModules } = getModuleInfo(packageName, types);
343-
const declaredRootModules = new Set(declaredModules.map(m => rootName(m, types, packageName)));
343+
const declaredRootModules = new Set(declaredModules.map((m) => rootName(m, types, packageName)));
344344
// Don't count an import of "x" as a dependency if we saw `declare module "x"` somewhere.
345-
const dependenciesSet = new Set(filter(dependenciesWithDeclaredModules, m => !declaredRootModules.has(m)));
345+
const dependenciesSet = new Set(filter(dependenciesWithDeclaredModules, (m) => !declaredRootModules.has(m)));
346346
const testDependencies = Array.from(
347-
filter(getTestDependencies(packageName, types, tests.keys(), dependenciesSet, fs), m => !declaredRootModules.has(m))
347+
filter(
348+
getTestDependencies(packageName, types, tests.keys(), dependenciesSet, fs),
349+
(m) => !declaredRootModules.has(m)
350+
)
348351
);
349352

350353
const { paths } = tsconfig.compilerOptions;
@@ -373,7 +376,7 @@ function getTypingDataForSingleTypesVersion(
373376
globals,
374377
declaredModules,
375378
declFiles: sort(types.keys()),
376-
tsconfigPathsForHash
379+
tsconfigPathsForHash,
377380
};
378381
}
379382

@@ -494,7 +497,7 @@ Other d.ts files must either be referenced through index.d.ts, tests, or added t
494497
}
495498

496499
function isRelativePath(path: string) {
497-
return path.split(/\//).every(part => part.length > 0 && !part.match(/^\.+$|[\\\n\r]/));
500+
return path.split(/\//).every((part) => part.length > 0 && !part.match(/^\.+$|[\\\n\r]/));
498501
}
499502

500503
interface TsConfig {
@@ -633,7 +636,7 @@ const nodeBuiltins: ReadonlySet<string> = new Set([
633636
"util",
634637
"v8",
635638
"vm",
636-
"zlib"
639+
"zlib",
637640
]);
638641

639642
function parseDependencyVersionFromPath(
@@ -657,7 +660,7 @@ function withoutEnd(s: string, end: string): string | undefined {
657660
}
658661

659662
function hash(files: readonly string[], tsconfigPathsForHash: readonly string[], fs: FS): string {
660-
const fileContents = files.map(f => `${f}**${readFileAndThrowOnBOM(f, fs)}`);
663+
const fileContents = files.map((f) => `${f}**${readFileAndThrowOnBOM(f, fs)}`);
661664
let allContent = fileContents.join("||");
662665
for (const path of tsconfigPathsForHash) {
663666
allContent += path;

0 commit comments

Comments
 (0)