aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/frontend/webpack.config.js
diff options
context:
space:
mode:
authorMarcin Aman <maman@virtuslab.com>2020-05-28 16:17:13 +0200
committerPaweł Marks <Kordyjan@users.noreply.github.com>2020-06-04 11:25:34 +0200
commitb614604effda51ca7c76c8901be78ced62b642b2 (patch)
tree971fc02905cf3e0c75ef4fb00d93ce72b43936cb /plugins/base/frontend/webpack.config.js
parent4065a65fe3294e0ddf54f5756380f7dc1aa032b2 (diff)
downloaddokka-b614604effda51ca7c76c8901be78ced62b642b2.tar.gz
dokka-b614604effda51ca7c76c8901be78ced62b642b2.tar.bz2
dokka-b614604effda51ca7c76c8901be78ced62b642b2.zip
Update TS migration to current dev, move to a common package, rename to frontend
Diffstat (limited to 'plugins/base/frontend/webpack.config.js')
-rw-r--r--plugins/base/frontend/webpack.config.js64
1 files changed, 64 insertions, 0 deletions
diff --git a/plugins/base/frontend/webpack.config.js b/plugins/base/frontend/webpack.config.js
new file mode 100644
index 00000000..559f5792
--- /dev/null
+++ b/plugins/base/frontend/webpack.config.js
@@ -0,0 +1,64 @@
+const {join, resolve} = require('path');
+
+const ringUiWebpackConfig = require('@jetbrains/ring-ui/webpack.config');
+
+const pkgConfig = require('./package.json').config;
+
+const componentsPath = join(__dirname, pkgConfig.components);
+
+// Patch @jetbrains/ring-ui svg-sprite-loader config
+ringUiWebpackConfig.loaders.svgInlineLoader.include.push(
+ require('@jetbrains/logos'),
+ require('@jetbrains/icons')
+);
+
+const webpackConfig = () => ({
+ entry: `${componentsPath}/root.tsx`,
+ resolve: {
+ mainFields: ['module', 'browser', 'main'],
+ extensions: ['.tsx', '.ts', '.js'],
+ alias: {
+ react: resolve('./node_modules/react'),
+ 'react-dom': resolve('./node_modules/react-dom'),
+ '@jetbrains/ring-ui': resolve('./node_modules/@jetbrains/ring-ui')
+ }
+ },
+ output: {
+ path: resolve(__dirname, pkgConfig.dist),
+ filename: '[name].js',
+ publicPath: '',
+ devtoolModuleFilenameTemplate: '/[absolute-resource-path]'
+ },
+ module: {
+ rules: [
+ ...ringUiWebpackConfig.config.module.rules,
+ {
+ test: /\.s[ac]ss$/i,
+ use: [
+ 'style-loader',
+ 'css-loader',
+ 'sass-loader',
+ ],
+ include: componentsPath,
+ exclude: ringUiWebpackConfig.componentsPath,
+ },
+ {
+ test: /\.tsx?$/,
+ use: [
+ {
+ loader: 'ts-loader',
+ options: {
+ transpileOnly: true
+ }
+ }
+ ]
+ }
+ ]
+ },
+ plugins: [],
+ output: {
+ path: __dirname + '/dist/'
+ }
+});
+
+module.exports = webpackConfig;