Follow-up to https://github.com/xtermjs/xterm.js/issues/5896 / PR #5966. Converting addons to ../../../src/common relative imports broke unit tests: esbuild emits addon code under addons/*/out-esbuild/ without mirroring the shared tree, so Node could not load TypeScript sources at runtime (Cannot find module '../../../src/common/Lifecycle'). Core src/, test/, and headless continue to use relative imports with no common/* path mappings. Addons keep the prior model until build layout can share out-esbuild the same way as the main package. Changes: - Restore common/* and browser/* paths in addon src/test/benchmark tsconfigs - Revert addon imports to common/ and browser/ path-mapped specifiers - Restore NODE_PATH=out-esbuild in bin/test_unit.js for Mocha resolution - Restore webpack resolve.alias on addons that bundle against out/ Fixes CI test-unit failures on remove-path-mappings-5896. Co-authored-by: Cursor <cursoragent@cursor.com>
45 lines
962 B
JavaScript
45 lines
962 B
JavaScript
/**
|
|
* Copyright (c) 2020 The xterm.js authors. All rights reserved.
|
|
* @license MIT
|
|
*/
|
|
|
|
const path = require('path');
|
|
|
|
const addonName = 'ImageAddon';
|
|
const mainFile = 'addon-image.js';
|
|
|
|
const addon = {
|
|
entry: `./out/${addonName}.js`,
|
|
devtool: 'source-map',
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.js$/,
|
|
use: ["source-map-loader"],
|
|
enforce: "pre",
|
|
exclude: /node_modules/
|
|
}
|
|
]
|
|
},
|
|
resolve: {
|
|
modules: ['./node_modules'],
|
|
extensions: [ '.js' ],
|
|
alias: {
|
|
common: path.resolve('../../out/common'),
|
|
browser: path.resolve('../../out/browser'),
|
|
vs: path.resolve('../../out/vs')
|
|
}
|
|
},
|
|
output: {
|
|
filename: mainFile,
|
|
path: path.resolve('./lib'),
|
|
library: addonName,
|
|
libraryTarget: 'umd',
|
|
// Force usage of globalThis instead of global / self. (This is cross-env compatible)
|
|
globalObject: 'globalThis',
|
|
},
|
|
mode: 'production'
|
|
};
|
|
|
|
module.exports = [addon];
|