Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz Source: /opt/alga-psa on psa.joliet.tech
330 lines
14 KiB
JSON
330 lines
14 KiB
JSON
{
|
|
"name": "sebastian-monorepo",
|
|
"private": true,
|
|
"engines": {
|
|
"node": ">=20 <25"
|
|
},
|
|
"workspaces": [
|
|
"server",
|
|
"ee/server",
|
|
"ee/packages/*",
|
|
"ee/temporal-workflows",
|
|
"services/workflow-worker",
|
|
"services/email-service",
|
|
"shared",
|
|
"packages/*",
|
|
"sdk/*",
|
|
"sdk/samples/*",
|
|
"sdk/samples/*/*",
|
|
"tools/generators"
|
|
],
|
|
"scripts": {
|
|
"install:ignore": "npm ci --ignore-scripts",
|
|
"migrate": "knex migrate:latest",
|
|
"seed": "knex seed:run",
|
|
"test:local": "cd server && dotenv -e ../.env.localtest -- vitest \"$@\"",
|
|
"generate:proto": "mkdir -p ee/server/src/generated && protoc --plugin=./node_modules/.bin/protoc-gen-ts_proto --ts_proto_out=ee/server/src/generated --ts_proto_opt=esModuleInterop=true,outputServices=false,useExactTypes=false --proto_path=ee/server/protos workflow.proto",
|
|
"mcp:registry:generate": "node ee/scripts/generate-chat-registry.mjs",
|
|
"dev": "NX_LOAD_DOT_ENV_FILES=false NODE_ENV=development NX_TUI=false npx nx next:dev server",
|
|
"dev:turbo": "NX_LOAD_DOT_ENV_FILES=false NODE_ENV=development NX_TUI=false npx nx next:dev server -- --turbo",
|
|
"build": "npm run build:assemblyscript && npx nx build-deps server && cd server && USE_PREBUILT=true EDITION=community NEXT_PUBLIC_EDITION=community npm run build:turbo",
|
|
"build:source": "npm run build:assemblyscript && cd server && EDITION=community NEXT_PUBLIC_EDITION=community npm run build:turbo",
|
|
"build:webpack": "npm run build:assemblyscript && cd server && EDITION=community NEXT_PUBLIC_EDITION=community npm run build",
|
|
"build:prebuilt": "npm run build:assemblyscript && npx nx build-deps server && cd server && USE_PREBUILT=true npm run build",
|
|
"build:ce": "npm run build:assemblyscript && npx nx build-deps server && cd server && USE_PREBUILT=true EDITION=community NEXT_PUBLIC_EDITION=community npm run build:turbo",
|
|
"build:ee": "npm run build:assemblyscript && cd server && EDITION=ee NEXT_PUBLIC_EDITION=enterprise npm run build:enterprise",
|
|
"build:assemblyscript": "node scripts/build-assemblyscript-if-needed.mjs",
|
|
"build:assemblyscript:force": "cd server/src/invoice-templates/assemblyscript && npm install --cache ../../../../.npm-cache && npm run build",
|
|
"build:perf": "node scripts/build-perf-harness.mjs",
|
|
"start": "cd server && npm start",
|
|
"runner:up": "./scripts/dev-runner.sh up -d",
|
|
"runner:down": "./scripts/dev-runner.sh down",
|
|
"runner:logs": "./scripts/dev-runner.sh logs -f",
|
|
"dev:runner": "RUNNER_BACKEND=docker RUNNER_DOCKER_HOST=${RUNNER_DOCKER_HOST:-http://localhost:${RUNNER_DOCKER_PORT:-8085}} RUNNER_PUBLIC_BASE=/runner npm run dev",
|
|
"build:shared": "npx nx build @alga-psa/shared",
|
|
"build:workflow-worker": "cd services/workflow-worker && npm run build",
|
|
"build:sdk": "npm -w sdk/alga-client-sdk run build",
|
|
"dev:sdk": "npm -w sdk/alga-client-sdk run dev",
|
|
"start:workflow-worker": "cd services/workflow-worker && npm run start",
|
|
"dev:workflow-worker": "cd services/workflow-worker && npm run dev",
|
|
"create-tenant": "cd server && npm run create-tenant --",
|
|
"rollback-tenant": "cd server && npm run rollback-tenant",
|
|
"search:backfill": "tsx server/src/scripts/search-backfill.ts",
|
|
"lint": "eslint \"{server,ee/server,ee/packages,shared,services,packages}/**/*.{js,mjs,cjs,ts,jsx,tsx}\"",
|
|
"guard:temporal-packaging-contract": "node scripts/check-temporal-worker-packaging-contract.mjs",
|
|
"guard:temporal-dist-smoke": "node scripts/temporal-worker-dist-import-smoke.mjs",
|
|
"test:temporal-readiness:fast": "TEMPORAL_TEST_SKIP_ENV_BOOTSTRAP=1 npx vitest --root ee/temporal-workflows src/workflows/__tests__/generic-job-workflow.temporal.test.ts src/config/__tests__/startupValidation.test.ts",
|
|
"guard:temporal-readiness:fast": "npm run guard:temporal-packaging-contract && npm run guard:temporal-dist-smoke && npm run test:temporal-readiness:fast",
|
|
"guard:temporal-readiness:docker": "node scripts/temporal-worker-docker-parity.mjs",
|
|
"guard:keyboard-shortcuts-boundary": "node scripts/guard-keyboard-shortcuts-boundary.mjs",
|
|
"guard:no-bidi-control-chars": "node scripts/guard-no-bidi-control-chars.mjs",
|
|
"test:workflow-runtime-v2-compose-smoke": "node scripts/workflow-runtime-v2-compose-smoke.mjs",
|
|
"guard:ext-v2": "git grep -nE \"ee/server/src/lib/extensions/ui/(descriptors|pages|tabs|navigation)|ee/server/src/lib/extensions/security/propWhitelist\\.ts|ee/server/src/lib/extensions/schemas/(manifest\\.schema|extension-points\\.schema)\\.ts|ee/server/src/lib/extensions/validator\\.ts|/api/extensions/\" -- 'server/**' 'ee/server/**' 'shared/**' 'services/**' ':!**/*.md' ':!**/node_modules/**' ':!**/dist/**' ':!**/build/**' ':!**/.next/**' ':!**/out/**' ':!**/apiRegistry.generated.ts' ':!**/registry.generated.ts' || true; test $(git grep -nE \"ee/server/src/lib/extensions/ui/(descriptors|pages|tabs|navigation)|ee/server/src/lib/extensions/security/propWhitelist\\.ts|ee/server/src/lib/extensions/schemas/(manifest\\.schema|extension-points\\.schema)\\.ts|ee/server/src/lib/extensions/validator\\.ts|/api/extensions/\" -- 'server/**' 'ee/server/**' 'shared/**' 'services/**' ':!**/*.md' ':!**/node_modules/**' ':!**/dist/**' ':!**/build/**' ':!**/.next/**' ':!**/out/**' ':!**/apiRegistry.generated.ts' ':!**/registry.generated.ts' | wc -l) -eq 0",
|
|
"guard:no-tracked-env-backups": "node scripts/guard-no-tracked-env-backups.mjs",
|
|
"playwright:bootstrap-db": "node --import tsx/esm scripts/bootstrap-playwright-db.ts",
|
|
"test:nx": "vitest run --config tools/nx-tests/vitest.config.ts",
|
|
"affected:test": "NX_DAEMON=false nx affected -t test --output-style=static",
|
|
"affected:build": "NX_DAEMON=false nx affected -t build --output-style=static",
|
|
"guard:hocuspocus-compose-build": "node scripts/guard-hocuspocus-compose-build.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/sdk": "^0.30.1",
|
|
"@aws-sdk/client-s3": "^3.984.0",
|
|
"@aws-sdk/s3-request-presigner": "^3.984.0",
|
|
"@blocknote/core": "^0.47.3",
|
|
"@blocknote/mantine": "^0.47.3",
|
|
"@blocknote/react": "^0.47.3",
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/modifiers": "^9.0.0",
|
|
"@dnd-kit/sortable": "^8.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@floating-ui/dom": "^1.6.0",
|
|
"@hello-pangea/dnd": "^18.0.1",
|
|
"@hocuspocus/provider": "^2.13.5",
|
|
"@huggingface/inference": "^2.8.0",
|
|
"@js-temporal/polyfill": "^0.4.4",
|
|
"@mantine/core": "^8.0.0",
|
|
"@mantine/form": "^8.0.0",
|
|
"@mantine/hooks": "^8.0.0",
|
|
"@nestjs/common": "^11.0.3",
|
|
"@nestjs/config": "^4.0.3",
|
|
"@openai/codex": "^0.58.0",
|
|
"@radix-ui/react-checkbox": "^1.1.1",
|
|
"@radix-ui/react-collapsible": "^1.1.0",
|
|
"@radix-ui/react-dialog": "^1.1.1",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.4",
|
|
"@radix-ui/react-form": "^0.1.0",
|
|
"@radix-ui/react-label": "^2.1.0",
|
|
"@radix-ui/react-navigation-menu": "^1.2.0",
|
|
"@radix-ui/react-primitive": "^2.0.0",
|
|
"@radix-ui/react-select": "^2.1.1",
|
|
"@radix-ui/react-slot": "^1.1.0",
|
|
"@radix-ui/react-switch": "^1.1.0",
|
|
"@radix-ui/react-tabs": "^1.1.0",
|
|
"@radix-ui/themes": "^3.1.3",
|
|
"@rjsf/shadcn": "^6.0.0-beta.8",
|
|
"@rjsf/utils": "^6.4.1",
|
|
"@rjsf/validator-ajv8": "^6.0.0-beta.8",
|
|
"@stripe/stripe-js": "^8.0.0",
|
|
"@syncedstore/core": "^0.6.0",
|
|
"@tailwindcss/forms": "^0.5.7",
|
|
"@tanstack/react-table": "^8.20.5",
|
|
"@tiptap/extension-collaboration": "^3.12.0",
|
|
"@tiptap/extension-collaboration-caret": "^3.0.0",
|
|
"@tiptap/extension-image": "^3.20.1",
|
|
"@tiptap/extension-link": "^3.0.0",
|
|
"@tiptap/extension-underline": "^3.0.0",
|
|
"@tiptap/react": "^3.0.7",
|
|
"@tiptap/starter-kit": "^3.0.7",
|
|
"@types/archiver": "^6.0.3",
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"@types/react-dropzone": "^4.2.2",
|
|
"@types/redis": "^4.0.10",
|
|
"@vitest/coverage-v8": "^4.0.18",
|
|
"archiver": "^7.0.1",
|
|
"asc": "^2.1.5",
|
|
"assemblyscript": "^0.27.37",
|
|
"axios": "^1.16.0",
|
|
"bcryptjs": "^2.4.3",
|
|
"class-variance-authority": "^0.7.0",
|
|
"clean": "^4.0.2",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.0.4",
|
|
"cross-spawn": "^7.0.3",
|
|
"date-fns": "^4.1.0",
|
|
"date-fns-tz": "^3.2.0",
|
|
"dompurify": "^3.4.0",
|
|
"dotenv": "^16.4.5",
|
|
"ejs": "^3.1.10",
|
|
"elkjs": "^0.10.0",
|
|
"emoticon": "^4.1.0",
|
|
"ffmpeg-static": "^5.2.0",
|
|
"ffprobe-static": "^3.1.0",
|
|
"fluent-ffmpeg": "^2.1.3",
|
|
"fractional-indexing": "^3.2.0",
|
|
"fs": "^0.0.1-security",
|
|
"handlebars": "^4.7.8",
|
|
"imapflow": "^1.3.1",
|
|
"immer": "^10.1.1",
|
|
"ini": "^5.0.0",
|
|
"ink": "^6.8.0",
|
|
"json-as": "^1.1.19",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"kiwi.js": "^1.1.3",
|
|
"knex": "^3.1.0",
|
|
"lucide-react": "^0.428.0",
|
|
"marked": "^14.1.3",
|
|
"moment": "^2.30.1",
|
|
"next": "^16.2.6",
|
|
"next-auth": "^5.0.0-beta.30",
|
|
"node-vault": "^0.10.2",
|
|
"nodemailer": "^8.0.5",
|
|
"null-loader": "^4.0.1",
|
|
"parsimmon": "^1.18.1",
|
|
"pdf-lib": "^1.17.1",
|
|
"pdf2pic": "^3.1.3",
|
|
"pg": "^8.16.0",
|
|
"pg-boss": "^10.1.5",
|
|
"pg-query-stream": "^4.6.0",
|
|
"posthog-js": "^1.255.1",
|
|
"posthog-node": "^4.18.0",
|
|
"puppeteer": "^24.10.1",
|
|
"qrcode": "^1.5.4",
|
|
"querystring-es3": "^0.2.1",
|
|
"radash": "^12.1.0",
|
|
"react": "^19.2.4",
|
|
"react-big-calendar": "^1.15.0",
|
|
"react-day-picker": "^9.5.0",
|
|
"react-dnd": "^16.0.1",
|
|
"react-dnd-html5-backend": "^16.0.1",
|
|
"react-dom": "^19.2.4",
|
|
"react-dropzone": "^14.3.5",
|
|
"react-error-boundary": "^4.1.2",
|
|
"react-hook-form": "^7.52.2",
|
|
"react-hot-toast": "^2.4.1",
|
|
"react-icons": "^5.2.1",
|
|
"react-markdown": "^9.0.1",
|
|
"react-resizable-panels": "^3.0.6",
|
|
"react-server-dom-webpack": "^19.2.6",
|
|
"reactflow": "^11.11.4",
|
|
"recharts": "^2.12.7",
|
|
"redis": "^4.7.0",
|
|
"remark-gfm": "^4.0.0",
|
|
"rrule": "^2.8.1",
|
|
"sharp": "^0.34.3",
|
|
"spawn-sync": "^2.0.0",
|
|
"speakeasy": "^2.0.0",
|
|
"swr": "^2.3.0",
|
|
"tailwind-merge": "^2.6.0",
|
|
"tar-stream": "^3.1.7",
|
|
"tinycolor2": "^1.6.0",
|
|
"tsx": "^4.20.3",
|
|
"turndown": "^7.2.0",
|
|
"ua-parser-js": "^2.0.6",
|
|
"uuid": "^11.1.1",
|
|
"winston": "^3.13.1",
|
|
"winston-daily-rotate-file": "^5.0.0",
|
|
"y-prosemirror": "^1.3.7",
|
|
"y-webrtc": "^10.3.0",
|
|
"y-websocket": "^2.0.4",
|
|
"yjs": "^13.6.18",
|
|
"zod": "^3.23.8",
|
|
"zustand": "^4.5.7"
|
|
},
|
|
"devDependencies": {
|
|
"@bytecodealliance/wizer": "^10.0.0",
|
|
"@eslint/js": "^9.17.0",
|
|
"@nx/docker": "^22.6.5",
|
|
"@nx/eslint": "^22.6.5",
|
|
"@nx/next": "^22.6.5",
|
|
"@nx/playwright": "^22.6.5",
|
|
"@nx/vite": "^22.6.5",
|
|
"@nx/vitest": "^22.6.5",
|
|
"@playwright/test": "^1.36.0",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/dompurify": "^3.0.5",
|
|
"@types/ejs": "^3.1.5",
|
|
"@types/fluent-ffmpeg": "^2.1.27",
|
|
"@types/google-protobuf": "^3.15.12",
|
|
"@types/jest": "^29.5.14",
|
|
"@types/jsonwebtoken": "^9.0.6",
|
|
"@types/knex": "^0.16.1",
|
|
"@types/lodash": "^4.17.20",
|
|
"@types/node": "^20.19.24",
|
|
"@types/nodemailer": "^7.0.9",
|
|
"@types/parsimmon": "^1.10.9",
|
|
"@types/qrcode": "^1.5.5",
|
|
"@types/react": "^19",
|
|
"@types/react-beautiful-dnd": "^13.1.8",
|
|
"@types/react-big-calendar": "^1.8.9",
|
|
"@types/react-dom": "^19",
|
|
"@types/speakeasy": "^2.0.10",
|
|
"@types/tinycolor2": "^1.4.6",
|
|
"@types/turndown": "^5.0.5",
|
|
"@types/ua-parser-js": "^0.7.39",
|
|
"@types/uuid": "^10.0.0",
|
|
"@typescript-eslint/eslint-plugin": "^8.8.0",
|
|
"@typescript-eslint/parser": "^8.8.0",
|
|
"@vitest/coverage-istanbul": "^4.0.18",
|
|
"eslint": "^9.0.0",
|
|
"eslint-plugin-custom-rules": "file:server/eslint-plugins",
|
|
"eslint-plugin-react": "^7.37.2",
|
|
"eslint-plugin-react-hooks": "^5.0.0",
|
|
"globals": "^15.14.0",
|
|
"ink-testing-library": "^4.0.0",
|
|
"jsdom": "^25.0.1",
|
|
"nx": "^22.6.5",
|
|
"postcss": "^8.5.10",
|
|
"protobufjs": "^7.5.8",
|
|
"tailwindcss": "^3.4.7",
|
|
"ts-morph": "^25.0.1",
|
|
"ts-node": "^10.9.2",
|
|
"ts-proto": "^2.6.0",
|
|
"typescript": "^5.7.3",
|
|
"vite": "^7.0.0",
|
|
"vitest": "^4.0.18"
|
|
},
|
|
"description": "This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).",
|
|
"main": "index.js",
|
|
"directories": {
|
|
"doc": "docs"
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"type": "module",
|
|
"resolutions": {},
|
|
"overrides": {
|
|
"preact": "^10.25.4",
|
|
"tsup": "^8.5.1",
|
|
"fast-xml-parser": ">=5.7.0",
|
|
"fast-xml-builder": ">=1.1.7",
|
|
"serialize-javascript": ">=6.0.3",
|
|
"basic-ftp": ">=5.3.1",
|
|
"form-data": ">=4.0.2",
|
|
"tough-cookie": ">=4.1.4",
|
|
"jsonpath-plus": ">=10.4.0",
|
|
"body-parser": ">=1.20.3",
|
|
"tar-fs": ">=2.1.2",
|
|
"tar": ">=7.5.8",
|
|
"markdown-it": ">=14.1.1",
|
|
"mdast-util-to-hast": ">=13.2.1",
|
|
"js-yaml": ">=4.1.1",
|
|
"koa": ">=2.16.2",
|
|
"rollup": ">=4.59.0",
|
|
"minimatch": ">=9.0.5",
|
|
"brace-expansion": ">=1.1.13",
|
|
"yaml": ">=2.8.3",
|
|
"nx": {
|
|
"brace-expansion": "^2.0.3",
|
|
"axios": ">=1.15.2"
|
|
},
|
|
"qs": ">=6.14.0",
|
|
"path-to-regexp@0.1": "0.1.12",
|
|
"svgo": ">=4.0.1",
|
|
"jws": ">=4.0.1",
|
|
"glob": ">=11.0.0",
|
|
"lodash": ">=4.18.1",
|
|
"@nestjs/core": ">=11.1.18",
|
|
"mailparser": ">=3.9.8",
|
|
"@protobufjs/utf8": ">=1.1.1",
|
|
"i18next-fs-backend": ">=2.6.4",
|
|
"@opentelemetry/otlp-transformer": {
|
|
"protobufjs": ">=8.2.0"
|
|
},
|
|
"engine.io-client": {
|
|
"ws": ">=8.20.1"
|
|
},
|
|
"next": {
|
|
"postcss": ">=8.5.10"
|
|
},
|
|
"fast-uri": ">=3.1.2",
|
|
"picomatch": ">=2.3.2",
|
|
"ws": ">=8.20.1",
|
|
"follow-redirects": ">=1.16.0",
|
|
"ip-address": ">=10.1.1"
|
|
}
|
|
}
|