UNPKG

node-taglib-sharp-extend

Version:

read and write audio file metadata in nodejs / browser(memory)

90 lines (84 loc) 2.97 kB
'use strict'; 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;