From db0d587046969b0430e56a7bba52bdd88c741551 Mon Sep 17 00:00:00 2001 From: abearxiong Date: Wed, 16 Jul 2025 00:34:09 +0800 Subject: [PATCH] init --- .gitignore | 1 + deno.json | 5 + deno.lock | 149 +++++++++++ image.png | Bin 0 -> 31437 bytes package.json | 18 ++ pnpm-lock.yaml | 639 ++++++++++++++++++++++++++++++++++++++++++++++++ readme.md | 3 + src/electron.js | 6 + src/electron.ts | 6 + src/index.ts | 6 + src/windows.ts | 19 ++ 11 files changed, 852 insertions(+) create mode 100644 .gitignore create mode 100644 deno.json create mode 100644 deno.lock create mode 100644 image.png create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 readme.md create mode 100644 src/electron.js create mode 100644 src/electron.ts create mode 100644 src/index.ts create mode 100644 src/windows.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/deno.json b/deno.json new file mode 100644 index 0000000..1870b9c --- /dev/null +++ b/deno.json @@ -0,0 +1,5 @@ +{ + "imports": { + "@webview/webview": "jsr:@webview/webview@^0.9.0" + } +} \ No newline at end of file diff --git a/deno.lock b/deno.lock new file mode 100644 index 0000000..725f714 --- /dev/null +++ b/deno.lock @@ -0,0 +1,149 @@ +{ + "version": "5", + "specifiers": { + "jsr:@denosaurs/plug@1": "1.1.0", + "jsr:@std/encoding@1": "1.0.9", + "jsr:@std/fmt@1": "1.0.6", + "jsr:@std/fs@1": "1.0.16", + "jsr:@std/path@1": "1.0.8", + "jsr:@std/path@^1.0.8": "1.0.8", + "jsr:@webview/webview@0.9": "0.9.0", + "npm:open@^10.1.2": "10.2.0" + }, + "jsr": { + "@denosaurs/plug@1.1.0": { + "integrity": "eb2f0b7546c7bca2000d8b0282c54d50d91cf6d75cb26a80df25a6de8c4bc044", + "dependencies": [ + "jsr:@std/encoding", + "jsr:@std/fmt", + "jsr:@std/fs", + "jsr:@std/path@1" + ] + }, + "@std/encoding@1.0.9": { + "integrity": "025b8f18eb1749bc30d1353bf48b77d1eb5e35610220fa226f5a046b9240c5d7" + }, + "@std/fmt@1.0.6": { + "integrity": "a2c56a69a2369876ddb3ad6a500bb6501b5bad47bb3ea16bfb0c18974d2661fc" + }, + "@std/fs@1.0.16": { + "integrity": "81878f62b6eeda0bf546197fc3daa5327c132fee1273f6113f940784a468b036", + "dependencies": [ + "jsr:@std/path@^1.0.8" + ] + }, + "@std/path@1.0.8": { + "integrity": "548fa456bb6a04d3c1a1e7477986b6cffbce95102d0bb447c67c4ee70e0364be" + }, + "@webview/webview@0.9.0": { + "integrity": "a7c4d787aafa43258ff287f71a16679d5ca3d9b65e5d232c60c3985f9ab3e0ce", + "dependencies": [ + "jsr:@denosaurs/plug" + ] + } + }, + "npm": { + "bundle-name@4.1.0": { + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dependencies": [ + "run-applescript" + ] + }, + "default-browser-id@5.0.0": { + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==" + }, + "default-browser@5.2.1": { + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dependencies": [ + "bundle-name", + "default-browser-id" + ] + }, + "define-lazy-prop@3.0.0": { + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==" + }, + "is-docker@3.0.0": { + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "bin": true + }, + "is-inside-container@1.0.0": { + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dependencies": [ + "is-docker" + ], + "bin": true + }, + "is-wsl@3.1.0": { + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dependencies": [ + "is-inside-container" + ] + }, + "open@10.2.0": { + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dependencies": [ + "default-browser", + "define-lazy-prop", + "is-inside-container", + "wsl-utils" + ] + }, + "run-applescript@7.0.0": { + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==" + }, + "wsl-utils@0.1.0": { + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dependencies": [ + "is-wsl" + ] + } + }, + "remote": { + "https://deno.land/std@0.184.0/_util/asserts.ts": "178dfc49a464aee693a7e285567b3d0b555dc805ff490505a8aae34f9cfb1462", + "https://deno.land/std@0.184.0/_util/os.ts": "d932f56d41e4f6a6093d56044e29ce637f8dcc43c5a90af43504a889cf1775e3", + "https://deno.land/std@0.184.0/encoding/hex.ts": "b4b1a7cb678745b0bf181ed8cf2498c7be00d121a7de244b752fbf9c7d9c48cd", + "https://deno.land/std@0.184.0/fmt/colors.ts": "d67e3cd9f472535241a8e410d33423980bec45047e343577554d3356e1f0ef4e", + "https://deno.land/std@0.184.0/fs/_util.ts": "579038bebc3bd35c43a6a7766f7d91fbacdf44bc03468e9d3134297bb99ed4f9", + "https://deno.land/std@0.184.0/fs/copy.ts": "14214efd94fc3aa6db1e4af2b4b9578e50f7362b7f3725d5a14ad259a5df26c8", + "https://deno.land/std@0.184.0/fs/empty_dir.ts": "c3d2da4c7352fab1cf144a1ecfef58090769e8af633678e0f3fabaef98594688", + "https://deno.land/std@0.184.0/fs/ensure_dir.ts": "dc64c4c75c64721d4e3fb681f1382f803ff3d2868f08563ff923fdd20d071c40", + "https://deno.land/std@0.184.0/fs/ensure_file.ts": "c38602670bfaf259d86ca824a94e6cb9e5eb73757fefa4ebf43a90dd017d53d9", + "https://deno.land/std@0.184.0/fs/ensure_link.ts": "c0f5b2f0ec094ed52b9128eccb1ee23362a617457aa0f699b145d4883f5b2fb4", + "https://deno.land/std@0.184.0/fs/ensure_symlink.ts": "5006ab2f458159c56d689b53b1e48d57e05eeb1eaf64e677f7f76a30bc4fdba1", + "https://deno.land/std@0.184.0/fs/eol.ts": "f1f2eb348a750c34500741987b21d65607f352cf7205f48f4319d417fff42842", + "https://deno.land/std@0.184.0/fs/exists.ts": "29c26bca8584a22876be7cb8844f1b6c8fc35e9af514576b78f5c6884d7ed02d", + "https://deno.land/std@0.184.0/fs/expand_glob.ts": "e4f56259a0a70fe23f05215b00de3ac5e6ba46646ab2a06ebbe9b010f81c972a", + "https://deno.land/std@0.184.0/fs/mod.ts": "bc3d0acd488cc7b42627044caf47d72019846d459279544e1934418955ba4898", + "https://deno.land/std@0.184.0/fs/move.ts": "b4f8f46730b40c32ea3c0bc8eb0fd0e8139249a698883c7b3756424cf19785c9", + "https://deno.land/std@0.184.0/fs/walk.ts": "920be35a7376db6c0b5b1caf1486fb962925e38c9825f90367f8f26b5e5d0897", + "https://deno.land/std@0.184.0/path/_constants.ts": "e49961f6f4f48039c0dfed3c3f93e963ca3d92791c9d478ac5b43183413136e0", + "https://deno.land/std@0.184.0/path/_interface.ts": "6471159dfbbc357e03882c2266d21ef9afdb1e4aa771b0545e90db58a0ba314b", + "https://deno.land/std@0.184.0/path/_util.ts": "d7abb1e0dea065f427b89156e28cdeb32b045870acdf865833ba808a73b576d0", + "https://deno.land/std@0.184.0/path/common.ts": "ee7505ab01fd22de3963b64e46cff31f40de34f9f8de1fff6a1bd2fe79380000", + "https://deno.land/std@0.184.0/path/glob.ts": "d479e0a695621c94d3fd7fe7abd4f9499caf32a8de13f25073451c6ef420a4e1", + "https://deno.land/std@0.184.0/path/mod.ts": "bf718f19a4fdd545aee1b06409ca0805bd1b68ecf876605ce632e932fe54510c", + "https://deno.land/std@0.184.0/path/posix.ts": "8b7c67ac338714b30c816079303d0285dd24af6b284f7ad63da5b27372a2c94d", + "https://deno.land/std@0.184.0/path/separator.ts": "0fb679739d0d1d7bf45b68dacfb4ec7563597a902edbaf3c59b50d5bcadd93b1", + "https://deno.land/std@0.184.0/path/win32.ts": "d186344e5583bcbf8b18af416d13d82b35a317116e6460a5a3953508c3de5bba", + "https://deno.land/x/plug@1.0.2/deps.ts": "36846a478fafaa1d8ca18aafd91584a748aa58de47ad0f45f008881dad82f374", + "https://deno.land/x/plug@1.0.2/download.ts": "b92bc1c1ae35fdb75828847f1ebfc7e51bf462f339729740e1cffe78384e1509", + "https://deno.land/x/plug@1.0.2/mod.ts": "32e0006ed6142e7becdb4103c2aa4e1e9ef28459d7243d6cb404a028f7c4eb7e", + "https://deno.land/x/plug@1.0.2/types.ts": "0490359117c53783138f2b6692a34f85bca9237314ba8cdef8ad682d81218d21", + "https://deno.land/x/plug@1.0.2/util.ts": "ded3db6e9bb16b8003899d9073fb310e13231ca617b35d6b7dfd53f38762cc76", + "https://deno.land/x/webview@0.7.6/deps.ts": "952f155c6e78a032288e25356bebdede04dd982f32457de541ff47e2aefff685", + "https://deno.land/x/webview@0.7.6/mod.ts": "c63ad9bffdf37742d84aa3637e1a4e7e3cad7303a80bbe87ce3048b27d2f3d89", + "https://deno.land/x/webview@0.7.6/src/ffi.ts": "b86e4bc26e31d78e4fed1e19551c412654fbccf29066ea6f68edeb7821bb8032", + "https://deno.land/x/webview@0.7.6/src/webview.ts": "063a64685c2d3946ef29722a7e9c1dac475c1a029fb713fc6abe3c950fe208f6" + }, + "workspace": { + "dependencies": [ + "jsr:@webview/webview@0.9" + ], + "packageJson": { + "dependencies": [ + "npm:electron@^37.2.1", + "npm:open@^10.1.2" + ] + } + } +} diff --git a/image.png b/image.png new file mode 100644 index 0000000000000000000000000000000000000000..0ef47a0dbd53143ca5fc6e09c60ad2e41efb27ad GIT binary patch literal 31437 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json new file mode 100644 index 0000000..116253c --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "open-demo", + "version": "0.0.1", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "abearxiong (https://www.xiongxiao.me)", + "license": "MIT", + "packageManager": "pnpm@10.11.1", + "type": "module", + "dependencies": { + "electron": "^37.2.1", + "open": "^10.1.2" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..1f63dd9 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,639 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + electron: + specifier: ^37.2.1 + version: 37.2.1 + open: + specifier: ^10.1.2 + version: 10.1.2 + +packages: + + '@electron/get@2.0.3': + resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} + engines: {node: '>=12'} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + + '@types/node@22.16.3': + resolution: {integrity: sha512-sr4Xz74KOUeYadexo1r8imhRtlVXcs+j3XK3TcoiYk7B1t3YRVJgtaD3cwX73NYb71pmVuMLNRhJ9XKdoDB74g==} + + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + + default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + electron@37.2.1: + resolution: {integrity: sha512-ae2EbzRNqIAHlftfCHtbbt6EgJUW8+zxWLONqNnn2iSrLF0O/pbxbff3xcpZYPpmFBs4uqjoi+s4QS7DQ+zZ/w==} + engines: {node: '>= 12.20.55'} + hasBin: true + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + global-agent@3.0.0: + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + http-cache-semantics@4.2.0: + resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + + http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + + matcher@3.0.0: + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} + engines: {node: '>=10'} + + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + open@10.1.2: + resolution: {integrity: sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==} + engines: {node: '>=18'} + + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} + + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + + roarr@2.15.4: + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} + + run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + + semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + + serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} + + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + sumchecker@3.0.1: + resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} + engines: {node: '>= 8.0'} + + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + +snapshots: + + '@electron/get@2.0.3': + dependencies: + debug: 4.4.1 + env-paths: 2.2.1 + fs-extra: 8.1.0 + got: 11.8.6 + progress: 2.0.3 + semver: 6.3.1 + sumchecker: 3.0.1 + optionalDependencies: + global-agent: 3.0.0 + transitivePeerDependencies: + - supports-color + + '@sindresorhus/is@4.6.0': {} + + '@szmarczak/http-timer@4.0.6': + dependencies: + defer-to-connect: 2.0.1 + + '@types/cacheable-request@6.0.3': + dependencies: + '@types/http-cache-semantics': 4.0.4 + '@types/keyv': 3.1.4 + '@types/node': 22.16.3 + '@types/responselike': 1.0.3 + + '@types/http-cache-semantics@4.0.4': {} + + '@types/keyv@3.1.4': + dependencies: + '@types/node': 22.16.3 + + '@types/node@22.16.3': + dependencies: + undici-types: 6.21.0 + + '@types/responselike@1.0.3': + dependencies: + '@types/node': 22.16.3 + + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 22.16.3 + optional: true + + boolean@3.2.0: + optional: true + + buffer-crc32@0.2.13: {} + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.0.0 + + cacheable-lookup@5.0.4: {} + + cacheable-request@7.0.4: + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.2.0 + keyv: 4.5.4 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + + clone-response@1.0.3: + dependencies: + mimic-response: 1.0.1 + + debug@4.4.1: + dependencies: + ms: 2.1.3 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + default-browser-id@5.0.0: {} + + default-browser@5.2.1: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + + defer-to-connect@2.0.1: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + optional: true + + define-lazy-prop@3.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + optional: true + + detect-node@2.1.0: + optional: true + + electron@37.2.1: + dependencies: + '@electron/get': 2.0.3 + '@types/node': 22.16.3 + extract-zip: 2.0.1 + transitivePeerDependencies: + - supports-color + + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + + env-paths@2.2.1: {} + + es-define-property@1.0.1: + optional: true + + es-errors@1.3.0: + optional: true + + es6-error@4.1.1: + optional: true + + escape-string-regexp@4.0.0: + optional: true + + extract-zip@2.0.1: + dependencies: + debug: 4.4.1 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + get-stream@5.2.0: + dependencies: + pump: 3.0.3 + + global-agent@3.0.0: + dependencies: + boolean: 3.2.0 + es6-error: 4.1.1 + matcher: 3.0.0 + roarr: 2.15.4 + semver: 7.7.2 + serialize-error: 7.0.1 + optional: true + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + optional: true + + gopd@1.2.0: + optional: true + + got@11.8.6: + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 + + graceful-fs@4.2.11: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + optional: true + + http-cache-semantics@4.2.0: {} + + http2-wrapper@1.0.3: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + + is-docker@3.0.0: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + json-buffer@3.0.1: {} + + json-stringify-safe@5.0.1: + optional: true + + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + lowercase-keys@2.0.0: {} + + matcher@3.0.0: + dependencies: + escape-string-regexp: 4.0.0 + optional: true + + mimic-response@1.0.1: {} + + mimic-response@3.1.0: {} + + ms@2.1.3: {} + + normalize-url@6.1.0: {} + + object-keys@1.1.1: + optional: true + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + open@10.1.2: + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + + p-cancelable@2.1.1: {} + + pend@1.2.0: {} + + progress@2.0.3: {} + + pump@3.0.3: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + + quick-lru@5.1.1: {} + + resolve-alpn@1.2.1: {} + + responselike@2.0.1: + dependencies: + lowercase-keys: 2.0.0 + + roarr@2.15.4: + dependencies: + boolean: 3.2.0 + detect-node: 2.1.0 + globalthis: 1.0.4 + json-stringify-safe: 5.0.1 + semver-compare: 1.0.0 + sprintf-js: 1.1.3 + optional: true + + run-applescript@7.0.0: {} + + semver-compare@1.0.0: + optional: true + + semver@6.3.1: {} + + semver@7.7.2: + optional: true + + serialize-error@7.0.1: + dependencies: + type-fest: 0.13.1 + optional: true + + sprintf-js@1.1.3: + optional: true + + sumchecker@3.0.1: + dependencies: + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + type-fest@0.13.1: + optional: true + + undici-types@6.21.0: {} + + universalify@0.1.2: {} + + wrappy@1.0.2: {} + + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..4cb451c --- /dev/null +++ b/readme.md @@ -0,0 +1,3 @@ +# 如何纯代码打开窗口 + +这是一个工具向的思考 diff --git a/src/electron.js b/src/electron.js new file mode 100644 index 0000000..d69e43e --- /dev/null +++ b/src/electron.js @@ -0,0 +1,6 @@ +import { app, BrowserWindow } from 'electron'; + +app.whenReady().then(() => { + const win = new BrowserWindow({ width: 800, height: 600 }); + win.loadURL('https://kevisual.cn/root/center/'); // 或 win.loadFile('index.html') +}); \ No newline at end of file diff --git a/src/electron.ts b/src/electron.ts new file mode 100644 index 0000000..d69e43e --- /dev/null +++ b/src/electron.ts @@ -0,0 +1,6 @@ +import { app, BrowserWindow } from 'electron'; + +app.whenReady().then(() => { + const win = new BrowserWindow({ width: 800, height: 600 }); + win.loadURL('https://kevisual.cn/root/center/'); // 或 win.loadFile('index.html') +}); \ No newline at end of file diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..8d43a2b --- /dev/null +++ b/src/index.ts @@ -0,0 +1,6 @@ +import open, { openApp, apps } from 'open'; + + +// await open('https://kevisual.cn/root/center/', {}); + +await open('image.png', {wait: true}); \ No newline at end of file diff --git a/src/windows.ts b/src/windows.ts new file mode 100644 index 0000000..264f703 --- /dev/null +++ b/src/windows.ts @@ -0,0 +1,19 @@ +import { Webview } from "@webview/webview"; + +const html = ` + + +

Hello from deno v${Deno.version.deno}

+ + +`; + +const webview = new Webview(); + +webview.navigate(`data:text/html,${encodeURIComponent(html)}`); +// webview.run(); +// webview.navigate('https://kevisual.cn/root/center/'); + +webview.run(); + +// 不成熟 \ No newline at end of file