diff --git a/README.md b/README.md index 9269771..7c7bb18 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ If running directly with Node.js, install dependencies and make sure `firefox` a ```bash npm install -node index.js exec https://example.com --js='return document.title' +node src/index.js exec https://example.com --js='return document.title' ``` ## Glimpse CLI @@ -253,16 +253,16 @@ node test/smoke.js snapshot js Useful local commands: ```bash -node index.js snapshot 'data:text/html,Hello

Hello

' -node index.js exec 'data:text/html,Hello' --js='return document.title' -node index.js screenshot 'data:text/html,Hello' --output=/tmp/page.png -node index.js reader 'https://example.com/article' +node src/index.js snapshot 'data:text/html,Hello

Hello

' +node src/index.js exec 'data:text/html,Hello' --js='return document.title' +node src/index.js screenshot 'data:text/html,Hello' --output=/tmp/page.png +node src/index.js reader 'https://example.com/article' ``` ## Project Structure -- `index.js` - `glimpse` CLI with subcommands, including Firefox Reader View extraction and provider-backed search -- `driver.js` - Firefox WebDriver creation and geckodriver resolution -- `kagi.js` - reusable Kagi search provider implementation +- `src/index.js` - `glimpse` CLI with subcommands, including Firefox Reader View extraction and provider-backed search +- `src/driver.js` - Firefox WebDriver creation and geckodriver resolution +- `src/providers/kagi.js` - reusable Kagi search provider implementation - `flake.nix` - Nix dev shell, package, wrappers, and apps - `KAGI.md` - Kagi-specific notes diff --git a/flake.nix b/flake.nix index 4206703..2f36fd0 100644 --- a/flake.nix +++ b/flake.nix @@ -42,7 +42,7 @@ version = "1.0.0"; src = source; - npmDepsHash = "sha256-jtwQb8TDdvzyeMBN/ubUQWRtBIJuO/QDtKW9ep19N6Q="; + npmDepsHash = "sha256-IWzSvrGgkoR6gg7P1m/mwakGOOKmm2OFtBirKgE09Ds="; dontNpmBuild = true; nativeBuildInputs = [ pkgs.makeWrapper ]; diff --git a/package-lock.json b/package-lock.json index 2113407..1e75ee0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "turndown": "^7.2.4" }, "bin": { - "glimpse": "index.js" + "glimpse": "src/index.js" } }, "node_modules/@bazel/runfiles": { diff --git a/package.json b/package.json index f272030..be7077e 100644 --- a/package.json +++ b/package.json @@ -3,13 +3,13 @@ "version": "1.0.0", "description": "", "type": "module", - "main": "index.js", + "main": "src/index.js", "bin": { - "glimpse": "./index.js" + "glimpse": "./src/index.js" }, "scripts": { "lint": "oxlint --ignore-pattern node_modules --ignore-pattern .direnv .", - "start": "node index.js", + "start": "node src/index.js", "test": "node test/smoke.js", "test:smoke": "node test/smoke.js", "test:list": "node test/smoke.js --list", diff --git a/driver.js b/src/driver.js similarity index 100% rename from driver.js rename to src/driver.js diff --git a/index.js b/src/index.js similarity index 99% rename from index.js rename to src/index.js index 33463a0..c21a59d 100755 --- a/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ #!/usr/bin/env node import { createDriver } from "./driver.js"; -import { searchKagi } from "./kagi.js"; +import { searchKagi } from "./providers/kagi.js"; import { readFileSync, writeFileSync } from "node:fs"; import TurndownService from "turndown"; diff --git a/kagi.js b/src/providers/kagi.js similarity index 97% rename from kagi.js rename to src/providers/kagi.js index 3962c78..26c50b8 100644 --- a/kagi.js +++ b/src/providers/kagi.js @@ -1,4 +1,4 @@ -import { createDriver } from "./driver.js"; +import { createDriver } from "../driver.js"; export class SearchProviderError extends Error { constructor(code, message) { diff --git a/test/smoke.js b/test/smoke.js index fc41f35..c462480 100755 --- a/test/smoke.js +++ b/test/smoke.js @@ -6,7 +6,7 @@ import { join } from "node:path"; import { spawnSync } from "node:child_process"; import assert from "node:assert/strict"; -const cliPath = new URL("../index.js", import.meta.url).pathname; +const cliPath = new URL("../src/index.js", import.meta.url).pathname; const tempDir = mkdtempSync(join(tmpdir(), "glimpse-smoke-")); const filters = process.argv.slice(2).filter((arg) => arg !== "--list"); const shouldList = process.argv.includes("--list");