obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
59 lines (55 loc) • 5.82 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() {
return '/';
},
env: {},
platform: 'android'
};
globalThis.process = browserProcess;
})();
import { replaceAll } from "../../String.mjs";
import { writeFile } from "../NodeModules.mjs";
import { ObsidianDevUtilsRepoPaths } from "../ObsidianDevUtilsRepoPaths.mjs";
function changeExtensionPlugin(extension) {
return {
name: "change-extension",
setup(build) {
build.onEnd(async (result) => {
for (const file of result.outputFiles ?? []) {
if (!file.path.endsWith(ObsidianDevUtilsRepoPaths.JsExtension) || file.path.endsWith(ObsidianDevUtilsRepoPaths.DjsExtension)) {
continue;
}
const newPath = replaceAll(file.path, /\.js$/g, extension);
let newText = replaceAll(file.text, /require\(["'](?<ImportPath>.+?)["']\)/g, (_, importPath) => {
if (importPath.endsWith(ObsidianDevUtilsRepoPaths.DtsExtension)) {
return "undefined";
}
const fixedImportPath = replaceAll(importPath, /\.ts$/g, extension);
return `require('${fixedImportPath}')`;
});
newText = replaceAll(newText, /from "(?<ImportPath>.+?)"/g, (_, importPath) => {
if (importPath.endsWith(ObsidianDevUtilsRepoPaths.DtsExtension)) {
return "undefined";
}
const fixedImportPath = replaceAll(importPath, /\.ts$/g, extension);
return `from "${fixedImportPath}"`;
});
await writeFile(newPath, newText);
}
});
}
};
}
export {
changeExtensionPlugin
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2VzYnVpbGQvY2hhbmdlRXh0ZW5zaW9uUGx1Z2luLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYW4gZXNidWlsZCBwbHVnaW4gdGhhdCBjaGFuZ2VzIHRoZSBleHRlbnNpb24gb2YgSmF2YVNjcmlwdCBmaWxlcyBhZnRlciB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnLi4vLi4vU3RyaW5nLnRzJztcbmltcG9ydCB7IHdyaXRlRmlsZSB9IGZyb20gJy4uL05vZGVNb2R1bGVzLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMgfSBmcm9tICcuLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgY2hhbmdlcyB0aGUgZXh0ZW5zaW9uIG9mIEphdmFTY3JpcHQgZmlsZXMgYWZ0ZXIgdGhlIGJ1aWxkIHByb2Nlc3MuXG4gKlxuICogQHBhcmFtIGV4dGVuc2lvbiAtIFRoZSBleHRlbnNpb24gdG8gY2hhbmdlIHRoZSBmaWxlcyB0by5cbiAqIEByZXR1cm5zIEFuIGVzYnVpbGQgYFBsdWdpbmAgb2JqZWN0IHRoYXQgaGFuZGxlcyB0aGUgcmVuYW1pbmcgYW5kIG1vZGlmaWNhdGlvbiBvZiBvdXRwdXQgZmlsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGFuZ2VFeHRlbnNpb25QbHVnaW4oZXh0ZW5zaW9uOiBzdHJpbmcpOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdjaGFuZ2UtZXh0ZW5zaW9uJyxcbiAgICBzZXR1cChidWlsZCk6IHZvaWQge1xuICAgICAgYnVpbGQub25FbmQoYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgcmVzdWx0Lm91dHB1dEZpbGVzID8/IFtdKSB7XG4gICAgICAgICAgaWYgKCFmaWxlLnBhdGguZW5kc1dpdGgoT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5Kc0V4dGVuc2lvbikgfHwgZmlsZS5wYXRoLmVuZHNXaXRoKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRGpzRXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbmV3UGF0aCA9IHJlcGxhY2VBbGwoZmlsZS5wYXRoLCAvXFwuanMkL2csIGV4dGVuc2lvbik7XG5cbiAgICAgICAgICBsZXQgbmV3VGV4dCA9IHJlcGxhY2VBbGwoZmlsZS50ZXh0LCAvcmVxdWlyZVxcKFtcIiddKD88SW1wb3J0UGF0aD4uKz8pW1wiJ11cXCkvZywgKF8sIGltcG9ydFBhdGgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbXBvcnRQYXRoLmVuZHNXaXRoKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRHRzRXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGZpeGVkSW1wb3J0UGF0aCA9IHJlcGxhY2VBbGwoaW1wb3J0UGF0aCwgL1xcLnRzJC9nLCBleHRlbnNpb24pO1xuICAgICAgICAgICAgcmV0dXJuIGByZXF1aXJlKCcke2ZpeGVkSW1wb3J0UGF0aH0nKWA7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBuZXdUZXh0ID0gcmVwbGFjZUFsbChuZXdUZXh0LCAvZnJvbSBcIig/PEltcG9ydFBhdGg+Lis/KVwiL2csIChfLCBpbXBvcnRQYXRoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaW1wb3J0UGF0aC5lbmRzV2l0aChPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkR0c0V4dGVuc2lvbikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmaXhlZEltcG9ydFBhdGggPSByZXBsYWNlQWxsKGltcG9ydFBhdGgsIC9cXC50cyQvZywgZXh0ZW5zaW9uKTtcbiAgICAgICAgICAgIHJldHVybiBgZnJvbSBcIiR7Zml4ZWRJbXBvcnRQYXRofVwiYDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZShuZXdQYXRoLCBuZXdUZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsU0FBUyxrQkFBa0I7QUFDM0IsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUyxpQ0FBaUM7QUFRbkMsU0FBUyxzQkFBc0IsV0FBMkI7QUFDL0QsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sTUFBTSxPQUFhO0FBQ2pCLFlBQU0sTUFBTSxPQUFPLFdBQVc7QUFDNUIsbUJBQVcsUUFBUSxPQUFPLGVBQWUsQ0FBQyxHQUFHO0FBQzNDLGNBQUksQ0FBQyxLQUFLLEtBQUssU0FBUywwQkFBMEIsV0FBVyxLQUFLLEtBQUssS0FBSyxTQUFTLDBCQUEwQixZQUFZLEdBQUc7QUFDNUg7QUFBQSxVQUNGO0FBRUEsZ0JBQU0sVUFBVSxXQUFXLEtBQUssTUFBTSxVQUFVLFNBQVM7QUFFekQsY0FBSSxVQUFVLFdBQVcsS0FBSyxNQUFNLDBDQUEwQyxDQUFDLEdBQUcsZUFBZTtBQUMvRixnQkFBSSxXQUFXLFNBQVMsMEJBQTBCLFlBQVksR0FBRztBQUMvRCxxQkFBTztBQUFBLFlBQ1Q7QUFFQSxrQkFBTSxrQkFBa0IsV0FBVyxZQUFZLFVBQVUsU0FBUztBQUNsRSxtQkFBTyxZQUFZLGVBQWU7QUFBQSxVQUNwQyxDQUFDO0FBRUQsb0JBQVUsV0FBVyxTQUFTLDhCQUE4QixDQUFDLEdBQUcsZUFBZTtBQUM3RSxnQkFBSSxXQUFXLFNBQVMsMEJBQTBCLFlBQVksR0FBRztBQUMvRCxxQkFBTztBQUFBLFlBQ1Q7QUFFQSxrQkFBTSxrQkFBa0IsV0FBVyxZQUFZLFVBQVUsU0FBUztBQUNsRSxtQkFBTyxTQUFTLGVBQWU7QUFBQSxVQUNqQyxDQUFDO0FBRUQsZ0JBQU0sVUFBVSxTQUFTLE9BQU87QUFBQSxRQUNsQztBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==