1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-02-20 14:54:15 +01:00

migrate the webpack config

This commit is contained in:
Sylvain 2022-03-14 13:59:57 +01:00
parent 39f1b3cf7c
commit 0ca5606abb
8 changed files with 43 additions and 72 deletions

View File

@ -1 +0,0 @@
defaults

View File

@ -1,20 +0,0 @@
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
const environment = require('./environment');
const isWebpackDevServer = process.env.WEBPACK_DEV_SERVER;
// plugins
if (isWebpackDevServer) {
environment.plugins.append(
'ReactRefreshWebpackPlugin',
new ReactRefreshWebpackPlugin({
overlay: {
sockPort: 3035
}
})
);
}
module.exports = environment.toWebpackConfig();

View File

@ -1,38 +0,0 @@
const { environment } = require('@rails/webpacker');
const webpack = require('webpack');
const path = require('path');
const htmlErb = require('./loaders/html_erb');
const js = require('./loaders/js');
const jsErb = require('./loaders/js_erb');
const sass = require('./loaders/sass');
const sassErb = require('./loaders/sass_erb');
const html = require('./loaders/html');
const uiTour = require('./loaders/ui-tour');
environment.plugins.prepend('Provide', new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
_: 'lodash',
Hone: 'hone',
Tether: 'tether',
Holder: 'holderjs',
'window.CodeMirror': 'codemirror',
MediumEditor: 'medium-editor',
Humanize: path.resolve(path.join(__dirname, '../../app/frontend/src/javascript/lib/humanize.js')),
moment: 'moment',
Application: [path.resolve(path.join(__dirname, '../../app/frontend/src/javascript/app.js')), 'Application']
}));
environment.loaders.prepend('js-erb', jsErb);
environment.loaders.prepend('html-erb', htmlErb);
environment.loaders.prepend('sass-erb', sassErb);
environment.loaders.prepend('js', js);
environment.loaders.append('html', html);
environment.loaders.append('sass', sass);
environment.loaders.append('uiTour', uiTour);
environment.splitChunks();
module.exports = environment;

View File

@ -1,4 +1,4 @@
const getStyleRule = require('@rails/webpacker/package/utils/get_style_rule');
const getStyleRule = require('shakapacker/package/utils/get_style_rule');
module.exports = getStyleRule(/\.(scss|sass)$/i, false, [
{

View File

@ -1,4 +1,4 @@
const getStyleRule = require('@rails/webpacker/package/utils/get_style_rule');
const getStyleRule = require('shakapacker/package/utils/get_style_rule');
module.exports = getStyleRule(/\.(scss|sass)\.erb$/, false, [
{

View File

@ -1,5 +0,0 @@
process.env.NODE_ENV = process.env.NODE_ENV || 'production';
const environment = require('./environment');
module.exports = environment.toWebpackConfig();

View File

@ -1,5 +0,0 @@
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
const environment = require('./environment');
module.exports = environment.toWebpackConfig();

View File

@ -1,9 +1,49 @@
const { webpackConfig, merge } = require('shakapacker');
const webpack = require('webpack');
const path = require('path');
const htmlErb = require('./loaders/html_erb');
const js = require('./loaders/js');
const jsErb = require('./loaders/js_erb');
const sass = require('./loaders/sass');
const sassErb = require('./loaders/sass_erb');
const html = require('./loaders/html');
const uiTour = require('./loaders/ui-tour');
// See the shakacode/shakapacker README and docs directory for advice on customizing your webpackConfig.
const customConfig = {
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
_: 'lodash',
Hone: 'hone',
Tether: 'tether',
Holder: 'holderjs',
'window.CodeMirror': 'codemirror',
MediumEditor: 'medium-editor',
Humanize: path.resolve(path.join(__dirname, '../../app/frontend/src/javascript/lib/humanize.js')),
moment: 'moment',
Application: [path.resolve(path.join(__dirname, '../../app/frontend/src/javascript/app.js')), 'Application']
})
],
module: {
rules: [
jsErb,
htmlErb,
sassErb,
js,
html,
sass,
uiTour
]
},
resolve: {
extensions: ['.css']
extensions: ['.jpg', '.jpeg', '.png', '.gif', '.tiff', '.ico',
'.svg', '.eot', '.otf', '.ttf', '.woff', '.woff2',
'.tsx', '.ts', '.erb', '.html', '.mjs', '.js', '.jsx',
'.sass', '.scss', '.css', '.module.sass', '.module.scss', '.module.css']
}
};