mirror of
https://github.com/Nystik-gh/ignis.git
synced 2026-06-17 04:35:53 +00:00
convert bridge to ESM
This commit is contained in:
@@ -2,5 +2,6 @@
|
||||
"name": "@ignis/bridge",
|
||||
"version": "0.0.0-internal",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"main": "src/main.js"
|
||||
}
|
||||
|
||||
@@ -51,4 +51,4 @@ function stopDemoGuards() {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { startDemoGuards, stopDemoGuards, isDemoMode };
|
||||
export { startDemoGuards, stopDemoGuards, isDemoMode };
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const { Notice, TFile, TFolder } = require("obsidian");
|
||||
import { Notice, TFile, TFolder } from "obsidian";
|
||||
|
||||
function getVaultId() {
|
||||
return window.__currentVaultId || "";
|
||||
@@ -92,4 +92,4 @@ function addFolderMenuItems(menu, folder, app) {
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = { showFilePicker, addFileMenuItems, addFolderMenuItems };
|
||||
export { showFilePicker, addFileMenuItems, addFolderMenuItems };
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
const { Plugin, TFile, TFolder } = require("obsidian");
|
||||
const {
|
||||
import { Plugin, TFile, TFolder } from "obsidian";
|
||||
import {
|
||||
showFilePicker,
|
||||
addFileMenuItems,
|
||||
addFolderMenuItems,
|
||||
} = require("./file-actions");
|
||||
const {
|
||||
} from "./file-actions.js";
|
||||
import {
|
||||
patchSettingsModal,
|
||||
unpatchSettingsModal,
|
||||
} = require("./settings/inject");
|
||||
const pluginRegistry = require("./plugin-registry");
|
||||
const { initStatusBar } = require("./status-bar");
|
||||
const { WorkspacePickerModal } = require("./workspace-picker");
|
||||
const { startDemoGuards, stopDemoGuards } = require("./demo-guards");
|
||||
} from "./settings/inject.js";
|
||||
import * as pluginRegistry from "./plugin-registry.js";
|
||||
import { initStatusBar } from "./status-bar.js";
|
||||
import { WorkspacePickerModal } from "./workspace-picker.js";
|
||||
import { startDemoGuards, stopDemoGuards } from "./demo-guards.js";
|
||||
|
||||
class IgnisBridgePlugin extends Plugin {
|
||||
async onload() {
|
||||
@@ -65,4 +65,4 @@ class IgnisBridgePlugin extends Plugin {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = IgnisBridgePlugin;
|
||||
export default IgnisBridgePlugin;
|
||||
|
||||
@@ -34,4 +34,4 @@ function getKnownIds() {
|
||||
return knownIds;
|
||||
}
|
||||
|
||||
module.exports = { refresh, isIgnisPlugin, addId, getKnownIds };
|
||||
export { refresh, isIgnisPlugin, addId, getKnownIds };
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const { Setting, Notice } = require("obsidian");
|
||||
const { isDemoMode } = require("../demo-guards");
|
||||
const { stripBuildMetadata, isNewer } = require("../util/version");
|
||||
const { ListEditorModal } = require("./list-editor-modal");
|
||||
import { Setting, Notice } from "obsidian";
|
||||
import { isDemoMode } from "../demo-guards.js";
|
||||
import { stripBuildMetadata, isNewer } from "../util/version.js";
|
||||
import { ListEditorModal } from "./list-editor-modal.js";
|
||||
|
||||
const GITHUB_URL = "https://github.com/Nystik-gh/ignis";
|
||||
const GITHUB_API_LATEST =
|
||||
@@ -353,4 +353,4 @@ function listField(containerEl, { name, desc, value, key, app, modal }) {
|
||||
return setting;
|
||||
}
|
||||
|
||||
module.exports = { display };
|
||||
export { display };
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
const generalTab = require("./general-tab");
|
||||
const serverPluginsTab = require("./server-plugins-tab");
|
||||
const { createNavEl, createTab, createGroup } = require("./settings-ui");
|
||||
const {
|
||||
import * as generalTab from "./general-tab.js";
|
||||
import * as serverPluginsTab from "./server-plugins-tab.js";
|
||||
import { createNavEl, createTab, createGroup } from "./settings-ui.js";
|
||||
import {
|
||||
allIgnisNavEls,
|
||||
setupPluginTabs,
|
||||
reconcilePluginTabs,
|
||||
hideIgnisFromCommunityPlugins,
|
||||
restoreCommunityPlugins,
|
||||
clearOwnedPluginIds,
|
||||
} = require("./plugin-tabs");
|
||||
} from "./plugin-tabs.js";
|
||||
|
||||
function removeExistingIgnisGroups(tabHeadersEl) {
|
||||
const groups = tabHeadersEl.querySelectorAll(".vertical-tab-header-group");
|
||||
@@ -139,4 +139,4 @@ function unpatchSettingsModal(plugin) {
|
||||
clearOwnedPluginIds();
|
||||
}
|
||||
|
||||
module.exports = { patchSettingsModal, unpatchSettingsModal, reconcilePluginTabs };
|
||||
export { patchSettingsModal, unpatchSettingsModal, reconcilePluginTabs };
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const { Modal, Setting, Notice } = require("obsidian");
|
||||
import { Modal, Setting, Notice } from "obsidian";
|
||||
|
||||
// Modal editor for a list of string entries (the proxy host allowlist).
|
||||
class ListEditorModal extends Modal {
|
||||
@@ -131,4 +131,4 @@ class ListEditorModal extends Modal {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { ListEditorModal };
|
||||
export { ListEditorModal };
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const { setIcon } = require("obsidian");
|
||||
const { findGroupByTitle } = require("./settings-ui");
|
||||
const { isIgnisPlugin } = require("../plugin-registry");
|
||||
import { setIcon } from "obsidian";
|
||||
import { findGroupByTitle } from "./settings-ui.js";
|
||||
import { isIgnisPlugin } from "../plugin-registry.js";
|
||||
|
||||
// All ignis-managed nav elements (both Ignis group and Ignis Core Plugins group).
|
||||
// Shared with inject.js so the openTab patch can manage is-active across all of them.
|
||||
@@ -232,7 +232,7 @@ function clearOwnedPluginIds() {
|
||||
ownedPluginIds.clear();
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
export {
|
||||
allIgnisNavEls,
|
||||
setupPluginTabs,
|
||||
reconcilePluginTabs,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const { Setting, Notice } = require("obsidian");
|
||||
const { reconcilePluginTabs } = require("./plugin-tabs");
|
||||
import { Setting, Notice } from "obsidian";
|
||||
import { reconcilePluginTabs } from "./plugin-tabs.js";
|
||||
|
||||
function getVaultId() {
|
||||
return window.__currentVaultId || "";
|
||||
@@ -94,4 +94,4 @@ function display(containerEl, app) {
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = { display };
|
||||
export { display };
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const { setIcon } = require("obsidian");
|
||||
import { setIcon } from "obsidian";
|
||||
|
||||
function createNavEl(tab, setting) {
|
||||
const nav = document.createElement("div");
|
||||
@@ -86,4 +86,4 @@ function findGroupByTitle(tabHeadersEl, title) {
|
||||
return null;
|
||||
}
|
||||
|
||||
module.exports = { createNavEl, createTab, createGroup, findGroupByTitle };
|
||||
export { createNavEl, createTab, createGroup, findGroupByTitle };
|
||||
|
||||
@@ -32,4 +32,4 @@ function initStatusBar(plugin) {
|
||||
return ws.onStateChange(render);
|
||||
}
|
||||
|
||||
module.exports = { initStatusBar };
|
||||
export { initStatusBar };
|
||||
|
||||
@@ -36,4 +36,4 @@ function isNewer(latest, current) {
|
||||
return false;
|
||||
}
|
||||
|
||||
module.exports = { stripBuildMetadata, parseSemver, isNewer };
|
||||
export { stripBuildMetadata, parseSemver, isNewer };
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import { describe, it, expect } from "vitest";
|
||||
import { createRequire } from "module";
|
||||
|
||||
const require = createRequire(import.meta.url);
|
||||
const { stripBuildMetadata, isNewer } = require("./version.js");
|
||||
import { stripBuildMetadata, isNewer } from "./version.js";
|
||||
|
||||
describe("isNewer", () => {
|
||||
it("is true when latest is strictly newer", () => {
|
||||
@@ -1,4 +1,4 @@
|
||||
const { FuzzySuggestModal } = require("obsidian");
|
||||
import { FuzzySuggestModal } from "obsidian";
|
||||
|
||||
class WorkspacePickerModal extends FuzzySuggestModal {
|
||||
constructor(app) {
|
||||
@@ -29,4 +29,4 @@ class WorkspacePickerModal extends FuzzySuggestModal {
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { WorkspacePickerModal };
|
||||
export { WorkspacePickerModal };
|
||||
|
||||
@@ -52,7 +52,7 @@ if (window.__currentVaultId) {
|
||||
|
||||
extractObsidianModule()
|
||||
.then(async () => {
|
||||
// Dynamic import so bridge's top-level require("obsidian") fires after installRequire + extractObsidianModule.
|
||||
// Dynamic import so the bridge's top-level obsidian import resolves after installRequire + extractObsidianModule.
|
||||
const mod = await import("@ignis/bridge");
|
||||
const IgnisBridgePlugin = mod.default || mod;
|
||||
const bridge = new IgnisBridgePlugin(window.app, BRIDGE_MANIFEST);
|
||||
|
||||
Reference in New Issue
Block a user