var named = require('vinyl-named');
var CONFIG = require('../config.js');
-var BUNDLE_PREFIX = '__FOUNDATION_EXTERNALS_';
-var BUNDLE_SUFFIX = '__';
// ----- WEBPACK CONFIGURATION -----
//
// Convert an external config object for UMD modules
// See: https://webpack.js.org/configuration/externals/#object
function umdExternals(externals, options) {
- options = Object.assign({ prefix: '', suffix: '' }, options);
+ options = Object.assign({ namespace: '' }, options);
+ const umdExternalPath = (...args) => [...args].filter(v => v && !!v.length);
return Object.keys(externals).reduce(function(obj, k) {
obj[k] = {
- root: `${options.prefix}${externals[k]}${options.suffix}`,
+ root: umdExternalPath(options.namespace, externals[k]),
amd: k,
commonjs: k,
commonjs2: k,
'./foundation.accordion': 'foundation.accordion',
'./foundation.tabs': 'foundation.tabs',
'./foundation.smoothScroll': 'foundation.smoothScroll',
- }, { prefix: BUNDLE_PREFIX, suffix: BUNDLE_SUFFIX })
+ }, { namespace: CONFIG.JS_BUNDLE_NAMESPACE })
);
var webpackConfig = {
]
},
output: {
- library: `${BUNDLE_PREFIX}[name]${BUNDLE_SUFFIX}`,
+ library: [CONFIG.JS_BUNDLE_NAMESPACE, '[name]'],
libraryTarget: 'umd',
}
}