Merge pull request #4727 from Simounet/feat/update-build-tools

WIP Webpack from v4 to v5
This commit is contained in:
Jérémy Benoist 2020-11-25 08:59:34 +01:00 committed by GitHub
commit f017790234
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 1730 additions and 2318 deletions

View file

@ -38,6 +38,7 @@ return PhpCsFixer\Config::create()
->setFinder(
PhpCsFixer\Finder::create()
->exclude([
'node_modules',
'vendor',
'var',
'web'

View file

@ -1,3 +1,13 @@
{
"extends": "stylelint-config-standard"
"extends": "stylelint-config-standard",
"plugins": [
"stylelint-scss"
],
rules: {
'at-rule-no-unknown': null,
'no-duplicate-selectors': null,
'font-family-no-missing-generic-family-keyword': null,
'no-descending-specificity': null,
'scss/at-rule-no-unknown': true,
},
}

View file

@ -2,7 +2,7 @@
/* ### Layout ### */
body {
font-family: Serif;
font-family: serif;
background-color: #fff;
}

View file

@ -2,7 +2,7 @@
/* ### Layout ### */
body {
font-family: Serif;
font-family: serif;
background-color: #fff;
}

View file

@ -4,37 +4,35 @@ const StyleLintPlugin = require('stylelint-webpack-plugin');
const rootDir = path.resolve(__dirname, '../../../');
module.exports = function () {
return {
entry: {
material: path.join(rootDir, './app/Resources/static/themes/material/index.js'),
baggy: path.join(rootDir, './app/Resources/static/themes/baggy/index.js'),
public: path.join(rootDir, './app/Resources/static/themes/_global/share.js'),
module.exports = {
entry: {
material: path.join(rootDir, './app/Resources/static/themes/material/index.js'),
baggy: path.join(rootDir, './app/Resources/static/themes/baggy/index.js'),
public: path.join(rootDir, './app/Resources/static/themes/_global/share.js'),
},
output: {
filename: '[name].js',
path: path.resolve(rootDir, 'web/wallassets'),
publicPath: '',
},
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.$': 'jquery',
'window.jQuery': 'jquery',
}),
new StyleLintPlugin({
configFile: '.stylelintrc',
failOnError: false,
quiet: false,
context: 'app/Resources/static/themes',
files: '**/*.scss',
}),
],
resolve: {
alias: {
jquery: path.join(rootDir, 'node_modules/jquery/dist/jquery.js'),
},
output: {
filename: '[name].js',
path: path.resolve(rootDir, 'web/wallassets'),
publicPath: '',
},
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.$': 'jquery',
'window.jQuery': 'jquery',
}),
new StyleLintPlugin({
configFile: '.stylelintrc',
failOnError: false,
quiet: false,
context: 'app/Resources/static/themes',
files: '**/*.scss',
}),
],
resolve: {
alias: {
jquery: path.join(rootDir, 'node_modules/jquery/dist/jquery.js'),
},
},
};
},
};

View file

@ -2,64 +2,64 @@ const { merge } = require('webpack-merge');
const webpack = require('webpack');
const commonConfig = require('./common.js');
module.exports = function () {
return merge(commonConfig(), {
devtool: 'eval-source-map',
output: {
filename: '[name].dev.js',
},
mode: 'development',
devServer: {
hot: true,
// enable HMR on the server
contentBase: './web',
// match the output path
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
],
module: {
rules: [
{
enforce: 'pre',
test: /\.js$/,
loader: 'eslint-loader',
exclude: /node_modules/,
},
{
test: /\.js$/,
exclude: /(node_modules)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
},
module.exports = merge(commonConfig, {
devtool: 'eval-source-map',
output: {
filename: '[name].dev.js',
},
mode: 'development',
devServer: {
hot: true,
// enable HMR on the server
contentBase: './web',
// match the output path
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
],
module: {
rules: [
{
enforce: 'pre',
test: /\.js$/,
loader: 'eslint-loader',
exclude: /node_modules/,
},
{
test: /\.js$/,
exclude: /(node_modules)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
},
},
{
test: /\.(s)?css$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
importLoaders: 1,
},
{
test: /\.(s)?css$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
importLoaders: 1,
},
},
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: ['autoprefixer'],
},
},
{
loader: 'postcss-loader',
options: {
plugins: [require('autoprefixer')({})],
},
},
'sass-loader',
],
},
{
test: /\.(jpg|png|gif|svg|ico|eot|ttf|woff|woff2)$/,
use: 'url-loader',
},
],
},
});
};
},
'sass-loader',
],
},
{
test: /\.(jpg|png|gif|svg|ico|eot|ttf|woff|woff2)$/,
use: 'url-loader',
},
],
},
});

