12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.transformFiles = exports.reduceChunk = exports.reduceAssets = exports.generateManifest = void 0;
- const path_1 = require("path");
- const generateManifest = (compilation, files, { generate, seed = {} }) => {
- let result;
- if (generate) {
- const entrypointsArray = Array.from(compilation.entrypoints.entries());
- const entrypoints = entrypointsArray.reduce((e, [name, entrypoint]) => Object.assign(e, { [name]: entrypoint.getFiles() }), {});
- result = generate(seed, files, entrypoints);
- }
- else {
- result = files.reduce((manifest, file) => Object.assign(manifest, { [file.name]: file.path }), seed);
- }
- return result;
- };
- exports.generateManifest = generateManifest;
- const getFileType = (fileName, { transformExtensions }) => {
- const replaced = fileName.replace(/\?.*/, '');
- const split = replaced.split('.');
- const extension = split.pop();
- return transformExtensions.test(extension) ? `${split.pop()}.${extension}` : extension;
- };
- const reduceAssets = (files, asset, moduleAssets) => {
- let name;
- if (moduleAssets[asset.name]) {
- name = moduleAssets[asset.name];
- }
- else if (asset.info.sourceFilename) {
- name = path_1.join(path_1.dirname(asset.name), path_1.basename(asset.info.sourceFilename));
- }
- if (name) {
- return files.concat({
- isAsset: true,
- isChunk: false,
- isInitial: false,
- isModuleAsset: true,
- name,
- path: asset.name
- });
- }
- const isEntryAsset = asset.chunks && asset.chunks.length > 0;
- if (isEntryAsset) {
- return files;
- }
- return files.concat({
- isAsset: true,
- isChunk: false,
- isInitial: false,
- isModuleAsset: false,
- name: asset.name,
- path: asset.name
- });
- };
- exports.reduceAssets = reduceAssets;
- const reduceChunk = (files, chunk, options, auxiliaryFiles) => {
- Array.from(chunk.auxiliaryFiles || []).forEach((auxiliaryFile) => {
- auxiliaryFiles[auxiliaryFile] = {
- isAsset: true,
- isChunk: false,
- isInitial: false,
- isModuleAsset: true,
- name: path_1.basename(auxiliaryFile),
- path: auxiliaryFile
- };
- });
- return Array.from(chunk.files).reduce((prev, path) => {
- let name = chunk.name ? chunk.name : null;
- name = name
- ? options.useEntryKeys && !path.endsWith('.map')
- ? name
- : `${name}.${getFileType(path, options)}`
- : path;
- return prev.concat({
- chunk,
- isAsset: false,
- isChunk: true,
- isInitial: chunk.isOnlyInitial(),
- isModuleAsset: false,
- name,
- path
- });
- }, files);
- };
- exports.reduceChunk = reduceChunk;
- const standardizeFilePaths = (file) => {
- const result = Object.assign({}, file);
- result.name = file.name.replace(/\\/g, '/');
- result.path = file.path.replace(/\\/g, '/');
- return result;
- };
- const transformFiles = (files, options) => ['filter', 'map', 'sort']
- .filter((fname) => !!options[fname])
- .reduce((prev, fname) => prev[fname](options[fname]), files)
- .map(standardizeFilePaths);
- exports.transformFiles = transformFiles;
- //# sourceMappingURL=helpers.js.map
|