Cache attachments on external host with service worker (#7493)
This commit is contained in:
parent
03f4c214b4
commit
d95642f6d9
4 changed files with 30 additions and 3 deletions
|
@ -6,8 +6,9 @@ const CompressionPlugin = require('compression-webpack-plugin');
|
|||
const sharedConfig = require('./shared.js');
|
||||
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
|
||||
const OfflinePlugin = require('offline-plugin');
|
||||
const { env, publicPath } = require('./configuration.js');
|
||||
const { publicPath } = require('./configuration.js');
|
||||
const path = require('path');
|
||||
const { URL } = require('url');
|
||||
|
||||
let compressionAlgorithm;
|
||||
try {
|
||||
|
@ -19,6 +20,21 @@ try {
|
|||
compressionAlgorithm = 'gzip';
|
||||
}
|
||||
|
||||
let attachmentHost;
|
||||
|
||||
if (process.env.S3_ENABLED === 'true') {
|
||||
if (process.env.S3_CLOUDFRONT_HOST) {
|
||||
attachmentHost = process.env.S3_CLOUDFRONT_HOST;
|
||||
} else {
|
||||
attachmentHost = process.env.S3_HOSTNAME || `s3-${process.env.S3_REGION || 'us-east-1'}.amazonaws.com`;
|
||||
}
|
||||
} else if (process.env.SWIFT_ENABLED === 'true') {
|
||||
const { host } = new URL(process.env.SWIFT_OBJECT_URL);
|
||||
attachmentHost = host;
|
||||
} else {
|
||||
attachmentHost = null;
|
||||
}
|
||||
|
||||
module.exports = merge(sharedConfig, {
|
||||
output: {
|
||||
filename: '[name]-[chunkhash].js',
|
||||
|
@ -90,7 +106,7 @@ module.exports = merge(sharedConfig, {
|
|||
'**/*.woff',
|
||||
],
|
||||
ServiceWorker: {
|
||||
entry: `imports-loader?process.env=>${encodeURIComponent(JSON.stringify(env))}!${encodeURI(path.join(__dirname, '../../app/javascript/mastodon/service_worker/entry.js'))}`,
|
||||
entry: `imports-loader?ATTACHMENT_HOST=>${encodeURIComponent(JSON.stringify(attachmentHost))}!${encodeURI(path.join(__dirname, '../../app/javascript/mastodon/service_worker/entry.js'))}`,
|
||||
cacheName: 'mastodon',
|
||||
output: '../assets/sw.js',
|
||||
publicPath: '/sw.js',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue