diff --git a/.changeset/twelve-news-allow.md b/.changeset/twelve-news-allow.md new file mode 100644 index 000000000..1cd5cd9f7 --- /dev/null +++ b/.changeset/twelve-news-allow.md @@ -0,0 +1,5 @@ +--- +'modular-scripts': patch +--- + +Open IDE from React Error Overlay page links diff --git a/packages/modular-scripts/src/esbuild-scripts/runtime/index.ts b/packages/modular-scripts/src/esbuild-scripts/runtime/index.ts index 0d35ca435..aa1c33290 100644 --- a/packages/modular-scripts/src/esbuild-scripts/runtime/index.ts +++ b/packages/modular-scripts/src/esbuild-scripts/runtime/index.ts @@ -11,7 +11,7 @@ let hasCompileErrors = false; setEditorHandler(function editorHandler(errorLocation) { // Keep this sync with errorOverlayMiddleware.js void fetch( - '/__open_editor' + + '/__open-stack-frame-in-editor' + '?fileName=' + window.encodeURIComponent(errorLocation.fileName) + '&lineNumber=' + diff --git a/packages/modular-scripts/src/esbuild-scripts/start/index.ts b/packages/modular-scripts/src/esbuild-scripts/start/index.ts index ad0e92c44..a6e75e091 100644 --- a/packages/modular-scripts/src/esbuild-scripts/start/index.ts +++ b/packages/modular-scripts/src/esbuild-scripts/start/index.ts @@ -28,6 +28,7 @@ import { createIndex } from '../api'; import { formatError } from '../utils/formatError'; import createEsbuildConfig from '../config/createEsbuildConfig'; import { createAbsoluteSourceMapMiddleware } from '../utils/absoluteSourceMapsMiddleware'; +import createLaunchEditorMiddleware from '../../../react-dev-utils/errorOverlayMiddleware.js'; class DevServer { private paths: Paths; @@ -68,6 +69,8 @@ class DevServer { // eslint-disable-next-line @typescript-eslint/no-misused-promises this.express.get('/', this.handleIndex); + this.express.use(createLaunchEditorMiddleware()); + this.ws.app.ws('/_ws', (ws, req) => { logger.debug('Connected'); });