Passer de eslint-scope 8.x à 9.x
Comparaison de l’API publique de eslint-scope 8.4.0 et 9.1.2, calculée automatiquement à partir de leurs types TypeScript. Une signature modifiée est un changement incompatible possible, pas une certitude.
Résumé
| Chemins d’importation supprimés | 0 |
|---|---|
| Exports supprimés | 0 |
| Signatures modifiées | 1 |
| Membres de classes ou d’interfaces supprimés | 4 |
| Membres de classes ou d’interfaces modifiés | 45 |
| Nouvelles dépréciations | 48 |
| Changements d’exigences (engines, dépendances peer) | 1 |
| Nouveaux exports | 13 |
Exports supprimés
Aucun détecté.
Signatures modifiées
| export | Avant | Après |
|---|---|---|
eslint-scope · Definition | class | ({ type: "CatchClause"; node: ESTree.CatchClause; parent: null; } | { type: "ClassName"; node: any; parent: null; } | { type: "FunctionName"; node: any; parent: null; } | { type: "ImplicitGlobalVariable"; node: any; parent: null; } | { type: "ImportBinding"; node: any; parent: ESTree.ImportDeclaration; } | { type: "Parameter"; node: any; parent: null; } | { type: "Variable"; node: ESTree.VariableDeclarator; parent: ESTree.VariableDeclaration; }) & { name: ESTree.Identifier; index: number | null; kind: string | null; } |
Membres de classes ou d’interfaces supprimés
| member | import | Avant |
|---|---|---|
Scope.implicit | eslint-scope | { left: TReference[]; set: Map<string, Variable<Reference>>; variables: Variable<Reference>[]; } |
BlockScope.implicit | eslint-scope | { left: Reference[]; set: Map<string, Variable<Reference>>; variables: Variable<Reference>[]; } |
ModuleScope.implicit | eslint-scope | { left: Reference[]; set: Map<string, Variable<Reference>>; variables: Variable<Reference>[]; } |
FunctionScope.implicit | eslint-scope | { left: Reference[]; set: Map<string, Variable<Reference>>; variables: Variable<Reference>[]; } |
Membres de classes ou d’interfaces modifiés
| member | Avant | Après |
|---|---|---|
Scope.set | eslint.Scope.Scope | Map<string, TVariable> |
Scope.type | eslint.Scope.Scope | "function" | "module" | "block" | "catch" | "class" | "class-field-initializer" | "class-static-block" | "for" | "function-expression-name" | "global" | "switch" | "with" |
Scope.taints | Map<string, Variable<Reference>> | Map<string, TVariable> |
Scope.resolve | (ref: Reference, noChain?: boolean | undefined): void | (ident: ESTree.Identifier): TReference | null |
Scope.through | eslint.Scope.Scope | TReference[] |
Scope.constructor | <TVariable extends Variable = Variable<Reference>, TReference extends Reference = Reference>(scopeManager: ScopeManager, type: string, upper: Scope<Variable<Reference>, Reference> | null, block: ESTree.Node, isMethodDefinition: boolean): Scope<TVariable, TReference> | <TVariable extends Variable = Variable<Reference>, TReference extends Reference = Reference>(scopeManager: ScopeManager, type: "function" | "module" | "block" | "catch" | "class" | "class-field-initializer" | "class-static-block" | "for" | "function-expression-name" | "global" | "switch" | "with", u… |
Scope.variableScope | Scope<TVariable, TReference> | Scope<Variable<Reference>, Reference> |
Variable.defs | eslint.Scope.Definition[] | Definition[] |
Reference.init | boolean | boolean | undefined |
Reference.isRead | eslint.Scope.Reference | (): boolean |
Reference.isWrite | eslint.Scope.Reference | (): boolean |
Reference.partial | boolean | boolean | undefined |
Reference.identifier | ESTree.Identifier | any |
Reference.constructor | (identifier: ESTree.Identifier, scope: Scope<Variable<Reference>, Reference>, flag: number, writeExpr: any, maybeImplicitGlobal: boolean, partial: boolean, init: boolean): Reference | (ident: any, scope: Scope<Variable<Reference>, Reference>, flag: number, writeExpr: any, maybeImplicitGlobal: { pattern: ESTree.Pattern; node: ESTree.Node; } | null, partial: boolean, init: boolean): Reference |
BlockScope.set | eslint.Scope.Scope | Map<string, Variable<Reference>> |
BlockScope.resolve | (ref: Reference, noChain?: boolean | undefined): void | (ident: ESTree.Identifier): Reference | null |
BlockScope.through | eslint.Scope.Scope | Reference[] |
BlockScope.constructor | (scopeManager: ScopeManager, upper: Scope<Variable<Reference>, Reference>, block: ESTree.Node): BlockScope | (scopeManager: ScopeManager, upperScope: Scope<Variable<Reference>, Reference>, block: ESTree.Node): BlockScope |
BlockScope.variableScope | BlockScope | Scope<Variable<Reference>, Reference> |
BlockScope.isThisMaterialized | (): boolean | (): true |
BlockScope.functionExpressionScope | boolean | false |
BlockScope.isArgumentsMaterialized | (): boolean | (): true |
GlobalScope.set | eslint.Scope.Scope | Map<string, Variable<Reference>> |
GlobalScope.resolve | (ref: Reference, noChain?: boolean | undefined): void | (ident: ESTree.Identifier): Reference | null |
GlobalScope.through | eslint.Scope.Scope | Reference[] |
GlobalScope.variableScope | GlobalScope | Scope<Variable<Reference>, Reference> |
GlobalScope.isThisMaterialized | (): boolean | (): true |
GlobalScope.functionExpressionScope | boolean | false |
GlobalScope.isArgumentsMaterialized | (): boolean | (): true |
ModuleScope.set | eslint.Scope.Scope | Map<string, Variable<Reference>> |
ModuleScope.resolve | (ref: Reference, noChain?: boolean | undefined): void | (ident: ESTree.Identifier): Reference | null |
ModuleScope.through | eslint.Scope.Scope | Reference[] |
ModuleScope.constructor | (scopeManager: ScopeManager, upper: Scope<Variable<Reference>, Reference>, block: ESTree.Node): ModuleScope | (scopeManager: ScopeManager, upperScope: Scope<Variable<Reference>, Reference>, block: ESTree.Node): ModuleScope |
ModuleScope.variableScope | ModuleScope | Scope<Variable<Reference>, Reference> |
ModuleScope.isThisMaterialized | (): boolean | (): true |
ModuleScope.functionExpressionScope | boolean | false |
ModuleScope.isArgumentsMaterialized | (): boolean | (): true |
ScopeManager.globalScope | GlobalScope | GlobalScope | null |
FunctionScope.set | eslint.Scope.Scope | Map<string, Variable<Reference>> |
FunctionScope.resolve | (ref: Reference, noChain?: boolean | undefined): void | (ident: ESTree.Identifier): Reference | null |
FunctionScope.through | eslint.Scope.Scope | Reference[] |
FunctionScope.constructor | (scopeManager: ScopeManager, upper: Scope<Variable<Reference>, Reference>, block: ESTree.Node, isMethodDefinition: boolean): FunctionScope | (scopeManager: ScopeManager, upperScope: Scope<Variable<Reference>, Reference>, block: ESTree.Node, isMethodDefinition: boolean): FunctionScope |
FunctionScope.variableScope | FunctionScope | Scope<Variable<Reference>, Reference> |
FunctionScope.functionExpressionScope | boolean | false |
AnalyzeOptions.childVisitorKeys | any | { readonly [type: string]: readonly string[]; } | null | undefined |
Nouvelles dépréciations
| export | @deprecated |
|---|---|
eslint-scope · Scope.taints | — |
eslint-scope · Scope.dynamic | — |
eslint-scope · Scope.resolve | — |
eslint-scope · Scope.isStatic | — |
eslint-scope · Scope.thisFound | — |
eslint-scope · Scope.isUsedName | — |
eslint-scope · Scope.isThisMaterialized | — |
eslint-scope · Scope.directCallToEvalScope | — |
eslint-scope · Scope.isArgumentsMaterialized | — |
eslint-scope · Variable.stack | — |
eslint-scope · Variable.tainted | — |
eslint-scope · Reference.partial | — |
eslint-scope · Reference.tainted | — |
eslint-scope · Reference.isStatic | — |
eslint-scope · BlockScope.taints | — |
eslint-scope · BlockScope.dynamic | — |
eslint-scope · BlockScope.resolve | — |
eslint-scope · BlockScope.isStatic | — |
eslint-scope · BlockScope.thisFound | — |
eslint-scope · BlockScope.isUsedName | — |
eslint-scope · BlockScope.directCallToEvalScope | — |
eslint-scope · GlobalScope.taints | — |
eslint-scope · GlobalScope.dynamic | — |
eslint-scope · GlobalScope.resolve | — |
eslint-scope · GlobalScope.isStatic | — |
eslint-scope · GlobalScope.thisFound | — |
eslint-scope · GlobalScope.isUsedName | — |
eslint-scope · GlobalScope.directCallToEvalScope | — |
eslint-scope · ModuleScope.taints | — |
eslint-scope · ModuleScope.dynamic | — |
eslint-scope · ModuleScope.resolve | — |
eslint-scope · ModuleScope.isStatic | — |
eslint-scope · ModuleScope.thisFound | — |
eslint-scope · ModuleScope.isUsedName | — |
eslint-scope · ModuleScope.directCallToEvalScope | — |
eslint-scope · ScopeManager.isModule | — |
eslint-scope · ScopeManager.acquireAll | — |
eslint-scope · ScopeManager.isImpliedStrict | — |
eslint-scope · ScopeManager.isStrictModeSupported | — |
eslint-scope · FunctionScope.taints | — |
eslint-scope · FunctionScope.dynamic | — |
eslint-scope · FunctionScope.resolve | — |
eslint-scope · FunctionScope.isStatic | — |
eslint-scope · FunctionScope.thisFound | — |
eslint-scope · FunctionScope.isUsedName | — |
eslint-scope · FunctionScope.isThisMaterialized | — |
eslint-scope · FunctionScope.directCallToEvalScope | — |
eslint-scope · FunctionScope.isArgumentsMaterialized | — |
Changements d’exigences (engines, dépendances peer)
| Avant | Après | |
|---|---|---|
engines.node | ^18.18.0 || ^20.9.0 || >=21.1.0 | ^20.19.0 || ^22.13.0 || >=24 |
Nouveaux exports (13)
| import | export | kind |
|---|---|---|
eslint-scope | version | variable |
eslint-scope | ForScope | class |
eslint-scope | WithScope | class |
eslint-scope | CatchScope | class |
eslint-scope | ClassScope | class |
eslint-scope | Referencer | class |
eslint-scope | SwitchScope | class |
eslint-scope | JSXIdentifier | interface |
eslint-scope | PatternVisitor | class |
eslint-scope | ClassStaticBlockScope | class |
eslint-scope | PatternVisitorCallback | type |
eslint-scope | ClassFieldInitializerScope | class |
eslint-scope | FunctionExpressionNameScope | class |
Questions fréquentes
Quels sont les changements incompatibles en passant de eslint-scope 8 à 9 ?
Entre eslint-scope 8.4.0 et 9.1.2, Vigia a trouvé 0 exports supprimés, 1 signatures modifiées et 49 membres de classes ou d’interfaces supprimés ou modifiés.
Qu’est-ce qui a été déprécié dans eslint-scope 9 ?
48 exports ou membres sont désormais marqués comme dépréciés dans eslint-scope 9.1.2.
Pour les agents
GET https://vigia.coredls.cloud/v1/packages/npm/eslint-scope/upgrade?from=8.4.0&to=9.1.2