-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
61 lines (61 loc) · 2.69 KB
/
Copy pathpackage.json
File metadata and controls
61 lines (61 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{
"name": "wechatpilot",
"version": "0.1.0",
"private": true,
"description": "Local-first, outbound-only AI automation for WeChat",
"license": "MIT",
"homepage": "https://github.com/kdnsna/WeChatPilot#readme",
"bugs": {
"url": "https://github.com/kdnsna/WeChatPilot/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/kdnsna/WeChatPilot.git"
},
"type": "module",
"engines": {
"node": ">=22"
},
"scripts": {
"test": "vitest run",
"typecheck": "tsc --noEmit",
"build": "tsc --noEmit false --outDir dist",
"collect": "tsx src/cli/collect.ts",
"digest": "tsx src/cli/digest.ts",
"digest:dry": "tsx src/cli/digest.ts --dry-run",
"audit:runtime": "npm audit --omit=dev",
"check:transport-boundary": "vitest run tests/security/wechat-boundary.test.ts tests/security/runtime-closure.test.ts",
"wechat:init": "tsx src/cli/init-wechat.ts",
"send:test": "tsx src/cli/send-test.ts",
"send:digest": "tsx src/cli/send-digest.ts",
"scheduled": "tsx src/cli/scheduled.ts --project-root .",
"observer": "tsx src/cli/observer.ts --project-root . --job daily-tech-digest",
"report:image-probe": "tsx src/cli/probe-report-image.ts --project-root .",
"report:preview": "tsx src/cli/render-run-report-preview.ts --project-root .",
"report:test": "tsx src/cli/send-run-report-test.ts --project-root .",
"health": "tsx src/cli/health.ts",
"stability:review": "tsx src/cli/wechatpilot.ts stability review",
"wechatpilot": "tsx src/cli/wechatpilot.ts",
"lint": "tsc --noEmit",
"format:check": "node -e \"const {readdirSync,statSync,readFileSync}=require('fs');const {join}=require('path');function walk(d,a=[]){for(const n of readdirSync(d)){if(['node_modules','dist','.git','.state','output','logs','data'].includes(n))continue;const p=join(d,n);if(statSync(p).isDirectory())walk(p,a);else if(/\\.(ts|js|json|yml|yaml|md)$/.test(n))a.push(p);}return a;}const bad=[];for(const f of walk('.')){const t=readFileSync(f,'utf8');if(t.includes('\\r'))bad.push(f);} if(bad.length){console.error(bad.join('\\n'));process.exit(1);}\"",
"test:coverage": "vitest run --coverage",
"check:fresh-clone": "node scripts/fresh-clone-smoke.mjs",
"check:governance": "node scripts/check-governance.mjs",
"doctor:bundle": "tsx src/cli/wechatpilot.ts doctor --json"
},
"dependencies": {
"@resvg/resvg-js": "2.6.2",
"json-bigint": "1.0.0",
"qrcode-terminal": "0.12.0",
"rss-parser": "^3.13.0",
"yaml": "^2.9.0",
"zod": "^4.4.3"
},
"devDependencies": {
"@types/node": "^22.20.1",
"@vitest/coverage-v8": "^4.1.10",
"tsx": "^4.23.1",
"typescript": "^7.0.2",
"vitest": "^4.1.10"
}
}