diff --git a/electron.vite.config.ts b/electron.vite.config.ts index 5a19a2ff..e3e919e8 100644 --- a/electron.vite.config.ts +++ b/electron.vite.config.ts @@ -2,6 +2,7 @@ import { defineConfig, externalizeDepsPlugin } from "electron-vite"; import { resolve } from "path"; import lucidePreprocess from "vite-plugin-lucide-preprocess"; import solid from "vite-plugin-solid"; +import devtools from "solid-devtools/vite"; export default defineConfig({ main: { @@ -16,6 +17,17 @@ export default defineConfig({ "@renderer": resolve("src/renderer/src"), }, }, - plugins: [lucidePreprocess(), solid()], + plugins: [ + lucidePreprocess(), + devtools({ + autoname: true, + locator: { + targetIDE: "vscode", // can also be "webstorm" + componentLocation: true, + jsxLocation: true, + }, + }), + solid(), + ], }, }); diff --git a/package-lock.json b/package-lock.json index ecf8ff48..cc73a97a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,6 +33,8 @@ "@electron/notarize": "^2.5.0", "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.13.0", + "@solid-devtools/logger": "^0.8.4", + "@solid-devtools/overlay": "^0.30.1", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/eslint__eslintrc": "^2.1.2", "@types/eslint__js": "^8.42.3", @@ -49,6 +51,7 @@ "prettier": "^3.3.3", "prettier-plugin-packagejson": "^2.5.3", "prettier-plugin-tailwindcss": "^0.6.8", + "solid-devtools": "^0.30.1", "solid-js": "^1.7.6", "tailwindcss": "^3.4.13", "typescript": "~5.6.3", @@ -267,9 +270,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", "dev": true, "license": "MIT", "engines": { @@ -473,6 +476,22 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.25.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz", @@ -2249,6 +2268,13 @@ "node": ">= 8" } }, + "node_modules/@nothing-but/utils": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@nothing-but/utils/-/utils-0.12.1.tgz", + "integrity": "sha512-1qZU1Q5El0IjE7JT/ucvJNzdr2hL3W8Rm27xNf1p6gb3Nw8pGnZmxp6/GEW9h+I1k1cICxXNq25hBwknTQ7yhg==", + "dev": true, + "license": "MIT" + }, "node_modules/@npmcli/fs": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", @@ -2565,6 +2591,471 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@solid-devtools/debugger": { + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/@solid-devtools/debugger/-/debugger-0.23.4.tgz", + "integrity": "sha512-EfTB1Eo313wztQYGJ4Ec/wE70Ay2d603VCXfT3RlyqO5QfLrQGRHX5NXC07hJpQTJJJ3tbNgzO7+ZKo76MM5uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nothing-but/utils": "~0.12.0", + "@solid-devtools/shared": "^0.13.2", + "@solid-primitives/bounds": "^0.0.118", + "@solid-primitives/cursor": "^0.0.112", + "@solid-primitives/event-bus": "^1.0.8", + "@solid-primitives/event-listener": "^2.3.0", + "@solid-primitives/keyboard": "^1.2.5", + "@solid-primitives/platform": "^0.1.0", + "@solid-primitives/rootless": "^1.4.2", + "@solid-primitives/scheduled": "^1.4.1", + "@solid-primitives/static-store": "^0.0.5", + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.8.0" + } + }, + "node_modules/@solid-devtools/frontend": { + "version": "0.11.5", + "resolved": "https://registry.npmjs.org/@solid-devtools/frontend/-/frontend-0.11.5.tgz", + "integrity": "sha512-nEx6BkDWvTEkrZTswpwJfitrKEuYmisA2GiIfAtRUgIeUUK3Zdz8jllEuAAl75Kt/ZsbR1aHFnpwjf8BvKLXCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nothing-but/utils": "~0.12.0", + "@solid-devtools/debugger": "^0.23.4", + "@solid-devtools/shared": "^0.13.2", + "@solid-devtools/theme": "^0.0.1", + "@solid-primitives/context": "^0.2.1", + "@solid-primitives/cursor": "^0.0.112", + "@solid-primitives/date": "^2.0.18", + "@solid-primitives/event-bus": "^1.0.8", + "@solid-primitives/event-listener": "^2.3.0", + "@solid-primitives/jsx-tokenizer": "^1.0.7", + "@solid-primitives/keyboard": "^1.2.5", + "@solid-primitives/keyed": "^1.2.0", + "@solid-primitives/media": "^2.2.5", + "@solid-primitives/mouse": "^2.0.16", + "@solid-primitives/props": "^3.1.8", + "@solid-primitives/range": "^0.1.15", + "@solid-primitives/resize-observer": "^2.0.22", + "@solid-primitives/scheduled": "^1.4.1", + "@solid-primitives/static-store": "^0.0.5", + "@solid-primitives/styles": "^0.0.111", + "@solid-primitives/timer": "^1.3.7", + "@solid-primitives/utils": "^6.2.1", + "clsx": "^2.0.0", + "solid-headless": "^0.13.1" + }, + "peerDependencies": { + "solid-js": "^1.8.0" + } + }, + "node_modules/@solid-devtools/logger": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@solid-devtools/logger/-/logger-0.8.4.tgz", + "integrity": "sha512-kI9tYMAyY404dtGTfgnsc2iRAM4N8kh4/BABrLp9BJ7I3pHBDRBU9usg3akMATvPjm0ySSKmJtmgKqmRWM3KRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nothing-but/utils": "~0.12.0", + "@solid-devtools/debugger": "^0.23.4", + "@solid-devtools/shared": "^0.13.2", + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.8.0" + } + }, + "node_modules/@solid-devtools/overlay": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/@solid-devtools/overlay/-/overlay-0.30.1.tgz", + "integrity": "sha512-zy4FkE29QN8B7f5y1SFfA9k2baEMfdn8H6LQsNLGvwIeFs6N45NxWKTq7VoHmL0FW7ZDvOU9zp1PYMCLsJblvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nothing-but/utils": "~0.12.0", + "@solid-devtools/debugger": "^0.23.4", + "@solid-devtools/frontend": "^0.11.5", + "@solid-devtools/shared": "^0.13.2", + "@solid-primitives/cursor": "^0.0.112", + "@solid-primitives/event-listener": "^2.3.0", + "@solid-primitives/media": "^2.2.5", + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.8.0" + } + }, + "node_modules/@solid-devtools/shared": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@solid-devtools/shared/-/shared-0.13.2.tgz", + "integrity": "sha512-Y4uaC4EfTVwBR537MZwfaY/eiWAh+hW4mbtnwNuUw/LFmitHSkQhNQTUlLQv/S0chtwrYWQBxvXos1dC7e8R9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/event-bus": "^1.0.8", + "@solid-primitives/event-listener": "^2.3.0", + "@solid-primitives/media": "^2.2.5", + "@solid-primitives/refs": "^1.0.5", + "@solid-primitives/rootless": "^1.4.2", + "@solid-primitives/scheduled": "^1.4.1", + "@solid-primitives/static-store": "^0.0.5", + "@solid-primitives/styles": "^0.0.111", + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.8.0" + } + }, + "node_modules/@solid-devtools/theme": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@solid-devtools/theme/-/theme-0.0.1.tgz", + "integrity": "sha512-10Kky0Ed4S89PFpJfcFsU6cc3ckNPTAjiEGYYoBdfaekvvAibdWllkbKhiDngPkwFUY8BpSi5ZLMlBPBxrxgLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nothing-but/utils": "~0.12.0" + } + }, + "node_modules/@solid-primitives/bounds": { + "version": "0.0.118", + "resolved": "https://registry.npmjs.org/@solid-primitives/bounds/-/bounds-0.0.118.tgz", + "integrity": "sha512-Qj42w8LlnhJ3r/t+t0c0vrdwIvvQMPgjEFGmLiwREaA85ojLbgL9lSBq2tKvljeLCvRVkgj10KEUf+vc99VCIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/event-listener": "^2.3.0", + "@solid-primitives/resize-observer": "^2.0.22", + "@solid-primitives/static-store": "^0.0.5", + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/context": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@solid-primitives/context/-/context-0.2.3.tgz", + "integrity": "sha512-6/e8qu9qJf48FJ+sxc/B782NdgFw5TvI8+r6U0gHizumfZcWZg8FAJqvRZAiwlygkUNiTQOGTeO10LVbMm0kvg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/cursor": { + "version": "0.0.112", + "resolved": "https://registry.npmjs.org/@solid-primitives/cursor/-/cursor-0.0.112.tgz", + "integrity": "sha512-TAtU7qD7ipSLSXHnq8FhhosAPVX+dnOCb/ITcGcLlj8e/C9YKcxDhgBHJ3R/d1xDRb5/vO/szJtEz6fnQD311Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/date": { + "version": "2.0.24", + "resolved": "https://registry.npmjs.org/@solid-primitives/date/-/date-2.0.24.tgz", + "integrity": "sha512-+oTYwjQVfBnKhMeiC9kid7s0i3wLcF+epnXYscE5N4raBoBie+coQPw8zsF2ZZUSh45FG1n4tf/WhddoUSTswg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/memo": "^1.3.10", + "@solid-primitives/timer": "^1.3.10", + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/event-bus": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@solid-primitives/event-bus/-/event-bus-1.0.11.tgz", + "integrity": "sha512-bSwVA4aI2aNHomSbEroUnisMSyDDXJbrw4U8kFEvrcYdlLrJX5i6QeCFx+vj/zdQQw62KAllrEIyWP8KMpPVnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/event-listener": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@solid-primitives/event-listener/-/event-listener-2.3.3.tgz", + "integrity": "sha512-DAJbl+F0wrFW2xmcV8dKMBhk9QLVLuBSW+TR4JmIfTaObxd13PuL7nqaXnaYKDWOYa6otB00qcCUIGbuIhSUgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/jsx-tokenizer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@solid-primitives/jsx-tokenizer/-/jsx-tokenizer-1.0.10.tgz", + "integrity": "sha512-OziPOhJcVneuEwuC4Ys2atePcBhXZK00h93Tg+dGw5GUijB8hvP97qXZ9Q8oNai0FCInlGUOYQnOgM9piBoSMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/keyboard": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@solid-primitives/keyboard/-/keyboard-1.2.8.tgz", + "integrity": "sha512-pJtcbkjozS6L1xvTht9rPpyPpX55nAkfBzbFWdf3y0Suwh6qClTibvvObzKOf7uzQ+8aZRDH4LsoGmbTKXtJjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/event-listener": "^2.3.3", + "@solid-primitives/rootless": "^1.4.5", + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/keyed": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@solid-primitives/keyed/-/keyed-1.2.3.tgz", + "integrity": "sha512-Tlm2wCKcXEVxqd1speWjPhGvDhuuo/VeWSvNF6r2h77BUOHRKmNwz9uVKKMQmYSaLwiptJTp+fPZY2dOVPWQRQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/media": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/@solid-primitives/media/-/media-2.2.9.tgz", + "integrity": "sha512-QUmU62D4/d9YWx/4Dvr/UZasIkIpqNXz7wosA5GLmesRW9XlPa3G5M6uOmTw73SByHNTCw0D6x8bSdtvvLgzvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/event-listener": "^2.3.3", + "@solid-primitives/rootless": "^1.4.5", + "@solid-primitives/static-store": "^0.0.8", + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/media/node_modules/@solid-primitives/static-store": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@solid-primitives/static-store/-/static-store-0.0.8.tgz", + "integrity": "sha512-ZecE4BqY0oBk0YG00nzaAWO5Mjcny8Fc06CdbXadH9T9lzq/9GefqcSe/5AtdXqjvY/DtJ5C6CkcjPZO0o/eqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/memo": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@solid-primitives/memo/-/memo-1.3.10.tgz", + "integrity": "sha512-S4cNjjKINVC4KiY3ovP1oagbTVQI77VvSRMNsInFIi7T4hM/N5InJk5k+W0zD4lt+SUYrWF04BMbZyMy17vfUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/scheduled": "^1.4.4", + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/mouse": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/@solid-primitives/mouse/-/mouse-2.0.20.tgz", + "integrity": "sha512-U+oQId1T6IyTaEfEWMYLS8RHqhB0izG9D9suMvKLypmDA6ygiQezYON1HddZxdeapY89LKeAKsBMpJBw/89Rvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/event-listener": "^2.3.3", + "@solid-primitives/rootless": "^1.4.5", + "@solid-primitives/static-store": "^0.0.8", + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/mouse/node_modules/@solid-primitives/static-store": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@solid-primitives/static-store/-/static-store-0.0.8.tgz", + "integrity": "sha512-ZecE4BqY0oBk0YG00nzaAWO5Mjcny8Fc06CdbXadH9T9lzq/9GefqcSe/5AtdXqjvY/DtJ5C6CkcjPZO0o/eqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/platform": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@solid-primitives/platform/-/platform-0.1.2.tgz", + "integrity": "sha512-sSxcZfuUrtxcwV0vdjmGnZQcflACzMfLriVeIIWXKp8hzaS3Or3tO6EFQkTd3L8T5dTq+kTtLvPscXIpL0Wzdg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/props": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/@solid-primitives/props/-/props-3.1.11.tgz", + "integrity": "sha512-jZAKWwvDRHjiydIumDgMj68qviIbowQ1ci7nkEAgzgvanNkhKSQV8iPgR2jMk1uv7S2ZqXYHslVQTgJel/TEyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/range": { + "version": "0.1.18", + "resolved": "https://registry.npmjs.org/@solid-primitives/range/-/range-0.1.18.tgz", + "integrity": "sha512-F5OTdpRFdeLOPEHs92S714GKUk1ZUUmEJ45Z/Z5h6i43DHi7fUFgUL7LeHFxVgIjtGv+Tg5Op7aM9PdSo5iqeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/refs": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@solid-primitives/refs/-/refs-1.0.8.tgz", + "integrity": "sha512-+jIsWG8/nYvhaCoG2Vg6CJOLgTmPKFbaCrNQKWfChalgUf9WrVxWw0CdJb3yX15n5lUcQ0jBo6qYtuVVmBLpBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/resize-observer": { + "version": "2.0.26", + "resolved": "https://registry.npmjs.org/@solid-primitives/resize-observer/-/resize-observer-2.0.26.tgz", + "integrity": "sha512-KbPhwal6ML9OHeUTZszBbt6PYSMj89d4wVCLxlvDYL4U0+p+xlCEaqz6v9dkCwm/0Lb+Wed7W5T1dQZCP3JUUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/event-listener": "^2.3.3", + "@solid-primitives/rootless": "^1.4.5", + "@solid-primitives/static-store": "^0.0.8", + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/resize-observer/node_modules/@solid-primitives/static-store": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@solid-primitives/static-store/-/static-store-0.0.8.tgz", + "integrity": "sha512-ZecE4BqY0oBk0YG00nzaAWO5Mjcny8Fc06CdbXadH9T9lzq/9GefqcSe/5AtdXqjvY/DtJ5C6CkcjPZO0o/eqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/rootless": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@solid-primitives/rootless/-/rootless-1.4.5.tgz", + "integrity": "sha512-GFJE9GC3ojx0aUKqAUZmQPyU8fOVMtnVNrkdk2yS4kd17WqVSpXpoTmo9CnOwA+PG7FTzdIkogvfLQSLs4lrww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/scheduled": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/@solid-primitives/scheduled/-/scheduled-1.4.4.tgz", + "integrity": "sha512-BTGdFP7t+s7RSak+s1u0eTix4lHP23MrbGkgQTFlt1E+4fmnD/bEx3ZfNW7Grylz3GXgKyXrgDKA7jQ/wuWKgA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/static-store": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@solid-primitives/static-store/-/static-store-0.0.5.tgz", + "integrity": "sha512-ssQ+s/wrlFAEE4Zw8GV499yBfvWx7SMm+ZVc11wvao4T5xg9VfXCL9Oa+x4h+vPMvSV/Knv5LrsLiUa+wlJUXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/styles": { + "version": "0.0.111", + "resolved": "https://registry.npmjs.org/@solid-primitives/styles/-/styles-0.0.111.tgz", + "integrity": "sha512-1mBxOGAPXmfD5oYCvqjKBDN7SuNjz2qz7RdH7KtsuNLQh6lpuSKadtHnLvru0Y8Vz1InqTJisBIy/6P5kyDmPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@solid-primitives/rootless": "^1.4.2", + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/timer": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@solid-primitives/timer/-/timer-1.3.10.tgz", + "integrity": "sha512-mCWUKjkw2oPlcT9SDjziDcz2qO4y6JXcSsmtAePKlfz6vUMIuL+Q+FK1NKUkpH+anMoVBGZLsSxI5P2+Y1RHNw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/utils": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@solid-primitives/utils/-/utils-6.2.3.tgz", + "integrity": "sha512-CqAwKb2T5Vi72+rhebSsqNZ9o67buYRdEJrIFzRXz3U59QqezuuxPsyzTSVCacwS5Pf109VRsgCJQoxKRoECZQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", @@ -9125,6 +9616,33 @@ "node": ">= 6.0.0" } }, + "node_modules/solid-devtools": { + "version": "0.30.1", + "resolved": "https://registry.npmjs.org/solid-devtools/-/solid-devtools-0.30.1.tgz", + "integrity": "sha512-axpXL4JV1dnGhuei+nSGS8ewGeNkmIgFDsAlO90YyYY5t8wU1R0aYAQtL+I+5KICLKPBvfkzdcFa2br7AV4lAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.3", + "@babel/plugin-syntax-typescript": "^7.23.3", + "@babel/types": "^7.23.3", + "@solid-devtools/debugger": "^0.23.4", + "@solid-devtools/shared": "^0.13.2" + }, + "peerDependencies": { + "solid-js": "^1.8.0", + "solid-start": "^0.3.0", + "vite": "^2.2.3 || ^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "solid-start": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, "node_modules/solid-focus-trap": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/solid-focus-trap/-/solid-focus-trap-0.1.7.tgz", @@ -9137,6 +9655,22 @@ "solid-js": "^1.8" } }, + "node_modules/solid-headless": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/solid-headless/-/solid-headless-0.13.1.tgz", + "integrity": "sha512-FZJai49YmdBu6oEo8aJGPMQ1Qn8xiW0cnD6vNFDIQWMKJdXEUtDEwz0hTR9aZ7Epq3IkrZs+98E0vNiv1+pZpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "solid-use": "^0.6.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "solid-js": "^1.2" + } + }, "node_modules/solid-js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.9.1.tgz", @@ -9163,6 +9697,19 @@ "solid-js": "^1.3" } }, + "node_modules/solid-use": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/solid-use/-/solid-use-0.6.2.tgz", + "integrity": "sha512-0ShJ5s+4PIN0pJB/BtsQucsZB+xnUeeTGaxErQDu6USn5jygZWXicAtOEvFbI8gv40xE751uY1Tz7Aib9lxL/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "solid-js": "^1.5" + } + }, "node_modules/sort-object-keys": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", diff --git a/package.json b/package.json index a1edf508..1843f393 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,8 @@ "@electron/notarize": "^2.5.0", "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.13.0", + "@solid-devtools/logger": "^0.8.4", + "@solid-devtools/overlay": "^0.30.1", "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/eslint__eslintrc": "^2.1.2", "@types/eslint__js": "^8.42.3", @@ -64,6 +66,7 @@ "prettier": "^3.3.3", "prettier-plugin-packagejson": "^2.5.3", "prettier-plugin-tailwindcss": "^0.6.8", + "solid-devtools": "^0.30.1", "solid-js": "^1.7.6", "tailwindcss": "^3.4.13", "typescript": "~5.6.3", diff --git a/src/renderer/src/main.tsx b/src/renderer/src/main.tsx index 92d817ef..b0930c23 100644 --- a/src/renderer/src/main.tsx +++ b/src/renderer/src/main.tsx @@ -2,5 +2,8 @@ import App from "./App"; import "@renderer/css/global.css"; import "@renderer/css/theme.css"; import { render } from "solid-js/web"; +import { attachDevtoolsOverlay } from "@solid-devtools/overlay"; + +attachDevtoolsOverlay(); render(() => , document.getElementById("root") as HTMLElement); diff --git a/tsconfig.web.json b/tsconfig.web.json index 7d35c740..ea94b35c 100644 --- a/tsconfig.web.json +++ b/tsconfig.web.json @@ -8,6 +8,7 @@ ], "compilerOptions": { "noImplicitAny": true, + "sourceMap": true, "composite": true, "jsxImportSource": "solid-js", "baseUrl": ".",