From: Chris Duncan Date: Sun, 9 Mar 2025 06:12:14 +0000 (-0800) Subject: Refactor Deno cli for puppeteer. X-Git-Tag: v3.1.0~9^2~30 X-Git-Url: https://zoso.dev/?a=commitdiff_plain;h=f589f18f82814997e2f97339decd68558f82d68d;p=nano-pow.git Refactor Deno cli for puppeteer. --- diff --git a/cli.js b/cli.js old mode 100644 new mode 100755 index ec50b7a..0c1fc8f --- a/cli.js +++ b/cli.js @@ -1,43 +1,72 @@ -import puppeteer from 'puppeteer' -import { NanoPowGpu } from '../main.min.js' +import * as puppeteer from 'puppeteer' +import * as fs from 'node:fs/promises' -const hash = Deno.args.pop() +const args = process.argv.slice(2) +const hash = args.pop() if (!/^[0-9A-Fa-f]{64}$/.test(hash)) throw new Error('Invalid block hash') -const args = {} -for (let i = 0; i < Deno.args.length; i++) { - switch (Deno.args[i]) { +const options = {} +for (let i = 0; i < args.length; i++) { + switch (args[i]) { case ('--threshold'): case ('-t'): { - if (Deno.args[i + 1] == null) throw new Error('Missing argument for threshold') - if (/^[0-9A-Fa-f]{,8}$/.test(Deno.args[i + 1])) throw new Error('Invalid threshold') - args['threshold'] = parseInt(Deno.args[i + 1], 16) + if (args[i + 1] == null) throw new Error('Missing argument for threshold') + if (/^[0-9A-Fa-f]{,8}$/.test(args[i + 1])) throw new Error('Invalid threshold') + options['threshold'] = parseInt(args[i + 1], 16) break } case ('--effort'): case ('-e'): { - if (Deno.args[i + 1] == null) throw new Error('Missing argument for effort') - if (/^[0-9]{,2}$/.test(Deno.args[i + 1])) throw new Error('Invalid effort') - args['effort'] = parseInt(Deno.args[i + 1], 10) + if (args[i + 1] == null) throw new Error('Missing argument for effort') + if (/^[0-9]{,2}$/.test(args[i + 1])) throw new Error('Invalid effort') + options['effort'] = parseInt(args[i + 1], 10) break } case ('--debug'): case ('-d'): { - args['debug'] = true + options['debug'] = true break } } } +(async () => { + const browser = await puppeteer.launch({ + headless: true, + args: [ + '--enable-unsafe-webgpu', + '--enable-vulkan' + ] + }) + const page = await browser.newPage() + page.on('console', msg => { + console.log(msg.type(), ':', msg.text(), msg.stackTrace()) + }) + // await page.addScriptTag({ path: './main.min.js', type: 'module' }) + const NanoPow = await fs.readFile('./main.min.js', 'utf-8') + await page.setContent(` + + + + + + + `) + + await browser.close() + console.log('ended puppeteer') +})() diff --git a/package-lock.json b/package-lock.json index 727ce6e..3ad27fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,11 +8,8 @@ "name": "nano-pow", "version": "3.0.0", "license": "(GPL-3.0-or-later AND MIT)", - "dependencies": { - "puppeteer": "*" - }, "bin": { - "nano-pow": "dist/bin" + "nano-pow": "dist/cli.js" }, "devDependencies": { "@types/node": "^22.13.8",