diff --git a/docs/build-instructions.md b/docs/build-instructions.md new file mode 100644 index 0000000..465e358 --- /dev/null +++ b/docs/build-instructions.md @@ -0,0 +1,16 @@ +# Build Instructions + +## Binaries & Libraries + +### Simple + +Simple is a SQLite3 FTS extension for indexing Chinese, OpenRewind use it to improve searching experience for Chinese users. + +Before building, you need to download latest release of Simple at their [GitHub Release](https://github.com/wangfenjin/simple/releases), +decompress all files in the zip into `[PROJECT_ROOT]/bin/[PLATFORM]/libsimple/`, in which: + +- [PROJECT_ROOT] is the root directory of OpenRewind you pulled. +- [PLATFORM] refers to the specific platform you are targeting: + - win32: Windows + - darwin: macOS + - linux: Linux diff --git a/electron-builder.json b/electron-builder.json index 159644a..a8ff9e4 100644 --- a/electron-builder.json +++ b/electron-builder.json @@ -12,14 +12,17 @@ "output": "dist/release" }, "files": [ - "dist/dev/**/*", - "dist/dev/assets/*", - "dist/dev/i18n/*", + "dist/electron/**/*", + "dist/electron/assets/*", + "dist/electron/i18n/*", "dist/renderer/**/*", "dist/renderer/assets/*" ], "win": { - "target": "nsis" + "target": "nsis", + "files": [ + "bin/win32" + ] }, "linux": { "target": "AppImage" diff --git a/gulpfile.ts b/gulpfile.ts index 9491615..2bd31da 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -1,19 +1,18 @@ import gulp from "gulp"; import ts from "gulp-typescript"; -// @ts-ignore import clean from "gulp-clean"; import fs from "fs"; const tsProject = ts.createProject('tsconfig.json'); gulp.task('clean', function () { - return gulp.src('dist/dev', {read: false, allowEmpty: true}) + return gulp.src('dist/electron', {read: false, allowEmpty: true}) .pipe(clean()); }); gulp.task('scripts', () => { - if (!fs.existsSync("dist/dev")) { - fs.mkdirSync("dist/dev", { recursive: true }); + if (!fs.existsSync("dist/electron")) { + fs.mkdirSync("dist/electron", { recursive: true }); } const tsResult = tsProject.src() .pipe(tsProject()); @@ -21,25 +20,25 @@ gulp.task('scripts', () => { const jsFiles = gulp.src(['src/electron/**/*.js', 'src/electron/**/*.cjs']); return tsResult.js - .pipe(gulp.dest('dist/dev')) + .pipe(gulp.dest('dist/electron')) .on('end', () => { - jsFiles.pipe(gulp.dest('dist/dev')); + jsFiles.pipe(gulp.dest('dist/electron')); }); }); gulp.task('assets', () => { return gulp.src('src/electron/assets/**/*', { encoding: false }) - .pipe(gulp.dest('dist/dev/assets')); + .pipe(gulp.dest('dist/electron/assets')); }); gulp.task('binary', () => { return gulp.src('bin/**/*', { encoding: false }) - .pipe(gulp.dest('dist/dev/bin')); + .pipe(gulp.dest('dist/electron/bin')); }); gulp.task("locales", () => { return gulp.src('i18n/**/*') - .pipe(gulp.dest('dist/dev/i18n')); + .pipe(gulp.dest('dist/electron/i18n')); }) gulp.task('build', gulp.series('clean', 'scripts', 'assets', 'binary', 'locales')); \ No newline at end of file diff --git a/package.json b/package.json index de8eb47..11f60cc 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,23 @@ { "name": "openrewind", - "version": "0.3.0", + "version": "0.3.1", "type": "module", "description": "Your second brain, superpowered.", - "main": "dist/dev/index.js", + "main": "dist/electron/index.js", "scripts": { "dev": "cross-env NODE_ENV=dev bun run dev:all", "dev:all": "concurrently -n=react,electron -c='#ff3e00',blue \"bun run dev:react\" \"bun run dev:electron\"", "dev:react": "vite dev", - "dev:electron": "bunx gulp build && electron dist/dev/index.js", + "dev:electron": "bunx gulp build && electron dist/electron/index.js", "build:react": "vite build", "build:app": "bunx gulp build", - "build:electron": "electron-builder", - "start": "cross-env NODE_ENV=production bun run start:all" + "build:electron": "electron-builder" }, "keywords": [], "author": "", "license": "MIT", "dependencies": { + "@electron/remote": "^2.1.2", "@unly/universal-language-detector": "^2.0.3", "better-sqlite3": "^11.6.0", "electron-context-menu": "^4.0.4", @@ -39,7 +39,8 @@ "react-router-dom": "^7.0.1", "sqlite3": "^5.1.7", "sqlstring": "^2.3.3", - "vite-tsconfig-paths": "^5.1.3" + "vite-tsconfig-paths": "^5.1.3", + "screenshot-desktop": "^1.15.0" }, "devDependencies": { "@electron/rebuild": "^3.7.1", @@ -57,6 +58,7 @@ "cross-env": "^7.0.3", "del": "^8.0.0", "electron": "^33.2.0", + "electron-build": "^0.0.3", "electron-builder": "^25.1.8", "eslint": "^9.13.0", "eslint-plugin-react-hooks": "^5.0.0", @@ -66,7 +68,6 @@ "gulp-clean": "^0.4.0", "gulp-typescript": "6.0.0-alpha.1", "postcss": "^8.4.38", - "screenshot-desktop": "^1.15.0", "tailwindcss": "^3.4.15", "typescript": "~5.6.2", "typescript-eslint": "^8.11.0", diff --git a/pages/settings/index.tsx b/pages/settings/index.tsx index ad5e54a..3eb6df7 100644 --- a/pages/settings/index.tsx +++ b/pages/settings/index.tsx @@ -8,10 +8,59 @@ import Title from "components/settings/Title.tsx"; import OpenSourceNote from "components/settings/OpenSourceNote.tsx"; import EnvironmentDetails from "components/settings/EnvironmentDetails.tsx"; +function showFrame() { + return navigator.userAgent.includes("Mac"); +} + interface SettingsGroupRefs { [key: string]: HTMLDivElement; } +function TitleBar() { + const { t } = useTranslation(); + if (showFrame()) { + return ( +
+ {t("settings.title")} +
+ ); + } else { + return ( +
+
+ {t("settings.title")} +
+
{ + console.log(window.settingsWindow) + window.settingsWindow.close(); + }} + > + + + +
+
+ ); + } +} + export default function SettingsPage() { const { t } = useTranslation(); const [groupRefs, setGroupRefs] = useState({}); @@ -29,18 +78,20 @@ export default function SettingsPage() { const key = groupName as keyof typeof groupRefs; console.log(groupRefs[key]); if (!groupRefs[key]) return; - containerRef.current!.scrollTop = groupRefs[key].getBoundingClientRect().top - + containerRef.current!.scrollTop = + groupRefs[key].getBoundingClientRect().top - titleBarRef.current!.getBoundingClientRect().height; } return ( <> {t("settings.title")} -
-
- {t("settings.title")} -
+
+
-
+
- + <Title i18nKey="settings.screen-recording" /> <div className="flex"> <p>Nothing yet.</p> </div> </SettingsGroup> <SettingsGroup groupName="about" addGroupRef={addGroupRef}> - <Title i18nKey={"settings.about"}/> - <IconWithText/> - <OpenSourceNote/> - <EnvironmentDetails/> + <Title i18nKey={"settings.about"} /> + <IconWithText /> + <OpenSourceNote /> + <EnvironmentDetails /> </SettingsGroup> </div> </> diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4a4f234..dfa6703 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@electron/remote': + specifier: ^2.1.2 + version: 2.1.2(electron@33.2.1) '@unly/universal-language-detector': specifier: ^2.0.3 version: 2.0.3 @@ -120,6 +123,9 @@ importers: electron: specifier: ^33.2.0 version: 33.2.1 + electron-build: + specifier: ^0.0.3 + version: 0.0.3 electron-builder: specifier: ^25.1.8 version: 25.1.8(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)) @@ -300,6 +306,11 @@ packages: engines: {node: '>=12.13.0'} hasBin: true + '@electron/remote@2.1.2': + resolution: {integrity: sha512-EPwNx+nhdrTBxyCqXt/pftoQg/ybtWDW3DUWHafejvnB1ZGGfMpv6e15D8KeempocjXe78T7WreyGGb3mlZxdA==} + peerDependencies: + electron: '>= 13.0.0' + '@electron/universal@2.0.1': resolution: {integrity: sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==} engines: {node: '>=16.4'} @@ -969,6 +980,10 @@ packages: resolution: {integrity: sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==} engines: {node: '>=0.10.0'} + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -977,6 +992,10 @@ packages: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -1071,6 +1090,13 @@ packages: resolution: {integrity: sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==} engines: {node: '>=0.10.0'} + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + + assert-plus@0.2.0: + resolution: {integrity: sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==} + engines: {node: '>=0.8'} + assert-plus@1.0.0: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} @@ -1099,6 +1125,9 @@ packages: resolution: {integrity: sha512-Obu/KE8FurfQRN6ODdHN9LuXqwC+JFIM9NRyZqJJ4ZfLJmIYN9Rg0/kb+wF70VV5+fJusTMQlJ1t5rF7J/ETdg==} engines: {node: '>= 10.13.0'} + async@2.6.4: + resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} + async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} @@ -1119,6 +1148,12 @@ packages: peerDependencies: postcss: ^8.1.0 + aws-sign2@0.6.0: + resolution: {integrity: sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==} + + aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} @@ -1135,6 +1170,9 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + better-sqlite3@11.6.0: resolution: {integrity: sha512-2J6k/eVxcFYY2SsTxsXrj6XylzHWPxveCn4fKPKZFv/Vqn/Cd7lOuX4d7rGQXT5zL+97MkNL3nSbCrIoe3LkgA==} @@ -1145,6 +1183,9 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bl@1.1.2: + resolution: {integrity: sha512-uVVYHEQk+OuWvCi5U+iquVXvvGCWXKawjwELIR2XMLsqfV/e2sGDClVBs8OlGIgGsStPRY/Es311YKYIlYCWAg==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -1161,6 +1202,11 @@ packages: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + boom@2.10.1: + resolution: {integrity: sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==} + engines: {node: '>=0.10.40'} + deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1234,6 +1280,13 @@ packages: caniuse-lite@1.0.30001687: resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==} + caseless@0.11.0: + resolution: {integrity: sha512-ODLXH644w9C2fMPAm7bMDQ3GRvipZWZfKc+8As6hIadRIelE0n0xZuN38NS6kiK3KPEVrpymmQD8bvncAHWQkQ==} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -1304,6 +1357,13 @@ packages: cloneable-readable@1.1.3: resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} + co-prompt@1.0.0: + resolution: {integrity: sha512-uKmEbjDnL9SJTb+TNfIFsATe1F3IsNsR7KDGUG1hq7ColkMV0MSn7dg3eKVS+3wwtyvVqrgfIwi39NOJiknO7Q==} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -1319,6 +1379,10 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + commander@2.9.0: + resolution: {integrity: sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==} + engines: {node: '>= 0.6.x'} + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -1394,6 +1458,11 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + cryptiles@2.0.5: + resolution: {integrity: sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==} + engines: {node: '>=0.10.40'} + deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -1402,6 +1471,10 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + date-time@3.1.0: resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} engines: {node: '>=6'} @@ -1511,11 +1584,18 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + ejs@3.1.10: resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} engines: {node: '>=0.10.0'} hasBin: true + electron-build@0.0.3: + resolution: {integrity: sha512-gJ+Civsa9MfR4TssR1+XiJczYylYGoSD2mFMHcOimRV0JxeHA2bbqYJ1Usb9b61F+QuG6dN+l+wLGh7680zH+A==} + hasBin: true + electron-builder-squirrel-windows@25.1.8: resolution: {integrity: sha512-2ntkJ+9+0GFP6nAISiMabKt6eqBB0kX1QqHNWFWAXgi0VULKGisM46luRFpIBiU3u/TDmhZMM8tzvo2Abn3ayg==} @@ -1621,6 +1701,10 @@ packages: resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} engines: {node: '>=12'} + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1721,6 +1805,10 @@ packages: engines: {node: '>= 10.17.0'} hasBin: true + extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + extsprintf@1.4.1: resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} engines: {'0': node >=0.6.0} @@ -1817,6 +1905,13 @@ packages: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} + forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + + form-data@1.0.1: + resolution: {integrity: sha512-M4Yhq2mLogpCtpUmfopFlTTuIe6mSCTgKvnlMhDj3NcgVhA1uS20jT0n+xunKPzpmL5w2erSVtp+SKiJf1TlWg==} + engines: {node: '>= 0.10'} + form-data@4.0.1: resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} @@ -1871,6 +1966,12 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. + generate-function@2.3.1: + resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} + + generate-object-property@1.2.0: + resolution: {integrity: sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -1895,6 +1996,9 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} + getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} @@ -1984,6 +2088,9 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graceful-readlink@1.0.1: + resolution: {integrity: sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==} + graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -2011,6 +2118,16 @@ packages: resolution: {integrity: sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==} engines: {node: '>= 10.13.0'} + har-validator@2.0.6: + resolution: {integrity: sha512-P6tFV+wCcUL3nbyTDAvveDySfbhy0XkDtAIfZP6HITjM2WUsiPna/Eg1Yy93SFXvahqoX+kt0n+6xlXKDXYowA==} + engines: {node: '>=0.10'} + deprecated: this library is no longer supported + hasBin: true + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -2029,6 +2146,16 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + hawk@3.1.3: + resolution: {integrity: sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==} + engines: {node: '>=0.10.32'} + deprecated: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues. + + hoek@2.16.3: + resolution: {integrity: sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==} + engines: {node: '>=0.10.40'} + deprecated: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial). + homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -2055,6 +2182,10 @@ packages: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} + http-signature@1.1.1: + resolution: {integrity: sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + http2-wrapper@1.0.3: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} @@ -2143,6 +2274,9 @@ packages: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -2210,6 +2344,12 @@ packages: is-lambda@1.0.1: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + is-my-ip-valid@1.0.1: + resolution: {integrity: sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==} + + is-my-json-valid@2.20.6: + resolution: {integrity: sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==} + is-negated-glob@1.0.0: resolution: {integrity: sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==} engines: {node: '>=0.10.0'} @@ -2242,6 +2382,9 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} + is-property@1.0.2: + resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} + is-relative@1.0.0: resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} engines: {node: '>=0.10.0'} @@ -2250,6 +2393,9 @@ packages: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + is-unc-path@1.0.0: resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} engines: {node: '>=0.10.0'} @@ -2291,6 +2437,9 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} + isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} @@ -2310,6 +2459,9 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} @@ -2330,6 +2482,9 @@ packages: json-schema-typed@8.0.1: resolution: {integrity: sha512-XQmWYj2Sm4kn4WeTYvmpKEbyPsL7nBsb647c7pMe6l02/yx2+Jfc4dT6UZkEXnIUb5LhD55r2HPsJ1milQ4rDg==} + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -2347,6 +2502,20 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + + jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + + jszip@2.5.0: + resolution: {integrity: sha512-IRoyf8JSYY3nx+uyh5xPc0qdy8pUDTp2UkHOWYNF/IO/3D8nx7899UlSAjD8rf8wUgOmm0lACWx/GbW3EaxIXQ==} + + keypress@0.2.1: + resolution: {integrity: sha512-HjorDJFNhnM4SicvaUXac0X77NiskggxJdesG72+O5zBKpSqKFCrqmndKVqpu3pFqkla0St6uGk8Ju0sCurrmg==} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -2641,6 +2810,11 @@ packages: node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-uuid@1.4.8: + resolution: {integrity: sha512-TkCET/3rr9mUuRp+CpO7qfgT++aAxfDRaalQhwPFzI9BY/2rCDn6OfpZOVggi1AXfTPpfkTrg5f5WQx5G1uLxA==} + deprecated: Use uuid module instead + hasBin: true + nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} engines: {node: '>=6'} @@ -2684,6 +2858,9 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. + oauth-sign@0.8.2: + resolution: {integrity: sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -2749,6 +2926,9 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -2811,6 +2991,9 @@ packages: resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} engines: {node: '>=12'} + path@0.12.7: + resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} + pe-library@0.4.1: resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==} engines: {node: '>=12', npm: '>=6'} @@ -2829,6 +3012,14 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} + pinkie-promise@2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + + pinkie@2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -2903,9 +3094,20 @@ packages: resolution: {integrity: sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + process-nextick-args@1.0.7: + resolution: {integrity: sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==} + process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress@1.1.8: + resolution: {integrity: sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==} + engines: {node: '>=0.4.0'} + progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} @@ -2931,6 +3133,9 @@ packages: pumpify@1.5.1: resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} + punycode@1.3.2: + resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -2939,6 +3144,23 @@ packages: resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} engines: {node: '>=12.20'} + q@1.4.1: + resolution: {integrity: sha512-/CdEdaw49VZVmyIDGUQKDDT53c7qBkO6g5CefWz91Ae+l4+cRtcDYwMTXh6me4O8TMldeGHG3N2Bl84V78Ywbg==} + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + deprecated: |- + You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) + + qs@6.1.2: + resolution: {integrity: sha512-vkyEo9cSlcgr1xj5n14ykoPWKE36R8wkxK2fQkbGACZNv4zDGFw/juEwFFUs9/APU7DaTMRlRNTYISLPD0Z4Qw==} + engines: {node: '>=0.6'} + + querystring@0.2.0: + resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -3003,6 +3225,9 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + readable-stream@2.0.6: + resolution: {integrity: sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==} + readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -3051,6 +3276,11 @@ packages: resolution: {integrity: sha512-bgEuQQ/BHW0XkkJtawzrfzHFSN70f/3cNOiHa2QsYxqrjaC30X1k74FJ6xswVBP0sr0SpGIdVFuPwfrYziVeyw==} engines: {node: '>= 10.13.0'} + request@2.72.0: + resolution: {integrity: sha512-rQiQ3Eza3HNC+gBlzKxXaPwG1rQIcO0/7TKGIgA9D/obvFK//H+pzkCS4CctQ7aFk6LboTvyFXHMEdf8P4pSxg==} + engines: {node: '>=0.8.0'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -3227,6 +3457,11 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + sntp@1.0.9: + resolution: {integrity: sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==} + engines: {node: '>=0.8.0'} + deprecated: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues. + socks-proxy-agent@6.2.1: resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} engines: {node: '>= 10'} @@ -3276,6 +3511,11 @@ packages: resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} engines: {node: '>= 0.6'} + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + ssri@8.0.1: resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} engines: {node: '>= 8'} @@ -3312,12 +3552,22 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} + string_decoder@0.10.31: + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + stringstream@0.0.6: + resolution: {integrity: sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3350,6 +3600,10 @@ packages: resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} engines: {node: '>= 8.0'} + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -3441,6 +3695,11 @@ packages: resolution: {integrity: sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==} engines: {node: '>=10.13.0'} + tough-cookie@2.2.2: + resolution: {integrity: sha512-Knz9Yr0hlBoWQgUKzOIvRg5adinizAf49i2gHRhj6cLjlM304zRw7uyiY22ADniDxnPHXfIeyQD0EAkgpIz0ow==} + engines: {node: '>=0.10.0'} + deprecated: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130 + tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -3470,12 +3729,18 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tunnel-agent@0.4.3: + resolution: {integrity: sha512-e0IoVDWx8SDHc/hwFTqJDQ7CCDTEeGhmcT9jkWJjoGQSpgBz20nAMr80E3Tpk7PatJ1b37DQDgJR3CNSzcMOZQ==} + tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} turbo-stream@2.4.0: resolution: {integrity: sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==} + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -3571,12 +3836,18 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + url@0.11.0: + resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==} + utf8-byte-length@1.0.5: resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==} util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util@0.10.4: + resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + v8flags@4.0.1: resolution: {integrity: sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==} engines: {node: '>= 10.13.0'} @@ -3589,6 +3860,10 @@ packages: resolution: {integrity: sha512-aeVK81SIuT6aMJfNo9Vte8Dw0/FZINGBV8BfCraGtqVxIeLAEhJyoWs8SmvRVmXfGss2PmmOwZCuBPbZR+IYWg==} engines: {node: '>= 10.13.0'} + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + verror@1.10.1: resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==} engines: {node: '>=0.6.0'} @@ -3981,6 +4256,10 @@ snapshots: - bluebird - supports-color + '@electron/remote@2.1.2(electron@33.2.1)': + dependencies: + electron: 33.2.1 + '@electron/universal@2.0.1': dependencies: '@electron/asar': 3.2.17 @@ -4623,10 +4902,14 @@ snapshots: dependencies: ansi-wrap: 0.1.0 + ansi-regex@2.1.1: {} + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} + ansi-styles@2.2.1: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -4644,7 +4927,7 @@ snapshots: app-builder-bin@5.0.0-alpha.10: {} - app-builder-lib@25.1.8(dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8))(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)): + app-builder-lib@25.1.8(dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)))(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)): dependencies: '@develar/schema-utils': 2.6.5 '@electron/notarize': 2.5.0 @@ -4660,7 +4943,7 @@ snapshots: chromium-pickle-js: 0.2.0 config-file-ts: 0.2.8-rc1 debug: 4.4.0 - dmg-builder: 25.1.8(electron-builder-squirrel-windows@25.1.8) + dmg-builder: 25.1.8(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)) dotenv: 16.4.7 dotenv-expand: 11.0.7 ejs: 3.1.10 @@ -4756,8 +5039,13 @@ snapshots: array-slice@1.1.0: {} - assert-plus@1.0.0: - optional: true + asn1@0.2.6: + dependencies: + safer-buffer: 2.1.2 + + assert-plus@0.2.0: {} + + assert-plus@1.0.0: {} assign-symbols@1.0.0: {} @@ -4783,6 +5071,10 @@ snapshots: dependencies: async-done: 2.0.0 + async@2.6.4: + dependencies: + lodash: 4.17.21 + async@3.2.6: {} asynckit@0.4.0: {} @@ -4804,6 +5096,10 @@ snapshots: postcss: 8.4.49 postcss-value-parser: 4.2.0 + aws-sign2@0.6.0: {} + + aws4@1.13.2: {} + b4a@1.6.7: {} bach@2.0.1: @@ -4819,6 +5115,10 @@ snapshots: base64-js@1.5.1: {} + bcrypt-pbkdf@1.0.2: + dependencies: + tweetnacl: 0.14.5 + better-sqlite3@11.6.0: dependencies: bindings: 1.5.0 @@ -4830,6 +5130,10 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 + bl@1.1.2: + dependencies: + readable-stream: 2.0.6 + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -4851,6 +5155,10 @@ snapshots: boolean@3.2.0: optional: true + boom@2.10.1: + dependencies: + hoek: 2.16.3 + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -4992,6 +5300,16 @@ snapshots: caniuse-lite@1.0.30001687: {} + caseless@0.11.0: {} + + chalk@1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -5066,6 +5384,12 @@ snapshots: process-nextick-args: 2.0.1 readable-stream: 2.3.8 + co-prompt@1.0.0: + dependencies: + keypress: 0.2.1 + + co@4.6.0: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -5078,6 +5402,10 @@ snapshots: dependencies: delayed-stream: 1.0.0 + commander@2.9.0: + dependencies: + graceful-readlink: 1.0.1 + commander@4.1.1: {} commander@5.1.0: {} @@ -5133,8 +5461,7 @@ snapshots: each-props: 3.0.0 is-plain-object: 5.0.0 - core-util-is@1.0.2: - optional: true + core-util-is@1.0.2: {} core-util-is@1.0.3: {} @@ -5160,10 +5487,18 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cryptiles@2.0.5: + dependencies: + boom: 2.10.1 + cssesc@3.0.0: {} csstype@3.1.3: {} + dashdash@1.14.1: + dependencies: + assert-plus: 1.0.0 + date-time@3.1.0: dependencies: time-zone: 1.0.0 @@ -5231,9 +5566,9 @@ snapshots: dlv@1.1.3: {} - dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8): + dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)): dependencies: - app-builder-lib: 25.1.8(dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8))(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)) + app-builder-lib: 25.1.8(dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)))(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)) builder-util: 25.1.7 builder-util-runtime: 9.2.10 fs-extra: 10.1.0 @@ -5288,13 +5623,30 @@ snapshots: eastasianwidth@0.2.0: {} + ecc-jsbn@0.1.2: + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + ejs@3.1.10: dependencies: jake: 10.9.2 + electron-build@0.0.3: + dependencies: + co: 4.6.0 + co-prompt: 1.0.0 + commander: 2.9.0 + jszip: 2.5.0 + path: 0.12.7 + progress: 1.1.8 + q: 1.4.1 + request: 2.72.0 + url: 0.11.0 + electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8): dependencies: - app-builder-lib: 25.1.8(dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8))(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)) + app-builder-lib: 25.1.8(dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)))(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)) archiver: 5.3.2 builder-util: 25.1.7 fs-extra: 10.1.0 @@ -5305,11 +5657,11 @@ snapshots: electron-builder@25.1.8(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)): dependencies: - app-builder-lib: 25.1.8(dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8))(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)) + app-builder-lib: 25.1.8(dmg-builder@25.1.8(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)))(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)) builder-util: 25.1.7 builder-util-runtime: 9.2.10 chalk: 4.1.2 - dmg-builder: 25.1.8(electron-builder-squirrel-windows@25.1.8) + dmg-builder: 25.1.8(electron-builder-squirrel-windows@25.1.8(dmg-builder@25.1.8)) fs-extra: 10.1.0 is-ci: 3.0.1 lazy-val: 1.0.5 @@ -5444,6 +5796,8 @@ snapshots: escape-goat@4.0.0: {} + escape-string-regexp@1.0.5: {} + escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} @@ -5577,8 +5931,9 @@ snapshots: transitivePeerDependencies: - supports-color - extsprintf@1.4.1: - optional: true + extsprintf@1.3.0: {} + + extsprintf@1.4.1: {} fancy-log@1.3.3: dependencies: @@ -5682,6 +6037,14 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 + forever-agent@0.6.1: {} + + form-data@1.0.1: + dependencies: + async: 2.6.4 + combined-stream: 1.0.8 + mime-types: 2.1.35 + form-data@4.0.1: dependencies: asynckit: 0.4.0 @@ -5749,6 +6112,14 @@ snapshots: strip-ansi: 6.0.1 wide-align: 1.1.5 + generate-function@2.3.1: + dependencies: + is-property: 1.0.2 + + generate-object-property@1.2.0: + dependencies: + is-property: 1.0.2 + gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -5775,6 +6146,10 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 + getpass@0.1.7: + dependencies: + assert-plus: 1.0.0 + github-from-package@0.0.0: {} glob-parent@3.1.0: @@ -5914,6 +6289,8 @@ snapshots: graceful-fs@4.2.11: {} + graceful-readlink@1.0.1: {} + graphemer@1.4.0: {} gulp-clean@0.4.0: @@ -5960,6 +6337,17 @@ snapshots: dependencies: glogg: 2.2.0 + har-validator@2.0.6: + dependencies: + chalk: 1.1.3 + commander: 2.9.0 + is-my-json-valid: 2.20.6 + pinkie-promise: 2.0.1 + + has-ansi@2.0.0: + dependencies: + ansi-regex: 2.1.1 + has-flag@4.0.0: {} has-property-descriptors@1.0.2: @@ -5974,6 +6362,15 @@ snapshots: dependencies: function-bind: 1.1.2 + hawk@3.1.3: + dependencies: + boom: 2.10.1 + cryptiles: 2.0.5 + hoek: 2.16.3 + sntp: 1.0.9 + + hoek@2.16.3: {} + homedir-polyfill@1.0.3: dependencies: parse-passwd: 1.0.0 @@ -6012,6 +6409,12 @@ snapshots: transitivePeerDependencies: - supports-color + http-signature@1.1.1: + dependencies: + assert-plus: 0.2.0 + jsprim: 1.4.2 + sshpk: 1.18.0 + http2-wrapper@1.0.3: dependencies: quick-lru: 5.1.1 @@ -6102,6 +6505,8 @@ snapshots: once: 1.4.0 wrappy: 1.0.2 + inherits@2.0.3: {} + inherits@2.0.4: {} ini@1.3.8: {} @@ -6161,6 +6566,16 @@ snapshots: is-lambda@1.0.1: {} + is-my-ip-valid@1.0.1: {} + + is-my-json-valid@2.20.6: + dependencies: + generate-function: 2.3.1 + generate-object-property: 1.2.0 + is-my-ip-valid: 1.0.1 + jsonpointer: 5.0.1 + xtend: 4.0.2 + is-negated-glob@1.0.0: {} is-number@7.0.0: {} @@ -6179,12 +6594,16 @@ snapshots: is-plain-object@5.0.0: {} + is-property@1.0.2: {} + is-relative@1.0.0: dependencies: is-unc-path: 1.0.0 is-stream@4.0.1: {} + is-typedarray@1.0.0: {} + is-unc-path@1.0.0: dependencies: unc-path-regex: 0.1.2 @@ -6209,6 +6628,8 @@ snapshots: isobject@3.0.1: {} + isstream@0.1.2: {} + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 @@ -6230,6 +6651,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsbn@0.1.1: {} + jsbn@1.1.0: {} jsesc@3.0.2: {} @@ -6242,10 +6665,11 @@ snapshots: json-schema-typed@8.0.1: {} + json-schema@0.4.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} - json-stringify-safe@5.0.1: - optional: true + json-stringify-safe@5.0.1: {} json5@2.2.3: {} @@ -6259,6 +6683,21 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonpointer@5.0.1: {} + + jsprim@1.4.2: + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + + jszip@2.5.0: + dependencies: + pako: 0.2.9 + + keypress@0.2.1: {} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -6578,6 +7017,8 @@ snapshots: node-releases@2.0.18: {} + node-uuid@1.4.8: {} + nopt@5.0.0: dependencies: abbrev: 1.1.1 @@ -6617,6 +7058,8 @@ snapshots: gauge: 4.0.4 set-blocking: 2.0.0 + oauth-sign@0.8.2: {} + object-assign@4.1.1: {} object-hash@3.0.0: {} @@ -6692,6 +7135,8 @@ snapshots: package-json-from-dist@1.0.1: {} + pako@0.2.9: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -6735,6 +7180,11 @@ snapshots: path-type@5.0.0: {} + path@0.12.7: + dependencies: + process: 0.11.10 + util: 0.10.4 + pe-library@0.4.1: {} pend@1.2.0: {} @@ -6745,6 +7195,12 @@ snapshots: pify@2.3.0: {} + pinkie-promise@2.0.1: + dependencies: + pinkie: 2.0.4 + + pinkie@2.0.4: {} + pirates@4.0.6: {} plist@3.1.0: @@ -6828,8 +7284,14 @@ snapshots: proc-log@2.0.1: {} + process-nextick-args@1.0.7: {} + process-nextick-args@2.0.1: {} + process@0.11.10: {} + + progress@1.1.8: {} + progress@2.0.3: {} promise-inflight@1.0.1: {} @@ -6855,12 +7317,20 @@ snapshots: inherits: 2.0.4 pump: 2.0.1 + punycode@1.3.2: {} + punycode@2.3.1: {} pupa@3.1.0: dependencies: escape-goat: 4.0.0 + q@1.4.1: {} + + qs@6.1.2: {} + + querystring@0.2.0: {} + queue-microtask@1.2.3: {} queue-tick@1.0.1: {} @@ -6921,6 +7391,15 @@ snapshots: dependencies: pify: 2.3.0 + readable-stream@2.0.6: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 1.0.7 + string_decoder: 0.10.31 + util-deprecate: 1.0.2 + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -6972,6 +7451,30 @@ snapshots: replace-homedir@2.0.0: {} + request@2.72.0: + dependencies: + aws-sign2: 0.6.0 + aws4: 1.13.2 + bl: 1.1.2 + caseless: 0.11.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 1.0.1 + har-validator: 2.0.6 + hawk: 3.1.3 + http-signature: 1.1.1 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + node-uuid: 1.4.8 + oauth-sign: 0.8.2 + qs: 6.1.2 + stringstream: 0.0.6 + tough-cookie: 2.2.2 + tunnel-agent: 0.4.3 + require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -7160,6 +7663,10 @@ snapshots: smart-buffer@4.2.0: {} + sntp@1.0.9: + dependencies: + hoek: 2.16.3 + socks-proxy-agent@6.2.1: dependencies: agent-base: 6.0.2 @@ -7219,6 +7726,18 @@ snapshots: sqlstring@2.3.3: {} + sshpk@1.18.0: + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + ssri@8.0.1: dependencies: minipass: 3.3.6 @@ -7264,6 +7783,8 @@ snapshots: get-east-asian-width: 1.3.0 strip-ansi: 7.1.0 + string_decoder@0.10.31: {} + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -7272,6 +7793,12 @@ snapshots: dependencies: safe-buffer: 5.2.1 + stringstream@0.0.6: {} + + strip-ansi@3.0.1: + dependencies: + ansi-regex: 2.1.1 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -7304,6 +7831,8 @@ snapshots: transitivePeerDependencies: - supports-color + supports-color@2.0.0: {} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -7437,6 +7966,8 @@ snapshots: dependencies: streamx: 2.21.0 + tough-cookie@2.2.2: {} + tree-kill@1.2.2: {} truncate-utf8-bytes@1.0.2: @@ -7455,12 +7986,16 @@ snapshots: tslib@2.8.1: {} + tunnel-agent@0.4.3: {} + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 turbo-stream@2.4.0: {} + tweetnacl@0.14.5: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -7546,16 +8081,31 @@ snapshots: dependencies: punycode: 2.3.1 + url@0.11.0: + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + utf8-byte-length@1.0.5: {} util-deprecate@1.0.2: {} + util@0.10.4: + dependencies: + inherits: 2.0.3 + v8flags@4.0.1: {} value-or-function@3.0.0: {} value-or-function@4.0.0: {} + verror@1.10.0: + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.4.1 + verror@1.10.1: dependencies: assert-plus: 1.0.0 diff --git a/src/electron/assets/icon.ico b/src/electron/assets/icon.ico new file mode 100644 index 0000000..0c145a3 Binary files /dev/null and b/src/electron/assets/icon.ico differ diff --git a/src/electron/assets/icon.png b/src/electron/assets/icon.png new file mode 100644 index 0000000..76b5540 Binary files /dev/null and b/src/electron/assets/icon.png differ diff --git a/src/electron/backend/init.ts b/src/electron/backend/init.ts index a0bddbf..d7043ca 100644 --- a/src/electron/backend/init.ts +++ b/src/electron/backend/init.ts @@ -3,8 +3,17 @@ import Database from "better-sqlite3"; import { __dirname } from "../dirname.js"; import { getDatabasePath } from "../utils/backend.js"; -function getLibSimpleExtensionPath(): string { - return path.join(__dirname, "bin", process.platform, "libsimple/libsimple.dylib"); +function getLibSimpleExtensionPath() { + switch (process.platform) { + case "win32": + return path.join(__dirname, "bin", process.platform, "libsimple", "simple.dll"); + case "darwin": + return path.join(__dirname, "bin", process.platform, "libsimple", "libsimple.dylib"); + case "linux": + return path.join(__dirname, "bin", process.platform, "libsimple", "libsimple.so"); + default: + throw new Error("Unsupported platform"); + } } export function initDatabase() { diff --git a/src/electron/createWindow.ts b/src/electron/createWindow.ts index 8f513aa..9883209 100644 --- a/src/electron/createWindow.ts +++ b/src/electron/createWindow.ts @@ -2,6 +2,7 @@ import { app, BrowserWindow, screen } from "electron"; import { join } from "path"; import { __dirname } from "./dirname.js"; import windowStateManager from "electron-window-state"; +import { hideDock, showDock } from "./utils/electron.js"; function loadURL(window: BrowserWindow, path = "", vitePort: string) { const dev = !app.isPackaged; @@ -24,6 +25,21 @@ export function createSettingsWindow(vitePort: string, closeCallBack: Function) defaultWidth: 650, defaultHeight: 550 }); + const enableFrame = process.platform === "darwin"; + let icon + switch (process.platform) { + case "darwin": + icon = undefined; + break; + case "win32": + icon = join(__dirname, "assets/icon.ico"); + break; + case "linux": + icon = join(__dirname, "assets/icon.png"); + break; + default: + icon = undefined; + } const window = new BrowserWindow({ width: 650, height: 550, @@ -35,10 +51,12 @@ export function createSettingsWindow(vitePort: string, closeCallBack: Function) titleBarStyle: "hiddenInset", resizable: false, show: false, + frame: enableFrame, + icon: icon, }); windowState.manage(window); window.on("show", () => { - app.dock.show(); + showDock(); }); window.on("close", (e) => { window.hide(); @@ -47,7 +65,7 @@ export function createSettingsWindow(vitePort: string, closeCallBack: Function) }); window.once("close", () => { window.hide(); - app.dock.hide(); + hideDock(); }); loadURL(window, "settings", vitePort); return window; diff --git a/src/electron/index.ts b/src/electron/index.ts index 051e229..1cf1081 100644 --- a/src/electron/index.ts +++ b/src/electron/index.ts @@ -1,4 +1,4 @@ -import { app, BrowserWindow, globalShortcut, Menu, nativeImage, screen, Tray } from "electron"; +import { app, BrowserWindow, globalShortcut, ipcMain, Menu, nativeImage, screen, Tray } from "electron"; import contextMenu from "electron-context-menu"; import { join } from "path"; import initI18n from "./i18n.js"; @@ -7,6 +7,7 @@ import { initDatabase } from "./backend/init.js"; import { Database } from "better-sqlite3"; import { startScreenshotLoop } from "./backend/screenshot.js"; import { __dirname } from "./dirname.js"; +import { hideDock } from "./utils/electron.js"; const i18n = initI18n(); @@ -66,7 +67,7 @@ contextMenu({ }); app.once("ready", () => { - app.dock.hide(); + hideDock(); }); app.on("activate", () => {}); @@ -84,3 +85,7 @@ app.on("ready", () => { // app.on("window-all-closed", () => { // if (process.platform !== "darwin") app.quit(); // }); + +ipcMain.on('close-settings', () => { + settingsWindow?.hide(); +}); \ No newline at end of file diff --git a/src/electron/preload/settings.cjs b/src/electron/preload/settings.cjs index e158bd5..4c1cede 100644 --- a/src/electron/preload/settings.cjs +++ b/src/electron/preload/settings.cjs @@ -1,8 +1,8 @@ -const { contextBridge } = require('electron') -const os = require('os'); -const osName = require('./os-name.cjs'); +const { contextBridge, ipcRenderer } = require("electron"); +const os = require("os"); +const osName = require("./os-name.cjs"); -contextBridge.exposeInMainWorld('versions', { +contextBridge.exposeInMainWorld("versions", { node: () => process.versions.node, chrome: () => process.versions.chrome, electron: () => process.versions.electron, @@ -10,4 +10,10 @@ contextBridge.exposeInMainWorld('versions', { return `${os.platform()} ${os.release()}`; }, osDisplay: osName -}) \ No newline at end of file +}); + +contextBridge.exposeInMainWorld("settingsWindow", { + close: () => { + ipcRenderer.send("close-settings", {}); + } +}); diff --git a/src/electron/utils/electron.ts b/src/electron/utils/electron.ts new file mode 100644 index 0000000..dd508db --- /dev/null +++ b/src/electron/utils/electron.ts @@ -0,0 +1,15 @@ +import { app } from "electron"; + +export function hideDock(){ + if (process.platform === 'darwin') { + // Hide the dock icon on macOS + app.dock.hide(); + } +} + +export function showDock(){ + if (process.platform === 'darwin') { + // Show the dock icon on macOS + app.dock.show(); + } +} \ No newline at end of file diff --git a/src/global.d.ts b/src/global.d.ts index 09f1bf7..ca6f2e6 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -12,5 +12,8 @@ interface Window { api: { send: (channel: any, data: any) => void, receive: (channel: any, func: any) => void + }, + settingsWindow: { + close: () => void, } } \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 9e9ccfd..b7f2e16 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,7 @@ "target": "ESNext", "module": "ESNext", "moduleResolution": "node", - "outDir": "./dist/dev", + "outDir": "./dist/electron", "rootDir": "./src/electron", "strict": true, "esModuleInterop": true,