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:
@@ -8,8 +8,7 @@ const path = require('path');
|
||||
/**
|
||||
* This webpack config does a production build for xterm.js headless. It works by taking the output
|
||||
* from tsc (via `npm run watch` or `npm run prebuild`) which are put into `out/` and webpacks them
|
||||
* into a production mode umd library module in `lib-headless/`. The aliases are used fix up the
|
||||
* absolute paths output by tsc (because of `baseUrl` and `paths` in `tsconfig.json`.
|
||||
* into a production mode umd library module in `lib-headless/`.
|
||||
*
|
||||
* @type {import('webpack').Configuration}
|
||||
*/
|
||||
@@ -29,11 +28,6 @@ const config = {
|
||||
resolve: {
|
||||
modules: ['./node_modules'],
|
||||
extensions: [ '.js' ],
|
||||
alias: {
|
||||
common: path.resolve('./out/common'),
|
||||
headless: path.resolve('./out/headless'),
|
||||
vs: path.resolve('./out/vs')
|
||||
}
|
||||
},
|
||||
output: {
|
||||
filename: 'xterm-headless.js',
|
||||
|
||||
Reference in New Issue
Block a user