@definitelytyped/dtslint 0.0.204 → 0.1.1

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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # @definitelytyped/dtslint
2
2
 
3
+ ## 0.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 10ad5d01: Clean up eslint options contruction
8
+ - Updated dependencies [987c9d5d]
9
+ - @definitelytyped/header-parser@0.1.1
10
+
11
+ ## 0.1.0
12
+
13
+ ### Minor Changes
14
+
15
+ - 02c11c32: Remove TSLint remnants
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies [02c11c32]
20
+ - @definitelytyped/header-parser@0.1.0
21
+
3
22
  ## 0.0.204
4
23
 
5
24
  ### Patch Changes
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  `dtslint` tests a TypeScript declaration file for style and correctness.
2
- It will install `typescript` and `tslint` for you, so this is the only tool you need to test a type definition.
2
+ It will install `typescript` and `eslint` for you, so this is the only tool you need to test a type definition.
3
3
 
4
4
  Lint rules new to dtslint are documented in the [docs](docs) directory.
5
5
 
@@ -101,24 +101,23 @@ For types that do not have a matching NPM package, add two properties:
101
101
  1. `"nonNpm": true`
102
102
  2. `"nonNpmDescription"`, a human-readable name for the project that is being typed.
103
103
 
104
- #### `types/tslint.json` or `types/.eslintrc.json`
104
+ #### `types/.eslintrc.json`
105
105
 
106
- Definitely Typed is in the process of migrating from tslint to eslint.
107
- If you are using the default rules, .eslintrc.json is optional; tslint.json should be
106
+ An `.eslintrc.json` file is optional.
107
+ You can skip it if you don't need to modify any lint rule settings.
108
+ We recommend not adding an `.eslintrc.json` file.
108
109
 
109
110
  ```json5
110
111
  { "extends": "@definitelytyped/dtslint/dt.json" }
111
112
  ```
112
113
 
