diff --git a/Dockerfile b/Dockerfile index d3bcf19..7a4cea0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,10 +6,8 @@ WORKDIR /build COPY package.json package-lock.json ./ RUN npm ci --ignore-scripts -COPY build.js build-ui.js ./ -COPY shims/ ./shims/ -COPY services/ ./services/ -COPY ui/ ./ui/ +COPY build.js ./ +COPY src/ ./src/ RUN npm run build diff --git a/build-ui.js b/build-ui.js deleted file mode 100644 index e4e41bb..0000000 --- a/build-ui.js +++ /dev/null @@ -1,17 +0,0 @@ -const esbuild = require("esbuild"); -const sveltePlugin = require("esbuild-svelte"); -const path = require("path"); - -esbuild.build({ - entryPoints: [path.join(__dirname, "ui", "index.js")], - bundle: true, - outfile: path.join(__dirname, "dist", "ignis-ui.js"), - format: "iife", - globalName: "IgnisUI", - platform: "browser", - target: ["chrome90"], - mainFields: ["svelte", "browser", "module", "main"], - conditions: ["svelte", "browser"], - plugins: [sveltePlugin({ compilerOptions: { css: "injected" } })], - logLevel: "info", -}).catch(() => process.exit(1)); diff --git a/build.js b/build.js index fc2acec..789a4f0 100644 --- a/build.js +++ b/build.js @@ -1,15 +1,34 @@ -const esbuild = require('esbuild'); -const path = require('path'); +const esbuild = require("esbuild"); +const sveltePlugin = require("esbuild-svelte"); +const path = require("path"); -esbuild.build({ - entryPoints: [path.join(__dirname, 'shims', 'loader.js')], - bundle: true, - outfile: path.join(__dirname, 'dist', 'shim-loader.js'), - format: 'iife', - platform: 'browser', - target: ['chrome90'], - alias: { - 'path': 'path-browserify', - }, - logLevel: 'info', -}).catch(() => process.exit(1)); +Promise.all([ + // Build shim-loader.js + esbuild.build({ + entryPoints: [path.join(__dirname, "src", "shims", "loader.js")], + bundle: true, + outfile: path.join(__dirname, "dist", "shim-loader.js"), + format: "iife", + platform: "browser", + target: ["chrome90"], + alias: { + path: "path-browserify", + }, + logLevel: "info", + }), + + // Build ignis-ui.js + esbuild.build({ + entryPoints: [path.join(__dirname, "src", "ui", "index.js")], + bundle: true, + outfile: path.join(__dirname, "dist", "ignis-ui.js"), + format: "iife", + globalName: "IgnisUI", + platform: "browser", + target: ["chrome90"], + mainFields: ["svelte", "browser", "module", "main"], + conditions: ["svelte", "browser"], + plugins: [sveltePlugin({ compilerOptions: { css: "injected" } })], + logLevel: "info", + }), +]).catch(() => process.exit(1)); diff --git a/package.json b/package.json index 3199247..30cc8b4 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,10 @@ { "name": "ignis", - "version": "0.1.0", + "version": "0.4.0", "private": true, "description": "An Electron shim and server bridge for running Obsidian in a browser.", "scripts": { - "build:ui": "node build-ui.js", - "build:shims": "node build.js", - "build": "npm run build:ui && npm run build:shims", + "build": "node build.js", "dev:server": "node server/index.js", "dev": "npm run build && npm run dev:server" }, diff --git a/scripts/patch-obsidian.js b/scripts/patch-obsidian.js index 8d6dc75..c11b673 100644 --- a/scripts/patch-obsidian.js +++ b/scripts/patch-obsidian.js @@ -37,15 +37,18 @@ function patchHtml(filePath) { "\n", ); - // Inject ignis assets before the first \n' + - ' \n'; + // Inject favicon into
+ html = html.replace( + "", + ' \n', + ); + // Inject ignis scripts before the first \n' + + '\n' + + '