node-taglib-sharp-extend
Version:
read and write audio file metadata in nodejs / browser(memory)
90 lines (84 loc) • 2.97 kB
JavaScript
var MagicString = require('magic-string');
var vitePluginNodePolyfills = require('vite-plugin-node-polyfills');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var MagicString__default = /*#__PURE__*/_interopDefault(MagicString);
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
var target = {};
for (var prop in source)
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
target[prop] = source[prop];
if (source != null && __getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(source)) {
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
target[prop] = source[prop];
}
return target;
};
var DEV_POLYFILL_MODULES = [
"stream",
"crypto",
"fs",
"util"
];
function polyfillTaglib(extraOptions = {}) {
const _a = extraOptions, {
isBuild,
include = [],
globals: extraGlobals
} = _a, rest = __objRest(_a, [
"isBuild",
"include",
"globals"
]);
include.push("buffer", "string_decoder");
!isBuild && include.push(...DEV_POLYFILL_MODULES);
return [
{
name: "taglib-sharp-polyfill",
enforce: "pre",
apply: isBuild === void 0 ? "build" : () => isBuild,
transform(code, id) {
if (!id.includes("node-taglib-sharp-extend/dist")) {
return;
}
if (code.match(/import \* as crypto from ["']crypto["'];/)) {
const s = new MagicString__default.default(code).replace(/import \* as crypto from ["']crypto["'];/, "").replace("randomFillSync", "getRandomValues").replace(/import \* as fs from ["']fs["'];/, "");
return {
code: s.toString(),
map: s.generateMap({ hires: true })
};
}
}
},
vitePluginNodePolyfills.nodePolyfills(__spreadProps(__spreadValues({}, rest), {
globals: extraGlobals,
include
}))
];
}
var taglibManualChunksConfig = {
iconv: ["@subframe7536/iconv-lite"],
taglib: ["node-taglib-sharp-extend"]
};
exports.polyfillTaglib = polyfillTaglib;
exports.taglibManualChunksConfig = taglibManualChunksConfig;
;