Remove TypeScript path mappings in favor of relative imports
Fixes https://github.com/xtermjs/xterm.js/issues/5896 TypeScript path mappings for common/*, browser/*, and headless/* were not rewritten in emitted JavaScript, which forced webpack resolve aliases and NODE_PATH workarounds so runtime could resolve modules. That added build complexity and broke tooling such as ESLint import/no-cycle. Changes: - Convert ~750 imports across src/, addons/, and test/ to relative paths - Remove common/browser/headless paths and src catch-all mappings from tsconfigs (keep @xterm/addon-* demo and addon typings paths) - Remove webpack resolve.alias for common, browser, headless, and vs - Drop NODE_PATH from unit tests, benchmarks, and VS Code launch config - Fix addon-image IIPImageStorage to import ./Types after removing catch-all * Verified: npm run build, esbuild, package, package-headless Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
import { test } from '@playwright/test';
|
||||
import { deepStrictEqual, notStrictEqual, strictEqual } from 'assert';
|
||||
import { ITestContext, createTestContext, openTerminal, pollFor, timeout } from './TestUtils';
|
||||
import { IRenderDimensions } from 'browser/renderer/shared/Types';
|
||||
import { IRenderDimensions } from '../../src/browser/renderer/shared/Types';
|
||||
|
||||
let ctx: ITestContext;
|
||||
test.beforeAll(async ({ browser }) => {
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
import { Browser, JSHandle, Page } from '@playwright/test';
|
||||
import { deepStrictEqual, strictEqual } from 'assert';
|
||||
import type { IRenderDimensions as IRenderDimensionsInternal } from 'browser/renderer/shared/Types';
|
||||
import type { IRenderService } from 'browser/services/Services';
|
||||
import type { ICoreTerminal, IDisposable, IMarker } from 'common/Types';
|
||||
import type { IRenderDimensions as IRenderDimensionsInternal } from '../../src/browser/renderer/shared/Types';
|
||||
import type { IRenderService } from '../../src/browser/services/Services';
|
||||
import type { ICoreTerminal, IDisposable, IMarker } from '../../src/common/Types';
|
||||
import * as playwright from '@playwright/test';
|
||||
import { IBuffer, IBufferCell, IBufferLine, IBufferNamespace, IBufferRange, IDecoration, IDecorationOptions, IModes, IRenderDimensions, ITerminalInitOnlyOptions, ITerminalOptions, Terminal } from '@xterm/xterm';
|
||||
|
||||
|
||||
@@ -17,14 +17,6 @@
|
||||
"noImplicitAny": false,
|
||||
"declaration": true,
|
||||
"moduleResolution": "nodenext",
|
||||
"paths": {
|
||||
"browser/*": [
|
||||
"../../src/browser/*"
|
||||
],
|
||||
"common/*": [
|
||||
"../../src/common/*"
|
||||
]
|
||||
},
|
||||
"target": "ESNext",
|
||||
"module": "nodenext",
|
||||
"composite": true
|
||||
|
||||
Reference in New Issue
Block a user