diff options
author | Thibaut Girka <thib@sitedethib.com> | 2018-05-29 13:52:26 +0200 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2018-05-29 13:52:26 +0200 |
commit | c087738270e7fb16b1d284e8dd72cf99b4238bb8 (patch) | |
tree | 23327fe190fd90589c9dc8d64e96fcf0b7d28ddd /config/webpack | |
parent | 8b98afa781018bc7cfdb325f6b1fca0b1edcd8cb (diff) | |
parent | 90908fc24ba57c877de75fe117b8cc234e29d4f0 (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
Diffstat (limited to 'config/webpack')
-rw-r--r-- | config/webpack/production.js | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/config/webpack/production.js b/config/webpack/production.js index a82330791..1469a948f 100644 --- a/config/webpack/production.js +++ b/config/webpack/production.js @@ -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('whatwg-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', |