Merge branch 'master' into glitch-soc/merge-upstream

Conflicts manually resolved:
- app/services/post_status_service.rb
- config/locales/simple_form.pl.yml
- config/routes.rb
- config/webpack/loaders/sass.js
- config/webpack/shared.js
- package.json
- yarn.lock
This commit is contained in:
Thibaut Girka
2019-01-02 13:45:18 +01:00
180 changed files with 3933 additions and 3622 deletions

View File

@@ -1,16 +1,10 @@
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const { env } = require('../configuration.js');
module.exports = {
test: /\.s?css$/i,
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
minimize: env.NODE_ENV === 'production',
},
},
'css-loader',
{
loader: 'postcss-loader',
options: {
@@ -21,6 +15,9 @@ module.exports = {
loader: 'sass-loader',
options: {
includePaths: ['app/javascript'],
fiber: require('fibers'),
implementation: require('sass'),
sourceMap: true,
},
},
],

View File

@@ -3,6 +3,7 @@
const merge = require('webpack-merge');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const CompressionPlugin = require('compression-webpack-plugin');
const zopfli = require('@gfx/zopfli');
const sharedConfig = require('./shared.js');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const OfflinePlugin = require('offline-plugin');
@@ -10,16 +11,6 @@ const { publicPath } = require('./configuration.js');
const path = require('path');
const { URL } = require('url');
let compressionAlgorithm;
try {
const zopfli = require('node-zopfli');
compressionAlgorithm = (content, options, fn) => {
zopfli.gzip(content, options, fn);
};
} catch (error) {
compressionAlgorithm = 'gzip';
}
let attachmentHost;
if (process.env.S3_ENABLED === 'true') {
@@ -69,7 +60,9 @@ module.exports = merge(sharedConfig, {
plugins: [
new CompressionPlugin({
algorithm: compressionAlgorithm,
algorithm(input, compressionOptions, callback) {
return zopfli.gzip(input, compressionOptions, callback);
},
test: /\.(js|css|html|json|ico|svg|eot|otf|ttf)$/,
}),
new BundleAnalyzerPlugin({ // generates report.html and stats.json

View File

@@ -4,7 +4,7 @@ const webpack = require('webpack');
const { basename, dirname, join, relative, resolve } = require('path');
const { sync } = require('glob');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const ManifestPlugin = require('webpack-manifest-plugin');
const AssetsManifestPlugin = require('webpack-assets-manifest');
const { env, settings, core, flavours, output, loadersDir } = require('./configuration.js');
const localePacks = require('./generateLocalePacks');
@@ -100,10 +100,9 @@ module.exports = {
new MiniCssExtractPlugin({
filename: env.NODE_ENV === 'production' ? '[name]-[contenthash].css' : '[name].css',
}),
new ManifestPlugin({
publicPath: output.publicPath,
writeToFileEmit: true,
filter: file => !file.isAsset || file.isModuleAsset,
new AssetsManifestPlugin({
publicPath: true,
writeToDisk: true,
}),
],