aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/webpack.common.js
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-08-25 00:05:01 +0800
committerGitHub <noreply@github.com>2020-08-25 00:05:01 +0800
commit2867b65d2215ea89cca0e5c5cfbb536d08f60263 (patch)
tree07ae296c0c684fd81b30763ef9d6d27421de30b3 /Timeline/ClientApp/webpack.common.js
parent4eb7a984e10d15fdb8ef988e1571b114fa74e420 (diff)
parent86e22ca4fb7dceec43a528bd250bcda2a0133421 (diff)
downloadtimeline-2867b65d2215ea89cca0e5c5cfbb536d08f60263.tar.gz
timeline-2867b65d2215ea89cca0e5c5cfbb536d08f60263.tar.bz2
timeline-2867b65d2215ea89cca0e5c5cfbb536d08f60263.zip
Merge pull request #154 from crupest/toolchain
Upgrade toolchain of front end.
Diffstat (limited to 'Timeline/ClientApp/webpack.common.js')
-rw-r--r--Timeline/ClientApp/webpack.common.js107
1 files changed, 46 insertions, 61 deletions
diff --git a/Timeline/ClientApp/webpack.common.js b/Timeline/ClientApp/webpack.common.js
index a5dce879..fdfb793e 100644
--- a/Timeline/ClientApp/webpack.common.js
+++ b/Timeline/ClientApp/webpack.common.js
@@ -1,109 +1,94 @@
-const path = require('path');
-const htmlWebpackTemplate = require('html-webpack-template');
-const HtmlWebpackPlugin = require('html-webpack-plugin');
-const PnpWebpackPlugin = require('pnp-webpack-plugin');
-const postcssPresetEnv = require('postcss-preset-env');
-const Config = require('webpack-chain');
+const path = require("path");
+const HtmlWebpackPlugin = require("html-webpack-plugin");
+const PnpWebpackPlugin = require("pnp-webpack-plugin");
+const postcssPresetEnv = require("postcss-preset-env");
+const Config = require("webpack-chain");
const config = new Config();
-config.entry('index').add(path.resolve(__dirname, 'src/app/index.tsx'));
+config.entry("index").add(path.resolve(__dirname, "src/app/index.tsx"));
config.module
- .rule('ts')
+ .rule("ts")
.test(/\.ts(x?)$/)
.exclude.add(/node_modules/)
.end()
- .use('babel')
- .loader('babel-loader')
+ .use("babel")
+ .loader("babel-loader")
.end()
- .use('ts')
- .loader('ts-loader')
+ .use("ts")
+ .loader("ts-loader")
.end();
config.module
- .rule('js')
+ .rule("js")
.test(/\.js(x?)$/)
.exclude.add(/node_modules/)
.end()
- .use('babel')
- .loader('babel-loader')
+ .use("babel")
+ .loader("babel-loader")
.end();
config.module
- .rule('css')
+ .rule("css")
.test(/\.css$/)
- .use('style')
- .loader('style-loader')
+ .use("css")
+ .loader("css-loader")
.end()
- .use('css')
- .loader('css-loader')
+ .use("postcss")
+ .loader("postcss-loader")
+ .options({
+ plugins: () => [postcssPresetEnv(/* pluginOptions */)],
+ })
.end();
config.module
- .rule('sass')
+ .rule("sass")
.test(/\.(scss|sass)$/)
- .use('style')
- .loader('style-loader')
+ .use("css")
+ .loader("css-loader")
.end()
- .use('css')
- .loader('css-loader')
- .end()
- .use('postcss')
- .loader('postcss-loader')
+ .use("postcss")
+ .loader("postcss-loader")
.options({
plugins: () => [postcssPresetEnv(/* pluginOptions */)],
})
.end()
- .use('sass')
- .loader('sass-loader')
+ .use("sass")
+ .loader("sass-loader")
.end();
config.module
- .rule('file')
+ .rule("file")
.test(/\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot)$/i)
- .use('url')
- .loader('url-loader')
+ .use("url")
+ .loader("url-loader")
.options({
limit: 8192,
});
config.resolve.extensions
- .add('*')
- .add('.js')
- .add('.jsx')
- .add('.ts')
- .add('.tsx')
+ .add("*")
+ .add(".js")
+ .add(".jsx")
+ .add(".ts")
+ .add(".tsx")
.end()
- .plugin('pnp')
+ .plugin("pnp")
.use(PnpWebpackPlugin);
-config.resolveLoader.plugin('pnp').use(PnpWebpackPlugin.moduleLoader(module));
+config.resolveLoader.plugin("pnp").use(PnpWebpackPlugin.moduleLoader(module));
config.output
- .path(path.resolve(__dirname, 'dist/'))
- .filename('[name].[hash].js')
- .chunkFilename('[name].[hash].js')
- .publicPath('/');
+ .path(path.resolve(__dirname, "dist/"))
+ .filename("[name].[hash].js")
+ .chunkFilename("[name].[hash].js")
+ .publicPath("/");
-config.plugin('html').use(HtmlWebpackPlugin, [
+config.plugin("html").use(HtmlWebpackPlugin, [
{
- inject: false,
- template: htmlWebpackTemplate,
-
- appMountId: 'app',
- mobile: true,
-
- headHtmlSnippet: `
- <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
- <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
- <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
- <link rel="manifest" href="/site.webmanifest">
- <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
- <meta name="msapplication-TileColor" content="#2d89ef">
- <meta name="theme-color" content="#ffffff">
- `,
- title: 'Timeline',
+ template: "src/app/index.ejs",
+ title: "Timeline",
},
]);