{ "name": "bitvid", "private": true, "type": "module", "version": "1.0.0", "scripts": { "start": "npm run build && npx serve", "serve": "npx serve", "build": "node scripts/build-dist.mjs", "build:css": "tailwindcss -c tailwind.config.cjs -i css/tailwind.source.css -o css/tailwind.generated.css --minify", "build:beacon:bundle": "node scripts/build-beacon.mjs", "build:beacon": "npm run build:beacon:bundle && npm run lint:inline-styles", "ci:beacon": "npm run build:beacon", "format": "prettier --cache --write css/tailwind.source.css css/tokens.css \"docs/**/*.html\" tailwind.config.cjs README.md", "audit": "node scripts/daily-design-system-audit.mjs", "lint": "npm run lint:css && npm run lint:hex && npm run lint:inline-styles && npm run lint:tokens && npm run lint:tailwind-brackets && npm run lint:tailwind-colors", "lint:css": "stylelint css/tailwind.source.css css/tokens.css", "lint:hex": "node scripts/check-hex.js", "lint:inline-styles": "node scripts/check-inline-styles.mjs", "lint:tokens": "node scripts/check-design-tokens.mjs --check=tokens", "lint:tailwind-brackets": "node scripts/check-design-tokens.mjs --check=brackets", "lint:tailwind-colors": "node scripts/check-tailwind-colors.mjs", "check:css": "npm run build:css", "test:visual": "npm run build && npx playwright test", "test:visual:update": "npm run build && cross-env UPDATE_VISUAL_BASELINES=1 npx playwright test", "test:e2e": "npm run build && npx playwright test tests/e2e", "test:dm:unit": "node scripts/run-targeted-tests.mjs tests/dm-db.test.mjs tests/dm-decryptor.test.mjs tests/dm-normalization.test.mjs tests/nostr-send-direct-message.test.mjs", "test:dm:integration": "node scripts/run-targeted-tests.mjs tests/nostr/dm-direct-message-flow.test.mjs", "test:unit": "node scripts/run-unit-tests.mjs", "test:unit:shard1": "cross-env UNIT_TEST_SHARD=1/3 node scripts/run-unit-tests.mjs", "test:unit:shard2": "cross-env UNIT_TEST_SHARD=2/3 node scripts/run-unit-tests.mjs", "test:unit:shard3": "cross-env UNIT_TEST_SHARD=3/3 node scripts/run-unit-tests.mjs", "telemetry:aggregate": "node scripts/agent/telemetry-aggregator.mjs" }, "devDependencies": { "@noble/hashes": "^2.0.1", "@playwright/test": "^1.58.0", "cross-env": "^7.0.3", "esbuild": "^0.25.12", "fake-indexeddb": "^6.2.5", "nostr-tools": "^2.19.4", "pixelmatch": "^5.3.0", "playwright": "^1.58.0", "pngjs": "^7.0.0", "prettier": "^3.8.1", "prettier-plugin-tailwindcss": "^0.6.5", "serve": "^14.2.5", "stylelint": "^16.26.1" }, "license": "GPL-3.0-or-later", "dependencies": { "@floating-ui/dom": "^1.7.4", "@noble/hashes": "^2.0.1", "@tailwindcss/typography": "^0.5.19", "autoprefixer": "^10.4.23", "jsdom": "^27.4.0", "postcss": "^8.5.6", "tailwindcss": "^3.4.19", "ws": "^8.19.0" } }