@bbc/spartacus
Version:
39 lines (32 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getAssetsArray = function getAssetsArray() {
var assets = [];
var assetsManifestEnv = 'SPARTACUS_ASSETS_MANIFEST_PATH';
try {
var assetManifest = JSON.parse(_fs2.default.readFileSync(process.env[assetsManifestEnv]));
var assetsManifestKeys = Object.keys(assetManifest);
/**
* Loops through the asset manifest, extracts the JS URL out of each entry and
* injects them into the assets array, which is passed to render.
* Loops backwards as the client bundle is output first, but needs to be last.
*/
for (var i = assetsManifestKeys.length - 1; i >= 0; i -= 1) {
var key = assetsManifestKeys[i];
if (key.length > 0) {
assets.push(assetManifest[key].js);
}
}
} catch (error) {
/* eslint-disable no-console */
console.log('Error parsing assets manifest. ' + assetsManifestEnv + ' = ' + process.env[assetsManifestEnv]);
/* eslint-enable no-console */
}
return assets;
};
exports.default = getAssetsArray;