{ "name": "twenty-sdk", "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/twenty-sdk/src", "projectType": "library", "tags": ["scope:sdk", "scope:shared"], "targets": { "build": { "dependsOn": ["^build"], "outputs": ["{projectRoot}/dist"] }, "dev": { "executor": "nx:run-commands", "dependsOn": ["^build"], "options": { "cwd": "packages/twenty-sdk", "command": "npx rimraf dist && npx vite build --watch" } }, "start": { "executor": "nx:run-commands", "dependsOn": ["build"], "options": { "cwd": "packages/twenty-sdk", "command": "node dist/cli.cjs" } }, "typecheck": {}, "lint": { "options": { "lintFilePatterns": ["{projectRoot}/src/**/*.{ts,json}"], "maxWarnings": 0 }, "configurations": { "ci": { "lintFilePatterns": ["{projectRoot}/src/**/*.{ts,json}"], "maxWarnings": 0 }, "fix": {} } }, "test": { "executor": "@nx/vitest:test", "outputs": ["{workspaceRoot}/coverage/{projectRoot}"], "options": { "config": "{projectRoot}/vitest.config.ts" }, "configurations": { "ci": { "coverage": true, "watch": false } } }, "test:unit": { "executor": "nx:run-commands", "options": { "cwd": "packages/twenty-sdk", "command": "npx vitest run --config vitest.unit.config.ts" } }, "test:integration": { "executor": "nx:run-commands", "options": { "cwd": "packages/twenty-sdk", "command": "npx wait-on http://localhost:3000/healthz --timeout 600000 --interval 1000 --log && npx vitest run --config vitest.integration.config.ts" }, "parallel": false, "dependsOn": [ "build", { "target": "database:reset", "projects": "twenty-server" }, { "target": "start:ci-if-needed", "projects": "twenty-server" } ] }, "test:e2e": { "executor": "nx:run-commands", "options": { "cwd": "packages/twenty-sdk", "command": "npx wait-on http://localhost:3000/healthz --timeout 600000 --interval 1000 --log && NODE_ENV=test npx vitest run --config ./vitest.e2e.config.ts" }, "parallel": false, "dependsOn": [ "build", { "target": "database:reset", "projects": "twenty-server" }, { "target": "start:ci-if-needed", "projects": "twenty-server" } ] }, "generateRemoteDomElements": { "executor": "nx:run-commands", "cache": true, "inputs": [ "{projectRoot}/scripts/remote-dom/**/*", "{projectRoot}/src/front-component-constants/**/*" ], "outputs": [ "{projectRoot}/src/front-component/host/generated/*", "{projectRoot}/src/front-component/remote/generated/*" ], "options": { "command": "tsx {projectRoot}/scripts/remote-dom/generateRemoteDomElements.ts" } }, "storybook:prebuild": { "executor": "nx:run-commands", "cache": true, "dependsOn": ["generateRemoteDomElements"], "inputs": [ "{projectRoot}/src/front-component/__stories__/mocks/**/*", "{projectRoot}/src/front-component/__stories__/utils/**/*", "{projectRoot}/src/cli/utilities/build/common/front-component-build/**/*", "{projectRoot}/src/front-component-constants/**/*", "{projectRoot}/src/sdk/**/*" ], "outputs": ["{projectRoot}/src/front-component/__stories__/built/*"], "options": { "command": "tsx {projectRoot}/src/front-component/__stories__/utils/buildMockComponents.ts" } }, "storybook:build": { "dependsOn": ["storybook:prebuild"], "configurations": { "test": {} } }, "storybook:serve:dev": { "dependsOn": ["storybook:prebuild"], "options": { "port": 6008 } }, "storybook:serve:static": { "options": { "buildTarget": "twenty-sdk:storybook:build", "port": 6008 }, "configurations": { "test": {} } }, "storybook:test": { "dependsOn": ["storybook:prebuild"], "options": { "command": "vitest run --coverage --config vitest.storybook.config.ts --shard={args.shard}" } }, "storybook:test:no-coverage": { "dependsOn": ["storybook:prebuild"], "options": { "command": "vitest run --config vitest.storybook.config.ts --shard={args.shard}" } }, "storybook:coverage": {} } }