diff --git a/eslint.config.mjs b/eslint.config.mjs index 7d1c1ddf..2dcb3cec 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -112,6 +112,22 @@ export default defineConfig([ '@stylistic/function-call-spacing': 'error', '@stylistic/semi': 'error', + + 'no-restricted-imports': [ + 'error', + { + patterns: [ + { + group: [ + '*/node_modules/chrome-devtools-frontend/*', + '!*/node_modules/chrome-devtools-frontend/mcp/mcp.js', + ], + message: + 'Import devtools-frontend code only from node_modules/chrome-devtools-frontend/mcp/mcp.js', + }, + ], + }, + ], }, }, { diff --git a/src/DevToolsConnectionAdapter.ts b/src/DevToolsConnectionAdapter.ts index 94b5240f..17c335a3 100644 --- a/src/DevToolsConnectionAdapter.ts +++ b/src/DevToolsConnectionAdapter.ts @@ -4,6 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ +// eslint-disable-next-line no-restricted-imports import {ConnectionTransport as DevToolsConnectionTransport} from '../node_modules/chrome-devtools-frontend/front_end/core/protocol_client/ConnectionTransport.js'; import {type ConnectionTransport} from './third_party/index.js'; diff --git a/src/trace-processing/parse.ts b/src/trace-processing/parse.ts index 2b0f523f..23e19576 100644 --- a/src/trace-processing/parse.ts +++ b/src/trace-processing/parse.ts @@ -4,10 +4,12 @@ * SPDX-License-Identifier: Apache-2.0 */ -import {PerformanceInsightFormatter} from '../../node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js'; -import {PerformanceTraceFormatter} from '../../node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js'; -import {AgentFocus} from '../../node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIContext.js'; -import * as TraceEngine from '../../node_modules/chrome-devtools-frontend/front_end/models/trace/trace.js'; +import { + AgentFocus, + TraceEngine, + PerformanceTraceFormatter, + PerformanceInsightFormatter, +} from '../../node_modules/chrome-devtools-frontend/mcp/mcp.js'; import {logger} from '../logger.js'; const engine = TraceEngine.TraceModel.Model.createWithAllHandlers(); diff --git a/tsconfig.json b/tsconfig.json index 5a6f084e..11e5dfa9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -26,6 +26,7 @@ "include": [ "src/**/*.ts", "tests/**/*.ts", + "node_modules/chrome-devtools-frontend/mcp/mcp.ts", "node_modules/chrome-devtools-frontend/front_end/legacy/legacy-defs.d.ts", "node_modules/chrome-devtools-frontend/front_end/models/trace", "node_modules/chrome-devtools-frontend/front_end/models/logs",