@definitelytyped/header-parser 0.0.177 → 0.0.179
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/CHANGELOG.md +11 -0
- package/README.md +4 -3
- package/dist/index.d.ts +24 -21
- package/dist/index.js +417 -155
- package/dist/index.js.map +1 -1
- package/package.json +12 -10
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @definitelytyped/header-parser
|
|
2
|
+
|
|
3
|
+
## 0.0.179
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 024c3e73: Update @definitelytyped for Definitely Typed's monorepo upgrade
|
|
8
|
+
- Updated dependencies [024c3e73]
|
|
9
|
+
- Updated dependencies [9fffa8ff]
|
|
10
|
+
- @definitelytyped/typescript-versions@0.0.179
|
|
11
|
+
- @definitelytyped/utils@0.0.179
|
package/README.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# DefinitelyTyped Header Parser
|
|
2
2
|
|
|
3
|
-
This library parses
|
|
3
|
+
This library parses package.jsons of [DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped) types.
|
|
4
|
+
Its name is left over from when package information was stored in textual headers.
|
|
4
5
|
|
|
5
6
|
# Contributing
|
|
6
7
|
|
|
7
|
-
To build: `
|
|
8
|
-
To test: `
|
|
8
|
+
To build: `pnpm run build`.
|
|
9
|
+
To test: `pnpm test`.
|
|
9
10
|
|
|
10
11
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,31 +1,34 @@
|
|
|
1
|
-
import pm = require("parsimmon");
|
|
2
1
|
import { AllTypeScriptVersion, TypeScriptVersion } from "@definitelytyped/typescript-versions";
|
|
3
2
|
export interface Header {
|
|
4
3
|
readonly nonNpm: boolean;
|
|
5
|
-
readonly
|
|
4
|
+
readonly nonNpmDescription?: string;
|
|
5
|
+
readonly name: string;
|
|
6
6
|
readonly libraryMajorVersion: number;
|
|
7
7
|
readonly libraryMinorVersion: number;
|
|
8
|
-
readonly
|
|
8
|
+
readonly minimumTypeScriptVersion: AllTypeScriptVersion;
|
|
9
9
|
readonly projects: readonly string[];
|
|
10
|
-
readonly
|
|
10
|
+
readonly owners: readonly Owner[];
|
|
11
11
|
}
|
|
12
|
-
export
|
|
12
|
+
export type Owner = {
|
|
13
13
|
readonly name: string;
|
|
14
14
|
readonly url: string;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
readonly
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export declare
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
export declare function renderExpected(expected: readonly string[]): string;
|
|
27
|
-
export declare function parseTypeScriptVersionLine(line: string): AllTypeScriptVersion;
|
|
28
|
-
declare module "parsimmon" {
|
|
29
|
-
type Pr<T> = pm.Parser<T>;
|
|
30
|
-
function seqMap<T, U, V, W, X, Y, Z, A, B, C>(p1: Pr<T>, p2: Pr<U>, p3: Pr<V>, p4: Pr<W>, p5: Pr<X>, p6: Pr<Y>, p7: Pr<Z>, p8: Pr<A>, p9: Pr<B>, cb: (a1: T, a2: U, a3: V, a4: W, a5: X, a6: Y, a7: Z, a8: A, a9: B) => C): Pr<C>;
|
|
15
|
+
} | {
|
|
16
|
+
readonly name: string;
|
|
17
|
+
readonly githubUsername: string;
|
|
18
|
+
readonly url?: undefined;
|
|
19
|
+
};
|
|
20
|
+
export declare function makeTypesVersionsForPackageJson(typesVersions: readonly AllTypeScriptVersion[]): unknown;
|
|
21
|
+
export declare function validatePackageJson(typesDirectoryName: string, packageJson: Record<string, unknown>, typesVersions: readonly AllTypeScriptVersion[]): Header | string[];
|
|
22
|
+
export declare function getTypesVersions(dirPath: string): readonly TypeScriptVersion[];
|
|
23
|
+
export declare const enum License {
|
|
24
|
+
MIT = "MIT",
|
|
25
|
+
Apache20 = "Apache-2.0"
|
|
31
26
|
}
|
|
27
|
+
export declare function getLicenseFromPackageJson(packageJsonLicense: unknown): License | string[];
|
|
28
|
+
export declare function checkPackageJsonExportsAndAddPJsonEntry(exports: unknown, path: string): string | object | undefined;
|
|
29
|
+
export declare function checkPackageJsonImports(imports: unknown, path: string): object | string[] | undefined;
|
|
30
|
+
export declare function checkPackageJsonType(type: unknown, path: string): string[] | "module" | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* @param devDependencySelfName - pass the package name only for devDependencies
|
|
33
|
+
*/
|
|
34
|
+
export declare function checkPackageJsonDependencies(dependencies: unknown, path: string, allowedDependencies: ReadonlySet<string>, devDependencySelfName?: string): string[];
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const pm = require("parsimmon");
|
|
26
|
+
exports.checkPackageJsonDependencies = exports.checkPackageJsonType = exports.checkPackageJsonImports = exports.checkPackageJsonExportsAndAddPJsonEntry = exports.getLicenseFromPackageJson = exports.getTypesVersions = exports.validatePackageJson = exports.makeTypesVersionsForPackageJson = void 0;
|
|
5
27
|
const typescript_versions_1 = require("@definitelytyped/typescript-versions");
|
|
28
|
+
const assert = require("assert");
|
|
29
|
+
const fs = require("fs");
|
|
30
|
+
const semver = __importStar(require("semver"));
|
|
31
|
+
const utils_1 = require("@definitelytyped/utils");
|
|
6
32
|
function makeTypesVersionsForPackageJson(typesVersions) {
|
|
7
33
|
if (typesVersions.length === 0) {
|
|
8
34
|
return undefined;
|
|
@@ -16,176 +42,412 @@ function makeTypesVersionsForPackageJson(typesVersions) {
|
|
|
16
42
|
return out;
|
|
17
43
|
}
|
|
18
44
|
exports.makeTypesVersionsForPackageJson = makeTypesVersionsForPackageJson;
|
|
19
|
-
function
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
function parseHeader(text, strict) {
|
|
45
|
-
const res = headerParser(strict).parse(text);
|
|
46
|
-
return res.status
|
|
47
|
-
? res.value
|
|
48
|
-
: { index: res.index.offset, line: res.index.line, column: res.index.column, expected: res.expected };
|
|
49
|
-
}
|
|
50
|
-
function headerParser(strict) {
|
|
51
|
-
return pm.seqMap(pm.regex(/\/\/ Type definitions for (non-npm package )?/), parseLabel(strict), pm.string("// Project: "), projectParser, pm.regexp(/\r?\n\/\/ Definitions by: /), contributorsParser(strict), definitionsParser, typeScriptVersionParser, pm.all, // Don't care about the rest of the file
|
|
52
|
-
// tslint:disable-next-line:variable-name
|
|
53
|
-
(str, label, _project, projects, _defsBy, contributors, _definitions, typeScriptVersion) => ({
|
|
54
|
-
libraryName: label.name,
|
|
55
|
-
libraryMajorVersion: label.major,
|
|
56
|
-
libraryMinorVersion: label.minor,
|
|
57
|
-
nonNpm: str.endsWith("non-npm package "),
|
|
58
|
-
projects,
|
|
59
|
-
contributors,
|
|
60
|
-
typeScriptVersion,
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
|
-
/*
|
|
64
|
-
Allow any of the following:
|
|
65
|
-
|
|
66
|
-
// Project: https://foo.com
|
|
67
|
-
// https://bar.com
|
|
68
|
-
|
|
69
|
-
// Project: https://foo.com,
|
|
70
|
-
// https://bar.com
|
|
71
|
-
|
|
72
|
-
// Project: https://foo.com, https://bar.com
|
|
73
|
-
|
|
74
|
-
Use `\s\s+` to ensure at least 2 spaces, to disambiguate from the next line being `// Definitions by:`.
|
|
75
|
-
*/
|
|
76
|
-
const separator = pm.regexp(/(, )|(,?\r?\n\/\/\s\s+)/);
|
|
77
|
-
const projectParser = pm.sepBy1(pm.regexp(/[^,\r\n]+/), separator);
|
|
78
|
-
function contributorsParser(strict) {
|
|
79
|
-
const contributor = strict
|
|
80
|
-
? pm.seqMap(pm.regexp(/([^<]+) /, 1), pm.regexp(/\<https\:\/\/github\.com\/([a-zA-Z\d\-]+)\/?\>/, 1), (name, githubUsername) => ({ name, url: `https://github.com/${githubUsername}`, githubUsername }))
|
|
81
|
-
: // In non-strict mode, allows arbitrary URL, and trailing whitespace.
|
|
82
|
-
pm.seqMap(pm.regexp(/([^<]+) /, 1), pm.regexp(/<([^>]+)> */, 1), (name, url) => {
|
|
83
|
-
const rgx = /^https\:\/\/github.com\/([a-zA-Z\d\-]+)\/?$/;
|
|
84
|
-
const match = rgx.exec(url);
|
|
85
|
-
const githubUsername = match === null ? undefined : match[1];
|
|
86
|
-
// tslint:disable-next-line no-null-keyword
|
|
87
|
-
return { name, url: githubUsername ? `https://github.com/${githubUsername}` : url, githubUsername };
|
|
88
|
-
});
|
|
89
|
-
return pm.sepBy1(contributor, separator);
|
|
90
|
-
}
|
|
91
|
-
const definitionsParser = pm.regexp(/\r?\n\/\/ Definitions: [^\r\n]+/);
|
|
92
|
-
function parseLabel(strict) {
|
|
93
|
-
return pm.Parser((input, index) => {
|
|
94
|
-
// Take all until the first newline.
|
|
95
|
-
const endIndex = regexpIndexOf(input, /\r|\n/, index);
|
|
96
|
-
if (endIndex === -1) {
|
|
97
|
-
return fail("EOF");
|
|
98
|
-
}
|
|
99
|
-
// Index past the end of the newline.
|
|
100
|
-
const end = input[endIndex] === "\r" ? endIndex + 2 : endIndex + 1;
|
|
101
|
-
const tilNewline = input.slice(index, endIndex);
|
|
102
|
-
// Parse in reverse. Once we've stripped off the version, the rest is the libary name.
|
|
103
|
-
const reversed = reverse(tilNewline);
|
|
104
|
-
// Last digit is allowed to be "x", which acts like "0"
|
|
105
|
-
const rgx = /((\d+|x)\.(\d+)(\.\d+)?(v)? )?(.+)/;
|
|
106
|
-
const match = rgx.exec(reversed);
|
|
107
|
-
if (match === null) {
|
|
108
|
-
// tslint:disable-line no-null-keyword
|
|
109
|
-
return fail();
|
|
110
|
-
}
|
|
111
|
-
const [, version, a, b, c, v, nameReverse] = match;
|
|
112
|
-
let majorReverse;
|
|
113
|
-
let minorReverse;
|
|
114
|
-
if (version !== undefined) {
|
|
115
|
-
// tslint:disable-line strict-type-predicates
|
|
116
|
-
if (c !== undefined) {
|
|
117
|
-
// tslint:disable-line strict-type-predicates
|
|
118
|
-
// There is a patch version
|
|
119
|
-
majorReverse = c;
|
|
120
|
-
minorReverse = b;
|
|
121
|
-
if (strict) {
|
|
122
|
-
return fail("patch version not allowed");
|
|
45
|
+
function validatePackageJson(typesDirectoryName, packageJson, typesVersions) {
|
|
46
|
+
const errors = [];
|
|
47
|
+
const needsTypesVersions = typesVersions.length !== 0;
|
|
48
|
+
for (const key in packageJson) {
|
|
49
|
+
switch (key) {
|
|
50
|
+
case "private":
|
|
51
|
+
case "dependencies":
|
|
52
|
+
case "license":
|
|
53
|
+
case "imports":
|
|
54
|
+
case "exports":
|
|
55
|
+
case "type":
|
|
56
|
+
case "name":
|
|
57
|
+
case "version":
|
|
58
|
+
case "devDependencies":
|
|
59
|
+
case "projects":
|
|
60
|
+
case "minimumTypeScriptVersion":
|
|
61
|
+
case "owners":
|
|
62
|
+
case "nonNpm":
|
|
63
|
+
case "nonNpmDescription":
|
|
64
|
+
case "pnpm":
|
|
65
|
+
break;
|
|
66
|
+
case "typesVersions":
|
|
67
|
+
case "types":
|
|
68
|
+
if (!needsTypesVersions) {
|
|
69
|
+
errors.push(`${typesDirectoryName}'s package.json doesn't need to set "${key}" when no 'tsX.X' directories exist.`);
|
|
123
70
|
}
|
|
71
|
+
break;
|
|
72
|
+
default:
|
|
73
|
+
errors.push(`${typesDirectoryName}'s package.json should not include property ${key}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// private
|
|
77
|
+
if (packageJson.private !== true) {
|
|
78
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "private": must be \`"private": true\``);
|
|
79
|
+
}
|
|
80
|
+
// devDependencies
|
|
81
|
+
if (typeof packageJson.devDependencies !== "object" ||
|
|
82
|
+
packageJson.devDependencies === null ||
|
|
83
|
+
packageJson.devDependencies["@types/" + typesDirectoryName] !== "workspace:.") {
|
|
84
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "devDependencies": must include \`"@types/${typesDirectoryName}": "workspace:."\``);
|
|
85
|
+
}
|
|
86
|
+
// typesVersions
|
|
87
|
+
if (needsTypesVersions) {
|
|
88
|
+
assert.strictEqual(packageJson.types, "index", `"types" in '${typesDirectoryName}'s package.json' should be "index".`);
|
|
89
|
+
const expected = makeTypesVersionsForPackageJson(typesVersions);
|
|
90
|
+
if (!(0, utils_1.deepEquals)(packageJson.typesVersions, expected)) {
|
|
91
|
+
errors.push(`'${typesDirectoryName}'s package.json' has bad "typesVersions". Should be: ${JSON.stringify(expected, undefined, 4)}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// building the header object uses a monadic error pattern based on the one in the old header parser
|
|
95
|
+
// It's verbose and repetitive, but I didn't feel like writing a monadic `seq` to be used in only one place.
|
|
96
|
+
let name = "ERROR";
|
|
97
|
+
let libraryMajorVersion = 0;
|
|
98
|
+
let libraryMinorVersion = 0;
|
|
99
|
+
let nonNpm = false;
|
|
100
|
+
let minimumTypeScriptVersion = typescript_versions_1.TypeScriptVersion.lowest;
|
|
101
|
+
let projects = [];
|
|
102
|
+
let owners = [];
|
|
103
|
+
const nameResult = validateName();
|
|
104
|
+
const versionResult = validateVersion();
|
|
105
|
+
const nonNpmResult = validateNonNpm();
|
|
106
|
+
const typeScriptVersionResult = validateTypeScriptVersion();
|
|
107
|
+
const projectsResult = validateProjects();
|
|
108
|
+
const ownersResult = validateOwners();
|
|
109
|
+
const pnpmResult = validatePnpm();
|
|
110
|
+
const licenseResult = getLicenseFromPackageJson(packageJson.license);
|
|
111
|
+
if (typeof nameResult === "object") {
|
|
112
|
+
errors.push(...nameResult.errors);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
name = packageJson.name;
|
|
116
|
+
}
|
|
117
|
+
if ("errors" in versionResult) {
|
|
118
|
+
errors.push(...versionResult.errors);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
libraryMajorVersion = versionResult.major;
|
|
122
|
+
libraryMinorVersion = versionResult.minor;
|
|
123
|
+
}
|
|
124
|
+
if (typeof nonNpmResult === "object") {
|
|
125
|
+
errors.push(...nonNpmResult.errors);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
nonNpm = nonNpmResult;
|
|
129
|
+
}
|
|
130
|
+
if (typeof typeScriptVersionResult === "object") {
|
|
131
|
+
errors.push(...typeScriptVersionResult.errors);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
minimumTypeScriptVersion = typeScriptVersionResult;
|
|
135
|
+
}
|
|
136
|
+
if ("errors" in projectsResult) {
|
|
137
|
+
errors.push(...projectsResult.errors);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
projects = projectsResult;
|
|
141
|
+
}
|
|
142
|
+
if ("errors" in ownersResult) {
|
|
143
|
+
errors.push(...ownersResult.errors);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
owners = ownersResult;
|
|
147
|
+
}
|
|
148
|
+
if (typeof pnpmResult === "object") {
|
|
149
|
+
errors.push(...pnpmResult.errors);
|
|
150
|
+
}
|
|
151
|
+
if (Array.isArray(licenseResult)) {
|
|
152
|
+
errors.push(...licenseResult);
|
|
153
|
+
}
|
|
154
|
+
if (errors.length) {
|
|
155
|
+
return errors;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
return {
|
|
159
|
+
name,
|
|
160
|
+
libraryMajorVersion,
|
|
161
|
+
libraryMinorVersion,
|
|
162
|
+
nonNpm,
|
|
163
|
+
minimumTypeScriptVersion,
|
|
164
|
+
projects,
|
|
165
|
+
owners,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
function validateName() {
|
|
169
|
+
if (packageJson.name !== "@types/" + typesDirectoryName) {
|
|
170
|
+
return {
|
|
171
|
+
errors: [`${typesDirectoryName}'s package.json should have \`"name": "@types/${typesDirectoryName}"\``],
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
return typesDirectoryName;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
function validateVersion() {
|
|
179
|
+
const errors = [];
|
|
180
|
+
if (!packageJson.version || typeof packageJson.version !== "string") {
|
|
181
|
+
errors.push(`${typesDirectoryName}'s package.json should have \`"version"\` matching the version of the implementation package.`);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
const version = semver.parse(packageJson.version);
|
|
185
|
+
if (version === null) {
|
|
186
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "version": ${JSON.stringify(packageJson.version)} should look like "NN.NN.9999"`);
|
|
187
|
+
}
|
|
188
|
+
else if (version.patch !== 9999) {
|
|
189
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "version": ${version} must end with ".9999"`);
|
|
124
190
|
}
|
|
125
191
|
else {
|
|
126
|
-
|
|
127
|
-
minorReverse = a;
|
|
192
|
+
return { major: version.major, minor: version.minor };
|
|
128
193
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
194
|
+
}
|
|
195
|
+
return { errors };
|
|
196
|
+
}
|
|
197
|
+
function validateNonNpm() {
|
|
198
|
+
const errors = [];
|
|
199
|
+
if (packageJson.nonNpm !== undefined) {
|
|
200
|
+
if (packageJson.nonNpm !== true) {
|
|
201
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "nonNpm": must be true if present.`);
|
|
202
|
+
}
|
|
203
|
+
else if (!packageJson.nonNpmDescription) {
|
|
204
|
+
errors.push(`${typesDirectoryName}'s package.json has missing "nonNpmDescription", which is required with "nonNpm": true.`);
|
|
132
205
|
}
|
|
206
|
+
else if (typeof packageJson.nonNpmDescription !== "string") {
|
|
207
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "nonNpmDescription": must be a string if present.`);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
return { errors };
|
|
213
|
+
}
|
|
214
|
+
else if (packageJson.nonNpmDescription !== undefined) {
|
|
215
|
+
errors.push(`${typesDirectoryName}'s package.json has "nonNpmDescription" without "nonNpm": true.`);
|
|
216
|
+
}
|
|
217
|
+
if (errors.length) {
|
|
218
|
+
return { errors };
|
|
133
219
|
}
|
|
134
220
|
else {
|
|
135
|
-
|
|
136
|
-
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function validateTypeScriptVersion() {
|
|
225
|
+
if (packageJson.minimumTypeScriptVersion) {
|
|
226
|
+
if (typeof packageJson.minimumTypeScriptVersion !== "string" ||
|
|
227
|
+
!typescript_versions_1.TypeScriptVersion.isTypeScriptVersion(packageJson.minimumTypeScriptVersion)) {
|
|
228
|
+
return {
|
|
229
|
+
errors: [
|
|
230
|
+
`${typesDirectoryName}'s package.json has bad "minimumTypeScriptVersion": if present, must be a MAJOR.MINOR semver string up to "${typescript_versions_1.TypeScriptVersion.latest}".
|
|
231
|
+
(Defaults to "${typescript_versions_1.TypeScriptVersion.lowest}" if not provided.)`,
|
|
232
|
+
],
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
return packageJson.minimumTypeScriptVersion;
|
|
137
237
|
}
|
|
138
|
-
majorReverse = "0";
|
|
139
|
-
minorReverse = "0";
|
|
140
238
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
239
|
+
return typescript_versions_1.TypeScriptVersion.lowest;
|
|
240
|
+
}
|
|
241
|
+
function validateProjects() {
|
|
242
|
+
const errors = [];
|
|
243
|
+
if (!packageJson.projects ||
|
|
244
|
+
!Array.isArray(packageJson.projects) ||
|
|
245
|
+
!packageJson.projects.every((p) => typeof p === "string")) {
|
|
246
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "projects": must be an array of strings that point to the project web site(s).`);
|
|
247
|
+
}
|
|
248
|
+
else if (packageJson.projects.length === 0) {
|
|
249
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "projects": must have at least one project URL.`);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
return packageJson.projects;
|
|
253
|
+
}
|
|
254
|
+
return { errors };
|
|
255
|
+
}
|
|
256
|
+
function validateOwners() {
|
|
257
|
+
const errors = [];
|
|
258
|
+
if (!packageJson.owners || !Array.isArray(packageJson.owners)) {
|
|
259
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "owners": must be an array of type Array<{ name: string, url: string, githubUsername: string}>.`);
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
const es = checkPackageJsonOwners(typesDirectoryName, packageJson.owners);
|
|
263
|
+
if (es.length) {
|
|
264
|
+
errors.push(...es);
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
return packageJson.owners;
|
|
151
268
|
}
|
|
152
|
-
return pm.makeFailure(index, expected);
|
|
153
269
|
}
|
|
270
|
+
return { errors };
|
|
271
|
+
}
|
|
272
|
+
function validatePnpm() {
|
|
273
|
+
const errors = [];
|
|
274
|
+
if (packageJson.pnpm) {
|
|
275
|
+
if (typeof packageJson.pnpm !== "object" || packageJson.pnpm === null) {
|
|
276
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "pnpm": must be an object like { "overrides": { "@types/react": "^16" } }`);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
for (const key in packageJson.pnpm) {
|
|
280
|
+
if (key !== "overrides") {
|
|
281
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "pnpm": it should not include property "${key}", only "overrides".`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
const overrides = packageJson.pnpm.overrides;
|
|
285
|
+
if (overrides && typeof overrides === "object" && overrides !== null) {
|
|
286
|
+
for (const key in overrides) {
|
|
287
|
+
if (!key.startsWith("@types/")) {
|
|
288
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "pnpm": pnpm overrides may only override @types/ packages.`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
errors.push(`${typesDirectoryName}'s package.json has bad "pnpm": it must contain an "overrides" object.`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
if (errors.length) {
|
|
298
|
+
return { errors };
|
|
299
|
+
}
|
|
300
|
+
return undefined;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
exports.validatePackageJson = validatePackageJson;
|
|
304
|
+
function getTypesVersions(dirPath) {
|
|
305
|
+
return (0, utils_1.mapDefined)(fs.readdirSync(dirPath), (name) => {
|
|
306
|
+
if (name === "tsconfig.json" || name === "tslint.json" || name === "tsutils") {
|
|
307
|
+
return undefined;
|
|
308
|
+
}
|
|
309
|
+
const version = (0, utils_1.withoutStart)(name, "ts");
|
|
310
|
+
if (version === undefined || !fs.statSync((0, utils_1.joinPaths)(dirPath, name)).isDirectory()) {
|
|
311
|
+
return undefined;
|
|
312
|
+
}
|
|
313
|
+
if (!typescript_versions_1.TypeScriptVersion.isTypeScriptVersion(version)) {
|
|
314
|
+
throw new Error(`There is an entry named ${name}, but ${version} is not a valid TypeScript version.`);
|
|
315
|
+
}
|
|
316
|
+
if (!typescript_versions_1.TypeScriptVersion.isSupported(version)) {
|
|
317
|
+
throw new Error(`At ${dirPath}/${name}: TypeScript version ${version} is not supported on Definitely Typed.`);
|
|
318
|
+
}
|
|
319
|
+
return version;
|
|
154
320
|
});
|
|
155
321
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
322
|
+
exports.getTypesVersions = getTypesVersions;
|
|
323
|
+
function checkPackageJsonOwners(packageName, packageJsonOwners) {
|
|
324
|
+
const errors = [];
|
|
325
|
+
for (const c of packageJsonOwners) {
|
|
326
|
+
if (typeof c !== "object" || c === null) {
|
|
327
|
+
errors.push(`${packageName}'s package.json has bad "owners": must be an array of type Array<{ name: string, url: string } | { name: string, githubUsername: string}>.`);
|
|
328
|
+
continue;
|
|
329
|
+
}
|
|
330
|
+
if (!("name" in c) || typeof c.name !== "string") {
|
|
331
|
+
errors.push(`${packageName}'s package.json has bad "name" in owner ${JSON.stringify(c)}
|
|
332
|
+
Must be an object of type { name: string, url: string } | { name: string, githubUsername: string}.`);
|
|
333
|
+
}
|
|
334
|
+
else if (c.name === "My Self") {
|
|
335
|
+
errors.push(`${packageName}'s package.json has bad "name" in owner ${JSON.stringify(c)}
|
|
336
|
+
Author name should be your name, not the default.`);
|
|
337
|
+
}
|
|
338
|
+
if ("githubUsername" in c) {
|
|
339
|
+
if (typeof c.githubUsername !== "string") {
|
|
340
|
+
errors.push(`${packageName}'s package.json has bad "githubUsername" in owner ${JSON.stringify(c)}
|
|
341
|
+
Must be an object of type { name: string, url: string } | { name: string, githubUsername: string}.`);
|
|
342
|
+
}
|
|
343
|
+
else if ("url" in c) {
|
|
344
|
+
errors.push(`${packageName}'s package.json has bad owner: should not have both "githubUsername" and "url" properties in owner ${JSON.stringify(c)}`);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
else if ("url" in c && typeof c.url !== "string") {
|
|
348
|
+
errors.push(`${packageName}'s package.json has bad "url" in owner ${JSON.stringify(c)}
|
|
349
|
+
Must be an object of type { name: string, url: string } | { name: string, githubUsername: string}.`);
|
|
350
|
+
}
|
|
351
|
+
for (const key in c) {
|
|
352
|
+
switch (key) {
|
|
353
|
+
case "name":
|
|
354
|
+
case "url":
|
|
355
|
+
case "githubUsername":
|
|
356
|
+
break;
|
|
357
|
+
default:
|
|
358
|
+
errors.push(`${packageName}'s package.json has bad owner: should not include property ${key} in ${JSON.stringify(c)}`);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
return errors;
|
|
171
363
|
}
|
|
172
|
-
|
|
173
|
-
function
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
364
|
+
const allLicenses = ["MIT" /* License.MIT */, "Apache-2.0" /* License.Apache20 */];
|
|
365
|
+
function getLicenseFromPackageJson(packageJsonLicense) {
|
|
366
|
+
if (packageJsonLicense === undefined) {
|
|
367
|
+
// tslint:disable-line strict-type-predicates (false positive)
|
|
368
|
+
return "MIT" /* License.MIT */;
|
|
177
369
|
}
|
|
178
|
-
|
|
370
|
+
if (typeof packageJsonLicense === "string" && packageJsonLicense === "MIT") {
|
|
371
|
+
return [`Specifying '"license": "MIT"' is redundant, this is the default.`];
|
|
372
|
+
}
|
|
373
|
+
if (allLicenses.includes(packageJsonLicense)) {
|
|
374
|
+
return packageJsonLicense;
|
|
375
|
+
}
|
|
376
|
+
return [
|
|
377
|
+
`'package.json' license is ${JSON.stringify(packageJsonLicense)}.\nExpected one of: ${JSON.stringify(allLicenses)}}`,
|
|
378
|
+
];
|
|
379
|
+
}
|
|
380
|
+
exports.getLicenseFromPackageJson = getLicenseFromPackageJson;
|
|
381
|
+
// TODO: Move these checks into validatePackageJson and make it return an entire package.json type, not just Header
|
|
382
|
+
// TODO: Expand these checks too, adding name and version just like dtslint
|
|
383
|
+
function checkPackageJsonExportsAndAddPJsonEntry(exports, path) {
|
|
384
|
+
if (exports === undefined)
|
|
385
|
+
return exports;
|
|
386
|
+
if (typeof exports === "string") {
|
|
387
|
+
return exports;
|
|
388
|
+
}
|
|
389
|
+
if (typeof exports !== "object") {
|
|
390
|
+
return [`Package exports at path ${path} should be an object or string.`];
|
|
391
|
+
}
|
|
392
|
+
if (exports === null) {
|
|
393
|
+
return [`Package exports at path ${path} should not be null.`];
|
|
394
|
+
}
|
|
395
|
+
if (!exports["./package.json"]) {
|
|
396
|
+
exports["./package.json"] = "./package.json";
|
|
397
|
+
}
|
|
398
|
+
return exports;
|
|
179
399
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
400
|
+
exports.checkPackageJsonExportsAndAddPJsonEntry = checkPackageJsonExportsAndAddPJsonEntry;
|
|
401
|
+
function checkPackageJsonImports(imports, path) {
|
|
402
|
+
if (imports === undefined)
|
|
403
|
+
return imports;
|
|
404
|
+
if (typeof imports !== "object") {
|
|
405
|
+
return [`Package imports at path ${path} should be an object or string.`];
|
|
406
|
+
}
|
|
407
|
+
else if (imports === null) {
|
|
408
|
+
return [`Package imports at path ${path} should not be null.`];
|
|
409
|
+
}
|
|
410
|
+
return imports;
|
|
411
|
+
}
|
|
412
|
+
exports.checkPackageJsonImports = checkPackageJsonImports;
|
|
413
|
+
function checkPackageJsonType(type, path) {
|
|
414
|
+
if (type === undefined)
|
|
415
|
+
return type;
|
|
416
|
+
if (type !== "module") {
|
|
417
|
+
return [`Package type at path ${path} can only be 'module'.`];
|
|
418
|
+
}
|
|
419
|
+
return type;
|
|
183
420
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
421
|
+
exports.checkPackageJsonType = checkPackageJsonType;
|
|
422
|
+
/**
|
|
423
|
+
* @param devDependencySelfName - pass the package name only for devDependencies
|
|
424
|
+
*/
|
|
425
|
+
function checkPackageJsonDependencies(dependencies, path, allowedDependencies, devDependencySelfName) {
|
|
426
|
+
if (dependencies === undefined) {
|
|
427
|
+
return [];
|
|
428
|
+
}
|
|
429
|
+
if (dependencies === null || typeof dependencies !== "object") {
|
|
430
|
+
return [`${path} should contain ${devDependencySelfName ? "devDependencies" : "dependencies"} or not exist.`];
|
|
431
|
+
}
|
|
432
|
+
const errors = [];
|
|
433
|
+
for (const dependencyName of Object.keys(dependencies)) {
|
|
434
|
+
if (!dependencyName.startsWith("@types/") && !allowedDependencies.has(dependencyName)) {
|
|
435
|
+
const msg = `Dependency ${dependencyName} not in the allowed dependencies list.
|
|
436
|
+
Please make a pull request to microsoft/DefinitelyTyped-tools adding it to \`packages/definitions-parser/allowedPackageJsonDependencies.txt\`.`;
|
|
437
|
+
errors.push(`In ${path}: ${msg}`);
|
|
438
|
+
}
|
|
439
|
+
const version = dependencies[dependencyName];
|
|
440
|
+
if (typeof version !== "string") {
|
|
441
|
+
errors.push(`In ${path}: Dependency version for ${dependencyName} should be a string.`);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
if (devDependencySelfName) {
|
|
445
|
+
const selfDependency = dependencies[devDependencySelfName];
|
|
446
|
+
if (selfDependency === undefined || selfDependency !== "workspace:.") {
|
|
447
|
+
errors.push(`In ${path}: devDependencies must contain a self-reference to the current package like ${JSON.stringify(devDependencySelfName)}: "workspace:."`);
|
|
448
|
+
}
|
|
188
449
|
}
|
|
189
|
-
return
|
|
450
|
+
return errors;
|
|
190
451
|
}
|
|
452
|
+
exports.checkPackageJsonDependencies = checkPackageJsonDependencies;
|
|
191
453
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@definitelytyped/header-parser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.179",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Nathan Shively-Sanders <nathansa@microsoft.com>",
|
|
6
6
|
"homepage": "https://github.com/microsoft/DefinitelyTyped-tools/tree/master/packages/header-parser#readme",
|
|
@@ -12,20 +12,22 @@
|
|
|
12
12
|
"url": "https://github.com/microsoft/DefinitelyTyped-tools.git",
|
|
13
13
|
"directory": "packages/header-parser"
|
|
14
14
|
},
|
|
15
|
-
"scripts": {
|
|
16
|
-
"build": "tsc -b",
|
|
17
|
-
"test": "../../node_modules/.bin/jest --config ../../jest.config.js packages/header-parser"
|
|
18
|
-
},
|
|
19
15
|
"bugs": {
|
|
20
16
|
"url": "https://github.com/microsoft/DefinitelyTyped-tools/issues"
|
|
21
17
|
},
|
|
22
18
|
"dependencies": {
|
|
23
|
-
"
|
|
24
|
-
"@
|
|
25
|
-
"
|
|
19
|
+
"semver": "^7.3.7",
|
|
20
|
+
"@definitelytyped/typescript-versions": "0.0.179",
|
|
21
|
+
"@definitelytyped/utils": "0.0.179"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/semver": "^7.5.2"
|
|
26
25
|
},
|
|
27
26
|
"publishConfig": {
|
|
28
27
|
"access": "public"
|
|
29
28
|
},
|
|
30
|
-
"
|
|
31
|
-
|
|
29
|
+
"scripts": {
|
|
30
|
+
"build": "tsc -b",
|
|
31
|
+
"test": "../../node_modules/.bin/jest --config ../../jest.config.js packages/header-parser"
|
|
32
|
+
}
|
|
33
|
+
}
|