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:
@@ -4,8 +4,8 @@
|
||||
*/
|
||||
|
||||
import { perfContext, before, RuntimeCase } from 'xterm-benchmark';
|
||||
import { DecorationService } from 'common/services/DecorationService';
|
||||
import { MockLogService, MockBufferService, MockOptionsService } from 'common/TestUtils.test';
|
||||
import { DecorationService } from '../../src/common/services/DecorationService';
|
||||
import { MockLogService, MockBufferService, MockOptionsService } from '../../src/common/TestUtils.test';
|
||||
const enum Constants {
|
||||
COLS = 80,
|
||||
ROWS = 30,
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
*/
|
||||
import { perfContext, before, beforeEach, ThroughputRuntimeCase } from 'xterm-benchmark';
|
||||
|
||||
import { EscapeSequenceParser } from 'common/parser/EscapeSequenceParser';
|
||||
import { C0, C1 } from 'common/data/EscapeSequences';
|
||||
import { IDcsHandler, IOscHandler, IApcHandler, IParams } from 'common/parser/Types';
|
||||
import { OscHandler } from 'common/parser/OscParser';
|
||||
import { DcsHandler } from 'common/parser/DcsParser';
|
||||
import { ApcHandler } from 'common/parser/ApcParser';
|
||||
import { EscapeSequenceParser } from '../../src/common/parser/EscapeSequenceParser';
|
||||
import { C0, C1 } from '../../src/common/data/EscapeSequences';
|
||||
import { IDcsHandler, IOscHandler, IApcHandler, IParams } from '../../src/common/parser/Types';
|
||||
import { OscHandler } from '../../src/common/parser/OscParser';
|
||||
import { DcsHandler } from '../../src/common/parser/DcsParser';
|
||||
import { ApcHandler } from '../../src/common/parser/ApcParser';
|
||||
|
||||
const SIZE = 5000000;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
import { perfContext, before, RuntimeCase } from 'xterm-benchmark';
|
||||
import { Emitter } from 'common/Event';
|
||||
import { Emitter } from '../../src/common/Event';
|
||||
|
||||
const ITERATIONS = 1_000_000;
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
import { perfContext, before, ThroughputRuntimeCase } from 'xterm-benchmark';
|
||||
|
||||
import { spawn } from 'node-pty';
|
||||
import { Utf8ToUtf32, stringFromCodePoint } from 'common/input/TextDecoder';
|
||||
import { CoreBrowserTerminal } from 'browser/CoreBrowserTerminal';
|
||||
import { Utf8ToUtf32, stringFromCodePoint } from '../../src/common/input/TextDecoder';
|
||||
import { CoreBrowserTerminal } from '../../src/browser/CoreBrowserTerminal';
|
||||
|
||||
perfContext('Terminal: ls -lR /usr/lib', () => {
|
||||
let content = '';
|
||||
|
||||
@@ -11,12 +11,7 @@
|
||||
"moduleResolution": "nodenext",
|
||||
"strict": false,
|
||||
"target": "es2021",
|
||||
"module": "nodenext",
|
||||
"paths": {
|
||||
"common/*": [ "../../src/common/*" ],
|
||||
"browser/*": [ "../../src/browser/*" ],
|
||||
"Terminal": ["../../src/Terminal"]
|
||||
},
|
||||
"module": "nodenext"
|
||||
},
|
||||
"include": [
|
||||
"./**/*",
|
||||
|
||||
@@ -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