110 lines
5.1 KiB
JSON
110 lines
5.1 KiB
JSON
{
|
|
"name": "gridpilot",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"description": "GridPilot - Clean Architecture monorepo for web platform and Electron companion app",
|
|
"engines": {
|
|
"node": ">=20.0.0"
|
|
},
|
|
"workspaces": [
|
|
"core/*",
|
|
"apps/*",
|
|
"testing/*"
|
|
],
|
|
"scripts": {
|
|
"dev": "echo 'Development server placeholder - to be configured'",
|
|
"build": "echo 'Build all packages placeholder - to be configured'",
|
|
"docker:dev": "docker-compose -f docker-compose.dev.yml up",
|
|
"docker:dev:build": "docker-compose -f docker-compose.dev.yml up --build",
|
|
"docker:dev:down": "docker-compose -f docker-compose.dev.yml down",
|
|
"docker:dev:logs": "docker-compose -f docker-compose.dev.yml logs -f",
|
|
"docker:dev:clean": "docker-compose -f docker-compose.dev.yml down -v",
|
|
"docker:prod": "docker-compose -f docker-compose.prod.yml up -d",
|
|
"docker:prod:build": "docker-compose -f docker-compose.prod.yml up -d --build",
|
|
"docker:prod:down": "docker-compose -f docker-compose.prod.yml down",
|
|
"docker:prod:logs": "docker-compose -f docker-compose.prod.yml logs -f",
|
|
"docker:prod:clean": "docker-compose -f docker-compose.prod.yml down -v",
|
|
"api:build": "npm run build --workspace=@gridpilot/api",
|
|
"api:generate-spec": "tsx scripts/generate-openapi-spec.ts",
|
|
"api:generate-types": "tsx scripts/generate-api-types.ts",
|
|
"api:sync-types": "npm run api:generate-spec && npm run api:generate-types",
|
|
"test": "vitest run \"$@\"",
|
|
"test:unit": "vitest run tests/unit",
|
|
"test:integration": "vitest run tests/integration",
|
|
"test:e2e": "vitest run --config vitest.e2e.config.ts",
|
|
"test:e2e:docker": "vitest run --config vitest.e2e.config.ts tests/e2e/docker/",
|
|
"test:watch": "vitest watch",
|
|
"test:smoke": "vitest run --config vitest.smoke.config.ts",
|
|
"test:smoke:watch": "vitest watch --config vitest.smoke.config.ts",
|
|
"test:smoke:electron": "playwright test --config=playwright.smoke.config.ts",
|
|
"smoke:website": "npm run website:build && npx playwright test -c playwright.website.config.ts",
|
|
"test:hosted-real": "vitest run --config vitest.e2e.config.ts tests/e2e/hosted-real/",
|
|
"test:companion-hosted": "vitest run --config vitest.e2e.config.ts tests/e2e/companion/companion-ui-full-workflow.e2e.test.ts",
|
|
"typecheck": "npx tsc --noEmit",
|
|
"test:types": "tsc --noEmit -p tsconfig.tests.json",
|
|
"companion:dev": "npm run dev --workspace=@gridpilot/companion",
|
|
"companion:build": "npm run build --workspace=@gridpilot/companion",
|
|
"companion:start": "npm run start --workspace=@gridpilot/companion",
|
|
"env:website:merge": "node scripts/merge-website-env.js",
|
|
"website:dev": "npm run env:website:merge && npm run dev --workspace=@gridpilot/website",
|
|
"website:build": "npm run env:website:merge && npm run build --workspace=@gridpilot/website",
|
|
"website:start": "npm run start --workspace=@gridpilot/website",
|
|
"website:lint": "npm run lint --workspace=@gridpilot/website",
|
|
"website:type-check": "npm run type-check --workspace=@gridpilot/website",
|
|
"website:clean": "npm run clean --workspace=@gridpilot/website",
|
|
"deploy:website:preview": "npx vercel deploy --cwd apps/website",
|
|
"deploy:website:prod": "npx vercel deploy --prod",
|
|
"deploy:website": "npm run deploy:website:prod",
|
|
"chrome:debug": "open -a 'Google Chrome' --args --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug",
|
|
"docker:e2e:up": "docker-compose -f docker/docker-compose.e2e.yml up -d",
|
|
"docker:e2e:down": "docker-compose -f docker/docker-compose.e2e.yml down",
|
|
"generate-templates": "npx tsx scripts/generate-templates/index.ts",
|
|
"minify-fixtures": "npx tsx scripts/minify-fixtures.ts",
|
|
"minify-fixtures:force": "npx tsx scripts/minify-fixtures.ts --force",
|
|
"dom:process": "npx tsx scripts/dom-export/processWorkflows.ts",
|
|
"prepare": "husky install || true"
|
|
},
|
|
"devDependencies": {
|
|
"@cucumber/cucumber": "^11.0.1",
|
|
"@playwright/test": "^1.57.0",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@types/bcrypt": "^6.0.0",
|
|
"@types/express": "^4.17.21",
|
|
"@types/jsdom": "^27.0.0",
|
|
"@types/node": "^24.10.1",
|
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
"@typescript-eslint/parser": "^6.0.0",
|
|
"@vitest/ui": "^4.0.15",
|
|
"cheerio": "^1.0.0",
|
|
"commander": "^11.0.0",
|
|
"electron": "^39.2.7",
|
|
"eslint": "^8.0.0",
|
|
"eslint-plugin-boundaries": "^5.3.1",
|
|
"eslint-plugin-import": "^2.32.0",
|
|
"glob": "^13.0.0",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^22.1.0",
|
|
"openapi-typescript": "^7.4.3",
|
|
"prettier": "^3.0.0",
|
|
"puppeteer": "^24.31.0",
|
|
"ts-node": "^10.9.2",
|
|
"tsx": "^4.7.0",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "^4.0.15"
|
|
},
|
|
"dependencies": {
|
|
"@core/social": "file:core/social",
|
|
"@nestjs/swagger": "11.2.3",
|
|
"bcrypt": "^6.0.0",
|
|
"electron-vite": "3.1.0",
|
|
"next": "15.5.9",
|
|
"playwright-extra": "^4.3.6",
|
|
"puppeteer-extra-plugin-stealth": "^2.11.2",
|
|
"reflect-metadata": "^0.2.2",
|
|
"tsyringe": "^4.10.0",
|
|
"uuid": "^13.0.0",
|
|
"vite": "6.4.1"
|
|
}
|
|
}
|