mirror of
https://github.com/wassname/talk.git
synced 2026-08-03 13:20:59 +08:00
fix: build sourcemaps in production (#2466)
This commit is contained in:
committed by
Kim Gardner
parent
1a62203d45
commit
0296041ce8
+1
-1
@@ -20,7 +20,7 @@
|
||||
],
|
||||
"description": "A better commenting experience from Mozilla, The Washington Post, and The New York Times.",
|
||||
"scripts": {
|
||||
"build": "NODE_ENV=production WEBPACK_DISABLE_SOURCEMAPS=1 npm-run-all generate --parallel lint:client build:client build:server",
|
||||
"build": "NODE_ENV=production npm-run-all generate --parallel lint:client build:client build:server",
|
||||
"build:development": "NODE_ENV=development npm-run-all generate --parallel lint:client build:client build:server",
|
||||
"build:client": "ts-node --transpile-only ./scripts/build.ts",
|
||||
"build:server": "gulp server",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import OptimizeCssnanoPlugin from "@intervolga/optimize-cssnano-plugin";
|
||||
import bunyan from "bunyan";
|
||||
import CaseSensitivePathsPlugin from "case-sensitive-paths-webpack-plugin";
|
||||
import CompressionPlugin from "compression-webpack-plugin";
|
||||
import ForkTsCheckerWebpackPlugin from "fork-ts-checker-webpack-plugin";
|
||||
@@ -30,6 +31,12 @@ import paths from "./paths";
|
||||
const filterPlugins = (plugins: Array<Plugin | null>): Plugin[] =>
|
||||
plugins.filter(identity) as Plugin[];
|
||||
|
||||
// Create the build logger.
|
||||
const logger = bunyan.createLogger({
|
||||
name: "coral",
|
||||
level: "debug",
|
||||
});
|
||||
|
||||
interface CreateWebpackOptions {
|
||||
appendPlugins?: any[];
|
||||
watch?: boolean;
|
||||
@@ -41,6 +48,8 @@ export default function createWebpackConfig(
|
||||
config: Config,
|
||||
{ appendPlugins = [], watch = false }: CreateWebpackOptions = {}
|
||||
): Configuration[] {
|
||||
logger.debug({ config: config.toString() }, "loaded configuration");
|
||||
|
||||
const maxCores = config.get("maxCores");
|
||||
const env = createClientEnv(config);
|
||||
const disableSourcemaps = config.get("disableSourcemaps");
|
||||
@@ -144,6 +153,16 @@ export default function createWebpackConfig(
|
||||
),
|
||||
];
|
||||
|
||||
const devtool = disableSourcemaps
|
||||
? false
|
||||
: isProduction
|
||||
? // We generate sourcemaps in production. This is slow but gives good results.
|
||||
// You can exclude the *.map files from the build during deployment.
|
||||
"source-map"
|
||||
: // You may want 'eval' instead if you prefer to see the compiled output in DevTools.
|
||||
// See the discussion in https://github.com/facebookincubator/create-react-app/issues/343.
|
||||
"cheap-module-source-map";
|
||||
|
||||
const baseConfig: Configuration = {
|
||||
stats: {
|
||||
// https://github.com/TypeStrong/ts-loader#transpileonly-boolean-defaultfalse
|
||||
@@ -192,15 +211,7 @@ export default function createWebpackConfig(
|
||||
}),
|
||||
],
|
||||
},
|
||||
devtool: disableSourcemaps
|
||||
? false
|
||||
: isProduction
|
||||
? // We generate sourcemaps in production. This is slow but gives good results.
|
||||
// You can exclude the *.map files from the build during deployment.
|
||||
"source-map"
|
||||
: // You may want 'eval' instead if you prefer to see the compiled output in DevTools.
|
||||
// See the discussion in https://github.com/facebookincubator/create-react-app/issues/343.
|
||||
"cheap-module-source-map",
|
||||
devtool,
|
||||
// These are the "entry points" to our application.
|
||||
// This means they will be the "root" imports that are included in JS bundle.
|
||||
// The first two entry points enable "hot" CSS and auto-refreshes for JS.
|
||||
|
||||
Reference in New Issue
Block a user