63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
/**
|
|
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
|
|
* @license MIT
|
|
*/
|
|
|
|
// @ts-check
|
|
|
|
const path = require('path');
|
|
|
|
/**
|
|
* This webpack config does a production build for xterm.js. It works by taking the output from tsc
|
|
* (via `yarn watch` or `yarn prebuild`) which are put into `out/` and webpacks them into a
|
|
* production mode umd library module in `lib/`. The aliases are used fix up the absolute paths
|
|
* output by tsc (because of `baseUrl` and `paths` in `tsconfig.json`.
|
|
*
|
|
* @type {import('webpack').Configuration}
|
|
*/
|
|
const config = {
|
|
entry: path.resolve(__dirname, 'client.ts'),
|
|
devtool: 'inline-source-map',
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.tsx?$/,
|
|
use: 'ts-loader',
|
|
exclude: /node_modules/
|
|
},
|
|
{
|
|
test: /\.js$/,
|
|
use: ["source-map-loader"],
|
|
enforce: "pre",
|
|
exclude: /node_modules/
|
|
}
|
|
]
|
|
},
|
|
resolve: {
|
|
modules: [
|
|
'node_modules',
|
|
path.resolve(__dirname, '..'),
|
|
path.resolve(__dirname, '../addons')
|
|
],
|
|
extensions: [ '.tsx', '.ts', '.js' ],
|
|
alias: {
|
|
common: path.resolve('./out/common'),
|
|
browser: path.resolve('./out/browser')
|
|
},
|
|
fallback: {
|
|
// The ligature modules contains fallbacks for node environments, we never want to browserify them
|
|
stream: false,
|
|
util: false,
|
|
os: false,
|
|
path: false,
|
|
fs: false
|
|
}
|
|
},
|
|
output: {
|
|
filename: 'client-bundle.js',
|
|
path: path.resolve(__dirname, 'dist')
|
|
},
|
|
mode: 'development'
|
|
};
|
|
module.exports = config;
|