chrome-tools 1.1.6 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/bin/cli.js +556 -1
  2. package/dist/src/core/browsers.d.ts +7 -3
  3. package/dist/src/core/browsers.js +186 -1
  4. package/dist/src/core/chrome.d.ts +6 -4
  5. package/dist/src/core/chrome.js +240 -1
  6. package/dist/src/core/crypto.d.ts +1 -1
  7. package/dist/src/core/crypto.js +113 -1
  8. package/dist/src/core/db.d.ts +4 -2
  9. package/dist/src/core/db.js +90 -1
  10. package/dist/src/core/keychain.js +191 -1
  11. package/dist/src/core/limit.d.ts +4 -0
  12. package/dist/src/core/limit.js +12 -0
  13. package/dist/src/core/platform/darwin.js +31 -1
  14. package/dist/src/core/platform/index.d.ts +4 -3
  15. package/dist/src/core/platform/index.js +69 -1
  16. package/dist/src/core/platform/linux.js +64 -1
  17. package/dist/src/core/platform/types.d.ts +3 -2
  18. package/dist/src/core/platform/types.js +1 -1
  19. package/dist/src/core/platform/win32.js +114 -1
  20. package/dist/src/core/sql.d.ts +2 -0
  21. package/dist/src/core/sql.js +4 -0
  22. package/dist/src/index.d.ts +1 -1
  23. package/dist/src/index.js +34 -1
  24. package/dist/src/modules/autofill.d.ts +7 -15
  25. package/dist/src/modules/autofill.js +170 -1
  26. package/dist/src/modules/bookmarks.d.ts +3 -5
  27. package/dist/src/modules/bookmarks.js +83 -1
  28. package/dist/src/modules/cookies.d.ts +3 -5
  29. package/dist/src/modules/cookies.js +157 -1
  30. package/dist/src/modules/downloads.d.ts +3 -5
  31. package/dist/src/modules/downloads.js +80 -1
  32. package/dist/src/modules/extensions.d.ts +3 -5
  33. package/dist/src/modules/extensions.js +71 -1
  34. package/dist/src/modules/history.d.ts +5 -10
  35. package/dist/src/modules/history.js +83 -1
  36. package/dist/src/modules/local-storage.d.ts +3 -5
  37. package/dist/src/modules/local-storage.js +455 -1
  38. package/dist/src/modules/passwords.d.ts +3 -5
  39. package/dist/src/modules/passwords.js +131 -1
  40. package/dist/src/modules/search-engines.d.ts +3 -5
  41. package/dist/src/modules/search-engines.js +38 -1
  42. package/dist/src/modules/top-sites.d.ts +3 -5
  43. package/dist/src/modules/top-sites.js +33 -1
  44. package/package.json +14 -12
