Commit 8f36e57e authored by Phil Hughes's avatar Phil Hughes

Merge branch 'feat/jh-assets-compile-updates' into 'master'

Feat: JH assets compile updates

See merge request gitlab-org/gitlab!66520
parents 3e6c3f82 2994f8e4
const fs = require('fs');
const path = require('path');
const IS_EE = require('./is_ee_env');
const ROOT_PATH = path.resolve(__dirname, '../..');
// The `FOSS_ONLY` is always `string` or `nil`
// Thus the nil or empty string will result
// in using default value: false
//
// The behavior needs to be synchronised with
// lib/gitlab.rb: Gitlab.jh?
// Since IS_EE already satisifies the conditions of not being a FOSS_ONLY.
// const isFossOnly = JSON.parse(process.env.FOSS_ONLY || 'false');
module.exports = IS_EE && fs.existsSync(path.join(ROOT_PATH, 'jh'));
...@@ -20,6 +20,7 @@ const WEBPACK_VERSION = require('webpack/package.json').version; ...@@ -20,6 +20,7 @@ const WEBPACK_VERSION = require('webpack/package.json').version;
const createIncrementalWebpackCompiler = require('./helpers/incremental_webpack_compiler'); const createIncrementalWebpackCompiler = require('./helpers/incremental_webpack_compiler');
const IS_EE = require('./helpers/is_ee_env'); const IS_EE = require('./helpers/is_ee_env');
const IS_JH = require('./helpers/is_jh_env');
const vendorDllHash = require('./helpers/vendor_dll_hash'); const vendorDllHash = require('./helpers/vendor_dll_hash');
const MonacoWebpackPlugin = require('./plugins/monaco_webpack'); const MonacoWebpackPlugin = require('./plugins/monaco_webpack');
...@@ -97,6 +98,14 @@ function generateEntries() { ...@@ -97,6 +98,14 @@ function generateEntries() {
watchAutoEntries.push(path.join(ROOT_PATH, 'ee/app/assets/javascripts/pages/')); watchAutoEntries.push(path.join(ROOT_PATH, 'ee/app/assets/javascripts/pages/'));
} }
if (IS_JH) {
const eePageEntries = glob.sync('pages/**/index.js', {
cwd: path.join(ROOT_PATH, 'jh/app/assets/javascripts'),
});
eePageEntries.forEach((entryPath) => generateAutoEntries(entryPath, 'jh'));
watchAutoEntries.push(path.join(ROOT_PATH, 'jh/app/assets/javascripts/pages/'));
}
const autoEntryKeys = Object.keys(autoEntriesMap); const autoEntryKeys = Object.keys(autoEntriesMap);
autoEntriesCount = autoEntryKeys.length; autoEntriesCount = autoEntryKeys.length;
...@@ -168,6 +177,16 @@ if (IS_EE) { ...@@ -168,6 +177,16 @@ if (IS_EE) {
}); });
} }
if (IS_JH) {
Object.assign(alias, {
jh: path.join(ROOT_PATH, 'jh/app/assets/javascripts'),
jh_icons: path.join(ROOT_PATH, 'jh/app/views/shared/icons'),
jh_images: path.join(ROOT_PATH, 'jh/app/assets/images'),
jh_spec: path.join(ROOT_PATH, 'jh/spec/javascripts'),
jh_jest: path.join(ROOT_PATH, 'jh/spec/frontend'),
});
}
if (!IS_PRODUCTION) { if (!IS_PRODUCTION) {
const fixtureDir = IS_EE ? 'fixtures-ee' : 'fixtures'; const fixtureDir = IS_EE ? 'fixtures-ee' : 'fixtures';
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment