diff --git a/package.json b/package.json index 52045027f..71750f31b 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "scripts": { "watch": "webpack --watch --config webpack.dev.js", - "prepare": "webpack --config webpack.dev.js", + "prepare": "webpack --config webpack.prod.js", "test": "node lib/bin/bolt-test.js compare", "generate-ast": "tsastgen src/ast-spec.ts:src/ast.ts", "update-lkg": "node lib/bin/bolt-test.js create-snapshot lkg" diff --git a/webpack.prod.js b/webpack.prod.js new file mode 100644 index 000000000..fba935da7 --- /dev/null +++ b/webpack.prod.js @@ -0,0 +1,30 @@ + +const webpack = require("webpack"); +const path = require("path"); + +module.exports = { + target: 'node', + mode: 'development', + entry: { + 'bolt': './src/bin/bolt.ts', + 'bolt-test': './src/bin/bolt-test.ts', + }, + output: { + filename: 'bin/[name].js', + path: path.resolve(__dirname, 'build'), + }, + resolve: { + extensions: [".ts", ".js"], + }, + plugins: [ + new webpack.BannerPlugin({ banner: '#!/usr/bin/env node', raw: true }), + ], + devtool: 'source-map', + module: { + rules: [ + { test: /\.ts$/, loader: "ts-loader", options: { transpileOnly: true } }, + { test: /\.m?js$/, exclude: /node_modules/, loader: 'babel-loader' }, + ] + } +}; +