package.json
Rama main · réplica de lectura del repositorio original.
{
"name": "kanera",
"private": true,
"version": "1.10.0",
"packageManager": "pnpm@11.23.0",
"engines": {
"node": "^24.0.0"
},
"scripts": {
"predev": "pnpm i && node scripts/clear-dev-ports.mjs",
"dev": "pnpm with:local-env concurrently -k -n api,worker,web -c blue,magenta,green \"pnpm --filter @kanera/api dev\" \"pnpm --filter @kanera/api dev:worker\" \"pnpm --filter @kanera/web start\"",
"dev:mcp": "pnpm --filter @kanera/mcp dev",
"cli": "pnpm --filter @kanera/cli dev --",
"dev:hosted": "pnpm with:hosted-local-env concurrently -k -n api,worker,web -c blue,magenta,green \"pnpm --filter @kanera/api dev\" \"pnpm --filter @kanera/api dev:worker\" \"pnpm --filter @kanera/web start\"",
"dev:public-api": "pnpm with:local-env pnpm --filter @kanera/api dev:public-api",
"dev:admin": "pnpm with:local-env concurrently -k -n admin-api,admin-web -c blue,green \"pnpm --filter @kanera/api dev:admin-api\" \"pnpm --filter @kanera/admin-web start\"",
"dev:https": "pnpm with:local-env concurrently -k -n api,worker,web -c blue,magenta,green \"WEB_ORIGIN=https://localhost:4200 pnpm --filter @kanera/api dev\" \"WEB_ORIGIN=https://localhost:4200 pnpm --filter @kanera/api dev:worker\" \"pnpm --filter @kanera/web start:https\"",
"dev:db": "docker compose -f docker-compose.dev.yml up -d --wait",
"dev:db:down": "docker compose -f docker-compose.dev.yml down",
"dev:db:reset": "docker compose -f docker-compose.dev.yml down -v && pnpm dev:db && pnpm db:migrate:local",
"dev:db:reset:seed": "docker compose -f docker-compose.dev.yml down -v && pnpm dev:db && pnpm db:migrate:local && pnpm db:seed:local",
"dev:db:reset:seed:hosted": "docker compose -f docker-compose.dev.yml down -v && pnpm dev:db && pnpm db:migrate:hosted:local && pnpm db:seed:hosted:local",
"dev:db:reset:seed:hosted:account": "docker compose -f docker-compose.dev.yml down -v && pnpm dev:db && pnpm db:migrate:hosted:local && pnpm db:seed:hosted-accounts",
"build": "pnpm -r build",
"bundle:web": "pnpm --filter @kanera/web bundle:analyze",
"bundle:web:check": "pnpm --filter @kanera/web bundle:check",
"lint": "pnpm -r lint && pnpm lint:e2e && pnpm lint:knip",
"lint:knip": "knip",
"i18n:extract": "pnpm --filter @kanera/web i18n:extract",
"i18n:check": "pnpm --filter @kanera/web i18n:check",
"lint:eslint": "eslint .",
"lint:e2e": "tsc -p e2e/tsconfig.json && eslint e2e",
"release": "node scripts/release.mjs",
"test": "pnpm test:release && pnpm test:integrations && pnpm test:api && pnpm --filter @kanera/web test && pnpm test:mcp && pnpm test:cli && pnpm test:sdk && pnpm test:api:integration && pnpm test:mcp:integration && pnpm test:e2e",
"test:release": "node --test scripts/release.test.mjs scripts/build-release-compose.test.mjs",
"test:integrations": "node --test scripts/agent-integrations.test.mjs",
"test:api": "pnpm --filter @kanera/api test",
"test:mcp": "pnpm --filter @kanera/mcp test",
"test:cli": "pnpm --filter @kanera/cli test",
"test:sdk": "pnpm --filter @kanera/sdk test",
"test:e2e": "bash scripts/test-e2e.sh",
"test:web:bundles": "playwright test --config benchmarks/web/bundle-loading.config.cjs",
"test:analytics": "playwright test --config e2e/playwright.analytics.config.ts",
"test:mcp:integration": "bash scripts/test-mcp-integration.sh",
"test:api:integration": "bash scripts/test-api-integration.sh",
"db:generate": "pnpm --filter @kanera/api db:generate",
"db:migrate": "pnpm --filter @kanera/api db:migrate",
"db:migrate:local": "pnpm with:local-env pnpm db:migrate",
"db:migrate:hosted:local": "pnpm with:hosted-local-env pnpm db:migrate",
"db:seed": "pnpm --filter @kanera/api db:seed",
"db:seed:local": "pnpm with:local-env pnpm db:seed",
"db:seed:hosted:local": "pnpm with:hosted-local-env pnpm db:seed",
"db:seed:hosted-accounts": "pnpm with:hosted-local-env pnpm --filter @kanera/api db:seed:hosted-accounts",
"perf:web:seed": "pnpm with:local-env pnpm --filter @kanera/api db:seed:web-performance",
"perf:web": "npx -y -p @playwright/test@1.61.1 sh -c 'NODE_PATH=\"$(dirname \"$(dirname \"$(command -v playwright)\")\")\" playwright test --config benchmarks/web/playwright.config.cjs'",
"perf:api": "node benchmarks/api/load.mjs",
"db:studio": "pnpm --filter @kanera/api db:studio",
"email:preview": "pnpm --filter @kanera/api email:preview",
"start:public-api": "pnpm --filter @kanera/api start:public-api",
"start:mcp": "pnpm --filter @kanera/mcp start",
"with:local-env": "DATABASE_URL=postgres://kanera:kanera@localhost:5433/kanera REDIS_URL=redis://localhost:6379/0 JWT_SECRET=local_development_jwt_secret MFA_ENCRYPTION_KEY=local_development_mfa_encryption_key_32 MEDIA_SIGNING_SECRET=local_development_media_signing_secret_32 SECRETS_ENCRYPTION_KEY=local_development_secrets_encryption_key_32 ADMIN_JWT_SECRET=local_development_admin_jwt_secret",
"with:hosted-local-env": "KANERA_DEPLOYMENT_MODE=hosted HOSTED_PRO_PRICE_MONTHLY_CENTS=500 HOSTED_PRO_PRICE_ANNUAL_CENTS=4900 STRIPE_SECRET_KEY=sk_test_local STRIPE_PUBLISHABLE_KEY=pk_test_local STRIPE_WEBHOOK_SECRET=whsec_test_local STRIPE_PRICE_ID_PRO_MONTHLY=price_local_monthly STRIPE_PRICE_ID_PRO_ANNUAL=price_local_annual pnpm with:local-env"
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@modelcontextprotocol/client": "^2.4.0",
"@playwright/test": "1.61.1",
"@types/node": "^24.19.2",
"angular-eslint": "^22.6.0",
"concurrently": "^9.2.5",
"eslint": "^10.14.0",
"globals": "^17.14.0",
"knip": "^6.44.1",
"typescript": "~5.9.3",
"typescript-eslint": "^8.72.1"
}
}