obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
177 lines (163 loc) • 11.3 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 initCjs() {
const globalThisRecord = globalThis;
globalThisRecord['__name'] ??= name;
const originalRequire = require;
if (originalRequire && !originalRequire.__isPatched) {
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
require = Object.assign(
(id) => requirePatched(id),
originalRequire,
{
__isPatched: true
}
);
}
const newFuncs = {
__extractDefault() {
return extractDefault;
},
process() {
const browserProcess = {
browser: true,
cwd() {
return '/';
},
env: {},
platform: 'android'
};
return browserProcess;
}
};
for (const key of Object.keys(newFuncs)) {
globalThisRecord[key] ??= newFuncs[key]?.();
}
function name(obj) {
return obj;
}
function extractDefault(module) {
return module && module.__esModule && 'default' in module ? module.default : module;
}
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
'obsidian',
'@codemirror/autocomplete',
'@codemirror/collab',
'@codemirror/commands',
'@codemirror/language',
'@codemirror/lint',
'@codemirror/search',
'@codemirror/state',
'@codemirror/text',
'@codemirror/view',
'@lezer/common',
'@lezer/lr',
'@lezer/highlight'];
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
'@codemirror/closebrackets',
'@codemirror/comment',
'@codemirror/fold',
'@codemirror/gutter',
'@codemirror/highlight',
'@codemirror/history',
'@codemirror/matchbrackets',
'@codemirror/panel',
'@codemirror/rangeset',
'@codemirror/rectangular-selection',
'@codemirror/stream-parser',
'@codemirror/tooltip'];
function requirePatched(id) {
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
return originalRequire?.(id);
}
// eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unnecessary-condition -- We need access to app here which might not be available yet.
if (globalThis?.app?.isMobile) {
if (id === 'process' || id === 'node:process') {
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
return globalThis.process;
}
} else {
const module = originalRequire?.(id);
if (module) {
return extractDefault(module);
}
}
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
return {};
}
})();
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var ESLint_exports = {};
__export(ESLint_exports, {
lint: () => lint
});
module.exports = __toCommonJS(ESLint_exports);
var import_Debug = require('../../Debug.cjs');
var import_ObsidianPluginRepoPaths = require('../../obsidian/Plugin/ObsidianPluginRepoPaths.cjs');
var import_Path = require('../../Path.cjs');
var import_NodeModules = require('../NodeModules.cjs');
var import_ObsidianDevUtilsRepoPaths = require('../ObsidianDevUtilsRepoPaths.cjs');
var import_Root = require('../Root.cjs');
var __import_meta_url = globalThis["import.meta.url"] ?? (() => {
if (typeof __filename === "string") {
const localRequire = require;
const url = localRequire("node:url");
if (typeof url.pathToFileURL === "function") {
return url.pathToFileURL(__filename).href;
}
}
if (typeof window !== "undefined") {
return window.location.href;
}
return "";
})();
async function lint(shouldFix) {
const configFiles = [
import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.EslintConfigJs,
import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.EslintConfigMjs,
import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.EslintConfigCjs,
import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.EslintConfigTs,
import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.EslintConfigMts,
import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.EslintConfigCts
];
const configFileExist = configFiles.some((configFile) => {
const configFilePath = (0, import_Root.resolvePathFromRootSafe)(configFile);
return (0, import_NodeModules.existsSync)(configFilePath);
});
if (!configFileExist) {
(0, import_Debug.getLibDebugger)("ESLint:lint")("ESLint configuration file not found. Creating default config...");
const packageFolder = (0, import_Root.getRootFolder)((0, import_Path.getFolderName)(__import_meta_url));
if (!packageFolder) {
throw new Error("Package folder not found");
}
await (0, import_NodeModules.cp)(
(0, import_Path.join)(packageFolder, import_ObsidianDevUtilsRepoPaths.ObsidianDevUtilsRepoPaths.Dist, import_ObsidianDevUtilsRepoPaths.ObsidianDevUtilsRepoPaths.EslintConfigMts),
(0, import_Root.resolvePathFromRootSafe)(import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.EslintConfigMts)
);
}
await (0, import_Root.execFromRoot)(["npx", "eslint", ...shouldFix ? ["--fix"] : [], import_ObsidianPluginRepoPaths.ObsidianPluginRepoPaths.CurrentFolder]);
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
lint
});
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL0VTTGludC9FU0xpbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbJ2ltcG9ydC5tZXRhLnVybCddID8/ICgoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIF9fZmlsZW5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsUmVxdWlyZSA9IHJlcXVpcmU7XG4gICAgICAgIGNvbnN0IHVybCA9IGxvY2FsUmVxdWlyZSgnbm9kZTp1cmwnKTtcbiAgICAgICAgaWYgKHR5cGVvZiB1cmwucGF0aFRvRmlsZVVSTCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHJldHVybiB1cmwucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKS5ocmVmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLmhyZWY7XG4gICAgICB9XG5cbiAgICAgIC8vIEZhbGxiYWNrIHRvIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgZW52aXJvbm1lbnQgaXMgdW5rbm93blxuICAgICAgcmV0dXJuICcnO1xuICAgIH0pKCk7XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIExpbnRpbmcgdXRpbGl0eSBmb3IgRVNMaW50IGNvbmZpZ3VyYXRpb24gd2l0aCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgZml4aW5nLlxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgZnVuY3Rpb24gdG8gbGludCBmaWxlcyBiYXNlZCBvbiB0aGUgRVNMaW50IGNvbmZpZ3VyYXRpb24gZGVmaW5lZCBpbiBgZXNsaW50LmNvbmZpZy50c2AuXG4gKiBJdCBjYW4gYXV0b21hdGljYWxseSBmaXggbGludGluZyBpc3N1ZXMgaWYgc3BlY2lmaWVkLCBhbmQgbG9ncyByZXN1bHRzIHRvIHRoZSBjb25zb2xlLlxuICovXG5cbmltcG9ydCB7IGdldExpYkRlYnVnZ2VyIH0gZnJvbSAnLi4vLi4vRGVidWcudHMnO1xuaW1wb3J0IHsgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMgfSBmcm9tICcuLi8uLi9vYnNpZGlhbi9QbHVnaW4vT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMudHMnO1xuaW1wb3J0IHtcbiAgZ2V0Rm9sZGVyTmFtZSxcbiAgam9pblxufSBmcm9tICcuLi8uLi9QYXRoLnRzJztcbmltcG9ydCB7XG4gIGNwLFxuICBleGlzdHNTeW5jXG59IGZyb20gJy4uL05vZGVNb2R1bGVzLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMgfSBmcm9tICcuLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGV4ZWNGcm9tUm9vdCxcbiAgZ2V0Um9vdEZvbGRlcixcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi4vUm9vdC50cyc7XG5cbi8qKlxuICogTGludCB0aGUgcHJvamVjdCB3aXRoIEVTTGludC5cbiAqXG4gKiBAcGFyYW0gc2hvdWxkRml4IC0gV2hldGhlciB0byBmaXggbGludGluZyBpc3N1ZXMgYXV0b21hdGljYWxseS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxpbnQoc2hvdWxkRml4PzogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBjb25maWdGaWxlcyA9IFtcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Fc2xpbnRDb25maWdKcyxcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Fc2xpbnRDb25maWdNanMsXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRXNsaW50Q29uZmlnQ2pzLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkVzbGludENvbmZpZ1RzLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkVzbGludENvbmZpZ010cyxcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Fc2xpbnRDb25maWdDdHNcbiAgXTtcblxuICBjb25zdCBjb25maWdGaWxlRXhpc3QgPSBjb25maWdGaWxlcy5zb21lKChjb25maWdGaWxlKSA9PiB7XG4gICAgY29uc3QgY29uZmlnRmlsZVBhdGggPSByZXNvbHZlUGF0aEZyb21Sb290U2FmZShjb25maWdGaWxlKTtcbiAgICByZXR1cm4gZXhpc3RzU3luYyhjb25maWdGaWxlUGF0aCk7XG4gIH0pO1xuXG4gIGlmICghY29uZmlnRmlsZUV4aXN0KSB7XG4gICAgZ2V0TGliRGVidWdnZXIoJ0VTTGludDpsaW50JykoJ0VTTGludCBjb25maWd1cmF0aW9uIGZpbGUgbm90IGZvdW5kLiBDcmVhdGluZyBkZWZhdWx0IGNvbmZpZy4uLicpO1xuICAgIGNvbnN0IHBhY2thZ2VGb2xkZXIgPSBnZXRSb290Rm9sZGVyKGdldEZvbGRlck5hbWUoaW1wb3J0Lm1ldGEudXJsKSk7XG4gICAgaWYgKCFwYWNrYWdlRm9sZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhY2thZ2UgZm9sZGVyIG5vdCBmb3VuZCcpO1xuICAgIH1cbiAgICBhd2FpdCBjcChcbiAgICAgIGpvaW4ocGFja2FnZUZvbGRlciwgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkVzbGludENvbmZpZ010cyksXG4gICAgICByZXNvbHZlUGF0aEZyb21Sb290U2FmZShPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Fc2xpbnRDb25maWdNdHMpXG4gICAgKTtcbiAgfVxuXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ25weCcsICdlc2xpbnQnLCAuLi4oc2hvdWxkRml4ID8gWyctLWZpeCddIDogW10pLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5DdXJyZW50Rm9sZGVyXSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXlCQSxtQkFBK0I7QUFDL0IscUNBQXdDO0FBQ3hDLGtCQUdPO0FBQ1AseUJBR087QUFDUCx1Q0FBMEM7QUFDMUMsa0JBSU87QUF4Q1AsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFNO0FBQzFELE1BQUksT0FBTyxlQUFlLFVBQVU7QUFDbEMsVUFBTSxlQUFlO0FBQ3JCLFVBQU0sTUFBTSxhQUFhLFVBQVU7QUFDbkMsUUFBSSxPQUFPLElBQUksa0JBQWtCLFlBQVk7QUFDM0MsYUFBTyxJQUFJLGNBQWMsVUFBVSxFQUFFO0FBQUEsSUFDdkM7QUFBQSxFQUNGO0FBRUEsTUFBSSxPQUFPLFdBQVcsYUFBYTtBQUNqQyxXQUFPLE9BQU8sU0FBUztBQUFBLEVBQ3pCO0FBR0EsU0FBTztBQUNULEdBQUc7QUFnQ1AsZUFBc0IsS0FBSyxXQUFvQztBQUM3RCxRQUFNLGNBQWM7QUFBQSxJQUNsQix1REFBd0I7QUFBQSxJQUN4Qix1REFBd0I7QUFBQSxJQUN4Qix1REFBd0I7QUFBQSxJQUN4Qix1REFBd0I7QUFBQSxJQUN4Qix1REFBd0I7QUFBQSxJQUN4Qix1REFBd0I7QUFBQSxFQUMxQjtBQUVBLFFBQU0sa0JBQWtCLFlBQVksS0FBSyxDQUFDLGVBQWU7QUFDdkQsVUFBTSxxQkFBaUIscUNBQXdCLFVBQVU7QUFDekQsZUFBTywrQkFBVyxjQUFjO0FBQUEsRUFDbEMsQ0FBQztBQUVELE1BQUksQ0FBQyxpQkFBaUI7QUFDcEIscUNBQWUsYUFBYSxFQUFFLGlFQUFpRTtBQUMvRixVQUFNLG9CQUFnQiwrQkFBYywyQkFBYyxpQkFBZSxDQUFDO0FBQ2xFLFFBQUksQ0FBQyxlQUFlO0FBQ2xCLFlBQU0sSUFBSSxNQUFNLDBCQUEwQjtBQUFBLElBQzVDO0FBQ0EsY0FBTTtBQUFBLFVBQ0osa0JBQUssZUFBZSwyREFBMEIsTUFBTSwyREFBMEIsZUFBZTtBQUFBLFVBQzdGLHFDQUF3Qix1REFBd0IsZUFBZTtBQUFBLElBQ2pFO0FBQUEsRUFDRjtBQUVBLFlBQU0sMEJBQWEsQ0FBQyxPQUFPLFVBQVUsR0FBSSxZQUFZLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBSSx1REFBd0IsYUFBYSxDQUFDO0FBQzlHOyIsCiAgIm5hbWVzIjogW10KfQo=