View file

@ -6,115 +6,106 @@ const TerserPlugin = require('terser-webpack-plugin');
const commonConfig = require('./common.js');
module.exports = function () {
return merge(commonConfig(), {
output: {
filename: '[name].js',
},
mode: 'production',
devtool: 'source-map',
optimization: {
minimizer: [
new TerserPlugin({
cache: true,
parallel: true,
sourceMap: true,
terserOptions: {
output: {
comments: false,
},
module.exports = merge(commonConfig, {
output: {
filename: '[name].js',
},
mode: 'production',
devtool: 'source-map',
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
parallel: true,
terserOptions: {
output: {
comments: false,
},
extractComments: false,
}),
]
},
plugins: [
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production'),
},
}),
new MiniCssExtractPlugin({
filename: '[name].css',
chunkFilename: '[id].css',
}),
new ManifestPlugin({
fileName: 'manifest.json',
extractComments: false,
}),
],
module: {
rules: [
{
enforce: 'pre',
test: /\.js$/,
loader: 'eslint-loader',
exclude: /node_modules/,
},
{
test: /\.js$/,
exclude: /(node_modules)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
},
},
plugins: [
new MiniCssExtractPlugin(),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production'),
},
}),
new ManifestPlugin({
fileName: 'manifest.json',
}),
],
module: {
rules: [
{
enforce: 'pre',
test: /\.js$/,
loader: 'eslint-loader',
exclude: /node_modules/,
},
{
test: /\.js$/,
exclude: /(node_modules)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
},
},
{
test: /\.(sa|sc|c)ss$/,
use: [
{
loader: MiniCssExtractPlugin.loader,
options: {
hmr: process.env.NODE_ENV === 'development',
},
{
test: /\.(sa|sc|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
importLoaders: 1,
},
},
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: ['autoprefixer'],
},
},
{
loader: 'css-loader',
options: {
importLoaders: 1,
},
},
{
loader: 'postcss-loader',
options: {
plugins: [require('autoprefixer')({})],
},
},
'sass-loader',
],
},
{
test: /\.(jpg|png|gif|svg|ico)$/,
include: /node_modules/,
use: {
loader: 'file-loader',
options: {
name: 'img/[name].[ext]',
},
},
'sass-loader',
],
},
{
test: /\.(jpg|png|gif|svg|ico)$/,
include: /node_modules/,
use: {
loader: 'file-loader',
options: {
name: 'img/[name].[ext]',
},
},
{
test: /\.(jpg|png|gif|svg|ico)$/,
exclude: /node_modules/,
use: {
loader: 'file-loader',
options: {
context: 'app/Resources/static',
name: '[path][name].[ext]',
},
},
{
test: /\.(jpg|png|gif|svg|ico)$/,
exclude: /node_modules/,
use: {
loader: 'file-loader',
options: {
context: 'app/Resources/static',
name: '[path][name].[ext]',
},
},
{
test: /\.(eot|ttf|woff|woff2)$/,
use: {
loader: 'file-loader',
options: {
name: 'fonts/[name].[ext]',
},
},
{
test: /\.(eot|ttf|woff|woff2)$/,
use: {
loader: 'file-loader',
options: {
name: 'fonts/[name].[ext]',
},
},
],
},
});
};
},
],
},
});

View file

