diff --git a/.gitignore b/.gitignore index 823cae9..24a2d70 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,5 @@ investigation/ vaults/ packages/*/dist/ packages/bridge-plugin/main.js -server/plugins/*/plugin/main.js +apps/ignis-server/server/plugins/*/plugin/main.js demo-vaults/ diff --git a/Dockerfile b/apps/ignis-server/Dockerfile similarity index 100% rename from Dockerfile rename to apps/ignis-server/Dockerfile diff --git a/docker-compose.yml b/apps/ignis-server/docker-compose.yml similarity index 100% rename from docker-compose.yml rename to apps/ignis-server/docker-compose.yml diff --git a/examples/INSTRUCTIONS.md b/apps/ignis-server/examples/INSTRUCTIONS.md similarity index 100% rename from examples/INSTRUCTIONS.md rename to apps/ignis-server/examples/INSTRUCTIONS.md diff --git a/examples/caddy-authelia/Caddyfile b/apps/ignis-server/examples/caddy-authelia/Caddyfile similarity index 100% rename from examples/caddy-authelia/Caddyfile rename to apps/ignis-server/examples/caddy-authelia/Caddyfile diff --git a/examples/caddy-authelia/authelia/configuration.yml b/apps/ignis-server/examples/caddy-authelia/authelia/configuration.yml similarity index 100% rename from examples/caddy-authelia/authelia/configuration.yml rename to apps/ignis-server/examples/caddy-authelia/authelia/configuration.yml diff --git a/examples/caddy-authelia/authelia/users_database.yml b/apps/ignis-server/examples/caddy-authelia/authelia/users_database.yml similarity index 100% rename from examples/caddy-authelia/authelia/users_database.yml rename to apps/ignis-server/examples/caddy-authelia/authelia/users_database.yml diff --git a/examples/caddy-authelia/docker-compose.yml b/apps/ignis-server/examples/caddy-authelia/docker-compose.yml similarity index 100% rename from examples/caddy-authelia/docker-compose.yml rename to apps/ignis-server/examples/caddy-authelia/docker-compose.yml diff --git a/examples/caddy-basic-auth/Caddyfile b/apps/ignis-server/examples/caddy-basic-auth/Caddyfile similarity index 100% rename from examples/caddy-basic-auth/Caddyfile rename to apps/ignis-server/examples/caddy-basic-auth/Caddyfile diff --git a/examples/caddy-basic-auth/docker-compose.yml b/apps/ignis-server/examples/caddy-basic-auth/docker-compose.yml similarity index 100% rename from examples/caddy-basic-auth/docker-compose.yml rename to apps/ignis-server/examples/caddy-basic-auth/docker-compose.yml diff --git a/examples/demo/README.md b/apps/ignis-server/examples/demo/README.md similarity index 100% rename from examples/demo/README.md rename to apps/ignis-server/examples/demo/README.md diff --git a/examples/demo/docker-compose.yml b/apps/ignis-server/examples/demo/docker-compose.yml similarity index 93% rename from examples/demo/docker-compose.yml rename to apps/ignis-server/examples/demo/docker-compose.yml index c08bf67..2e956cb 100644 --- a/examples/demo/docker-compose.yml +++ b/apps/ignis-server/examples/demo/docker-compose.yml @@ -9,7 +9,8 @@ services: ignis-demo: build: - context: ../.. + context: ../../../.. + dockerfile: apps/ignis-server/Dockerfile ports: - "8080:8080" environment: diff --git a/scripts/entrypoint.sh b/apps/ignis-server/scripts/entrypoint.sh similarity index 100% rename from scripts/entrypoint.sh rename to apps/ignis-server/scripts/entrypoint.sh diff --git a/server/assets/github.svg b/apps/ignis-server/server/assets/github.svg similarity index 100% rename from server/assets/github.svg rename to apps/ignis-server/server/assets/github.svg diff --git a/server/assets/ignis.webp b/apps/ignis-server/server/assets/ignis.webp similarity index 100% rename from server/assets/ignis.webp rename to apps/ignis-server/server/assets/ignis.webp diff --git a/server/assets/index.html b/apps/ignis-server/server/assets/index.html similarity index 100% rename from server/assets/index.html rename to apps/ignis-server/server/assets/index.html diff --git a/server/assets/overrides.css b/apps/ignis-server/server/assets/overrides.css similarity index 100% rename from server/assets/overrides.css rename to apps/ignis-server/server/assets/overrides.css diff --git a/server/bridge-plugin.js b/apps/ignis-server/server/bridge-plugin.js similarity index 94% rename from server/bridge-plugin.js rename to apps/ignis-server/server/bridge-plugin.js index 1202717..a1193cf 100644 --- a/server/bridge-plugin.js +++ b/apps/ignis-server/server/bridge-plugin.js @@ -6,7 +6,7 @@ const { } = require("./plugin-system/obsidian-plugin"); const BRIDGE_PLUGIN_ID = "ignis-bridge"; -const BRIDGE_PLUGIN_DIR = path.join(__dirname, "..", "packages", "bridge-plugin"); +const BRIDGE_PLUGIN_DIR = path.join(__dirname, "..", "..", "..", "packages", "bridge-plugin"); // .ignis metadata helpers diff --git a/server/config.js b/apps/ignis-server/server/config.js similarity index 91% rename from server/config.js rename to apps/ignis-server/server/config.js index dba738f..98645f4 100644 --- a/server/config.js +++ b/apps/ignis-server/server/config.js @@ -1,12 +1,14 @@ const path = require("path"); const fs = require("fs"); +const REPO_ROOT = path.join(__dirname, "..", "..", ".."); + // VAULT_ROOT: a directory that contains vault folders. // Each subdirectory is a vault. New vaults are created as new subdirs. const vaultRoot = - process.env.VAULT_ROOT || path.join(__dirname, "..", "vaults"); + process.env.VAULT_ROOT || path.join(REPO_ROOT, "vaults"); -const dataRoot = process.env.DATA_ROOT || path.join(__dirname, "..", "data"); +const dataRoot = process.env.DATA_ROOT || path.join(REPO_ROOT, "data"); // Ensure required directories exist try { @@ -91,7 +93,7 @@ module.exports = { obsidianAssetsPath: process.env.OBSIDIAN_ASSETS_PATH || - path.join(__dirname, "..", "investigation", "obsidian_1.12.7_unpacked"), + path.join(REPO_ROOT, "investigation", "obsidian_1.12.7_unpacked"), get obsidianVersion() { const assetsPath = diff --git a/server/demo-template/.obsidian/app.json b/apps/ignis-server/server/demo-template/.obsidian/app.json similarity index 100% rename from server/demo-template/.obsidian/app.json rename to apps/ignis-server/server/demo-template/.obsidian/app.json diff --git a/server/demo-template/.obsidian/appearance.json b/apps/ignis-server/server/demo-template/.obsidian/appearance.json similarity index 100% rename from server/demo-template/.obsidian/appearance.json rename to apps/ignis-server/server/demo-template/.obsidian/appearance.json diff --git a/server/demo-template/.obsidian/core-plugins.json b/apps/ignis-server/server/demo-template/.obsidian/core-plugins.json similarity index 100% rename from server/demo-template/.obsidian/core-plugins.json rename to apps/ignis-server/server/demo-template/.obsidian/core-plugins.json diff --git a/server/demo-template/Getting Started.md b/apps/ignis-server/server/demo-template/Getting Started.md similarity index 100% rename from server/demo-template/Getting Started.md rename to apps/ignis-server/server/demo-template/Getting Started.md diff --git a/server/demo-template/Welcome.md b/apps/ignis-server/server/demo-template/Welcome.md similarity index 100% rename from server/demo-template/Welcome.md rename to apps/ignis-server/server/demo-template/Welcome.md diff --git a/server/demo-template/What is Ignis.md b/apps/ignis-server/server/demo-template/What is Ignis.md similarity index 100% rename from server/demo-template/What is Ignis.md rename to apps/ignis-server/server/demo-template/What is Ignis.md diff --git a/server/demo-template/What works.md b/apps/ignis-server/server/demo-template/What works.md similarity index 100% rename from server/demo-template/What works.md rename to apps/ignis-server/server/demo-template/What works.md diff --git a/server/demo/demo-capacity.html b/apps/ignis-server/server/demo/demo-capacity.html similarity index 100% rename from server/demo/demo-capacity.html rename to apps/ignis-server/server/demo/demo-capacity.html diff --git a/server/demo/demo-cleanup.js b/apps/ignis-server/server/demo/demo-cleanup.js similarity index 100% rename from server/demo/demo-cleanup.js rename to apps/ignis-server/server/demo/demo-cleanup.js diff --git a/server/demo/demo-middleware.js b/apps/ignis-server/server/demo/demo-middleware.js similarity index 100% rename from server/demo/demo-middleware.js rename to apps/ignis-server/server/demo/demo-middleware.js diff --git a/server/demo/demo-provision.js b/apps/ignis-server/server/demo/demo-provision.js similarity index 100% rename from server/demo/demo-provision.js rename to apps/ignis-server/server/demo/demo-provision.js diff --git a/server/demo/demo-sessions.js b/apps/ignis-server/server/demo/demo-sessions.js similarity index 100% rename from server/demo/demo-sessions.js rename to apps/ignis-server/server/demo/demo-sessions.js diff --git a/server/demo/demo-ws.js b/apps/ignis-server/server/demo/demo-ws.js similarity index 100% rename from server/demo/demo-ws.js rename to apps/ignis-server/server/demo/demo-ws.js diff --git a/server/demo/index.js b/apps/ignis-server/server/demo/index.js similarity index 100% rename from server/demo/index.js rename to apps/ignis-server/server/demo/index.js diff --git a/server/index.js b/apps/ignis-server/server/index.js similarity index 95% rename from server/index.js rename to apps/ignis-server/server/index.js index 101a050..6f874a9 100644 --- a/server/index.js +++ b/apps/ignis-server/server/index.js @@ -12,6 +12,8 @@ writeCoalescer.configure({ writeCoalesceMs: config.writeCoalesceMs }); const { flushAll } = writeCoalescer; const { setupDemo, wireDemoWebSocket } = require("./demo"); +const REPO_ROOT = path.join(__dirname, "..", "..", ".."); + const ANSI_RED = "\x1b[31m"; const ANSI_YELLOW = "\x1b[33m"; const ANSI_GREEN = "\x1b[32m"; @@ -139,7 +141,7 @@ app.get(["/", "/index.html"], (req, res) => { }); app.get("/favicon.png", (req, res) => { - res.sendFile(path.join(__dirname, "..", "images", "favicon.png")); + res.sendFile(path.join(REPO_ROOT, "images", "favicon.png")); }); // Serve dist files with cache headers based on version param @@ -156,8 +158,8 @@ app.use((req, res, next) => { next(); }); -app.use(express.static(path.join(__dirname, "..", "packages", "ui", "dist"))); -app.use(express.static(path.join(__dirname, "..", "packages", "shim", "dist"))); +app.use(express.static(path.join(REPO_ROOT, "packages", "ui", "dist"))); +app.use(express.static(path.join(REPO_ROOT, "packages", "shim", "dist"))); app.use(express.static(config.obsidianAssetsPath)); diff --git a/server/plugin-system/config-store.js b/apps/ignis-server/server/plugin-system/config-store.js similarity index 100% rename from server/plugin-system/config-store.js rename to apps/ignis-server/server/plugin-system/config-store.js diff --git a/server/plugin-system/discovery.js b/apps/ignis-server/server/plugin-system/discovery.js similarity index 100% rename from server/plugin-system/discovery.js rename to apps/ignis-server/server/plugin-system/discovery.js diff --git a/server/plugin-system/manager.js b/apps/ignis-server/server/plugin-system/manager.js similarity index 100% rename from server/plugin-system/manager.js rename to apps/ignis-server/server/plugin-system/manager.js diff --git a/server/plugin-system/obsidian-plugin.js b/apps/ignis-server/server/plugin-system/obsidian-plugin.js similarity index 100% rename from server/plugin-system/obsidian-plugin.js rename to apps/ignis-server/server/plugin-system/obsidian-plugin.js diff --git a/server/plugins/.gitkeep b/apps/ignis-server/server/plugins/.gitkeep similarity index 100% rename from server/plugins/.gitkeep rename to apps/ignis-server/server/plugins/.gitkeep diff --git a/server/plugins/headless-sync/auth.js b/apps/ignis-server/server/plugins/headless-sync/auth.js similarity index 100% rename from server/plugins/headless-sync/auth.js rename to apps/ignis-server/server/plugins/headless-sync/auth.js diff --git a/server/plugins/headless-sync/broadcaster.js b/apps/ignis-server/server/plugins/headless-sync/broadcaster.js similarity index 100% rename from server/plugins/headless-sync/broadcaster.js rename to apps/ignis-server/server/plugins/headless-sync/broadcaster.js diff --git a/server/plugins/headless-sync/index.js b/apps/ignis-server/server/plugins/headless-sync/index.js similarity index 100% rename from server/plugins/headless-sync/index.js rename to apps/ignis-server/server/plugins/headless-sync/index.js diff --git a/server/plugins/headless-sync/ob-cli.js b/apps/ignis-server/server/plugins/headless-sync/ob-cli.js similarity index 100% rename from server/plugins/headless-sync/ob-cli.js rename to apps/ignis-server/server/plugins/headless-sync/ob-cli.js diff --git a/server/plugins/headless-sync/plugin/manifest.json b/apps/ignis-server/server/plugins/headless-sync/plugin/manifest.json similarity index 100% rename from server/plugins/headless-sync/plugin/manifest.json rename to apps/ignis-server/server/plugins/headless-sync/plugin/manifest.json diff --git a/server/plugins/headless-sync/plugin/src/api.js b/apps/ignis-server/server/plugins/headless-sync/plugin/src/api.js similarity index 100% rename from server/plugins/headless-sync/plugin/src/api.js rename to apps/ignis-server/server/plugins/headless-sync/plugin/src/api.js diff --git a/server/plugins/headless-sync/plugin/src/auth.js b/apps/ignis-server/server/plugins/headless-sync/plugin/src/auth.js similarity index 100% rename from server/plugins/headless-sync/plugin/src/auth.js rename to apps/ignis-server/server/plugins/headless-sync/plugin/src/auth.js diff --git a/server/plugins/headless-sync/plugin/src/core-sync-guard.js b/apps/ignis-server/server/plugins/headless-sync/plugin/src/core-sync-guard.js similarity index 100% rename from server/plugins/headless-sync/plugin/src/core-sync-guard.js rename to apps/ignis-server/server/plugins/headless-sync/plugin/src/core-sync-guard.js diff --git a/server/plugins/headless-sync/plugin/src/log-viewer.js b/apps/ignis-server/server/plugins/headless-sync/plugin/src/log-viewer.js similarity index 100% rename from server/plugins/headless-sync/plugin/src/log-viewer.js rename to apps/ignis-server/server/plugins/headless-sync/plugin/src/log-viewer.js diff --git a/server/plugins/headless-sync/plugin/src/main.js b/apps/ignis-server/server/plugins/headless-sync/plugin/src/main.js similarity index 100% rename from server/plugins/headless-sync/plugin/src/main.js rename to apps/ignis-server/server/plugins/headless-sync/plugin/src/main.js diff --git a/server/plugins/headless-sync/plugin/src/settings-tab.js b/apps/ignis-server/server/plugins/headless-sync/plugin/src/settings-tab.js similarity index 100% rename from server/plugins/headless-sync/plugin/src/settings-tab.js rename to apps/ignis-server/server/plugins/headless-sync/plugin/src/settings-tab.js diff --git a/server/plugins/headless-sync/plugin/src/sync-status-bar.js b/apps/ignis-server/server/plugins/headless-sync/plugin/src/sync-status-bar.js similarity index 100% rename from server/plugins/headless-sync/plugin/src/sync-status-bar.js rename to apps/ignis-server/server/plugins/headless-sync/plugin/src/sync-status-bar.js diff --git a/server/plugins/headless-sync/plugin/src/ws-listener.js b/apps/ignis-server/server/plugins/headless-sync/plugin/src/ws-listener.js similarity index 100% rename from server/plugins/headless-sync/plugin/src/ws-listener.js rename to apps/ignis-server/server/plugins/headless-sync/plugin/src/ws-listener.js diff --git a/server/plugins/headless-sync/plugin/styles.css b/apps/ignis-server/server/plugins/headless-sync/plugin/styles.css similarity index 100% rename from server/plugins/headless-sync/plugin/styles.css rename to apps/ignis-server/server/plugins/headless-sync/plugin/styles.css diff --git a/server/plugins/headless-sync/routes.js b/apps/ignis-server/server/plugins/headless-sync/routes.js similarity index 100% rename from server/plugins/headless-sync/routes.js rename to apps/ignis-server/server/plugins/headless-sync/routes.js diff --git a/server/plugins/headless-sync/sync-manager.js b/apps/ignis-server/server/plugins/headless-sync/sync-manager.js similarity index 100% rename from server/plugins/headless-sync/sync-manager.js rename to apps/ignis-server/server/plugins/headless-sync/sync-manager.js diff --git a/server/routes/bootstrap.js b/apps/ignis-server/server/routes/bootstrap.js similarity index 100% rename from server/routes/bootstrap.js rename to apps/ignis-server/server/routes/bootstrap.js diff --git a/server/routes/fs.js b/apps/ignis-server/server/routes/fs.js similarity index 100% rename from server/routes/fs.js rename to apps/ignis-server/server/routes/fs.js diff --git a/server/routes/fs.test.mjs b/apps/ignis-server/server/routes/fs.test.mjs similarity index 100% rename from server/routes/fs.test.mjs rename to apps/ignis-server/server/routes/fs.test.mjs diff --git a/server/routes/plugins.js b/apps/ignis-server/server/routes/plugins.js similarity index 100% rename from server/routes/plugins.js rename to apps/ignis-server/server/routes/plugins.js diff --git a/server/routes/proxy.js b/apps/ignis-server/server/routes/proxy.js similarity index 100% rename from server/routes/proxy.js rename to apps/ignis-server/server/routes/proxy.js diff --git a/server/routes/vault.js b/apps/ignis-server/server/routes/vault.js similarity index 100% rename from server/routes/vault.js rename to apps/ignis-server/server/routes/vault.js diff --git a/server/routes/version.js b/apps/ignis-server/server/routes/version.js similarity index 100% rename from server/routes/version.js rename to apps/ignis-server/server/routes/version.js diff --git a/server/version.js b/apps/ignis-server/server/version.js similarity index 100% rename from server/version.js rename to apps/ignis-server/server/version.js diff --git a/build.js b/build.js index de86ef8..ee6cc29 100644 --- a/build.js +++ b/build.js @@ -16,6 +16,8 @@ Promise.all([ entryPoints: [ path.join( __dirname, + "apps", + "ignis-server", "server", "plugins", "headless-sync", @@ -27,6 +29,8 @@ Promise.all([ bundle: true, outfile: path.join( __dirname, + "apps", + "ignis-server", "server", "plugins", "headless-sync", diff --git a/package.json b/package.json index 6f7f5ea..9d4dd85 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ ], "scripts": { "build": "node build.js", - "dev:server": "node server/index.js", + "dev:server": "node apps/ignis-server/server/index.js", "dev": "npm run build && npm run dev:server", "test": "vitest run", "test:watch": "vitest"