123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- 'use strict';
- const path = require('path');
- const nodeExternals = require('webpack-node-externals');
- const webpack = require('webpack');
- const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
- const ForkTsCheckerNotifierWebpackPlugin = require('fork-ts-checker-notifier-webpack-plugin');
- const packageJson = require('pjson');
- const WebpackUtils = require('./utils/WebpackUtils').WebpackUtils;
- module.exports = {
- context: path.resolve(__dirname, '..'),
- devtool: 'source-map',
- entry: {
- 'index': './index.ts',
- 'index.cli': './index.cli.ts'
- },
- target: 'node',
- externals: [nodeExternals()],
- module: {
- exprContextCritical: false,
- rules: [
- {
- test: /\.ts$/,
- loader: 'ts-loader',
- options: {
- transpileOnly: true
- }
- }
- ]
- },
- resolve: {
- extensions: ['.ts']
- },
- cache: {
- type: 'filesystem',
- buildDependencies: {
- config: [
- __filename
- ]
- }
- },
- plugins: [
- new webpack.BannerPlugin(
- {
- banner: WebpackUtils.getBannerText(
- WebpackUtils.getLicenseText(),
- WebpackUtils.getSourceMapSupportImport()
- ),
- raw: true,
- entryOnly: false
- }
- ),
- new webpack.EnvironmentPlugin({
- VERSION: packageJson.version,
- BUILD_TIMESTAMP: Date.now()
- }),
- new ForkTsCheckerWebpackPlugin({
- eslint: {
- files: 'src/**/*.ts'
- },
- typescript: {
- configFile: 'src/tsconfig.node.json'
- }
- }),
- new ForkTsCheckerNotifierWebpackPlugin({
- skipFirstNotification: true
- })
- ],
- output: {
- libraryTarget: 'commonjs2'
- },
- stats: {
- excludeModules: true
- }
- };
|