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