diff --git a/webpack.config.js b/webpack.config.js index 10c12022a..b587713b5 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022-2024 Gregor Kleen ,Sarah Vaupel ,Sarah Vaupel ,David Mosbach +// SPDX-FileCopyrightText: 2022-2024 Sarah Vaupel , Gregor Kleen , Sarah Vaupel , Sarah Vaupel , David Mosbach // // 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',