* remove FEATURE_NEW_VERSIONS from feature-flags.json * remove process.env.FEATURE_NEW_VERSIONS from include files * remove process.env.FEATURE_NEW_VERSIONS from lib files * remove process.env.FEATURE_NEW_VERSIONS from middleware files * remove process.env.FEATURE_NEW_VERSIONS from script files * remove process.env.FEATURE_NEW_VERSIONS from test files * update test fixtures to use new versions as canonical fixtures
30 lines
1.3 KiB
JavaScript
30 lines
1.3 KiB
JavaScript
const latestEnterpriseVersion = require('./enterprise-server-releases').latest
|
|
const nonEnterpriseDefaultVersion = require('./non-enterprise-default-version')
|
|
const { getOldVersionFromNewVersion } = require('./old-versions-utils')
|
|
const s3BasePath = 'https://github-images.s3.amazonaws.com'
|
|
|
|
// This module rewrites asset paths on Enterprise versions to S3 paths.
|
|
// Source example: /assets/images/foo.png
|
|
// Rewritten: https://github-images.s3.amazonaws.com/enterprise/2.20/assets/images/foo.png
|
|
// The one exception is Admin pages on the latest GHES release.
|
|
module.exports = function rewriteAssetPathsToS3 ($, version, relativePath) {
|
|
// if the current version is non-enterprise, do not rewrite
|
|
if (version === nonEnterpriseDefaultVersion) return
|
|
|
|
// get 2.22 from enterprise-server@2.22
|
|
const oldVersion = getOldVersionFromNewVersion(version)
|
|
|
|
// the relativePath starts with the product, like /admin/foo or /github/foo
|
|
const product = relativePath.split('/')[0]
|
|
|
|
// if this is an Admin page on the latest version, do not rewrite
|
|
if (product === 'admin' && oldVersion === latestEnterpriseVersion) return
|
|
|
|
$('img').each((i, el) => {
|
|
const src = $(el).attr('src')
|
|
if (!src.startsWith('/assets/images')) return
|
|
const newSrc = `${s3BasePath}/enterprise/${oldVersion}${src}`
|
|
if (src !== newSrc) $(el).attr('src', newSrc)
|
|
})
|
|
}
|