eslint-scope を 8.x から 9.x へアップグレード
eslint-scope 8.4.0 と 9.1.2 の公開 API を、TypeScript の型から自動的に比較したものです。シグネチャの変更は破壊的変更の候補であり、確定ではありません。
概要
| 削除されたインポートパス | 0 |
|---|---|
| 削除されたエクスポート | 0 |
| 変更されたシグネチャ | 1 |
| 削除されたクラス/インターフェースのメンバー | 4 |
| 変更されたクラス/インターフェースのメンバー | 45 |
| 新たに非推奨 | 48 |
| 要件の変更(engines、peer 依存関係) | 1 |
| 新しいエクスポート | 13 |
削除されたエクスポート
検出されませんでした。
変更されたシグネチャ
| export | 変更前 | 変更後 |
|---|---|---|
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; } |
削除されたクラス/インターフェースのメンバー
| member | import | 変更前 |
|---|---|---|
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>[]; } |
変更されたクラス/インターフェースのメンバー
| member | 変更前 | 変更後 |
|---|---|---|
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 |
新たに非推奨
| 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 | — |
要件の変更(engines、peer 依存関係)
| 変更前 | 変更後 | |
|---|---|---|
engines.node | ^18.18.0 || ^20.9.0 || >=21.1.0 | ^20.19.0 || ^22.13.0 || >=24 |
新しいエクスポート (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 |
このデータを AI エージェントに渡す
Vigia は無料の MCP サーバーです。コーディングエージェントがコードを書く前に、バージョン・破壊的変更・脆弱性を確認できます。登録も API キーも不要です。
claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp
Cursor に追加VS Code に追加★ GitHub でスターを付ける
その他の MCP クライアント
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }エージェント用スキル (SKILL.md):Vigia を使うタイミングをエージェントに伝えます · プルリクエスト用 GitHub Action
よくある質問
eslint-scope を 8 から 9 にアップグレードする際の破壊的変更は?
eslint-scope 8.4.0 と 9.1.2 の間で、Vigia は削除されたエクスポートを 0 件、変更されたシグネチャを 1 件、削除または変更されたクラス/インターフェースのメンバーを 49 件検出しました。
eslint-scope 9 で非推奨になったものは?
eslint-scope 9.1.2 では 48 件のエクスポートまたはメンバーが新たに非推奨になりました。
エージェント向け
GET https://vigia.coredls.cloud/v1/packages/npm/eslint-scope/upgrade?from=8.4.0&to=9.1.2