@ -38,29 +38,32 @@
"devDependencies": {
"@babel/core": "^7.12.3",
"@babel/preset-env": "^7.12.1",
"autoprefixer": "^9.8.6",
"autoprefixer": "^10.0.2",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.2.1",
"css-loader": "^4.3.0",
"css-loader": "^5.0.1",
"eslint": "^7.13.0",
"eslint-config-airbnb-base": "^14.2.1",
"eslint-loader": "^4.0.2",
"eslint-plugin-import": "^2.22.1",
"file-loader": "^6.2.0",
"lato-font": "^3.0.0",
"mini-css-extract-plugin": "^1.2.1",
"mini-css-extract-plugin": "^1.3.0",
"node-sass": "^5.0.0",
"postcss-loader": "^3.0.0",
"postcss": "^8.1.6",
"postcss-loader": "^4.0.4",
"sass": "^1.29.0",
"sass-loader": "^10.0.5",
"style-loader": "^2.0.0",
"stylelint": "^7.9.0",
"stylelint-config-standard": "^16.0.0",
"stylelint-webpack-plugin": "^1.0.0",
"stylelint": "^13.7.2",
"stylelint-config-standard": "^20.0.0",
"stylelint-scss": "^3.18.0",
"stylelint-webpack-plugin": "^2.1.1",
"url-loader": "^4.1.1",
"webpack": "^4.44.2",
"webpack-cli": "^3.3.12",
"webpack": "^5.4.0",
"webpack-cli": "^4.2.0",
"webpack-dev-server": "^3.11.0",
"webpack-manifest-plugin": "^2.2.0",
"webpack-manifest-plugin": "^3.0.0-rc.0",
"webpack-merge": "^5.3.0"
},
"dependencies": {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,89 +1,84 @@
{
"baggy.css": "baggy.css",
"baggy.js": "baggy.js",
"baggy.css.map": "baggy.css.map",
"baggy.js.map": "baggy.js.map",
"material.css": "material.css",
"material.js": "material.js",
"material.css.map": "material.css.map",
"material.js.map": "material.js.map",
"baggy.css": "baggy.css",
"baggy.js": "baggy.js",
"public.css": "public.css",
"public.js": "public.js",
"public.css.map": "public.css.map",
"public.js.map": "public.js.map",
"fonts/IcoMoon-Free.ttf": "fonts/IcoMoon-Free.ttf",
"fonts/MaterialIcons-Regular.eot": "fonts/MaterialIcons-Regular.eot",
"fonts/MaterialIcons-Regular.ttf": "fonts/MaterialIcons-Regular.ttf",
"fonts/MaterialIcons-Regular.woff": "fonts/MaterialIcons-Regular.woff",
"fonts/MaterialIcons-Regular.woff2": "fonts/MaterialIcons-Regular.woff2",
"fonts/Roboto-Bold.woff": "fonts/Roboto-Bold.woff",
"fonts/Roboto-Bold.woff2": "fonts/Roboto-Bold.woff2",
"fonts/Roboto-Light.woff": "fonts/Roboto-Light.woff",
"fonts/Roboto-Light.woff2": "fonts/Roboto-Light.woff2",
"fonts/Roboto-Medium.woff": "fonts/Roboto-Medium.woff",
"fonts/Roboto-Medium.woff2": "fonts/Roboto-Medium.woff2",
"fonts/Roboto-Regular.woff": "fonts/Roboto-Regular.woff",
"fonts/Roboto-Regular.woff2": "fonts/Roboto-Regular.woff2",
"fonts/Roboto-Thin.woff": "fonts/Roboto-Thin.woff",
"fonts/Roboto-Thin.woff2": "fonts/Roboto-Thin.woff2",
"fonts/lato-black-italic.woff": "fonts/lato-black-italic.woff",
"fonts/lato-black-italic.woff2": "fonts/lato-black-italic.woff2",
"fonts/lato-black.woff": "fonts/lato-black.woff",
"fonts/lato-black.woff2": "fonts/lato-black.woff2",
"fonts/lato-bold-italic.woff": "fonts/lato-bold-italic.woff",
"fonts/lato-bold-italic.woff2": "fonts/lato-bold-italic.woff2",
"fonts/lato-bold.woff": "fonts/lato-bold.woff",
"fonts/lato-bold.woff2": "fonts/lato-bold.woff2",
"fonts/lato-hairline-italic.woff": "fonts/lato-hairline-italic.woff",
"fonts/lato-hairline-italic.woff2": "fonts/lato-hairline-italic.woff2",
"fonts/lato-hairline.woff": "fonts/lato-hairline.woff",
"fonts/lato-hairline.woff2": "fonts/lato-hairline.woff2",
"fonts/lato-heavy-italic.woff": "fonts/lato-heavy-italic.woff",
"fonts/lato-heavy-italic.woff2": "fonts/lato-heavy-italic.woff2",
"fonts/lato-heavy.woff": "fonts/lato-heavy.woff",
"fonts/lato-heavy.woff2": "fonts/lato-heavy.woff2",
"fonts/lato-light-italic.woff": "fonts/lato-light-italic.woff",
"fonts/lato-light-italic.woff2": "fonts/lato-light-italic.woff2",
"fonts/lato-light.woff": "fonts/lato-light.woff",
"fonts/lato-light.woff2": "fonts/lato-light.woff2",
"fonts/lato-medium-italic.woff": "fonts/lato-medium-italic.woff",
"fonts/lato-medium-italic.woff2": "fonts/lato-medium-italic.woff2",
"fonts/lato-medium.woff": "fonts/lato-medium.woff",
"fonts/lato-medium.woff2": "fonts/lato-medium.woff2",
"fonts/lato-normal-italic.woff": "fonts/lato-normal-italic.woff",
"fonts/lato-normal-italic.woff2": "fonts/lato-normal-italic.woff2",
"fonts/lato-normal.woff": "fonts/lato-normal.woff",
"fonts/lato-normal.woff2": "fonts/lato-normal.woff2",
"fonts/lato-semibold-italic.woff": "fonts/lato-semibold-italic.woff",
"fonts/lato-semibold-italic.woff2": "fonts/lato-semibold-italic.woff2",
"fonts/lato-semibold.woff": "fonts/lato-semibold.woff",
"fonts/lato-semibold.woff2": "fonts/lato-semibold.woff2",
"fonts/lato-medium-italic.woff": "fonts/lato-medium-italic.woff",
"fonts/lato-light-italic.woff": "fonts/lato-light-italic.woff",
"fonts/lato-thin-italic.woff": "fonts/lato-thin-italic.woff",
"fonts/lato-thin-italic.woff2": "fonts/lato-thin-italic.woff2",
"fonts/lato-bold-italic.woff": "fonts/lato-bold-italic.woff",
"fonts/lato-heavy-italic.woff": "fonts/lato-heavy-italic.woff",
"fonts/lato-semibold.woff": "fonts/lato-semibold.woff",
"fonts/lato-light.woff": "fonts/lato-light.woff",
"fonts/lato-black-italic.woff": "fonts/lato-black-italic.woff",
"fonts/lato-heavy.woff": "fonts/lato-heavy.woff",
"fonts/lato-bold.woff": "fonts/lato-bold.woff",
"fonts/lato-normal.woff": "fonts/lato-normal.woff",
"fonts/lato-thin.woff": "fonts/lato-thin.woff",
"fonts/lato-medium.woff": "fonts/lato-medium.woff",
"fonts/lato-black.woff": "fonts/lato-black.woff",
"fonts/lato-hairline-italic.woff": "fonts/lato-hairline-italic.woff",
"fonts/lato-hairline.woff": "fonts/lato-hairline.woff",
"fonts/MaterialIcons-Regular.ttf": "fonts/MaterialIcons-Regular.ttf",
"fonts/lato-normal-italic.woff2": "fonts/lato-normal-italic.woff2",
"fonts/lato-semibold-italic.woff2": "fonts/lato-semibold-italic.woff2",
"fonts/lato-medium-italic.woff2": "fonts/lato-medium-italic.woff2",
"fonts/lato-heavy-italic.woff2": "fonts/lato-heavy-italic.woff2",
"fonts/lato-bold-italic.woff2": "fonts/lato-bold-italic.woff2",
"fonts/lato-light-italic.woff2": "fonts/lato-light-italic.woff2",
"fonts/lato-thin-italic.woff2": "fonts/lato-thin-italic.woff2",
"fonts/lato-black-italic.woff2": "fonts/lato-black-italic.woff2",
"fonts/lato-bold.woff2": "fonts/lato-bold.woff2",
"fonts/lato-heavy.woff2": "fonts/lato-heavy.woff2",
"fonts/lato-semibold.woff2": "fonts/lato-semibold.woff2",
"fonts/lato-normal.woff2": "fonts/lato-normal.woff2",
"fonts/lato-medium.woff2": "fonts/lato-medium.woff2",
"fonts/lato-light.woff2": "fonts/lato-light.woff2",
"fonts/lato-thin.woff2": "fonts/lato-thin.woff2",
"img/annotator.css": "img/annotator-icon-sprite.png",
"themes/_global/img/appicon/apple-touch-icon-114.png": "themes/_global/img/appicon/apple-touch-icon-114.png",
"themes/_global/img/appicon/apple-touch-icon-120.png": "themes/_global/img/appicon/apple-touch-icon-120.png",
"themes/_global/img/appicon/apple-touch-icon-144.png": "themes/_global/img/appicon/apple-touch-icon-144.png",
"themes/_global/img/appicon/apple-touch-icon-152.png": "themes/_global/img/appicon/apple-touch-icon-152.png",
"themes/_global/img/appicon/apple-touch-icon-57.png": "themes/_global/img/appicon/apple-touch-icon-57.png",
"themes/_global/img/appicon/apple-touch-icon-72.png": "themes/_global/img/appicon/apple-touch-icon-72.png",
"themes/_global/img/appicon/apple-touch-icon-76.png": "themes/_global/img/appicon/apple-touch-icon-76.png",
"themes/_global/img/appicon/apple-touch-icon.png": "themes/_global/img/appicon/apple-touch-icon.png",
"fonts/lato-black.woff2": "fonts/lato-black.woff2",
"fonts/lato-hairline-italic.woff2": "fonts/lato-hairline-italic.woff2",
"fonts/lato-hairline.woff2": "fonts/lato-hairline.woff2",
"fonts/IcoMoon-Free.ttf": "fonts/IcoMoon-Free.ttf",
"fonts/MaterialIcons-Regular.woff": "fonts/MaterialIcons-Regular.woff",
"fonts/MaterialIcons-Regular.eot": "fonts/MaterialIcons-Regular.eot",
"fonts/Roboto-Medium.woff": "fonts/Roboto-Medium.woff",
"fonts/Roboto-Bold.woff": "fonts/Roboto-Bold.woff",
"fonts/Roboto-Regular.woff": "fonts/Roboto-Regular.woff",
"fonts/Roboto-Light.woff": "fonts/Roboto-Light.woff",
"fonts/Roboto-Thin.woff": "fonts/Roboto-Thin.woff",
"fonts/MaterialIcons-Regular.woff2": "fonts/MaterialIcons-Regular.woff2",
"fonts/Roboto-Medium.woff2": "fonts/Roboto-Medium.woff2",
"fonts/Roboto-Regular.woff2": "fonts/Roboto-Regular.woff2",
"fonts/Roboto-Bold.woff2": "fonts/Roboto-Bold.woff2",
"fonts/Roboto-Light.woff2": "fonts/Roboto-Light.woff2",
"fonts/Roboto-Thin.woff2": "fonts/Roboto-Thin.woff2",
"themes/_global/img/appicon/favicon.ico": "themes/_global/img/appicon/favicon.ico",
"themes/_global/img/bg-select.png": "themes/_global/img/bg-select.png",
"themes/_global/img/icons/Diaspora-asterisk.svg": "themes/_global/img/icons/Diaspora-asterisk.svg",
"themes/_global/img/icons/carrot-icon--black.png": "themes/_global/img/icons/carrot-icon--black.png",
"themes/_global/img/icons/carrot-icon--white.png": "themes/_global/img/icons/carrot-icon--white.png",
"themes/_global/img/icons/diaspora-icon--black.png": "themes/_global/img/icons/diaspora-icon--black.png",
"themes/_global/img/icons/diaspora-icon--white.png": "themes/_global/img/icons/diaspora-icon--white.png",
"themes/_global/img/icons/scuttle.png": "themes/_global/img/icons/scuttle.png",
"themes/_global/img/icons/shaarli.png": "themes/_global/img/icons/shaarli.png",
"themes/_global/img/icons/unmark-icon--black.png": "themes/_global/img/icons/unmark-icon--black.png",
"themes/_global/img/list.png": "themes/_global/img/list.png",
"themes/_global/img/logo-square.svg": "themes/_global/img/logo-square.svg",
"themes/_global/img/logo-w.png": "themes/_global/img/logo-w.png",
"themes/_global/img/logo-wallabag.svg": "themes/_global/img/logo-wallabag.svg",
"themes/_global/img/table.png": "themes/_global/img/table.png"
"img/annotator-icon-sprite.png?embed": "img/annotator-icon-sprite.png",
"img/annotator-glyph-sprite.png?embed": "img/annotator-glyph-sprite.png",
"themes/_global/img/logo-w.png": "themes/_global/img/logo-w.png",
"themes/_global/img/logo-square.svg": "themes/_global/img/logo-square.svg",
"themes/_global/img/appicon/apple-touch-icon-152.png": "themes/_global/img/appicon/apple-touch-icon-152.png",
"themes/_global/img/appicon/apple-touch-icon-144.png": "themes/_global/img/appicon/apple-touch-icon-144.png",
"themes/_global/img/appicon/apple-touch-icon-120.png": "themes/_global/img/appicon/apple-touch-icon-120.png",
"themes/_global/img/appicon/apple-touch-icon-114.png": "themes/_global/img/appicon/apple-touch-icon-114.png",
"themes/_global/img/icons/shaarli.png": "themes/_global/img/icons/shaarli.png",
"themes/_global/img/appicon/apple-touch-icon-76.png": "themes/_global/img/appicon/apple-touch-icon-76.png",
"themes/_global/img/appicon/apple-touch-icon-72.png": "themes/_global/img/appicon/apple-touch-icon-72.png",
"themes/_global/img/icons/carrot-icon--white.png": "themes/_global/img/icons/carrot-icon--white.png",
"themes/_global/img/appicon/apple-touch-icon-57.png": "themes/_global/img/appicon/apple-touch-icon-57.png",
"themes/_global/img/appicon/apple-touch-icon.png": "themes/_global/img/appicon/apple-touch-icon.png",
"themes/_global/img/icons/diaspora-icon--black.png": "themes/_global/img/icons/diaspora-icon--black.png",
"themes/_global/img/icons/carrot-icon--black.png": "themes/_global/img/icons/carrot-icon--black.png",
"themes/_global/img/bg-select.png": "themes/_global/img/bg-select.png",
"themes/_global/img/icons/scuttle.png": "themes/_global/img/icons/scuttle.png",
"themes/_global/img/icons/unmark-icon--black.png": "themes/_global/img/icons/unmark-icon--black.png",
"themes/_global/img/icons/diaspora-icon--white.png": "themes/_global/img/icons/diaspora-icon--white.png",
"themes/_global/img/table.png": "themes/_global/img/table.png",
"themes/_global/img/list.png": "themes/_global/img/list.png"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,3 @@
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,b,u,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote::before,blockquote::after,q::before,q::after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}body{background-color:white;color:#444;font-family:Georgia;line-height:1.7;-ms-content-zooming:none;margin-bottom:64px}h1,h2,h3,h4,h5,h6{font-weight:600;margin:0.2em 0}article h1,article h2,article h3,article h4,article h5,article h6{text-align:left;line-height:1.3}h1{font-size:1.4em}h2{font-size:1.3em}h3,h4{font-size:1.2em}h5,h6{font-size:1.1em}p{margin-bottom:0.75em}b,strong{font-weight:bold}i,em{font-style:italic}a{color:#444;text-decoration:underline}a:active,a:hover{outline:0}p,ul,ol,dl{margin:0 0 1.75em}ul,ol{padding-left:1.25em}li{padding-bottom:0.2em;line-height:1.6}li p:last-child,li li:last-child{margin-bottom:-0.2em}ul li:last-child,ol li:last-child{padding-bottom:0}iframe,video{max-width:100%;height:auto}mark{padding:0 0.2em}mark a{text-decoration:none}blockquote{font-style:italic;border-left:0.25em solid black;margin-left:-20px;padding-left:17px;margin-bottom:0.5em;margin-top:0.5em}blockquote cite{text-transform:uppercase;font-size:0.8em;font-style:normal}blockquote cite::before{content:"—";margin-right:0.5em}img{display:block;height:auto;margin-bottom:0.5em;max-width:100%}figure{margin:0}figure figcaption{display:block;margin-top:0.3em;font-style:italic;font-size:0.8em}button{display:none !important}hr{display:block;height:1px;border:solid #666;border-width:1px 0 0;margin:1.6em 0;padding:0}small{font-size:0.7em}dl{margin:1.6em 0}dl dt{float:left;width:11.25em;overflow:hidden;clear:left;text-align:right;-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;font-weight:bold;margin-bottom:1em}dl dd{margin-left:12.5em;margin-bottom:1em}pre{box-sizing:border-box;margin:4em 0;border:0.0625em solid #efefef;width:100%;padding:1em;font-family:Consolas, monospace;white-space:pre;overflow:auto}pre code{font-size:0.8em;line-height:1.6em;white-space:pre-wrap;background:transparent;border:none;padding:0;vertical-align:inherit}code{padding:0.125em 0.375em;margin:0 0.2em;font-family:Consolas, monospace;font-size:0.8em;white-space:pre;border:1px solid lightgray;overflow:auto}audio,video{max-width:43.75em}::-moz-selection{background:#666;color:white}::selection,mark{background:#666;color:white}table{border-collapse:collapse;margin-bottom:2em;width:100%}th,td{padding:0.25em;text-align:left}thead tr{text-transform:uppercase;font-size:0.85em;letter-spacing:1px;font-family:"Segoe UI", sans-serif;font-weight:600}tbody tr:nth-child(2n+1){background:rgba(0,0,0,0.1)}tbody{border:solid #999;border-width:1px 0}figure{text-align:center}figure>*{margin:0 auto}header{text-align:center}.shared-by{margin-bottom:1em}@media (max-width: 719px){header>*:not(.preview),article{padding:0 1em}}@media (min-width: 720px){blockquote{margin-left:-1.4375em;padding-left:1.25em}header{margin-top:32px}.block{margin-left:auto;margin-right:auto;max-width:43.75em;padding:0 1.25em}}
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,b,u,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}blockquote,q{quotes:none}blockquote::before,blockquote::after,q::before,q::after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{background-color:#fff;color:#444;font-family:Georgia;line-height:1.7;-ms-content-zooming:none;margin-bottom:64px}h1,h2,h3,h4,h5,h6{font-weight:600;margin:.2em 0}article h1,article h2,article h3,article h4,article h5,article h6{text-align:left;line-height:1.3}h1{font-size:1.4em}h2{font-size:1.3em}h3,h4{font-size:1.2em}h5,h6{font-size:1.1em}p{margin-bottom:.75em}b,strong{font-weight:bold}i,em{font-style:italic}a{color:#444;text-decoration:underline}a:active,a:hover{outline:0}p,ul,ol,dl{margin:0 0 1.75em}ul,ol{padding-left:1.25em}li{padding-bottom:.2em;line-height:1.6}li p:last-child,li li:last-child{margin-bottom:-0.2em}ul li:last-child,ol li:last-child{padding-bottom:0}iframe,video{max-width:100%;height:auto}mark{padding:0 .2em}mark a{text-decoration:none}blockquote{font-style:italic;border-left:.25em solid #000;margin-left:-20px;padding-left:17px;margin-bottom:.5em;margin-top:.5em}blockquote cite{text-transform:uppercase;font-size:.8em;font-style:normal}blockquote cite::before{content:"—";margin-right:.5em}img{display:block;height:auto;margin-bottom:.5em;max-width:100%}figure{margin:0}figure figcaption{display:block;margin-top:.3em;font-style:italic;font-size:.8em}button{display:none !important}hr{display:block;height:1px;border:solid #666;border-width:1px 0 0;margin:1.6em 0;padding:0}small{font-size:.7em}dl{margin:1.6em 0}dl dt{float:left;width:11.25em;overflow:hidden;clear:left;text-align:right;-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;font-weight:bold;margin-bottom:1em}dl dd{margin-left:12.5em;margin-bottom:1em}pre{box-sizing:border-box;margin:4em 0;border:.0625em solid #efefef;width:100%;padding:1em;font-family:Consolas,monospace;white-space:pre;overflow:auto}pre code{font-size:.8em;line-height:1.6em;white-space:pre-wrap;background:transparent;border:none;padding:0;vertical-align:inherit}code{padding:.125em .375em;margin:0 .2em;font-family:Consolas,monospace;font-size:.8em;white-space:pre;border:1px solid #d3d3d3;overflow:auto}audio,video{max-width:43.75em}::-moz-selection{background:#666;color:#fff}::selection,mark{background:#666;color:#fff}table{border-collapse:collapse;margin-bottom:2em;width:100%}th,td{padding:.25em;text-align:left}thead tr{text-transform:uppercase;font-size:.85em;letter-spacing:1px;font-family:"Segoe UI",sans-serif;font-weight:600}tbody tr:nth-child(2n+1){background:rgba(0,0,0,.1)}tbody{border:solid #999;border-width:1px 0}figure{text-align:center}figure>*{margin:0 auto}header{text-align:center}.shared-by{margin-bottom:1em}@media(max-width: 719px){header>*:not(.preview),article{padding:0 1em}}@media(min-width: 720px){blockquote{margin-left:-1.4375em;padding-left:1.25em}header{margin-top:32px}.block{margin-left:auto;margin-right:auto;max-width:43.75em;padding:0 1.25em}}
/*# sourceMappingURL=public.css.map*/

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
!function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=257)}({231:function(t,n,e){var o={"./appicon/apple-touch-icon-114.png":232,"./appicon/apple-touch-icon-120.png":233,"./appicon/apple-touch-icon-144.png":234,"./appicon/apple-touch-icon-152.png":235,"./appicon/apple-touch-icon-57.png":236,"./appicon/apple-touch-icon-72.png":237,"./appicon/apple-touch-icon-76.png":238,"./appicon/apple-touch-icon.png":239,"./appicon/favicon.ico":240,"./bg-select.png":241,"./icons/Diaspora-asterisk.svg":242,"./icons/carrot-icon--black.png":243,"./icons/carrot-icon--white.png":244,"./icons/diaspora-icon--black.png":245,"./icons/diaspora-icon--white.png":246,"./icons/scuttle.png":247,"./icons/shaarli.png":248,"./icons/unmark-icon--black.png":249,"./list.png":250,"./logo-square.svg":251,"./logo-w.png":252,"./logo-wallabag.svg":253,"./table.png":254};function i(t){var n=c(t);return e(n)}function c(t){if(!e.o(o,t)){var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}return o[t]}i.keys=function(){return Object.keys(o)},i.resolve=c,t.exports=i,i.id=231},232:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/appicon/apple-touch-icon-114.png"},233:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/appicon/apple-touch-icon-120.png"},234:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/appicon/apple-touch-icon-144.png"},235:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/appicon/apple-touch-icon-152.png"},236:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/appicon/apple-touch-icon-57.png"},237:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/appicon/apple-touch-icon-72.png"},238:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/appicon/apple-touch-icon-76.png"},239:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/appicon/apple-touch-icon.png"},240:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/appicon/favicon.ico"},241:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/bg-select.png"},242:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/icons/Diaspora-asterisk.svg"},243:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/icons/carrot-icon--black.png"},244:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/icons/carrot-icon--white.png"},245:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/icons/diaspora-icon--black.png"},246:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/icons/diaspora-icon--white.png"},247:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/icons/scuttle.png"},248:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/icons/shaarli.png"},249:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/icons/unmark-icon--black.png"},250:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/list.png"},251:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/logo-square.svg"},252:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/logo-w.png"},253:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/logo-wallabag.svg"},254:function(t,n,e){"use strict";e.r(n),n.default=e.p+"themes/_global/img/table.png"},257:function(t,n,e){"use strict";var o;e.r(n),(o=e(231)).keys().forEach(o)}});
(()=>{var t={2495:(t,o,e)=>{var c={"./appicon/apple-touch-icon-114.png":4137,"./appicon/apple-touch-icon-120.png":431,"./appicon/apple-touch-icon-144.png":9585,"./appicon/apple-touch-icon-152.png":633,"./appicon/apple-touch-icon-57.png":6842,"./appicon/apple-touch-icon-72.png":819,"./appicon/apple-touch-icon-76.png":7211,"./appicon/apple-touch-icon.png":3060,"./appicon/favicon.ico":2873,"./bg-select.png":4302,"./icons/Diaspora-asterisk.svg":7056,"./icons/carrot-icon--black.png":4189,"./icons/carrot-icon--white.png":4258,"./icons/diaspora-icon--black.png":8346,"./icons/diaspora-icon--white.png":9971,"./icons/scuttle.png":5289,"./icons/shaarli.png":1801,"./icons/unmark-icon--black.png":5578,"./list.png":8479,"./logo-square.svg":126,"./logo-w.png":3191,"./logo-wallabag.svg":7221,"./table.png":8868};function n(t){var o=p(t);return e(o)}function p(t){if(!e.o(c,t)){var o=new Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}return c[t]}n.keys=function(){return Object.keys(c)},n.resolve=p,t.exports=n,n.id=2495},4137:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/appicon/apple-touch-icon-114.png"},431:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/appicon/apple-touch-icon-120.png"},9585:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/appicon/apple-touch-icon-144.png"},633:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/appicon/apple-touch-icon-152.png"},6842:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/appicon/apple-touch-icon-57.png"},819:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/appicon/apple-touch-icon-72.png"},7211:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/appicon/apple-touch-icon-76.png"},3060:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/appicon/apple-touch-icon.png"},2873:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/appicon/favicon.ico"},4302:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/bg-select.png"},7056:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/icons/Diaspora-asterisk.svg"},4189:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/icons/carrot-icon--black.png"},4258:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/icons/carrot-icon--white.png"},8346:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/icons/diaspora-icon--black.png"},9971:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/icons/diaspora-icon--white.png"},5289:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/icons/scuttle.png"},1801:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/icons/shaarli.png"},5578:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/icons/unmark-icon--black.png"},8479:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/list.png"},126:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/logo-square.svg"},3191:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/logo-w.png"},7221:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/logo-wallabag.svg"},8868:(t,o,e)=>{"use strict";e.r(o),e.d(o,{default:()=>c});const c=e.p+"themes/_global/img/table.png"}},o={};function e(c){if(o[c])return o[c].exports;var n=o[c]={exports:{}};return t[c](n,n.exports,e),n.exports}e.d=(t,o)=>{for(var c in o)e.o(o,c)&&!e.o(t,c)&&Object.defineProperty(t,c,{enumerable:!0,get:o[c]})},e.o=(t,o)=>Object.prototype.hasOwnProperty.call(t,o),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.p="",(()=>{"use strict";var t;(t=e(2495)).keys().forEach(t)})()})();
//# sourceMappingURL=public.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,8 +1,8 @@
const path = require('path');
function buildConfig(env) {
env = env || 'prod';
return require(path.resolve(__dirname, 'app/config/webpack/' + env + '.js'))({ env: env })
function buildConfig(options) {
const env = options.prod ? 'prod' : 'dev';
return require(path.resolve(__dirname, `app/config/webpack/${env}.js`));
}
module.exports = buildConfig;

3434
yarn.lock

File diff suppressed because it is too large Load diff