obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
56 lines (53 loc) • 7.93 kB
JavaScript
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
(function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
import { toPosixPath } from "../../Path.mjs";
import { replaceAll } from "../../String.mjs";
import {
existsSync,
readFile,
writeFile
} from "../NodeModules.mjs";
function fixSourceMapsPlugin(isProductionBuild, distPaths, pluginName) {
return {
name: "fix-source-maps",
setup(build) {
build.onEnd(async () => {
if (isProductionBuild) {
return;
}
for (const distPath of distPaths) {
if (!existsSync(distPath)) {
continue;
}
const content = await readFile(distPath, "utf-8");
const newContent = replaceAll(
content,
/(?<Prefix>\n(?:\/\/|\/\*)# sourceMappingURL=data:application\/json;base64,)(?<SourceMapBase64>.+?)(?<Suffix>$|\n| \*\/)(?:.|\n)*/g,
(_, prefix, sourceMapBase64, suffix) => `${prefix + fixSourceMap(sourceMapBase64, pluginName) + suffix.trim()}
/* nosourcemap */`
);
if (content !== newContent) {
await writeFile(distPath, newContent);
}
}
});
}
};
}
function convertPathToObsidianUrl(path, pluginName) {
const convertedPath = replaceAll(toPosixPath(path), /^(?:\.\.\/)+/g, "");
return `app://obsidian.md/plugin:${pluginName}/${convertedPath}`;
}
function fixSourceMap(sourceMapBase64, pluginName) {
const sourceMapJson = Buffer.from(sourceMapBase64, "base64").toString("utf-8");
const sourceMap = JSON.parse(sourceMapJson);
sourceMap.sources = (sourceMap.sources ?? []).map((path) => convertPathToObsidianUrl(path, pluginName));
return Buffer.from(JSON.stringify(sourceMap)).toString("base64");
}
export {
fixSourceMapsPlugin
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2VzYnVpbGQvZml4U291cmNlTWFwc1BsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBUaGlzIG1vZHVsZSBkZWZpbmVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgZml4ZXMgc291cmNlIG1hcHMgZ2VuZXJhdGVkIGR1cmluZyBkZXZlbG9wbWVudC5cbiAqIEl0IGFkanVzdHMgdGhlIHBhdGhzIGluIHRoZSBzb3VyY2UgbWFwcyB0byBiZSBjb21wYXRpYmxlIHdpdGggT2JzaWRpYW4ncyBpbnRlcm5hbCBVUkwgc2NoZW1lLlxuICogVGhlIHBsdWdpbiBpcyBvbmx5IGFjdGl2ZSBkdXJpbmcgZGV2ZWxvcG1lbnQgYnVpbGRzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnZXNidWlsZCc7XG5cbmltcG9ydCB7IHRvUG9zaXhQYXRoIH0gZnJvbSAnLi4vLi4vUGF0aC50cyc7XG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnLi4vLi4vU3RyaW5nLnRzJztcbmltcG9ydCB7XG4gIGV4aXN0c1N5bmMsXG4gIHJlYWRGaWxlLFxuICB3cml0ZUZpbGVcbn0gZnJvbSAnLi4vTm9kZU1vZHVsZXMudHMnO1xuXG5pbnRlcmZhY2UgU291cmNlTWFwIHtcbiAgc291cmNlczogc3RyaW5nW107XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IGZpeGVzIHNvdXJjZSBtYXBzIGJ5IGFkanVzdGluZyB0aGUgcGF0aHMgdG8gYmUgY29tcGF0aWJsZVxuICogd2l0aCBPYnNpZGlhbidzIGludGVybmFsIFVSTCBzY2hlbWUuXG4gKlxuICogQHBhcmFtIGlzUHJvZHVjdGlvbkJ1aWxkIC0gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgYnVpbGQgaXMgYSBwcm9kdWN0aW9uIGJ1aWxkLiBUaGUgcGx1Z2luIG9ubHkgcnVucyBpbiBub24tcHJvZHVjdGlvbiBidWlsZHMuXG4gKiBAcGFyYW0gZGlzdFBhdGhzIC0gVGhlIHBhdGhzIHRvIHRoZSBvdXRwdXQgZmlsZXMgY29udGFpbmluZyB0aGUgc291cmNlIG1hcHMuXG4gKiBAcGFyYW0gcGx1Z2luTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBPYnNpZGlhbiBwbHVnaW4sIHVzZWQgdG8gY29uc3RydWN0IHRoZSBPYnNpZGlhbi1zcGVjaWZpYyBVUkxzLlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBmaXhlcyBzb3VyY2UgbWFwcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpeFNvdXJjZU1hcHNQbHVnaW4oaXNQcm9kdWN0aW9uQnVpbGQ6IGJvb2xlYW4sIGRpc3RQYXRoczogc3RyaW5nW10sIHBsdWdpbk5hbWU6IHN0cmluZyk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2ZpeC1zb3VyY2UtbWFwcycsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLm9uRW5kKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKGlzUHJvZHVjdGlvbkJ1aWxkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBkaXN0UGF0aCBvZiBkaXN0UGF0aHMpIHtcbiAgICAgICAgICBpZiAoIWV4aXN0c1N5bmMoZGlzdFBhdGgpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoZGlzdFBhdGgsICd1dGYtOCcpO1xuICAgICAgICAgIGNvbnN0IG5ld0NvbnRlbnQgPSByZXBsYWNlQWxsKFxuICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgIC8oPzxQcmVmaXg+XFxuKD86XFwvXFwvfFxcL1xcKikjIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvblxcL2pzb247YmFzZTY0LCkoPzxTb3VyY2VNYXBCYXNlNjQ+Lis/KSg/PFN1ZmZpeD4kfFxcbnwgXFwqXFwvKSg/Oi58XFxuKSovZyxcbiAgICAgICAgICAgIChfLCBwcmVmaXgsIHNvdXJjZU1hcEJhc2U2NCwgc3VmZml4KTogc3RyaW5nID0+IGAke3ByZWZpeCArIGZpeFNvdXJjZU1hcChzb3VyY2VNYXBCYXNlNjQsIHBsdWdpbk5hbWUpICsgc3VmZml4LnRyaW0oKX1cXG4vKiBub3NvdXJjZW1hcCAqL2BcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKGNvbnRlbnQgIT09IG5ld0NvbnRlbnQpIHtcbiAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShkaXN0UGF0aCwgbmV3Q29udGVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBnaXZlbiBmaWxlIHBhdGggdG8gYW4gT2JzaWRpYW4tc3BlY2lmaWMgVVJMLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIG9yaWdpbmFsIGZpbGUgcGF0aC5cbiAqIEBwYXJhbSBwbHVnaW5OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIE9ic2lkaWFuIHBsdWdpbi5cbiAqIEByZXR1cm5zIFRoZSBjb252ZXJ0ZWQgcGF0aCBhcyBhbiBPYnNpZGlhbi1zcGVjaWZpYyBVUkwuXG4gKi9cbmZ1bmN0aW9uIGNvbnZlcnRQYXRoVG9PYnNpZGlhblVybChwYXRoOiBzdHJpbmcsIHBsdWdpbk5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGNvbnZlcnRlZFBhdGggPSByZXBsYWNlQWxsKHRvUG9zaXhQYXRoKHBhdGgpLCAvXig/OlxcLlxcLlxcLykrL2csICcnKTtcbiAgcmV0dXJuIGBhcHA6Ly9vYnNpZGlhbi5tZC9wbHVnaW46JHtwbHVnaW5OYW1lfS8ke2NvbnZlcnRlZFBhdGh9YDtcbn1cblxuLyoqXG4gKiBBZGp1c3RzIHRoZSBwYXRocyBpbiB0aGUgYmFzZTY0LWVuY29kZWQgc291cmNlIG1hcCB0byBiZSBjb21wYXRpYmxlIHdpdGggT2JzaWRpYW4ncyBVUkwgc2NoZW1lLlxuICpcbiAqIEBwYXJhbSBzb3VyY2VNYXBCYXNlNjQgLSBUaGUgYmFzZTY0LWVuY29kZWQgc291cmNlIG1hcCBjb250ZW50LlxuICogQHBhcmFtIHBsdWdpbk5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgT2JzaWRpYW4gcGx1Z2luLCB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgT2JzaWRpYW4tc3BlY2lmaWMgVVJMcy5cbiAqIEByZXR1cm5zIEEgYmFzZTY0LWVuY29kZWQgc3RyaW5nIHdpdGggdGhlIGFkanVzdGVkIHNvdXJjZSBtYXAuXG4gKi9cbmZ1bmN0aW9uIGZpeFNvdXJjZU1hcChzb3VyY2VNYXBCYXNlNjQ6IHN0cmluZywgcGx1Z2luTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgc291cmNlTWFwSnNvbiA9IEJ1ZmZlci5mcm9tKHNvdXJjZU1hcEJhc2U2NCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGYtOCcpO1xuICBjb25zdCBzb3VyY2VNYXAgPSBKU09OLnBhcnNlKHNvdXJjZU1hcEpzb24pIGFzIFBhcnRpYWw8U291cmNlTWFwPjtcbiAgc291cmNlTWFwLnNvdXJjZXMgPSAoc291cmNlTWFwLnNvdXJjZXMgPz8gW10pLm1hcCgocGF0aCkgPT4gY29udmVydFBhdGhUb09ic2lkaWFuVXJsKHBhdGgsIHBsdWdpbk5hbWUpKTtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFVQSxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLGtCQUFrQjtBQUMzQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFlQSxTQUFTLG9CQUFvQixtQkFBNEIsV0FBcUIsWUFBNEI7QUFDL0csU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sTUFBTSxZQUFZO0FBQ3RCLFlBQUksbUJBQW1CO0FBQ3JCO0FBQUEsUUFDRjtBQUVBLG1CQUFXLFlBQVksV0FBVztBQUNoQyxjQUFJLENBQUMsV0FBVyxRQUFRLEdBQUc7QUFDekI7QUFBQSxVQUNGO0FBRUEsZ0JBQU0sVUFBVSxNQUFNLFNBQVMsVUFBVSxPQUFPO0FBQ2hELGdCQUFNLGFBQWE7QUFBQSxZQUNqQjtBQUFBLFlBQ0E7QUFBQSxZQUNBLENBQUMsR0FBRyxRQUFRLGlCQUFpQixXQUFtQixHQUFHLFNBQVMsYUFBYSxpQkFBaUIsVUFBVSxJQUFJLE9BQU8sS0FBSyxDQUFDO0FBQUE7QUFBQSxVQUN2SDtBQUVBLGNBQUksWUFBWSxZQUFZO0FBQzFCLGtCQUFNLFVBQVUsVUFBVSxVQUFVO0FBQUEsVUFDdEM7QUFBQSxRQUNGO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjtBQVNBLFNBQVMseUJBQXlCLE1BQWMsWUFBNEI7QUFDMUUsUUFBTSxnQkFBZ0IsV0FBVyxZQUFZLElBQUksR0FBRyxpQkFBaUIsRUFBRTtBQUN2RSxTQUFPLDRCQUE0QixVQUFVLElBQUksYUFBYTtBQUNoRTtBQVNBLFNBQVMsYUFBYSxpQkFBeUIsWUFBNEI7QUFDekUsUUFBTSxnQkFBZ0IsT0FBTyxLQUFLLGlCQUFpQixRQUFRLEVBQUUsU0FBUyxPQUFPO0FBQzdFLFFBQU0sWUFBWSxLQUFLLE1BQU0sYUFBYTtBQUMxQyxZQUFVLFdBQVcsVUFBVSxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyx5QkFBeUIsTUFBTSxVQUFVLENBQUM7QUFDdEcsU0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVLFNBQVMsQ0FBQyxFQUFFLFNBQVMsUUFBUTtBQUNqRTsiLAogICJuYW1lcyI6IFtdCn0K