@nx/rspack
Version:
31 lines (30 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOutputHashFormat = getOutputHashFormat;
const devkit_1 = require("@nx/devkit");
const MAX_HASH_LENGTH = 16;
function getOutputHashFormat(option, length = MAX_HASH_LENGTH) {
if (length > MAX_HASH_LENGTH) {
devkit_1.logger.warn(`Hash format length cannot be longer than ${MAX_HASH_LENGTH}. Using default of ${MAX_HASH_LENGTH}.`);
length = MAX_HASH_LENGTH;
}
const hashFormats = {
none: { chunk: '', extract: '', file: '', script: '' },
media: { chunk: '', extract: '', file: `.[hash:${length}]`, script: '' },
bundles: {
// [contenthash] is rspack's recommended hash for caching, matching the entry
// `filename`; [chunkhash] omits module ids and can serve stale chunks (nx#36014).
chunk: `.[contenthash:${length}]`,
extract: `.[contenthash:${length}]`,
file: '',
script: `.[contenthash:${length}]`,
},
all: {
chunk: `.[contenthash:${length}]`,
extract: `.[contenthash:${length}]`,
file: `.[contenthash:${length}]`,
script: `.[contenthash:${length}]`,
},
};
return hashFormats[option] || hashFormats['none'];
}