chore(webpack): update webpack config for major node and npm update
This commit is contained in:
parent
b4a59f6b02
commit
ae235bf269
@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2022-2024 Gregor Kleen <gregor.kleen@ifi.lmu.de>,Sarah Vaupel <sarah.vaupel@ifi.lmu.de>,Sarah Vaupel <vaupel.sarah@campus.lmu.de>,David Mosbach <david.mosbach@uniworx.de>
|
||||
// SPDX-FileCopyrightText: 2022-2024 Sarah Vaupel <sarah.vaupel@uniworx.de>, Gregor Kleen <gregor.kleen@ifi.lmu.de>, Sarah Vaupel <sarah.vaupel@ifi.lmu.de>, Sarah Vaupel <vaupel.sarah@campus.lmu.de>, David Mosbach <david.mosbach@uniworx.de>
|
||||
//
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
@ -9,10 +9,10 @@ tmp.setGracefulCleanup();
|
||||
const fs = require('fs-extra');
|
||||
const glob = require('glob');
|
||||
const { execSync } = require('child_process');
|
||||
const request = require('request-promise');
|
||||
const axios = require('axios');
|
||||
|
||||
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
||||
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
|
||||
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
|
||||
const { WebpackManifestPlugin } = require('webpack-manifest-plugin');
|
||||
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
|
||||
const CopyPlugin = require('copy-webpack-plugin');
|
||||
@ -27,26 +27,20 @@ const webpackVersion = require('webpack/package.json').version.split('.').slice(
|
||||
const packageVersion = require('./package.json').version;
|
||||
|
||||
async function webpackConfig() {
|
||||
const faviconNixDirectory = path.resolve(__dirname, '.nix-well-known');
|
||||
const wellKnownCacheDir = path.resolve(__dirname, '.well-known-cache');
|
||||
const assetsDirectory = path.resolve(__dirname, 'assets');
|
||||
let faviconApiVersion = undefined;
|
||||
|
||||
if (!fs.existsSync(faviconNixDirectory)) {
|
||||
try {
|
||||
const faviconApiChangelog = await request({
|
||||
method: 'GET',
|
||||
uri: 'https://realfavicongenerator.net/api/versions',
|
||||
headers: {
|
||||
'Accept': '*/*'
|
||||
},
|
||||
json: true
|
||||
});
|
||||
faviconApiVersion = faviconApiChangelog.filter(vObj => vObj.relevance.automated_update).slice(-1)[0].version;
|
||||
} catch(e) {
|
||||
console.error(e);
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME: fetching current favicon api version broken right now (needs adaptation to axios)
|
||||
// if (!fs.existsSync(wellKnownCacheDir)) {
|
||||
// try {
|
||||
// const faviconApiChangelog = await axios.get('https://realfavicongenerator.net/api/versions');
|
||||
// faviconApiVersion = faviconApiChangelog.filter(vObj => vObj.relevance.automated_update).slice(-1)[0].version;
|
||||
// } catch(e) {
|
||||
// console.error(e);
|
||||
// }
|
||||
// }
|
||||
|
||||
return {
|
||||
module: {
|
||||
rules: [
|
||||
@ -213,12 +207,12 @@ async function webpackConfig() {
|
||||
|
||||
const cacheDirectory = path.resolve(__dirname, '.well-known-cache', `${cacheDigest}-${lang}`);
|
||||
|
||||
if (fs.existsSync(faviconNixDirectory)) {
|
||||
if (fs.existsSync(wellKnownCacheDir)) {
|
||||
console.log("Using favicons generated by nix");
|
||||
return [
|
||||
new CopyPlugin({
|
||||
patterns: [
|
||||
{ from: path.resolve(faviconNixDirectory, lang), to: path.resolve(__dirname, 'well-known', lang) }
|
||||
{ from: path.resolve(wellKnownCacheDir, lang), to: path.resolve(__dirname, 'well-known', lang) }
|
||||
]
|
||||
})
|
||||
];
|
||||
@ -285,13 +279,7 @@ async function webpackConfig() {
|
||||
sourceMap: true
|
||||
}
|
||||
}),
|
||||
new OptimizeCSSAssetsPlugin({
|
||||
cssProcessorOptions: {
|
||||
map: {
|
||||
inline: false
|
||||
}
|
||||
}
|
||||
})
|
||||
new MiniCssExtractPlugin(),
|
||||
],
|
||||
moduleIds: 'named',
|
||||
chunkIds: 'named',
|
||||
|
||||
Reference in New Issue
Block a user