From 6b0404b66dd553f28873e419268e66d8ffab9a0c Mon Sep 17 00:00:00 2001 From: HF Date: Mon, 11 Dec 2023 20:54:52 +0100 Subject: [PATCH] THREE.js doesn't like the timestamp name, cause every language bundle builds its own three.js change order of script insertion (vendor before client) --- src/core/assets.js | 16 +++++++++------- webpack.config.client.js | 13 +++++-------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/core/assets.js b/src/core/assets.js index 92edaa5..0b9da21 100644 --- a/src/core/assets.js +++ b/src/core/assets.js @@ -34,7 +34,7 @@ function checkAssets() { const parts = filename.split('.'); // File needs to have a timestamp in its name - if (parts.length < 3 || Number.isNaN(Number(parts[parts.length - 2]))) { + if (parts.length < 3) { continue; } // if multiple candidates exist, take most recent created file @@ -81,12 +81,6 @@ assets = checkAssets(); export function getJsAssets(name, lang) { const jsAssets = []; - const mainAsset = (lang && assets.js[name][lang]) - || assets.js[name].default - || assets.js[name]; - if (mainAsset) { - jsAssets.push(mainAsset); - } switch (name) { case 'client': @@ -98,6 +92,14 @@ export function getJsAssets(name, lang) { default: // nothing } + + const mainAsset = (lang && assets.js[name][lang]) + || assets.js[name].default + || assets.js[name]; + if (mainAsset) { + jsAssets.push(mainAsset); + } + return jsAssets; } diff --git a/webpack.config.client.js b/webpack.config.client.js index c09bc3a..cec75d8 100644 --- a/webpack.config.client.js +++ b/webpack.config.client.js @@ -13,11 +13,6 @@ const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); */ process.chdir(__dirname); -/* - * timestamp for filenames - */ -const buildTs = Date.now(); - function buildWebpackClientConfig( development, analyze, @@ -68,9 +63,9 @@ function buildWebpackClientConfig( output: { path: path.resolve('dist', 'public', 'assets'), - // publicPath: '/assets/', // Is this neccessary? - filename: `[name].${buildTs}.js`, - chunkFilename: `[name].${locale}.${buildTs}.js`, + publicPath: '/assets/', + filename: `[name].[chunkhash:8].js`, + chunkFilename: `[name].${locale}.[chunkhash:8].js`, }, resolve: { @@ -170,6 +165,8 @@ function buildWebpackClientConfig( }, }, + recordsPath: path.join(__dirname, 'records.json'), + stats: { colors: true, reasons: false,