From fe11f30c011668563533ce5d8c6dab9af610d584 Mon Sep 17 00:00:00 2001 From: Nystik <236107-Nystik@users.noreply.gitlab.com> Date: Wed, 20 May 2026 20:49:28 +0200 Subject: [PATCH] move shim to new package --- build.js | 20 ++----------------- package-lock.json | 13 +++++++++--- packages/shim/build.js | 20 +++++++++++++++++++ packages/shim/package.json | 14 ++++++++++++- {src/shims => packages/shim/src}/btime.js | 0 .../shim/src}/crypto/create-hash.js | 0 .../shim/src}/crypto/create-hash.test.js | 0 .../shim/src}/crypto/index.js | 0 .../shim/src}/crypto/random-bytes.js | 0 .../shim/src}/crypto/random-uuid.js | 0 .../shim/src}/crypto/scrypt.js | 0 .../shim/src}/css-overrides.js | 0 {src/shims => packages/shim/src}/debug.js | 0 {src/shims => packages/shim/src}/demo.js | 0 .../shim/src}/electron/index.js | 0 .../shim/src}/electron/ipc-renderer.js | 0 .../shim/src}/electron/remote/app.js | 0 .../shim/src}/electron/remote/clipboard.js | 0 .../shim/src}/electron/remote/dialog.js | 0 .../shim/src}/electron/remote/index.js | 0 .../shim/src}/electron/remote/menu.js | 0 .../shim/src}/electron/remote/native-image.js | 0 .../shim/src}/electron/remote/notification.js | 0 .../shim/src}/electron/remote/screen.js | 0 .../shim/src}/electron/remote/session.js | 0 .../shim/src}/electron/remote/shell.js | 0 .../electron/remote/system-preferences.js | 0 .../shim/src}/electron/remote/theme.js | 0 .../shim/src}/electron/remote/window.js | 0 .../shim/src}/electron/web-frame.js | 0 .../shim/src}/fs/constants.js | 0 .../shim/src}/fs/content-cache.js | 0 .../shim/src}/fs/content-cache.test.js | 0 .../shim/src}/fs/echo-guard.js | 0 {src/shims => packages/shim/src}/fs/fd.js | 0 .../shims => packages/shim/src}/fs/fd.test.js | 0 {src/shims => packages/shim/src}/fs/index.js | 0 .../shim/src}/fs/indexer-prefetch.js | 0 .../shim/src}/fs/input-cache.js | 0 .../shim/src}/fs/metadata-cache.js | 0 .../shim/src}/fs/metadata-cache.test.js | 0 .../shim/src}/fs/promises.js | 0 {src/shims => packages/shim/src}/fs/sync.js | 0 .../shim/src}/fs/transforms.js | 0 .../shim/src}/fs/transforms.test.js | 0 .../shim/src}/fs/transport.js | 0 {src/shims => packages/shim/src}/fs/watch.js | 0 .../shim/src}/fs/watcher-client.js | 0 {src/shims => packages/shim/src}/globals.js | 0 {src/shims => packages/shim/src}/init.js | 0 {src/shims => packages/shim/src}/loader.js | 0 .../shim/src}/node/child_process.js | 0 .../shim/src}/node/events.js | 0 {src/shims => packages/shim/src}/node/http.js | 0 {src/shims => packages/shim/src}/node/net.js | 0 {src/shims => packages/shim/src}/node/os.js | 0 {src/shims => packages/shim/src}/node/util.js | 0 {src/shims => packages/shim/src}/node/zlib.js | 0 {src/shims => packages/shim/src}/path.js | 0 {src/shims => packages/shim/src}/process.js | 0 .../shim/src}/request-url.js | 0 {src/shims => packages/shim/src}/require.js | 0 .../shim/src}/ui-registry.js | 0 {src/shims => packages/shim/src}/url.js | 0 {src/shims => packages/shim/src}/workspace.js | 0 server/index.js | 2 +- 66 files changed, 46 insertions(+), 23 deletions(-) create mode 100644 packages/shim/build.js rename {src/shims => packages/shim/src}/btime.js (100%) rename {src/shims => packages/shim/src}/crypto/create-hash.js (100%) rename {src/shims => packages/shim/src}/crypto/create-hash.test.js (100%) rename {src/shims => packages/shim/src}/crypto/index.js (100%) rename {src/shims => packages/shim/src}/crypto/random-bytes.js (100%) rename {src/shims => packages/shim/src}/crypto/random-uuid.js (100%) rename {src/shims => packages/shim/src}/crypto/scrypt.js (100%) rename {src/shims => packages/shim/src}/css-overrides.js (100%) rename {src/shims => packages/shim/src}/debug.js (100%) rename {src/shims => packages/shim/src}/demo.js (100%) rename {src/shims => packages/shim/src}/electron/index.js (100%) rename {src/shims => packages/shim/src}/electron/ipc-renderer.js (100%) rename {src/shims => packages/shim/src}/electron/remote/app.js (100%) rename {src/shims => packages/shim/src}/electron/remote/clipboard.js (100%) rename {src/shims => packages/shim/src}/electron/remote/dialog.js (100%) rename {src/shims => packages/shim/src}/electron/remote/index.js (100%) rename {src/shims => packages/shim/src}/electron/remote/menu.js (100%) rename {src/shims => packages/shim/src}/electron/remote/native-image.js (100%) rename {src/shims => packages/shim/src}/electron/remote/notification.js (100%) rename {src/shims => packages/shim/src}/electron/remote/screen.js (100%) rename {src/shims => packages/shim/src}/electron/remote/session.js (100%) rename {src/shims => packages/shim/src}/electron/remote/shell.js (100%) rename {src/shims => packages/shim/src}/electron/remote/system-preferences.js (100%) rename {src/shims => packages/shim/src}/electron/remote/theme.js (100%) rename {src/shims => packages/shim/src}/electron/remote/window.js (100%) rename {src/shims => packages/shim/src}/electron/web-frame.js (100%) rename {src/shims => packages/shim/src}/fs/constants.js (100%) rename {src/shims => packages/shim/src}/fs/content-cache.js (100%) rename {src/shims => packages/shim/src}/fs/content-cache.test.js (100%) rename {src/shims => packages/shim/src}/fs/echo-guard.js (100%) rename {src/shims => packages/shim/src}/fs/fd.js (100%) rename {src/shims => packages/shim/src}/fs/fd.test.js (100%) rename {src/shims => packages/shim/src}/fs/index.js (100%) rename {src/shims => packages/shim/src}/fs/indexer-prefetch.js (100%) rename {src/shims => packages/shim/src}/fs/input-cache.js (100%) rename {src/shims => packages/shim/src}/fs/metadata-cache.js (100%) rename {src/shims => packages/shim/src}/fs/metadata-cache.test.js (100%) rename {src/shims => packages/shim/src}/fs/promises.js (100%) rename {src/shims => packages/shim/src}/fs/sync.js (100%) rename {src/shims => packages/shim/src}/fs/transforms.js (100%) rename {src/shims => packages/shim/src}/fs/transforms.test.js (100%) rename {src/shims => packages/shim/src}/fs/transport.js (100%) rename {src/shims => packages/shim/src}/fs/watch.js (100%) rename {src/shims => packages/shim/src}/fs/watcher-client.js (100%) rename {src/shims => packages/shim/src}/globals.js (100%) rename {src/shims => packages/shim/src}/init.js (100%) rename {src/shims => packages/shim/src}/loader.js (100%) rename {src/shims => packages/shim/src}/node/child_process.js (100%) rename {src/shims => packages/shim/src}/node/events.js (100%) rename {src/shims => packages/shim/src}/node/http.js (100%) rename {src/shims => packages/shim/src}/node/net.js (100%) rename {src/shims => packages/shim/src}/node/os.js (100%) rename {src/shims => packages/shim/src}/node/util.js (100%) rename {src/shims => packages/shim/src}/node/zlib.js (100%) rename {src/shims => packages/shim/src}/path.js (100%) rename {src/shims => packages/shim/src}/process.js (100%) rename {src/shims => packages/shim/src}/request-url.js (100%) rename {src/shims => packages/shim/src}/require.js (100%) rename {src/shims => packages/shim/src}/ui-registry.js (100%) rename {src/shims => packages/shim/src}/url.js (100%) rename {src/shims => packages/shim/src}/workspace.js (100%) diff --git a/build.js b/build.js index 7b0bbee..c0112e1 100644 --- a/build.js +++ b/build.js @@ -1,25 +1,9 @@ const esbuild = require("esbuild"); const path = require("path"); -const { version: ignisVersion } = require("./package.json"); - 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", - }, - define: { - __IGNIS_VERSION__: JSON.stringify(ignisVersion), - }, - logLevel: "info", - }), + // Build shim-loader.js (delegated to packages/shim) + require("./packages/shim/build.js"), // Build ignis-ui.js (delegated to packages/ui) require("./packages/ui/build.js"), diff --git a/package-lock.json b/package-lock.json index 03d1fc0..75502b0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -574,7 +574,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -2739,7 +2738,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true, "license": "MIT" }, "node_modules/path-key": { @@ -4444,7 +4442,16 @@ }, "packages/shim": { "name": "@ignis/shim", - "version": "0.0.0-internal" + "version": "0.0.0-internal", + "dependencies": { + "@ignis/services": "*", + "@noble/hashes": "^2.2.0", + "pako": "^2.1.0", + "path-browserify": "^1.0.1" + }, + "devDependencies": { + "esbuild": "^0.20.0" + } }, "packages/ui": { "name": "@ignis/ui", diff --git a/packages/shim/build.js b/packages/shim/build.js new file mode 100644 index 0000000..265023c --- /dev/null +++ b/packages/shim/build.js @@ -0,0 +1,20 @@ +const esbuild = require("esbuild"); +const path = require("path"); + +const { version: ignisVersion } = require("../../package.json"); + +module.exports = esbuild.build({ + entryPoints: [path.join(__dirname, "src", "loader.js")], + bundle: true, + outfile: path.join(__dirname, "dist", "shim-loader.js"), + format: "iife", + platform: "browser", + target: ["chrome90"], + alias: { + path: "path-browserify", + }, + define: { + __IGNIS_VERSION__: JSON.stringify(ignisVersion), + }, + logLevel: "info", +}); diff --git a/packages/shim/package.json b/packages/shim/package.json index f72c9f8..5a4759a 100644 --- a/packages/shim/package.json +++ b/packages/shim/package.json @@ -2,5 +2,17 @@ "name": "@ignis/shim", "version": "0.0.0-internal", "private": true, - "main": "src/loader.js" + "main": "src/loader.js", + "scripts": { + "build": "node build.js" + }, + "dependencies": { + "@ignis/services": "*", + "@noble/hashes": "^2.2.0", + "pako": "^2.1.0", + "path-browserify": "^1.0.1" + }, + "devDependencies": { + "esbuild": "^0.20.0" + } } diff --git a/src/shims/btime.js b/packages/shim/src/btime.js similarity index 100% rename from src/shims/btime.js rename to packages/shim/src/btime.js diff --git a/src/shims/crypto/create-hash.js b/packages/shim/src/crypto/create-hash.js similarity index 100% rename from src/shims/crypto/create-hash.js rename to packages/shim/src/crypto/create-hash.js diff --git a/src/shims/crypto/create-hash.test.js b/packages/shim/src/crypto/create-hash.test.js similarity index 100% rename from src/shims/crypto/create-hash.test.js rename to packages/shim/src/crypto/create-hash.test.js diff --git a/src/shims/crypto/index.js b/packages/shim/src/crypto/index.js similarity index 100% rename from src/shims/crypto/index.js rename to packages/shim/src/crypto/index.js diff --git a/src/shims/crypto/random-bytes.js b/packages/shim/src/crypto/random-bytes.js similarity index 100% rename from src/shims/crypto/random-bytes.js rename to packages/shim/src/crypto/random-bytes.js diff --git a/src/shims/crypto/random-uuid.js b/packages/shim/src/crypto/random-uuid.js similarity index 100% rename from src/shims/crypto/random-uuid.js rename to packages/shim/src/crypto/random-uuid.js diff --git a/src/shims/crypto/scrypt.js b/packages/shim/src/crypto/scrypt.js similarity index 100% rename from src/shims/crypto/scrypt.js rename to packages/shim/src/crypto/scrypt.js diff --git a/src/shims/css-overrides.js b/packages/shim/src/css-overrides.js similarity index 100% rename from src/shims/css-overrides.js rename to packages/shim/src/css-overrides.js diff --git a/src/shims/debug.js b/packages/shim/src/debug.js similarity index 100% rename from src/shims/debug.js rename to packages/shim/src/debug.js diff --git a/src/shims/demo.js b/packages/shim/src/demo.js similarity index 100% rename from src/shims/demo.js rename to packages/shim/src/demo.js diff --git a/src/shims/electron/index.js b/packages/shim/src/electron/index.js similarity index 100% rename from src/shims/electron/index.js rename to packages/shim/src/electron/index.js diff --git a/src/shims/electron/ipc-renderer.js b/packages/shim/src/electron/ipc-renderer.js similarity index 100% rename from src/shims/electron/ipc-renderer.js rename to packages/shim/src/electron/ipc-renderer.js diff --git a/src/shims/electron/remote/app.js b/packages/shim/src/electron/remote/app.js similarity index 100% rename from src/shims/electron/remote/app.js rename to packages/shim/src/electron/remote/app.js diff --git a/src/shims/electron/remote/clipboard.js b/packages/shim/src/electron/remote/clipboard.js similarity index 100% rename from src/shims/electron/remote/clipboard.js rename to packages/shim/src/electron/remote/clipboard.js diff --git a/src/shims/electron/remote/dialog.js b/packages/shim/src/electron/remote/dialog.js similarity index 100% rename from src/shims/electron/remote/dialog.js rename to packages/shim/src/electron/remote/dialog.js diff --git a/src/shims/electron/remote/index.js b/packages/shim/src/electron/remote/index.js similarity index 100% rename from src/shims/electron/remote/index.js rename to packages/shim/src/electron/remote/index.js diff --git a/src/shims/electron/remote/menu.js b/packages/shim/src/electron/remote/menu.js similarity index 100% rename from src/shims/electron/remote/menu.js rename to packages/shim/src/electron/remote/menu.js diff --git a/src/shims/electron/remote/native-image.js b/packages/shim/src/electron/remote/native-image.js similarity index 100% rename from src/shims/electron/remote/native-image.js rename to packages/shim/src/electron/remote/native-image.js diff --git a/src/shims/electron/remote/notification.js b/packages/shim/src/electron/remote/notification.js similarity index 100% rename from src/shims/electron/remote/notification.js rename to packages/shim/src/electron/remote/notification.js diff --git a/src/shims/electron/remote/screen.js b/packages/shim/src/electron/remote/screen.js similarity index 100% rename from src/shims/electron/remote/screen.js rename to packages/shim/src/electron/remote/screen.js diff --git a/src/shims/electron/remote/session.js b/packages/shim/src/electron/remote/session.js similarity index 100% rename from src/shims/electron/remote/session.js rename to packages/shim/src/electron/remote/session.js diff --git a/src/shims/electron/remote/shell.js b/packages/shim/src/electron/remote/shell.js similarity index 100% rename from src/shims/electron/remote/shell.js rename to packages/shim/src/electron/remote/shell.js diff --git a/src/shims/electron/remote/system-preferences.js b/packages/shim/src/electron/remote/system-preferences.js similarity index 100% rename from src/shims/electron/remote/system-preferences.js rename to packages/shim/src/electron/remote/system-preferences.js diff --git a/src/shims/electron/remote/theme.js b/packages/shim/src/electron/remote/theme.js similarity index 100% rename from src/shims/electron/remote/theme.js rename to packages/shim/src/electron/remote/theme.js diff --git a/src/shims/electron/remote/window.js b/packages/shim/src/electron/remote/window.js similarity index 100% rename from src/shims/electron/remote/window.js rename to packages/shim/src/electron/remote/window.js diff --git a/src/shims/electron/web-frame.js b/packages/shim/src/electron/web-frame.js similarity index 100% rename from src/shims/electron/web-frame.js rename to packages/shim/src/electron/web-frame.js diff --git a/src/shims/fs/constants.js b/packages/shim/src/fs/constants.js similarity index 100% rename from src/shims/fs/constants.js rename to packages/shim/src/fs/constants.js diff --git a/src/shims/fs/content-cache.js b/packages/shim/src/fs/content-cache.js similarity index 100% rename from src/shims/fs/content-cache.js rename to packages/shim/src/fs/content-cache.js diff --git a/src/shims/fs/content-cache.test.js b/packages/shim/src/fs/content-cache.test.js similarity index 100% rename from src/shims/fs/content-cache.test.js rename to packages/shim/src/fs/content-cache.test.js diff --git a/src/shims/fs/echo-guard.js b/packages/shim/src/fs/echo-guard.js similarity index 100% rename from src/shims/fs/echo-guard.js rename to packages/shim/src/fs/echo-guard.js diff --git a/src/shims/fs/fd.js b/packages/shim/src/fs/fd.js similarity index 100% rename from src/shims/fs/fd.js rename to packages/shim/src/fs/fd.js diff --git a/src/shims/fs/fd.test.js b/packages/shim/src/fs/fd.test.js similarity index 100% rename from src/shims/fs/fd.test.js rename to packages/shim/src/fs/fd.test.js diff --git a/src/shims/fs/index.js b/packages/shim/src/fs/index.js similarity index 100% rename from src/shims/fs/index.js rename to packages/shim/src/fs/index.js diff --git a/src/shims/fs/indexer-prefetch.js b/packages/shim/src/fs/indexer-prefetch.js similarity index 100% rename from src/shims/fs/indexer-prefetch.js rename to packages/shim/src/fs/indexer-prefetch.js diff --git a/src/shims/fs/input-cache.js b/packages/shim/src/fs/input-cache.js similarity index 100% rename from src/shims/fs/input-cache.js rename to packages/shim/src/fs/input-cache.js diff --git a/src/shims/fs/metadata-cache.js b/packages/shim/src/fs/metadata-cache.js similarity index 100% rename from src/shims/fs/metadata-cache.js rename to packages/shim/src/fs/metadata-cache.js diff --git a/src/shims/fs/metadata-cache.test.js b/packages/shim/src/fs/metadata-cache.test.js similarity index 100% rename from src/shims/fs/metadata-cache.test.js rename to packages/shim/src/fs/metadata-cache.test.js diff --git a/src/shims/fs/promises.js b/packages/shim/src/fs/promises.js similarity index 100% rename from src/shims/fs/promises.js rename to packages/shim/src/fs/promises.js diff --git a/src/shims/fs/sync.js b/packages/shim/src/fs/sync.js similarity index 100% rename from src/shims/fs/sync.js rename to packages/shim/src/fs/sync.js diff --git a/src/shims/fs/transforms.js b/packages/shim/src/fs/transforms.js similarity index 100% rename from src/shims/fs/transforms.js rename to packages/shim/src/fs/transforms.js diff --git a/src/shims/fs/transforms.test.js b/packages/shim/src/fs/transforms.test.js similarity index 100% rename from src/shims/fs/transforms.test.js rename to packages/shim/src/fs/transforms.test.js diff --git a/src/shims/fs/transport.js b/packages/shim/src/fs/transport.js similarity index 100% rename from src/shims/fs/transport.js rename to packages/shim/src/fs/transport.js diff --git a/src/shims/fs/watch.js b/packages/shim/src/fs/watch.js similarity index 100% rename from src/shims/fs/watch.js rename to packages/shim/src/fs/watch.js diff --git a/src/shims/fs/watcher-client.js b/packages/shim/src/fs/watcher-client.js similarity index 100% rename from src/shims/fs/watcher-client.js rename to packages/shim/src/fs/watcher-client.js diff --git a/src/shims/globals.js b/packages/shim/src/globals.js similarity index 100% rename from src/shims/globals.js rename to packages/shim/src/globals.js diff --git a/src/shims/init.js b/packages/shim/src/init.js similarity index 100% rename from src/shims/init.js rename to packages/shim/src/init.js diff --git a/src/shims/loader.js b/packages/shim/src/loader.js similarity index 100% rename from src/shims/loader.js rename to packages/shim/src/loader.js diff --git a/src/shims/node/child_process.js b/packages/shim/src/node/child_process.js similarity index 100% rename from src/shims/node/child_process.js rename to packages/shim/src/node/child_process.js diff --git a/src/shims/node/events.js b/packages/shim/src/node/events.js similarity index 100% rename from src/shims/node/events.js rename to packages/shim/src/node/events.js diff --git a/src/shims/node/http.js b/packages/shim/src/node/http.js similarity index 100% rename from src/shims/node/http.js rename to packages/shim/src/node/http.js diff --git a/src/shims/node/net.js b/packages/shim/src/node/net.js similarity index 100% rename from src/shims/node/net.js rename to packages/shim/src/node/net.js diff --git a/src/shims/node/os.js b/packages/shim/src/node/os.js similarity index 100% rename from src/shims/node/os.js rename to packages/shim/src/node/os.js diff --git a/src/shims/node/util.js b/packages/shim/src/node/util.js similarity index 100% rename from src/shims/node/util.js rename to packages/shim/src/node/util.js diff --git a/src/shims/node/zlib.js b/packages/shim/src/node/zlib.js similarity index 100% rename from src/shims/node/zlib.js rename to packages/shim/src/node/zlib.js diff --git a/src/shims/path.js b/packages/shim/src/path.js similarity index 100% rename from src/shims/path.js rename to packages/shim/src/path.js diff --git a/src/shims/process.js b/packages/shim/src/process.js similarity index 100% rename from src/shims/process.js rename to packages/shim/src/process.js diff --git a/src/shims/request-url.js b/packages/shim/src/request-url.js similarity index 100% rename from src/shims/request-url.js rename to packages/shim/src/request-url.js diff --git a/src/shims/require.js b/packages/shim/src/require.js similarity index 100% rename from src/shims/require.js rename to packages/shim/src/require.js diff --git a/src/shims/ui-registry.js b/packages/shim/src/ui-registry.js similarity index 100% rename from src/shims/ui-registry.js rename to packages/shim/src/ui-registry.js diff --git a/src/shims/url.js b/packages/shim/src/url.js similarity index 100% rename from src/shims/url.js rename to packages/shim/src/url.js diff --git a/src/shims/workspace.js b/packages/shim/src/workspace.js similarity index 100% rename from src/shims/workspace.js rename to packages/shim/src/workspace.js diff --git a/server/index.js b/server/index.js index 2d35ea8..0fd8427 100644 --- a/server/index.js +++ b/server/index.js @@ -157,7 +157,7 @@ app.use((req, res, next) => { }); app.use(express.static(path.join(__dirname, "..", "packages", "ui", "dist"))); -app.use(express.static(path.join(__dirname, "..", "dist"))); +app.use(express.static(path.join(__dirname, "..", "packages", "shim", "dist"))); app.use(express.static(config.obsidianAssetsPath));