Update checked-in dependencies

This commit is contained in:
github-actions[bot] 2023-07-17 20:17:37 +00:00
parent 99c9f6a498
commit e266801e21
242 changed files with 2638 additions and 9296 deletions

View file

@ -107,7 +107,9 @@ exports.default = util.createRule({
'always-multiline': forceCommaIfMultiline,
'only-multiline': allowCommaIfMultiline,
never: forbidComma,
ignore: undefined,
// https://github.com/typescript-eslint/typescript-eslint/issues/7220
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type, @typescript-eslint/no-empty-function
ignore: () => { },
};
function last(nodes) {
return nodes[nodes.length - 1] ?? null;

View file

@ -1 +1 @@
{"version":3,"file":"comma-dangle.js","sourceRoot":"","sources":["../../src/rules/comma-dangle.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"comma-dangle.js","sourceRoot":"","sources":["../../src/rules/comma-dangle.ts"],"names":[],"mappings":"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"}

View file

@ -28,6 +28,10 @@ const tsutils = __importStar(require("ts-api-utils"));
const ts = __importStar(require("typescript"));
const util = __importStar(require("../util"));
const util_1 = require("../util");
const messageBase = 'Promises must be awaited, end with a call to .catch, or end with a call to .then with a rejection handler.';
const messageBaseVoid = 'Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler' +
' or be explicitly marked as ignored with the `void` operator.';
const messageRejectionHandler = 'A rejection handler that is not a function will be ignored.';
exports.default = util.createRule({
name: 'no-floating-promises',
meta: {
@ -38,11 +42,12 @@ exports.default = util.createRule({
},
hasSuggestions: true,
messages: {
floating: 'Promises must be awaited, end with a call to .catch, or end with a call to .then with a rejection handler.',
floating: messageBase,
floatingFixAwait: 'Add await operator.',
floatingVoid: 'Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler' +
' or be explicitly marked as ignored with the `void` operator.',
floatingVoid: messageBaseVoid,
floatingFixVoid: 'Add void operator to ignore.',
floatingUselessRejectionHandler: messageBase + ' ' + messageRejectionHandler,
floatingUselessRejectionHandlerVoid: messageBaseVoid + ' ' + messageRejectionHandler,
},
schema: [
{
@ -53,7 +58,7 @@ exports.default = util.createRule({
type: 'boolean',
},
ignoreIIFE: {
description: 'Whether to ignore async IIFEs (Immediately Invocated Function Expressions).',
description: 'Whether to ignore async IIFEs (Immediately Invoked Function Expressions).',
type: 'boolean',
},
},
@ -80,11 +85,14 @@ exports.default = util.createRule({
if (expression.type === utils_1.AST_NODE_TYPES.ChainExpression) {
expression = expression.expression;
}
if (isUnhandledPromise(checker, expression)) {
const { isUnhandled, nonFunctionHandler } = isUnhandledPromise(checker, expression);
if (isUnhandled) {
if (options.ignoreVoid) {
context.report({
node,
messageId: 'floatingVoid',
messageId: nonFunctionHandler
? 'floatingUselessRejectionHandlerVoid'
: 'floatingVoid',
suggest: [
{
messageId: 'floatingFixVoid',
@ -107,7 +115,9 @@ exports.default = util.createRule({
else {
context.report({
node,
messageId: 'floating',
messageId: nonFunctionHandler
? 'floatingUselessRejectionHandler'
: 'floating',
suggest: [
{
messageId: 'floatingFixAwait',
@ -150,13 +160,21 @@ exports.default = util.createRule({
utils_1.AST_NODE_TYPES.ArrowFunctionExpression ||
node.expression.callee.type === utils_1.AST_NODE_TYPES.FunctionExpression));
}
function isValidRejectionHandler(rejectionHandler) {
return (services.program
.getTypeChecker()
.getTypeAtLocation(services.esTreeNodeToTSNodeMap.get(rejectionHandler))
.getCallSignatures().length > 0);
}
function isUnhandledPromise(checker, node) {
// First, check expressions whose resulting types may not be promise-like
if (node.type === utils_1.AST_NODE_TYPES.SequenceExpression) {
// Any child in a comma expression could return a potentially unhandled
// promise, so we check them all regardless of whether the final returned
// value is promise-like.
return node.expressions.some(item => isUnhandledPromise(checker, item));
return (node.expressions
.map(item => isUnhandledPromise(checker, item))
.find(result => result.isUnhandled) ?? { isUnhandled: false });
}
if (!options.ignoreVoid &&
node.type === utils_1.AST_NODE_TYPES.UnaryExpression &&
@ -167,20 +185,48 @@ exports.default = util.createRule({
}
// Check the type. At this point it can't be unhandled if it isn't a promise
if (!isPromiseLike(checker, services.esTreeNodeToTSNodeMap.get(node))) {
return false;
return { isUnhandled: false };
}
if (node.type === utils_1.AST_NODE_TYPES.CallExpression) {
// If the outer expression is a call, it must be either a `.then()` or
// `.catch()` that handles the promise.
return (!isPromiseCatchCallWithHandler(node) &&
!isPromiseThenCallWithRejectionHandler(node) &&
!isPromiseFinallyCallWithHandler(node));
// If the outer expression is a call, a `.catch()` or `.then()` with
// rejection handler handles the promise.
const catchRejectionHandler = getRejectionHandlerFromCatchCall(node);
if (catchRejectionHandler) {
if (isValidRejectionHandler(catchRejectionHandler)) {
return { isUnhandled: false };
}
else {
return { isUnhandled: true, nonFunctionHandler: true };
}
}
const thenRejectionHandler = getRejectionHandlerFromThenCall(node);
if (thenRejectionHandler) {
if (isValidRejectionHandler(thenRejectionHandler)) {
return { isUnhandled: false };
}
else {
return { isUnhandled: true, nonFunctionHandler: true };
}
}
// `x.finally()` is transparent to resolution of the promise, so check `x`.
// ("object" in this context is the `x` in `x.finally()`)
const promiseFinallyObject = getObjectFromFinallyCall(node);
if (promiseFinallyObject) {
return isUnhandledPromise(checker, promiseFinallyObject);
}
// All other cases are unhandled.
return { isUnhandled: true };
}
else if (node.type === utils_1.AST_NODE_TYPES.ConditionalExpression) {
// We must be getting the promise-like value from one of the branches of the
// ternary. Check them directly.
return (isUnhandledPromise(checker, node.alternate) ||
isUnhandledPromise(checker, node.consequent));
const alternateResult = isUnhandledPromise(checker, node.alternate);
if (alternateResult.isUnhandled) {
return alternateResult;
}
else {
return isUnhandledPromise(checker, node.consequent);
}
}
else if (node.type === utils_1.AST_NODE_TYPES.MemberExpression ||
node.type === utils_1.AST_NODE_TYPES.Identifier ||
@ -188,16 +234,21 @@ exports.default = util.createRule({
// If it is just a property access chain or a `new` call (e.g. `foo.bar` or
// `new Promise()`), the promise is not handled because it doesn't have the
// necessary then/catch call at the end of the chain.
return true;
return { isUnhandled: true };
}
else if (node.type === utils_1.AST_NODE_TYPES.LogicalExpression) {
return (isUnhandledPromise(checker, node.left) ||
isUnhandledPromise(checker, node.right));
const leftResult = isUnhandledPromise(checker, node.left);
if (leftResult.isUnhandled) {
return leftResult;
}
else {
return isUnhandledPromise(checker, node.right);
}
}
// We conservatively return false for all other types of expressions because
// we don't want to accidentally fail if the promise is handled internally but
// we just can't tell.
return false;
return { isUnhandled: false };
}
},
});
@ -238,22 +289,33 @@ function isFunctionParam(checker, param, node) {
}
return false;
}
function isPromiseCatchCallWithHandler(expression) {
return (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
function getRejectionHandlerFromCatchCall(expression) {
if (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
expression.callee.property.type === utils_1.AST_NODE_TYPES.Identifier &&
expression.callee.property.name === 'catch' &&
expression.arguments.length >= 1);
expression.arguments.length >= 1) {
return expression.arguments[0];
}
else {
return undefined;
}
}
function isPromiseThenCallWithRejectionHandler(expression) {
return (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
function getRejectionHandlerFromThenCall(expression) {
if (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
expression.callee.property.type === utils_1.AST_NODE_TYPES.Identifier &&
expression.callee.property.name === 'then' &&
expression.arguments.length >= 2);
expression.arguments.length >= 2) {
return expression.arguments[1];
}
else {
return undefined;
}
}
function isPromiseFinallyCallWithHandler(expression) {
return (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
function getObjectFromFinallyCall(expression) {
return expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
expression.callee.property.type === utils_1.AST_NODE_TYPES.Identifier &&
expression.callee.property.name === 'finally' &&
expression.arguments.length >= 1);
expression.callee.property.name === 'finally'
? expression.callee.object
: undefined;
}
//# sourceMappingURL=no-floating-promises.js.map

File diff suppressed because one or more lines are too long

View file

@ -7,6 +7,24 @@ const ignore_1 = __importDefault(require("ignore"));
const util_1 = require("../util");
const getESLintCoreRule_1 = require("../util/getESLintCoreRule");
const baseRule = (0, getESLintCoreRule_1.getESLintCoreRule)('no-restricted-imports');
// In some versions of eslint, the base rule has a completely incompatible schema
// This helper function is to safely try to get parts of the schema. If it's not
// possible, we'll fallback to less strict checks.
const tryAccess = (getter, fallback) => {
try {
return getter();
}
catch {
return fallback;
}
};
const baseSchema = baseRule.meta.schema;
const allowTypeImportsOptionSchema = {
allowTypeImports: {
type: 'boolean',
description: 'Disallow value imports, but allow type-only imports.',
},
};
const arrayOfStringsOrObjects = {
type: 'array',
items: {
@ -14,25 +32,14 @@ const arrayOfStringsOrObjects = {
{ type: 'string' },
{
type: 'object',
properties: {
name: { type: 'string' },
message: {
type: 'string',
minLength: 1,
},
importNames: {
type: 'array',
items: {
type: 'string',
},
},
allowTypeImports: {
type: 'boolean',
description: 'Disallow value imports, but allow type-only imports.',
},
},
additionalProperties: false,
required: ['name'],
properties: {
...tryAccess(() => baseSchema.anyOf[1].items[0].properties.paths.items.anyOf[1]
.properties, undefined),
...allowTypeImportsOptionSchema,
},
required: tryAccess(() => baseSchema.anyOf[1].items[0].properties.paths.items.anyOf[1]
.required, undefined),
},
],
},
@ -51,42 +58,38 @@ const arrayOfStringsOrObjectPatterns = {
type: 'array',
items: {
type: 'object',
properties: {
importNames: {
type: 'array',
items: {
type: 'string',
},
minItems: 1,
uniqueItems: true,
},
group: {
type: 'array',
items: {
type: 'string',
},
minItems: 1,
uniqueItems: true,
},
message: {
type: 'string',
minLength: 1,
},
caseSensitive: {
type: 'boolean',
},
allowTypeImports: {
type: 'boolean',
description: 'Disallow value imports, but allow type-only imports.',
},
},
additionalProperties: false,
required: ['group'],
properties: {
...tryAccess(() => baseSchema.anyOf[1].items[0].properties.patterns.anyOf[1].items
.properties, undefined),
...allowTypeImportsOptionSchema,
},
required: tryAccess(() => baseSchema.anyOf[1].items[0].properties.patterns.anyOf[1].items
.required, []),
},
uniqueItems: true,
},
],
};
const schema = {
anyOf: [
arrayOfStringsOrObjects,
{
type: 'array',
items: [
{
type: 'object',
properties: {
paths: arrayOfStringsOrObjects,
patterns: arrayOfStringsOrObjectPatterns,
},
additionalProperties: false,
},
],
additionalItems: false,
},
],
};
function isObjectOfPaths(obj) {
return Object.prototype.hasOwnProperty.call(obj, 'paths');
}
@ -127,25 +130,7 @@ exports.default = (0, util_1.createRule)({
},
messages: baseRule.meta.messages,
fixable: baseRule.meta.fixable,
schema: {
anyOf: [
arrayOfStringsOrObjects,
{
type: 'array',
items: [
{
type: 'object',
properties: {
paths: arrayOfStringsOrObjects,
patterns: arrayOfStringsOrObjectPatterns,
},
additionalProperties: false,
},
],
additionalItems: false,
},
],
},
schema,
},
defaultOptions: [],
create(context) {

File diff suppressed because one or more lines are too long

View file

@ -24,6 +24,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("@typescript-eslint/utils");
const path_1 = require("path");
const ts = __importStar(require("typescript"));
const util = __importStar(require("../util"));
exports.default = util.createRule({
name: 'no-unnecessary-type-constraint',
@ -49,12 +51,23 @@ exports.default = util.createRule({
[utils_1.AST_NODE_TYPES.TSAnyKeyword, 'any'],
[utils_1.AST_NODE_TYPES.TSUnknownKeyword, 'unknown'],
]);
const inJsx = context.getFilename().toLowerCase().endsWith('tsx');
function checkRequiresGenericDeclarationDisambiguation(filename) {
const pathExt = (0, path_1.extname)(filename).toLocaleLowerCase();
switch (pathExt) {
case ts.Extension.Cts:
case ts.Extension.Mts:
case ts.Extension.Tsx:
return true;
default:
return false;
}
}
const requiresGenericDeclarationDisambiguation = checkRequiresGenericDeclarationDisambiguation(context.getFilename());
const source = context.getSourceCode();
const checkNode = (node, inArrowFunction) => {
const constraint = unnecessaryConstraints.get(node.constraint.type);
function shouldAddTrailingComma() {
if (!inArrowFunction || !inJsx) {
if (!inArrowFunction || !requiresGenericDeclarationDisambiguation) {
return false;
}
// Only <T>() => {} would need trailing comma

View file

@ -1 +1 @@
{"version":3,"file":"no-unnecessary-type-constraint.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-constraint.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAA0D;AAE1D,8CAAgC;AAUhC,kBAAe,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,mDAAmD;YAChE,WAAW,EAAE,aAAa;SAC3B;QACD,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE;YACR,qBAAqB,EACnB,+FAA+F;YACjG,2BAA2B,EACzB,qDAAqD;SACxD;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACnB;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,iFAAiF;QACjF,sFAAsF;QACtF,yFAAyF;QACzF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;YACrC,CAAC,sBAAc,CAAC,YAAY,EAAE,KAAK,CAAC;YACpC,CAAC,sBAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC;SAC7C,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAEvC,MAAM,SAAS,GAAG,CAChB,IAAiC,EACjC,eAAwB,EAClB,EAAE;YACR,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACpE,SAAS,sBAAsB;gBAC7B,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,EAAE;oBAC9B,OAAO,KAAK,CAAC;iBACd;gBACD,6CAA6C;gBAC7C,OAAO,CACJ,IAAI,CAAC,MAA8C,CAAC,MAAM,CAAC,MAAM;oBAChE,CAAC;oBACH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG;oBAC5C,CAAC,IAAI,CAAC,OAAO,CACd,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,EAAE;gBACd,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE;wBACJ,UAAU;wBACV,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;qBACrB;oBACD,OAAO,EAAE;wBACP;4BACE,SAAS,EAAE,6BAA6B;4BACxC,IAAI,EAAE;gCACJ,UAAU;6BACX;4BACD,GAAG,CAAC,KAAK;gCACP,OAAO,KAAK,CAAC,gBAAgB,CAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9C,sBAAsB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC;4BACJ,CAAC;yBACF;qBACF;oBACD,SAAS,EAAE,uBAAuB;oBAClC,IAAI;iBACL,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QAEF,OAAO;YACL,0FAA0F,CACxF,IAAiC;gBAEjC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,oFAAoF,CAClF,IAAiC;gBAEjC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"no-unnecessary-type-constraint.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-constraint.ts"],"names":[],"mappings":"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"}

View file

@ -59,7 +59,6 @@ exports.default = util.createRule({
items: {
$ref: '#/items/0/$defs/modifier',
},
minItems: 1,
},
prefer: {
type: 'string',

View file

@ -1 +1 @@
{"version":3,"file":"parameter-properties.js","sourceRoot":"","sources":["../../src/rules/parameter-properties.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"parameter-properties.js","sourceRoot":"","sources":["../../src/rules/parameter-properties.ts"],"names":[],"mappings":"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"}

View file

@ -309,8 +309,7 @@ function isMergableExported(variable) {
* @returns True if the variable is exported, false if not.
*/
function isExported(variable) {
const definition = variable.defs[0];
if (definition) {
return variable.defs.some(definition => {
let node = definition.node;
if (node.type === utils_1.AST_NODE_TYPES.VariableDeclarator) {
node = node.parent;
@ -319,8 +318,7 @@ function isExported(variable) {
return false;
}
return node.parent.type.indexOf('Export') === 0;
}
return false;
});
}
/**
* Determines if the variable is used.

File diff suppressed because one or more lines are too long

View file

@ -5,6 +5,6 @@ This rule has been deprecated in favour of the [`naming-convention`](./naming-co
:::
<!--
This doc file has been left on purpose because `camelcase` is a core eslint rule.
This doc file has been left on purpose because `camelcase` is a core ESLint rule.
This exists to help direct people to the replacement rule.
-->

View file

@ -7,7 +7,7 @@ description: 'Require explicit accessibility modifiers on class properties and m
> See **https://typescript-eslint.io/rules/explicit-member-accessibility** for documentation.
TypeScript allows placing explicit `public`, `protected`, and `private` accessibility modifiers in front of class members.
The modifiers exist solely in the type system and just server to describe who is allowed to access those members.
The modifiers exist solely in the type system and just serve to describe who is allowed to access those members.
Leaving off accessibility modifiers makes for less code to read and write.
Members are `public` by default.

View file

@ -83,7 +83,7 @@ With this option set to `true`, and if you are using `no-void`, you should turn
### `ignoreIIFE`
This allows you to skip checking of async IIFEs (Immediately Invocated function Expressions).
This allows you to skip checking of async IIFEs (Immediately Invoked function Expressions).
Examples of **correct** code for this rule with `{ ignoreIIFE: true }`:

View file

@ -1,11 +1,12 @@
{
"name": "@typescript-eslint/eslint-plugin",
"version": "6.0.0",
"version": "6.1.0",
"description": "TypeScript plugin for ESLint",
"files": [
"dist",
"docs",
"index.d.ts",
"rules.d.ts",
"package.json",
"README.md",
"LICENSE"
@ -55,18 +56,17 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@eslint-community/regexpp": "^4.5.0",
"@typescript-eslint/scope-manager": "6.0.0",
"@typescript-eslint/type-utils": "6.0.0",
"@typescript-eslint/utils": "6.0.0",
"@typescript-eslint/visitor-keys": "6.0.0",
"@eslint-community/regexpp": "^4.5.1",
"@typescript-eslint/scope-manager": "6.1.0",
"@typescript-eslint/type-utils": "6.1.0",
"@typescript-eslint/utils": "6.1.0",
"@typescript-eslint/visitor-keys": "6.1.0",
"debug": "^4.3.4",
"grapheme-splitter": "^1.0.4",
"graphemer": "^1.4.0",
"ignore": "^5.2.4",
"natural-compare": "^1.4.0",
"natural-compare-lite": "^1.4.0",
"semver": "^7.5.0",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
},
"devDependencies": {
@ -74,14 +74,15 @@
"@types/marked": "*",
"@types/natural-compare": "*",
"@types/prettier": "*",
"@typescript-eslint/rule-schema-to-typescript-types": "6.0.0",
"@typescript-eslint/rule-tester": "6.0.0",
"chalk": "^5.0.1",
"@typescript-eslint/rule-schema-to-typescript-types": "6.1.0",
"@typescript-eslint/rule-tester": "6.1.0",
"ajv": "^6.12.6",
"chalk": "^5.3.0",
"cross-fetch": "*",
"jest-specific-snapshot": "*",
"json-schema": "*",
"markdown-table": "^3.0.3",
"marked": "^4.3.0",
"marked": "^5.1.1",
"prettier": "*",
"title-case": "^3.0.3",
"typescript": "*"
@ -99,5 +100,5 @@
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"gitHead": "6ae1fa74b18af8a2d4baa0d3d4b43997cf9a9781"
"gitHead": "d98f1e811a6a06128a86f10824b6005984dc8265"
}

View file

@ -0,0 +1,44 @@
/*
We purposely don't generate types for our plugin because TL;DR:
1) there's no real reason that anyone should do a typed import of our rules,
2) it would require us to change our code so there aren't as many inferred types
This type declaration exists as a hacky way to add a type to the export for our
internal packages that require it.
*** Long reason ***
When you turn on declaration files, TS requires all types to be "fully resolvable"
without changes to the code.
All of our lint rules `export default createRule(...)`, which means they all
implicitly reference the `TSESLint.Rule` type for the export.
TS wants to transpile each rule file to this `.d.ts` file:
```ts
import type { TSESLint } from '@typescript-eslint/utils';
declare const _default: TSESLint.RuleModule<TMessageIds, TOptions, TSESLint.RuleListener>;
export default _default;
```
Because we don't import `TSESLint` in most files, it means that TS would have to
insert a new import during the declaration emit to make this work.
However TS wants to avoid adding new imports to the file because a new module
could have type side-effects (like global augmentation) which could cause weird
type side-effects in the decl file that wouldn't exist in source TS file.
So TS errors on most of our rules with the following error:
```
The inferred type of 'default' cannot be named without a reference to
'../../../../node_modules/@typescript-eslint/utils/src/ts-eslint/Rule'.
This is likely not portable. A type annotation is necessary. ts(2742)
```
*/
import type { RuleModule } from '@typescript-eslint/utils/ts-eslint';
export interface TypeScriptESLintRules {
[ruleName: string]: RuleModule<string, unknown[]>;
}
declare const rules: TypeScriptESLintRules;
export = rules;

View file

@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/parser",
"version": "6.0.0",
"version": "6.1.0",
"description": "An ESLint custom parser which leverages TypeScript ESTree",
"files": [
"dist",
@ -51,10 +51,10 @@
"eslint": "^7.0.0 || ^8.0.0"
},
"dependencies": {
"@typescript-eslint/scope-manager": "6.0.0",
"@typescript-eslint/types": "6.0.0",
"@typescript-eslint/typescript-estree": "6.0.0",
"@typescript-eslint/visitor-keys": "6.0.0",
"@typescript-eslint/scope-manager": "6.1.0",
"@typescript-eslint/types": "6.1.0",
"@typescript-eslint/typescript-estree": "6.1.0",
"@typescript-eslint/visitor-keys": "6.1.0",
"debug": "^4.3.4"
},
"devDependencies": {
@ -77,5 +77,5 @@
]
}
},
"gitHead": "6ae1fa74b18af8a2d4baa0d3d4b43997cf9a9781"
"gitHead": "d98f1e811a6a06128a86f10824b6005984dc8265"
}

View file

@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/scope-manager",
"version": "6.0.0",
"version": "6.1.0",
"description": "TypeScript scope analyser for ESLint",
"files": [
"dist",
@ -44,12 +44,12 @@
"typecheck": "nx typecheck"
},
"dependencies": {
"@typescript-eslint/types": "6.0.0",
"@typescript-eslint/visitor-keys": "6.0.0"
"@typescript-eslint/types": "6.1.0",
"@typescript-eslint/visitor-keys": "6.1.0"
},
"devDependencies": {
"@types/glob": "*",
"@typescript-eslint/typescript-estree": "6.0.0",
"@typescript-eslint/typescript-estree": "6.1.0",
"glob": "*",
"jest-specific-snapshot": "*",
"make-dir": "*",
@ -69,5 +69,5 @@
]
}
},
"gitHead": "6ae1fa74b18af8a2d4baa0d3d4b43997cf9a9781"
"gitHead": "d98f1e811a6a06128a86f10824b6005984dc8265"
}

View file

@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/type-utils",
"version": "6.0.0",
"version": "6.1.0",
"description": "Type utilities for working with TypeScript + ESLint together",
"files": [
"dist",
@ -45,13 +45,13 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@typescript-eslint/typescript-estree": "6.0.0",
"@typescript-eslint/utils": "6.0.0",
"@typescript-eslint/typescript-estree": "6.1.0",
"@typescript-eslint/utils": "6.1.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.0.1"
},
"devDependencies": {
"@typescript-eslint/parser": "6.0.0",
"@typescript-eslint/parser": "6.1.0",
"ajv": "^8.12.0",
"typescript": "*"
},
@ -74,5 +74,5 @@
]
}
},
"gitHead": "6ae1fa74b18af8a2d4baa0d3d4b43997cf9a9781"
"gitHead": "d98f1e811a6a06128a86f10824b6005984dc8265"
}

File diff suppressed because it is too large Load diff

View file

@ -1,5 +0,0 @@
export { AST_NODE_TYPES, AST_TOKEN_TYPES } from './generated/ast-spec';
export * from './lib';
export * from './parser-options';
export * from './ts-estree';
//# sourceMappingURL=index.d.ts.map

View file

@ -1,3 +0,0 @@
type Lib = 'decorators.legacy' | 'decorators' | 'dom.iterable' | 'dom' | 'es5' | 'es6' | 'es7' | 'es2015.collection' | 'es2015.core' | 'es2015.generator' | 'es2015.iterable' | 'es2015.promise' | 'es2015.proxy' | 'es2015.reflect' | 'es2015.symbol.wellknown' | 'es2015.symbol' | 'es2015' | 'es2016.array.include' | 'es2016.full' | 'es2016' | 'es2017.full' | 'es2017.intl' | 'es2017.object' | 'es2017.sharedmemory' | 'es2017.string' | 'es2017.typedarrays' | 'es2017' | 'es2018.asyncgenerator' | 'es2018.asynciterable' | 'es2018.full' | 'es2018.intl' | 'es2018.promise' | 'es2018.regexp' | 'es2018' | 'es2019.array' | 'es2019.full' | 'es2019.intl' | 'es2019.object' | 'es2019.string' | 'es2019.symbol' | 'es2019' | 'es2020.bigint' | 'es2020.date' | 'es2020.full' | 'es2020.intl' | 'es2020.number' | 'es2020.promise' | 'es2020.sharedmemory' | 'es2020.string' | 'es2020.symbol.wellknown' | 'es2020' | 'es2021.full' | 'es2021.intl' | 'es2021.promise' | 'es2021.string' | 'es2021.weakref' | 'es2021' | 'es2022.array' | 'es2022.error' | 'es2022.full' | 'es2022.intl' | 'es2022.object' | 'es2022.regexp' | 'es2022.sharedmemory' | 'es2022.string' | 'es2022' | 'es2023.array' | 'es2023.full' | 'es2023' | 'esnext.array' | 'esnext.asynciterable' | 'esnext.bigint' | 'esnext.full' | 'esnext.intl' | 'esnext.promise' | 'esnext.string' | 'esnext.symbol' | 'esnext.weakref' | 'esnext' | 'lib' | 'scripthost' | 'webworker.importscripts' | 'webworker.iterable' | 'webworker';
export { Lib };
//# sourceMappingURL=lib.d.ts.map

View file

@ -1,39 +0,0 @@
import type { Program } from 'typescript';
import type { Lib } from './lib';
type DebugLevel = ('eslint' | 'typescript-eslint' | 'typescript')[] | boolean;
type CacheDurationSeconds = number | 'Infinity';
type EcmaVersion = 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022;
type SourceType = 'module' | 'script';
interface ParserOptions {
ecmaFeatures?: {
globalReturn?: boolean;
jsx?: boolean;
};
ecmaVersion?: EcmaVersion | 'latest';
jsxPragma?: string | null;
jsxFragmentName?: string | null;
lib?: Lib[];
emitDecoratorMetadata?: boolean;
comment?: boolean;
debugLevel?: DebugLevel;
errorOnTypeScriptSyntacticAndSemanticIssues?: boolean;
errorOnUnknownASTType?: boolean;
EXPERIMENTAL_useSourceOfProjectReferenceRedirect?: boolean;
extraFileExtensions?: string[];
filePath?: string;
loc?: boolean;
program?: Program | null;
project?: string[] | string | true | null;
projectFolderIgnoreList?: (RegExp | string)[];
range?: boolean;
sourceType?: SourceType;
tokens?: boolean;
tsconfigRootDir?: string;
warnOnUnsupportedTypeScriptVersion?: boolean;
cacheLifetime?: {
glob?: CacheDurationSeconds;
};
[additionalProperties: string]: unknown;
}
export { CacheDurationSeconds, DebugLevel, EcmaVersion, ParserOptions, SourceType, };
//# sourceMappingURL=parser-options.d.ts.map

View file

@ -1,14 +0,0 @@
import type * as TSESTree from './generated/ast-spec';
declare module './generated/ast-spec' {
interface BaseNode {
parent: TSESTree.Node;
}
interface Program {
/**
* @remarks This never-used property exists only as a convenience for code that tries to access node parents repeatedly.
*/
parent?: never;
}
}
export * as TSESTree from './generated/ast-spec';
//# sourceMappingURL=ts-estree.d.ts.map

View file

@ -18,6 +18,7 @@ interface ParserOptions {
debugLevel?: DebugLevel;
errorOnTypeScriptSyntacticAndSemanticIssues?: boolean;
errorOnUnknownASTType?: boolean;
EXPERIMENTAL_useProjectService?: boolean;
EXPERIMENTAL_useSourceOfProjectReferenceRedirect?: boolean;
extraFileExtensions?: string[];
filePath?: string;

View file

@ -1 +1 @@
{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,KAAK,UAAU,GAAG,CAAC,QAAQ,GAAG,mBAAmB,GAAG,YAAY,CAAC,EAAE,GAAG,OAAO,CAAC;AAC9E,KAAK,oBAAoB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEhD,KAAK,WAAW,GACZ,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtC,UAAU,aAAa;IACrB,YAAY,CAAC,EAAE;QACb,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAGrC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IAGZ,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAGhC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2CAA2C,CAAC,EAAE,OAAO,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gDAAgD,CAAC,EAAE,OAAO,CAAC;IAC3D,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,aAAa,CAAC,EAAE;QACd,IAAI,CAAC,EAAE,oBAAoB,CAAC;KAC7B,CAAC;IAEF,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC;CACzC;AAED,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,GACX,CAAC"}
{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,KAAK,UAAU,GAAG,CAAC,QAAQ,GAAG,mBAAmB,GAAG,YAAY,CAAC,EAAE,GAAG,OAAO,CAAC;AAC9E,KAAK,oBAAoB,GAAG,MAAM,GAAG,UAAU,CAAC;AAEhD,KAAK,WAAW,GACZ,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAET,KAAK,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtC,UAAU,aAAa;IACrB,YAAY,CAAC,EAAE;QACb,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAGrC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IAGZ,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAGhC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2CAA2C,CAAC,EAAE,OAAO,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,gDAAgD,CAAC,EAAE,OAAO,CAAC;IAC3D,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,aAAa,CAAC,EAAE;QACd,IAAI,CAAC,EAAE,oBAAoB,CAAC;KAC7B,CAAC;IAEF,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC;CACzC;AAED,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,GACX,CAAC"}

View file

@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/types",
"version": "6.0.0",
"version": "6.1.0",
"description": "Types for the TypeScript-ESTree AST spec",
"files": [
"dist",
@ -86,5 +86,5 @@
]
}
},
"gitHead": "6ae1fa74b18af8a2d4baa0d3d4b43997cf9a9781"
"gitHead": "d98f1e811a6a06128a86f10824b6005984dc8265"
}

View file

@ -1,9 +1,10 @@
import * as ts from 'typescript';
import type { ParseSettings } from '../parseSettings';
import type { ASTAndDefiniteProgram } from './shared';
/**
* @param parseSettings Internal settings for parsing the file
* @returns If found, the source file corresponding to the code and the containing program
*/
declare function createProjectProgram(parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
declare function createProjectProgram(parseSettings: ParseSettings, programsForProjects: readonly ts.Program[]): ASTAndDefiniteProgram | undefined;
export { createProjectProgram };
//# sourceMappingURL=createProjectProgram.d.ts.map

View file

@ -0,0 +1,4 @@
import type * as ts from 'typescript/lib/tsserverlibrary';
export type TypeScriptProjectService = ts.server.ProjectService;
export declare function createProjectService(): TypeScriptProjectService;
//# sourceMappingURL=createProjectService.d.ts.map

View file

@ -21,7 +21,7 @@ type CanonicalPath = string & {
declare function getCanonicalFileName(filePath: string): CanonicalPath;
declare function ensureAbsolutePath(p: string, tsconfigRootDir: string): string;
declare function canonicalDirname(p: CanonicalPath): CanonicalPath;
declare function getAstFromProgram(currentProgram: Program, parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
declare function getAstFromProgram(currentProgram: Program, filePath: string): ASTAndDefiniteProgram | undefined;
/**
* Hash content for compare content.
* @param content hashed contend

View file

@ -1,7 +1,10 @@
import * as ts from 'typescript';
import type { ParseSettings } from '../parseSettings';
import type { ASTAndDefiniteProgram } from './shared';
declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
export interface ProvidedProgramsSettings {
filePath: string;
tsconfigRootDir: string;
}
declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, { filePath, tsconfigRootDir }: ProvidedProgramsSettings): ASTAndDefiniteProgram | undefined;
/**
* Utility offered by parser to help consumers construct their own program instance.
*

View file

@ -3,4 +3,5 @@ import type { TSESTreeOptions } from '../parser-options';
import type { MutableParseSettings } from './index';
export declare function createParseSettings(code: ts.SourceFile | string, options?: Partial<TSESTreeOptions>): MutableParseSettings;
export declare function clearTSConfigMatchCache(): void;
export declare function clearTSServerProjectService(): void;
//# sourceMappingURL=createParseSettings.d.ts.map

View file

@ -1,4 +1,5 @@
import type * as ts from 'typescript';
import type * as tsserverlibrary from 'typescript/lib/tsserverlibrary';
import type { CanonicalPath } from '../create-program/shared';
import type { TSESTree } from '../ts-estree';
import type { CacheLike } from './ExpiringCache';
@ -45,6 +46,10 @@ export interface MutableParseSettings {
* Whether to error if an unknown AST node type is encountered.
*/
errorOnUnknownASTType: boolean;
/**
* Experimental: TypeScript server to power program creation.
*/
EXPERIMENTAL_projectService: tsserverlibrary.server.ProjectService | undefined;
/**
* Whether TS should use the source files for referenced projects instead of the compiled .d.ts files.
*

View file

@ -68,6 +68,14 @@ interface ParseAndGenerateServicesOptions extends ParseOptions {
* Causes the parser to error if the TypeScript compiler returns any unexpected syntax/semantic errors.
*/
errorOnTypeScriptSyntacticAndSemanticIssues?: boolean;
/**
* ***EXPERIMENTAL FLAG*** - Use this at your own risk.
*
* Whether to create a shared TypeScript server to power program creation.
*
* @see https://github.com/typescript-eslint/typescript-eslint/issues/6575
*/
EXPERIMENTAL_useProjectService?: boolean;
/**
* ***EXPERIMENTAL FLAG*** - Use this at your own risk.
*
@ -76,7 +84,7 @@ interface ParseAndGenerateServicesOptions extends ParseOptions {
*
* This flag REQUIRES at least TS v3.9, otherwise it does nothing.
*
* See: https://github.com/typescript-eslint/typescript-eslint/issues/2094
* @see https://github.com/typescript-eslint/typescript-eslint/issues/2094
*/
EXPERIMENTAL_useSourceOfProjectReferenceRedirect?: boolean;
/**

View file

@ -0,0 +1,5 @@
import type { server } from 'typescript/lib/tsserverlibrary';
import type { ASTAndDefiniteProgram } from './create-program/shared';
import type { MutableParseSettings } from './parseSettings';
export declare function useProgramFromProjectService(projectService: server.ProjectService, parseSettings: Readonly<MutableParseSettings>): ASTAndDefiniteProgram | undefined;
//# sourceMappingURL=useProgramFromProjectService.d.ts.map

View file

@ -1 +1 @@
{"version":3,"file":"clear-caches.d.ts","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAKlC;AAGD,eAAO,MAAM,iBAAiB,oBAAc,CAAC"}
{"version":3,"file":"clear-caches.d.ts","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAMlC;AAGD,eAAO,MAAM,iBAAiB,oBAAc,CAAC"}

View file

@ -16,6 +16,7 @@ function clearCaches() {
(0, parser_1.clearProgramCache)();
(0, getWatchProgramsForProjects_1.clearWatchCaches)();
(0, createParseSettings_1.clearTSConfigMatchCache)();
(0, createParseSettings_1.clearTSServerProjectService)();
(0, resolveProjectList_1.clearGlobCache)();
}
exports.clearCaches = clearCaches;

View file

@ -1 +1 @@
{"version":3,"file":"clear-caches.js","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":";;;AAAA,8FAAgF;AAChF,qCAA0E;AAC1E,6EAA8E;AAC9E,2EAAoE;AAEpE;;;;;;GAMG;AACH,SAAgB,WAAW;IACzB,IAAA,0BAAyB,GAAE,CAAC;IAC5B,IAAA,8CAAgB,GAAE,CAAC;IACnB,IAAA,6CAAuB,GAAE,CAAC;IAC1B,IAAA,mCAAc,GAAE,CAAC;AACnB,CAAC;AALD,kCAKC;AAED,mCAAmC;AACtB,QAAA,iBAAiB,GAAG,WAAW,CAAC"}
{"version":3,"file":"clear-caches.js","sourceRoot":"","sources":["../src/clear-caches.ts"],"names":[],"mappings":";;;AAAA,8FAAgF;AAChF,qCAA0E;AAC1E,6EAG6C;AAC7C,2EAAoE;AAEpE;;;;;;GAMG;AACH,SAAgB,WAAW;IACzB,IAAA,0BAAyB,GAAE,CAAC;IAC5B,IAAA,8CAAgB,GAAE,CAAC;IACnB,IAAA,6CAAuB,GAAE,CAAC;IAC1B,IAAA,iDAA2B,GAAE,CAAC;IAC9B,IAAA,mCAAc,GAAE,CAAC;AACnB,CAAC;AAND,kCAMC;AAED,mCAAmC;AACtB,QAAA,iBAAiB,GAAG,WAAW,CAAC"}

View file

@ -1,9 +1,10 @@
import * as ts from 'typescript';
import type { ParseSettings } from '../parseSettings';
import type { ASTAndDefiniteProgram } from './shared';
/**
* @param parseSettings Internal settings for parsing the file
* @returns If found, the source file corresponding to the code and the containing program
*/
declare function createProjectProgram(parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
declare function createProjectProgram(parseSettings: ParseSettings, programsForProjects: readonly ts.Program[]): ASTAndDefiniteProgram | undefined;
export { createProjectProgram };
//# sourceMappingURL=createProjectProgram.d.ts.map

View file

@ -1 +1 @@
{"version":3,"file":"createProjectProgram.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAgBtD;;;GAGG;AACH,iBAAS,oBAAoB,CAC3B,aAAa,EAAE,aAAa,GAC3B,qBAAqB,GAAG,SAAS,CA+EnC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
{"version":3,"file":"createProjectProgram.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAgBtD;;;GAGG;AACH,iBAAS,oBAAoB,CAC3B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,GACzC,qBAAqB,GAAG,SAAS,CA8EnC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}

View file

@ -32,7 +32,6 @@ const path_1 = __importDefault(require("path"));
const ts = __importStar(require("typescript"));
const node_utils_1 = require("../node-utils");
const describeFilePath_1 = require("./describeFilePath");
const getWatchProgramsForProjects_1 = require("./getWatchProgramsForProjects");
const shared_1 = require("./shared");
const log = (0, debug_1.default)('typescript-eslint:typescript-estree:createProjectProgram');
const DEFAULT_EXTRA_FILE_EXTENSIONS = [
@ -49,10 +48,9 @@ const DEFAULT_EXTRA_FILE_EXTENSIONS = [
* @param parseSettings Internal settings for parsing the file
* @returns If found, the source file corresponding to the code and the containing program
*/
function createProjectProgram(parseSettings) {
function createProjectProgram(parseSettings, programsForProjects) {
log('Creating project program for: %s', parseSettings.filePath);
const programsForProjects = (0, getWatchProgramsForProjects_1.getWatchProgramsForProjects)(parseSettings);
const astAndProgram = (0, node_utils_1.firstDefined)(programsForProjects, currentProgram => (0, shared_1.getAstFromProgram)(currentProgram, parseSettings));
const astAndProgram = (0, node_utils_1.firstDefined)(programsForProjects, currentProgram => (0, shared_1.getAstFromProgram)(currentProgram, parseSettings.filePath));
// The file was either matched within the tsconfig, or we allow creating a default program
// eslint-disable-next-line deprecation/deprecation -- will be cleaned up with the next major
if (astAndProgram || parseSettings.DEPRECATED__createDefaultProgram) {

View file

@ -1 +1 @@
{"version":3,"file":"createProjectProgram.js","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"createProjectProgram.js","sourceRoot":"","sources":["../../src/create-program/createProjectProgram.ts"],"names":[],"mappings":"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"}

View file

@ -0,0 +1,4 @@
import type * as ts from 'typescript/lib/tsserverlibrary';
export type TypeScriptProjectService = ts.server.ProjectService;
export declare function createProjectService(): TypeScriptProjectService;
//# sourceMappingURL=createProjectService.d.ts.map

View file

@ -0,0 +1 @@
{"version":3,"file":"createProjectService.d.ts","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAQ1D,MAAM,MAAM,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;AAEhE,wBAAgB,oBAAoB,IAAI,wBAAwB,CAoC/D"}

View file

@ -0,0 +1,45 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createProjectService = void 0;
const doNothing = () => { };
const createStubFileWatcher = () => ({
close: doNothing,
});
function createProjectService() {
// We import this lazily to avoid its cost for users who don't use the service
const tsserver = require('typescript/lib/tsserverlibrary');
// TODO: see getWatchProgramsForProjects
// We don't watch the disk, we just refer to these when ESLint calls us
// there's a whole separate update pass in maybeInvalidateProgram at the bottom of getWatchProgramsForProjects
// (this "goes nuclear on TypeScript")
const system = {
...tsserver.sys,
clearImmediate,
clearTimeout,
setImmediate,
setTimeout,
watchDirectory: createStubFileWatcher,
watchFile: createStubFileWatcher,
};
return new tsserver.server.ProjectService({
host: system,
cancellationToken: { isCancellationRequested: () => false },
useSingleInferredProject: false,
useInferredProjectPerProjectRoot: false,
logger: {
close: doNothing,
endGroup: doNothing,
getLogFileName: () => undefined,
hasLevel: () => false,
info: doNothing,
loggingEnabled: () => false,
msg: doNothing,
perftrc: doNothing,
startGroup: doNothing,
},
session: undefined,
});
}
exports.createProjectService = createProjectService;
/* eslint-enable @typescript-eslint/no-empty-function */
//# sourceMappingURL=createProjectService.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"createProjectService.js","sourceRoot":"","sources":["../../src/create-program/createProjectService.ts"],"names":[],"mappings":";;;AAGA,MAAM,SAAS,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;AAEjC,MAAM,qBAAqB,GAAG,GAAmB,EAAE,CAAC,CAAC;IACnD,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC;AAIH,SAAgB,oBAAoB;IAClC,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,OAAO,CAAC,gCAAgC,CAAc,CAAC;IAExE,wCAAwC;IACxC,uEAAuE;IACvE,8GAA8G;IAC9G,sCAAsC;IACtC,MAAM,MAAM,GAAyB;QACnC,GAAG,QAAQ,CAAC,GAAG;QACf,cAAc;QACd,YAAY;QACZ,YAAY;QACZ,UAAU;QACV,cAAc,EAAE,qBAAqB;QACrC,SAAS,EAAE,qBAAqB;KACjC,CAAC;IAEF,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;QACxC,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE,EAAE,uBAAuB,EAAE,GAAY,EAAE,CAAC,KAAK,EAAE;QACpE,wBAAwB,EAAE,KAAK;QAC/B,gCAAgC,EAAE,KAAK;QACvC,MAAM,EAAE;YACN,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,SAAS;YACnB,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;YAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;YACrB,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK;YAC3B,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;SACtB;QACD,OAAO,EAAE,SAAS;KACnB,CAAC,CAAC;AACL,CAAC;AApCD,oDAoCC;AACD,wDAAwD"}

View file

@ -21,7 +21,7 @@ type CanonicalPath = string & {
declare function getCanonicalFileName(filePath: string): CanonicalPath;
declare function ensureAbsolutePath(p: string, tsconfigRootDir: string): string;
declare function canonicalDirname(p: CanonicalPath): CanonicalPath;
declare function getAstFromProgram(currentProgram: Program, parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
declare function getAstFromProgram(currentProgram: Program, filePath: string): ASTAndDefiniteProgram | undefined;
/**
* Hash content for compare content.
* @param content hashed contend

View file

@ -1 +1 @@
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,UAAU,eAAe;IACvB,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;CACf;AACD,UAAU,qBAAqB;IAC7B,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;CACrB;AACD,KAAK,aAAa,GAAG,qBAAqB,GAAG,eAAe,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,qBAAqB,EAAE,EAAE,CAAC,eAQ/B,CAAC;AAYF,iBAAS,qCAAqC,CAC5C,aAAa,EAAE,aAAa,GAC3B,EAAE,CAAC,eAAe,CASpB;AAGD,KAAK,aAAa,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AASnD,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAM7D;AAED,iBAAS,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,iBAAS,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAEzD;AAmBD,iBAAS,iBAAiB,CACxB,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,aAAa,GAC3B,qBAAqB,GAAG,SAAS,CAWnC;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM3C;AAED,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,qCAAqC,EACrC,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,CAAC"}
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,UAAU,eAAe;IACvB,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,IAAI,CAAC;CACf;AACD,UAAU,qBAAqB;IAC7B,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;CACrB;AACD,KAAK,aAAa,GAAG,qBAAqB,GAAG,eAAe,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,qBAAqB,EAAE,EAAE,CAAC,eAQ/B,CAAC;AAYF,iBAAS,qCAAqC,CAC5C,aAAa,EAAE,aAAa,GAC3B,EAAE,CAAC,eAAe,CASpB;AAGD,KAAK,aAAa,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AASnD,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAM7D;AAED,iBAAS,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,iBAAS,gBAAgB,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAEzD;AAmBD,iBAAS,iBAAiB,CACxB,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAWnC;AAED;;;;GAIG;AACH,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM3C;AAED,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,qCAAqC,EACrC,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,CAAC"}

View file

@ -94,10 +94,10 @@ function getExtension(fileName) {
}
return (DEFINITION_EXTENSIONS.find(definitionExt => fileName.endsWith(definitionExt)) ?? path_1.default.extname(fileName));
}
function getAstFromProgram(currentProgram, parseSettings) {
const ast = currentProgram.getSourceFile(parseSettings.filePath);
function getAstFromProgram(currentProgram, filePath) {
const ast = currentProgram.getSourceFile(filePath);
// working around https://github.com/typescript-eslint/typescript-eslint/issues/1573
const expectedExt = getExtension(parseSettings.filePath);
const expectedExt = getExtension(filePath);
const returnedExt = getExtension(ast?.fileName);
if (expectedExt !== returnedExt) {
return undefined;

View file

@ -1 +1 @@
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/create-program/shared.ts"],"names":[],"mappings":"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"}

View file

@ -1,7 +1,10 @@
import * as ts from 'typescript';
import type { ParseSettings } from '../parseSettings';
import type { ASTAndDefiniteProgram } from './shared';
declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, parseSettings: ParseSettings): ASTAndDefiniteProgram | undefined;
export interface ProvidedProgramsSettings {
filePath: string;
tsconfigRootDir: string;
}
declare function useProvidedPrograms(programInstances: Iterable<ts.Program>, { filePath, tsconfigRootDir }: ProvidedProgramsSettings): ASTAndDefiniteProgram | undefined;
/**
* Utility offered by parser to help consumers construct their own program instance.
*

View file

@ -1 +1 @@
{"version":3,"file":"useProvidedPrograms.d.ts","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKtD,iBAAS,mBAAmB,CAC1B,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EACtC,aAAa,EAAE,aAAa,GAC3B,qBAAqB,GAAG,SAAS,CA+BnC;AAED;;;;;GAKG;AACH,iBAAS,2BAA2B,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,EAAE,CAAC,OAAO,CA4BZ;AAUD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAC"}
{"version":3,"file":"useProvidedPrograms.d.ts","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKtD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,iBAAS,mBAAmB,CAC1B,gBAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EACtC,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,wBAAwB,GACtD,qBAAqB,GAAG,SAAS,CA4BnC;AAED;;;;;GAKG;AACH,iBAAS,2BAA2B,CAClC,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,EAAE,CAAC,OAAO,CA4BZ;AAUD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,CAAC"}

View file

@ -33,18 +33,18 @@ const path = __importStar(require("path"));
const ts = __importStar(require("typescript"));
const shared_1 = require("./shared");
const log = (0, debug_1.default)('typescript-eslint:typescript-estree:useProvidedProgram');
function useProvidedPrograms(programInstances, parseSettings) {
log('Retrieving ast for %s from provided program instance(s)', parseSettings.filePath);
function useProvidedPrograms(programInstances, { filePath, tsconfigRootDir }) {
log('Retrieving ast for %s from provided program instance(s)', filePath);
let astAndProgram;
for (const programInstance of programInstances) {
astAndProgram = (0, shared_1.getAstFromProgram)(programInstance, parseSettings);
astAndProgram = (0, shared_1.getAstFromProgram)(programInstance, filePath);
// Stop at the first applicable program instance
if (astAndProgram) {
break;
}
}
if (!astAndProgram) {
const relativeFilePath = path.relative(parseSettings.tsconfigRootDir || process.cwd(), parseSettings.filePath);
const relativeFilePath = path.relative(tsconfigRootDir || process.cwd(), filePath);
const errorLines = [
'"parserOptions.programs" has been provided for @typescript-eslint/parser.',
`The file was not found in any of the provided program instance(s): ${relativeFilePath}`,

View file

@ -1 +1 @@
{"version":3,"file":"useProvidedPrograms.js","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"useProvidedPrograms.js","sourceRoot":"","sources":["../../src/create-program/useProvidedPrograms.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AAGjC,qCAAoE;AAEpE,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,wDAAwD,CAAC,CAAC;AAO5E,SAAS,mBAAmB,CAC1B,gBAAsC,EACtC,EAAE,QAAQ,EAAE,eAAe,EAA4B;IAEvD,GAAG,CAAC,yDAAyD,EAAE,QAAQ,CAAC,CAAC;IAEzE,IAAI,aAAgD,CAAC;IACrD,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;QAC9C,aAAa,GAAG,IAAA,0BAAiB,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC7D,gDAAgD;QAChD,IAAI,aAAa,EAAE;YACjB,MAAM;SACP;KACF;IAED,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CACpC,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,EAChC,QAAQ,CACT,CAAC;QACF,MAAM,UAAU,GAAG;YACjB,2EAA2E;YAC3E,sEAAsE,gBAAgB,EAAE;SACzF,CAAC;QAEF,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACxC;IAED,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,iDAAiD;IAEzF,OAAO,aAAa,CAAC;AACvB,CAAC;AAiDQ,kDAAmB;AA/C5B;;;;;GAKG;AACH,SAAS,2BAA2B,CAClC,UAAkB,EAClB,gBAAyB;IAEzB,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;KACH;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,gCAAgC,CAChD,UAAU,EACV,8BAAqB,EACrB;QACE,mCAAmC,EAAE,IAAI,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC;QAClF,CAAC;QACD,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,mBAAmB,EAAE,GAAG,EAAE,CACxB,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE;QACvE,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa;QACnC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QAChD,yBAAyB,EAAE,EAAE,CAAC,GAAG,CAAC,yBAAyB;KAC5D,CACF,CAAC;IACF,MAAM,MAAM,GAAG,MAAO,CAAC,CAAC,sDAAsD;IAC9E,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;KACnD;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAU6B,kEAA2B;AARzD,SAAS,iBAAiB,CAAC,WAA4B;IACrD,OAAO,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE;QACvC,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5B,mBAAmB,EAAE,OAAO,CAAC,GAAG;QAChC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;KACvB,CAAC,CAAC;AACL,CAAC"}

View file

@ -3,4 +3,5 @@ import type { TSESTreeOptions } from '../parser-options';
import type { MutableParseSettings } from './index';
export declare function createParseSettings(code: ts.SourceFile | string, options?: Partial<TSESTreeOptions>): MutableParseSettings;
export declare function clearTSConfigMatchCache(): void;
export declare function clearTSServerProjectService(): void;
//# sourceMappingURL=createParseSettings.d.ts.map

View file

@ -1 +1 @@
{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAWpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,GACrC,oBAAoB,CAyGtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
{"version":3,"file":"createParseSettings.d.ts","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAKtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAYpD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,GACrC,oBAAoB,CAgHtB;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}

View file

@ -3,8 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.clearTSConfigMatchCache = exports.createParseSettings = void 0;
exports.clearTSServerProjectService = exports.clearTSConfigMatchCache = exports.createParseSettings = void 0;
const debug_1 = __importDefault(require("debug"));
const createProjectService_1 = require("../create-program/createProjectService");
const shared_1 = require("../create-program/shared");
const source_files_1 = require("../source-files");
const ExpiringCache_1 = require("./ExpiringCache");
@ -14,6 +15,7 @@ const resolveProjectList_1 = require("./resolveProjectList");
const warnAboutTSVersion_1 = require("./warnAboutTSVersion");
const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings');
let TSCONFIG_MATCH_CACHE;
let TSSERVER_PROJECT_SERVICE = null;
function createParseSettings(code, options = {}) {
const codeFullText = enforceCodeString(code);
const singleRun = (0, inferSingleRun_1.inferSingleRun)(options);
@ -36,6 +38,12 @@ function createParseSettings(code, options = {}) {
: new Set(),
errorOnTypeScriptSyntacticAndSemanticIssues: false,
errorOnUnknownASTType: options.errorOnUnknownASTType === true,
EXPERIMENTAL_projectService: (options.EXPERIMENTAL_useProjectService === true &&
process.env.TYPESCRIPT_ESLINT_EXPERIMENTAL_TSSERVER !== 'false') ||
(process.env.TYPESCRIPT_ESLINT_EXPERIMENTAL_TSSERVER === 'true' &&
options.EXPERIMENTAL_useProjectService !== false)
? (TSSERVER_PROJECT_SERVICE ??= (0, createProjectService_1.createProjectService)())
: undefined,
EXPERIMENTAL_useSourceOfProjectReferenceRedirect: options.EXPERIMENTAL_useSourceOfProjectReferenceRedirect === true,
extraFileExtensions: Array.isArray(options.extraFileExtensions) &&
options.extraFileExtensions.every(ext => typeof ext === 'string')
@ -85,8 +93,8 @@ function createParseSettings(code, options = {}) {
}
log('parserOptions.programs was provided, so parserOptions.project will be ignored.');
}
// Providing a program overrides project resolution
if (!parseSettings.programs) {
// Providing a program or project service overrides project resolution
if (!parseSettings.programs && !parseSettings.EXPERIMENTAL_projectService) {
parseSettings.projects = (0, resolveProjectList_1.resolveProjectList)({
cacheLifetime: options.cacheLifetime,
project: (0, getProjectConfigFiles_1.getProjectConfigFiles)(parseSettings, options.project),
@ -103,6 +111,10 @@ function clearTSConfigMatchCache() {
TSCONFIG_MATCH_CACHE?.clear();
}
exports.clearTSConfigMatchCache = clearTSConfigMatchCache;
function clearTSServerProjectService() {
TSSERVER_PROJECT_SERVICE = null;
}
exports.clearTSServerProjectService = clearTSServerProjectService;
/**
* Ensures source code is a string.
*/

View file

@ -1 +1 @@
{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"createParseSettings.js","sourceRoot":"","sources":["../../src/parseSettings/createParseSettings.ts"],"names":[],"mappings":"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"}

View file

@ -1,4 +1,5 @@
import type * as ts from 'typescript';
import type * as tsserverlibrary from 'typescript/lib/tsserverlibrary';
import type { CanonicalPath } from '../create-program/shared';
import type { TSESTree } from '../ts-estree';
import type { CacheLike } from './ExpiringCache';
@ -45,6 +46,10 @@ export interface MutableParseSettings {
* Whether to error if an unknown AST node type is encountered.
*/
errorOnUnknownASTType: boolean;
/**
* Experimental: TypeScript server to power program creation.
*/
EXPERIMENTAL_projectService: tsserverlibrary.server.ProjectService | undefined;
/**
* Whether TS should use the source files for referenced projects instead of the compiled .d.ts files.
*

View file

@ -1 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parseSettings/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,WAAW,GAAG,QAAQ,GAAG,mBAAmB,GAAG,YAAY,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC;IAE7B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAE7B;;;;OAIG;IACH,gCAAgC,EAAE,OAAO,CAAC;IAE1C;;OAEG;IACH,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B;;OAEG;IACH,2CAA2C,EAAE,OAAO,CAAC;IAErD;;OAEG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAE/B;;;;;;OAMG;IACH,gDAAgD,EAAE,OAAO,CAAC;IAE1D;;OAEG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,kCAAkC,EAAE,OAAO,CAAC;IAE5C;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,kBAAkB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9C;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parseSettings/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,WAAW,GAAG,QAAQ,GAAG,mBAAmB,GAAG,YAAY,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC;IAE7B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;IAE7B;;;;OAIG;IACH,gCAAgC,EAAE,OAAO,CAAC;IAE1C;;OAEG;IACH,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAE7B;;OAEG;IACH,2CAA2C,EAAE,OAAO,CAAC;IAErD;;OAEG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,2BAA2B,EACvB,eAAe,CAAC,MAAM,CAAC,cAAc,GACrC,SAAS,CAAC;IAEd;;;;;;OAMG;IACH,gDAAgD,EAAE,OAAO,CAAC;IAE1D;;OAEG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb;;OAEG;IACH,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAEtC;;OAEG;IACH,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,kCAAkC,EAAE,OAAO,CAAC;IAE5C;;OAEG;IACH,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,kBAAkB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9C;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC"}

View file

@ -68,6 +68,14 @@ interface ParseAndGenerateServicesOptions extends ParseOptions {
* Causes the parser to error if the TypeScript compiler returns any unexpected syntax/semantic errors.
*/
errorOnTypeScriptSyntacticAndSemanticIssues?: boolean;
/**
* ***EXPERIMENTAL FLAG*** - Use this at your own risk.
*
* Whether to create a shared TypeScript server to power program creation.
*
* @see https://github.com/typescript-eslint/typescript-eslint/issues/6575
*/
EXPERIMENTAL_useProjectService?: boolean;
/**
* ***EXPERIMENTAL FLAG*** - Use this at your own risk.
*
@ -76,7 +84,7 @@ interface ParseAndGenerateServicesOptions extends ParseOptions {
*
* This flag REQUIRES at least TS v3.9, otherwise it does nothing.
*
* See: https://github.com/typescript-eslint/typescript-eslint/issues/2094
* @see https://github.com/typescript-eslint/typescript-eslint/issues/2094
*/
EXPERIMENTAL_useSourceOfProjectReferenceRedirect?: boolean;
/**

View file

@ -1 +1 @@
{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"parser-options.d.ts","sourceRoot":"","sources":["../src/parser-options.ts"],"names":[],"mappings":"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"}

View file

@ -1 +1 @@
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAiBtC,OAAO,KAAK,EACV,cAAc,EAEd,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAU5C,iBAAS,iBAAiB,IAAI,IAAI,CAEjC;AA6CD,UAAU,WAAW;CAAG;AACxB,KAAK,GAAG,CAAC,CAAC,SAAS,eAAe,IAAI,QAAQ,CAAC,OAAO,GACpD,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,GAC5E,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,CAAC;AAE1E,UAAU,8BAA8B,CAAC,CAAC,SAAS,eAAe;IAChE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAMD,iBAAS,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EACxD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACV,GAAG,CAAC,CAAC,CAAC,CAGR;AA4CD,iBAAS,kCAAkC,IAAI,IAAI,CAElD;AAED,iBAAS,wBAAwB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAC3E,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,OAAO,EAAE,CAAC,GACT,8BAA8B,CAAC,CAAC,CAAC,CAkHnC;AAED,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,kCAAkC,GACnC,CAAC"}
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAkBtC,OAAO,KAAK,EACV,cAAc,EAEd,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAW5C,iBAAS,iBAAiB,IAAI,IAAI,CAEjC;AA0DD,UAAU,WAAW;CAAG;AACxB,KAAK,GAAG,CAAC,CAAC,SAAS,eAAe,IAAI,QAAQ,CAAC,OAAO,GACpD,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,GAC5E,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;CAAE,GAAG,WAAW,CAAC,CAAC;AAE1E,UAAU,8BAA8B,CAAC,CAAC,SAAS,eAAe;IAChE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAMD,iBAAS,KAAK,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EACxD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,CAAC,GACV,GAAG,CAAC,CAAC,CAAC,CAGR;AA4CD,iBAAS,kCAAkC,IAAI,IAAI,CAElD;AAED,iBAAS,wBAAwB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EAC3E,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,EAC5B,OAAO,EAAE,CAAC,GACT,8BAA8B,CAAC,CAAC,CAAC,CAkHnC;AAED,OAAO,EACL,GAAG,EACH,KAAK,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,kCAAkC,GACnC,CAAC"}

View file

@ -11,10 +11,12 @@ const createDefaultProgram_1 = require("./create-program/createDefaultProgram");
const createIsolatedProgram_1 = require("./create-program/createIsolatedProgram");
const createProjectProgram_1 = require("./create-program/createProjectProgram");
const createSourceFile_1 = require("./create-program/createSourceFile");
const getWatchProgramsForProjects_1 = require("./create-program/getWatchProgramsForProjects");
const useProvidedPrograms_1 = require("./create-program/useProvidedPrograms");
const createParserServices_1 = require("./createParserServices");
const createParseSettings_1 = require("./parseSettings/createParseSettings");
const semantic_or_syntactic_errors_1 = require("./semantic-or-syntactic-errors");
const useProgramFromProjectService_1 = require("./useProgramFromProjectService");
const log = (0, debug_1.default)('typescript-eslint:typescript-estree:parser');
/**
* Cache existing programs for the single run use-case.
@ -32,30 +34,36 @@ exports.clearProgramCache = clearProgramCache;
* @returns Returns a source file and program corresponding to the linted code
*/
function getProgramAndAST(parseSettings, hasFullTypeInformation) {
if (parseSettings.EXPERIMENTAL_projectService) {
const fromProjectService = (0, useProgramFromProjectService_1.useProgramFromProjectService)(parseSettings.EXPERIMENTAL_projectService, parseSettings);
if (fromProjectService) {
return fromProjectService;
}
}
if (parseSettings.programs) {
const fromProvidedPrograms = (0, useProvidedPrograms_1.useProvidedPrograms)(parseSettings.programs, parseSettings);
if (fromProvidedPrograms) {
return fromProvidedPrograms;
}
}
if (hasFullTypeInformation) {
const fromProjectProgram = (0, createProjectProgram_1.createProjectProgram)(parseSettings);
if (fromProjectProgram) {
return fromProjectProgram;
}
// eslint-disable-next-line deprecation/deprecation -- will be cleaned up with the next major
if (parseSettings.DEPRECATED__createDefaultProgram) {
// eslint-disable-next-line deprecation/deprecation -- will be cleaned up with the next major
const fromDefaultProgram = (0, createDefaultProgram_1.createDefaultProgram)(parseSettings);
if (fromDefaultProgram) {
return fromDefaultProgram;
}
}
return (0, createIsolatedProgram_1.createIsolatedProgram)(parseSettings);
}
// no need to waste time creating a program as the caller didn't want parser services
// so we can save time and just create a lonesome source file
return (0, createSourceFile_1.createNoProgram)(parseSettings);
if (!hasFullTypeInformation) {
return (0, createSourceFile_1.createNoProgram)(parseSettings);
}
const fromProjectProgram = (0, createProjectProgram_1.createProjectProgram)(parseSettings, (0, getWatchProgramsForProjects_1.getWatchProgramsForProjects)(parseSettings));
if (fromProjectProgram) {
return fromProjectProgram;
}
// eslint-disable-next-line deprecation/deprecation -- will be cleaned up with the next major
if (parseSettings.DEPRECATED__createDefaultProgram) {
// eslint-disable-next-line deprecation/deprecation -- will be cleaned up with the next major
const fromDefaultProgram = (0, createDefaultProgram_1.createDefaultProgram)(parseSettings);
if (fromDefaultProgram) {
return fromDefaultProgram;
}
}
return (0, createIsolatedProgram_1.createIsolatedProgram)(parseSettings);
}
function parse(code, options) {
const { ast } = parseWithNodeMapsInternal(code, options, false);

View file

@ -1 +1 @@
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}

View file

@ -0,0 +1,5 @@
import type { server } from 'typescript/lib/tsserverlibrary';
import { type ASTAndDefiniteProgram } from './create-program/shared';
import type { MutableParseSettings } from './parseSettings';
export declare function useProgramFromProjectService(projectService: server.ProjectService, parseSettings: Readonly<MutableParseSettings>): ASTAndDefiniteProgram | undefined;
//# sourceMappingURL=useProgramFromProjectService.d.ts.map

View file

@ -0,0 +1 @@
{"version":3,"file":"useProgramFromProjectService.d.ts","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,aAAa,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAC5C,qBAAqB,GAAG,SAAS,CA4BnC"}

View file

@ -0,0 +1,31 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useProgramFromProjectService = void 0;
const path_1 = __importDefault(require("path"));
const createProjectProgram_1 = require("./create-program/createProjectProgram");
function useProgramFromProjectService(projectService, parseSettings) {
const opened = projectService.openClientFile(absolutify(parseSettings.filePath), parseSettings.codeFullText,
/* scriptKind */ undefined, parseSettings.tsconfigRootDir);
if (!opened.configFileName) {
return undefined;
}
const scriptInfo = projectService.getScriptInfo(parseSettings.filePath);
const program = projectService
.getDefaultProjectForFile(scriptInfo.fileName, true)
.getLanguageService(/*ensureSynchronized*/ true)
.getProgram();
if (!program) {
return undefined;
}
return (0, createProjectProgram_1.createProjectProgram)(parseSettings, [program]);
function absolutify(filePath) {
return path_1.default.isAbsolute(filePath)
? filePath
: path_1.default.join(projectService.host.getCurrentDirectory(), filePath);
}
}
exports.useProgramFromProjectService = useProgramFromProjectService;
//# sourceMappingURL=useProgramFromProjectService.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"useProgramFromProjectService.js","sourceRoot":"","sources":["../src/useProgramFromProjectService.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAIxB,gFAA6E;AAI7E,SAAgB,4BAA4B,CAC1C,cAAqC,EACrC,aAA6C;IAE7C,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAC1C,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,EAClC,aAAa,CAAC,YAAY;IAC1B,gBAAgB,CAAC,SAAS,EAC1B,aAAa,CAAC,eAAe,CAC9B,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;QAC1B,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,cAAc;SAC3B,wBAAwB,CAAC,UAAW,CAAC,QAAQ,EAAE,IAAI,CAAE;SACrD,kBAAkB,CAAC,sBAAsB,CAAC,IAAI,CAAC;SAC/C,UAAU,EAAE,CAAC;IAEhB,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,IAAA,2CAAoB,EAAC,aAAa,EAAE,CAAC,OAAqB,CAAC,CAAC,CAAC;IAEpE,SAAS,UAAU,CAAC,QAAgB;QAClC,OAAO,cAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC9B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AA/BD,oEA+BC"}

View file

@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/typescript-estree",
"version": "6.0.0",
"version": "6.1.0",
"description": "A parser that converts TypeScript source code into an ESTree compatible form",
"files": [
"dist",
@ -52,12 +52,12 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@typescript-eslint/types": "6.0.0",
"@typescript-eslint/visitor-keys": "6.0.0",
"@typescript-eslint/types": "6.1.0",
"@typescript-eslint/visitor-keys": "6.1.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
"semver": "^7.5.0",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
},
"devDependencies": {
@ -85,5 +85,5 @@
]
}
},
"gitHead": "6ae1fa74b18af8a2d4baa0d3d4b43997cf9a9781"
"gitHead": "d98f1e811a6a06128a86f10824b6005984dc8265"
}

View file

@ -2,6 +2,7 @@ import * as ASTUtils from './ast-utils';
import * as ESLintUtils from './eslint-utils';
import * as JSONSchema from './json-schema';
import * as TSESLint from './ts-eslint';
export { ASTUtils, ESLintUtils, JSONSchema, TSESLint };
import * as TSUtils from './ts-utils';
export { ASTUtils, ESLintUtils, JSONSchema, TSESLint, TSUtils };
export * from './ts-estree';
//# sourceMappingURL=index.d.ts.map

View file

@ -178,7 +178,7 @@ interface RuleContext<TMessageIds extends string, TOptions extends readonly unkn
* It is a path to a directory that should be considered as the current working directory.
* @since 6.6.0
*/
getCwd?(): string;
getCwd(): string;
/**
* Returns the filename associated with the source.
*/

View file

@ -0,0 +1,2 @@
export * from './isArray';
//# sourceMappingURL=index.d.ts.map

View file

@ -0,0 +1,2 @@
export declare function isArray(arg: unknown): arg is readonly unknown[];
//# sourceMappingURL=isArray.d.ts.map

View file

@ -7,7 +7,7 @@ exports.isObjectNotArray = exports.deepMerge = void 0;
* @returns `true` if obj is an object
*/
function isObjectNotArray(obj) {
return typeof obj === 'object' && !Array.isArray(obj);
return typeof obj === 'object' && obj != null && !Array.isArray(obj);
}
exports.isObjectNotArray = isObjectNotArray;
/**

View file

@ -1 +1 @@
{"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../src/eslint-utils/deepMerge.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAS,gBAAgB,CAAuB,GAAY;IAC1D,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACxD,CAAC;AAwCQ,4CAAgB;AAtCzB;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,QAAoB,EAAE,EACtB,SAAqB,EAAE;IAEvB,iDAAiD;IACjD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAErE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAa,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACtD,MAAM,WAAW,GAAG,GAAG,IAAI,KAAK,CAAC;QACjC,MAAM,YAAY,GAAG,GAAG,IAAI,MAAM,CAAC;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,WAAW,IAAI,YAAY,EAAE;YAC/B,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE;gBACjE,cAAc;gBACd,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;aAC/C;iBAAM;gBACL,aAAa;gBACb,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;aACxB;SACF;aAAM,IAAI,WAAW,EAAE;YACtB,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;SACvB;aAAM;YACL,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;SACxB;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AA7BD,8BA6BC"}
{"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../src/eslint-utils/deepMerge.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAS,gBAAgB,CAAuB,GAAY;IAC1D,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAwCQ,4CAAgB;AAtCzB;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,QAAoB,EAAE,EACtB,SAAqB,EAAE;IAEvB,iDAAiD;IACjD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAErE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAa,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACtD,MAAM,WAAW,GAAG,GAAG,IAAI,KAAK,CAAC;QACjC,MAAM,YAAY,GAAG,GAAG,IAAI,MAAM,CAAC;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,WAAW,IAAI,YAAY,EAAE;YAC/B,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE;gBACjE,cAAc;gBACd,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;aAC/C;iBAAM;gBACL,aAAa;gBACb,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;aACxB;SACF;aAAM,IAAI,WAAW,EAAE;YACtB,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;SACvB;aAAM;YACL,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;SACxB;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AA7BD,8BA6BC"}

View file

@ -2,6 +2,7 @@ import * as ASTUtils from './ast-utils';
import * as ESLintUtils from './eslint-utils';
import * as JSONSchema from './json-schema';
import * as TSESLint from './ts-eslint';
export { ASTUtils, ESLintUtils, JSONSchema, TSESLint };
import * as TSUtils from './ts-utils';
export { ASTUtils, ESLintUtils, JSONSchema, TSESLint, TSUtils };
export * from './ts-estree';
//# sourceMappingURL=index.d.ts.map

View file

@ -1 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AACvD,cAAc,aAAa,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAChE,cAAc,aAAa,CAAC"}

View file

@ -26,7 +26,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TSESLint = exports.JSONSchema = exports.ESLintUtils = exports.ASTUtils = void 0;
exports.TSUtils = exports.TSESLint = exports.JSONSchema = exports.ESLintUtils = exports.ASTUtils = void 0;
const ASTUtils = __importStar(require("./ast-utils"));
exports.ASTUtils = ASTUtils;
const ESLintUtils = __importStar(require("./eslint-utils"));
@ -35,5 +35,7 @@ const JSONSchema = __importStar(require("./json-schema"));
exports.JSONSchema = JSONSchema;
const TSESLint = __importStar(require("./ts-eslint"));
exports.TSESLint = TSESLint;
const TSUtils = __importStar(require("./ts-utils"));
exports.TSUtils = TSUtils;
__exportStar(require("./ts-estree"), exports);
//# sourceMappingURL=index.js.map

View file

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwC;AAK/B,4BAAQ;AAJjB,4DAA8C;AAI3B,kCAAW;AAH9B,0DAA4C;AAGZ,gCAAU;AAF1C,sDAAwC;AAEI,4BAAQ;AACpD,8CAA4B"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwC;AAM/B,4BAAQ;AALjB,4DAA8C;AAK3B,kCAAW;AAJ9B,0DAA4C;AAIZ,gCAAU;AAH1C,sDAAwC;AAGI,4BAAQ;AAFpD,oDAAsC;AAEgB,0BAAO;AAC7D,8CAA4B"}

View file

@ -178,7 +178,7 @@ interface RuleContext<TMessageIds extends string, TOptions extends readonly unkn
* It is a path to a directory that should be considered as the current working directory.
* @since 6.6.0
*/
getCwd?(): string;
getCwd(): string;
/**
* Returns the filename associated with the source.
*/

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
export * from './isArray';
//# sourceMappingURL=index.d.ts.map

View file

@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts-utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}

View file

@ -0,0 +1,18 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./isArray"), exports);
//# sourceMappingURL=index.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ts-utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}

View file

@ -0,0 +1,2 @@
export declare function isArray(arg: unknown): arg is readonly unknown[];
//# sourceMappingURL=isArray.d.ts.map

View file

@ -0,0 +1 @@
{"version":3,"file":"isArray.d.ts","sourceRoot":"","sources":["../../src/ts-utils/isArray.ts"],"names":[],"mappings":"AACA,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,OAAO,EAAE,CAE/D"}

View file

@ -0,0 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isArray = void 0;
// https://github.com/microsoft/TypeScript/issues/17002
function isArray(arg) {
return Array.isArray(arg);
}
exports.isArray = isArray;
//# sourceMappingURL=isArray.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"isArray.js","sourceRoot":"","sources":["../../src/ts-utils/isArray.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,OAAO,CAAC,GAAY;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAFD,0BAEC"}

View file

@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/utils",
"version": "6.0.0",
"version": "6.1.0",
"description": "Utilities for working with TypeScript + ESLint together",
"files": [
"dist",
@ -65,20 +65,19 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@eslint-community/eslint-utils": "^4.3.0",
"@types/json-schema": "^7.0.11",
"@types/semver": "^7.3.12",
"@typescript-eslint/scope-manager": "6.0.0",
"@typescript-eslint/types": "6.0.0",
"@typescript-eslint/typescript-estree": "6.0.0",
"eslint-scope": "^5.1.1",
"semver": "^7.5.0"
"@eslint-community/eslint-utils": "^4.4.0",
"@types/json-schema": "^7.0.12",
"@types/semver": "^7.5.0",
"@typescript-eslint/scope-manager": "6.1.0",
"@typescript-eslint/types": "6.1.0",
"@typescript-eslint/typescript-estree": "6.1.0",
"semver": "^7.5.4"
},
"peerDependencies": {
"eslint": "^7.0.0 || ^8.0.0"
},
"devDependencies": {
"@typescript-eslint/parser": "6.0.0",
"@typescript-eslint/parser": "6.1.0",
"typescript": "*"
},
"funding": {
@ -92,5 +91,5 @@
]
}
},
"gitHead": "6ae1fa74b18af8a2d4baa0d3d4b43997cf9a9781"
"gitHead": "d98f1e811a6a06128a86f10824b6005984dc8265"
}

View file

@ -1,6 +1,6 @@
{
"name": "@typescript-eslint/visitor-keys",
"version": "6.0.0",
"version": "6.1.0",
"description": "Visitor keys used to help traverse the TypeScript-ESTree AST",
"files": [
"dist",
@ -45,7 +45,7 @@
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"@typescript-eslint/types": "6.0.0",
"@typescript-eslint/types": "6.1.0",
"eslint-visitor-keys": "^3.4.1"
},
"devDependencies": {
@ -62,5 +62,5 @@
]
}
},
"gitHead": "6ae1fa74b18af8a2d4baa0d3d4b43997cf9a9781"
"gitHead": "d98f1e811a6a06128a86f10824b6005984dc8265"
}