1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-22 18:28:37 +00:00

Enable contenthash in filename for dynamic assets (#20813)

This should solve the main problem of dynamic assets getting stale after
a version upgrade. Everything not affected will use query-string based
cache busting, which includes files loaded via HTML or worker scripts.
This commit is contained in:
silverwind
2022-08-23 14:58:04 +02:00
committed by GitHub
parent 0a9ed54abb
commit 56220515fc
15 changed files with 1102 additions and 802 deletions

View File

@@ -74,7 +74,7 @@ export default {
},
chunkFilename: ({chunk}) => {
const language = (/monaco.*languages?_.+?_(.+?)_/.exec(chunk.id) || [])[1];
return language ? `js/monaco-language-${language.toLowerCase()}.js` : `js/[name].js`;
return `js/${language ? `monaco-language-${language.toLowerCase()}` : `[name]`}.[contenthash:8].js`;
},
},
optimization: {
@@ -173,14 +173,14 @@ export default {
test: /\.(ttf|woff2?)$/,
type: 'asset/resource',
generator: {
filename: 'fonts/[name][ext]',
filename: 'fonts/[name].[contenthash:8][ext]',
}
},
{
test: /\.png$/i,
type: 'asset/resource',
generator: {
filename: 'img/webpack/[name][ext]',
filename: 'img/webpack/[name].[contenthash:8][ext]',
}
},
],
@@ -189,17 +189,17 @@ export default {
new VueLoaderPlugin(),
new MiniCssExtractPlugin({
filename: 'css/[name].css',
chunkFilename: 'css/[name].css',
chunkFilename: 'css/[name].[contenthash:8].css',
}),
new SourceMapDevToolPlugin({
filename: '[file].map',
filename: '[file].[contenthash:8].map',
include: [
'js/index.js',
'css/index.css',
],
}),
new MonacoWebpackPlugin({
filename: 'js/monaco-[name].worker.js',
filename: 'js/monaco-[name].[contenthash:8].worker.js',
}),
isProduction ? new LicenseCheckerWebpackPlugin({
outputFilename: 'js/licenses.txt',