Repository navigation
Expand file tree
/
Copy pathpackage.json
More file actions
80 lines (80 loc) · 3.82 KB
/
Copy pathpackage.json
File metadata and controls
80 lines (80 loc) · 3.82 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
{
"name": "ghostmaxxing",
"version": "0.9.11",
"description": "Web AR laboratory for testing adversarial makeup and anti-biometric facial camouflage in the browser.",
"license": "AGPL-3.0-or-later",
"private": true,
"type": "commonjs",
"homepage": "https://ghostmaxxing.vecna.eu/",
"repository": {
"type": "git",
"url": "git+https://github.com/vecna/ghostmaxxing.git"
},
"bugs": {
"url": "https://github.com/vecna/ghostmaxxing/issues"
},
"keywords": [
"ghostmaxxing",
"adversarial-makeup",
"anti-biometric",
"computer-vision",
"face-recognition",
"cv-dazzle",
"web-ar",
"ghostyles"
],
"author": "Claudio Agosti (vecna) (https://me.vecna.eu/)",
"scripts": {
"start": "http-server . -p 8080 -c-1 -o /lab.html",
"serve": "http-server . -p 8080 -c-1",
"serve:integrated": "npm run build:client-interface && npm --prefix ../gstmxx-backend start",
"test": "npm run test:unit && npm run test:e2e",
"test:unit": "vitest run",
"test:unit:watch": "vitest",
"test:coverage": "vitest run --coverage",
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui",
"docs": "jsdoc -c jsdoc.clean.json && node scripts-dev/enrich-jsdoc-seo.cjs",
"docs:functional": "node scripts-dev/build-functional-docs.cjs",
"docs:clean": "node -e \"require('node:fs').rmSync('docs/jsdoc', { recursive: true, force: true })\"",
"docs:rebuild": "npm run docs:clean && npm run docs",
"htmls": "npm run docs:functional && npm run docs:rebuild && npm run test:coverage && npm run update:coverage-badge && npm run update:projects && npm run update:references && npm run update:genealogy && npm run codemap",
"htmls:install": "npm run docs:functional && npm run docs:rebuild && npm run test:coverage && npm run update:coverage-badge && npm run update:projects && npm run update:references && npm run update:genealogy && npm run codemap && npm run web-client-setup",
"docs:screenshots": "node scripts-dev/capture-doc-screenshots.cjs",
"capture:render": "node scripts-dev/lab-capture.cjs render",
"capture:measure": "node scripts-dev/lab-capture.cjs measure",
"capture:shots": "node scripts-dev/lab-capture.cjs shots",
"validate:ghostyle": "node scripts-dev/validate-plugin.js",
"validate-plugin": "npm run validate:ghostyle --",
"validate:ghostyles": "node -e \"const fs=require('node:fs'); const cp=require('node:child_process'); const files=fs.readdirSync('ghostyles').filter((f)=>f.endsWith('.js')).sort(); for (const f of files) cp.execFileSync(process.execPath, ['scripts-dev/validate-plugin.js', 'ghostyles/'+f], { stdio: 'inherit' });\"",
"update:coverage-badge": "node scripts-dev/update-coverage-badge.js",
"validate:projects": "node projects/validate-projects.js",
"update:projects": "node projects/build-projects-page.js",
"update:references": "node references/build-references-page.js",
"update:genealogy": "python3 scripts-dev/build-genealogy.py",
"i18n:extract": "node scripts-dev/extract-i18n-pot.cjs",
"build:client-interface": "node scripts-dev/install-client-interface.cjs",
"web-client-setup": "npm run build:client-interface",
"test:integration": "node scripts-dev/test-integrated-gallery.cjs",
"check": "npm run validate:ghostyles && npm run test:unit",
"prepare:e2e": "playwright install chromium",
"c2p": "node scripts-dev/code2prompt.js",
"codemap": "node scripts-dev/build-codemap.js && node scripts-dev/build-codemap-html.js"
},
"devDependencies": {
"@playwright/test": "^1.60.0",
"@vitest/coverage-v8": "^4.1.8",
"acorn": "^8.18.0",
"acorn-walk": "^8.3.5",
"canvas": "^3.2.3",
"clean-jsdoc-theme": "^5.0.2",
"http-server": "^14.1.1",
"jsdoc": "^4.0.5",
"jsdom": "^29.1.1",
"vite": "^8.0.16",
"vitest": "^4.1.8"
},
"engines": {
"node": ">=18"
}
}