113
- If present, this will override `dtslint`'s [default](https://github.com/microsoft/DefinitelyTyped-tools/blob/main/packages/dtslint/dtslint.json) settings.
114
- You can specify new lint [rules](https://palantir.github.io/tslint/rules/), or disable some. An example:
114
+ If present, this will override `dtslint`'s default "[`all`](https://github.com/microsoft/DefinitelyTyped-tools/blob/main/packages/eslint-plugin/src/configs/all.ts)" config.
115
+ You can specify new [lint rules](https://eslint.org/docs/latest/rules/), or disable some. An example:
115
116
 
116
117
  ```json5
117
118
  {
118
- "extends": "@definitelytyped/dtslint/dtslint.json", // Or "@definitelytyped/dtslint/dt.json" if on DefinitelyTyped
119
119
  "rules": {
120
- "semicolon": false,
121
- "indent": [true, "tabs"]
120
+ "@definitelytyped/no-unnecessary-generics": "off"
122
121
  }
123
122
  }
124
123
  ```
@@ -199,8 +198,6 @@ npm run watch
199
198
 
200
199
  Use `pnpm test` to run all tests.
201
200
 
202
- To run a single test: `node node_modules/tslint/bin/tslint --rules-dir dist/rules --test test/expect`.
203
-
204
201
  ## Code of Conduct
205
202
 
206
203
  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.
@@ -0,0 +1,2 @@
1
+ import * as ts from "typescript";
2
+ export declare function createProgram(configFile: string): ts.Program;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ // This file is intentionally similar to TSLint's old Linter.createProgram API:
3
+ // https://github.com/palantir/tslint/blob/285fc1db18d1fd24680d6a2282c6445abf1566ee/src/linter.ts#L54
4
+ // TODO: creating a program to get a list of files is pretty heavyweight.
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.createProgram = void 0;
30
+ const fs = __importStar(require("fs"));
31
+ const path = __importStar(require("path"));
32
+ const ts = __importStar(require("typescript"));
33
+ function createProgram(configFile) {
34
+ var _a;
35
+ const config = ts.readConfigFile(configFile, ts.sys.readFile);
36
+ if (config.error !== undefined) {
37
+ throw new Error(ts.formatDiagnostics([config.error], {
38
+ getCanonicalFileName: (f) => f,
39
+ getCurrentDirectory: process.cwd,
40
+ getNewLine: () => "\n",
41
+ }));
42
+ }
43
+ const parseConfigHost = {
44
+ fileExists: fs.existsSync,
45
+ readDirectory: ts.sys.readDirectory,
46
+ readFile: (file) => fs.readFileSync(file, "utf8"),
47
+ useCaseSensitiveFileNames: true,
48
+ };
49
+ const projectDirectory = path.dirname(configFile);
50
+ const parsed = ts.parseJsonConfigFileContent(config.config, parseConfigHost, path.resolve(projectDirectory), {
51
+ noEmit: true,
52
+ });
53
+ // ignore warnings and 'TS18003: No inputs were found in config file ...'
54
+ const errors = (_a = parsed.errors) === null || _a === void 0 ? void 0 : _a.filter((d) => d.category === ts.DiagnosticCategory.Error && d.code !== 18003);
55
+ if (errors === null || errors === void 0 ? void 0 : errors.length) {
56
+ throw new Error(ts.formatDiagnostics(errors, {
57
+ getCanonicalFileName: (f) => f,
58
+ getCurrentDirectory: process.cwd,
59
+ getNewLine: () => "\n",
60
+ }));
61
+ }
62
+ const host = ts.createCompilerHost(parsed.options, true);
63
+ return ts.createProgram(parsed.fileNames, parsed.options, host);
64
+ }
65
+ exports.createProgram = createProgram;
66
+ //# sourceMappingURL=createProgram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createProgram.js","sourceRoot":"","sources":["../src/createProgram.ts"],"names":[],"mappings":";AAAA,+EAA+E;AAC/E,qGAAqG;AACrG,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzE,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AAEjC,SAAgB,aAAa,CAAC,UAAkB;;IAC9C,MAAM,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;QAC9B,MAAM,IAAI,KAAK,CACb,EAAE,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACnC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,mBAAmB,EAAE,OAAO,CAAC,GAAG;YAChC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;SACvB,CAAC,CACH,CAAC;KACH;IAED,MAAM,eAAe,GAAuB;QAC1C,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa;QACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;QACjD,yBAAyB,EAAE,IAAI;KAChC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QAC3G,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,yEAAyE;IACzE,MAAM,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAC5G,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE;QAClB,MAAM,IAAI,KAAK,CACb,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAC3B,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,mBAAmB,EAAE,OAAO,CAAC,GAAG;YAChC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;SACvB,CAAC,CACH,CAAC;KACH;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEzD,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAvCD,sCAuCC"}
package/dist/index.js CHANGED
@@ -152,7 +152,6 @@ function next(v) {
152
152
  return typescript_versions_1.TypeScriptVersion.supported[index + 1];
153
153
  }
154
154
  async function testTypesVersion(dirPath, lowVersion, hiVersion, expectOnly, tsLocal, isLatest) {
155
- (0, lint_1.checkTslintJson)(dirPath);
156
155
  const tsconfigErrors = (0, checks_1.checkTsconfig)(dirPath, (0, util_1.getCompilerOptions)(dirPath));
157
156
  if (tsconfigErrors.length > 0) {
158
157
  throw new Error("\n\t* " + tsconfigErrors.join("\n\t* "));
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/dist/lint.d.ts CHANGED
@@ -2,5 +2,4 @@ import { TypeScriptVersion } from "@definitelytyped/typescript-versions";
2
2
  import * as TsType from "typescript";
3
3
  export declare function lint(dirPath: string, minVersion: TsVersion, maxVersion: TsVersion, isLatest: boolean, expectOnly: boolean, tsLocal: string | undefined): Promise<string | undefined>;
4
4
  export declare function isExternalDependency(file: TsType.SourceFile, dirPath: string, program: TsType.Program): boolean;
5
- export declare function checkTslintJson(dirPath: string): void;
6
5
  export type TsVersion = TypeScriptVersion | "local";
package/dist/lint.js CHANGED
@@ -1,33 +1,25 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.checkTslintJson = exports.isExternalDependency = exports.lint = void 0;
3
+ exports.isExternalDependency = exports.lint = void 0;
7
4
  const typescript_versions_1 = require("@definitelytyped/typescript-versions");
8
5
  const utils_1 = require("@definitelytyped/utils");
9
6
  const assert = require("assert");
10
- const fs_1 = __importDefault(require("fs"));
11
7
  const path_1 = require("path");
12
- const tslint_1 = require("tslint");
13
8
  const eslint_1 = require("eslint");
14
- const util_1 = require("./util");
9
+ const createProgram_1 = require("./createProgram");
15
10
  async function lint(dirPath, minVersion, maxVersion, isLatest, expectOnly, tsLocal) {
16
11
  const tsconfigPath = (0, path_1.join)(dirPath, "tsconfig.json");
17
12
  const estree = require(require.resolve("@typescript-eslint/typescript-estree", { paths: [dirPath] }));
18
13
  process.env.TSESTREE_SINGLE_RUN = "true";
19
- // TODO: To remove tslint, replace this with a ts.createProgram (probably)
20
- const lintProgram = tslint_1.Linter.createProgram(tsconfigPath);
21
- // TODO: To port expect-rule, eslint's config will also need to include [minVersion, maxVersion]
22
- // Also: expect-rule should be renamed to expect-type or check-type or something
23
- const esfiles = [];
14
+ const lintProgram = (0, createProgram_1.createProgram)(tsconfigPath);
15
+ const files = [];
24
16
  for (const file of lintProgram.getSourceFiles()) {
25
17
  if (lintProgram.isSourceFileDefaultLibrary(file)) {
26
18
  continue;
27
19
  }
28
20
  const { fileName, text } = file;
29
21
  if (!fileName.includes("node_modules")) {
30
- const err = testNoLintDisables("tslint:disable", text) || testNoLintDisables("eslint-disable", text);
22
+ const err = testNoLintDisables(text);
31
23
  if (err) {
32
24
  const { pos, message } = err;
33
25
  const place = file.getLineAndCharacterOfPosition(pos);
@@ -37,58 +29,62 @@ async function lint(dirPath, minVersion, maxVersion, isLatest, expectOnly, tsLoc
37
29
  // External dependencies should have been handled by `testDependencies`;
38
30
  // typesVersions should be handled in a separate lint
39
31
  if (!isExternalDependency(file, dirPath, lintProgram) && (!isLatest || !isTypesVersionPath(fileName, dirPath))) {
40
- esfiles.push(fileName);
32
+ files.push(fileName);
41
33
  }
42
34
  }
43
- let output = "";
35
+ const options = getEslintOptions(expectOnly, minVersion, maxVersion, tsLocal);
36
+ const eslint = new eslint_1.ESLint(options);
37
+ const formatter = await eslint.loadFormatter("stylish");
38
+ const results = await eslint.lintFiles(files);
39
+ const output = formatter.format(results);
40
+ estree.clearCaches();
41
+ return output;
42
+ }
43
+ exports.lint = lint;
44
+ function getEslintOptions(expectOnly, minVersion, maxVersion, tsLocal) {
44
45
  const versionsToTest = range(minVersion, maxVersion).map((versionName) => ({
45
46
  versionName,
46
47
  path: (0, utils_1.typeScriptPath)(versionName, tsLocal),
47
48
  }));
48
- const options = {
49
- cwd: dirPath,
49
+ const allFiles = ["*.ts", "*.cts", "*.mts", "*.tsx"];
50
+ const overrideConfig = {
51
+ overrides: [
52
+ {
53
+ files: allFiles,
54
+ rules: {
55
+ "@definitelytyped/expect": ["error", { versionsToTest }],
56
+ },
57
+ },
58
+ ],
59
+ };
60
+ if (expectOnly) {
61
+ return {
62
+ useEslintrc: false,
63
+ overrideConfig: {
64
+ plugins: ["@definitelytyped", "@typescript-eslint", "jsdoc"],
65
+ parser: "@typescript-eslint/parser",
66
+ parserOptions: {
67
+ project: true,
68
+ warnOnUnsupportedTypeScriptVersion: false,
69
+ },
70
+ ...overrideConfig,
71
+ },
72
+ };
73
+ }
74
+ return {
75
+ overrideConfig,
50
76
  baseConfig: {
51
77
  overrides: [
52
78
  {
53
- files: ["*.ts", "*.cts", "*.mts", "*.tsx"],
79
+ files: allFiles,
54
80
  rules: {
55
81
  "@definitelytyped/npm-naming": "error",
56
82
  },
57
83
  },
58
84
  ],
59
85
  },
60
- overrideConfig: {
61
- overrides: [
62
- {
63
- files: ["*.ts", "*.cts", "*.mts", "*.tsx"],
64
- rules: {
65
- "@definitelytyped/expect": ["error", { versionsToTest }],
66
- },
67
- },
68
- ],
69
- },
70
86
  };
71
- if (expectOnly) {
72
- // Disable the regular config, instead load only the plugins and use just the rule above.
73
- // TODO(jakebailey): share this with eslint-plugin
74
- options.useEslintrc = false;
75
- options.baseConfig = undefined;
76
- options.overrideConfig.plugins = ["@definitelytyped", "@typescript-eslint", "jsdoc"];
77
- const override = options.overrideConfig.overrides[0];
78
- override.parser = "@typescript-eslint/parser";
79
- override.parserOptions = {
80
- project: true,
81
- warnOnUnsupportedTypeScriptVersion: false,
82
- };
83
- }
84
- const eslint = new eslint_1.ESLint(options);
85
- const formatter = await eslint.loadFormatter("stylish");
86
- const eresults = await eslint.lintFiles(esfiles);
87
- output += formatter.format(eresults);
88
- estree.clearCaches();
89
- return output;
90
87
  }
91
- exports.lint = lint;
92
88
  function isExternalDependency(file, dirPath, program) {
93
89
  return !startsWithDirectory(file.fileName, dirPath) || program.isSourceFileFromExternalLibrary(file);
94
90
  }
@@ -110,7 +106,8 @@ function startsWithDirectory(filePath, dirPath) {
110
106
  const normalDirPath = normalizePath(dirPath).replace(/\/$/, "");
111
107
  return normalFilePath.startsWith(normalDirPath + "/") || normalFilePath.startsWith(normalDirPath + "\\");
112
108
  }
113
- function testNoLintDisables(disabler, text) {
109
+ function testNoLintDisables(text) {
110
+ const disabler = "eslint-disable";
114
111
  let lastIndex = 0;
115
112
  while (true) {
116
113
  const pos = text.indexOf(disabler, lastIndex);
@@ -120,31 +117,15 @@ function testNoLintDisables(disabler, text) {
120
117
  const end = pos + disabler.length;
121
118
  const nextChar = text.charAt(end);
122
119
  const nextChar2 = text.charAt(end + 1);
123
- if (nextChar !== "-" &&
124
- !(disabler === "tslint:disable" && nextChar === ":") &&
125
- !(disabler === "eslint-disable" && nextChar === " " && nextChar2 !== "*")) {
120
+ if (nextChar !== "-" && !(nextChar === " " && nextChar2 !== "*")) {
126
121
  const message = `'${disabler}' is forbidden. ` +
127
122
  "Per-line and per-rule disabling is allowed, for example: " +
128
- "'tslint:disable:rulename', tslint:disable-line' and 'tslint:disable-next-line' are allowed.";
123
+ "'eslint-disable:rulename', eslint-disable-line' and 'eslint-disable-next-line' are allowed.";
129
124
  return { pos, message };
130
125
  }
131
126
  lastIndex = end;
132
127
  }
133
128
  }
134
- function checkTslintJson(dirPath) {
135
- const configPath = getConfigPath(dirPath);
136
- const shouldExtend = "@definitelytyped/dtslint/dt.json";
137
- if (!fs_1.default.existsSync(configPath)) {
138
- throw new Error(`Missing \`tslint.json\` that contains \`{ "extends": "${shouldExtend}" }\`.`);
139
- }
140
- if ((0, util_1.readJson)(configPath).extends !== shouldExtend) {
141
- throw new Error(`'tslint.json' must extend "${shouldExtend}"`);
142
- }
143
- }
144
- exports.checkTslintJson = checkTslintJson;
145
- function getConfigPath(dirPath) {
146
- return (0, path_1.join)(dirPath, "tslint.json");
147
- }
148
129
  function range(minVersion, maxVersion) {
149
130
  if (minVersion === "local") {
150
131
  assert(maxVersion === "local");
package/dist/lint.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@definitelytyped/dtslint",
3
- "version": "0.0.204",
3
+ "version": "0.1.1",
4
4
  "description": "Runs tests on TypeScript definition files",
5
5
  "main": "./dist/index.js",
6
6
  "bin": "./dist/index.js",
@@ -25,11 +25,8 @@
25
25
  "@typescript-eslint/utils": "^6.11.0",
26
26
  "eslint": "^8.53.0",
27
27
  "eslint-plugin-import": "^2.29.0",
28
- "json-stable-stringify": "^1.0.2",
29
28
  "strip-json-comments": "^3.1.1",
30
- "tslint": "5.14.0",
31
- "yargs": "^17.7.2",
32
- "@definitelytyped/header-parser": "0.0.193",
29
+ "@definitelytyped/header-parser": "0.1.1",
33
30
  "@definitelytyped/typescript-versions": "0.0.184",
34
31
  "@definitelytyped/utils": "0.0.191"
35
32
  },
@@ -38,7 +35,6 @@
38
35
  },
39
36
  "devDependencies": {
40
37
  "@types/eslint": "^8.44.7",
41
- "@types/json-stable-stringify": "^1.0.36",
42
38
  "@types/strip-json-comments": "^3.0.0",
43
39
  "typescript": "^5.2.2"
44
40
  },
@@ -0,0 +1,48 @@
1
+ // This file is intentionally similar to TSLint's old Linter.createProgram API:
2
+ // https://github.com/palantir/tslint/blob/285fc1db18d1fd24680d6a2282c6445abf1566ee/src/linter.ts#L54
3
+ // TODO: creating a program to get a list of files is pretty heavyweight.
4
+
5
+ import * as fs from "fs";
6
+ import * as path from "path";
7
+ import * as ts from "typescript";
8
+
9
+ export function createProgram(configFile: string): ts.Program {
10
+ const config = ts.readConfigFile(configFile, ts.sys.readFile);
11
+ if (config.error !== undefined) {
12
+ throw new Error(
13
+ ts.formatDiagnostics([config.error], {
14
+ getCanonicalFileName: (f) => f,
15
+ getCurrentDirectory: process.cwd,
16
+ getNewLine: () => "\n",
17
+ }),
18
+ );
19
+ }
20
+
21
+ const parseConfigHost: ts.ParseConfigHost = {
22
+ fileExists: fs.existsSync,
23
+ readDirectory: ts.sys.readDirectory,
24
+ readFile: (file) => fs.readFileSync(file, "utf8"),
25
+ useCaseSensitiveFileNames: true,
26
+ };
27
+
28
+ const projectDirectory = path.dirname(configFile);
29
+ const parsed = ts.parseJsonConfigFileContent(config.config, parseConfigHost, path.resolve(projectDirectory), {
30
+ noEmit: true,
31
+ });
32
+
33
+ // ignore warnings and 'TS18003: No inputs were found in config file ...'
34
+ const errors = parsed.errors?.filter((d) => d.category === ts.DiagnosticCategory.Error && d.code !== 18003);
35
+ if (errors?.length) {
36
+ throw new Error(
37
+ ts.formatDiagnostics(errors, {
38
+ getCanonicalFileName: (f) => f,
39
+ getCurrentDirectory: process.cwd,
40
+ getNewLine: () => "\n",
41
+ }),
42
+ );
43
+ }
44
+
45
+ const host = ts.createCompilerHost(parsed.options, true);
46
+
47
+ return ts.createProgram(parsed.fileNames, parsed.options, host);
48
+ }
package/src/index.ts CHANGED
@@ -7,7 +7,7 @@ import { basename, dirname, join as joinPaths, resolve } from "path";
7
7
 
8
8
  import { deepEquals } from "@definitelytyped/utils";
9
9
  import { checkPackageJson, checkTsconfig } from "./checks";
10
- import { checkTslintJson, lint, TsVersion } from "./lint";
10
+ import { lint, TsVersion } from "./lint";
11
11
  import { getCompilerOptions, packageNameFromPath } from "./util";
12
12
  import { getTypesVersions } from "@definitelytyped/header-parser";
13
13
 
@@ -186,7 +186,6 @@ async function testTypesVersion(
186
186
  tsLocal: string | undefined,
187
187
  isLatest: boolean,
188
188
  ): Promise<void> {
189
- checkTslintJson(dirPath);
190
189
  const tsconfigErrors = checkTsconfig(dirPath, getCompilerOptions(dirPath));
191
190
  if (tsconfigErrors.length > 0) {
192
191
  throw new Error("\n\t* " + tsconfigErrors.join("\n\t* "));