package.json
Rama main · réplica de lectura del repositorio original.
{
"name": "nsite-clay",
"version": "0.3.27",
"type": "module",
"description": "A self-editable nsite. One HTML file that edits and republishes itself, hosted on Nostr.",
"license": "MIT-0",
"homepage": "https://nsite-clay.cypherpunk.today/",
"repository": {
"type": "git",
"url": "git+https://github.com/jooray/nsite-clay.git"
},
"keywords": [
"nostr",
"nsite",
"blossom",
"nip-5a",
"malleable-html",
"self-saving",
"single-file",
"static-site",
"local-first",
"no-build",
"contenteditable"
],
"bin": {
"nsite-clay": "bin/nsite-clay.mjs"
},
"main": "./dist/nsite-clay.esm.js",
"exports": {
".": "./dist/nsite-clay.esm.js",
"./dist/*": "./dist/*",
"./src/*": "./src/*",
"./package.json": "./package.json"
},
"files": [
"dist/",
"src/",
"bin/",
"examples/",
"templates/",
"icons/",
"README.md",
"LICENSE"
],
"scripts": {
"build": "node build.mjs",
"test": "node test/secret-files.mjs && node test/served-types.mjs && node test/relay-list.mjs && node test/unpublish.mjs && node test/upgrade-siblings.mjs && node test/pull.mjs && node test/verify.mjs && node test/stale-copy.mjs && node test/remembered-editor.mjs && node test/kept-signin.mjs && node test/multi-page.mjs && node test/agent-brief.mjs && node test/ai-client.mjs && node test/ai-workflows.mjs && node test/ai-pictures.mjs && node test/publisher-ai.mjs && node test/publisher-key.mjs && node test/vault.mjs && node test/cashu.mjs && node test/wallet.mjs && node test/e2e-ai.mjs && node test/ai-evaluation.mjs",
"prepublishOnly": "npm run build && npm test",
"site:build": "node build.mjs && cp dist/nsite-clay.js dist/nsite-clay-source.js dist/nsite-clay-wallet.js site/ && cp templates/_shared/nsite-clay-base.css templates/_shared/nsite-clay-chrome.js site/ && cp icons/nsite-clay-transparent.png icons/nsite-clay-mark.svg icons/nsite-clay.png site/ && cp media/editing.png site/ && mkdir -p site/shots && cp media/guide/*.png site/shots/ && node tools/stage-templates.mjs && node tools/stage-deploy.mjs && node tools/stage-runtime.mjs && node tools/stage-agent.mjs",
"devnet": "node tools/devnet.mjs",
"publish:local": "npm run site:build && node tools/publish-local.mjs",
"walkthrough": "npm run site:build && node tools/publish-walkthrough.mjs",
"site:serve": "npm run site:build && node -e \"const{createServer}=require('node:http'),{readFileSync,statSync}=require('node:fs'),{join,extname}=require('node:path');const T={'.html':'text/html','.js':'text/javascript','.css':'text/css','.png':'image/png','.svg':'image/svg+xml','.md':'text/markdown'};createServer((q,s)=>{let p=join('site',decodeURIComponent(q.url.split('?')[0]));try{if(statSync(p).isDirectory())p=join(p,'index.html')}catch{}try{const b=readFileSync(p);s.writeHead(200,{'Content-Type':T[extname(p)]||'application/octet-stream'});s.end(b)}catch{s.writeHead(404);s.end('not found')}}).listen(4780,()=>console.log('site/ on http://127.0.0.1:4780/ (site root = server root, as a gateway serves it)'))\"",
"review": "npm run site:build && node tools/review.mjs",
"demo:build": "node build.mjs && rm -rf demo-dist && mkdir -p demo-dist && cp demo/index.html demo-dist/ && cp dist/nsite-clay.js demo-dist/ && cp templates/_shared/nsite-clay-base.css templates/_shared/nsite-clay-chrome.js demo-dist/",
"demo:serve": "npm run demo:build && node -e \"const{createServer}=require('node:http'),{readFileSync,statSync}=require('node:fs'),{join,extname}=require('node:path');const T={'.html':'text/html','.js':'text/javascript','.css':'text/css'};createServer((q,s)=>{let p=join('demo-dist',decodeURIComponent(q.url.split('?')[0]));try{if(statSync(p).isDirectory())p=join(p,'index.html')}catch{}try{const b=readFileSync(p);s.writeHead(200,{'Content-Type':T[extname(p)]||'application/octet-stream','Cache-Control':'no-store'});s.end(b)}catch{s.writeHead(404);s.end('not found')}}).listen(4790,()=>console.log('demo on http://127.0.0.1:4790/'))\""
},
"dependencies": {
"@noble/hashes": "^1.7.1",
"hyper-undo": "0.6.0",
"nostr-tools": "^2.10.4",
"parse5": "8.0.1",
"qrcode-generator": "^1.5.2",
"quickcrop": "1.2.0",
"ws": "^8.18.0"
},
"devDependencies": {
"dompurify": "^3.4.15",
"esbuild": "^0.24.2",
"playwright": "1.62.1"
},
"engines": {
"node": ">=18"
}
}