Files
fivem/webpack.server.js

38 lines
1.1 KiB
JavaScript

const path = require('path');
module.exports = {
entry: './src/server/index.ts',
target: 'node',
mode: 'development',
devtool: 'source-map',
module: {
rules: [
{
test: /\.tsx?$/,
use: {
loader: 'ts-loader',
options: { configFile: 'tsconfig.server.json' },
},
exclude: /node_modules/,
},
],
},
resolve: {
extensions: ['.tsx', '.ts', '.js'],
},
output: {
filename: 'index.js',
path: path.resolve(__dirname, 'dist/server'),
},
// Bundle all our source, but leave npm packages as external requires.
// FiveM resolves bare-name requires from the resource's node_modules.
externals: [
({ request }, callback) => {
if (!request || request.startsWith('.') || request.startsWith('/') || request.startsWith('@/')) {
return callback(); // bundle relative imports
}
callback(null, `commonjs ${request}`); // leave npm packages external
},
],
};