heavy optimization - generate jpgs to l.pngs
This commit is contained in:
parent
0710d0331f
commit
328bdbf88b
@ -178,6 +178,9 @@ let
|
|||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
ln -sf ${nodeSource}/node_modules .
|
ln -sf ${nodeSource}/node_modules .
|
||||||
cp ${webpackConfigFile} webpack.config.js
|
cp ${webpackConfigFile} webpack.config.js
|
||||||
|
cp ${
|
||||||
|
./imagemin-jpgify-webpack-plugin.js
|
||||||
|
} .imagemin-jpgify-webpack-plugin.js
|
||||||
cp ${wandInit} wand.js
|
cp ${wandInit} wand.js
|
||||||
cp ${templateHtml} template.html
|
cp ${templateHtml} template.html
|
||||||
'';
|
'';
|
||||||
@ -188,6 +191,9 @@ let
|
|||||||
rm -f wand.js
|
rm -f wand.js
|
||||||
rm -f template.html
|
rm -f template.html
|
||||||
cp ${webpackConfigFile} webpack.config.js
|
cp ${webpackConfigFile} webpack.config.js
|
||||||
|
cp ${
|
||||||
|
./imagemin-jpgify-webpack-plugin.js
|
||||||
|
} .imagemin-jpgify-webpack-plugin.js
|
||||||
cp ${wandInit} wand.js
|
cp ${wandInit} wand.js
|
||||||
cp ${templateHtml} template.html
|
cp ${templateHtml} template.html
|
||||||
export NODE_PATH=$PWD/node_modules
|
export NODE_PATH=$PWD/node_modules
|
||||||
|
@ -1,19 +1,21 @@
|
|||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"copy-webpack-plugin": "^5.1.1",
|
"copy-webpack-plugin": "^5.1.1",
|
||||||
"css-loader": "^3.4.2",
|
"css-loader": "^3.5.2",
|
||||||
"elm-hot-webpack-loader": "^1.1.6",
|
"elm-hot-webpack-loader": "^1.1.6",
|
||||||
"elm-webpack-loader": "^6.0.1",
|
"elm-webpack-loader": "^6.0.1",
|
||||||
"favicons-webpack-plugin": "^1.0.2",
|
"favicons-webpack-plugin": "^1.0.2",
|
||||||
"html-loader": "^0.5.5",
|
"html-loader": "^0.5.5",
|
||||||
"html-webpack-plugin": "^3.2.0",
|
"html-webpack-plugin": "^3.2.0",
|
||||||
|
"imagemin": "^7.0.1",
|
||||||
"imagemin-webp-webpack-plugin": "^3.3.1",
|
"imagemin-webp-webpack-plugin": "^3.3.1",
|
||||||
"imagemin-webpack-plugin": "^2.4.2",
|
"imagemin-webpack-plugin": "^2.4.2",
|
||||||
"jsdom": "^15.2.1",
|
"jsdom": "^15.2.1",
|
||||||
"style-loader": "^1.1.3",
|
"png-to-jpeg": "^1.0.1",
|
||||||
|
"style-loader": "^1.1.4",
|
||||||
"tempy": "^0.3.0",
|
"tempy": "^0.3.0",
|
||||||
"terser-webpack-plugin": "^2.3.5",
|
"terser-webpack-plugin": "^2.3.5",
|
||||||
"webpack": "^4.41.6",
|
"webpack": "^4.42.1",
|
||||||
"webpack-cli": "^3.3.11",
|
"webpack-cli": "^3.3.11",
|
||||||
"webpack-dev-server": "^3.10.3",
|
"webpack-dev-server": "^3.10.3",
|
||||||
"workbox-webpack-plugin": "^4.3.1"
|
"workbox-webpack-plugin": "^4.3.1"
|
||||||
|
1123
pnpm-lock.yaml
generated
1123
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -5,6 +5,7 @@ const CopyPlugin = require('copy-webpack-plugin')
|
|||||||
const { InjectManifest } = require('workbox-webpack-plugin')
|
const { InjectManifest } = require('workbox-webpack-plugin')
|
||||||
const ImageminPlugin = require('imagemin-webpack-plugin').default
|
const ImageminPlugin = require('imagemin-webpack-plugin').default
|
||||||
const ImageminWebpWebpackPlugin = require('imagemin-webp-webpack-plugin')
|
const ImageminWebpWebpackPlugin = require('imagemin-webp-webpack-plugin')
|
||||||
|
const ImageminJpegifyWebpackPlugin = require('./.imagemin-jpgify-webpack-plugin.js')
|
||||||
const FaviconsWebpackPlugin = require('favicons-webpack-plugin')
|
const FaviconsWebpackPlugin = require('favicons-webpack-plugin')
|
||||||
const { JSDOM } = require('jsdom')
|
const { JSDOM } = require('jsdom')
|
||||||
const tempy = require('tempy')
|
const tempy = require('tempy')
|
||||||
@ -59,25 +60,26 @@ const productionPlugins = [
|
|||||||
`),
|
`),
|
||||||
swDest: 'sw.js',
|
swDest: 'sw.js',
|
||||||
}),
|
}),
|
||||||
|
// TODO: build .l.pngs into jpgs
|
||||||
new ImageminPlugin({
|
new ImageminPlugin({
|
||||||
jpegtran: { progressive: true },
|
jpegtran: { progressive: true },
|
||||||
svgo: null,
|
svgo: null,
|
||||||
}),
|
}),
|
||||||
new ImageminWebpWebpackPlugin({
|
new ImageminWebpWebpackPlugin({
|
||||||
config: [{
|
config: [{
|
||||||
test: /\.jpe?g/,
|
test: /\.jpe?g$/,
|
||||||
options: {
|
options: {
|
||||||
force: true,
|
force: true,
|
||||||
quality: 75
|
quality: 75
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
test: /\.l\.png/,
|
test: /\.l\.png$/,
|
||||||
options: {
|
options: {
|
||||||
force: true,
|
force: true,
|
||||||
quality: 75
|
quality: 75
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
test: /\.png/,
|
test: /\.png$/,
|
||||||
options: {
|
options: {
|
||||||
force: true,
|
force: true,
|
||||||
lossless: true
|
lossless: true
|
||||||
@ -88,6 +90,19 @@ const productionPlugins = [
|
|||||||
silent: true,
|
silent: true,
|
||||||
strict: true,
|
strict: true,
|
||||||
}),
|
}),
|
||||||
|
new ImageminJpegifyWebpackPlugin({
|
||||||
|
config: [{
|
||||||
|
test: /\.l\.png$/,
|
||||||
|
options: {
|
||||||
|
force: true,
|
||||||
|
quality: 50
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
overrideExtension: false,
|
||||||
|
detailedLogs: false,
|
||||||
|
silent: true,
|
||||||
|
strict: true,
|
||||||
|
}),
|
||||||
new FaviconsWebpackPlugin({
|
new FaviconsWebpackPlugin({
|
||||||
logo: path.join(__dirname, 'data', 'images', 'icon.png'),
|
logo: path.join(__dirname, 'data', 'images', 'icon.png'),
|
||||||
inject: false, // manually in our template for now cos its fuckd
|
inject: false, // manually in our template for now cos its fuckd
|
||||||
|
Loading…
Reference in New Issue
Block a user