@@ -1,7 +1,5 @@
1
- export interface TopSiteOptions {
2
- chromeDir?: string;
3
- profile?: string;
4
- browser?: string;
1
+ import { type ResolveProfilesOptions } from "../core/chrome.js";
2
+ export interface TopSiteOptions extends ResolveProfilesOptions {
5
3
  }
6
4
  export interface TopSiteEntry {
7
5
  profile: string;
@@ -16,4 +14,4 @@ export interface TopSiteEntry {
16
14
  * @param options - Targeting options.
17
15
  * @returns Array of top site entries.
18
16
  */
19
- export declare function getTopSites({ chromeDir, profile, browser }?: TopSiteOptions): TopSiteEntry[];
17
+ export declare function getTopSites({ chromeDir, profilePath, profile, browser }?: TopSiteOptions): TopSiteEntry[];
@@ -1 +1,33 @@
1
- import{join as r}from"node:path";import{resolveTargetProfiles as o}from"../core/chrome.js";import{queryDatabase as t,tableExists as e}from"../core/db.js";export function getTopSites({chromeDir:i,profile:s,browser:c}={}){const n=o({chromeDir:i,profile:s,browser:c}),p=[];for(const o of n){const i=r(o.path,"Top Sites");try{if(!e(i,"top_sites"))continue;const r=t(i,"SELECT url, url_rank, title, redirects\n FROM top_sites ORDER BY url_rank ASC");for(const t of r)p.push({profile:o.name,url:t.url||"",title:t.title||"",rank:t.url_rank??0,redirects:t.redirects||""})}catch{}}return p}
1
+ import { join } from "node:path";
2
+ import { resolveTargetProfiles } from "../core/chrome.js";
3
+ import { queryDatabase } from "../core/db.js";
4
+ /**
5
+ * Retrieves top sites from Chrome's Top Sites database.
6
+ *
7
+ * @param options - Targeting options.
8
+ * @returns Array of top site entries.
9
+ */
10
+ export function getTopSites({ chromeDir, profilePath, profile, browser } = {}) {
11
+ const profiles = resolveTargetProfiles({ chromeDir, profilePath, profile, browser });
12
+ const results = [];
13
+ for (const p of profiles) {
14
+ const dbPath = join(p.path, "Top Sites");
15
+ try {
16
+ const rows = queryDatabase(dbPath, `SELECT url, url_rank, title, redirects
17
+ FROM top_sites ORDER BY url_rank ASC`);
18
+ for (const row of rows) {
19
+ results.push({
20
+ profile: p.name,
21
+ url: row.url || "",
22
+ title: row.title || "",
23
+ rank: row.url_rank ?? 0,
24
+ redirects: row.redirects || "",
25
+ });
26
+ }
27
+ }
28
+ catch {
29
+ // Skip profiles with errors
30
+ }
31
+ }
32
+ return results;
33
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chrome-tools",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "description": "CLI & Node.js library for chrome",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -18,7 +18,7 @@
18
18
  "./top-sites": "./dist/src/modules/top-sites.js"
19
19
  },
20
20
  "bin": {
21
- "chrome-tools": "./dist/bin/cli.js"
21
+ "chrome-tools": "dist/bin/cli.js"
22
22
  },
23
23
  "files": [
24
24
  "dist/src",
@@ -27,10 +27,11 @@
27
27
  "LICENSE"
28
28
  ],
29
29
  "scripts": {
30
- "build": "node scripts/clean.mjs && tsc && node scripts/minify.mjs",
30
+ "build": "node scripts/clean.mjs && tsc && node scripts/finalize.mjs",
31
+ "lint": "oxlint --deny-warnings .",
31
32
  "start": "node dist/bin/cli.js",
32
33
  "test": "npm run build && node --test dist/test/*.test.js dist/test/**/*.test.js && node dist/bin/cli.js --help",
33
- "release": "npm run build && npm version patch --no-git-tag-version && npm publish"
34
+ "release": "npm version patch --no-git-tag-version && npm run build && npm publish --access public --registry=https://registry.npmjs.org"
34
35
  },
35
36
  "keywords": [
36
37
  "chrome",
@@ -49,19 +50,20 @@
49
50
  ],
50
51
  "author": "",
51
52
  "license": "MIT",
53
+ "packageManager": "pnpm@11.9.0",
52
54
  "dependencies": {
53
- "better-sqlite3": "^12.10.0",
54
- "chalk": "^5.6.2",
55
+ "better-sqlite3": "^13.0.3",
56
+ "chalk": "^6.0.0",
55
57
  "cli-table3": "^0.6.5",
56
- "commander": "^14.0.3"
58
+ "commander": "^15.0.0"
57
59
  },
58
60
  "engines": {
59
- "node": ">=18.0.0"
61
+ "node": ">=22.12.0"
60
62
  },
61
63
  "devDependencies": {
62
- "@types/better-sqlite3": "^7.6.13",
63
- "@types/node": "^25.9.1",
64
- "terser": "^5.44.0",
65
- "typescript": "^6.0.3"
64
+ "@types/better-sqlite3": "^9.6.0",
65
+ "@types/node": "^26.1.2",
66
+ "oxlint": "1.77.0",
67
+ "typescript": "^7.0.2"
66
68
  }
67
69
  }