From f7034d6e7da8dcc6b2023c0cf4647c3ddb286a3e Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Fri, 5 Jan 2024 14:59:58 +0100 Subject: [PATCH] Embrace nx monorepo structure with root package.json (#3255) * Upgrade to node 18.17.1 and regroup dependencies in root package.json * Sort package.json * Fix lint * Migrate zapier --- .nvmrc | 2 +- package.json | 278 ++++++++- .../twenty-docker/dev/twenty-dev/Dockerfile | 2 +- .../twenty-docker/prod/twenty-docs/Dockerfile | 4 +- .../prod/twenty-front/Dockerfile | 4 +- packages/twenty-docs/package.json | 23 - packages/twenty-front/.eslintrc.cjs | 2 +- packages/twenty-front/package.json | 134 +---- .../RecordTableBodyFetchMoreLoader.tsx | 2 +- packages/twenty-server/package.json | 104 +--- .../factories/fields-string.factory.ts | 1 - packages/twenty-utils/dangerfile.ts | 43 +- packages/twenty-utils/package.json | 8 - packages/twenty-website/package.json | 36 -- packages/twenty-zapier/package.json | 19 +- yarn.lock | 565 ++++++------------ 16 files changed, 488 insertions(+), 739 deletions(-) diff --git a/.nvmrc b/.nvmrc index 3c79f30eca..7ec56198d3 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18.16.0 \ No newline at end of file +18.17.1 \ No newline at end of file diff --git a/package.json b/package.json index 4dc528b0c0..d96b1ef6d2 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,272 @@ { - "name": "twenty", - "version": "0.2.1", - "packageManager": "yarn@4.0.2", + "dependencies": { + "@air/react-drag-to-select": "^5.0.8", + "@apollo/client": "^3.7.17", + "@apollo/server": "^4.7.3", + "@aws-sdk/client-s3": "^3.363.0", + "@aws-sdk/credential-providers": "^3.363.0", + "@blocknote/core": "^0.10.1", + "@blocknote/react": "^0.10.1", + "@chakra-ui/accordion": "^2.3.0", + "@chakra-ui/system": "^2.6.0", + "@codesandbox/sandpack-react": "^2.9.0", + "@docusaurus/core": "^3.0.0", + "@docusaurus/preset-classic": "^3.0.0", + "@emotion/react": "^11.11.1", + "@emotion/styled": "^11.11.0", + "@floating-ui/react": "^0.24.3", + "@google-cloud/local-auth": "2.1.0", + "@graphiql/plugin-explorer": "^1.0.2", + "@graphql-tools/schema": "^10.0.0", + "@hello-pangea/dnd": "^16.2.0", + "@hookform/resolvers": "^3.1.1", + "@jsdevtools/rehype-toc": "^3.0.2", + "@mdx-js/react": "^3.0.0", + "@nestjs/apollo": "^11.0.5", + "@nestjs/axios": "^3.0.1", + "@nestjs/common": "^9.0.0", + "@nestjs/config": "^2.3.2", + "@nestjs/core": "^9.0.0", + "@nestjs/jwt": "^10.0.3", + "@nestjs/passport": "^9.0.3", + "@nestjs/platform-express": "^9.0.0", + "@nestjs/serve-static": "^3.0.0", + "@nestjs/terminus": "^9.2.2", + "@nestjs/typeorm": "^10.0.0", + "@nivo/calendar": "^0.84.0", + "@nivo/core": "^0.84.0", + "@nx/eslint-plugin": "^17.2.8", + "@octokit/graphql": "^7.0.2", + "@ptc-org/nestjs-query-core": "^4.2.0", + "@ptc-org/nestjs-query-typeorm": "4.2.1-alpha.2", + "@sentry/node": "^7.66.0", + "@sentry/profiling-node": "^1.2.6", + "@sentry/react": "^7.88.0", + "@sentry/tracing": "^7.66.0", + "@sniptt/guards": "^0.2.0", + "@stoplight/elements": "^7.16.2", + "@swc/jest": "^0.2.29", + "@tabler/icons-react": "^2.44.0", + "@types/lodash.camelcase": "^4.3.7", + "@types/lodash.merge": "^4.6.7", + "@types/mailparser": "^3.4.4", + "add": "^2.0.6", + "afterframe": "^1.0.2", + "apollo-server-express": "^3.12.0", + "apollo-upload-client": "^17.0.0", + "axios": "^1.6.2", + "bcrypt": "^5.1.1", + "better-sqlite3": "^9.2.2", + "body-parser": "^1.20.2", + "bullmq": "^4.14.0", + "bytes": "^3.1.2", + "class-transformer": "^0.5.1", + "clsx": "^1.2.1", + "danger-plugin-todos": "^1.3.1", + "dataloader": "^2.2.2", + "date-fns": "^2.30.0", + "deep-equal": "^2.2.2", + "docusaurus-node-polyfills": "^1.0.0", + "dotenv-cli": "^7.2.1", + "esbuild-plugin-svgr": "^2.1.0", + "file-type": "16.5.4", + "framer-motion": "^10.12.17", + "googleapis": "105", + "graphiql": "^3.0.10", + "graphql": "^16.8.1", + "graphql-fields": "^2.0.3", + "graphql-subscriptions": "2.0.0", + "graphql-tag": "^2.12.6", + "graphql-type-json": "^0.3.2", + "graphql-upload": "^13.0.0", + "graphql-yoga": "^4.0.4", + "hex-rgb": "^5.0.0", + "iframe-resizer-react": "^1.1.0", + "immer": "^10.0.2", + "jest-mock-extended": "^3.0.4", + "js-cookie": "^3.0.5", + "js-levenshtein": "^1.1.6", + "jsonwebtoken": "^9.0.0", + "libphonenumber-js": "^1.10.26", + "lodash.camelcase": "^4.3.0", + "lodash.debounce": "^4.0.8", + "lodash.isempty": "^4.4.0", + "lodash.isequal": "^4.5.0", + "lodash.isobject": "^3.0.2", + "lodash.kebabcase": "^4.1.1", + "lodash.merge": "^4.6.2", + "lodash.snakecase": "^4.1.1", + "lodash.upperfirst": "^4.3.1", + "luxon": "^3.3.0", + "mailparser": "^3.6.5", + "microdiff": "^1.3.2", + "nest-commander": "^3.12.0", + "next": "14.0.4", + "next-mdx-remote": "^4.4.1", + "openapi-types": "^12.1.3", + "passport": "^0.6.0", + "passport-google-oauth20": "^2.0.0", + "passport-jwt": "^4.0.1", + "passport-local": "^1.0.0", + "patch-package": "^8.0.0", + "pg": "^8.11.3", + "pg-boss": "^9.0.3", + "prettier": "^3.0.3", + "prism-react-renderer": "^2.1.0", + "react": "^18.2.0", + "react-data-grid": "7.0.0-beta.13", + "react-datepicker": "^4.11.0", + "react-dom": "^18.2.0", + "react-dropzone": "^14.2.3", + "react-error-boundary": "^4.0.11", + "react-helmet-async": "^1.3.0", + "react-hook-form": "^7.45.1", + "react-hotkeys-hook": "^4.4.0", + "react-icons": "^4.12.0", + "react-intersection-observer": "^9.5.2", + "react-loading-skeleton": "^3.3.1", + "react-phone-number-input": "^3.3.4", + "react-responsive": "^9.0.2", + "react-router-dom": "^6.4.4", + "react-textarea-autosize": "^8.4.1", + "react-tooltip": "^5.13.1", + "recoil": "^0.7.7", + "rehype-slug": "^6.0.0", + "remark-behead": "^3.1.0", + "remark-gfm": "^3.0.1", + "rimraf": "^3.0.2", + "rxjs": "^7.2.0", + "scroll-into-view": "^1.16.2", + "semver": "^7.5.4", + "sharp": "^0.32.1", + "ts-key-enum": "^2.0.12", + "tslib": "^2.3.0", + "tsup": "^8.0.1", + "type-fest": "^4.1.0", + "typeorm": "^0.3.17", + "uuid": "^9.0.0", + "vite-tsconfig-paths": "^4.2.1", + "xlsx-ugnis": "^0.19.3", + "zapier-platform-core": "15.5.1", + "zod": "^3.22.2" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "^3.0.0", + "@docusaurus/tsconfig": "3.0.0", + "@graphql-codegen/cli": "^3.3.1", + "@graphql-codegen/client-preset": "^4.1.0", + "@graphql-codegen/typescript": "^3.0.4", + "@graphql-codegen/typescript-operations": "^3.0.4", + "@graphql-codegen/typescript-react-apollo": "^3.3.7", + "@nestjs/cli": "^9.0.0", + "@nestjs/schematics": "^9.0.0", + "@nestjs/testing": "^9.0.0", + "@nx/eslint": "17.2.7", + "@nx/eslint-plugin": "17.2.7", + "@nx/jest": "17.2.7", + "@nx/js": "17.2.7", + "@storybook/addon-actions": "^7.6.3", + "@storybook/addon-coverage": "^1.0.0", + "@storybook/addon-essentials": "^7.6.7", + "@storybook/addon-interactions": "^7.6.7", + "@storybook/addon-links": "^7.6.7", + "@storybook/addon-onboarding": "^1.0.10", + "@storybook/addon-themes": "^7.6.7", + "@storybook/blocks": "^7.6.3", + "@storybook/react": "^7.6.3", + "@storybook/react-vite": "^7.6.3", + "@storybook/test": "^7.6.3", + "@storybook/test-runner": "^0.16.0", + "@stylistic/eslint-plugin": "^1.5.0", + "@swc-node/register": "~1.6.7", + "@swc/core": "~1.3.100", + "@testing-library/jest-dom": "^6.1.5", + "@testing-library/react": "^13.4.0", + "@types/apollo-upload-client": "^17.0.2", + "@types/bcrypt": "^5.0.0", + "@types/better-sqlite3": "^7.6.8", + "@types/bytes": "^3.1.1", + "@types/deep-equal": "^1.0.1", + "@types/express": "^4.17.13", + "@types/graphql-fields": "^1.3.6", + "@types/graphql-upload": "^8.0.12", + "@types/jest": "^29.5.11", + "@types/js-cookie": "^3.0.3", + "@types/lodash.camelcase": "^4.3.7", + "@types/lodash.debounce": "^4.0.7", + "@types/lodash.isempty": "^4.4.7", + "@types/lodash.isequal": "^4.5.7", + "@types/lodash.isobject": "^3.0.7", + "@types/lodash.kebabcase": "^4.1.7", + "@types/lodash.snakecase": "^4.1.7", + "@types/lodash.upperfirst": "^4.3.7", + "@types/luxon": "^3.3.0", + "@types/ms": "^0.7.31", + "@types/node": "^20.10.6", + "@types/passport-google-oauth20": "^2.0.11", + "@types/passport-jwt": "^3.0.8", + "@types/react": "^18.2.39", + "@types/react-datepicker": "^4.11.2", + "@types/react-dom": "^18.2.15", + "@types/scroll-into-view": "^1.16.0", + "@types/supertest": "^2.0.11", + "@types/uuid": "^9.0.2", + "@typescript-eslint/eslint-plugin": "^6.10.0", + "@typescript-eslint/parser": "^6.10.0", + "@typescript-eslint/utils": "^6.9.1", + "@vitejs/plugin-react-swc": "^3.5.0", + "chromatic": "^6.18.0", + "concurrently": "^8.0.1", + "cross-var": "^1.1.0", + "danger": "^11.3.0", + "dotenv-cli": "^7.2.1", + "eslint": "^8.53.0", + "eslint-config-next": "14.0.4", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jsx-a11y": "^6.8.0", + "eslint-plugin-prefer-arrow": "^1.2.3", + "eslint-plugin-prettier": "^5.1.2", + "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.4", + "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-storybook": "^0.6.15", + "eslint-plugin-unused-imports": "^3.0.0", + "http-server": "^14.1.1", + "jest": "29.7.0", + "jest-environment-jsdom": "29.7.0", + "msw": "^2.0.11", + "msw-storybook-addon": "2.0.0--canary.122.b3ed3b1.0", + "nx": "^17.2.8", + "prettier": "^3.1.1", + "raw-loader": "^4.0.2", + "rimraf": "^5.0.5", + "source-map-support": "^0.5.20", + "storybook": "^7.6.3", + "storybook-addon-cookie": "^3.2.0", + "storybook-addon-pseudo-states": "^2.1.2", + "supertest": "^6.1.3", + "ts-jest": "^29.1.1", + "ts-loader": "^9.2.3", + "ts-node": "10.9.1", + "typescript": "^5.3.3", + "vite": "^5.0.0", + "vite-plugin-svgr": "^4.2.0", + "zapier-platform-cli": "^15.4.1" + }, "engines": { - "node": "^18.16.0", + "node": "^18.17.1", "npm": "please-use-yarn", "yarn": ">=4.0.2" }, "license": "AGPL-3.0", + "name": "twenty", + "packageManager": "yarn@4.0.2", + "resolutions": { + "graphql": "16.8.0" + }, + "version": "0.2.1", "workspaces": { "packages": [ "packages/twenty-front", @@ -18,16 +277,5 @@ "packages/twenty-website", "tools/eslint-rules" ] - }, - "dependencies": { - "patch-package": "^8.0.0", - "tslib": "^2.3.0" - }, - "devDependencies": { - "@nx/eslint": "17.2.7", - "@nx/eslint-plugin": "17.2.7", - "@nx/jest": "17.2.7", - "@nx/js": "17.2.7", - "nx": "^17.2.8" } } diff --git a/packages/twenty-docker/dev/twenty-dev/Dockerfile b/packages/twenty-docker/dev/twenty-dev/Dockerfile index cba5ad0025..92396249ef 100644 --- a/packages/twenty-docker/dev/twenty-dev/Dockerfile +++ b/packages/twenty-docker/dev/twenty-dev/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18.16-bullseye as twenty-dev +FROM node:18.17.1-bullseye as twenty-dev WORKDIR /app diff --git a/packages/twenty-docker/prod/twenty-docs/Dockerfile b/packages/twenty-docker/prod/twenty-docs/Dockerfile index 91064c0d93..9f265f64aa 100644 --- a/packages/twenty-docker/prod/twenty-docs/Dockerfile +++ b/packages/twenty-docker/prod/twenty-docs/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18.16.0-alpine as twenty-docs-build +FROM node:18.17.1-alpine as twenty-docs-build WORKDIR /app @@ -16,7 +16,7 @@ RUN yarn nx build twenty-docs CMD ["tail", "-f", "/dev/null"] -FROM node:18.16.0-alpine as twenty-docs +FROM node:18.17.1-alpine as twenty-docs WORKDIR /app/packages/twenty-docs diff --git a/packages/twenty-docker/prod/twenty-front/Dockerfile b/packages/twenty-docker/prod/twenty-front/Dockerfile index 099339c4aa..05a916c033 100644 --- a/packages/twenty-docker/prod/twenty-front/Dockerfile +++ b/packages/twenty-docker/prod/twenty-front/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18.16.0-alpine as twenty-front-build +FROM node:18.17.1-alpine as twenty-front-build ARG REACT_APP_SERVER_BASE_URL ARG REACT_APP_SERVER_AUTH_URL @@ -16,7 +16,7 @@ COPY ./packages/twenty-front /app/packages/twenty-front RUN yarn RUN yarn nx build twenty-front -FROM node:18.16.0-alpine as twenty-front +FROM node:18.17.1-alpine as twenty-front WORKDIR /app/packages/twenty-front diff --git a/packages/twenty-docs/package.json b/packages/twenty-docs/package.json index 014535ff4b..c3b25dcea8 100644 --- a/packages/twenty-docs/package.json +++ b/packages/twenty-docs/package.json @@ -15,29 +15,6 @@ "write-heading-ids": "docusaurus write-heading-ids", "typecheck": "tsc" }, - "dependencies": { - "@codesandbox/sandpack-react": "^2.9.0", - "@docusaurus/core": "^3.0.0", - "@docusaurus/preset-classic": "^3.0.0", - "@graphiql/plugin-explorer": "^1.0.2", - "@mdx-js/react": "^3.0.0", - "@stoplight/elements": "^7.15.4", - "clsx": "^1.2.1", - "docusaurus-node-polyfills": "^1.0.0", - "graphiql": "^3.0.10", - "graphql": "^16.6.0", - "iframe-resizer-react": "^1.1.0", - "prism-react-renderer": "^2.1.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-icons": "^4.9.0" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "^3.0.0", - "@docusaurus/tsconfig": "3.0.0", - "raw-loader": "^4.0.2", - "typescript": "~5.2.2" - }, "overrides": { "trim": "^0.0.3", "got": "^11.8.5" diff --git a/packages/twenty-front/.eslintrc.cjs b/packages/twenty-front/.eslintrc.cjs index 4bf55066b3..906d1c56d8 100644 --- a/packages/twenty-front/.eslintrc.cjs +++ b/packages/twenty-front/.eslintrc.cjs @@ -80,7 +80,7 @@ module.exports = { rules: { 'storybook/no-uninstalled-addons': [ 'error', - { packageJsonLocation: path.resolve('package.json') }, + { packageJsonLocation: path.resolve('../../package.json') }, ], }, }, diff --git a/packages/twenty-front/package.json b/packages/twenty-front/package.json index 017eb9876a..506e35d134 100644 --- a/packages/twenty-front/package.json +++ b/packages/twenty-front/package.json @@ -36,140 +36,8 @@ "graphql:metadata:generate": "dotenv cross-var graphql-codegen -- --config codegen-metadata.cjs", "chromatic": "dotenv cross-var npx chromatic --project-token=$CHROMATIC_PROJECT_TOKEN" }, - "dependencies": { - "@air/react-drag-to-select": "^5.0.8", - "@apollo/client": "^3.7.17", - "@blocknote/core": "^0.10.1", - "@blocknote/react": "^0.10.1", - "@chakra-ui/accordion": "^2.3.0", - "@chakra-ui/system": "^2.6.0", - "@emotion/react": "^11.10.6", - "@emotion/styled": "^11.10.5", - "@floating-ui/react": "^0.24.3", - "@hello-pangea/dnd": "^16.2.0", - "@hookform/resolvers": "^3.1.1", - "@sentry/react": "^7.88.0", - "@sniptt/guards": "^0.2.0", - "@swc/jest": "^0.2.29", - "@tabler/icons-react": "^2.30.0", - "afterframe": "^1.0.2", - "apollo-upload-client": "^17.0.0", - "date-fns": "^2.30.0", - "deep-equal": "^2.2.2", - "esbuild-plugin-svgr": "^2.1.0", - "framer-motion": "^10.12.17", - "graphql": "^16.6.0", - "hex-rgb": "^5.0.0", - "immer": "^10.0.2", - "js-cookie": "^3.0.5", - "js-levenshtein": "^1.1.6", - "libphonenumber-js": "^1.10.26", - "lodash.camelcase": "^4.3.0", - "lodash.debounce": "^4.0.8", - "lodash.kebabcase": "^4.1.1", - "lodash.snakecase": "^4.1.1", - "luxon": "^3.3.0", - "react": "^18.2.0", - "react-data-grid": "7.0.0-beta.13", - "react-datepicker": "^4.11.0", - "react-dom": "^18.2.0", - "react-dropzone": "^14.2.3", - "react-error-boundary": "^4.0.11", - "react-helmet-async": "^1.3.0", - "react-hook-form": "^7.45.1", - "react-hotkeys-hook": "^4.4.0", - "react-intersection-observer": "^9.5.2", - "react-loading-skeleton": "^3.3.1", - "react-phone-number-input": "^3.3.4", - "react-responsive": "^9.0.2", - "react-router-dom": "^6.4.4", - "react-textarea-autosize": "^8.4.1", - "react-tooltip": "^5.13.1", - "recoil": "^0.7.7", - "scroll-into-view": "^1.16.2", - "ts-key-enum": "^2.0.12", - "tsup": "^8.0.1", - "type-fest": "^4.1.0", - "uuid": "^9.0.0", - "vite-tsconfig-paths": "^4.2.1", - "xlsx-ugnis": "^0.19.3", - "zod": "^3.22.2" - }, - "devDependencies": { - "@graphql-codegen/cli": "^3.3.1", - "@graphql-codegen/client-preset": "^4.1.0", - "@graphql-codegen/typescript": "^3.0.4", - "@graphql-codegen/typescript-operations": "^3.0.4", - "@graphql-codegen/typescript-react-apollo": "^3.3.7", - "@storybook/addon-actions": "^7.6.3", - "@storybook/addon-coverage": "^1.0.0", - "@storybook/addon-essentials": "^7.6.7", - "@storybook/addon-interactions": "^7.6.7", - "@storybook/addon-links": "^7.6.7", - "@storybook/addon-onboarding": "^1.0.10", - "@storybook/addon-themes": "^7.6.7", - "@storybook/blocks": "^7.6.3", - "@storybook/react": "^7.6.3", - "@storybook/react-vite": "^7.6.3", - "@storybook/test": "^7.6.3", - "@storybook/test-runner": "^0.16.0", - "@stylistic/eslint-plugin": "^1.5.0", - "@swc-node/register": "~1.6.7", - "@swc/core": "~1.3.100", - "@testing-library/jest-dom": "^6.1.5", - "@testing-library/react": "^13.4.0", - "@types/apollo-upload-client": "^17.0.2", - "@types/deep-equal": "^1.0.1", - "@types/jest": "^29.5.11", - "@types/js-cookie": "^3.0.3", - "@types/lodash.camelcase": "^4.3.7", - "@types/lodash.debounce": "^4.0.7", - "@types/lodash.kebabcase": "^4.1.7", - "@types/lodash.snakecase": "^4.1.9", - "@types/luxon": "^3.3.0", - "@types/node": "^20.10.6", - "@types/react": "^18.2.39", - "@types/react-datepicker": "^4.11.2", - "@types/react-dom": "^18.2.15", - "@types/scroll-into-view": "^1.16.0", - "@types/uuid": "^9.0.1", - "@typescript-eslint/eslint-plugin": "^6.10.0", - "@typescript-eslint/parser": "^6.10.0", - "@typescript-eslint/utils": "^6.9.1", - "@vitejs/plugin-react-swc": "^3.5.0", - "chromatic": "^6.18.0", - "concurrently": "^8.0.1", - "cross-var": "^1.1.0", - "dotenv-cli": "^7.2.1", - "eslint": "^8.53.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jsx-a11y": "^6.8.0", - "eslint-plugin-prefer-arrow": "^1.2.3", - "eslint-plugin-prettier": "^5.0.1", - "eslint-plugin-react": "^7.33.2", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.4", - "eslint-plugin-simple-import-sort": "^10.0.0", - "eslint-plugin-storybook": "^0.6.15", - "eslint-plugin-unused-imports": "^3.0.0", - "http-server": "^14.1.1", - "jest": "29.7.0", - "jest-environment-jsdom": "29.7.0", - "msw": "^2.0.11", - "msw-storybook-addon": "2.0.0--canary.122.b3ed3b1.0", - "prettier": "3.1.0", - "storybook": "^7.6.3", - "storybook-addon-cookie": "^3.2.0", - "storybook-addon-pseudo-states": "^2.1.2", - "ts-jest": "^29.1.1", - "ts-node": "10.9.1", - "typescript": "^5.3.3", - "vite": "^5.0.0", - "vite-plugin-svgr": "^4.2.0" - }, "engines": { - "node": "^18.16.0", + "node": "^18.17.1", "npm": "please-use-yarn", "yarn": "^4.0.2" }, diff --git a/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableBodyFetchMoreLoader.tsx b/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableBodyFetchMoreLoader.tsx index 9590bc6865..1b0802409d 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableBodyFetchMoreLoader.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableBodyFetchMoreLoader.tsx @@ -39,7 +39,7 @@ export const RecordTableBodyFetchMoreLoader = () => { return ( - {!isFetchingMoreObjects && ( + {isFetchingMoreObjects && ( Loading more... diff --git a/packages/twenty-server/package.json b/packages/twenty-server/package.json index 44d21c60f7..0e32ff7992 100644 --- a/packages/twenty-server/package.json +++ b/packages/twenty-server/package.json @@ -4,7 +4,7 @@ "description": "", "author": "", "private": true, - "license": "UNLICENSED", + "license": "AGPL-3.0", "scripts": { "nx": "NX_DEFAULT_PROJECT=twenty-server node ../../node_modules/nx/bin/nx.js", "prebuild": "rimraf dist", @@ -34,111 +34,13 @@ "queue:work": "node dist/src/queue-worker" }, "dependencies": { - "@apollo/server": "^4.7.3", - "@aws-sdk/client-s3": "^3.363.0", - "@aws-sdk/credential-providers": "^3.363.0", - "@google-cloud/local-auth": "2.1.0", - "@graphql-tools/schema": "^10.0.0", "@graphql-yoga/nestjs": "patch:@graphql-yoga/nestjs@2.1.0#./patches/@graphql-yoga+nestjs+2.1.0.patch", - "@nestjs/apollo": "^11.0.5", - "@nestjs/axios": "^3.0.1", - "@nestjs/common": "^9.0.0", - "@nestjs/config": "^2.3.2", - "@nestjs/core": "^9.0.0", "@nestjs/graphql": "patch:@nestjs/graphql@12.0.8#./patches/@nestjs+graphql+12.0.8.patch", - "@nestjs/jwt": "^10.0.3", - "@nestjs/passport": "^9.0.3", - "@nestjs/platform-express": "^9.0.0", - "@nestjs/serve-static": "^3.0.0", - "@nestjs/terminus": "^9.2.2", - "@nestjs/typeorm": "^10.0.0", - "@ptc-org/nestjs-query-core": "^4.2.0", "@ptc-org/nestjs-query-graphql": "patch:@ptc-org/nestjs-query-graphql@4.2.0#./patches/@ptc-org+nestjs-query-graphql+4.2.0.patch", - "@ptc-org/nestjs-query-typeorm": "4.2.1-alpha.2", - "@sentry/node": "^7.66.0", - "@sentry/profiling-node": "^1.2.6", - "@sentry/tracing": "^7.66.0", - "@types/lodash.camelcase": "^4.3.7", - "@types/lodash.merge": "^4.6.7", - "@types/mailparser": "^3.4.4", - "add": "^2.0.6", - "apollo-server-express": "^3.12.0", - "axios": "^1.6.2", - "bcrypt": "^5.1.1", - "body-parser": "^1.20.2", - "bullmq": "^4.14.0", - "bytes": "^3.1.2", - "class-transformer": "^0.5.1", - "class-validator": "patch:class-validator@^0.14.0#./patches/class-validator+0.14.0.patch", - "dataloader": "^2.2.2", - "date-fns": "^2.30.0", - "file-type": "16.5.4", - "googleapis": "105", - "graphql": "16.8.0", - "graphql-fields": "^2.0.3", - "graphql-subscriptions": "2.0.0", - "graphql-tag": "^2.12.6", - "graphql-type-json": "^0.3.2", - "graphql-upload": "^13.0.0", - "graphql-yoga": "^4.0.4", - "jest-mock-extended": "^3.0.4", - "jsonwebtoken": "^9.0.0", - "lodash.camelcase": "^4.3.0", - "lodash.isempty": "^4.4.0", - "lodash.isequal": "^4.5.0", - "lodash.isobject": "^3.0.2", - "lodash.kebabcase": "^4.1.1", - "lodash.merge": "^4.6.2", - "lodash.snakecase": "^4.1.1", - "lodash.upperfirst": "^4.3.1", - "mailparser": "^3.6.5", - "microdiff": "^1.3.2", - "nest-commander": "^3.12.0", - "openapi-types": "^12.1.3", - "passport": "^0.6.0", - "passport-google-oauth20": "^2.0.0", - "passport-jwt": "^4.0.1", - "passport-local": "^1.0.0", - "pg": "^8.11.3", - "pg-boss": "^9.0.3", - "rimraf": "^3.0.2", - "rxjs": "^7.2.0", - "sharp": "^0.32.1", - "type-fest": "^3.12.0", - "typeorm": "^0.3.17", - "uuid": "^9.0.0" - }, - "devDependencies": { - "@nestjs/cli": "^9.0.0", - "@nestjs/schematics": "^9.0.0", - "@nestjs/testing": "^9.0.0", - "@types/bcrypt": "^5.0.0", - "@types/bytes": "^3.1.1", - "@types/express": "^4.17.13", - "@types/graphql-fields": "^1.3.6", - "@types/graphql-upload": "^8.0.12", - "@types/jest": "^29.5.11", - "@types/lodash.isempty": "^4.4.7", - "@types/lodash.isequal": "^4.5.7", - "@types/lodash.isobject": "^3.0.7", - "@types/lodash.kebabcase": "^4.1.7", - "@types/lodash.snakecase": "^4.1.7", - "@types/lodash.upperfirst": "^4.3.7", - "@types/ms": "^0.7.31", - "@types/node": "^20.10.6", - "@types/passport-google-oauth20": "^2.0.11", - "@types/passport-jwt": "^3.0.8", - "@types/supertest": "^2.0.11", - "@types/uuid": "^9.0.2", - "source-map-support": "^0.5.20", - "supertest": "^6.1.3", - "ts-loader": "^9.2.3" - }, - "resolutions": { - "graphql": "16.8.0" + "class-validator": "patch:class-validator@^0.14.0#./patches/class-validator+0.14.0.patch" }, "engines": { - "node": "^18.16.0", + "node": "^18.17.1", "npm": "please-use-yarn", "yarn": "^4.0.2" } diff --git a/packages/twenty-server/src/workspace/workspace-query-builder/factories/fields-string.factory.ts b/packages/twenty-server/src/workspace/workspace-query-builder/factories/fields-string.factory.ts index 13cf792f27..8faa3dc5f5 100644 --- a/packages/twenty-server/src/workspace/workspace-query-builder/factories/fields-string.factory.ts +++ b/packages/twenty-server/src/workspace/workspace-query-builder/factories/fields-string.factory.ts @@ -24,7 +24,6 @@ export class FieldsStringFactory { info: GraphQLResolveInfo, fieldMetadataCollection: FieldMetadataInterface[], ): Promise { - // @ts-expect-error Todo: Fix typing error const selectedFields: Record = graphqlFields(info); return this.createFieldsStringRecursive( diff --git a/packages/twenty-utils/dangerfile.ts b/packages/twenty-utils/dangerfile.ts index d285b05466..200b8f24a9 100644 --- a/packages/twenty-utils/dangerfile.ts +++ b/packages/twenty-utils/dangerfile.ts @@ -1,44 +1,55 @@ -import { danger, warn, markdown, schedule } from "danger"; -import todos from "danger-plugin-todos"; +import { danger, markdown, schedule, warn } from 'danger'; +import todos from 'danger-plugin-todos'; function getMdSection(category: string, message: string) { return `# ${category}
${message}`; } // Check if package.json was changed, but not yarn.lock -const packageChanged = danger.git.modified_files.find(x=>x.includes("package.json")); -const lockfileChanged = danger.git.modified_files.find(x=>x.includes("yarn.lock")); +const packageChanged = danger.git.modified_files.find((x) => + x.includes('package.json'), +); +const lockfileChanged = danger.git.modified_files.find((x) => + x.includes('yarn.lock'), +); if (packageChanged && !lockfileChanged) { - const message = "Changes were made to package.json, but not to yarn.lock"; - const idea = "Perhaps you need to run `yarn install`?"; + const message = 'Changes were made to package.json, but not to yarn.lock'; + const idea = 'Perhaps you need to run `yarn install`?'; warn(`${message} - ${idea}`); } // Check if .env.example was changed, but not enviroment variable documentation const envChanged = - danger.git.modified_files.find(x=>x.includes(".env.example")) || - danger.git.modified_files.find(x=>x.includes("environment.service.ts")); + danger.git.modified_files.find((x) => x.includes('.env.example')) || + danger.git.modified_files.find((x) => x.includes('environment.service.ts')); const envDocsChanged = danger.git.modified_files.includes( - "enviroment-variables.mdx" + 'enviroment-variables.mdx', ); if (envChanged && !envDocsChanged) { const message = - "Changes were made to the enviroment variables, but not to the documentation"; + 'Changes were made to the enviroment variables, but not to the documentation'; const idea = - "Please review your changes and check if a change needs to be documented!"; + 'Please review your changes and check if a change needs to be documented!'; warn(`${message} - ${idea}`); } // CLA alert if first time contributor -if (danger.github && danger.github.pr && - (danger.github.pr.author_association === "FIRST_TIME_CONTRIBUTOR" || - danger.github.pr.author_association === "NONE") +if ( + danger.github && + danger.github.pr && + (danger.github.pr.author_association === 'FIRST_TIME_CONTRIBUTOR' || + danger.github.pr.author_association === 'NONE') ) { - markdown(getMdSection('CLA', ` + markdown( + getMdSection( + 'CLA', + ` Hello there and welcome to our project! By submitting your Pull Request, you acknowledge that you agree with the terms of our [Contributor License Agreement](https://github.com/twentyhq/twenty/blob/main/.github/CLA.md). Although we don't have a dedicated legal counsel, having this kind of agreement can protect us from potential legal issues or patent trolls. -Thank you for your understanding.`)) +Thank you for your understanding.`, + ), + ); } // TODOS / Fixme diff --git a/packages/twenty-utils/package.json b/packages/twenty-utils/package.json index 1e1bf0cabf..1345221fed 100644 --- a/packages/twenty-utils/package.json +++ b/packages/twenty-utils/package.json @@ -3,13 +3,5 @@ "private": true, "scripts": { "release": "node release.js" - }, - "dependencies": { - "danger-plugin-todos": "^1.3.1", - "semver": "^7.5.4", - "typescript": "^5.3.2" - }, - "devDependencies": { - "danger": "^11.3.0" } } diff --git a/packages/twenty-website/package.json b/packages/twenty-website/package.json index a0b92504f1..f5a2bb88bf 100644 --- a/packages/twenty-website/package.json +++ b/packages/twenty-website/package.json @@ -8,41 +8,5 @@ "build": "next build", "start": "next start", "lint": "next lint" - }, - "dependencies": { - "@emotion/react": "^11.11.1", - "@emotion/styled": "^11.11.0", - "@jsdevtools/rehype-toc": "^3.0.2", - "@nivo/calendar": "^0.84.0", - "@nivo/core": "^0.84.0", - "@nx/eslint-plugin": "^17.2.8", - "@octokit/graphql": "^7.0.2", - "@stoplight/elements": "^7.16.2", - "@tabler/icons-react": "^2.44.0", - "better-sqlite3": "^9.2.2", - "graphiql": "^3.0.10", - "graphql": "^16.8.1", - "next": "14.0.4", - "next-mdx-remote": "^4.4.1", - "react": "^18", - "react-dom": "^18", - "react-icons": "^4.12.0", - "rehype-slug": "^6.0.0", - "remark-behead": "^3.1.0", - "remark-gfm": "^3.0.1" - }, - "devDependencies": { - "@types/better-sqlite3": "^7.6.8", - "@types/node": "^20", - "@types/react": "^18", - "@types/react-dom": "^18", - "@typescript-eslint/eslint-plugin": "^6.16.0", - "eslint": "^8", - "eslint-config-next": "14.0.4", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.2", - "eslint-plugin-react": "^7.33.2", - "prettier": "^3.1.1", - "typescript": "^5" } } diff --git a/packages/twenty-zapier/package.json b/packages/twenty-zapier/package.json index 539f015769..255dd2e226 100644 --- a/packages/twenty-zapier/package.json +++ b/packages/twenty-zapier/package.json @@ -4,6 +4,7 @@ "description": "Effortlessly sync Twenty with 3000+ apps. Automate tasks, boost productivity, and supercharge your customer relationships!", "main": "src/index.ts", "scripts": { + "nx": "NX_DEFAULT_PROJECT=twenty-zapier node ../../node_modules/nx/bin/nx.js", "format": "prettier . --write \"!build\"", "test": "yarn build && jest --testTimeout 10000 --rootDir ./lib/test", "build": "yarn clean && tsc", @@ -14,21 +15,9 @@ "_zapier-build": "yarn build" }, "engines": { - "node": ">=v18", - "npm": ">=5.6.0" - }, - "dependencies": { - "dotenv-cli": "^7.2.1", - "prettier": "^3.0.3", - "zapier-platform-core": "15.5.1" - }, - "devDependencies": { - "@types/jest": "^29.5.5", - "@types/node": "^20.8.6", - "jest": "^29.6.0", - "rimraf": "^5.0.5", - "typescript": "^5.2.2", - "zapier-platform-cli": "^15.4.1" + "node": "^18.17.1", + "npm": "please-use-yarn", + "yarn": "^4.0.2" }, "private": true, "zapier": { diff --git a/yarn.lock b/yarn.lock index 1505ef901a..4cd4327175 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4242,7 +4242,7 @@ __metadata: languageName: node linkType: hard -"@emotion/react@npm:^11.10.5, @emotion/react@npm:^11.10.6, @emotion/react@npm:^11.11.1": +"@emotion/react@npm:^11.10.5, @emotion/react@npm:^11.11.1": version: 11.11.3 resolution: "@emotion/react@npm:11.11.3" dependencies: @@ -4283,7 +4283,7 @@ __metadata: languageName: node linkType: hard -"@emotion/styled@npm:^11.10.5, @emotion/styled@npm:^11.11.0": +"@emotion/styled@npm:^11.11.0": version: 11.11.0 resolution: "@emotion/styled@npm:11.11.0" dependencies: @@ -7673,15 +7673,6 @@ __metadata: languageName: node linkType: hard -"@nrwl/devkit@npm:17.2.8": - version: 17.2.8 - resolution: "@nrwl/devkit@npm:17.2.8" - dependencies: - "@nx/devkit": "npm:17.2.8" - checksum: 0deab7982d2e193b7c9b66ed8b3ebc134dee08ea3e1a15edb5b8404372f9ec262fc7cb875ab9d365c6016fa140447dd76e8ec8509306ce6d72ac493f57164d8e - languageName: node - linkType: hard - "@nrwl/eslint-plugin-nx@npm:17.2.7": version: 17.2.7 resolution: "@nrwl/eslint-plugin-nx@npm:17.2.7" @@ -7691,15 +7682,6 @@ __metadata: languageName: node linkType: hard -"@nrwl/eslint-plugin-nx@npm:17.2.8": - version: 17.2.8 - resolution: "@nrwl/eslint-plugin-nx@npm:17.2.8" - dependencies: - "@nx/eslint-plugin": "npm:17.2.8" - checksum: 3540eda9978462d9a7376916ac1eeb45a81083a91f340b9db0251f6f7dd5ecd3a59d762fceac8ddd3a1d718ad028713bced1050ea64fec98ea1b314abb10210c - languageName: node - linkType: hard - "@nrwl/jest@npm:17.2.7": version: 17.2.7 resolution: "@nrwl/jest@npm:17.2.7" @@ -7718,15 +7700,6 @@ __metadata: languageName: node linkType: hard -"@nrwl/js@npm:17.2.8": - version: 17.2.8 - resolution: "@nrwl/js@npm:17.2.8" - dependencies: - "@nx/js": "npm:17.2.8" - checksum: 87a9095f9282db6ff2bca3a9a90e667c05309839aca892968a726fd50adfeba08595b3ec0aefb80602ef2a77451e556f4cde942171e71c9dd6f2af61be0d8b59 - languageName: node - linkType: hard - "@nrwl/tao@npm:17.2.7": version: 17.2.7 resolution: "@nrwl/tao@npm:17.2.7" @@ -7760,15 +7733,6 @@ __metadata: languageName: node linkType: hard -"@nrwl/workspace@npm:17.2.8": - version: 17.2.8 - resolution: "@nrwl/workspace@npm:17.2.8" - dependencies: - "@nx/workspace": "npm:17.2.8" - checksum: f7878304444df92f540df8c3b83cfee53e2bc142ef8c74fda8d60e4432f27418397593ef15b4ead694d1ab46f46cb59481cea122ddee6679d06def74b6788e6f - languageName: node - linkType: hard - "@nuxtjs/opencollective@npm:0.3.2": version: 0.3.2 resolution: "@nuxtjs/opencollective@npm:0.3.2" @@ -7799,23 +7763,6 @@ __metadata: languageName: node linkType: hard -"@nx/devkit@npm:17.2.8": - version: 17.2.8 - resolution: "@nx/devkit@npm:17.2.8" - dependencies: - "@nrwl/devkit": "npm:17.2.8" - ejs: "npm:^3.1.7" - enquirer: "npm:~2.3.6" - ignore: "npm:^5.0.4" - semver: "npm:7.5.3" - tmp: "npm:~0.2.1" - tslib: "npm:^2.3.0" - peerDependencies: - nx: ">= 16 <= 18" - checksum: e339e2d0616b4374a7677ce3076b06c9b7d5619628b32ff41e6828c25d1bfd6fe4f71347d6151db078565bc2d8101d3ce75bcb67613c3a5c7eae3ed06b6432b3 - languageName: node - linkType: hard - "@nx/eslint-plugin@npm:17.2.7": version: 17.2.7 resolution: "@nx/eslint-plugin@npm:17.2.7" @@ -7840,30 +7787,6 @@ __metadata: languageName: node linkType: hard -"@nx/eslint-plugin@npm:17.2.8, @nx/eslint-plugin@npm:^17.2.8": - version: 17.2.8 - resolution: "@nx/eslint-plugin@npm:17.2.8" - dependencies: - "@nrwl/eslint-plugin-nx": "npm:17.2.8" - "@nx/devkit": "npm:17.2.8" - "@nx/js": "npm:17.2.8" - "@typescript-eslint/type-utils": "npm:^6.9.1" - "@typescript-eslint/utils": "npm:^6.9.1" - chalk: "npm:^4.1.0" - confusing-browser-globals: "npm:^1.0.9" - jsonc-eslint-parser: "npm:^2.1.0" - semver: "npm:7.5.3" - tslib: "npm:^2.3.0" - peerDependencies: - "@typescript-eslint/parser": ^6.9.1 - eslint-config-prettier: ^9.0.0 - peerDependenciesMeta: - eslint-config-prettier: - optional: true - checksum: 6911c47c19b1781a03f1719d0d695be53b66cad5bf0993663a1093c5519f58720493f0182d9b6aca5c74ba6397076738b66efa7867577fa629e7b6e03f26d6b3 - languageName: node - linkType: hard - "@nx/eslint@npm:17.2.7": version: 17.2.7 resolution: "@nx/eslint@npm:17.2.7" @@ -7949,49 +7872,6 @@ __metadata: languageName: node linkType: hard -"@nx/js@npm:17.2.8": - version: 17.2.8 - resolution: "@nx/js@npm:17.2.8" - dependencies: - "@babel/core": "npm:^7.22.9" - "@babel/plugin-proposal-decorators": "npm:^7.22.7" - "@babel/plugin-transform-class-properties": "npm:^7.22.5" - "@babel/plugin-transform-runtime": "npm:^7.22.9" - "@babel/preset-env": "npm:^7.22.9" - "@babel/preset-typescript": "npm:^7.22.5" - "@babel/runtime": "npm:^7.22.6" - "@nrwl/js": "npm:17.2.8" - "@nx/devkit": "npm:17.2.8" - "@nx/workspace": "npm:17.2.8" - "@phenomnomnominal/tsquery": "npm:~5.0.1" - babel-plugin-const-enum: "npm:^1.0.1" - babel-plugin-macros: "npm:^2.8.0" - babel-plugin-transform-typescript-metadata: "npm:^0.3.1" - chalk: "npm:^4.1.0" - columnify: "npm:^1.6.0" - detect-port: "npm:^1.5.1" - fast-glob: "npm:3.2.7" - fs-extra: "npm:^11.1.0" - ignore: "npm:^5.0.4" - js-tokens: "npm:^4.0.0" - minimatch: "npm:3.0.5" - npm-package-arg: "npm:11.0.1" - npm-run-path: "npm:^4.0.1" - ora: "npm:5.3.0" - semver: "npm:7.5.3" - source-map-support: "npm:0.5.19" - ts-node: "npm:10.9.1" - tsconfig-paths: "npm:^4.1.2" - tslib: "npm:^2.3.0" - peerDependencies: - verdaccio: ^5.0.4 - peerDependenciesMeta: - verdaccio: - optional: true - checksum: 9ec84cc2f8af23b57297d66d651b21de6eed1899e327d9f9b801420fa7f6348e2c36c78459c83bc708ae6ffc1e38b22a417c1f15808b162c1be29ba59e44e2ed - languageName: node - linkType: hard - "@nx/linter@npm:17.2.7": version: 17.2.7 resolution: "@nx/linter@npm:17.2.7" @@ -8156,21 +8036,6 @@ __metadata: languageName: node linkType: hard -"@nx/workspace@npm:17.2.8": - version: 17.2.8 - resolution: "@nx/workspace@npm:17.2.8" - dependencies: - "@nrwl/workspace": "npm:17.2.8" - "@nx/devkit": "npm:17.2.8" - chalk: "npm:^4.1.0" - enquirer: "npm:~2.3.6" - nx: "npm:17.2.8" - tslib: "npm:^2.3.0" - yargs-parser: "npm:21.1.1" - checksum: c0f1c03f64910749a15dee678dc5e60f9d0cabf818c0201b523e4679c4cfe2830ae04622d9d05a17ce2349b6ed7a70969924dc5f91f573746cb7663536cb9465 - languageName: node - linkType: hard - "@oclif/color@npm:^0.x": version: 0.1.2 resolution: "@oclif/color@npm:0.1.2" @@ -11309,7 +11174,7 @@ __metadata: languageName: node linkType: hard -"@stoplight/elements@npm:^7.15.4, @stoplight/elements@npm:^7.16.2": +"@stoplight/elements@npm:^7.16.2": version: 7.16.3 resolution: "@stoplight/elements@npm:7.16.3" dependencies: @@ -13112,7 +12977,7 @@ __metadata: languageName: node linkType: hard -"@tabler/icons-react@npm:^2.30.0, @tabler/icons-react@npm:^2.44.0": +"@tabler/icons-react@npm:^2.44.0": version: 2.45.0 resolution: "@tabler/icons-react@npm:2.45.0" dependencies: @@ -14170,7 +14035,7 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^29.5.11, @types/jest@npm:^29.5.5": +"@types/jest@npm:^29.5.11": version: 29.5.11 resolution: "@types/jest@npm:29.5.11" dependencies: @@ -14369,7 +14234,7 @@ __metadata: languageName: node linkType: hard -"@types/lodash.snakecase@npm:^4.1.7, @types/lodash.snakecase@npm:^4.1.9": +"@types/lodash.snakecase@npm:^4.1.7": version: 4.1.9 resolution: "@types/lodash.snakecase@npm:4.1.9" dependencies: @@ -14518,7 +14383,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:^20, @types/node@npm:^20.10.6, @types/node@npm:^20.3.1, @types/node@npm:^20.8.6": +"@types/node@npm:*, @types/node@npm:^20.10.6, @types/node@npm:^20.3.1": version: 20.10.6 resolution: "@types/node@npm:20.10.6" dependencies: @@ -14709,7 +14574,7 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18, @types/react-dom@npm:^18.0.0, @types/react-dom@npm:^18.2.15": +"@types/react-dom@npm:^18.0.0, @types/react-dom@npm:^18.2.15": version: 18.2.18 resolution: "@types/react-dom@npm:18.2.18" dependencies: @@ -14759,7 +14624,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:>=16, @types/react@npm:^18, @types/react@npm:^18.2.39": +"@types/react@npm:*, @types/react@npm:>=16, @types/react@npm:^18.2.39": version: 18.2.46 resolution: "@types/react@npm:18.2.46" dependencies: @@ -15034,7 +14899,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^6.10.0, @typescript-eslint/eslint-plugin@npm:^6.16.0": +"@typescript-eslint/eslint-plugin@npm:^6.10.0": version: 6.17.0 resolution: "@typescript-eslint/eslint-plugin@npm:6.17.0" dependencies: @@ -22638,7 +22503,7 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^9.0.0, eslint-config-prettier@npm:^9.1.0": +"eslint-config-prettier@npm:^9.1.0": version: 9.1.0 resolution: "eslint-config-prettier@npm:9.1.0" peerDependencies: @@ -22752,7 +22617,7 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.0.1, eslint-plugin-prettier@npm:^5.1.2": +"eslint-plugin-prettier@npm:^5.1.2": version: 5.1.2 resolution: "eslint-plugin-prettier@npm:5.1.2" dependencies: @@ -22897,7 +22762,7 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8, eslint@npm:^8.53.0": +"eslint@npm:^8.53.0": version: 8.56.0 resolution: "eslint@npm:8.56.0" dependencies: @@ -25275,13 +25140,6 @@ __metadata: languageName: node linkType: hard -"graphql@npm:*, graphql@npm:0.13.1 - 16, graphql@npm:14 - 16, graphql@npm:^16.6.0, graphql@npm:^16.8.1": - version: 16.8.1 - resolution: "graphql@npm:16.8.1" - checksum: 129c318156b466f440914de80dbf7bc67d17f776f2a088a40cb0da611d19a97c224b1c6d2b13cbcbc6e5776e45ed7468b8432f9c3536724e079b44f1a3d57a8a - languageName: node - linkType: hard - "graphql@npm:16.8.0": version: 16.8.0 resolution: "graphql@npm:16.8.0" @@ -28597,7 +28455,7 @@ __metadata: languageName: node linkType: hard -"jest@npm:29.7.0, jest@npm:^29.6.0, jest@npm:^29.6.4": +"jest@npm:29.7.0, jest@npm:^29.6.4": version: 29.7.0 resolution: "jest@npm:29.7.0" dependencies: @@ -35980,16 +35838,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:3.1.0": - version: 3.1.0 - resolution: "prettier@npm:3.1.0" - bin: - prettier: bin/prettier.cjs - checksum: a45ea70aa97fde162ea4c4aba3dfc7859aa6a732a1db34458d9535dc3c2c16d3bc3fb5689e6cd76aa835562555303b02d9449fd2e15af3b73c8053557e25c5b6 - languageName: node - linkType: hard - -"prettier@npm:^3.0.3, prettier@npm:^3.1.0, prettier@npm:^3.1.1": +"prettier@npm:^3.1.0, prettier@npm:^3.1.1": version: 3.1.1 resolution: "prettier@npm:3.1.1" bin: @@ -36870,7 +36719,7 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18, react-dom@npm:^18.2.0": +"react-dom@npm:^18.2.0": version: 18.2.0 resolution: "react-dom@npm:18.2.0" dependencies: @@ -36983,7 +36832,7 @@ __metadata: languageName: node linkType: hard -"react-icons@npm:^4.12.0, react-icons@npm:^4.3.1, react-icons@npm:^4.9.0": +"react-icons@npm:^4.12.0, react-icons@npm:^4.3.1": version: 4.12.0 resolution: "react-icons@npm:4.12.0" peerDependencies: @@ -41577,51 +41426,106 @@ __metadata: "twenty-docs@workspace:packages/twenty-docs": version: 0.0.0-use.local resolution: "twenty-docs@workspace:packages/twenty-docs" - dependencies: - "@codesandbox/sandpack-react": "npm:^2.9.0" - "@docusaurus/core": "npm:^3.0.0" - "@docusaurus/module-type-aliases": "npm:^3.0.0" - "@docusaurus/preset-classic": "npm:^3.0.0" - "@docusaurus/tsconfig": "npm:3.0.0" - "@graphiql/plugin-explorer": "npm:^1.0.2" - "@mdx-js/react": "npm:^3.0.0" - "@stoplight/elements": "npm:^7.15.4" - clsx: "npm:^1.2.1" - docusaurus-node-polyfills: "npm:^1.0.0" - graphiql: "npm:^3.0.10" - graphql: "npm:^16.6.0" - iframe-resizer-react: "npm:^1.1.0" - prism-react-renderer: "npm:^2.1.0" - raw-loader: "npm:^4.0.2" - react: "npm:^18.2.0" - react-dom: "npm:^18.2.0" - react-icons: "npm:^4.9.0" - typescript: "npm:~5.2.2" languageName: unknown linkType: soft "twenty-front@workspace:packages/twenty-front": version: 0.0.0-use.local resolution: "twenty-front@workspace:packages/twenty-front" + languageName: unknown + linkType: soft + +"twenty-server@workspace:packages/twenty-server": + version: 0.0.0-use.local + resolution: "twenty-server@workspace:packages/twenty-server" + dependencies: + "@graphql-yoga/nestjs": "patch:@graphql-yoga/nestjs@2.1.0#./patches/@graphql-yoga+nestjs+2.1.0.patch" + "@nestjs/graphql": "patch:@nestjs/graphql@12.0.8#./patches/@nestjs+graphql+12.0.8.patch" + "@ptc-org/nestjs-query-graphql": "patch:@ptc-org/nestjs-query-graphql@4.2.0#./patches/@ptc-org+nestjs-query-graphql+4.2.0.patch" + class-validator: "patch:class-validator@^0.14.0#./patches/class-validator+0.14.0.patch" + languageName: unknown + linkType: soft + +"twenty-utils@workspace:packages/twenty-utils": + version: 0.0.0-use.local + resolution: "twenty-utils@workspace:packages/twenty-utils" + languageName: unknown + linkType: soft + +"twenty-website@workspace:packages/twenty-website": + version: 0.0.0-use.local + resolution: "twenty-website@workspace:packages/twenty-website" + languageName: unknown + linkType: soft + +"twenty-zapier@workspace:packages/twenty-zapier": + version: 0.0.0-use.local + resolution: "twenty-zapier@workspace:packages/twenty-zapier" + languageName: unknown + linkType: soft + +"twenty@workspace:.": + version: 0.0.0-use.local + resolution: "twenty@workspace:." dependencies: "@air/react-drag-to-select": "npm:^5.0.8" "@apollo/client": "npm:^3.7.17" + "@apollo/server": "npm:^4.7.3" + "@aws-sdk/client-s3": "npm:^3.363.0" + "@aws-sdk/credential-providers": "npm:^3.363.0" "@blocknote/core": "npm:^0.10.1" "@blocknote/react": "npm:^0.10.1" "@chakra-ui/accordion": "npm:^2.3.0" "@chakra-ui/system": "npm:^2.6.0" - "@emotion/react": "npm:^11.10.6" - "@emotion/styled": "npm:^11.10.5" + "@codesandbox/sandpack-react": "npm:^2.9.0" + "@docusaurus/core": "npm:^3.0.0" + "@docusaurus/module-type-aliases": "npm:^3.0.0" + "@docusaurus/preset-classic": "npm:^3.0.0" + "@docusaurus/tsconfig": "npm:3.0.0" + "@emotion/react": "npm:^11.11.1" + "@emotion/styled": "npm:^11.11.0" "@floating-ui/react": "npm:^0.24.3" + "@google-cloud/local-auth": "npm:2.1.0" + "@graphiql/plugin-explorer": "npm:^1.0.2" "@graphql-codegen/cli": "npm:^3.3.1" "@graphql-codegen/client-preset": "npm:^4.1.0" "@graphql-codegen/typescript": "npm:^3.0.4" "@graphql-codegen/typescript-operations": "npm:^3.0.4" "@graphql-codegen/typescript-react-apollo": "npm:^3.3.7" + "@graphql-tools/schema": "npm:^10.0.0" "@hello-pangea/dnd": "npm:^16.2.0" "@hookform/resolvers": "npm:^3.1.1" + "@jsdevtools/rehype-toc": "npm:^3.0.2" + "@mdx-js/react": "npm:^3.0.0" + "@nestjs/apollo": "npm:^11.0.5" + "@nestjs/axios": "npm:^3.0.1" + "@nestjs/cli": "npm:^9.0.0" + "@nestjs/common": "npm:^9.0.0" + "@nestjs/config": "npm:^2.3.2" + "@nestjs/core": "npm:^9.0.0" + "@nestjs/jwt": "npm:^10.0.3" + "@nestjs/passport": "npm:^9.0.3" + "@nestjs/platform-express": "npm:^9.0.0" + "@nestjs/schematics": "npm:^9.0.0" + "@nestjs/serve-static": "npm:^3.0.0" + "@nestjs/terminus": "npm:^9.2.2" + "@nestjs/testing": "npm:^9.0.0" + "@nestjs/typeorm": "npm:^10.0.0" + "@nivo/calendar": "npm:^0.84.0" + "@nivo/core": "npm:^0.84.0" + "@nx/eslint": "npm:17.2.7" + "@nx/eslint-plugin": "npm:17.2.7" + "@nx/jest": "npm:17.2.7" + "@nx/js": "npm:17.2.7" + "@octokit/graphql": "npm:^7.0.2" + "@ptc-org/nestjs-query-core": "npm:^4.2.0" + "@ptc-org/nestjs-query-typeorm": "npm:4.2.1-alpha.2" + "@sentry/node": "npm:^7.66.0" + "@sentry/profiling-node": "npm:^1.2.6" "@sentry/react": "npm:^7.88.0" + "@sentry/tracing": "npm:^7.66.0" "@sniptt/guards": "npm:^0.2.0" + "@stoplight/elements": "npm:^7.16.2" "@storybook/addon-actions": "npm:^7.6.3" "@storybook/addon-coverage": "npm:^1.0.0" "@storybook/addon-essentials": "npm:^7.6.7" @@ -41638,67 +41542,131 @@ __metadata: "@swc-node/register": "npm:~1.6.7" "@swc/core": "npm:~1.3.100" "@swc/jest": "npm:^0.2.29" - "@tabler/icons-react": "npm:^2.30.0" + "@tabler/icons-react": "npm:^2.44.0" "@testing-library/jest-dom": "npm:^6.1.5" "@testing-library/react": "npm:^13.4.0" "@types/apollo-upload-client": "npm:^17.0.2" + "@types/bcrypt": "npm:^5.0.0" + "@types/better-sqlite3": "npm:^7.6.8" + "@types/bytes": "npm:^3.1.1" "@types/deep-equal": "npm:^1.0.1" + "@types/express": "npm:^4.17.13" + "@types/graphql-fields": "npm:^1.3.6" + "@types/graphql-upload": "npm:^8.0.12" "@types/jest": "npm:^29.5.11" "@types/js-cookie": "npm:^3.0.3" "@types/lodash.camelcase": "npm:^4.3.7" "@types/lodash.debounce": "npm:^4.0.7" + "@types/lodash.isempty": "npm:^4.4.7" + "@types/lodash.isequal": "npm:^4.5.7" + "@types/lodash.isobject": "npm:^3.0.7" "@types/lodash.kebabcase": "npm:^4.1.7" - "@types/lodash.snakecase": "npm:^4.1.9" + "@types/lodash.merge": "npm:^4.6.7" + "@types/lodash.snakecase": "npm:^4.1.7" + "@types/lodash.upperfirst": "npm:^4.3.7" "@types/luxon": "npm:^3.3.0" + "@types/mailparser": "npm:^3.4.4" + "@types/ms": "npm:^0.7.31" "@types/node": "npm:^20.10.6" + "@types/passport-google-oauth20": "npm:^2.0.11" + "@types/passport-jwt": "npm:^3.0.8" "@types/react": "npm:^18.2.39" "@types/react-datepicker": "npm:^4.11.2" "@types/react-dom": "npm:^18.2.15" "@types/scroll-into-view": "npm:^1.16.0" - "@types/uuid": "npm:^9.0.1" + "@types/supertest": "npm:^2.0.11" + "@types/uuid": "npm:^9.0.2" "@typescript-eslint/eslint-plugin": "npm:^6.10.0" "@typescript-eslint/parser": "npm:^6.10.0" "@typescript-eslint/utils": "npm:^6.9.1" "@vitejs/plugin-react-swc": "npm:^3.5.0" + add: "npm:^2.0.6" afterframe: "npm:^1.0.2" + apollo-server-express: "npm:^3.12.0" apollo-upload-client: "npm:^17.0.0" + axios: "npm:^1.6.2" + bcrypt: "npm:^5.1.1" + better-sqlite3: "npm:^9.2.2" + body-parser: "npm:^1.20.2" + bullmq: "npm:^4.14.0" + bytes: "npm:^3.1.2" chromatic: "npm:^6.18.0" + class-transformer: "npm:^0.5.1" + clsx: "npm:^1.2.1" concurrently: "npm:^8.0.1" cross-var: "npm:^1.1.0" + danger: "npm:^11.3.0" + danger-plugin-todos: "npm:^1.3.1" + dataloader: "npm:^2.2.2" date-fns: "npm:^2.30.0" deep-equal: "npm:^2.2.2" + docusaurus-node-polyfills: "npm:^1.0.0" dotenv-cli: "npm:^7.2.1" esbuild-plugin-svgr: "npm:^2.1.0" eslint: "npm:^8.53.0" - eslint-config-prettier: "npm:^9.0.0" + eslint-config-next: "npm:14.0.4" + eslint-config-prettier: "npm:^9.1.0" eslint-plugin-import: "npm:^2.27.5" eslint-plugin-jsx-a11y: "npm:^6.8.0" eslint-plugin-prefer-arrow: "npm:^1.2.3" - eslint-plugin-prettier: "npm:^5.0.1" + eslint-plugin-prettier: "npm:^5.1.2" eslint-plugin-react: "npm:^7.33.2" eslint-plugin-react-hooks: "npm:^4.6.0" eslint-plugin-react-refresh: "npm:^0.4.4" eslint-plugin-simple-import-sort: "npm:^10.0.0" eslint-plugin-storybook: "npm:^0.6.15" eslint-plugin-unused-imports: "npm:^3.0.0" + file-type: "npm:16.5.4" framer-motion: "npm:^10.12.17" - graphql: "npm:^16.6.0" + googleapis: "npm:105" + graphiql: "npm:^3.0.10" + graphql: "npm:^16.8.1" + graphql-fields: "npm:^2.0.3" + graphql-subscriptions: "npm:2.0.0" + graphql-tag: "npm:^2.12.6" + graphql-type-json: "npm:^0.3.2" + graphql-upload: "npm:^13.0.0" + graphql-yoga: "npm:^4.0.4" hex-rgb: "npm:^5.0.0" http-server: "npm:^14.1.1" + iframe-resizer-react: "npm:^1.1.0" immer: "npm:^10.0.2" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" + jest-mock-extended: "npm:^3.0.4" js-cookie: "npm:^3.0.5" js-levenshtein: "npm:^1.1.6" + jsonwebtoken: "npm:^9.0.0" libphonenumber-js: "npm:^1.10.26" lodash.camelcase: "npm:^4.3.0" lodash.debounce: "npm:^4.0.8" + lodash.isempty: "npm:^4.4.0" + lodash.isequal: "npm:^4.5.0" + lodash.isobject: "npm:^3.0.2" lodash.kebabcase: "npm:^4.1.1" + lodash.merge: "npm:^4.6.2" lodash.snakecase: "npm:^4.1.1" + lodash.upperfirst: "npm:^4.3.1" luxon: "npm:^3.3.0" + mailparser: "npm:^3.6.5" + microdiff: "npm:^1.3.2" msw: "npm:^2.0.11" msw-storybook-addon: "npm:2.0.0--canary.122.b3ed3b1.0" - prettier: "npm:3.1.0" + nest-commander: "npm:^3.12.0" + next: "npm:14.0.4" + next-mdx-remote: "npm:^4.4.1" + nx: "npm:^17.2.8" + openapi-types: "npm:^12.1.3" + passport: "npm:^0.6.0" + passport-google-oauth20: "npm:^2.0.0" + passport-jwt: "npm:^4.0.1" + passport-local: "npm:^1.0.0" + patch-package: "npm:^8.0.0" + pg: "npm:^8.11.3" + pg-boss: "npm:^9.0.3" + prettier: "npm:^3.1.1" + prism-react-renderer: "npm:^2.1.0" + raw-loader: "npm:^4.0.2" react: "npm:^18.2.0" react-data-grid: "npm:7.0.0-beta.13" react-datepicker: "npm:^4.11.0" @@ -41708,6 +41676,7 @@ __metadata: react-helmet-async: "npm:^1.3.0" react-hook-form: "npm:^7.45.1" react-hotkeys-hook: "npm:^4.4.0" + react-icons: "npm:^4.12.0" react-intersection-observer: "npm:^9.5.2" react-loading-skeleton: "npm:^3.3.1" react-phone-number-input: "npm:^3.3.4" @@ -41716,206 +41685,36 @@ __metadata: react-textarea-autosize: "npm:^8.4.1" react-tooltip: "npm:^5.13.1" recoil: "npm:^0.7.7" + rehype-slug: "npm:^6.0.0" + remark-behead: "npm:^3.1.0" + remark-gfm: "npm:^3.0.1" + rimraf: "npm:^5.0.5" + rxjs: "npm:^7.2.0" scroll-into-view: "npm:^1.16.2" + semver: "npm:^7.5.4" + sharp: "npm:^0.32.1" + source-map-support: "npm:^0.5.20" storybook: "npm:^7.6.3" storybook-addon-cookie: "npm:^3.2.0" storybook-addon-pseudo-states: "npm:^2.1.2" + supertest: "npm:^6.1.3" ts-jest: "npm:^29.1.1" ts-key-enum: "npm:^2.0.12" + ts-loader: "npm:^9.2.3" ts-node: "npm:10.9.1" + tslib: "npm:^2.3.0" tsup: "npm:^8.0.1" type-fest: "npm:^4.1.0" + typeorm: "npm:^0.3.17" typescript: "npm:^5.3.3" uuid: "npm:^9.0.0" vite: "npm:^5.0.0" vite-plugin-svgr: "npm:^4.2.0" vite-tsconfig-paths: "npm:^4.2.1" xlsx-ugnis: "npm:^0.19.3" - zod: "npm:^3.22.2" - languageName: unknown - linkType: soft - -"twenty-server@workspace:packages/twenty-server": - version: 0.0.0-use.local - resolution: "twenty-server@workspace:packages/twenty-server" - dependencies: - "@apollo/server": "npm:^4.7.3" - "@aws-sdk/client-s3": "npm:^3.363.0" - "@aws-sdk/credential-providers": "npm:^3.363.0" - "@google-cloud/local-auth": "npm:2.1.0" - "@graphql-tools/schema": "npm:^10.0.0" - "@graphql-yoga/nestjs": "patch:@graphql-yoga/nestjs@2.1.0#./patches/@graphql-yoga+nestjs+2.1.0.patch" - "@nestjs/apollo": "npm:^11.0.5" - "@nestjs/axios": "npm:^3.0.1" - "@nestjs/cli": "npm:^9.0.0" - "@nestjs/common": "npm:^9.0.0" - "@nestjs/config": "npm:^2.3.2" - "@nestjs/core": "npm:^9.0.0" - "@nestjs/graphql": "patch:@nestjs/graphql@12.0.8#./patches/@nestjs+graphql+12.0.8.patch" - "@nestjs/jwt": "npm:^10.0.3" - "@nestjs/passport": "npm:^9.0.3" - "@nestjs/platform-express": "npm:^9.0.0" - "@nestjs/schematics": "npm:^9.0.0" - "@nestjs/serve-static": "npm:^3.0.0" - "@nestjs/terminus": "npm:^9.2.2" - "@nestjs/testing": "npm:^9.0.0" - "@nestjs/typeorm": "npm:^10.0.0" - "@ptc-org/nestjs-query-core": "npm:^4.2.0" - "@ptc-org/nestjs-query-graphql": "patch:@ptc-org/nestjs-query-graphql@4.2.0#./patches/@ptc-org+nestjs-query-graphql+4.2.0.patch" - "@ptc-org/nestjs-query-typeorm": "npm:4.2.1-alpha.2" - "@sentry/node": "npm:^7.66.0" - "@sentry/profiling-node": "npm:^1.2.6" - "@sentry/tracing": "npm:^7.66.0" - "@types/bcrypt": "npm:^5.0.0" - "@types/bytes": "npm:^3.1.1" - "@types/express": "npm:^4.17.13" - "@types/graphql-fields": "npm:^1.3.6" - "@types/graphql-upload": "npm:^8.0.12" - "@types/jest": "npm:^29.5.11" - "@types/lodash.camelcase": "npm:^4.3.7" - "@types/lodash.isempty": "npm:^4.4.7" - "@types/lodash.isequal": "npm:^4.5.7" - "@types/lodash.isobject": "npm:^3.0.7" - "@types/lodash.kebabcase": "npm:^4.1.7" - "@types/lodash.merge": "npm:^4.6.7" - "@types/lodash.snakecase": "npm:^4.1.7" - "@types/lodash.upperfirst": "npm:^4.3.7" - "@types/mailparser": "npm:^3.4.4" - "@types/ms": "npm:^0.7.31" - "@types/node": "npm:^20.10.6" - "@types/passport-google-oauth20": "npm:^2.0.11" - "@types/passport-jwt": "npm:^3.0.8" - "@types/supertest": "npm:^2.0.11" - "@types/uuid": "npm:^9.0.2" - add: "npm:^2.0.6" - apollo-server-express: "npm:^3.12.0" - axios: "npm:^1.6.2" - bcrypt: "npm:^5.1.1" - body-parser: "npm:^1.20.2" - bullmq: "npm:^4.14.0" - bytes: "npm:^3.1.2" - class-transformer: "npm:^0.5.1" - class-validator: "patch:class-validator@^0.14.0#./patches/class-validator+0.14.0.patch" - dataloader: "npm:^2.2.2" - date-fns: "npm:^2.30.0" - file-type: "npm:16.5.4" - googleapis: "npm:105" - graphql: "npm:16.8.0" - graphql-fields: "npm:^2.0.3" - graphql-subscriptions: "npm:2.0.0" - graphql-tag: "npm:^2.12.6" - graphql-type-json: "npm:^0.3.2" - graphql-upload: "npm:^13.0.0" - graphql-yoga: "npm:^4.0.4" - jest-mock-extended: "npm:^3.0.4" - jsonwebtoken: "npm:^9.0.0" - lodash.camelcase: "npm:^4.3.0" - lodash.isempty: "npm:^4.4.0" - lodash.isequal: "npm:^4.5.0" - lodash.isobject: "npm:^3.0.2" - lodash.kebabcase: "npm:^4.1.1" - lodash.merge: "npm:^4.6.2" - lodash.snakecase: "npm:^4.1.1" - lodash.upperfirst: "npm:^4.3.1" - mailparser: "npm:^3.6.5" - microdiff: "npm:^1.3.2" - nest-commander: "npm:^3.12.0" - openapi-types: "npm:^12.1.3" - passport: "npm:^0.6.0" - passport-google-oauth20: "npm:^2.0.0" - passport-jwt: "npm:^4.0.1" - passport-local: "npm:^1.0.0" - pg: "npm:^8.11.3" - pg-boss: "npm:^9.0.3" - rimraf: "npm:^3.0.2" - rxjs: "npm:^7.2.0" - sharp: "npm:^0.32.1" - source-map-support: "npm:^0.5.20" - supertest: "npm:^6.1.3" - ts-loader: "npm:^9.2.3" - type-fest: "npm:^3.12.0" - typeorm: "npm:^0.3.17" - uuid: "npm:^9.0.0" - languageName: unknown - linkType: soft - -"twenty-utils@workspace:packages/twenty-utils": - version: 0.0.0-use.local - resolution: "twenty-utils@workspace:packages/twenty-utils" - dependencies: - danger: "npm:^11.3.0" - danger-plugin-todos: "npm:^1.3.1" - semver: "npm:^7.5.4" - typescript: "npm:^5.3.2" - languageName: unknown - linkType: soft - -"twenty-website@workspace:packages/twenty-website": - version: 0.0.0-use.local - resolution: "twenty-website@workspace:packages/twenty-website" - dependencies: - "@emotion/react": "npm:^11.11.1" - "@emotion/styled": "npm:^11.11.0" - "@jsdevtools/rehype-toc": "npm:^3.0.2" - "@nivo/calendar": "npm:^0.84.0" - "@nivo/core": "npm:^0.84.0" - "@nx/eslint-plugin": "npm:^17.2.8" - "@octokit/graphql": "npm:^7.0.2" - "@stoplight/elements": "npm:^7.16.2" - "@tabler/icons-react": "npm:^2.44.0" - "@types/better-sqlite3": "npm:^7.6.8" - "@types/node": "npm:^20" - "@types/react": "npm:^18" - "@types/react-dom": "npm:^18" - "@typescript-eslint/eslint-plugin": "npm:^6.16.0" - better-sqlite3: "npm:^9.2.2" - eslint: "npm:^8" - eslint-config-next: "npm:14.0.4" - eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-prettier: "npm:^5.1.2" - eslint-plugin-react: "npm:^7.33.2" - graphiql: "npm:^3.0.10" - graphql: "npm:^16.8.1" - next: "npm:14.0.4" - next-mdx-remote: "npm:^4.4.1" - prettier: "npm:^3.1.1" - react: "npm:^18" - react-dom: "npm:^18" - react-icons: "npm:^4.12.0" - rehype-slug: "npm:^6.0.0" - remark-behead: "npm:^3.1.0" - remark-gfm: "npm:^3.0.1" - typescript: "npm:^5" - languageName: unknown - linkType: soft - -"twenty-zapier@workspace:packages/twenty-zapier": - version: 0.0.0-use.local - resolution: "twenty-zapier@workspace:packages/twenty-zapier" - dependencies: - "@types/jest": "npm:^29.5.5" - "@types/node": "npm:^20.8.6" - dotenv-cli: "npm:^7.2.1" - jest: "npm:^29.6.0" - prettier: "npm:^3.0.3" - rimraf: "npm:^5.0.5" - typescript: "npm:^5.2.2" zapier-platform-cli: "npm:^15.4.1" zapier-platform-core: "npm:15.5.1" - languageName: unknown - linkType: soft - -"twenty@workspace:.": - version: 0.0.0-use.local - resolution: "twenty@workspace:." - dependencies: - "@nx/eslint": "npm:17.2.7" - "@nx/eslint-plugin": "npm:17.2.7" - "@nx/jest": "npm:17.2.7" - "@nx/js": "npm:17.2.7" - nx: "npm:^17.2.8" - patch-package: "npm:^8.0.0" - tslib: "npm:^2.3.0" + zod: "npm:^3.22.2" languageName: unknown linkType: soft @@ -41984,7 +41783,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^3.0.0, type-fest@npm:^3.12.0": +"type-fest@npm:^3.0.0": version: 3.13.1 resolution: "type-fest@npm:3.13.1" checksum: 547d22186f73a8c04590b70dcf63baff390078c75ea8acd366bbd510fd0646e348bd1970e47ecf795b7cff0b41d26e9c475c1fedd6ef5c45c82075fbf916b629 @@ -42175,7 +41974,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5, typescript@npm:^5.2.2, typescript@npm:^5.3.2, typescript@npm:^5.3.3": +"typescript@npm:^5.3.3": version: 5.3.3 resolution: "typescript@npm:5.3.3" bin: @@ -42205,7 +42004,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5#optional!builtin, typescript@patch:typescript@npm%3A^5.2.2#optional!builtin, typescript@patch:typescript@npm%3A^5.3.2#optional!builtin, typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": +"typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": version: 5.3.3 resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" bin: