Gracias a Brendan por guiarme en la dirección correcta. En última instancia, la respuesta se encontró aquí:http://www.matthiassommer.it /software-architecture/webpack-node-modules/
La pieza clave de información es:
Siguiendo los pasos descritos allí, la resolución se convierte en:
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: './src/api/index.ts',
target: 'node',
mode: 'production',
module: {
rules: [
{
test: /\.tsx?$/,
loader: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: ['.js', '.tsx', '.ts', '.json'],
},
output: {
filename: 'api.js',
path: path.resolve(__dirname, 'dist'),
},
plugins: [
new webpack.IgnorePlugin(/fsevents/),
new webpack.IgnorePlugin(/blessed/),
],
externals: {
"saslprep": "require('saslprep')"
}
};
Tenga en cuenta que en mis pruebas, las comillas alrededor de "saslprep" parecen ser obligatorias al importar elementos externos.