@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 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 headers of [DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped) types.
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: `npm run build`.
8
- To test: `npm run test`. (Currently requires a re-build to test changes.)
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 libraryName: string;
4
+ readonly nonNpmDescription?: string;
5
+ readonly name: string;
6
6
  readonly libraryMajorVersion: number;
7
7
  readonly libraryMinorVersion: number;
8
- readonly typeScriptVersion: AllTypeScriptVersion;
8
+ readonly minimumTypeScriptVersion: AllTypeScriptVersion;
9
9
  readonly projects: readonly string[];
10
- readonly contributors: readonly Author[];
10
+ readonly owners: readonly Owner[];
11
11
  }
12
- export interface Author {
12
+ export type Owner = {
13
13
  readonly name: string;
14
14
  readonly url: string;
15
- readonly githubUsername: string | undefined;
16
- }
17
- export interface ParseError {
18
- readonly index: number;
19
- readonly line: number;
20
- readonly column: number;
21
- readonly expected: readonly string[];
22
- }
23
- export declare function makeTypesVersionsForPackageJson(typesVersions: readonly TypeScriptVersion[]): unknown;
24
- export declare function parseHeaderOrFail(descriptor: string, mainFileContent: string): Header;
25
- export declare function validate(mainFileContent: string): ParseError | undefined;
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.parseTypeScriptVersionLine = exports.renderExpected = exports.validate = exports.parseHeaderOrFail = exports.makeTypesVersionsForPackageJson = void 0;
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 parseHeaderOrFail(descriptor, mainFileContent) {
20
- const header = parseHeader(mainFileContent, /*strict*/ false);
21
- if (isParseError(header)) {
22
- throw new Error(renderParseError(descriptor, header));
23
- }
24
- return header;
25
- }
26
- exports.parseHeaderOrFail = parseHeaderOrFail;
27
- function validate(mainFileContent) {
28
- const h = parseHeader(mainFileContent, /*strict*/ true);
29
- return isParseError(h) ? h : undefined;
30
- }
31
- exports.validate = validate;
32
- function renderExpected(expected) {
33
- return expected.length === 1 ? expected[0] : `one of\n\t${expected.join("\n\t")}`;
34
- }
35
- exports.renderExpected = renderExpected;
36
- function renderParseError(descriptor, { line, column, expected }) {
37
- return `At ${line}:${column} in ${descriptor}: Expected ${renderExpected(expected)}`;
38
- }
39
- function isParseError(x) {
40
- // tslint:disable-next-line strict-type-predicates
41
- return x.expected !== undefined;
42
- }
43
- /** @param strict If true, we allow fewer things to be parsed. Turned on by linting. */
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
- majorReverse = b;
127
- minorReverse = a;
192
+ return { major: version.major, minor: version.minor };
128
193
  }
129
- if (v !== undefined && strict) {
130
- // tslint:disable-line strict-type-predicates
131
- return fail("'v' not allowed");
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
- if (strict) {
136
- return fail("Needs MAJOR.MINOR");
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
- const [name, major, minor] = [reverse(nameReverse), reverse(majorReverse), reverse(minorReverse)];
142
- return pm.makeSuccess(end, {
143
- name,
144
- major: intOfString(major),
145
- minor: minor === "x" ? 0 : intOfString(minor),
146
- });
147
- function fail(msg) {
148
- let expected = "foo MAJOR.MINOR";
149
- if (msg !== undefined) {
150
- expected += ` (${msg})`;
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
- const typeScriptVersionLineParser = pm
157
- .regexp(/\/\/ (?:Minimum )?TypeScript Version: (\d.(\d))/, 1)
158
- .chain((v) => typescript_versions_1.TypeScriptVersion.all.includes(v)
159
- ? pm.succeed(v)
160
- : pm.fail(`TypeScript ${v} is not yet supported.`));
161
- const typeScriptVersionParser = pm
162
- .regexp(/\r?\n/)
163
- .then(typeScriptVersionLineParser)
164
- .fallback(typescript_versions_1.TypeScriptVersion.shipped[0]);
165
- function parseTypeScriptVersionLine(line) {
166
- const result = typeScriptVersionLineParser.parse(line);
167
- if (!result.status) {
168
- throw new Error(`Could not parse version: line is '${line}'`);
169
- }
170
- return result.value;
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
- exports.parseTypeScriptVersionLine = parseTypeScriptVersionLine;
173
- function reverse(s) {
174
- let out = "";
175
- for (let i = s.length - 1; i >= 0; i--) {
176
- out += s[i];
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
- return out;
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
- function regexpIndexOf(s, rgx, start) {
181
- const index = s.slice(start).search(rgx);
182
- return index === -1 ? index : index + start;
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
- function intOfString(str) {
185
- const n = Number.parseInt(str, 10);
186
- if (Number.isNaN(n)) {
187
- throw new Error(`Error in parseInt(${JSON.stringify(str)})`);
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 n;
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.177",
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
- "@definitelytyped/typescript-versions": "^0.0.177",
24
- "@types/parsimmon": "^1.10.1",
25
- "parsimmon": "^1.13.0"
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
- "gitHead": "962f06bd86ded720d4351c761b6a7af6cf79f97e"
31
- }
29
+ "scripts": {
30
+ "build": "tsc -b",
31
+ "test": "../../node_modules/.bin/jest --config ../../jest.config.js packages/header-parser"
32
+ }
33
+ }