24 lines
644 B
JavaScript
24 lines
644 B
JavaScript
|
"use strict";
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports.onContent = onContent;
|
||
|
const rNodeAttrsTypeJson = /(\/|\+)json/;
|
||
|
function onContent() {
|
||
|
return (content, node) => {
|
||
|
// Skip SRI, reasons are documented in "minifyJs" module
|
||
|
if (node.attrs && 'integrity' in node.attrs) {
|
||
|
return content;
|
||
|
}
|
||
|
if (node.attrs && node.attrs.type && rNodeAttrsTypeJson.test(node.attrs.type)) {
|
||
|
try {
|
||
|
// cast minified JSON to an array
|
||
|
return [JSON.stringify(JSON.parse((content || []).join('')))];
|
||
|
} catch (error) {
|
||
|
// Invalid JSON
|
||
|
}
|
||
|
}
|
||
|
return content;
|
||
|
};
|
||
|
}
|