diff --git a/.github/workflows/actions/restore-cache/action.yaml b/.github/workflows/actions/restore-cache/action.yaml index c97055603..a445582a2 100644 --- a/.github/workflows/actions/restore-cache/action.yaml +++ b/.github/workflows/actions/restore-cache/action.yaml @@ -20,7 +20,7 @@ runs: id: cache-primary-key-builder shell: bash run: | - echo "CACHE_PRIMARY_KEY_PREFIX=${{ inputs.key }}-${{ github.ref_name }}" >> "${GITHUB_OUTPUT}" + echo "CACHE_PRIMARY_KEY_PREFIX=v2-${{ inputs.key }}-${{ github.ref_name }}" >> "${GITHUB_OUTPUT}" - name: Restore cache uses: actions/cache/restore@v4 id: restore-cache diff --git a/.github/workflows/actions/yarn-install/action.yaml b/.github/workflows/actions/yarn-install/action.yaml index 3cdef5493..aa2ce3c94 100644 --- a/.github/workflows/actions/yarn-install/action.yaml +++ b/.github/workflows/actions/yarn-install/action.yaml @@ -25,8 +25,8 @@ runs: id: cache-node-modules uses: actions/cache/restore@v4 with: - key: ${{ steps.globals.outputs.CACHE_KEY_PREFIX }}-${{github.sha}} - restore-keys: ${{ steps.globals.outputs.CACHE_KEY_PREFIX }}- + key: v2-${{ steps.globals.outputs.CACHE_KEY_PREFIX }}-${{github.sha}} + restore-keys: v2-${{ steps.globals.outputs.CACHE_KEY_PREFIX }}- path: ${{ steps.globals.outputs.PATH_TO_CACHE }} - name: Install Dependencies if: ${{ steps.cache-node-modules.outputs.cache-hit != 'true' && steps.cache-node-modules.outputs.cache-matched-key == '' }} diff --git a/.yarn/patches/@preconstruct-cli-npm-2.8.11-030abfa6ae.patch b/.yarn/patches/@preconstruct-cli-npm-2.8.11-030abfa6ae.patch new file mode 100644 index 000000000..0015ea37b --- /dev/null +++ b/.yarn/patches/@preconstruct-cli-npm-2.8.11-030abfa6ae.patch @@ -0,0 +1,26 @@ +diff --git a/cli/dist/preconstruct-cli-cli.cjs.js b/cli/dist/preconstruct-cli-cli.cjs.js +index 8fbd4efc8ee4d98bc72d16344ff6f6ab4e5e2736..cf451d99128fd06053426d1a265f4e305380dd7b 100644 +--- a/cli/dist/preconstruct-cli-cli.cjs.js ++++ b/cli/dist/preconstruct-cli-cli.cjs.js +@@ -1509,7 +1509,7 @@ let memoizedGetProgram = weakMemoize(typescript => memoize(async configFileName + return nonMemoizedGetProgram(typescript, configFileName); + })); + async function getProgram(dirname, pkgName, ts) { +- let configFileName = ts.findConfigFile(dirname, ts.sys.fileExists); ++ let configFileName = ts.findConfigFile(dirname, ts.sys.fileExists, 'tsconfig.lib.json'); + if (!configFileName) { + throw new FatalError("an entrypoint source file ends with the .ts or tsx extension but no TypeScript config exists, please create one.", pkgName); + } +diff --git a/cli/dist/preconstruct-cli-cli.esm.js b/cli/dist/preconstruct-cli-cli.esm.js +index 0045392b46c8928753af564f67681886e0f15bed..164a9bfbae85f1a8f41fffc87c6a3c4014cb9d33 100644 +--- a/cli/dist/preconstruct-cli-cli.esm.js ++++ b/cli/dist/preconstruct-cli-cli.esm.js +@@ -1460,7 +1460,7 @@ let memoizedGetProgram = weakMemoize(typescript => memoize(async configFileName + return nonMemoizedGetProgram(typescript, configFileName); + })); + async function getProgram(dirname, pkgName, ts) { +- let configFileName = ts.findConfigFile(dirname, ts.sys.fileExists); ++ let configFileName = ts.findConfigFile(dirname, ts.sys.fileExists, 'tsconfig.lib.json'); + if (!configFileName) { + throw new FatalError("an entrypoint source file ends with the .ts or tsx extension but no TypeScript config exists, please create one.", pkgName); + } diff --git a/packages/twenty-chrome-extension/src/background/index.ts b/packages/twenty-chrome-extension/src/background/index.ts index 9288c1b97..33992a631 100644 --- a/packages/twenty-chrome-extension/src/background/index.ts +++ b/packages/twenty-chrome-extension/src/background/index.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; // Open options page programmatically in a new tab. // chrome.runtime.onInstalled.addListener((details) => { // if (details.reason === 'install') { diff --git a/packages/twenty-chrome-extension/src/contentScript/createButton.ts b/packages/twenty-chrome-extension/src/contentScript/createButton.ts index 2a616526a..f75737e88 100644 --- a/packages/twenty-chrome-extension/src/contentScript/createButton.ts +++ b/packages/twenty-chrome-extension/src/contentScript/createButton.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; interface CustomDiv extends HTMLDivElement { onClickHandler: (newHandler: () => void) => void; } diff --git a/packages/twenty-chrome-extension/src/contentScript/extractCompanyProfile.ts b/packages/twenty-chrome-extension/src/contentScript/extractCompanyProfile.ts index b912158a1..712266879 100644 --- a/packages/twenty-chrome-extension/src/contentScript/extractCompanyProfile.ts +++ b/packages/twenty-chrome-extension/src/contentScript/extractCompanyProfile.ts @@ -1,10 +1,10 @@ -import { isDefined } from 'twenty-shared'; import { createDefaultButton } from '~/contentScript/createButton'; import changeSidePanelUrl from '~/contentScript/utils/changeSidepanelUrl'; import extractCompanyLinkedinLink from '~/contentScript/utils/extractCompanyLinkedinLink'; import extractDomain from '~/contentScript/utils/extractDomain'; import { createCompany, fetchCompany } from '~/db/company.db'; import { CompanyInput } from '~/db/types/company.types'; +import { isDefined } from 'twenty-shared/utils'; export const checkIfCompanyExists = async () => { const { tab: activeTab } = await chrome.runtime.sendMessage({ diff --git a/packages/twenty-chrome-extension/src/contentScript/extractPersonProfile.ts b/packages/twenty-chrome-extension/src/contentScript/extractPersonProfile.ts index ae0afa87a..487f2dd36 100644 --- a/packages/twenty-chrome-extension/src/contentScript/extractPersonProfile.ts +++ b/packages/twenty-chrome-extension/src/contentScript/extractPersonProfile.ts @@ -1,9 +1,9 @@ -import { isDefined } from 'twenty-shared'; import { createDefaultButton } from '~/contentScript/createButton'; import changeSidePanelUrl from '~/contentScript/utils/changeSidepanelUrl'; import extractFirstAndLastName from '~/contentScript/utils/extractFirstAndLastName'; import { createPerson, fetchPerson } from '~/db/person.db'; import { PersonInput } from '~/db/types/person.types'; +import { isDefined } from 'twenty-shared/utils'; export const checkIfPersonExists = async () => { const { tab: activeTab } = await chrome.runtime.sendMessage({ diff --git a/packages/twenty-chrome-extension/src/contentScript/index.ts b/packages/twenty-chrome-extension/src/contentScript/index.ts index db538b29c..79110dbc4 100644 --- a/packages/twenty-chrome-extension/src/contentScript/index.ts +++ b/packages/twenty-chrome-extension/src/contentScript/index.ts @@ -1,6 +1,6 @@ -import { isDefined } from 'twenty-shared'; import { insertButtonForCompany } from '~/contentScript/extractCompanyProfile'; import { insertButtonForPerson } from '~/contentScript/extractPersonProfile'; +import { isDefined } from 'twenty-shared/utils'; // Inject buttons into the DOM when SPA is reloaded on the resource url. // e.g. reload the page when on https://www.linkedin.com/in/mabdullahabaid/ diff --git a/packages/twenty-chrome-extension/src/contentScript/insertSettingsButton.ts b/packages/twenty-chrome-extension/src/contentScript/insertSettingsButton.ts index 351110278..f0669edcb 100644 --- a/packages/twenty-chrome-extension/src/contentScript/insertSettingsButton.ts +++ b/packages/twenty-chrome-extension/src/contentScript/insertSettingsButton.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; const btn = document.getElementById('twenty-settings-btn'); if (!isDefined(btn)) { const div = document.createElement('div'); diff --git a/packages/twenty-chrome-extension/src/contentScript/utils/changeSidepanelUrl.ts b/packages/twenty-chrome-extension/src/contentScript/utils/changeSidepanelUrl.ts index 43f5ba555..c55a3cac8 100644 --- a/packages/twenty-chrome-extension/src/contentScript/utils/changeSidepanelUrl.ts +++ b/packages/twenty-chrome-extension/src/contentScript/utils/changeSidepanelUrl.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; const changeSidePanelUrl = async (url: string) => { if (isDefined(url)) { chrome.storage.local.set({ navigateSidepanel: 'sidepanel' }); diff --git a/packages/twenty-chrome-extension/src/contentScript/utils/extractCompanyLinkedinLink.ts b/packages/twenty-chrome-extension/src/contentScript/utils/extractCompanyLinkedinLink.ts index d4f2c5e49..3f696f81e 100644 --- a/packages/twenty-chrome-extension/src/contentScript/utils/extractCompanyLinkedinLink.ts +++ b/packages/twenty-chrome-extension/src/contentScript/utils/extractCompanyLinkedinLink.ts @@ -1,7 +1,4 @@ -// Extract "https://www.linkedin.com/company/twenty/" from any of the following urls, which the user can visit while on the company page. - -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; // "https://www.linkedin.com/company/twenty/" "https://www.linkedin.com/company/twenty/about/" "https://www.linkedin.com/company/twenty/people/". const extractCompanyLinkedinLink = (activeTabUrl: string) => { // Regular expression to match the company ID diff --git a/packages/twenty-chrome-extension/src/db/auth.db.ts b/packages/twenty-chrome-extension/src/db/auth.db.ts index 42a88e807..ea01554f1 100644 --- a/packages/twenty-chrome-extension/src/db/auth.db.ts +++ b/packages/twenty-chrome-extension/src/db/auth.db.ts @@ -1,4 +1,3 @@ -import { isDefined } from 'twenty-shared'; import { ExchangeAuthCodeInput, ExchangeAuthCodeResponse, @@ -6,6 +5,7 @@ import { } from '~/db/types/auth.types'; import { EXCHANGE_AUTHORIZATION_CODE } from '~/graphql/auth/mutations'; import { callMutation } from '~/utils/requestDb'; +import { isDefined } from 'twenty-shared/utils'; export const exchangeAuthorizationCode = async ( exchangeAuthCodeInput: ExchangeAuthCodeInput, diff --git a/packages/twenty-chrome-extension/src/db/company.db.ts b/packages/twenty-chrome-extension/src/db/company.db.ts index b5bee62ab..39c274300 100644 --- a/packages/twenty-chrome-extension/src/db/company.db.ts +++ b/packages/twenty-chrome-extension/src/db/company.db.ts @@ -1,4 +1,3 @@ -import { isDefined } from 'twenty-shared'; import { CompanyInput, CreateCompanyResponse, @@ -9,6 +8,7 @@ import { CREATE_COMPANY } from '~/graphql/company/mutations'; import { FIND_COMPANY } from '~/graphql/company/queries'; import { callMutation, callQuery } from '../utils/requestDb'; +import { isDefined } from 'twenty-shared/utils'; export const fetchCompany = async ( companyfilerInput: CompanyFilterInput, diff --git a/packages/twenty-chrome-extension/src/db/person.db.ts b/packages/twenty-chrome-extension/src/db/person.db.ts index fd78909d2..9680c6a52 100644 --- a/packages/twenty-chrome-extension/src/db/person.db.ts +++ b/packages/twenty-chrome-extension/src/db/person.db.ts @@ -1,4 +1,3 @@ -import { isDefined } from 'twenty-shared'; import { CreatePersonResponse, FindPersonResponse, @@ -9,6 +8,7 @@ import { CREATE_PERSON } from '~/graphql/person/mutations'; import { FIND_PERSON } from '~/graphql/person/queries'; import { callMutation, callQuery } from '../utils/requestDb'; +import { isDefined } from 'twenty-shared/utils'; export const fetchPerson = async ( personFilterData: PersonFilterInput, diff --git a/packages/twenty-chrome-extension/src/db/token.db.ts b/packages/twenty-chrome-extension/src/db/token.db.ts index 8bfb01a9a..d3d25d75e 100644 --- a/packages/twenty-chrome-extension/src/db/token.db.ts +++ b/packages/twenty-chrome-extension/src/db/token.db.ts @@ -1,8 +1,7 @@ import { ApolloClient, InMemoryCache } from '@apollo/client'; - -import { isDefined } from 'twenty-shared'; import { Tokens } from '~/db/types/auth.types'; import { RENEW_TOKEN } from '~/graphql/auth/mutations'; +import { isDefined } from 'twenty-shared/utils'; export const renewToken = async ( appToken: string, diff --git a/packages/twenty-chrome-extension/src/options/App.tsx b/packages/twenty-chrome-extension/src/options/App.tsx index aeab5219b..9f41b4caf 100644 --- a/packages/twenty-chrome-extension/src/options/App.tsx +++ b/packages/twenty-chrome-extension/src/options/App.tsx @@ -1,8 +1,7 @@ import { useEffect, useState } from 'react'; - -import { isDefined } from 'twenty-shared'; import Settings from '~/options/Settings'; import Sidepanel from '~/options/Sidepanel'; +import { isDefined } from 'twenty-shared/utils'; const App = () => { const [currentScreen, setCurrentScreen] = useState(''); diff --git a/packages/twenty-chrome-extension/src/options/Settings.tsx b/packages/twenty-chrome-extension/src/options/Settings.tsx index b9671c030..6c714faa8 100644 --- a/packages/twenty-chrome-extension/src/options/Settings.tsx +++ b/packages/twenty-chrome-extension/src/options/Settings.tsx @@ -3,8 +3,8 @@ import { useEffect, useState } from 'react'; import { MainButton } from '@/ui/input/button/MainButton'; import { TextInput } from '@/ui/input/components/TextInput'; -import { isDefined } from 'twenty-shared'; import { clearStore } from '~/utils/apolloClient'; +import { isDefined } from 'twenty-shared/utils'; const StyledWrapper = styled.div` align-items: center; diff --git a/packages/twenty-chrome-extension/src/options/Sidepanel.tsx b/packages/twenty-chrome-extension/src/options/Sidepanel.tsx index bbdfcc21f..973142f92 100644 --- a/packages/twenty-chrome-extension/src/options/Sidepanel.tsx +++ b/packages/twenty-chrome-extension/src/options/Sidepanel.tsx @@ -2,7 +2,7 @@ import styled from '@emotion/styled'; import { useCallback, useEffect, useRef, useState } from 'react'; import { MainButton } from '@/ui/input/button/MainButton'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledIframe = styled.iframe` display: block; diff --git a/packages/twenty-chrome-extension/src/options/modules/ui/input/components/Toggle.tsx b/packages/twenty-chrome-extension/src/options/modules/ui/input/components/Toggle.tsx index 83a75d818..5b07a1005 100644 --- a/packages/twenty-chrome-extension/src/options/modules/ui/input/components/Toggle.tsx +++ b/packages/twenty-chrome-extension/src/options/modules/ui/input/components/Toggle.tsx @@ -1,8 +1,7 @@ import styled from '@emotion/styled'; import { motion } from 'framer-motion'; import { useEffect, useState } from 'react'; - -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export type ToggleSize = 'small' | 'medium'; diff --git a/packages/twenty-chrome-extension/src/utils/apolloClient.ts b/packages/twenty-chrome-extension/src/utils/apolloClient.ts index a8d01dfda..4b602f481 100644 --- a/packages/twenty-chrome-extension/src/utils/apolloClient.ts +++ b/packages/twenty-chrome-extension/src/utils/apolloClient.ts @@ -1,8 +1,7 @@ import { ApolloClient, from, HttpLink, InMemoryCache } from '@apollo/client'; import { setContext } from '@apollo/client/link/context'; import { onError } from '@apollo/client/link/error'; - -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const clearStore = () => { chrome.storage.local.remove([ diff --git a/packages/twenty-chrome-extension/src/utils/requestDb.ts b/packages/twenty-chrome-extension/src/utils/requestDb.ts index 77d37e10d..2d6503a65 100644 --- a/packages/twenty-chrome-extension/src/utils/requestDb.ts +++ b/packages/twenty-chrome-extension/src/utils/requestDb.ts @@ -1,8 +1,7 @@ import { OperationVariables } from '@apollo/client'; import { DocumentNode } from 'graphql'; - -import { isDefined } from 'twenty-shared'; import getApolloClient from '~/utils/apolloClient'; +import { isDefined } from 'twenty-shared/utils'; export const callQuery = async ( query: DocumentNode, diff --git a/packages/twenty-emails/lingui.config.ts b/packages/twenty-emails/lingui.config.ts index 42011feb9..cae122b51 100644 --- a/packages/twenty-emails/lingui.config.ts +++ b/packages/twenty-emails/lingui.config.ts @@ -1,6 +1,6 @@ import { defineConfig } from '@lingui/conf'; import { formatter } from '@lingui/format-po'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; export default defineConfig({ sourceLocale: 'en', diff --git a/packages/twenty-emails/src/components/BaseEmail.tsx b/packages/twenty-emails/src/components/BaseEmail.tsx index 9710f001d..882f66280 100644 --- a/packages/twenty-emails/src/components/BaseEmail.tsx +++ b/packages/twenty-emails/src/components/BaseEmail.tsx @@ -5,7 +5,6 @@ import { PropsWithChildren } from 'react'; import { BaseHead } from 'src/components/BaseHead'; import { Logo } from 'src/components/Logo'; -import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared'; import { messages as afMessages } from '../locales/generated/af-ZA'; import { messages as arMessages } from '../locales/generated/ar-SA'; import { messages as caMessages } from '../locales/generated/ca-ES'; @@ -37,6 +36,7 @@ import { messages as ukMessages } from '../locales/generated/uk-UA'; import { messages as viMessages } from '../locales/generated/vi-VN'; import { messages as zhHansMessages } from '../locales/generated/zh-CN'; import { messages as zhHantMessages } from '../locales/generated/zh-TW'; +import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared/translations'; type BaseEmailProps = PropsWithChildren<{ width?: number; diff --git a/packages/twenty-emails/src/emails/clean-suspended-workspace.email.tsx b/packages/twenty-emails/src/emails/clean-suspended-workspace.email.tsx index 82bcdb6c3..14f42de0a 100644 --- a/packages/twenty-emails/src/emails/clean-suspended-workspace.email.tsx +++ b/packages/twenty-emails/src/emails/clean-suspended-workspace.email.tsx @@ -3,7 +3,7 @@ import { BaseEmail } from 'src/components/BaseEmail'; import { CallToAction } from 'src/components/CallToAction'; import { MainText } from 'src/components/MainText'; import { Title } from 'src/components/Title'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; type CleanSuspendedWorkspaceEmailProps = { daysSinceInactive: number; diff --git a/packages/twenty-emails/src/emails/password-reset-link.email.tsx b/packages/twenty-emails/src/emails/password-reset-link.email.tsx index 3e477bca6..19b49d63f 100644 --- a/packages/twenty-emails/src/emails/password-reset-link.email.tsx +++ b/packages/twenty-emails/src/emails/password-reset-link.email.tsx @@ -4,7 +4,7 @@ import { CallToAction } from 'src/components/CallToAction'; import { Link } from 'src/components/Link'; import { MainText } from 'src/components/MainText'; import { Title } from 'src/components/Title'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; type PasswordResetLinkEmailProps = { duration: string; diff --git a/packages/twenty-emails/src/emails/password-update-notify.email.tsx b/packages/twenty-emails/src/emails/password-update-notify.email.tsx index ac8b750fd..d9b0dcb40 100644 --- a/packages/twenty-emails/src/emails/password-update-notify.email.tsx +++ b/packages/twenty-emails/src/emails/password-update-notify.email.tsx @@ -6,7 +6,7 @@ import { BaseEmail } from 'src/components/BaseEmail'; import { CallToAction } from 'src/components/CallToAction'; import { MainText } from 'src/components/MainText'; import { Title } from 'src/components/Title'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; type PasswordUpdateNotifyEmailProps = { userName: string; diff --git a/packages/twenty-emails/src/emails/send-email-verification-link.email.tsx b/packages/twenty-emails/src/emails/send-email-verification-link.email.tsx index 25c32108a..4d3e42789 100644 --- a/packages/twenty-emails/src/emails/send-email-verification-link.email.tsx +++ b/packages/twenty-emails/src/emails/send-email-verification-link.email.tsx @@ -5,7 +5,7 @@ import { CallToAction } from 'src/components/CallToAction'; import { Footer } from 'src/components/Footer'; import { MainText } from 'src/components/MainText'; import { Title } from 'src/components/Title'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; type SendEmailVerificationLinkEmailProps = { link: string; diff --git a/packages/twenty-emails/src/emails/send-invite-link.email.tsx b/packages/twenty-emails/src/emails/send-invite-link.email.tsx index d7e17aab9..b970f18b4 100644 --- a/packages/twenty-emails/src/emails/send-invite-link.email.tsx +++ b/packages/twenty-emails/src/emails/send-invite-link.email.tsx @@ -11,7 +11,8 @@ import { MainText } from 'src/components/MainText'; import { Title } from 'src/components/Title'; import { WhatIsTwenty } from 'src/components/WhatIsTwenty'; import { capitalize } from 'src/utils/capitalize'; -import { APP_LOCALES, getImageAbsoluteURI } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; +import { getImageAbsoluteURI } from 'twenty-shared/utils'; type SendInviteLinkEmailProps = { link: string; diff --git a/packages/twenty-emails/src/emails/validate-approved-access-domain.email.tsx b/packages/twenty-emails/src/emails/validate-approved-access-domain.email.tsx index e4e9d6edd..2d492ccf7 100644 --- a/packages/twenty-emails/src/emails/validate-approved-access-domain.email.tsx +++ b/packages/twenty-emails/src/emails/validate-approved-access-domain.email.tsx @@ -12,7 +12,8 @@ import { MainText } from 'src/components/MainText'; import { Title } from 'src/components/Title'; import { WhatIsTwenty } from 'src/components/WhatIsTwenty'; import { capitalize } from 'src/utils/capitalize'; -import { APP_LOCALES, getImageAbsoluteURI } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; +import { getImageAbsoluteURI } from 'twenty-shared/utils'; type SendApprovedAccessDomainValidationProps = { link: string; diff --git a/packages/twenty-emails/src/emails/warn-suspended-workspace.email.tsx b/packages/twenty-emails/src/emails/warn-suspended-workspace.email.tsx index 3367ff8d0..1c5f9d7e5 100644 --- a/packages/twenty-emails/src/emails/warn-suspended-workspace.email.tsx +++ b/packages/twenty-emails/src/emails/warn-suspended-workspace.email.tsx @@ -3,7 +3,7 @@ import { BaseEmail } from 'src/components/BaseEmail'; import { CallToAction } from 'src/components/CallToAction'; import { MainText } from 'src/components/MainText'; import { Title } from 'src/components/Title'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; type WarnSuspendedWorkspaceEmailProps = { daysSinceInactive: number; diff --git a/packages/twenty-emails/vite.config.ts b/packages/twenty-emails/vite.config.ts index 426073cc7..5f0f5f4c4 100644 --- a/packages/twenty-emails/vite.config.ts +++ b/packages/twenty-emails/vite.config.ts @@ -1,10 +1,10 @@ import { lingui } from '@lingui/vite-plugin'; import react from '@vitejs/plugin-react-swc'; import * as path from 'path'; -import { APP_LOCALES } from 'twenty-shared'; import { defineConfig } from 'vite'; import dts from 'vite-plugin-dts'; import tsconfigPaths from 'vite-tsconfig-paths'; +import { APP_LOCALES } from 'twenty-shared/translations'; export default defineConfig({ root: __dirname, diff --git a/packages/twenty-front/lingui.config.ts b/packages/twenty-front/lingui.config.ts index 04bbaff5d..9c0af8e9d 100644 --- a/packages/twenty-front/lingui.config.ts +++ b/packages/twenty-front/lingui.config.ts @@ -1,6 +1,6 @@ import { defineConfig } from '@lingui/conf'; import { formatter } from '@lingui/format-po'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; export default defineConfig({ sourceLocale: 'en', diff --git a/packages/twenty-front/src/hooks/useIsMatchingLocation.ts b/packages/twenty-front/src/hooks/useIsMatchingLocation.ts index 631bd032a..456efaf1a 100644 --- a/packages/twenty-front/src/hooks/useIsMatchingLocation.ts +++ b/packages/twenty-front/src/hooks/useIsMatchingLocation.ts @@ -2,7 +2,7 @@ import { matchPath, useLocation } from 'react-router-dom'; import { AppBasePath } from '@/types/AppBasePath'; import { isNonEmptyString } from '@sniptt/guards'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useIsMatchingLocation = () => { const location = useLocation(); diff --git a/packages/twenty-front/src/hooks/usePageChangeEffectNavigateLocation.ts b/packages/twenty-front/src/hooks/usePageChangeEffectNavigateLocation.ts index 28ec7fddd..673261c81 100644 --- a/packages/twenty-front/src/hooks/usePageChangeEffectNavigateLocation.ts +++ b/packages/twenty-front/src/hooks/usePageChangeEffectNavigateLocation.ts @@ -7,9 +7,10 @@ import { SettingsPath } from '@/types/SettingsPath'; import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo'; import { useParams } from 'react-router-dom'; import { useRecoilValue } from 'recoil'; -import { WorkspaceActivationStatus, isDefined } from 'twenty-shared'; import { OnboardingStatus } from '~/generated/graphql'; import { useIsMatchingLocation } from '~/hooks/useIsMatchingLocation'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; +import { isDefined } from 'twenty-shared/utils'; export const usePageChangeEffectNavigateLocation = () => { const { isMatchingLocation } = useIsMatchingLocation(); diff --git a/packages/twenty-front/src/hooks/useScrollRestoration.ts b/packages/twenty-front/src/hooks/useScrollRestoration.ts index 1da2f30c3..de11e854a 100644 --- a/packages/twenty-front/src/hooks/useScrollRestoration.ts +++ b/packages/twenty-front/src/hooks/useScrollRestoration.ts @@ -5,7 +5,7 @@ import { scrollWrapperInstanceComponentState } from '@/ui/utilities/scroll/state import { scrollWrapperScrollTopComponentState } from '@/ui/utilities/scroll/states/scrollWrapperScrollTopComponentState'; import { useRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentStateV2'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; /** * @deprecated We should now use useScrollToPosition instead diff --git a/packages/twenty-front/src/modules/accounts/types/ConnectedAccount.ts b/packages/twenty-front/src/modules/accounts/types/ConnectedAccount.ts index 34c4d7f2e..e496b0c2e 100644 --- a/packages/twenty-front/src/modules/accounts/types/ConnectedAccount.ts +++ b/packages/twenty-front/src/modules/accounts/types/ConnectedAccount.ts @@ -1,7 +1,6 @@ import { CalendarChannel } from '@/accounts/types/CalendarChannel'; - -import { ConnectedAccountProvider } from 'twenty-shared'; import { MessageChannel } from './MessageChannel'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; export type ConnectedAccount = { id: string; diff --git a/packages/twenty-front/src/modules/accounts/types/MessageChannel.ts b/packages/twenty-front/src/modules/accounts/types/MessageChannel.ts index 5695d7fd8..00fdbfeec 100644 --- a/packages/twenty-front/src/modules/accounts/types/MessageChannel.ts +++ b/packages/twenty-front/src/modules/accounts/types/MessageChannel.ts @@ -1,5 +1,5 @@ -import { ConnectedAccountProvider } from 'twenty-shared'; import { MessageChannelVisibility } from '~/generated/graphql'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; export enum MessageChannelContactAutoCreationPolicy { SENT_AND_RECEIVED = 'SENT_AND_RECEIVED', diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/components/RecordActionMenuEntriesSetter.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/components/RecordActionMenuEntriesSetter.tsx index c7c527c2c..fcee781ce 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/components/RecordActionMenuEntriesSetter.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/components/RecordActionMenuEntriesSetter.tsx @@ -10,8 +10,8 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadat import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { FeatureFlagKey } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const RecordActionMenuEntriesSetter = () => { const localContextStoreCurrentObjectMetadataItemId = diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useDeleteMultipleRecordsAction.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useDeleteMultipleRecordsAction.tsx index ca311a5bf..42eea54f5 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useDeleteMultipleRecordsAction.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useDeleteMultipleRecordsAction.tsx @@ -18,8 +18,8 @@ import { ConfirmationModal } from '@/ui/layout/modal/components/ConfirmationModa import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { t } from '@lingui/core/macro'; import { useCallback, useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { getOsControlSymbol } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const useDeleteMultipleRecordsAction: ActionHookWithObjectMetadataItem = ({ objectMetadataItem }) => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useDestroyMultipleRecordsAction.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useDestroyMultipleRecordsAction.tsx index 5647fc06b..e2d10e539 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useDestroyMultipleRecordsAction.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useDestroyMultipleRecordsAction.tsx @@ -18,7 +18,7 @@ import { useHasObjectReadOnlyPermission } from '@/settings/roles/hooks/useHasObj import { ConfirmationModal } from '@/ui/layout/modal/components/ConfirmationModal'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useCallback, useState } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useDestroyMultipleRecordsAction: ActionHookWithObjectMetadataItem = ({ objectMetadataItem }) => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useRestoreMultipleRecordsAction.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useRestoreMultipleRecordsAction.tsx index 5f387a0a8..0e65c1246 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useRestoreMultipleRecordsAction.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/multiple-records/hooks/useRestoreMultipleRecordsAction.tsx @@ -1,5 +1,4 @@ import { useCallback, useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { ActionHookWithObjectMetadataItem } from '@/action-menu/actions/types/ActionHook'; import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState'; @@ -19,6 +18,7 @@ import { getRecordIndexIdFromObjectNamePluralAndViewId } from '@/object-record/u import { useHasObjectReadOnlyPermission } from '@/settings/roles/hooks/useHasObjectReadOnlyPermission'; import { ConfirmationModal } from '@/ui/layout/modal/components/ConfirmationModal'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; +import { isDefined } from 'twenty-shared/utils'; export const useRestoreMultipleRecordsAction: ActionHookWithObjectMetadataItem = ({ objectMetadataItem }) => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useAddToFavoritesSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useAddToFavoritesSingleRecordAction.ts index 004396900..b26714089 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useAddToFavoritesSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useAddToFavoritesSingleRecordAction.ts @@ -5,7 +5,7 @@ import { useFavorites } from '@/favorites/hooks/useFavorites'; import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState'; import { isNull } from '@sniptt/guards'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useAddToFavoritesSingleRecordAction: ActionHookWithObjectMetadataItem = ({ objectMetadataItem }) => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useDeleteSingleRecordAction.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useDeleteSingleRecordAction.tsx index 88fd6a02d..5a8b4cbd4 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useDeleteSingleRecordAction.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useDeleteSingleRecordAction.tsx @@ -11,8 +11,8 @@ import { t } from '@lingui/core/macro'; import { isNull } from '@sniptt/guards'; import { useCallback, useState } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { getOsControlSymbol } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const useDeleteSingleRecordAction: ActionHookWithObjectMetadataItem = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useDestroySingleRecordAction.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useDestroySingleRecordAction.tsx index 2962e44d0..5a062579c 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useDestroySingleRecordAction.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useDestroySingleRecordAction.tsx @@ -8,8 +8,8 @@ import { AppPath } from '@/types/AppPath'; import { ConfirmationModal } from '@/ui/layout/modal/components/ConfirmationModal'; import { useCallback, useState } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; export const useDestroySingleRecordAction: ActionHookWithObjectMetadataItem = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useExportNoteAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useExportNoteAction.ts index e32c37db8..12f8393a5 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useExportNoteAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useExportNoteAction.ts @@ -5,7 +5,7 @@ import { recordStoreFamilyState } from '@/object-record/record-store/states/reco import { BlockNoteEditor } from '@blocknote/core'; import { isNonEmptyString } from '@sniptt/guards'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useExportNoteAction: ActionHookWithObjectMetadataItem = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useRemoveFromFavoritesSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useRemoveFromFavoritesSingleRecordAction.ts index 202a5620e..e2867229e 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useRemoveFromFavoritesSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useRemoveFromFavoritesSingleRecordAction.ts @@ -2,7 +2,7 @@ import { useSelectedRecordIdOrThrow } from '@/action-menu/actions/record-actions import { ActionHookWithObjectMetadataItem } from '@/action-menu/actions/types/ActionHook'; import { useDeleteFavorite } from '@/favorites/hooks/useDeleteFavorite'; import { useFavorites } from '@/favorites/hooks/useFavorites'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useRemoveFromFavoritesSingleRecordAction: ActionHookWithObjectMetadataItem = ({ objectMetadataItem }) => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useRestoreSingleRecordAction.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useRestoreSingleRecordAction.tsx index 80abc8c22..b38f6e492 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useRestoreSingleRecordAction.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/hooks/useRestoreSingleRecordAction.tsx @@ -11,7 +11,7 @@ import { ConfirmationModal } from '@/ui/layout/modal/components/ConfirmationModa import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useCallback, useState } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useRestoreSingleRecordAction: ActionHookWithObjectMetadataItem = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useActivateWorkflowSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useActivateWorkflowSingleRecordAction.ts index e6d6cd561..f6d42fc27 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useActivateWorkflowSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useActivateWorkflowSingleRecordAction.ts @@ -2,7 +2,7 @@ import { useSelectedRecordIdOrThrow } from '@/action-menu/actions/record-actions import { ActionHookWithoutObjectMetadataItem } from '@/action-menu/actions/types/ActionHook'; import { useActivateWorkflowVersion } from '@/workflow/hooks/useActivateWorkflowVersion'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useActivateWorkflowSingleRecordAction: ActionHookWithoutObjectMetadataItem = () => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useDeactivateWorkflowSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useDeactivateWorkflowSingleRecordAction.ts index 0fae1e97a..19f3537db 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useDeactivateWorkflowSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useDeactivateWorkflowSingleRecordAction.ts @@ -2,7 +2,7 @@ import { useSelectedRecordIdOrThrow } from '@/action-menu/actions/record-actions import { ActionHookWithoutObjectMetadataItem } from '@/action-menu/actions/types/ActionHook'; import { useDeactivateWorkflowVersion } from '@/workflow/hooks/useDeactivateWorkflowVersion'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useDeactivateWorkflowSingleRecordAction: ActionHookWithoutObjectMetadataItem = () => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useDiscardDraftWorkflowSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useDiscardDraftWorkflowSingleRecordAction.ts index 2f7c9e3bb..75342b6e5 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useDiscardDraftWorkflowSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useDiscardDraftWorkflowSingleRecordAction.ts @@ -2,7 +2,7 @@ import { useSelectedRecordIdOrThrow } from '@/action-menu/actions/record-actions import { ActionHookWithoutObjectMetadataItem } from '@/action-menu/actions/types/ActionHook'; import { useDeleteOneWorkflowVersion } from '@/workflow/hooks/useDeleteOneWorkflowVersion'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useDiscardDraftWorkflowSingleRecordAction: ActionHookWithoutObjectMetadataItem = () => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeActiveVersionWorkflowSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeActiveVersionWorkflowSingleRecordAction.ts index 6198b13a2..3b6d40b24 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeActiveVersionWorkflowSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeActiveVersionWorkflowSingleRecordAction.ts @@ -4,8 +4,8 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { AppPath } from '@/types/AppPath'; import { useActiveWorkflowVersion } from '@/workflow/hooks/useActiveWorkflowVersion'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; -import { isDefined } from 'twenty-shared'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; export const useSeeActiveVersionWorkflowSingleRecordAction: ActionHookWithoutObjectMetadataItem = () => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeRunsWorkflowSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeRunsWorkflowSingleRecordAction.ts index 68669ffd2..f51058abb 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeRunsWorkflowSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeRunsWorkflowSingleRecordAction.ts @@ -4,8 +4,8 @@ import { CoreObjectNamePlural } from '@/object-metadata/types/CoreObjectNamePlur import { AppPath } from '@/types/AppPath'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; -import { isDefined } from 'twenty-shared'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; export const useSeeRunsWorkflowSingleRecordAction: ActionHookWithoutObjectMetadataItem = () => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeVersionsWorkflowSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeVersionsWorkflowSingleRecordAction.ts index 6dd43d603..c6e43bfe3 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeVersionsWorkflowSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeVersionsWorkflowSingleRecordAction.ts @@ -4,8 +4,8 @@ import { CoreObjectNamePlural } from '@/object-metadata/types/CoreObjectNamePlur import { AppPath } from '@/types/AppPath'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; -import { isDefined } from 'twenty-shared'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; export const useSeeVersionsWorkflowSingleRecordAction: ActionHookWithoutObjectMetadataItem = () => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useTestWorkflowSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useTestWorkflowSingleRecordAction.ts index 766a68d27..b06dbd67d 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useTestWorkflowSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useTestWorkflowSingleRecordAction.ts @@ -2,7 +2,7 @@ import { useSelectedRecordIdOrThrow } from '@/action-menu/actions/record-actions import { ActionHookWithoutObjectMetadataItem } from '@/action-menu/actions/types/ActionHook'; import { useRunWorkflowVersion } from '@/workflow/hooks/useRunWorkflowVersion'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useTestWorkflowSingleRecordAction: ActionHookWithoutObjectMetadataItem = () => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeRunsWorkflowVersionSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeRunsWorkflowVersionSingleRecordAction.ts index e014985f6..d72a4e9f7 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeRunsWorkflowVersionSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeRunsWorkflowVersionSingleRecordAction.ts @@ -6,8 +6,8 @@ import { AppPath } from '@/types/AppPath'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; export const useSeeRunsWorkflowVersionSingleRecordAction: ActionHookWithoutObjectMetadataItem = () => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeVersionsWorkflowVersionSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeVersionsWorkflowVersionSingleRecordAction.ts index 4546a46ae..4565a2d9e 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeVersionsWorkflowVersionSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeVersionsWorkflowVersionSingleRecordAction.ts @@ -6,8 +6,8 @@ import { AppPath } from '@/types/AppPath'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; export const useSeeVersionsWorkflowVersionSingleRecordAction: ActionHookWithoutObjectMetadataItem = () => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useUseAsDraftWorkflowVersionSingleRecordAction.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useUseAsDraftWorkflowVersionSingleRecordAction.tsx index 156f65987..36234a5a8 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useUseAsDraftWorkflowVersionSingleRecordAction.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useUseAsDraftWorkflowVersionSingleRecordAction.tsx @@ -8,8 +8,8 @@ import { useWorkflowVersion } from '@/workflow/hooks/useWorkflowVersion'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; import { openOverrideWorkflowDraftConfirmationModalState } from '@/workflow/states/openOverrideWorkflowDraftConfirmationModalState'; import { useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; export const useUseAsDraftWorkflowVersionSingleRecordAction: ActionHookWithoutObjectMetadataItem = () => { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/workflow-run-record-actions/hooks/useWorkflowRunRecordActions.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-actions/workflow-run-record-actions/hooks/useWorkflowRunRecordActions.tsx index 74c3365ab..f50afa61b 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/workflow-run-record-actions/hooks/useWorkflowRunRecordActions.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/workflow-run-record-actions/hooks/useWorkflowRunRecordActions.tsx @@ -12,8 +12,9 @@ import { useRunWorkflowVersion } from '@/workflow/hooks/useRunWorkflowVersion'; import { msg } from '@lingui/core/macro'; import { useRecoilValue } from 'recoil'; -import { capitalize, isDefined } from 'twenty-shared'; import { IconSettingsAutomation } from 'twenty-ui'; +import { capitalize, isDefined } from 'twenty-shared/utils'; + export const useWorkflowRunRecordActions = ({ objectMetadataItem, }: { diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-agnostic-actions/run-workflow-actions/hooks/useRunWorkflowActions.tsx b/packages/twenty-front/src/modules/action-menu/actions/record-agnostic-actions/run-workflow-actions/hooks/useRunWorkflowActions.tsx index ed58fe7b7..d66ca20ed 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-agnostic-actions/run-workflow-actions/hooks/useRunWorkflowActions.tsx +++ b/packages/twenty-front/src/modules/action-menu/actions/record-agnostic-actions/run-workflow-actions/hooks/useRunWorkflowActions.tsx @@ -6,10 +6,9 @@ import { useActiveWorkflowVersionsWithManualTrigger } from '@/workflow/hooks/use import { useRunWorkflowVersion } from '@/workflow/hooks/useRunWorkflowVersion'; import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; import { msg } from '@lingui/core/macro'; - -import { capitalize, isDefined } from 'twenty-shared'; import { IconSettingsAutomation } from 'twenty-ui'; import { FeatureFlagKey } from '~/generated/graphql'; +import { capitalize, isDefined } from 'twenty-shared/utils'; export const useRunWorkflowActions = () => { const isWorkflowEnabled = useIsFeatureEnabled( diff --git a/packages/twenty-front/src/modules/action-menu/actions/utils/wrapActionInCallbacks.ts b/packages/twenty-front/src/modules/action-menu/actions/utils/wrapActionInCallbacks.ts index fd766d8c3..d411a6b5b 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/utils/wrapActionInCallbacks.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/utils/wrapActionInCallbacks.ts @@ -1,5 +1,5 @@ import { ActionMenuEntry } from '@/action-menu/types/ActionMenuEntry'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const wrapActionInCallbacks = ({ action, diff --git a/packages/twenty-front/src/modules/action-menu/components/RecordShowRightDrawerActionMenu.tsx b/packages/twenty-front/src/modules/action-menu/components/RecordShowRightDrawerActionMenu.tsx index cddc4e0f0..4b38bc668 100644 --- a/packages/twenty-front/src/modules/action-menu/components/RecordShowRightDrawerActionMenu.tsx +++ b/packages/twenty-front/src/modules/action-menu/components/RecordShowRightDrawerActionMenu.tsx @@ -10,8 +10,8 @@ import { contextStoreCurrentObjectMetadataItemIdComponentState } from '@/context import { contextStoreTargetedRecordsRuleComponentState } from '@/context-store/states/contextStoreTargetedRecordsRuleComponentState'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; -import { isDefined } from 'twenty-shared'; import { FeatureFlagKey } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const RecordShowRightDrawerActionMenu = () => { const contextStoreCurrentObjectMetadataItemId = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/action-menu/states/actionMenuEntriesComponentSelector.ts b/packages/twenty-front/src/modules/action-menu/states/actionMenuEntriesComponentSelector.ts index 03527586a..1f298a613 100644 --- a/packages/twenty-front/src/modules/action-menu/states/actionMenuEntriesComponentSelector.ts +++ b/packages/twenty-front/src/modules/action-menu/states/actionMenuEntriesComponentSelector.ts @@ -2,7 +2,7 @@ import { actionMenuEntriesComponentState } from '@/action-menu/states/actionMenu import { ActionMenuComponentInstanceContext } from '@/action-menu/states/contexts/ActionMenuComponentInstanceContext'; import { ActionMenuEntry } from '@/action-menu/types/ActionMenuEntry'; import { createComponentSelectorV2 } from '@/ui/utilities/state/component-state/utils/createComponentSelectorV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const actionMenuEntriesComponentSelector = createComponentSelectorV2< ActionMenuEntry[] diff --git a/packages/twenty-front/src/modules/activities/blocks/components/FileBlock.tsx b/packages/twenty-front/src/modules/activities/blocks/components/FileBlock.tsx index b5ad1771e..9628ec705 100644 --- a/packages/twenty-front/src/modules/activities/blocks/components/FileBlock.tsx +++ b/packages/twenty-front/src/modules/activities/blocks/components/FileBlock.tsx @@ -2,14 +2,13 @@ import { createReactBlockSpec } from '@blocknote/react'; import styled from '@emotion/styled'; import { isNonEmptyString } from '@sniptt/guards'; import { ChangeEvent, useRef } from 'react'; - -import { isDefined } from 'twenty-shared'; import { Button } from 'twenty-ui'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; import { AttachmentIcon } from '../../files/components/AttachmentIcon'; import { AttachmentType } from '../../files/types/Attachment'; import { getFileType } from '../../files/utils/getFileType'; +import { isDefined } from 'twenty-shared/utils'; const StyledFileInput = styled.input` display: none; diff --git a/packages/twenty-front/src/modules/activities/calendar/components/CalendarEventRow.tsx b/packages/twenty-front/src/modules/activities/calendar/components/CalendarEventRow.tsx index 414d369e0..6c6721245 100644 --- a/packages/twenty-front/src/modules/activities/calendar/components/CalendarEventRow.tsx +++ b/packages/twenty-front/src/modules/activities/calendar/components/CalendarEventRow.tsx @@ -11,7 +11,6 @@ import { getCalendarEventStartDate } from '@/activities/calendar/utils/getCalend import { hasCalendarEventEnded } from '@/activities/calendar/utils/hasCalendarEventEnded'; import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState'; import { useOpenCalendarEventInCommandMenu } from '@/command-menu/hooks/useOpenCalendarEventInCommandMenu'; -import { isDefined } from 'twenty-shared'; import { Avatar, AvatarGroup, @@ -24,6 +23,7 @@ import { CalendarChannelVisibility, TimelineCalendarEvent, } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; type CalendarEventRowProps = { calendarEvent: TimelineCalendarEvent; diff --git a/packages/twenty-front/src/modules/activities/calendar/hooks/useCalendarEvents.ts b/packages/twenty-front/src/modules/activities/calendar/hooks/useCalendarEvents.ts index 7ecb7c456..329bda154 100644 --- a/packages/twenty-front/src/modules/activities/calendar/hooks/useCalendarEvents.ts +++ b/packages/twenty-front/src/modules/activities/calendar/hooks/useCalendarEvents.ts @@ -3,10 +3,10 @@ import { useMemo, useState } from 'react'; import { findUpcomingCalendarEvent } from '@/activities/calendar/utils/findUpcomingCalendarEvent'; import { getCalendarEventStartDate } from '@/activities/calendar/utils/getCalendarEventStartDate'; -import { isDefined } from 'twenty-shared'; import { TimelineCalendarEvent } from '~/generated/graphql'; import { groupArrayItemsBy } from '~/utils/array/groupArrayItemsBy'; import { sortDesc } from '~/utils/sort'; +import { isDefined } from 'twenty-shared/utils'; export const useCalendarEvents = (calendarEvents: TimelineCalendarEvent[]) => { const calendarEventsByDayTime = groupArrayItemsBy( diff --git a/packages/twenty-front/src/modules/activities/components/ActivityRichTextEditor.tsx b/packages/twenty-front/src/modules/activities/components/ActivityRichTextEditor.tsx index 55ce7fd1c..b7039a4f0 100644 --- a/packages/twenty-front/src/modules/activities/components/ActivityRichTextEditor.tsx +++ b/packages/twenty-front/src/modules/activities/components/ActivityRichTextEditor.tsx @@ -21,7 +21,6 @@ import { AppHotkeyScope } from '@/ui/utilities/hotkey/types/AppHotkeyScope'; import { isNonTextWritingKey } from '@/ui/utilities/hotkey/utils/isNonTextWritingKey'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { Key } from 'ts-key-enum'; -import { isDefined } from 'twenty-shared'; import { useDebouncedCallback } from 'use-debounce'; import { ActivityRichTextEditorChangeOnActivityIdEffect } from '@/activities/components/ActivityRichTextEditorChangeOnActivityIdEffect'; @@ -34,6 +33,7 @@ import '@blocknote/mantine/style.css'; import { useCreateBlockNote } from '@blocknote/react'; import '@blocknote/react/style.css'; import { isArray, isNonEmptyString } from '@sniptt/guards'; +import { isDefined } from 'twenty-shared/utils'; type ActivityRichTextEditorProps = { activityId: string; diff --git a/packages/twenty-front/src/modules/activities/emails/utils/getDisplayNameFromParticipant.ts b/packages/twenty-front/src/modules/activities/emails/utils/getDisplayNameFromParticipant.ts index 858f1077d..309e8b468 100644 --- a/packages/twenty-front/src/modules/activities/emails/utils/getDisplayNameFromParticipant.ts +++ b/packages/twenty-front/src/modules/activities/emails/utils/getDisplayNameFromParticipant.ts @@ -1,7 +1,7 @@ import { isNonEmptyString } from '@sniptt/guards'; import { EmailThreadMessageParticipant } from '@/activities/emails/types/EmailThreadMessageParticipant'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getDisplayNameFromParticipant = ({ participant, diff --git a/packages/twenty-front/src/modules/activities/files/components/AttachmentRow.tsx b/packages/twenty-front/src/modules/activities/files/components/AttachmentRow.tsx index f3a41a905..7fe665cc5 100644 --- a/packages/twenty-front/src/modules/activities/files/components/AttachmentRow.tsx +++ b/packages/twenty-front/src/modules/activities/files/components/AttachmentRow.tsx @@ -15,7 +15,7 @@ import { TextInput } from '@/ui/input/components/TextInput'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useState } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { IconCalendar, OverflowingTextWithTooltip, diff --git a/packages/twenty-front/src/modules/activities/files/components/Attachments.tsx b/packages/twenty-front/src/modules/activities/files/components/Attachments.tsx index 5862c55ac..75d00f0d7 100644 --- a/packages/twenty-front/src/modules/activities/files/components/Attachments.tsx +++ b/packages/twenty-front/src/modules/activities/files/components/Attachments.tsx @@ -18,7 +18,7 @@ import { useAttachments } from '@/activities/files/hooks/useAttachments'; import { useUploadAttachmentFile } from '@/activities/files/hooks/useUploadAttachmentFile'; import { ActivityTargetableObject } from '@/activities/types/ActivityTargetableEntity'; import { useHasObjectReadOnlyPermission } from '@/settings/roles/hooks/useHasObjectReadOnlyPermission'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledAttachmentsContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/activities/hooks/useActivityTargetObjectRecords.ts b/packages/twenty-front/src/modules/activities/hooks/useActivityTargetObjectRecords.ts index d1c707728..925af9801 100644 --- a/packages/twenty-front/src/modules/activities/hooks/useActivityTargetObjectRecords.ts +++ b/packages/twenty-front/src/modules/activities/hooks/useActivityTargetObjectRecords.ts @@ -9,7 +9,7 @@ import { TaskTarget } from '@/activities/types/TaskTarget'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useActivityTargetObjectRecords = ( activityRecordId?: string, diff --git a/packages/twenty-front/src/modules/activities/hooks/useCreateActivityInDB.ts b/packages/twenty-front/src/modules/activities/hooks/useCreateActivityInDB.ts index 43fd02e60..1f0b3958c 100644 --- a/packages/twenty-front/src/modules/activities/hooks/useCreateActivityInDB.ts +++ b/packages/twenty-front/src/modules/activities/hooks/useCreateActivityInDB.ts @@ -16,7 +16,7 @@ import { NoteTarget } from '@/activities/types/NoteTarget'; import { TaskTarget } from '@/activities/types/TaskTarget'; import { getJoinObjectNameSingular } from '@/activities/utils/getJoinObjectNameSingular'; import { useRecoilCallback } from 'recoil'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const useCreateActivityInDB = ({ activityObjectNameSingular, diff --git a/packages/twenty-front/src/modules/activities/hooks/usePrepareFindManyActivitiesQuery.ts b/packages/twenty-front/src/modules/activities/hooks/usePrepareFindManyActivitiesQuery.ts index e203711bb..2809c51b4 100644 --- a/packages/twenty-front/src/modules/activities/hooks/usePrepareFindManyActivitiesQuery.ts +++ b/packages/twenty-front/src/modules/activities/hooks/usePrepareFindManyActivitiesQuery.ts @@ -13,8 +13,8 @@ import { useGetRecordFromCache } from '@/object-record/cache/hooks/useGetRecordF import { useUpsertFindManyRecordsQueryInCache } from '@/object-record/cache/hooks/useUpsertFindManyRecordsQueryInCache'; import { getRecordFromCache } from '@/object-record/cache/utils/getRecordFromCache'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { sortByAscString } from '~/utils/array/sortByAscString'; +import { isDefined } from 'twenty-shared/utils'; export const usePrepareFindManyActivitiesQuery = ({ activityObjectNameSingular, diff --git a/packages/twenty-front/src/modules/activities/hooks/useRefreshShowPageFindManyActivitiesQueries.ts b/packages/twenty-front/src/modules/activities/hooks/useRefreshShowPageFindManyActivitiesQueries.ts index 65e457ef0..ce2cb0605 100644 --- a/packages/twenty-front/src/modules/activities/hooks/useRefreshShowPageFindManyActivitiesQueries.ts +++ b/packages/twenty-front/src/modules/activities/hooks/useRefreshShowPageFindManyActivitiesQueries.ts @@ -3,7 +3,7 @@ import { useRecoilValue } from 'recoil'; import { usePrepareFindManyActivitiesQuery } from '@/activities/hooks/usePrepareFindManyActivitiesQuery'; import { objectShowPageTargetableObjectState } from '@/activities/timeline-activities/states/objectShowPageTargetableObjectIdState'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; // This hook should only be executed if the normalized cache is up-to-date // It will take a targetableObject and prepare the queries for the activities diff --git a/packages/twenty-front/src/modules/activities/hooks/useReplaceActivityBlockEditorContent.ts b/packages/twenty-front/src/modules/activities/hooks/useReplaceActivityBlockEditorContent.ts index d9b5a22e5..cdf35a838 100644 --- a/packages/twenty-front/src/modules/activities/hooks/useReplaceActivityBlockEditorContent.ts +++ b/packages/twenty-front/src/modules/activities/hooks/useReplaceActivityBlockEditorContent.ts @@ -2,8 +2,8 @@ import { BLOCK_SCHEMA } from '@/activities/blocks/constants/Schema'; import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState'; import { isNonEmptyString } from '@sniptt/guards'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { isDefined } from 'twenty-shared/utils'; export const useReplaceActivityBlockEditorContent = ( editor: typeof BLOCK_SCHEMA.BlockNoteEditor, diff --git a/packages/twenty-front/src/modules/activities/hooks/useUpsertActivity.ts b/packages/twenty-front/src/modules/activities/hooks/useUpsertActivity.ts index c87dba580..219400b34 100644 --- a/packages/twenty-front/src/modules/activities/hooks/useUpsertActivity.ts +++ b/packages/twenty-front/src/modules/activities/hooks/useUpsertActivity.ts @@ -9,7 +9,7 @@ import { Note } from '@/activities/types/Note'; import { Task } from '@/activities/types/Task'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useUpsertActivity = ({ activityObjectNameSingular, diff --git a/packages/twenty-front/src/modules/activities/inline-cell/hooks/useUpdateActivityTargetFromInlineCell.ts b/packages/twenty-front/src/modules/activities/inline-cell/hooks/useUpdateActivityTargetFromInlineCell.ts index 46a6e6aec..28a2155a8 100644 --- a/packages/twenty-front/src/modules/activities/inline-cell/hooks/useUpdateActivityTargetFromInlineCell.ts +++ b/packages/twenty-front/src/modules/activities/inline-cell/hooks/useUpdateActivityTargetFromInlineCell.ts @@ -11,8 +11,8 @@ import { RecordPickerPickableMorphItem } from '@/object-record/record-picker/typ import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState'; import { isNull } from '@sniptt/guards'; import { useRecoilCallback, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { v4 } from 'uuid'; +import { isDefined } from 'twenty-shared/utils'; type UpdateActivityTargetFromInlineCellProps = { recordPickerInstanceId: string; diff --git a/packages/twenty-front/src/modules/activities/timeline-activities/rows/calendar/components/EventCardCalendarEvent.tsx b/packages/twenty-front/src/modules/activities/timeline-activities/rows/calendar/components/EventCardCalendarEvent.tsx index 62176e412..259ab3c60 100644 --- a/packages/twenty-front/src/modules/activities/timeline-activities/rows/calendar/components/EventCardCalendarEvent.tsx +++ b/packages/twenty-front/src/modules/activities/timeline-activities/rows/calendar/components/EventCardCalendarEvent.tsx @@ -7,13 +7,13 @@ import { useFindOneRecord } from '@/object-record/hooks/useFindOneRecord'; import { useUpsertRecordsInStore } from '@/object-record/record-store/hooks/useUpsertRecordsInStore'; import { UserContext } from '@/users/contexts/UserContext'; import { useContext } from 'react'; -import { isDefined } from 'twenty-shared'; import { formatToHumanReadableDay, formatToHumanReadableMonth, formatToHumanReadableTime, } from '~/utils/format/formatDate'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; const StyledEventCardCalendarEventContainer = styled.div` cursor: pointer; diff --git a/packages/twenty-front/src/modules/activities/timeline-activities/rows/main-object/components/EventFieldDiffValueEffect.tsx b/packages/twenty-front/src/modules/activities/timeline-activities/rows/main-object/components/EventFieldDiffValueEffect.tsx index 61c17503f..5ce564b53 100644 --- a/packages/twenty-front/src/modules/activities/timeline-activities/rows/main-object/components/EventFieldDiffValueEffect.tsx +++ b/packages/twenty-front/src/modules/activities/timeline-activities/rows/main-object/components/EventFieldDiffValueEffect.tsx @@ -5,7 +5,7 @@ import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { useSetRecordValue } from '@/object-record/record-store/contexts/RecordFieldValueSelectorContext'; import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const EventFieldDiffValueEffect = ({ diffArtificialRecordStoreId, diff --git a/packages/twenty-front/src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx b/packages/twenty-front/src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx index 7d11a133d..acf535ee4 100644 --- a/packages/twenty-front/src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx +++ b/packages/twenty-front/src/modules/activities/timeline-activities/rows/message/components/EventCardMessage.tsx @@ -7,7 +7,7 @@ import { EventCardMessageNotShared } from '@/activities/timeline-activities/rows import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { useFindOneRecord } from '@/object-record/hooks/useFindOneRecord'; import { useUpsertRecordsInStore } from '@/object-record/record-store/hooks/useUpsertRecordsInStore'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledEventCardMessageContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/activities/timeline-activities/utils/getTimelineActivityAuthorFullName.ts b/packages/twenty-front/src/modules/activities/timeline-activities/utils/getTimelineActivityAuthorFullName.ts index a784fd2f4..87b7290b1 100644 --- a/packages/twenty-front/src/modules/activities/timeline-activities/utils/getTimelineActivityAuthorFullName.ts +++ b/packages/twenty-front/src/modules/activities/timeline-activities/utils/getTimelineActivityAuthorFullName.ts @@ -1,6 +1,6 @@ import { TimelineActivity } from '@/activities/timeline-activities/types/TimelineActivity'; import { CurrentWorkspaceMember } from '@/auth/states/currentWorkspaceMemberState'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getTimelineActivityAuthorFullName = ( event: TimelineActivity, diff --git a/packages/twenty-front/src/modules/activities/timeline-activities/utils/groupEventsByMonth.ts b/packages/twenty-front/src/modules/activities/timeline-activities/utils/groupEventsByMonth.ts index f26bc8c79..8aadaa09b 100644 --- a/packages/twenty-front/src/modules/activities/timeline-activities/utils/groupEventsByMonth.ts +++ b/packages/twenty-front/src/modules/activities/timeline-activities/utils/groupEventsByMonth.ts @@ -1,5 +1,5 @@ import { TimelineActivity } from '@/activities/timeline-activities/types/TimelineActivity'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export type EventGroup = { month: number; diff --git a/packages/twenty-front/src/modules/apollo/hooks/useApolloFactory.ts b/packages/twenty-front/src/modules/apollo/hooks/useApolloFactory.ts index 5090f5e0c..ab47e4e81 100644 --- a/packages/twenty-front/src/modules/apollo/hooks/useApolloFactory.ts +++ b/packages/twenty-front/src/modules/apollo/hooks/useApolloFactory.ts @@ -10,7 +10,6 @@ import { previousUrlState } from '@/auth/states/previousUrlState'; import { tokenPairState } from '@/auth/states/tokenPairState'; import { workspacesState } from '@/auth/states/workspaces'; import { isDebugModeState } from '@/client-config/states/isDebugModeState'; -import { isDefined } from 'twenty-shared'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; import { useIsMatchingLocation } from '~/hooks/useIsMatchingLocation'; import { useUpdateEffect } from '~/hooks/useUpdateEffect'; @@ -18,6 +17,7 @@ import { useUpdateEffect } from '~/hooks/useUpdateEffect'; import { currentUserWorkspaceState } from '@/auth/states/currentUserWorkspaceState'; import { AppPath } from '@/types/AppPath'; import { ApolloFactory, Options } from '../services/apollo.factory'; +import { isDefined } from 'twenty-shared/utils'; export const useApolloFactory = (options: Partial> = {}) => { // eslint-disable-next-line @nx/workspace-no-state-useref diff --git a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/sortCachedObjectEdges.ts b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/sortCachedObjectEdges.ts index 9854f8af1..4de55c2ce 100644 --- a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/sortCachedObjectEdges.ts +++ b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/sortCachedObjectEdges.ts @@ -4,8 +4,8 @@ import { ReadFieldFunction } from '@apollo/client/cache/core/types/common'; import { RecordGqlRefEdge } from '@/object-record/cache/types/RecordGqlRefEdge'; import { RecordGqlOperationOrderBy } from '@/object-record/graphql/types/RecordGqlOperationOrderBy'; import { OrderBy } from '@/types/OrderBy'; -import { isDefined } from 'twenty-shared'; import { sortAsc, sortDesc, sortNullsFirst, sortNullsLast } from '~/utils/sort'; +import { isDefined } from 'twenty-shared/utils'; export const sortCachedObjectEdges = ({ edges, diff --git a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerAttachRelationOptimisticEffect.ts b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerAttachRelationOptimisticEffect.ts index 86b2bbe86..fc444fdae 100644 --- a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerAttachRelationOptimisticEffect.ts +++ b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerAttachRelationOptimisticEffect.ts @@ -2,7 +2,7 @@ import { ApolloCache, StoreObject } from '@apollo/client'; import { RecordGqlRefEdge } from '@/object-record/cache/types/RecordGqlRefEdge'; import { isObjectRecordConnectionWithRefs } from '@/object-record/cache/utils/isObjectRecordConnectionWithRefs'; -import { capitalize, isDefined } from 'twenty-shared'; +import { capitalize, isDefined } from 'twenty-shared/utils'; export const triggerAttachRelationOptimisticEffect = ({ cache, diff --git a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerCreateRecordsOptimisticEffect.ts b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerCreateRecordsOptimisticEffect.ts index 88f1220f3..c002ca2ad 100644 --- a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerCreateRecordsOptimisticEffect.ts +++ b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerCreateRecordsOptimisticEffect.ts @@ -13,8 +13,8 @@ import { CachedObjectRecordQueryVariables } from '@/apollo/types/CachedObjectRec import { encodeCursor } from '@/apollo/utils/encodeCursor'; import { getRecordFromCache } from '@/object-record/cache/utils/getRecordFromCache'; import { getRecordNodeFromRecord } from '@/object-record/cache/utils/getRecordNodeFromRecord'; -import { isDefined } from 'twenty-shared'; import { parseApolloStoreFieldName } from '~/utils/parseApolloStoreFieldName'; +import { isDefined } from 'twenty-shared/utils'; /* TODO: for now new records are added to all cached record lists, no matter what the variables (filters, orderBy, etc.) are. diff --git a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerDestroyRecordsOptimisticEffect.ts b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerDestroyRecordsOptimisticEffect.ts index ba03721ef..5fd2b8bd0 100644 --- a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerDestroyRecordsOptimisticEffect.ts +++ b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerDestroyRecordsOptimisticEffect.ts @@ -5,7 +5,7 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { RecordGqlRefEdge } from '@/object-record/cache/types/RecordGqlRefEdge'; import { isObjectRecordConnectionWithRefs } from '@/object-record/cache/utils/isObjectRecordConnectionWithRefs'; import { RecordGqlNode } from '@/object-record/graphql/types/RecordGqlNode'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const triggerDestroyRecordsOptimisticEffect = ({ cache, diff --git a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerDetachRelationOptimisticEffect.ts b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerDetachRelationOptimisticEffect.ts index a9b24130c..091199092 100644 --- a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerDetachRelationOptimisticEffect.ts +++ b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerDetachRelationOptimisticEffect.ts @@ -1,7 +1,7 @@ import { ApolloCache, StoreObject } from '@apollo/client'; import { isObjectRecordConnectionWithRefs } from '@/object-record/cache/utils/isObjectRecordConnectionWithRefs'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const triggerDetachRelationOptimisticEffect = ({ cache, diff --git a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRecordOptimisticEffect.ts b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRecordOptimisticEffect.ts index 0a762ee34..c67c1a510 100644 --- a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRecordOptimisticEffect.ts +++ b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRecordOptimisticEffect.ts @@ -9,8 +9,8 @@ import { getEdgeTypename } from '@/object-record/cache/utils/getEdgeTypename'; import { isObjectRecordConnectionWithRefs } from '@/object-record/cache/utils/isObjectRecordConnectionWithRefs'; import { RecordGqlNode } from '@/object-record/graphql/types/RecordGqlNode'; import { isRecordMatchingFilter } from '@/object-record/record-filter/utils/isRecordMatchingFilter'; -import { isDefined } from 'twenty-shared'; import { parseApolloStoreFieldName } from '~/utils/parseApolloStoreFieldName'; +import { isDefined } from 'twenty-shared/utils'; // TODO: add extensive unit tests for this function // That will also serve as documentation diff --git a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRecordOptimisticEffectByBatch.ts b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRecordOptimisticEffectByBatch.ts index f49859647..b274896f9 100644 --- a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRecordOptimisticEffectByBatch.ts +++ b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRecordOptimisticEffectByBatch.ts @@ -9,8 +9,8 @@ import { getEdgeTypename } from '@/object-record/cache/utils/getEdgeTypename'; import { isObjectRecordConnectionWithRefs } from '@/object-record/cache/utils/isObjectRecordConnectionWithRefs'; import { RecordGqlNode } from '@/object-record/graphql/types/RecordGqlNode'; import { isRecordMatchingFilter } from '@/object-record/record-filter/utils/isRecordMatchingFilter'; -import { isDefined } from 'twenty-shared'; import { parseApolloStoreFieldName } from '~/utils/parseApolloStoreFieldName'; +import { isDefined } from 'twenty-shared/utils'; // TODO: add extensive unit tests for this function // That will also serve as documentation diff --git a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRelationsOptimisticEffect.ts b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRelationsOptimisticEffect.ts index be977922d..568519d87 100644 --- a/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRelationsOptimisticEffect.ts +++ b/packages/twenty-front/src/modules/apollo/optimistic-effect/utils/triggerUpdateRelationsOptimisticEffect.ts @@ -9,9 +9,9 @@ import { RecordGqlConnection } from '@/object-record/graphql/types/RecordGqlConn import { RecordGqlNode } from '@/object-record/graphql/types/RecordGqlNode'; import { ApolloCache } from '@apollo/client'; import { isArray } from '@sniptt/guards'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { isDefined } from 'twenty-shared/utils'; type triggerUpdateRelationsOptimisticEffectArgs = { cache: ApolloCache; diff --git a/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts b/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts index 3c1f5fb86..cc425813f 100644 --- a/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts +++ b/packages/twenty-front/src/modules/apollo/services/apollo.factory.ts @@ -13,7 +13,6 @@ import { createUploadLink } from 'apollo-upload-client'; import { renewToken } from '@/auth/services/AuthService'; import { CurrentWorkspaceMember } from '@/auth/states/currentWorkspaceMemberState'; -import { isDefined } from 'twenty-shared'; import { AuthTokenPair } from '~/generated/graphql'; import { logDebug } from '~/utils/logDebug'; @@ -21,6 +20,7 @@ import { i18n } from '@lingui/core'; import { GraphQLFormattedError } from 'graphql'; import { ApolloManager } from '../types/apolloManager.interface'; import { loggerLink } from '../utils/loggerLink'; +import { isDefined } from 'twenty-shared/utils'; const logger = loggerLink(() => 'Twenty'); diff --git a/packages/twenty-front/src/modules/apollo/utils/encodeCursor.ts b/packages/twenty-front/src/modules/apollo/utils/encodeCursor.ts index 072c482a7..ec6ca5bf9 100644 --- a/packages/twenty-front/src/modules/apollo/utils/encodeCursor.ts +++ b/packages/twenty-front/src/modules/apollo/utils/encodeCursor.ts @@ -1,7 +1,7 @@ import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { Buffer } from 'buffer'; +import { isDefined } from 'twenty-shared/utils'; export const encodeCursor = (record: ObjectRecord) => { if (!('id' in record) || !isDefined(record.id)) { diff --git a/packages/twenty-front/src/modules/apollo/utils/loggerLink.ts b/packages/twenty-front/src/modules/apollo/utils/loggerLink.ts index 233c9209a..232746d43 100644 --- a/packages/twenty-front/src/modules/apollo/utils/loggerLink.ts +++ b/packages/twenty-front/src/modules/apollo/utils/loggerLink.ts @@ -1,10 +1,9 @@ import { ApolloLink, gql, Operation } from '@apollo/client'; - -import { isDefined } from 'twenty-shared'; import { logDebug } from '~/utils/logDebug'; import { logError } from '~/utils/logError'; import formatTitle from './formatTitle'; +import { isDefined } from 'twenty-shared/utils'; const getGroup = (collapsed: boolean) => collapsed diff --git a/packages/twenty-front/src/modules/app/effect-components/PageChangeEffect.tsx b/packages/twenty-front/src/modules/app/effect-components/PageChangeEffect.tsx index 12b6c4f7e..7ebbe1ada 100644 --- a/packages/twenty-front/src/modules/app/effect-components/PageChangeEffect.tsx +++ b/packages/twenty-front/src/modules/app/effect-components/PageChangeEffect.tsx @@ -21,10 +21,10 @@ import { AppPath } from '@/types/AppPath'; import { PageHotkeyScope } from '@/types/PageHotkeyScope'; import { SettingsPath } from '@/types/SettingsPath'; import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope'; -import { isDefined } from 'twenty-shared'; import { useIsMatchingLocation } from '~/hooks/useIsMatchingLocation'; import { usePageChangeEffectNavigateLocation } from '~/hooks/usePageChangeEffectNavigateLocation'; import { isCaptchaRequiredForPath } from '@/captcha/utils/isCaptchaRequiredForPath'; +import { isDefined } from 'twenty-shared/utils'; // TODO: break down into smaller functions and / or hooks // - moved usePageChangeEffectNavigateLocation into dedicated hook diff --git a/packages/twenty-front/src/modules/auth/components/Logo.tsx b/packages/twenty-front/src/modules/auth/components/Logo.tsx index f1f5a01a6..5b671a96f 100644 --- a/packages/twenty-front/src/modules/auth/components/Logo.tsx +++ b/packages/twenty-front/src/modules/auth/components/Logo.tsx @@ -1,8 +1,7 @@ import styled from '@emotion/styled'; import { isNonEmptyString } from '@sniptt/guards'; - -import { getImageAbsoluteURI } from 'twenty-shared'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; +import { getImageAbsoluteURI } from 'twenty-shared/utils'; type LogoProps = { primaryLogo?: string | null; diff --git a/packages/twenty-front/src/modules/auth/components/VerifyEffect.tsx b/packages/twenty-front/src/modules/auth/components/VerifyEffect.tsx index 588232d3e..f5ecefb0a 100644 --- a/packages/twenty-front/src/modules/auth/components/VerifyEffect.tsx +++ b/packages/twenty-front/src/modules/auth/components/VerifyEffect.tsx @@ -6,8 +6,8 @@ import { useVerifyLogin } from '@/auth/hooks/useVerifyLogin'; import { AppPath } from '@/types/AppPath'; import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar'; import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; -import { isDefined } from 'twenty-shared'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; export const VerifyEffect = () => { const [searchParams] = useSearchParams(); diff --git a/packages/twenty-front/src/modules/auth/hooks/__tests__/useVerifyLogin.test.ts b/packages/twenty-front/src/modules/auth/hooks/__tests__/useVerifyLogin.test.ts index 58b29ac29..4df3160d7 100644 --- a/packages/twenty-front/src/modules/auth/hooks/__tests__/useVerifyLogin.test.ts +++ b/packages/twenty-front/src/modules/auth/hooks/__tests__/useVerifyLogin.test.ts @@ -2,7 +2,6 @@ import { i18n } from '@lingui/core'; import { I18nProvider } from '@lingui/react'; import { renderHook } from '@testing-library/react'; import { RecoilRoot } from 'recoil'; -import { SOURCE_LOCALE } from 'twenty-shared'; import { AppPath } from '@/types/AppPath'; import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar'; @@ -12,6 +11,8 @@ import { useAuth } from '../useAuth'; import { useVerifyLogin } from '../useVerifyLogin'; import { dynamicActivate } from '~/utils/i18n/dynamicActivate'; +import { SOURCE_LOCALE } from 'twenty-shared/translations'; + jest.mock('../useAuth', () => ({ useAuth: jest.fn(), })); diff --git a/packages/twenty-front/src/modules/auth/hooks/useAuth.ts b/packages/twenty-front/src/modules/auth/hooks/useAuth.ts index 2db93f59a..d6662bbfb 100644 --- a/packages/twenty-front/src/modules/auth/hooks/useAuth.ts +++ b/packages/twenty-front/src/modules/auth/hooks/useAuth.ts @@ -20,7 +20,6 @@ import { clientConfigApiStatusState } from '@/client-config/states/clientConfigA import { isDebugModeState } from '@/client-config/states/isDebugModeState'; import { supportChatState } from '@/client-config/states/supportChatState'; import { ColorScheme } from '@/workspace-member/types/WorkspaceMember'; -import { APP_LOCALES, isDefined } from 'twenty-shared'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; import { useCheckUserExistsLazyQuery, @@ -65,6 +64,8 @@ import { i18n } from '@lingui/core'; import { useSearchParams } from 'react-router-dom'; import { getWorkspaceUrl } from '~/utils/getWorkspaceUrl'; import { dynamicActivate } from '~/utils/i18n/dynamicActivate'; +import { APP_LOCALES } from 'twenty-shared/translations'; +import { isDefined } from 'twenty-shared/utils'; export const useAuth = () => { const setTokenPair = useSetRecoilState(tokenPairState); diff --git a/packages/twenty-front/src/modules/auth/services/AuthService.ts b/packages/twenty-front/src/modules/auth/services/AuthService.ts index d82b6fd8c..68a57704f 100644 --- a/packages/twenty-front/src/modules/auth/services/AuthService.ts +++ b/packages/twenty-front/src/modules/auth/services/AuthService.ts @@ -7,7 +7,6 @@ import { } from '@apollo/client'; import { loggerLink } from '@/apollo/utils/loggerLink'; -import { isDefined } from 'twenty-shared'; import { AuthTokenPair, RenewTokenDocument, @@ -15,6 +14,7 @@ import { RenewTokenMutationVariables, } from '~/generated/graphql'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; const logger = loggerLink(() => 'Twenty-Refresh'); diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpEmailField.tsx b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpEmailField.tsx index 458ed3c64..cf04dbe01 100644 --- a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpEmailField.tsx +++ b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpEmailField.tsx @@ -3,7 +3,7 @@ import { Controller, useFormContext } from 'react-hook-form'; import styled from '@emotion/styled'; import { motion } from 'framer-motion'; import { Form } from '@/auth/sign-in-up/hooks/useSignInUpForm'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledFullWidthMotionDiv = styled(motion.div)` width: 100%; diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpGlobalScopeForm.tsx b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpGlobalScopeForm.tsx index dacb9ca44..8560eb964 100644 --- a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpGlobalScopeForm.tsx +++ b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpGlobalScopeForm.tsx @@ -26,8 +26,8 @@ import { authProvidersState } from '@/client-config/states/authProvidersState'; import { useRedirectToWorkspaceDomain } from '@/domain-manager/hooks/useRedirectToWorkspaceDomain'; import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar'; import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; -import { isDefined } from 'twenty-shared'; import { getWorkspaceUrl } from '~/utils/getWorkspaceUrl'; +import { isDefined } from 'twenty-shared/utils'; const StyledContentContainer = styled(motion.div)` margin-bottom: ${({ theme }) => theme.spacing(8)}; diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpSSOIdentityProviderSelection.tsx b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpSSOIdentityProviderSelection.tsx index 5c3b2b704..61535724f 100644 --- a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpSSOIdentityProviderSelection.tsx +++ b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpSSOIdentityProviderSelection.tsx @@ -7,8 +7,8 @@ import { useRecoilValue } from 'recoil'; import { HorizontalSeparator, MainButton } from 'twenty-ui'; import { workspaceAuthProvidersState } from '@/workspace/states/workspaceAuthProvidersState'; -import { isDefined } from 'twenty-shared'; import React from 'react'; +import { isDefined } from 'twenty-shared/utils'; const StyledContentContainer = styled.div` margin-bottom: ${({ theme }) => theme.spacing(8)}; diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWithCredentials.tsx b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWithCredentials.tsx index ae6e16ef1..c86dce22f 100644 --- a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWithCredentials.tsx +++ b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWithCredentials.tsx @@ -15,8 +15,8 @@ import { useLingui } from '@lingui/react/macro'; import { useMemo, useState } from 'react'; import { useFormContext } from 'react-hook-form'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { Loader, MainButton } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledForm = styled.form` align-items: center; diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWithSSO.tsx b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWithSSO.tsx index 96a04ff59..8b6164836 100644 --- a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWithSSO.tsx +++ b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWithSSO.tsx @@ -7,8 +7,8 @@ import { workspaceAuthProvidersState } from '@/workspace/states/workspaceAuthPro import { useTheme } from '@emotion/react'; import { useLingui } from '@lingui/react/macro'; import { useRecoilValue, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { HorizontalSeparator, IconLock, MainButton } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const SignInUpWithSSO = () => { const theme = useTheme(); diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWorkspaceScopeFormEffect.tsx b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWorkspaceScopeFormEffect.tsx index bfffc217d..6242082ba 100644 --- a/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWorkspaceScopeFormEffect.tsx +++ b/packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpWorkspaceScopeFormEffect.tsx @@ -10,7 +10,7 @@ import { captchaState } from '@/client-config/states/captchaState'; import { workspaceAuthProvidersState } from '@/workspace/states/workspaceAuthProvidersState'; import { useEffect, useState } from 'react'; import { useRecoilValue, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const searchParams = new URLSearchParams(window.location.search); const email = searchParams.get('email'); diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useHandleResetPassword.test.ts b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useHandleResetPassword.test.ts index eaf3bf1e9..7e4592e74 100644 --- a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useHandleResetPassword.test.ts +++ b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/__tests__/useHandleResetPassword.test.ts @@ -2,7 +2,6 @@ import { i18n } from '@lingui/core'; import { I18nProvider } from '@lingui/react'; import { act, renderHook } from '@testing-library/react'; import { RecoilRoot } from 'recoil'; -import { SOURCE_LOCALE } from 'twenty-shared'; import { useHandleResetPassword } from '@/auth/sign-in-up/hooks/useHandleResetPassword'; import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar'; @@ -13,6 +12,7 @@ import { } from '~/generated/graphql'; import { dynamicActivate } from '~/utils/i18n/dynamicActivate'; import { workspacePublicDataState } from '@/auth/states/workspacePublicDataState'; +import { SOURCE_LOCALE } from 'twenty-shared/translations'; // Mocks jest.mock('@/ui/feedback/snack-bar-manager/hooks/useSnackBar'); diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSignInUpForm.ts b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSignInUpForm.ts index 630f19f45..f91f55a33 100644 --- a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSignInUpForm.ts +++ b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSignInUpForm.ts @@ -11,7 +11,7 @@ import { } from '@/auth/states/signInUpStepState'; import { PASSWORD_REGEX } from '@/auth/utils/passwordRegex'; import { isDeveloperDefaultSignInPrefilledState } from '@/client-config/states/isDeveloperDefaultSignInPrefilledState'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const makeValidationSchema = (signInUpStep: SignInUpStep) => z diff --git a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useWorkspaceFromInviteHash.ts b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useWorkspaceFromInviteHash.ts index dbc5b011a..b5cc0ab0f 100644 --- a/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useWorkspaceFromInviteHash.ts +++ b/packages/twenty-front/src/modules/auth/sign-in-up/hooks/useWorkspaceFromInviteHash.ts @@ -9,9 +9,9 @@ import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; import { isDefaultLayoutAuthModalVisibleState } from '@/ui/layout/states/isDefaultLayoutAuthModalVisibleState'; import { AppPath } from '@/types/AppPath'; -import { isDefined } from 'twenty-shared'; import { useGetWorkspaceFromInviteHashQuery } from '~/generated/graphql'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; export const useWorkspaceFromInviteHash = () => { const { enqueueSnackBar } = useSnackBar(); diff --git a/packages/twenty-front/src/modules/captcha/hooks/useReadCaptchaToken.ts b/packages/twenty-front/src/modules/captcha/hooks/useReadCaptchaToken.ts index 22e2fbbeb..6abb6dea9 100644 --- a/packages/twenty-front/src/modules/captcha/hooks/useReadCaptchaToken.ts +++ b/packages/twenty-front/src/modules/captcha/hooks/useReadCaptchaToken.ts @@ -1,7 +1,7 @@ import { useRecoilCallback } from 'recoil'; import { captchaTokenState } from '@/captcha/states/captchaTokenState'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useReadCaptchaToken = () => { const readCaptchaToken = useRecoilCallback( diff --git a/packages/twenty-front/src/modules/chrome-extension-sidecar/components/ChromeExtensionSidecarEffect.tsx b/packages/twenty-front/src/modules/chrome-extension-sidecar/components/ChromeExtensionSidecarEffect.tsx index e33142a4b..e00e75a26 100644 --- a/packages/twenty-front/src/modules/chrome-extension-sidecar/components/ChromeExtensionSidecarEffect.tsx +++ b/packages/twenty-front/src/modules/chrome-extension-sidecar/components/ChromeExtensionSidecarEffect.tsx @@ -5,8 +5,8 @@ import { useRecoilValue, useSetRecoilState } from 'recoil'; import { tokenPairState } from '@/auth/states/tokenPairState'; import { isLoadingTokensFromExtensionState } from '@/chrome-extension-sidecar/states/isLoadingTokensFromExtensionState'; import { chromeExtensionIdState } from '@/client-config/states/chromeExtensionIdState'; -import { isDefined } from 'twenty-shared'; import { isInFrame } from '~/utils/isInIframe'; +import { isDefined } from 'twenty-shared/utils'; export const ChromeExtensionSidecarEffect = () => { const navigate = useNavigate(); diff --git a/packages/twenty-front/src/modules/client-config/components/ClientConfigProviderEffect.tsx b/packages/twenty-front/src/modules/client-config/components/ClientConfigProviderEffect.tsx index 610bbf7d1..3240420e7 100644 --- a/packages/twenty-front/src/modules/client-config/components/ClientConfigProviderEffect.tsx +++ b/packages/twenty-front/src/modules/client-config/components/ClientConfigProviderEffect.tsx @@ -21,8 +21,8 @@ import { supportChatState } from '@/client-config/states/supportChatState'; import { domainConfigurationState } from '@/domain-manager/states/domainConfigurationState'; import { useEffect } from 'react'; import { useRecoilState, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { useGetClientConfigQuery } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const ClientConfigProviderEffect = () => { const setIsDebugMode = useSetRecoilState(isDebugModeState); diff --git a/packages/twenty-front/src/modules/command-menu/components/CommandMenu.tsx b/packages/twenty-front/src/modules/command-menu/components/CommandMenu.tsx index df2e87fd3..8b6100e7b 100644 --- a/packages/twenty-front/src/modules/command-menu/components/CommandMenu.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/CommandMenu.tsx @@ -11,7 +11,7 @@ import { SelectableItem } from '@/ui/layout/selectable-list/components/Selectabl import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useLingui } from '@lingui/react/macro'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export type CommandGroupConfig = { heading: string; diff --git a/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChip.tsx b/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChip.tsx index 34842186d..1ba7ff02a 100644 --- a/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChip.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChip.tsx @@ -2,7 +2,7 @@ import styled from '@emotion/styled'; import { isNonEmptyString } from '@sniptt/guards'; import { OverflowingTextWithTooltip } from '@ui/display'; import { Fragment } from 'react/jsx-runtime'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledChip = styled.button<{ withText: boolean; diff --git a/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipGroups.tsx b/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipGroups.tsx index 96fc3613c..bd6a305c5 100644 --- a/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipGroups.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipGroups.tsx @@ -3,12 +3,12 @@ import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; import { useDropdownV2 } from '@/ui/layout/dropdown/hooks/useDropdownV2'; import { AppHotkeyScope } from '@/ui/utilities/hotkey/types/AppHotkeyScope'; -import { isDefined } from 'twenty-shared'; import { MenuItem } from 'twenty-ui'; import { CommandMenuContextChip, CommandMenuContextChipProps, } from './CommandMenuContextChip'; +import { isDefined } from 'twenty-shared/utils'; export const CommandMenuContextChipGroups = ({ contextChips, diff --git a/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipGroupsWithRecordSelection.tsx b/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipGroupsWithRecordSelection.tsx index 4072ab413..750e79e40 100644 --- a/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipGroupsWithRecordSelection.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipGroupsWithRecordSelection.tsx @@ -4,8 +4,8 @@ import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu'; import { getSelectedRecordsContextText } from '@/command-menu/utils/getRecordContextText'; import { useFindManyRecordsSelectedInContextStore } from '@/context-store/hooks/useFindManyRecordsSelectedInContextStore'; import { useObjectMetadataItemById } from '@/object-metadata/hooks/useObjectMetadataItemById'; -import { isDefined } from 'twenty-shared'; import { CommandMenuContextChipProps } from './CommandMenuContextChip'; +import { isDefined } from 'twenty-shared/utils'; export const CommandMenuContextChipGroupsWithRecordSelection = ({ contextChips, diff --git a/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipRecordSetterEffect.tsx b/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipRecordSetterEffect.tsx index 0cf86645f..92213ee80 100644 --- a/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipRecordSetterEffect.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/CommandMenuContextChipRecordSetterEffect.tsx @@ -6,7 +6,7 @@ import { getRecordFromCache } from '@/object-record/cache/utils/getRecordFromCac import { useApolloClient } from '@apollo/client'; import { useEffect } from 'react'; import { useRecoilValue, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const CommandMenuContextChipRecordSetterEffect = () => { const commandMenuNavigationMorphItemByPage = useRecoilValue( diff --git a/packages/twenty-front/src/modules/command-menu/components/CommandMenuDefaultSelectionEffect.tsx b/packages/twenty-front/src/modules/command-menu/components/CommandMenuDefaultSelectionEffect.tsx index 95c27ed91..2d6acdac0 100644 --- a/packages/twenty-front/src/modules/command-menu/components/CommandMenuDefaultSelectionEffect.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/CommandMenuDefaultSelectionEffect.tsx @@ -2,7 +2,7 @@ import { hasUserSelectedCommandState } from '@/command-menu/states/hasUserSelect import { useSelectableList } from '@/ui/layout/selectable-list/hooks/useSelectableList'; import { useEffect } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const CommandMenuDefaultSelectionEffect = ({ selectableItemIds, diff --git a/packages/twenty-front/src/modules/command-menu/components/CommandMenuList.tsx b/packages/twenty-front/src/modules/command-menu/components/CommandMenuList.tsx index a9fa22e05..0968b4248 100644 --- a/packages/twenty-front/src/modules/command-menu/components/CommandMenuList.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/CommandMenuList.tsx @@ -14,8 +14,8 @@ import { AppHotkeyScope } from '@/ui/utilities/hotkey/types/AppHotkeyScope'; import { ScrollWrapper } from '@/ui/utilities/scroll/components/ScrollWrapper'; import styled from '@emotion/styled'; import { useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { MOBILE_VIEWPORT } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const MOBILE_NAVIGATION_BAR_HEIGHT = 64; diff --git a/packages/twenty-front/src/modules/command-menu/components/CommandMenuRouter.tsx b/packages/twenty-front/src/modules/command-menu/components/CommandMenuRouter.tsx index 10cbcb055..eddb8569d 100644 --- a/packages/twenty-front/src/modules/command-menu/components/CommandMenuRouter.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/CommandMenuRouter.tsx @@ -9,7 +9,7 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { motion } from 'framer-motion'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledCommandMenuContent = styled.div` flex: 1; diff --git a/packages/twenty-front/src/modules/command-menu/components/CommandMenuTopBar.tsx b/packages/twenty-front/src/modules/command-menu/components/CommandMenuTopBar.tsx index 7f422501a..7b1760d5d 100644 --- a/packages/twenty-front/src/modules/command-menu/components/CommandMenuTopBar.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/CommandMenuTopBar.tsx @@ -20,7 +20,6 @@ import { AnimatePresence, motion } from 'framer-motion'; import { useRef } from 'react'; import { useLocation } from 'react-router-dom'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { Button, IconChevronLeft, @@ -28,6 +27,7 @@ import { getOsControlSymbol, useIsMobile, } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledInputContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx b/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx index 3bd5433fd..a71b3aef2 100644 --- a/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx +++ b/packages/twenty-front/src/modules/command-menu/components/ResetContextToSelectionCommandButton.tsx @@ -9,8 +9,8 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadat import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { t } from '@lingui/core/macro'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { IconArrowBackUp } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const ResetContextToSelectionCommandButton = () => { const contextStoreTargetedRecordsRule = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuContextChips.tsx b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuContextChips.tsx index 239b019c6..77708400d 100644 --- a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuContextChips.tsx +++ b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuContextChips.tsx @@ -9,7 +9,7 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useMemo } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledIconWrapper = styled.div` background: ${({ theme }) => theme.background.primary}; diff --git a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuHistory.ts b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuHistory.ts index 1b61d8a48..68e578269 100644 --- a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuHistory.ts +++ b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuHistory.ts @@ -8,7 +8,7 @@ import { commandMenuPageState } from '@/command-menu/states/commandMenuPageState import { hasUserSelectedCommandState } from '@/command-menu/states/hasUserSelectedCommandState'; import { getShowPageTabListComponentId } from '@/ui/layout/show-page/utils/getShowPageTabListComponentId'; import { activeTabIdComponentState } from '@/ui/layout/tab/states/activeTabIdComponentState'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useCommandMenuHistory = () => { const { closeCommandMenu } = useCommandMenu(); diff --git a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuOnItemClick.ts b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuOnItemClick.ts index 20326eeb1..5b238cbee 100644 --- a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuOnItemClick.ts +++ b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuOnItemClick.ts @@ -2,7 +2,7 @@ import { useCommandMenu } from '@/command-menu/hooks/useCommandMenu'; import { isNonEmptyString } from '@sniptt/guards'; import { useCallback } from 'react'; import { useNavigate } from 'react-router-dom'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useCommandMenuOnItemClick = () => { const { toggleCommandMenu } = useCommandMenu(); diff --git a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuSearchRecords.tsx b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuSearchRecords.tsx index 9a26d15ae..169fd5804 100644 --- a/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuSearchRecords.tsx +++ b/packages/twenty-front/src/modules/command-menu/hooks/useCommandMenuSearchRecords.tsx @@ -5,10 +5,10 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { t } from '@lingui/core/macro'; import { useMemo } from 'react'; import { useRecoilValue } from 'recoil'; -import { capitalize } from 'twenty-shared'; import { Avatar } from 'twenty-ui'; import { useDebounce } from 'use-debounce'; import { useGlobalSearchQuery } from '~/generated/graphql'; +import { capitalize } from 'twenty-shared/utils'; export const useCommandMenuSearchRecords = () => { const commandMenuSearch = useRecoilValue(commandMenuSearchState); diff --git a/packages/twenty-front/src/modules/command-menu/hooks/useOpenRecordInCommandMenu.ts b/packages/twenty-front/src/modules/command-menu/hooks/useOpenRecordInCommandMenu.ts index 2b8a02d81..c59222d26 100644 --- a/packages/twenty-front/src/modules/command-menu/hooks/useOpenRecordInCommandMenu.ts +++ b/packages/twenty-front/src/modules/command-menu/hooks/useOpenRecordInCommandMenu.ts @@ -16,9 +16,9 @@ import { viewableRecordIdState } from '@/object-record/record-right-drawer/state import { useTheme } from '@emotion/react'; import { t } from '@lingui/core/macro'; import { useRecoilCallback } from 'recoil'; -import { capitalize } from 'twenty-shared'; import { useIcons } from 'twenty-ui'; import { v4 } from 'uuid'; +import { capitalize } from 'twenty-shared/utils'; export const useOpenRecordInCommandMenu = () => { const { navigateCommandMenu } = useCommandMenu(); diff --git a/packages/twenty-front/src/modules/command-menu/pages/message-thread/components/CommandMenuMessageThreadPage.tsx b/packages/twenty-front/src/modules/command-menu/pages/message-thread/components/CommandMenuMessageThreadPage.tsx index 2a137d3c9..dafdfdc96 100644 --- a/packages/twenty-front/src/modules/command-menu/pages/message-thread/components/CommandMenuMessageThreadPage.tsx +++ b/packages/twenty-front/src/modules/command-menu/pages/message-thread/components/CommandMenuMessageThreadPage.tsx @@ -11,8 +11,8 @@ import { messageThreadComponentState } from '@/command-menu/pages/message-thread import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile'; import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { assertUnreachable } from '@/workflow/utils/assertUnreachable'; -import { ConnectedAccountProvider } from 'twenty-shared'; import { Button, IconArrowBackUp } from 'twenty-ui'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; const StyledWrapper = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/command-menu/pages/message-thread/hooks/useEmailThreadInCommandMenu.ts b/packages/twenty-front/src/modules/command-menu/pages/message-thread/hooks/useEmailThreadInCommandMenu.ts index 64a5296ca..ae9ffdb35 100644 --- a/packages/twenty-front/src/modules/command-menu/pages/message-thread/hooks/useEmailThreadInCommandMenu.ts +++ b/packages/twenty-front/src/modules/command-menu/pages/message-thread/hooks/useEmailThreadInCommandMenu.ts @@ -14,7 +14,7 @@ import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords'; import { useFindOneRecord } from '@/object-record/hooks/useFindOneRecord'; import { useUpsertRecordsInStore } from '@/object-record/record-store/hooks/useUpsertRecordsInStore'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useEmailThreadInCommandMenu = () => { const viewableRecordId = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/command-menu/pages/workflow/action/components/CommandMenuWorkflowSelectAction.tsx b/packages/twenty-front/src/modules/command-menu/pages/workflow/action/components/CommandMenuWorkflowSelectAction.tsx index 588adc218..45ca049d0 100644 --- a/packages/twenty-front/src/modules/command-menu/pages/workflow/action/components/CommandMenuWorkflowSelectAction.tsx +++ b/packages/twenty-front/src/modules/command-menu/pages/workflow/action/components/CommandMenuWorkflowSelectAction.tsx @@ -2,7 +2,7 @@ import { CommandMenuWorkflowSelectActionContent } from '@/command-menu/pages/wor import { workflowIdComponentState } from '@/command-menu/pages/workflow/states/workflowIdComponentState'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const CommandMenuWorkflowSelectAction = () => { const workflowId = useRecoilComponentValueV2(workflowIdComponentState); diff --git a/packages/twenty-front/src/modules/command-menu/pages/workflow/step/edit/components/CommandMenuWorkflowEditStep.tsx b/packages/twenty-front/src/modules/command-menu/pages/workflow/step/edit/components/CommandMenuWorkflowEditStep.tsx index 4aeb0a9cd..217e50504 100644 --- a/packages/twenty-front/src/modules/command-menu/pages/workflow/step/edit/components/CommandMenuWorkflowEditStep.tsx +++ b/packages/twenty-front/src/modules/command-menu/pages/workflow/step/edit/components/CommandMenuWorkflowEditStep.tsx @@ -3,7 +3,7 @@ import { CommandMenuWorkflowEditStepContent } from '@/command-menu/pages/workflo import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; import { WorkflowStepContextProvider } from '@/workflow/states/context/WorkflowStepContext'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const CommandMenuWorkflowEditStep = () => { const workflowId = useRecoilComponentValueV2(workflowIdComponentState); diff --git a/packages/twenty-front/src/modules/command-menu/pages/workflow/step/view-run/components/CommandMenuWorkflowRunViewStep.tsx b/packages/twenty-front/src/modules/command-menu/pages/workflow/step/view-run/components/CommandMenuWorkflowRunViewStep.tsx index 9aad28a84..337cd439d 100644 --- a/packages/twenty-front/src/modules/command-menu/pages/workflow/step/view-run/components/CommandMenuWorkflowRunViewStep.tsx +++ b/packages/twenty-front/src/modules/command-menu/pages/workflow/step/view-run/components/CommandMenuWorkflowRunViewStep.tsx @@ -17,8 +17,8 @@ import { import { getWorkflowRunStepExecutionStatus } from '@/workflow/workflow-steps/utils/getWorkflowRunStepExecutionStatus'; import { TRIGGER_STEP_ID } from '@/workflow/workflow-trigger/constants/TriggerStepId'; import styled from '@emotion/styled'; -import { isDefined } from 'twenty-shared'; import { IconLogin2, IconLogout, IconStepInto } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledTabList = styled(TabList)` background-color: ${({ theme }) => theme.background.secondary}; diff --git a/packages/twenty-front/src/modules/command-menu/pages/workflow/trigger-type/components/CommandMenuWorkflowSelectTriggerType.tsx b/packages/twenty-front/src/modules/command-menu/pages/workflow/trigger-type/components/CommandMenuWorkflowSelectTriggerType.tsx index 2a8c38528..2e4bb6bc1 100644 --- a/packages/twenty-front/src/modules/command-menu/pages/workflow/trigger-type/components/CommandMenuWorkflowSelectTriggerType.tsx +++ b/packages/twenty-front/src/modules/command-menu/pages/workflow/trigger-type/components/CommandMenuWorkflowSelectTriggerType.tsx @@ -2,7 +2,7 @@ import { workflowIdComponentState } from '@/command-menu/pages/workflow/states/w import { CommandMenuWorkflowSelectTriggerTypeContent } from '@/command-menu/pages/workflow/trigger-type/components/CommandMenuWorkflowSelectTriggerTypeContent'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const CommandMenuWorkflowSelectTriggerType = () => { const workflowId = useRecoilComponentValueV2(workflowIdComponentState); diff --git a/packages/twenty-front/src/modules/command-menu/utils/getRecordContextText.ts b/packages/twenty-front/src/modules/command-menu/utils/getRecordContextText.ts index a2ece251b..c6ba13d2c 100644 --- a/packages/twenty-front/src/modules/command-menu/utils/getRecordContextText.ts +++ b/packages/twenty-front/src/modules/command-menu/utils/getRecordContextText.ts @@ -1,7 +1,7 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { getObjectRecordIdentifier } from '@/object-metadata/utils/getObjectRecordIdentifier'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const getSelectedRecordsContextText = ( objectMetadataItem: ObjectMetadataItem, diff --git a/packages/twenty-front/src/modules/context-store/components/MainContextStoreProvider.tsx b/packages/twenty-front/src/modules/context-store/components/MainContextStoreProvider.tsx index f02bb4c96..2dd7c0c07 100644 --- a/packages/twenty-front/src/modules/context-store/components/MainContextStoreProvider.tsx +++ b/packages/twenty-front/src/modules/context-store/components/MainContextStoreProvider.tsx @@ -5,8 +5,8 @@ import { prefetchIndexViewIdFromObjectMetadataItemFamilySelector } from '@/prefe import { AppPath } from '@/types/AppPath'; import { useParams, useSearchParams } from 'react-router-dom'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { useIsMatchingLocation } from '~/hooks/useIsMatchingLocation'; +import { isDefined } from 'twenty-shared/utils'; const getViewId = ( viewIdFromQueryParams: string | null, diff --git a/packages/twenty-front/src/modules/databases/hooks/useCreateOneDatabaseConnection.ts b/packages/twenty-front/src/modules/databases/hooks/useCreateOneDatabaseConnection.ts index c526fe2b8..dc01f5641 100644 --- a/packages/twenty-front/src/modules/databases/hooks/useCreateOneDatabaseConnection.ts +++ b/packages/twenty-front/src/modules/databases/hooks/useCreateOneDatabaseConnection.ts @@ -3,12 +3,12 @@ import { useMutation } from '@apollo/client'; import { CREATE_ONE_DATABASE_CONNECTION } from '@/databases/graphql/mutations/createOneDatabaseConnection'; import { GET_MANY_DATABASE_CONNECTIONS } from '@/databases/graphql/queries/findManyDatabaseConnections'; import { useApolloMetadataClient } from '@/object-metadata/hooks/useApolloMetadataClient'; -import { isDefined } from 'twenty-shared'; import { CreateRemoteServerInput, CreateServerMutation, CreateServerMutationVariables, } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useCreateOneDatabaseConnection = () => { const apolloMetadataClient = useApolloMetadataClient(); diff --git a/packages/twenty-front/src/modules/databases/hooks/useSyncRemoteTable.ts b/packages/twenty-front/src/modules/databases/hooks/useSyncRemoteTable.ts index aaa4386d8..c3b67d445 100644 --- a/packages/twenty-front/src/modules/databases/hooks/useSyncRemoteTable.ts +++ b/packages/twenty-front/src/modules/databases/hooks/useSyncRemoteTable.ts @@ -7,12 +7,12 @@ import { useApolloMetadataClient } from '@/object-metadata/hooks/useApolloMetada import { useFindManyObjectMetadataItems } from '@/object-metadata/hooks/useFindManyObjectMetadataItems'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { useFindManyRecordsQuery } from '@/object-record/hooks/useFindManyRecordsQuery'; -import { isDefined } from 'twenty-shared'; import { RemoteTableInput, SyncRemoteTableMutation, SyncRemoteTableMutationVariables, } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useSyncRemoteTable = () => { const apolloMetadataClient = useApolloMetadataClient(); diff --git a/packages/twenty-front/src/modules/databases/hooks/useSyncRemoteTableSchemaChanges.ts b/packages/twenty-front/src/modules/databases/hooks/useSyncRemoteTableSchemaChanges.ts index 74ce46a36..70bf67d65 100644 --- a/packages/twenty-front/src/modules/databases/hooks/useSyncRemoteTableSchemaChanges.ts +++ b/packages/twenty-front/src/modules/databases/hooks/useSyncRemoteTableSchemaChanges.ts @@ -7,12 +7,12 @@ import { useApolloMetadataClient } from '@/object-metadata/hooks/useApolloMetada import { useFindManyObjectMetadataItems } from '@/object-metadata/hooks/useFindManyObjectMetadataItems'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { useFindManyRecordsQuery } from '@/object-record/hooks/useFindManyRecordsQuery'; -import { isDefined } from 'twenty-shared'; import { RemoteTableInput, SyncRemoteTableSchemaChangesMutation, SyncRemoteTableSchemaChangesMutationVariables, } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useSyncRemoteTableSchemaChanges = () => { const apolloMetadataClient = useApolloMetadataClient(); diff --git a/packages/twenty-front/src/modules/databases/hooks/useUnsyncRemoteTable.ts b/packages/twenty-front/src/modules/databases/hooks/useUnsyncRemoteTable.ts index 1d2f18d55..423afa960 100644 --- a/packages/twenty-front/src/modules/databases/hooks/useUnsyncRemoteTable.ts +++ b/packages/twenty-front/src/modules/databases/hooks/useUnsyncRemoteTable.ts @@ -5,12 +5,12 @@ import { UNSYNC_REMOTE_TABLE } from '@/databases/graphql/mutations/unsyncRemoteT import { modifyRemoteTableFromCache } from '@/databases/utils/modifyRemoteTableFromCache'; import { useApolloMetadataClient } from '@/object-metadata/hooks/useApolloMetadataClient'; import { useFindManyObjectMetadataItems } from '@/object-metadata/hooks/useFindManyObjectMetadataItems'; -import { isDefined } from 'twenty-shared'; import { RemoteTableInput, UnsyncRemoteTableMutation, UnsyncRemoteTableMutationVariables, } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useUnsyncRemoteTable = () => { const apolloMetadataClient = useApolloMetadataClient(); diff --git a/packages/twenty-front/src/modules/domain-manager/hooks/useBuildWorkspaceUrl.ts b/packages/twenty-front/src/modules/domain-manager/hooks/useBuildWorkspaceUrl.ts index a3c9d9505..55caa4644 100644 --- a/packages/twenty-front/src/modules/domain-manager/hooks/useBuildWorkspaceUrl.ts +++ b/packages/twenty-front/src/modules/domain-manager/hooks/useBuildWorkspaceUrl.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; export const useBuildWorkspaceUrl = () => { const buildWorkspaceUrl = ( endpoint: string, diff --git a/packages/twenty-front/src/modules/domain-manager/hooks/useGetPublicWorkspaceDataByDomain.ts b/packages/twenty-front/src/modules/domain-manager/hooks/useGetPublicWorkspaceDataByDomain.ts index abb95330d..c5caecb90 100644 --- a/packages/twenty-front/src/modules/domain-manager/hooks/useGetPublicWorkspaceDataByDomain.ts +++ b/packages/twenty-front/src/modules/domain-manager/hooks/useGetPublicWorkspaceDataByDomain.ts @@ -4,8 +4,8 @@ import { useIsCurrentLocationOnDefaultDomain } from '@/domain-manager/hooks/useI import { useRedirectToDefaultDomain } from '@/domain-manager/hooks/useRedirectToDefaultDomain'; import { workspaceAuthProvidersState } from '@/workspace/states/workspaceAuthProvidersState'; import { useRecoilValue, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { useGetPublicWorkspaceDataByDomainQuery } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useGetPublicWorkspaceDataByDomain = () => { const { isDefaultDomain } = useIsCurrentLocationOnDefaultDomain(); diff --git a/packages/twenty-front/src/modules/domain-manager/hooks/useIsCurrentLocationOnAWorkspace.ts b/packages/twenty-front/src/modules/domain-manager/hooks/useIsCurrentLocationOnAWorkspace.ts index 402da7361..553ba2e60 100644 --- a/packages/twenty-front/src/modules/domain-manager/hooks/useIsCurrentLocationOnAWorkspace.ts +++ b/packages/twenty-front/src/modules/domain-manager/hooks/useIsCurrentLocationOnAWorkspace.ts @@ -2,7 +2,7 @@ import { isMultiWorkspaceEnabledState } from '@/client-config/states/isMultiWork import { useReadDefaultDomainFromConfiguration } from '@/domain-manager/hooks/useReadDefaultDomainFromConfiguration'; import { domainConfigurationState } from '@/domain-manager/states/domainConfigurationState'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useIsCurrentLocationOnAWorkspace = () => { const { defaultDomain } = useReadDefaultDomainFromConfiguration(); diff --git a/packages/twenty-front/src/modules/error-handler/components/SentryInitEffect.tsx b/packages/twenty-front/src/modules/error-handler/components/SentryInitEffect.tsx index 5944d7766..6eeda1ebd 100644 --- a/packages/twenty-front/src/modules/error-handler/components/SentryInitEffect.tsx +++ b/packages/twenty-front/src/modules/error-handler/components/SentryInitEffect.tsx @@ -7,8 +7,8 @@ import { currentUserState } from '@/auth/states/currentUserState'; import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { sentryConfigState } from '@/client-config/states/sentryConfigState'; -import { isDefined } from 'twenty-shared'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; +import { isDefined } from 'twenty-shared/utils'; export const SentryInitEffect = () => { const sentryConfig = useRecoilValue(sentryConfigState); diff --git a/packages/twenty-front/src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx b/packages/twenty-front/src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx index bd56909d1..87c21e250 100644 --- a/packages/twenty-front/src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx +++ b/packages/twenty-front/src/modules/favorites/components/CurrentWorkspaceMemberFavoritesFolders.tsx @@ -13,8 +13,8 @@ import { NavigationDrawerSectionTitle } from '@/ui/navigation/navigation-drawer/ import { useNavigationSection } from '@/ui/navigation/navigation-drawer/hooks/useNavigationSection'; import { useLingui } from '@lingui/react/macro'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { IconFolderPlus, LightIconButton } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const CurrentWorkspaceMemberFavoritesFolders = () => { const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState); diff --git a/packages/twenty-front/src/modules/favorites/favorite-folder-picker/components/FavoriteFolderPickerEffect.tsx b/packages/twenty-front/src/modules/favorites/favorite-folder-picker/components/FavoriteFolderPickerEffect.tsx index 87313a268..b64d7ca2c 100644 --- a/packages/twenty-front/src/modules/favorites/favorite-folder-picker/components/FavoriteFolderPickerEffect.tsx +++ b/packages/twenty-front/src/modules/favorites/favorite-folder-picker/components/FavoriteFolderPickerEffect.tsx @@ -1,6 +1,5 @@ import { useEffect } from 'react'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; import { favoriteFolderIdsPickerComponentState } from '@/favorites/favorite-folder-picker/states/favoriteFolderIdPickerComponentState'; @@ -13,6 +12,7 @@ import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; import { useRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentStateV2'; import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; +import { isDefined } from 'twenty-shared/utils'; type FavoriteFolderPickerEffectProps = { record?: ObjectRecord; diff --git a/packages/twenty-front/src/modules/favorites/favorite-folder-picker/hooks/useFavoriteFolderPicker.ts b/packages/twenty-front/src/modules/favorites/favorite-folder-picker/hooks/useFavoriteFolderPicker.ts index 8ae5b887a..fb0e7f403 100644 --- a/packages/twenty-front/src/modules/favorites/favorite-folder-picker/hooks/useFavoriteFolderPicker.ts +++ b/packages/twenty-front/src/modules/favorites/favorite-folder-picker/hooks/useFavoriteFolderPicker.ts @@ -9,7 +9,7 @@ import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type useFavoriteFolderPickerProps = { record?: ObjectRecord; diff --git a/packages/twenty-front/src/modules/favorites/favorite-folder-picker/states/selectors/favoriteFoldersComponentSelector.ts b/packages/twenty-front/src/modules/favorites/favorite-folder-picker/states/selectors/favoriteFoldersComponentSelector.ts index 55803f785..977b04a66 100644 --- a/packages/twenty-front/src/modules/favorites/favorite-folder-picker/states/selectors/favoriteFoldersComponentSelector.ts +++ b/packages/twenty-front/src/modules/favorites/favorite-folder-picker/states/selectors/favoriteFoldersComponentSelector.ts @@ -3,7 +3,7 @@ import { favoriteFolderIdsPickerComponentState } from '@/favorites/favorite-fold import { favoriteFolderPickerComponentFamilyState } from '@/favorites/favorite-folder-picker/states/favoriteFolderPickerComponentFamilyState'; import { FavoriteFolder } from '@/favorites/types/FavoriteFolder'; import { createComponentSelectorV2 } from '@/ui/utilities/state/component-state/utils/createComponentSelectorV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const favoriteFoldersComponentSelector = createComponentSelectorV2< FavoriteFolder[] diff --git a/packages/twenty-front/src/modules/favorites/utils/getObjectMetadataLabelPluralFromViewId.ts b/packages/twenty-front/src/modules/favorites/utils/getObjectMetadataLabelPluralFromViewId.ts index 53e877172..87879995e 100644 --- a/packages/twenty-front/src/modules/favorites/utils/getObjectMetadataLabelPluralFromViewId.ts +++ b/packages/twenty-front/src/modules/favorites/utils/getObjectMetadataLabelPluralFromViewId.ts @@ -1,6 +1,6 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { View } from '@/views/types/View'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type ReturnType = { labelPlural: string; diff --git a/packages/twenty-front/src/modules/favorites/utils/sortFavorites.ts b/packages/twenty-front/src/modules/favorites/utils/sortFavorites.ts index fa94245f3..d54ea26e9 100644 --- a/packages/twenty-front/src/modules/favorites/utils/sortFavorites.ts +++ b/packages/twenty-front/src/modules/favorites/utils/sortFavorites.ts @@ -5,9 +5,9 @@ import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { ObjectRecordIdentifier } from '@/object-record/types/ObjectRecordIdentifier'; import { AppPath } from '@/types/AppPath'; import { View } from '@/views/types/View'; -import { isDefined } from 'twenty-shared'; import { getAppPath } from '~/utils/navigation/getAppPath'; import { getObjectMetadataLabelPluralFromViewId } from './getObjectMetadataLabelPluralFromViewId'; +import { isDefined } from 'twenty-shared/utils'; export type ProcessedFavorite = Favorite & { Icon?: string; diff --git a/packages/twenty-front/src/modules/information-banner/components/InformationBannerWrapper.tsx b/packages/twenty-front/src/modules/information-banner/components/InformationBannerWrapper.tsx index a95b40b93..d9d0a356e 100644 --- a/packages/twenty-front/src/modules/information-banner/components/InformationBannerWrapper.tsx +++ b/packages/twenty-front/src/modules/information-banner/components/InformationBannerWrapper.tsx @@ -6,8 +6,9 @@ import { InformationBannerReconnectAccountInsufficientPermissions } from '@/info import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo'; import { useSubscriptionStatus } from '@/workspace/hooks/useSubscriptionStatus'; import styled from '@emotion/styled'; -import { WorkspaceActivationStatus, isDefined } from 'twenty-shared'; import { SubscriptionStatus } from '~/generated-metadata/graphql'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; +import { isDefined } from 'twenty-shared/utils'; const StyledInformationBannerWrapper = styled.div` height: 40px; diff --git a/packages/twenty-front/src/modules/information-banner/components/billing/InformationBannerBillingSubscriptionPaused.tsx b/packages/twenty-front/src/modules/information-banner/components/billing/InformationBannerBillingSubscriptionPaused.tsx index 92da0912c..2bb5460d6 100644 --- a/packages/twenty-front/src/modules/information-banner/components/billing/InformationBannerBillingSubscriptionPaused.tsx +++ b/packages/twenty-front/src/modules/information-banner/components/billing/InformationBannerBillingSubscriptionPaused.tsx @@ -1,9 +1,9 @@ import { useRedirect } from '@/domain-manager/hooks/useRedirect'; import { InformationBanner } from '@/information-banner/components/InformationBanner'; import { SettingsPath } from '@/types/SettingsPath'; -import { isDefined } from 'twenty-shared'; import { useBillingPortalSessionQuery } from '~/generated/graphql'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { isDefined } from 'twenty-shared/utils'; export const InformationBannerBillingSubscriptionPaused = () => { const { redirect } = useRedirect(); diff --git a/packages/twenty-front/src/modules/information-banner/components/billing/InformationBannerFailPaymentInfo.tsx b/packages/twenty-front/src/modules/information-banner/components/billing/InformationBannerFailPaymentInfo.tsx index 244f7fdd6..934d5789e 100644 --- a/packages/twenty-front/src/modules/information-banner/components/billing/InformationBannerFailPaymentInfo.tsx +++ b/packages/twenty-front/src/modules/information-banner/components/billing/InformationBannerFailPaymentInfo.tsx @@ -1,9 +1,9 @@ import { useRedirect } from '@/domain-manager/hooks/useRedirect'; import { InformationBanner } from '@/information-banner/components/InformationBanner'; import { SettingsPath } from '@/types/SettingsPath'; -import { isDefined } from 'twenty-shared'; import { useBillingPortalSessionQuery } from '~/generated/graphql'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { isDefined } from 'twenty-shared/utils'; export const InformationBannerFailPaymentInfo = () => { const { redirect } = useRedirect(); diff --git a/packages/twenty-front/src/modules/localization/utils/detectTimeFormat.ts b/packages/twenty-front/src/modules/localization/utils/detectTimeFormat.ts index 532178c11..c2ede7e0e 100644 --- a/packages/twenty-front/src/modules/localization/utils/detectTimeFormat.ts +++ b/packages/twenty-front/src/modules/localization/utils/detectTimeFormat.ts @@ -1,5 +1,5 @@ import { TimeFormat } from '@/localization/constants/TimeFormat'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const detectTimeFormat = (): keyof typeof TimeFormat => { const isHour12 = Intl.DateTimeFormat(navigator.language, { diff --git a/packages/twenty-front/src/modules/navigation/hooks/useDefaultHomePagePath.ts b/packages/twenty-front/src/modules/navigation/hooks/useDefaultHomePagePath.ts index dea010525..5d0c7f410 100644 --- a/packages/twenty-front/src/modules/navigation/hooks/useDefaultHomePagePath.ts +++ b/packages/twenty-front/src/modules/navigation/hooks/useDefaultHomePagePath.ts @@ -6,8 +6,8 @@ import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState'; import { AppPath } from '@/types/AppPath'; import { useCallback, useMemo } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { getAppPath } from '~/utils/navigation/getAppPath'; +import { isDefined } from 'twenty-shared/utils'; export const useDefaultHomePagePath = () => { const currentUser = useRecoilValue(currentUserState); diff --git a/packages/twenty-front/src/modules/navigation/hooks/useSetLastVisitedObjectMetadataId.ts b/packages/twenty-front/src/modules/navigation/hooks/useSetLastVisitedObjectMetadataId.ts index 6a9790001..3ac91bdf2 100644 --- a/packages/twenty-front/src/modules/navigation/hooks/useSetLastVisitedObjectMetadataId.ts +++ b/packages/twenty-front/src/modules/navigation/hooks/useSetLastVisitedObjectMetadataId.ts @@ -1,7 +1,7 @@ import { lastVisitedObjectMetadataItemIdState } from '@/navigation/states/lastVisitedObjectMetadataItemIdState'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useSetLastVisitedObjectMetadataId = () => { const setLastVisitedObjectMetadataId = useRecoilCallback( diff --git a/packages/twenty-front/src/modules/navigation/hooks/useSetLastVisitedViewForObjectMetadataNamePlural.ts b/packages/twenty-front/src/modules/navigation/hooks/useSetLastVisitedViewForObjectMetadataNamePlural.ts index ede4ec62b..6137e9c3e 100644 --- a/packages/twenty-front/src/modules/navigation/hooks/useSetLastVisitedViewForObjectMetadataNamePlural.ts +++ b/packages/twenty-front/src/modules/navigation/hooks/useSetLastVisitedViewForObjectMetadataNamePlural.ts @@ -3,7 +3,7 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadat import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState'; import { View } from '@/views/types/View'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useSetLastVisitedViewForObjectMetadataNamePlural = () => { const setLastVisitedViewForObjectMetadataNamePlural = useRecoilCallback( diff --git a/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsLoadEffect.tsx b/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsLoadEffect.tsx index 275d21433..001ec8284 100644 --- a/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsLoadEffect.tsx +++ b/packages/twenty-front/src/modules/object-metadata/components/ObjectMetadataItemsLoadEffect.tsx @@ -5,8 +5,8 @@ import { currentUserState } from '@/auth/states/currentUserState'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { useLoadMockedObjectMetadataItems } from '@/object-metadata/hooks/useLoadMockedObjectMetadataItems'; import { useRefreshObjectMetadataItems } from '@/object-metadata/hooks/useRefreshObjectMetadataItem'; -import { isWorkspaceActiveOrSuspended } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isWorkspaceActiveOrSuspended } from 'twenty-shared/workspace'; export const ObjectMetadataItemsLoadEffect = () => { const currentUser = useRecoilValue(currentUserState); diff --git a/packages/twenty-front/src/modules/object-metadata/components/RemoteNavigationDrawerSection.tsx b/packages/twenty-front/src/modules/object-metadata/components/RemoteNavigationDrawerSection.tsx index 6881b6eae..fea4f1109 100644 --- a/packages/twenty-front/src/modules/object-metadata/components/RemoteNavigationDrawerSection.tsx +++ b/packages/twenty-front/src/modules/object-metadata/components/RemoteNavigationDrawerSection.tsx @@ -1,11 +1,11 @@ import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { currentUserState } from '@/auth/states/currentUserState'; import { NavigationDrawerSectionForObjectMetadataItems } from '@/object-metadata/components/NavigationDrawerSectionForObjectMetadataItems'; import { NavigationDrawerSectionForObjectMetadataItemsSkeletonLoader } from '@/object-metadata/components/NavigationDrawerSectionForObjectMetadataItemsSkeletonLoader'; import { useFilteredObjectMetadataItems } from '@/object-metadata/hooks/useFilteredObjectMetadataItems'; import { useIsPrefetchLoading } from '@/prefetch/hooks/useIsPrefetchLoading'; +import { isDefined } from 'twenty-shared/utils'; export const RemoteNavigationDrawerSection = () => { const currentUser = useRecoilValue(currentUserState); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useFieldMetadataItemById.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useFieldMetadataItemById.ts index 0960deee4..374816f2b 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useFieldMetadataItemById.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useFieldMetadataItemById.ts @@ -1,6 +1,6 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useFieldMetadataItemById = (fieldMetadataId: string) => { const objectMetadataItems = useRecoilValue(objectMetadataItemsState); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useGetFieldMetadataItemById.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useGetFieldMetadataItemById.ts index 0d5e433cc..8e9ad3ccd 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useGetFieldMetadataItemById.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useGetFieldMetadataItemById.ts @@ -1,6 +1,6 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useGetFieldMetadataItemById = () => { const objectMetadataItems = useRecoilValue(objectMetadataItemsState); diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useObjectMetadataItem.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useObjectMetadataItem.ts index 979b6a366..05bb51cbb 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useObjectMetadataItem.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useObjectMetadataItem.ts @@ -3,12 +3,12 @@ import { useRecoilValue } from 'recoil'; import { ObjectMetadataItemNotFoundError } from '@/object-metadata/errors/ObjectMetadataNotFoundError'; import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; -import { isDefined } from 'twenty-shared'; import { isWorkflowRelatedObjectMetadata } from '@/object-metadata/utils/isWorkflowRelatedObjectMetadata'; import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; import { FeatureFlagKey } from '~/generated-metadata/graphql'; import { ObjectMetadataItemIdentifier } from '../types/ObjectMetadataItemIdentifier'; +import { isDefined } from 'twenty-shared/utils'; export const useObjectMetadataItem = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useObjectMetadataItemById.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useObjectMetadataItemById.ts index 565aca721..f0bbbeb16 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useObjectMetadataItemById.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useObjectMetadataItemById.ts @@ -1,7 +1,7 @@ import { useRecoilValue } from 'recoil'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useObjectMetadataItemById = ({ objectId, diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNamePluralFromSingular.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNamePluralFromSingular.ts index 1a5f1c004..a080fdd2f 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNamePluralFromSingular.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNamePluralFromSingular.ts @@ -2,8 +2,9 @@ import { useRecoilValue } from 'recoil'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector'; -import { isDefined, isWorkspaceActiveOrSuspended } from 'twenty-shared'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; +import { isDefined } from 'twenty-shared/utils'; +import { isWorkspaceActiveOrSuspended } from 'twenty-shared/workspace'; export const useObjectNamePluralFromSingular = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNameSingularFromPlural.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNameSingularFromPlural.ts index 441372a12..1391bb10a 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNameSingularFromPlural.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useObjectNameSingularFromPlural.ts @@ -2,8 +2,9 @@ import { useRecoilValue } from 'recoil'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector'; -import { isDefined, isWorkspaceActiveOrSuspended } from 'twenty-shared'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; +import { isDefined } from 'twenty-shared/utils'; +import { isWorkspaceActiveOrSuspended } from 'twenty-shared/workspace'; export const useObjectNameSingularFromPlural = ({ objectNamePlural, diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useOrderByFieldPerMetadataItem.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useOrderByFieldPerMetadataItem.ts index dbec589c0..a0c880b06 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useOrderByFieldPerMetadataItem.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useOrderByFieldPerMetadataItem.ts @@ -1,6 +1,6 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { getOrderByFieldForObjectMetadataItem } from '@/object-metadata/utils/getObjectOrderByField'; -import { capitalize, isDefined } from 'twenty-shared'; +import { capitalize, isDefined } from 'twenty-shared/utils'; export const useOrderByFieldPerMetadataItem = ({ objectMetadataItems, diff --git a/packages/twenty-front/src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts b/packages/twenty-front/src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts index cc4ff32b1..a252c87b4 100644 --- a/packages/twenty-front/src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts +++ b/packages/twenty-front/src/modules/object-metadata/hooks/useUpdateOneFieldMetadataItem.ts @@ -17,8 +17,8 @@ import { useSetRecoilState } from 'recoil'; import { getRecordsFromRecordConnection } from '@/object-record/cache/utils/getRecordsFromRecordConnection'; import { RecordGqlConnection } from '@/object-record/graphql/types/RecordGqlConnection'; import { useSetRecordGroups } from '@/object-record/record-group/hooks/useSetRecordGroups'; -import { isDefined } from 'twenty-shared'; import { useApolloMetadataClient } from './useApolloMetadataClient'; +import { isDefined } from 'twenty-shared/utils'; export const useUpdateOneFieldMetadataItem = () => { const apolloMetadataClient = useApolloMetadataClient(); diff --git a/packages/twenty-front/src/modules/object-metadata/states/availableFieldMetadataItemsForFilterFamilySelector.ts b/packages/twenty-front/src/modules/object-metadata/states/availableFieldMetadataItemsForFilterFamilySelector.ts index f3d6a9bdb..ff3e0d40a 100644 --- a/packages/twenty-front/src/modules/object-metadata/states/availableFieldMetadataItemsForFilterFamilySelector.ts +++ b/packages/twenty-front/src/modules/object-metadata/states/availableFieldMetadataItemsForFilterFamilySelector.ts @@ -3,8 +3,8 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadat import { getFilterFilterableFieldMetadataItems } from '@/object-metadata/utils/getFilterFilterableFieldMetadataItems'; import { checkIfFeatureFlagIsEnabledOnWorkspace } from '@/workspace/utils/checkIfFeatureFlagIsEnabledOnWorkspace'; import { selectorFamily } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { FeatureFlagKey } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const availableFieldMetadataItemsForFilterFamilySelector = selectorFamily({ diff --git a/packages/twenty-front/src/modules/object-metadata/states/availableFieldMetadataItemsForSortFamilySelector.ts b/packages/twenty-front/src/modules/object-metadata/states/availableFieldMetadataItemsForSortFamilySelector.ts index 847a4968d..e4d5a137c 100644 --- a/packages/twenty-front/src/modules/object-metadata/states/availableFieldMetadataItemsForSortFamilySelector.ts +++ b/packages/twenty-front/src/modules/object-metadata/states/availableFieldMetadataItemsForSortFamilySelector.ts @@ -1,7 +1,7 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { filterSortableFieldMetadataItems } from '@/object-metadata/utils/filterSortableFieldMetadataItems'; import { selectorFamily } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const availableFieldMetadataItemsForSortFamilySelector = selectorFamily({ key: 'availableFieldMetadataItemsForSortFamilySelector', diff --git a/packages/twenty-front/src/modules/object-metadata/utils/getAvatarUrl.ts b/packages/twenty-front/src/modules/object-metadata/utils/getAvatarUrl.ts index e66456754..7ba90c3ee 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/getAvatarUrl.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/getAvatarUrl.ts @@ -3,13 +3,13 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { getCompanyDomainName } from '@/object-metadata/utils/getCompanyDomainName'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; +import { REACT_APP_SERVER_BASE_URL } from '~/config'; +import { getImageIdentifierFieldValue } from './getImageIdentifierFieldValue'; import { getImageAbsoluteURI, getLogoUrlFromDomainName, isDefined, -} from 'twenty-shared'; -import { REACT_APP_SERVER_BASE_URL } from '~/config'; -import { getImageIdentifierFieldValue } from './getImageIdentifierFieldValue'; +} from 'twenty-shared/utils'; export const getAvatarUrl = ( objectNameSingular: string, diff --git a/packages/twenty-front/src/modules/object-metadata/utils/getCompanyDomainName.ts b/packages/twenty-front/src/modules/object-metadata/utils/getCompanyDomainName.ts index 1cdc658cf..6f8e73251 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/getCompanyDomainName.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/getCompanyDomainName.ts @@ -1,5 +1,5 @@ import { Company } from '@/companies/types/Company'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; // temporary, to remove once domainName has been fully migrated to Links type export const getCompanyDomainName = (company: Company) => { diff --git a/packages/twenty-front/src/modules/object-metadata/utils/getImageIdentifierFieldValue.ts b/packages/twenty-front/src/modules/object-metadata/utils/getImageIdentifierFieldValue.ts index 0cbccc42a..258e7cde3 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/getImageIdentifierFieldValue.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/getImageIdentifierFieldValue.ts @@ -1,6 +1,6 @@ import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getImageIdentifierFieldValue = ( record: ObjectRecord, diff --git a/packages/twenty-front/src/modules/object-metadata/utils/getLabelIdentifierFieldValue.ts b/packages/twenty-front/src/modules/object-metadata/utils/getLabelIdentifierFieldValue.ts index 816ed62f5..3b7b89bd6 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/getLabelIdentifierFieldValue.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/getLabelIdentifierFieldValue.ts @@ -1,8 +1,8 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const getLabelIdentifierFieldValue = ( record: ObjectRecord, diff --git a/packages/twenty-front/src/modules/object-metadata/utils/getObjectOrderByField.ts b/packages/twenty-front/src/modules/object-metadata/utils/getObjectOrderByField.ts index 614f6ab50..e7c681f24 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/getObjectOrderByField.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/getObjectOrderByField.ts @@ -4,7 +4,7 @@ import { getLabelIdentifierFieldMetadataItem } from '@/object-metadata/utils/get import { getOrderByForFieldMetadataType } from '@/object-metadata/utils/getOrderByForFieldMetadataType'; import { RecordGqlOperationOrderBy } from '@/object-record/graphql/types/RecordGqlOperationOrderBy'; import { OrderBy } from '@/types/OrderBy'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getOrderByFieldForObjectMetadataItem = ( objectMetadataItem: ObjectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-metadata/utils/hasObjectMetadataItemFieldCreatedBy.ts b/packages/twenty-front/src/modules/object-metadata/utils/hasObjectMetadataItemFieldCreatedBy.ts index 1b107fe32..58c32ccde 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/hasObjectMetadataItemFieldCreatedBy.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/hasObjectMetadataItemFieldCreatedBy.ts @@ -1,5 +1,5 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; export const hasObjectMetadataItemFieldCreatedBy = ( objectMetadataItem: ObjectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-metadata/utils/hasObjectMetadataItemPositionField.ts b/packages/twenty-front/src/modules/object-metadata/utils/hasObjectMetadataItemPositionField.ts index 2d2b61106..cb2aeeb47 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/hasObjectMetadataItemPositionField.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/hasObjectMetadataItemPositionField.ts @@ -1,5 +1,5 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; export const hasObjectMetadataItemPositionField = ( objectMetadataItem: ObjectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-metadata/utils/isLabelIdentifierField.ts b/packages/twenty-front/src/modules/object-metadata/utils/isLabelIdentifierField.ts index d5730a9ef..a86032979 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/isLabelIdentifierField.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/isLabelIdentifierField.ts @@ -1,6 +1,6 @@ import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const DEFAULT_LABEL_IDENTIFIER_FIELD_NAME = 'name'; diff --git a/packages/twenty-front/src/modules/object-metadata/utils/shouldFieldBeQueried.ts b/packages/twenty-front/src/modules/object-metadata/utils/shouldFieldBeQueried.ts index 2f4d69471..a9613fddf 100644 --- a/packages/twenty-front/src/modules/object-metadata/utils/shouldFieldBeQueried.ts +++ b/packages/twenty-front/src/modules/object-metadata/utils/shouldFieldBeQueried.ts @@ -1,10 +1,10 @@ import { RecordGqlOperationGqlRecordFields } from '@/object-record/graphql/types/RecordGqlOperationGqlRecordFields'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; import { FieldMetadataItem } from '../types/FieldMetadataItem'; +import { isDefined } from 'twenty-shared/utils'; export const shouldFieldBeQueried = ({ field, diff --git a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterAddFilterRuleSelect.tsx b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterAddFilterRuleSelect.tsx index c3904b80e..48df13fa6 100644 --- a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterAddFilterRuleSelect.tsx +++ b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterAddFilterRuleSelect.tsx @@ -11,9 +11,9 @@ import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly'; -import { isDefined } from 'twenty-shared'; import { IconLibraryPlus, IconPlus, LightButton, MenuItem } from 'twenty-ui'; import { v4 } from 'uuid'; +import { isDefined } from 'twenty-shared/utils'; type AdvancedFilterAddFilterRuleSelectProps = { recordFilterGroup: RecordFilterGroup; diff --git a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterLogicalOperatorCell.tsx b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterLogicalOperatorCell.tsx index fbca8948d..7e452d34f 100644 --- a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterLogicalOperatorCell.tsx +++ b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterLogicalOperatorCell.tsx @@ -2,7 +2,7 @@ import { AdvancedFilterLogicalOperatorDropdown } from '@/object-record/advanced- import { RecordFilterGroup } from '@/object-record/record-filter-group/types/RecordFilterGroup'; import styled from '@emotion/styled'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; const StyledText = styled.div` height: ${({ theme }) => theme.spacing(8)}; diff --git a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterGroupChildren.tsx b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterGroupChildren.tsx index 0889a8603..4079d56a0 100644 --- a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterGroupChildren.tsx +++ b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterGroupChildren.tsx @@ -3,7 +3,7 @@ import { AdvancedFilterRecordFilterRow } from '@/object-record/advanced-filter/c import { useChildRecordFiltersAndRecordFilterGroups } from '@/object-record/advanced-filter/hooks/useChildRecordFiltersAndRecordFilterGroups'; import styled from '@emotion/styled'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div<{ isGrayBackground?: boolean }>` align-items: start; diff --git a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterOperandSelect.tsx b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterOperandSelect.tsx index 3ea5d486f..63ee78ad8 100644 --- a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterOperandSelect.tsx +++ b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterOperandSelect.tsx @@ -13,8 +13,8 @@ import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import styled from '@emotion/styled'; -import { isDefined } from 'twenty-shared'; import { MenuItem } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` flex: 1; diff --git a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterOptionsDropdown.tsx b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterOptionsDropdown.tsx index 390015f69..3de5c3bba 100644 --- a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterOptionsDropdown.tsx +++ b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRecordFilterOptionsDropdown.tsx @@ -9,8 +9,8 @@ import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; import { IconButton, IconDotsVertical, MenuItem } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; type AdvancedFilterRecordFilterOptionsDropdownProps = { recordFilterId: string; diff --git a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRootRecordFilterGroup.tsx b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRootRecordFilterGroup.tsx index 89a8150b5..b04eef915 100644 --- a/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRootRecordFilterGroup.tsx +++ b/packages/twenty-front/src/modules/object-record/advanced-filter/components/AdvancedFilterRootRecordFilterGroup.tsx @@ -7,7 +7,7 @@ import { rootLevelRecordFilterGroupComponentSelector } from '@/object-record/adv import { isRecordFilterGroupChildARecordFilterGroup } from '@/object-record/advanced-filter/utils/isRecordFilterGroupChildARecordFilterGroup'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import styled from '@emotion/styled'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div<{ isGrayBackground?: boolean }>` align-items: start; diff --git a/packages/twenty-front/src/modules/object-record/advanced-filter/hooks/useChildRecordFiltersAndRecordFilterGroups.ts b/packages/twenty-front/src/modules/object-record/advanced-filter/hooks/useChildRecordFiltersAndRecordFilterGroups.ts index 0bdc1257b..bcfc6bdbd 100644 --- a/packages/twenty-front/src/modules/object-record/advanced-filter/hooks/useChildRecordFiltersAndRecordFilterGroups.ts +++ b/packages/twenty-front/src/modules/object-record/advanced-filter/hooks/useChildRecordFiltersAndRecordFilterGroups.ts @@ -3,7 +3,7 @@ import { RecordFilterGroup } from '@/object-record/record-filter-group/types/Rec import { currentRecordFiltersComponentState } from '@/object-record/record-filter/states/currentRecordFiltersComponentState'; import { RecordFilter } from '@/object-record/record-filter/types/RecordFilter'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useChildRecordFiltersAndRecordFilterGroups = ({ recordFilterGroupId, diff --git a/packages/twenty-front/src/modules/object-record/advanced-filter/hooks/useDefaultFieldMetadataItemForFilter.ts b/packages/twenty-front/src/modules/object-record/advanced-filter/hooks/useDefaultFieldMetadataItemForFilter.ts index daa243ef8..dc6d7017a 100644 --- a/packages/twenty-front/src/modules/object-record/advanced-filter/hooks/useDefaultFieldMetadataItemForFilter.ts +++ b/packages/twenty-front/src/modules/object-record/advanced-filter/hooks/useDefaultFieldMetadataItemForFilter.ts @@ -3,7 +3,7 @@ import { availableFieldMetadataItemsForFilterFamilySelector } from '@/object-met import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useDefaultFieldMetadataItemForFilter = () => { const { currentView } = useGetCurrentViewOnly(); diff --git a/packages/twenty-front/src/modules/object-record/advanced-filter/states/rootLevelRecordFilterGroupComponentSelector.ts b/packages/twenty-front/src/modules/object-record/advanced-filter/states/rootLevelRecordFilterGroupComponentSelector.ts index 2a86b65ab..44250fb63 100644 --- a/packages/twenty-front/src/modules/object-record/advanced-filter/states/rootLevelRecordFilterGroupComponentSelector.ts +++ b/packages/twenty-front/src/modules/object-record/advanced-filter/states/rootLevelRecordFilterGroupComponentSelector.ts @@ -1,7 +1,7 @@ import { RecordFilterGroupsComponentInstanceContext } from '@/object-record/record-filter-group/states/context/RecordFilterGroupsComponentInstanceContext'; import { currentRecordFilterGroupsComponentState } from '@/object-record/record-filter-group/states/currentRecordFilterGroupsComponentState'; import { createComponentSelectorV2 } from '@/ui/utilities/state/component-state/utils/createComponentSelectorV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const rootLevelRecordFilterGroupComponentSelector = createComponentSelectorV2({ diff --git a/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateManyRecordsInCache.ts b/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateManyRecordsInCache.ts index 6435f1e0f..f7120528d 100644 --- a/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateManyRecordsInCache.ts +++ b/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateManyRecordsInCache.ts @@ -3,7 +3,7 @@ import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMeta import { useCreateOneRecordInCache } from '@/object-record/cache/hooks/useCreateOneRecordInCache'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { prefillRecord } from '@/object-record/utils/prefillRecord'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useCreateManyRecordsInCache = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateOneRecordInCache.ts b/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateOneRecordInCache.ts index b2b80c0ed..e61e15ac8 100644 --- a/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateOneRecordInCache.ts +++ b/packages/twenty-front/src/modules/object-record/cache/hooks/useCreateOneRecordInCache.ts @@ -10,7 +10,7 @@ import { getRecordNodeFromRecord } from '@/object-record/cache/utils/getRecordNo import { computeDepthOneRecordGqlFieldsFromRecord } from '@/object-record/graphql/utils/computeDepthOneRecordGqlFieldsFromRecord'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { prefillRecord } from '@/object-record/utils/prefillRecord'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const useCreateOneRecordInCache = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-record/cache/hooks/useReadFindManyRecordsQueryInCache.ts b/packages/twenty-front/src/modules/object-record/cache/hooks/useReadFindManyRecordsQueryInCache.ts index 3529b286e..c84978674 100644 --- a/packages/twenty-front/src/modules/object-record/cache/hooks/useReadFindManyRecordsQueryInCache.ts +++ b/packages/twenty-front/src/modules/object-record/cache/hooks/useReadFindManyRecordsQueryInCache.ts @@ -7,7 +7,7 @@ import { RecordGqlOperationFindManyResult } from '@/object-record/graphql/types/ import { RecordGqlOperationVariables } from '@/object-record/graphql/types/RecordGqlOperationVariables'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { generateFindManyRecordsQuery } from '@/object-record/utils/generateFindManyRecordsQuery'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useReadFindManyRecordsQueryInCache = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-record/cache/utils/getConnectionTypename.ts b/packages/twenty-front/src/modules/object-record/cache/utils/getConnectionTypename.ts index 53b97be4f..b40ba44c0 100644 --- a/packages/twenty-front/src/modules/object-record/cache/utils/getConnectionTypename.ts +++ b/packages/twenty-front/src/modules/object-record/cache/utils/getConnectionTypename.ts @@ -1,5 +1,5 @@ import { getObjectTypename } from '@/object-record/cache/utils/getObjectTypename'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const getConnectionTypename = (objectNameSingular: string) => { return `${capitalize(getObjectTypename(objectNameSingular))}Connection`; diff --git a/packages/twenty-front/src/modules/object-record/cache/utils/getEdgeTypename.ts b/packages/twenty-front/src/modules/object-record/cache/utils/getEdgeTypename.ts index 7d67a76c3..138ba92ac 100644 --- a/packages/twenty-front/src/modules/object-record/cache/utils/getEdgeTypename.ts +++ b/packages/twenty-front/src/modules/object-record/cache/utils/getEdgeTypename.ts @@ -1,5 +1,5 @@ import { getObjectTypename } from '@/object-record/cache/utils/getObjectTypename'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const getEdgeTypename = (objectNameSingular: string) => { return `${capitalize(getObjectTypename(objectNameSingular))}Edge`; diff --git a/packages/twenty-front/src/modules/object-record/cache/utils/getNodeTypename.ts b/packages/twenty-front/src/modules/object-record/cache/utils/getNodeTypename.ts index 38173731e..d27f77366 100644 --- a/packages/twenty-front/src/modules/object-record/cache/utils/getNodeTypename.ts +++ b/packages/twenty-front/src/modules/object-record/cache/utils/getNodeTypename.ts @@ -1,5 +1,5 @@ import { getObjectTypename } from '@/object-record/cache/utils/getObjectTypename'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const getNodeTypename = (objectNameSingular: string) => { return capitalize(getObjectTypename(objectNameSingular)); diff --git a/packages/twenty-front/src/modules/object-record/cache/utils/getObjectTypename.ts b/packages/twenty-front/src/modules/object-record/cache/utils/getObjectTypename.ts index b2304645d..ebb5d0ebd 100644 --- a/packages/twenty-front/src/modules/object-record/cache/utils/getObjectTypename.ts +++ b/packages/twenty-front/src/modules/object-record/cache/utils/getObjectTypename.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const getObjectTypename = (objectNameSingular: string) => { return capitalize(objectNameSingular); }; diff --git a/packages/twenty-front/src/modules/object-record/cache/utils/getRecordFromCache.ts b/packages/twenty-front/src/modules/object-record/cache/utils/getRecordFromCache.ts index b86ec5f81..23a307664 100644 --- a/packages/twenty-front/src/modules/object-record/cache/utils/getRecordFromCache.ts +++ b/packages/twenty-front/src/modules/object-record/cache/utils/getRecordFromCache.ts @@ -6,9 +6,9 @@ import { getRecordFromRecordNode } from '@/object-record/cache/utils/getRecordFr import { RecordGqlFields } from '@/object-record/graphql/types/RecordGqlFields'; import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { capitalize } from 'twenty-shared'; import { isEmptyObject } from '~/utils/isEmptyObject'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export type GetRecordFromCacheArgs = { cache: ApolloCache; diff --git a/packages/twenty-front/src/modules/object-record/cache/utils/getRecordFromRecordNode.ts b/packages/twenty-front/src/modules/object-record/cache/utils/getRecordFromRecordNode.ts index c2c9b1bcb..16884a57c 100644 --- a/packages/twenty-front/src/modules/object-record/cache/utils/getRecordFromRecordNode.ts +++ b/packages/twenty-front/src/modules/object-record/cache/utils/getRecordFromRecordNode.ts @@ -3,8 +3,8 @@ import pick from 'lodash.pick'; import { getRecordsFromRecordConnection } from '@/object-record/cache/utils/getRecordsFromRecordConnection'; import { RecordGqlNode } from '@/object-record/graphql/types/RecordGqlNode'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; export const getRecordFromRecordNode = ({ recordNode, diff --git a/packages/twenty-front/src/modules/object-record/cache/utils/getRecordNodeFromRecord.ts b/packages/twenty-front/src/modules/object-record/cache/utils/getRecordNodeFromRecord.ts index f66f4c8e1..da9f06c2c 100644 --- a/packages/twenty-front/src/modules/object-record/cache/utils/getRecordNodeFromRecord.ts +++ b/packages/twenty-front/src/modules/object-record/cache/utils/getRecordNodeFromRecord.ts @@ -7,12 +7,12 @@ import { getRecordConnectionFromRecords } from '@/object-record/cache/utils/getR import { getRefName } from '@/object-record/cache/utils/getRefName'; import { RecordGqlNode } from '@/object-record/graphql/types/RecordGqlNode'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType, RelationDefinitionType, } from '~/generated-metadata/graphql'; import { pascalCase } from '~/utils/string/pascalCase'; +import { isDefined } from 'twenty-shared/utils'; export const getRecordNodeFromRecord = ({ objectMetadataItems, diff --git a/packages/twenty-front/src/modules/object-record/cache/utils/isObjectRecordConnectionWithRefs.ts b/packages/twenty-front/src/modules/object-record/cache/utils/isObjectRecordConnectionWithRefs.ts index e6eb2d5e3..10a874314 100644 --- a/packages/twenty-front/src/modules/object-record/cache/utils/isObjectRecordConnectionWithRefs.ts +++ b/packages/twenty-front/src/modules/object-record/cache/utils/isObjectRecordConnectionWithRefs.ts @@ -2,7 +2,7 @@ import { StoreValue } from '@apollo/client'; import { z } from 'zod'; import { RecordGqlRefConnection } from '@/object-record/cache/types/RecordGqlRefConnection'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const isObjectRecordConnectionWithRefs = ( objectNameSingular: string, diff --git a/packages/twenty-front/src/modules/object-record/cache/utils/modifyRecordFromCache.ts b/packages/twenty-front/src/modules/object-record/cache/utils/modifyRecordFromCache.ts index 686cd9849..6decbf526 100644 --- a/packages/twenty-front/src/modules/object-record/cache/utils/modifyRecordFromCache.ts +++ b/packages/twenty-front/src/modules/object-record/cache/utils/modifyRecordFromCache.ts @@ -2,8 +2,8 @@ import { ApolloCache, Modifiers } from '@apollo/client/cache'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { capitalize } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export const modifyRecordFromCache = < CachedObjectRecord extends ObjectRecord = ObjectRecord, diff --git a/packages/twenty-front/src/modules/object-record/cache/utils/updateRecordFromCache.ts b/packages/twenty-front/src/modules/object-record/cache/utils/updateRecordFromCache.ts index 3af8d8278..33890500f 100644 --- a/packages/twenty-front/src/modules/object-record/cache/utils/updateRecordFromCache.ts +++ b/packages/twenty-front/src/modules/object-record/cache/utils/updateRecordFromCache.ts @@ -6,8 +6,8 @@ import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObje import { getRecordNodeFromRecord } from '@/object-record/cache/utils/getRecordNodeFromRecord'; import { RecordGqlNode } from '@/object-record/graphql/types/RecordGqlNode'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { capitalize } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export const updateRecordFromCache = ({ objectMetadataItems, diff --git a/packages/twenty-front/src/modules/object-record/graphql/utils/isRecordGraphlFieldsNode.ts b/packages/twenty-front/src/modules/object-record/graphql/utils/isRecordGraphlFieldsNode.ts index c13a690f9..e0bffc4b4 100644 --- a/packages/twenty-front/src/modules/object-record/graphql/utils/isRecordGraphlFieldsNode.ts +++ b/packages/twenty-front/src/modules/object-record/graphql/utils/isRecordGraphlFieldsNode.ts @@ -1,5 +1,5 @@ import { RecordGqlFields } from '@/object-record/graphql/types/RecordGqlFields'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const isRecordGqlFieldsNode = ( recordGql: RecordGqlFields | boolean | undefined, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useAggregateRecords.ts b/packages/twenty-front/src/modules/object-record/hooks/useAggregateRecords.ts index bc8c88fea..a4fe84063 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useAggregateRecords.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useAggregateRecords.ts @@ -7,7 +7,7 @@ import { RecordGqlOperationFindManyResult } from '@/object-record/graphql/types/ import { useAggregateRecordsQuery } from '@/object-record/hooks/useAggregateRecordsQuery'; import { ExtendedAggregateOperations } from '@/object-record/record-table/types/ExtendedAggregateOperations'; import isEmpty from 'lodash.isempty'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export type AggregateRecordsData = { [fieldName: string]: { diff --git a/packages/twenty-front/src/modules/object-record/hooks/useAggregateRecordsQuery.ts b/packages/twenty-front/src/modules/object-record/hooks/useAggregateRecordsQuery.ts index 8c6bb3212..694e7ce4c 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useAggregateRecordsQuery.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useAggregateRecordsQuery.ts @@ -5,7 +5,7 @@ import { ExtendedAggregateOperations } from '@/object-record/record-table/types/ import { generateAggregateQuery } from '@/object-record/utils/generateAggregateQuery'; import { getAvailableAggregationsFromObjectFields } from '@/object-record/utils/getAvailableAggregationsFromObjectFields'; import { useMemo } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export type GqlFieldToFieldMap = { [gqlField: string]: [ diff --git a/packages/twenty-front/src/modules/object-record/hooks/useAttachRelatedRecordFromRecord.ts b/packages/twenty-front/src/modules/object-record/hooks/useAttachRelatedRecordFromRecord.ts index 0d7c8e7d8..f293a9c13 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useAttachRelatedRecordFromRecord.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useAttachRelatedRecordFromRecord.ts @@ -7,7 +7,7 @@ import { updateRecordFromCache } from '@/object-record/cache/utils/updateRecordF import { computeDepthOneRecordGqlFieldsFromRecord } from '@/object-record/graphql/utils/computeDepthOneRecordGqlFieldsFromRecord'; import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type useAttachRelatedRecordFromRecordProps = { recordObjectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useCreateManyRecords.ts b/packages/twenty-front/src/modules/object-record/hooks/useCreateManyRecords.ts index 61951f578..7880d575c 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useCreateManyRecords.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useCreateManyRecords.ts @@ -21,7 +21,7 @@ import { computeOptimisticRecordFromInput } from '@/object-record/utils/computeO import { getCreateManyRecordsMutationResponseField } from '@/object-record/utils/getCreateManyRecordsMutationResponseField'; import { sanitizeRecordInput } from '@/object-record/utils/sanitizeRecordInput'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type PartialObjectRecordWithId = Partial & { id: string; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useCreateManyRecordsMutation.ts b/packages/twenty-front/src/modules/object-record/hooks/useCreateManyRecordsMutation.ts index d9c7690cd..adcf993e5 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useCreateManyRecordsMutation.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useCreateManyRecordsMutation.ts @@ -7,8 +7,8 @@ import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObje import { EMPTY_MUTATION } from '@/object-record/constants/EmptyMutation'; import { RecordGqlOperationGqlRecordFields } from '@/object-record/graphql/types/RecordGqlOperationGqlRecordFields'; import { getCreateManyRecordsMutationResponseField } from '@/object-record/utils/getCreateManyRecordsMutationResponseField'; -import { capitalize } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export const useCreateManyRecordsMutation = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts b/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts index 0f67b952c..e7f033971 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecord.ts @@ -21,7 +21,7 @@ import { computeOptimisticRecordFromInput } from '@/object-record/utils/computeO import { getCreateOneRecordMutationResponseField } from '@/object-record/utils/getCreateOneRecordMutationResponseField'; import { sanitizeRecordInput } from '@/object-record/utils/sanitizeRecordInput'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type useCreateOneRecordProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecordMutation.ts b/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecordMutation.ts index 8324792e1..d70d59c80 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecordMutation.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useCreateOneRecordMutation.ts @@ -8,8 +8,8 @@ import { EMPTY_MUTATION } from '@/object-record/constants/EmptyMutation'; import { RecordGqlOperationGqlRecordFields } from '@/object-record/graphql/types/RecordGqlOperationGqlRecordFields'; import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields'; import { getCreateOneRecordMutationResponseField } from '@/object-record/utils/getCreateOneRecordMutationResponseField'; -import { capitalize } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export const useCreateOneRecordMutation = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useDeleteManyRecords.ts b/packages/twenty-front/src/modules/object-record/hooks/useDeleteManyRecords.ts index 838456718..7ee6cb2fd 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useDeleteManyRecords.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useDeleteManyRecords.ts @@ -15,8 +15,8 @@ import { useRefetchAggregateQueries } from '@/object-record/hooks/useRefetchAggr import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { getDeleteManyRecordsMutationResponseField } from '@/object-record/utils/getDeleteManyRecordsMutationResponseField'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { sleep } from '~/utils/sleep'; +import { isDefined } from 'twenty-shared/utils'; type useDeleteManyRecordProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useDeleteManyRecordsMutation.ts b/packages/twenty-front/src/modules/object-record/hooks/useDeleteManyRecordsMutation.ts index 0188f5131..e8d9773a6 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useDeleteManyRecordsMutation.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useDeleteManyRecordsMutation.ts @@ -3,8 +3,8 @@ import gql from 'graphql-tag'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { EMPTY_MUTATION } from '@/object-record/constants/EmptyMutation'; import { getDeleteManyRecordsMutationResponseField } from '@/object-record/utils/getDeleteManyRecordsMutationResponseField'; -import { capitalize } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export const useDeleteManyRecordsMutation = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useDeleteOneRecord.ts b/packages/twenty-front/src/modules/object-record/hooks/useDeleteOneRecord.ts index 8b977f83e..827646006 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useDeleteOneRecord.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useDeleteOneRecord.ts @@ -13,7 +13,7 @@ import { useRefetchAggregateQueries } from '@/object-record/hooks/useRefetchAggr import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { getDeleteOneRecordMutationResponseField } from '@/object-record/utils/getDeleteOneRecordMutationResponseField'; import { isNull } from '@sniptt/guards'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type useDeleteOneRecordProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useDeleteOneRecordMutation.ts b/packages/twenty-front/src/modules/object-record/hooks/useDeleteOneRecordMutation.ts index 62358cfde..661334bbe 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useDeleteOneRecordMutation.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useDeleteOneRecordMutation.ts @@ -4,8 +4,8 @@ import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadata import { mapSoftDeleteFieldsToGraphQLQuery } from '@/object-metadata/utils/mapSoftDeleteFieldsToGraphQLQuery'; import { EMPTY_MUTATION } from '@/object-record/constants/EmptyMutation'; import { getDeleteOneRecordMutationResponseField } from '@/object-record/utils/getDeleteOneRecordMutationResponseField'; -import { capitalize } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export const useDeleteOneRecordMutation = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useDestroyManyRecords.ts b/packages/twenty-front/src/modules/object-record/hooks/useDestroyManyRecords.ts index d254a4c5d..711d00bb2 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useDestroyManyRecords.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useDestroyManyRecords.ts @@ -12,8 +12,8 @@ import { useRefetchAggregateQueries } from '@/object-record/hooks/useRefetchAggr import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { getDestroyManyRecordsMutationResponseField } from '@/object-record/utils/getDestroyManyRecordsMutationResponseField'; import { useRecoilValue } from 'recoil'; -import { capitalize, isDefined } from 'twenty-shared'; import { sleep } from '~/utils/sleep'; +import { capitalize, isDefined } from 'twenty-shared/utils'; type useDestroyManyRecordProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useDestroyManyRecordsMutation.ts b/packages/twenty-front/src/modules/object-record/hooks/useDestroyManyRecordsMutation.ts index c9b4e46d3..f8bff6efa 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useDestroyManyRecordsMutation.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useDestroyManyRecordsMutation.ts @@ -3,8 +3,8 @@ import gql from 'graphql-tag'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { EMPTY_MUTATION } from '@/object-record/constants/EmptyMutation'; import { getDestroyManyRecordsMutationResponseField } from '@/object-record/utils/getDestroyManyRecordsMutationResponseField'; -import { capitalize } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export const useDestroyManyRecordsMutation = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useDestroyOneRecord.ts b/packages/twenty-front/src/modules/object-record/hooks/useDestroyOneRecord.ts index 4f5ce94a2..2d883d28c 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useDestroyOneRecord.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useDestroyOneRecord.ts @@ -8,7 +8,7 @@ import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadat import { useGetRecordFromCache } from '@/object-record/cache/hooks/useGetRecordFromCache'; import { useDestroyOneRecordMutation } from '@/object-record/hooks/useDestroyOneRecordMutation'; import { getDestroyOneRecordMutationResponseField } from '@/object-record/utils/getDestroyOneRecordMutationResponseField'; -import { capitalize, isDefined } from 'twenty-shared'; +import { capitalize, isDefined } from 'twenty-shared/utils'; type useDestroyOneRecordProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useDestroyOneRecordMutation.ts b/packages/twenty-front/src/modules/object-record/hooks/useDestroyOneRecordMutation.ts index 82f970d1a..a5637779f 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useDestroyOneRecordMutation.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useDestroyOneRecordMutation.ts @@ -3,8 +3,8 @@ import gql from 'graphql-tag'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { EMPTY_MUTATION } from '@/object-record/constants/EmptyMutation'; import { getDestroyOneRecordMutationResponseField } from '@/object-record/utils/getDestroyOneRecordMutationResponseField'; -import { capitalize } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export const useDestroyOneRecordMutation = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useFetchMoreRecordsWithPagination.ts b/packages/twenty-front/src/modules/object-record/hooks/useFetchMoreRecordsWithPagination.ts index abdbf7639..6ba675b68 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useFetchMoreRecordsWithPagination.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useFetchMoreRecordsWithPagination.ts @@ -23,11 +23,11 @@ import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { OnFindManyRecordsCompleted } from '@/object-record/types/OnFindManyRecordsCompleted'; import { filterUniqueRecordEdgesByCursor } from '@/object-record/utils/filterUniqueRecordEdgesByCursor'; import { getQueryIdentifier } from '@/object-record/utils/getQueryIdentifier'; -import { capitalize, isDefined } from 'twenty-shared'; import { cursorFamilyState } from '../states/cursorFamilyState'; import { hasNextPageFamilyState } from '../states/hasNextPageFamilyState'; import { isFetchingMoreRecordsFamilyState } from '../states/isFetchingMoreRecordsFamilyState'; +import { capitalize, isDefined } from 'twenty-shared/utils'; export type UseFindManyRecordsParams = ObjectMetadataItemIdentifier & RecordGqlOperationVariables & { diff --git a/packages/twenty-front/src/modules/object-record/hooks/useFindDuplicatesRecordsQuery.ts b/packages/twenty-front/src/modules/object-record/hooks/useFindDuplicatesRecordsQuery.ts index e5d6f8f74..4664ef126 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useFindDuplicatesRecordsQuery.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useFindDuplicatesRecordsQuery.ts @@ -6,7 +6,7 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadat import { isAggregationEnabled } from '@/object-metadata/utils/isAggregationEnabled'; import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery'; import { getFindDuplicateRecordsQueryResponseField } from '@/object-record/utils/getFindDuplicateRecordsQueryResponseField'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const useFindDuplicateRecordsQuery = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useFindOneRecord.ts b/packages/twenty-front/src/modules/object-record/hooks/useFindOneRecord.ts index 34c714aea..ed37a9d96 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useFindOneRecord.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useFindOneRecord.ts @@ -9,7 +9,7 @@ import { RecordGqlOperationGqlRecordFields } from '@/object-record/graphql/types import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields'; import { useFindOneRecordQuery } from '@/object-record/hooks/useFindOneRecordQuery'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useFindOneRecord = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useFindOneRecordQuery.ts b/packages/twenty-front/src/modules/object-record/hooks/useFindOneRecordQuery.ts index e6853ebba..b4d65810e 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useFindOneRecordQuery.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useFindOneRecordQuery.ts @@ -5,7 +5,7 @@ import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadata import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery'; import { RecordGqlOperationGqlRecordFields } from '@/object-record/graphql/types/RecordGqlOperationGqlRecordFields'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const useFindOneRecordQuery = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useHandleFindManyRecordsCompleted.ts b/packages/twenty-front/src/modules/object-record/hooks/useHandleFindManyRecordsCompleted.ts index 587d77bc5..965f82f1c 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useHandleFindManyRecordsCompleted.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useHandleFindManyRecordsCompleted.ts @@ -6,7 +6,7 @@ import { RecordGqlOperationFindManyResult } from '@/object-record/graphql/types/ import { cursorFamilyState } from '@/object-record/states/cursorFamilyState'; import { hasNextPageFamilyState } from '@/object-record/states/hasNextPageFamilyState'; import { OnFindManyRecordsCompleted } from '@/object-record/types/OnFindManyRecordsCompleted'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useHandleFindManyRecordsCompleted = ({ queryIdentifier, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useLazyFetchAllRecords.ts b/packages/twenty-front/src/modules/object-record/hooks/useLazyFetchAllRecords.ts index b07b66fe5..570335e1e 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useLazyFetchAllRecords.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useLazyFetchAllRecords.ts @@ -3,8 +3,8 @@ import { DEFAULT_QUERY_PAGE_SIZE } from '@/object-record/constants/DefaultQueryP import { UseFindManyRecordsParams } from '@/object-record/hooks/useFetchMoreRecordsWithPagination'; import { useLazyFindManyRecords } from '@/object-record/hooks/useLazyFindManyRecords'; import { useCallback, useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { sleep } from '~/utils/sleep'; +import { isDefined } from 'twenty-shared/utils'; type UseLazyFetchAllRecordIdsParams = Omit< UseFindManyRecordsParams, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useObjectRecordSearchRecords.ts b/packages/twenty-front/src/modules/object-record/hooks/useObjectRecordSearchRecords.ts index 579d2b5ec..f07abb3e2 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useObjectRecordSearchRecords.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useObjectRecordSearchRecords.ts @@ -7,12 +7,12 @@ import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; import { WatchQueryFetchPolicy } from '@apollo/client'; import { useMemo } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { ObjectRecordFilterInput, useGlobalSearchQuery, } from '~/generated/graphql'; import { logError } from '~/utils/logError'; +import { isDefined } from 'twenty-shared/utils'; export type UseSearchRecordsParams = ObjectMetadataItemIdentifier & { limit?: number; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useRecordChipData.ts b/packages/twenty-front/src/modules/object-record/hooks/useRecordChipData.ts index e3ee43edb..d4d535c01 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useRecordChipData.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useRecordChipData.ts @@ -3,7 +3,7 @@ import { generateDefaultRecordChipData } from '@/object-metadata/utils/generateD import { RecordChipData } from '@/object-record/record-field/types/RecordChipData'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { useContext } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type UseRecordChipDataArgs = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useRestoreManyRecords.ts b/packages/twenty-front/src/modules/object-record/hooks/useRestoreManyRecords.ts index 75d71a1c5..d2447851f 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useRestoreManyRecords.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useRestoreManyRecords.ts @@ -13,8 +13,8 @@ import { useRestoreManyRecordsMutation } from '@/object-record/hooks/useRestoreM import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { getRestoreManyRecordsMutationResponseField } from '@/object-record/utils/getRestoreManyRecordsMutationResponseField'; import { useRecoilValue } from 'recoil'; -import { capitalize, isDefined } from 'twenty-shared'; import { sleep } from '~/utils/sleep'; +import { capitalize, isDefined } from 'twenty-shared/utils'; type useRestoreManyRecordProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useRestoreManyRecordsMutation.ts b/packages/twenty-front/src/modules/object-record/hooks/useRestoreManyRecordsMutation.ts index e56e4c405..fc8c95674 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useRestoreManyRecordsMutation.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useRestoreManyRecordsMutation.ts @@ -3,8 +3,8 @@ import gql from 'graphql-tag'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { EMPTY_MUTATION } from '@/object-record/constants/EmptyMutation'; import { getRestoreManyRecordsMutationResponseField } from '@/object-record/utils/getRestoreManyRecordsMutationResponseField'; -import { capitalize } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export const useRestoreManyRecordsMutation = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecord.ts b/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecord.ts index 8b40a1aca..abb2e63eb 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecord.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecord.ts @@ -18,8 +18,8 @@ import { getUpdateOneRecordMutationResponseField } from '@/object-record/utils/g import { sanitizeRecordInput } from '@/object-record/utils/sanitizeRecordInput'; import { isNull } from '@sniptt/guards'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { buildRecordFromKeysWithSameValue } from '~/utils/array/buildRecordFromKeysWithSameValue'; +import { isDefined } from 'twenty-shared/utils'; type useUpdateOneRecordProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecordMutation.ts b/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecordMutation.ts index 1395c032f..e812c4023 100644 --- a/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecordMutation.ts +++ b/packages/twenty-front/src/modules/object-record/hooks/useUpdateOneRecordMutation.ts @@ -8,8 +8,8 @@ import { EMPTY_MUTATION } from '@/object-record/constants/EmptyMutation'; import { RecordGqlOperationGqlRecordFields } from '@/object-record/graphql/types/RecordGqlOperationGqlRecordFields'; import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields'; import { getUpdateOneRecordMutationResponseField } from '@/object-record/utils/getUpdateOneRecordMutationResponseField'; -import { capitalize } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { capitalize } from 'twenty-shared/utils'; export const useUpdateOneRecordMutation = ({ objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/multiple-objects/hooks/useGenerateCombinedFindManyRecordsQuery.ts b/packages/twenty-front/src/modules/object-record/multiple-objects/hooks/useGenerateCombinedFindManyRecordsQuery.ts index a276476dd..76fecd174 100644 --- a/packages/twenty-front/src/modules/object-record/multiple-objects/hooks/useGenerateCombinedFindManyRecordsQuery.ts +++ b/packages/twenty-front/src/modules/object-record/multiple-objects/hooks/useGenerateCombinedFindManyRecordsQuery.ts @@ -7,8 +7,8 @@ import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObje import { RecordGqlOperationSignature } from '@/object-record/graphql/types/RecordGqlOperationSignature'; import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields'; import { getCombinedFindManyRecordsQueryFilteringPart } from '@/object-record/multiple-objects/utils/getCombinedFindManyRecordsQueryFilteringPart'; -import { capitalize } from 'twenty-shared'; import { isNonEmptyArray } from '~/utils/isNonEmptyArray'; +import { capitalize } from 'twenty-shared/utils'; export const useGenerateCombinedFindManyRecordsQuery = ({ operationSignatures, diff --git a/packages/twenty-front/src/modules/object-record/multiple-objects/hooks/usePerformCombinedFindManyRecords.ts b/packages/twenty-front/src/modules/object-record/multiple-objects/hooks/usePerformCombinedFindManyRecords.ts index d117b3b47..ab9e194f0 100644 --- a/packages/twenty-front/src/modules/object-record/multiple-objects/hooks/usePerformCombinedFindManyRecords.ts +++ b/packages/twenty-front/src/modules/object-record/multiple-objects/hooks/usePerformCombinedFindManyRecords.ts @@ -1,6 +1,5 @@ import { ApolloClient, gql, useApolloClient } from '@apollo/client'; import { isUndefined } from '@sniptt/guards'; -import { capitalize } from 'twenty-shared'; import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; @@ -13,6 +12,7 @@ import { CombinedFindManyRecordsQueryResult } from '@/object-record/multiple-obj import { generateCombinedFindManyRecordsQueryVariables } from '@/object-record/multiple-objects/utils/generateCombinedFindManyRecordsQueryVariables'; import { getCombinedFindManyRecordsQueryFilteringPart } from '@/object-record/multiple-objects/utils/getCombinedFindManyRecordsQueryFilteringPart'; import { useRecoilValue } from 'recoil'; +import { capitalize } from 'twenty-shared/utils'; export const usePerformCombinedFindManyRecords = () => { const client = useApolloClient(); diff --git a/packages/twenty-front/src/modules/object-record/multiple-objects/utils/generateCombinedFindManyRecordsQueryVariables.ts b/packages/twenty-front/src/modules/object-record/multiple-objects/utils/generateCombinedFindManyRecordsQueryVariables.ts index a145fd4e2..da94d52c4 100644 --- a/packages/twenty-front/src/modules/object-record/multiple-objects/utils/generateCombinedFindManyRecordsQueryVariables.ts +++ b/packages/twenty-front/src/modules/object-record/multiple-objects/utils/generateCombinedFindManyRecordsQueryVariables.ts @@ -1,7 +1,7 @@ import { RecordGqlOperationSignature } from '@/object-record/graphql/types/RecordGqlOperationSignature'; import { isNonEmptyString } from '@sniptt/guards'; -import { capitalize, isDefined } from 'twenty-shared'; import { isNonEmptyArray } from '~/utils/isNonEmptyArray'; +import { capitalize, isDefined } from 'twenty-shared/utils'; export const generateCombinedFindManyRecordsQueryVariables = ({ operationSignatures, diff --git a/packages/twenty-front/src/modules/object-record/multiple-objects/utils/getCombinedFindManyRecordsQueryFilteringPart.ts b/packages/twenty-front/src/modules/object-record/multiple-objects/utils/getCombinedFindManyRecordsQueryFilteringPart.ts index 1353d0555..2167b8f7d 100644 --- a/packages/twenty-front/src/modules/object-record/multiple-objects/utils/getCombinedFindManyRecordsQueryFilteringPart.ts +++ b/packages/twenty-front/src/modules/object-record/multiple-objects/utils/getCombinedFindManyRecordsQueryFilteringPart.ts @@ -1,5 +1,5 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const getCombinedFindManyRecordsQueryFilteringPart = ( objectMetadataItem: ObjectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-record/multiple-objects/utils/getLimitPerMetadataItem.ts b/packages/twenty-front/src/modules/object-record/multiple-objects/utils/getLimitPerMetadataItem.ts index f8b4af2c7..352d1dfa5 100644 --- a/packages/twenty-front/src/modules/object-record/multiple-objects/utils/getLimitPerMetadataItem.ts +++ b/packages/twenty-front/src/modules/object-record/multiple-objects/utils/getLimitPerMetadataItem.ts @@ -1,5 +1,5 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const getLimitPerMetadataItem = ( objectMetadataItems: Pick[], diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/AdvancedFilterButton.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/AdvancedFilterButton.tsx index 0bd4dd0e3..36cad84e7 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/AdvancedFilterButton.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/AdvancedFilterButton.tsx @@ -16,7 +16,6 @@ import { ViewFilterGroupLogicalOperator } from '@/views/types/ViewFilterGroupLog import styled from '@emotion/styled'; import { useLingui } from '@lingui/react/macro'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { IconFilter, MenuItemLeftContent, @@ -24,6 +23,7 @@ import { StyledMenuItemBase, } from 'twenty-ui'; import { v4 } from 'uuid'; +import { isDefined } from 'twenty-shared/utils'; export const StyledContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx index 06b434804..8c3c29725 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx @@ -4,7 +4,7 @@ import { getFilterTypeFromFieldType } from '@/object-metadata/utils/formatFieldM import { fieldMetadataItemUsedInDropdownComponentSelector } from '@/object-record/object-filter-dropdown/states/fieldMetadataItemUsedInDropdownComponentSelector'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const MultipleFiltersDropdownFilterOnFilterChangedEffect = () => { const { setDropdownWidth } = useDropdown(); diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownBooleanSelect.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownBooleanSelect.tsx index 19ff88bc3..6b70943a3 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownBooleanSelect.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownBooleanSelect.tsx @@ -14,8 +14,8 @@ import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/Drop import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { SelectableList } from '@/ui/layout/selectable-list/components/SelectableList'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; import { IconCheck } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledBooleanSelectContainer = styled.div<{ selected?: boolean }>` align-items: center; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownDateInput.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownDateInput.tsx index 1670e430d..bff15daf8 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownDateInput.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownDateInput.tsx @@ -16,8 +16,8 @@ import { VariableDateViewFilterValueUnit, } from '@/views/view-filter-value/utils/resolveDateViewFilterValue'; import { useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const ObjectFilterDropdownDateInput = () => { const fieldMetadataItemUsedInDropdown = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterInput.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterInput.tsx index c2ce2765f..8982f0f1e 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterInput.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterInput.tsx @@ -7,7 +7,6 @@ import { ObjectFilterDropdownSearchInput } from '@/object-record/object-filter-d import { ObjectFilterDropdownSourceSelect } from '@/object-record/object-filter-dropdown/components/ObjectFilterDropdownSourceSelect'; import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownMenuSeparator'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; -import { isDefined } from 'twenty-shared'; import { getFilterTypeFromFieldType } from '@/object-metadata/utils/formatFieldMetadataItemsAsFilterDefinitions'; import { ObjectFilterDropdownBooleanSelect } from '@/object-record/object-filter-dropdown/components/ObjectFilterDropdownBooleanSelect'; @@ -20,6 +19,7 @@ import { selectedOperandInDropdownComponentState } from '@/object-record/object- import { subFieldNameUsedInDropdownComponentState } from '@/object-record/object-filter-dropdown/states/subFieldNameUsedInDropdownComponentState'; import { isFilterOnActorSourceSubField } from '@/object-record/object-filter-dropdown/utils/isFilterOnActorSourceSubField'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; +import { isDefined } from 'twenty-shared/utils'; type ObjectFilterDropdownFilterInputProps = { filterDropdownId?: string; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx index 7bb44a73f..b3fad1cbb 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx @@ -18,7 +18,6 @@ import { useSelectableList } from '@/ui/layout/selectable-list/hooks/useSelectab import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; -import { isDefined } from 'twenty-shared'; import { FeatureFlagKey } from '~/generated/graphql'; import { useSelectFilterUsedInDropdown } from '@/object-record/object-filter-dropdown/hooks/useSelectFilterUsedInDropdown'; @@ -29,6 +28,7 @@ import { useFilterableFieldMetadataItemsInRecordIndexContext } from '@/object-re import { useRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentStateV2'; import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly'; import { useLingui } from '@lingui/react/macro'; +import { isDefined } from 'twenty-shared/utils'; export const StyledInput = styled.input` background: transparent; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelectCompositeFieldSubMenu.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelectCompositeFieldSubMenu.tsx index 63f870467..b0f92a76f 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelectCompositeFieldSubMenu.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelectCompositeFieldSubMenu.tsx @@ -28,8 +28,8 @@ import { useRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { IconApps, IconChevronLeft, MenuItem, useIcons } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const ObjectFilterDropdownFilterSelectCompositeFieldSubMenu = () => { const [searchText] = useState(''); diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelectMenuItem.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelectMenuItem.tsx index f7505667e..aaee2c6ba 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelectMenuItem.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterSelectMenuItem.tsx @@ -22,8 +22,8 @@ import { useRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { MenuItemSelect, useIcons } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export type ObjectFilterDropdownFilterSelectMenuItemProps = { fieldMetadataItemToSelect: FieldMetadataItem; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx index ab141236a..d04037cbf 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx @@ -14,9 +14,9 @@ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/ import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import styled from '@emotion/styled'; -import { isDefined } from 'twenty-shared'; import { MenuItem } from 'twenty-ui'; import { getOperandLabel } from '../utils/getOperandLabel'; +import { isDefined } from 'twenty-shared/utils'; const StyledDropdownMenuItemsContainer = styled(DropdownMenuItemsContainer)` background-color: ${({ theme }) => theme.background.primary}; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownOptionSelect.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownOptionSelect.tsx index ce6935a89..fc9804d8e 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownOptionSelect.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownOptionSelect.tsx @@ -23,8 +23,8 @@ import { SingleRecordPickerHotkeyScope } from '@/object-record/record-picker/sin import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; import { useAvailableComponentInstanceIdOrThrow } from '@/ui/utilities/state/component-state/hooks/useAvailableComponentInstanceIdOrThrow'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; import { MenuItem, MenuItemMultiSelect } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const EMPTY_FILTER_VALUE = ''; export const MAX_OPTIONS_TO_DISPLAY = 3; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownRecordSelect.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownRecordSelect.tsx index 698991048..67000ca6b 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownRecordSelect.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownRecordSelect.tsx @@ -22,9 +22,9 @@ import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-sta import { RelationFilterValue } from '@/views/view-filter-value/types/RelationFilterValue'; import { jsonRelationFilterValueSchema } from '@/views/view-filter-value/validation-schemas/jsonRelationFilterValueSchema'; import { simpleRelationFilterValueSchema } from '@/views/view-filter-value/validation-schemas/simpleRelationFilterValueSchema'; -import { isDefined } from 'twenty-shared'; import { IconUserCircle } from 'twenty-ui'; import { v4 } from 'uuid'; +import { isDefined } from 'twenty-shared/utils'; export const EMPTY_FILTER_VALUE: string = JSON.stringify({ isCurrentWorkspaceMemberSelected: false, diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownSourceSelect.tsx b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownSourceSelect.tsx index 13624e79c..05722e9ac 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownSourceSelect.tsx +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownSourceSelect.tsx @@ -18,7 +18,7 @@ import { SelectableItem } from '@/object-record/select/types/SelectableItem'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const EMPTY_FILTER_VALUE = '[]'; export const MAX_ITEMS_TO_DISPLAY = 3; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useSelectFilterUsedInDropdown.ts b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useSelectFilterUsedInDropdown.ts index 7f4932f16..8a417ad16 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useSelectFilterUsedInDropdown.ts +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useSelectFilterUsedInDropdown.ts @@ -13,8 +13,8 @@ import { SingleRecordPickerHotkeyScope } from '@/object-record/record-picker/sin import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; -import { isDefined } from 'twenty-shared'; import { v4 } from 'uuid'; +import { isDefined } from 'twenty-shared/utils'; type SelectFilterParams = { fieldMetadataItemId: string; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/__tests__/getOperandLabel.test.ts b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/__tests__/getOperandLabel.test.ts index 219e584b4..a20f31ee5 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/__tests__/getOperandLabel.test.ts +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/__tests__/getOperandLabel.test.ts @@ -1,7 +1,7 @@ import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; -import { capitalize } from 'twenty-shared'; import { getOperandLabel, getOperandLabelShort } from '../getOperandLabel'; +import { capitalize } from 'twenty-shared/utils'; describe('getOperandLabel', () => { const testCases = [ diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/getRelativeDateDisplayValue.ts b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/getRelativeDateDisplayValue.ts index 5a5f7d259..75fa6e69c 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/getRelativeDateDisplayValue.ts +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/getRelativeDateDisplayValue.ts @@ -3,7 +3,8 @@ import { VariableDateViewFilterValueUnit, } from '@/views/view-filter-value/utils/resolveDateViewFilterValue'; import { plural } from 'pluralize'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; + export const getRelativeDateDisplayValue = ( relativeDate: { direction: VariableDateViewFilterValueDirection; diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/isNonCompositeField.ts b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/isNonCompositeField.ts index 981c73e14..b391697e5 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/isNonCompositeField.ts +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/utils/isNonCompositeField.ts @@ -1,5 +1,5 @@ import { FieldType } from '@/settings/data-model/types/FieldType'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; // TODO: see why RELATION is considered as a non composite type in settings, because it prevents this function // to be a typeguard diff --git a/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownMenuContent.tsx b/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownMenuContent.tsx index e4515a678..814ca569f 100644 --- a/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownMenuContent.tsx +++ b/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownMenuContent.tsx @@ -1,5 +1,4 @@ import { Key } from 'ts-key-enum'; -import { capitalize, isDefined } from 'twenty-shared'; import { AppTooltip, IconCopy, @@ -32,6 +31,7 @@ import { viewPickerReferenceViewIdComponentState } from '@/views/view-picker/sta import { useTheme } from '@emotion/react'; import { useLingui } from '@lingui/react/macro'; import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent'; +import { capitalize, isDefined } from 'twenty-shared/utils'; export const ObjectOptionsDropdownMenuContent = () => { const { t } = useLingui(); diff --git a/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownRecordGroupFieldsContent.tsx b/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownRecordGroupFieldsContent.tsx index f046de355..890f44af8 100644 --- a/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownRecordGroupFieldsContent.tsx +++ b/packages/twenty-front/src/modules/object-record/object-options-dropdown/components/ObjectOptionsDropdownRecordGroupFieldsContent.tsx @@ -27,10 +27,10 @@ import { ViewType } from '@/views/types/ViewType'; import { useLingui } from '@lingui/react/macro'; import { useLocation } from 'react-router-dom'; import { useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent'; +import { isDefined } from 'twenty-shared/utils'; export const ObjectOptionsDropdownRecordGroupFieldsContent = () => { const { t } = useLingui(); diff --git a/packages/twenty-front/src/modules/object-record/object-options-dropdown/hooks/useExportProcessRecordsForCSV.ts b/packages/twenty-front/src/modules/object-record/object-options-dropdown/hooks/useExportProcessRecordsForCSV.ts index 6f499d75b..2eb9eb433 100644 --- a/packages/twenty-front/src/modules/object-record/object-options-dropdown/hooks/useExportProcessRecordsForCSV.ts +++ b/packages/twenty-front/src/modules/object-record/object-options-dropdown/hooks/useExportProcessRecordsForCSV.ts @@ -1,9 +1,9 @@ import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { FieldCurrencyValue } from '@/object-record/record-field/types/FieldMetadata'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { convertCurrencyMicrosToCurrencyAmount } from '~/utils/convertCurrencyToCurrencyMicros'; +import { isDefined } from 'twenty-shared/utils'; export const useExportProcessRecordsForCSV = (objectNameSingular: string) => { const { objectMetadataItem } = useObjectMetadataItem({ diff --git a/packages/twenty-front/src/modules/object-record/object-sort-dropdown/utils/__tests__/turnSortsIntoOrderBy.test.ts b/packages/twenty-front/src/modules/object-record/object-sort-dropdown/utils/__tests__/turnSortsIntoOrderBy.test.ts index 2e59c8a96..ef2b78f3f 100644 --- a/packages/twenty-front/src/modules/object-record/object-sort-dropdown/utils/__tests__/turnSortsIntoOrderBy.test.ts +++ b/packages/twenty-front/src/modules/object-record/object-sort-dropdown/utils/__tests__/turnSortsIntoOrderBy.test.ts @@ -3,8 +3,8 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { RecordGqlOperationOrderBy } from '@/object-record/graphql/types/RecordGqlOperationOrderBy'; import { turnSortsIntoOrderBy } from '@/object-record/object-sort-dropdown/utils/turnSortsIntoOrderBy'; import { RecordSort } from '@/object-record/record-sort/types/RecordSort'; -import { EachTestingContext } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { EachTestingContext } from 'twenty-shared/testing'; const objectMetadataItemWithPositionField: ObjectMetadataItem = { id: 'object1', diff --git a/packages/twenty-front/src/modules/object-record/object-sort-dropdown/utils/turnSortsIntoOrderBy.ts b/packages/twenty-front/src/modules/object-record/object-sort-dropdown/utils/turnSortsIntoOrderBy.ts index 230b848cc..8c83a4e77 100644 --- a/packages/twenty-front/src/modules/object-record/object-sort-dropdown/utils/turnSortsIntoOrderBy.ts +++ b/packages/twenty-front/src/modules/object-record/object-sort-dropdown/utils/turnSortsIntoOrderBy.ts @@ -1,7 +1,6 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { RecordGqlOperationOrderBy } from '@/object-record/graphql/types/RecordGqlOperationOrderBy'; -import { isDefined } from 'twenty-shared'; import { mapArrayToObject } from '~/utils/array/mapArrayToObject'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; @@ -10,6 +9,7 @@ import { getOrderByForFieldMetadataType } from '@/object-metadata/utils/getOrder import { hasObjectMetadataItemPositionField } from '@/object-metadata/utils/hasObjectMetadataItemPositionField'; import { RecordSort } from '@/object-record/record-sort/types/RecordSort'; import { OrderBy } from '@/types/OrderBy'; +import { isDefined } from 'twenty-shared/utils'; export const turnSortsIntoOrderBy = ( objectMetadataItem: ObjectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-record/record-board/hooks/useSetRecordBoardRecordIds.ts b/packages/twenty-front/src/modules/object-record/record-board/hooks/useSetRecordBoardRecordIds.ts index 95994896d..c114a6893 100644 --- a/packages/twenty-front/src/modules/object-record/record-board/hooks/useSetRecordBoardRecordIds.ts +++ b/packages/twenty-front/src/modules/object-record/record-board/hooks/useSetRecordBoardRecordIds.ts @@ -9,8 +9,8 @@ import { sortRecordsByPosition } from '@/object-record/utils/sortRecordsByPositi import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; import { getSnapshotValue } from '@/ui/utilities/state/utils/getSnapshotValue'; import { ViewType } from '@/views/types/ViewType'; -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { isDefined } from 'twenty-shared/utils'; export const useSetRecordBoardRecordIds = (recordBoardId?: string) => { const visibleRecordGroupIdsFamilySelector = useRecoilComponentCallbackStateV2( diff --git a/packages/twenty-front/src/modules/object-record/record-board/hooks/useSetRecordIdsForColumn.ts b/packages/twenty-front/src/modules/object-record/record-board/hooks/useSetRecordIdsForColumn.ts index 1d1bf6ab9..cc6e36407 100644 --- a/packages/twenty-front/src/modules/object-record/record-board/hooks/useSetRecordIdsForColumn.ts +++ b/packages/twenty-front/src/modules/object-record/record-board/hooks/useSetRecordIdsForColumn.ts @@ -6,8 +6,8 @@ import { recordIndexRecordIdsByGroupComponentFamilyState } from '@/object-record import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; import { getSnapshotValue } from '@/ui/utilities/state/utils/getSnapshotValue'; -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { isDefined } from 'twenty-shared/utils'; export const useSetRecordIdsForColumn = (recordBoardId?: string) => { const recordGroupFieldMetadataState = useRecoilComponentCallbackStateV2( diff --git a/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCardHeader.tsx b/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCardHeader.tsx index de884ecb9..e1bf6937e 100644 --- a/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCardHeader.tsx +++ b/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCardHeader.tsx @@ -18,7 +18,6 @@ import { ViewOpenRecordInType } from '@/views/types/ViewOpenRecordInType'; import styled from '@emotion/styled'; import { Dispatch, SetStateAction, useContext } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { AvatarChipVariant, Checkbox, @@ -27,6 +26,7 @@ import { IconEyeOff, LightIconButton, } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledCompactIconContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnHeaderAggregateDropdownFieldsContent.tsx b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnHeaderAggregateDropdownFieldsContent.tsx index 6c0d3ebb9..6acaf76c4 100644 --- a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnHeaderAggregateDropdownFieldsContent.tsx +++ b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnHeaderAggregateDropdownFieldsContent.tsx @@ -9,7 +9,6 @@ import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/Drop import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useUpdateViewAggregate } from '@/views/hooks/useUpdateViewAggregate'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { Icon123, IconCheck, @@ -18,6 +17,7 @@ import { useIcons, } from 'twenty-ui'; import { DropdownMenuHeaderLeftComponent } from '@/ui/layout/dropdown/components/DropdownMenuHeader/internal/DropdownMenuHeaderLeftComponent'; +import { isDefined } from 'twenty-shared/utils'; export const RecordBoardColumnHeaderAggregateDropdownFieldsContent = () => { const { diff --git a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnHeaderWrapper.tsx b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnHeaderWrapper.tsx index 1561ecc4f..80b263297 100644 --- a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnHeaderWrapper.tsx +++ b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/components/RecordBoardColumnHeaderWrapper.tsx @@ -1,11 +1,10 @@ -import { isDefined } from 'twenty-shared'; - import { RecordBoardColumnHeader } from '@/object-record/record-board/record-board-column/components/RecordBoardColumnHeader'; import { RecordBoardColumnContext } from '@/object-record/record-board/record-board-column/contexts/RecordBoardColumnContext'; import { recordGroupDefinitionFamilyState } from '@/object-record/record-group/states/recordGroupDefinitionFamilyState'; import { recordIndexRecordIdsByGroupComponentFamilyState } from '@/object-record/record-index/states/recordIndexRecordIdsByGroupComponentFamilyState'; import { useRecoilComponentFamilyValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyValueV2'; import { useRecoilValue } from 'recoil'; +import { isDefined } from 'twenty-shared/utils'; type RecordBoardColumnHeaderWrapperProps = { columnId: string; diff --git a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/hooks/useAggregateRecordsForRecordBoardColumn.ts b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/hooks/useAggregateRecordsForRecordBoardColumn.ts index 1501b2d64..305fd5703 100644 --- a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/hooks/useAggregateRecordsForRecordBoardColumn.ts +++ b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/hooks/useAggregateRecordsForRecordBoardColumn.ts @@ -4,7 +4,7 @@ import { recordIndexKanbanFieldMetadataIdState } from '@/object-record/record-in import { useAggregateRecordsForHeader } from '@/object-record/record-table/hooks/useAggregateRecordsForHeader'; import { useContext } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useAggregateRecordsForRecordBoardColumn = () => { const { columnDefinition } = useContext(RecordBoardColumnContext); diff --git a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/utils/buildRecordGqlFieldsAggregateForView.ts b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/utils/buildRecordGqlFieldsAggregateForView.ts index fdba7a543..f4f7f64a6 100644 --- a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/utils/buildRecordGqlFieldsAggregateForView.ts +++ b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/utils/buildRecordGqlFieldsAggregateForView.ts @@ -2,10 +2,8 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { RecordGqlFieldsAggregate } from '@/object-record/graphql/types/RecordGqlFieldsAggregate'; import { KanbanAggregateOperation } from '@/object-record/record-index/states/recordIndexKanbanAggregateOperationState'; import { AGGREGATE_OPERATIONS } from '@/object-record/record-table/constants/AggregateOperations'; -import { - FIELD_FOR_TOTAL_COUNT_AGGREGATE_OPERATION, - isDefined, -} from 'twenty-shared'; +import { FIELD_FOR_TOTAL_COUNT_AGGREGATE_OPERATION } from 'twenty-shared/constants'; +import { isDefined } from 'twenty-shared/utils'; export const buildRecordGqlFieldsAggregateForView = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/utils/computeAggregateValueAndLabel.ts b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/utils/computeAggregateValueAndLabel.ts index b357c2885..5a52f56a7 100644 --- a/packages/twenty-front/src/modules/object-record/record-board/record-board-column/utils/computeAggregateValueAndLabel.ts +++ b/packages/twenty-front/src/modules/object-record/record-board/record-board-column/utils/computeAggregateValueAndLabel.ts @@ -10,15 +10,13 @@ import { PERCENT_AGGREGATE_OPERATION_OPTIONS } from '@/object-record/record-tabl import { ExtendedAggregateOperations } from '@/object-record/record-table/types/ExtendedAggregateOperations'; import { t } from '@lingui/core/macro'; import isEmpty from 'lodash.isempty'; -import { - FIELD_FOR_TOTAL_COUNT_AGGREGATE_OPERATION, - isDefined, -} from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { formatAmount } from '~/utils/format/formatAmount'; import { formatNumber } from '~/utils/format/number'; import { formatDateString } from '~/utils/string/formatDateString'; import { formatDateTimeString } from '~/utils/string/formatDateTimeString'; +import { FIELD_FOR_TOTAL_COUNT_AGGREGATE_OPERATION } from 'twenty-shared/constants'; +import { isDefined } from 'twenty-shared/utils'; export const computeAggregateValueAndLabel = ({ data, diff --git a/packages/twenty-front/src/modules/object-record/record-board/utils/getDraggedRecordPosition.ts b/packages/twenty-front/src/modules/object-record/record-board/utils/getDraggedRecordPosition.ts index 8f0963902..b42c783ef 100644 --- a/packages/twenty-front/src/modules/object-record/record-board/utils/getDraggedRecordPosition.ts +++ b/packages/twenty-front/src/modules/object-record/record-board/utils/getDraggedRecordPosition.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; export const getDraggedRecordPosition = ( recordBeforePosition?: number, recordAfterPosition?: number, diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormBooleanFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormBooleanFieldInput.tsx index f9f5bc1a9..ae7a78e8a 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormBooleanFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormBooleanFieldInput.tsx @@ -8,7 +8,7 @@ import { InputLabel } from '@/ui/input/components/InputLabel'; import { isStandaloneVariableString } from '@/workflow/utils/isStandaloneVariableString'; import styled from '@emotion/styled'; import { useId, useState } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledBooleanInputContainer = styled.div` padding-inline: ${({ theme }) => theme.spacing(2)}; diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormDateTimeFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormDateTimeFieldInput.tsx index e95ba1c33..b9702f4c9 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormDateTimeFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormDateTimeFieldInput.tsx @@ -29,8 +29,8 @@ import { useRef, useState, } from 'react'; -import { isDefined } from 'twenty-shared'; import { Nullable, TEXT_INPUT_STYLE } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledInputContainer = styled(FormFieldInputInputContainer)` display: grid; diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormMultiSelectFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormMultiSelectFieldInput.tsx index 779218473..cf6471b7c 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormMultiSelectFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormMultiSelectFieldInput.tsx @@ -17,8 +17,8 @@ import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousH import { isStandaloneVariableString } from '@/workflow/utils/isStandaloneVariableString'; import { useTheme } from '@emotion/react'; import { useId, useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { IconChevronDown, VisibilityHidden } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; type FormMultiSelectFieldInputProps = { label?: string; diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormNumberFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormNumberFieldInput.tsx index 814eeea33..12ee65cb2 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormNumberFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormNumberFieldInput.tsx @@ -10,11 +10,11 @@ import { InputLabel } from '@/ui/input/components/InputLabel'; import { isStandaloneVariableString } from '@/workflow/utils/isStandaloneVariableString'; import styled from '@emotion/styled'; import { useId, useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { canBeCastAsNumberOrNull, castAsNumberOrNull, } from '~/utils/cast-as-number-or-null'; +import { isDefined } from 'twenty-shared/utils'; const StyledInput = styled(TextInput)` padding: ${({ theme }) => `${theme.spacing(1)} ${theme.spacing(2)}`}; diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormRawJsonFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormRawJsonFieldInput.tsx index 00067dd20..8b3698108 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormRawJsonFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormRawJsonFieldInput.tsx @@ -6,8 +6,8 @@ import { useTextVariableEditor } from '@/object-record/record-field/form-types/h import { VariablePickerComponent } from '@/object-record/record-field/form-types/types/VariablePickerComponent'; import { InputLabel } from '@/ui/input/components/InputLabel'; import { useId } from 'react'; -import { isDefined } from 'twenty-shared'; import { turnIntoEmptyStringIfWhitespacesOnly } from '~/utils/string/turnIntoEmptyStringIfWhitespacesOnly'; +import { isDefined } from 'twenty-shared/utils'; type FormRawJsonFieldInputProps = { label?: string; diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormSelectFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormSelectFieldInput.tsx index d9a746f29..3858e9a2c 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormSelectFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormSelectFieldInput.tsx @@ -18,8 +18,8 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useId, useState } from 'react'; import { Key } from 'ts-key-enum'; -import { isDefined } from 'twenty-shared'; import { IconChevronDown, VisibilityHidden } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; type FormSelectFieldInputProps = { label?: string; diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormTextFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormTextFieldInput.tsx index 1087ada0c..9510572c0 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormTextFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormTextFieldInput.tsx @@ -9,7 +9,7 @@ import { InputHint } from '@/ui/input/components/InputHint'; import { InputLabel } from '@/ui/input/components/InputLabel'; import { parseEditorContent } from '@/workflow/workflow-variables/utils/parseEditorContent'; import { useId } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type FormTextFieldInputProps = { label?: string; diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormUuidFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormUuidFieldInput.tsx index 9e7c36475..3ddf3d38e 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormUuidFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/FormUuidFieldInput.tsx @@ -8,7 +8,7 @@ import { InputLabel } from '@/ui/input/components/InputLabel'; import { isStandaloneVariableString } from '@/workflow/utils/isStandaloneVariableString'; import styled from '@emotion/styled'; import { useId, useState } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledInput = styled(TextInput)` padding: ${({ theme }) => `${theme.spacing(1)} ${theme.spacing(2)}`}; diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/VariableChip.tsx b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/VariableChip.tsx index 1fc18c8b4..d30ee1489 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/components/VariableChip.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/components/VariableChip.tsx @@ -6,8 +6,8 @@ import { css, useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useLingui } from '@lingui/react/macro'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { IconAlertTriangle, IconX } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledChip = styled.div<{ deletable: boolean; danger: boolean }>` background-color: ${({ theme, danger }) => diff --git a/packages/twenty-front/src/modules/object-record/record-field/form-types/hooks/useTextVariableEditor.ts b/packages/twenty-front/src/modules/object-record/record-field/form-types/hooks/useTextVariableEditor.ts index 5c9b80300..5c47dcd6b 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/form-types/hooks/useTextVariableEditor.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/form-types/hooks/useTextVariableEditor.ts @@ -7,7 +7,7 @@ import Paragraph from '@tiptap/extension-paragraph'; import { default as Placeholder } from '@tiptap/extension-placeholder'; import Text from '@tiptap/extension-text'; import { Editor, useEditor } from '@tiptap/react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type UseTextVariableEditorProps = { placeholder: string | undefined; diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldEmpty.ts b/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldEmpty.ts index 26d4ade28..f4213ee3e 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldEmpty.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldEmpty.ts @@ -2,9 +2,9 @@ import { useContext } from 'react'; import { isFieldValueEmpty } from '@/object-record/record-field/utils/isFieldValueEmpty'; import { useRecordFieldValue } from '@/object-record/record-store/contexts/RecordFieldValueSelectorContext'; -import { isDefined } from 'twenty-shared'; import { FieldContext } from '../contexts/FieldContext'; +import { isDefined } from 'twenty-shared/utils'; export const useIsFieldEmpty = () => { const { recordId, fieldDefinition, overridenIsFieldEmpty } = diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldValueReadOnly.ts b/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldValueReadOnly.ts index a9b8aa580..b83abf667 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldValueReadOnly.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldValueReadOnly.ts @@ -7,9 +7,9 @@ import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { useHasObjectReadOnlyPermission } from '@/settings/roles/hooks/useHasObjectReadOnlyPermission'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { FieldContext } from '../contexts/FieldContext'; import { isFieldValueReadOnly } from '../utils/isFieldValueReadOnly'; +import { isDefined } from 'twenty-shared/utils'; export const useIsFieldValueReadOnly = () => { const { fieldDefinition, recordId } = useContext(FieldContext); diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/useOpenFieldInputEditMode.ts b/packages/twenty-front/src/modules/object-record/record-field/hooks/useOpenFieldInputEditMode.ts index 7764b2ba5..d6679129c 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/useOpenFieldInputEditMode.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/useOpenFieldInputEditMode.ts @@ -4,7 +4,7 @@ import { FieldDefinition } from '@/object-record/record-field/types/FieldDefinit import { FieldMetadata } from '@/object-record/record-field/types/FieldMetadata'; import { isFieldRelationFromManyObjects } from '@/object-record/record-field/types/guards/isFieldRelationFromManyObjects'; import { isFieldRelationToOneObject } from '@/object-record/record-field/types/guards/isFieldRelationToOneObject'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useOpenFieldInputEditMode = () => { const { openRelationToOneFieldInput } = useOpenRelationToOneFieldInput(); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/ChipFieldDisplay.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/ChipFieldDisplay.tsx index 285c0217d..55e9307b5 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/ChipFieldDisplay.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/ChipFieldDisplay.tsx @@ -1,7 +1,7 @@ import { RecordChip } from '@/object-record/components/RecordChip'; import { useChipFieldDisplay } from '@/object-record/record-field/meta-types/hooks/useChipFieldDisplay'; -import { isDefined } from 'twenty-shared'; import { ChipSize } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const ChipFieldDisplay = () => { const { recordValue, objectNameSingular, labelIdentifierLink } = diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/JsonFieldDisplay.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/JsonFieldDisplay.tsx index f419651dc..49c772833 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/JsonFieldDisplay.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/JsonFieldDisplay.tsx @@ -1,6 +1,6 @@ import { useJsonFieldDisplay } from '@/object-record/record-field/meta-types/hooks/useJsonFieldDisplay'; import { JsonDisplay } from '@/ui/field/display/components/JsonDisplay'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const JsonFieldDisplay = () => { const { fieldValue, maxWidth } = useJsonFieldDisplay(); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/NumberFieldDisplay.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/NumberFieldDisplay.tsx index 74cb7e6c0..d024c2388 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/NumberFieldDisplay.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/NumberFieldDisplay.tsx @@ -1,7 +1,7 @@ import { useNumberFieldDisplay } from '@/object-record/record-field/meta-types/hooks/useNumberFieldDisplay'; import { NumberDisplay } from '@/ui/field/display/components/NumberDisplay'; -import { isDefined } from 'twenty-shared'; import { formatNumber } from '~/utils/format/number'; +import { isDefined } from 'twenty-shared/utils'; export const NumberFieldDisplay = () => { const { fieldValue, fieldDefinition } = useNumberFieldDisplay(); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/RelationFromManyFieldDisplay.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/RelationFromManyFieldDisplay.tsx index 337e2b445..6f70062c2 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/RelationFromManyFieldDisplay.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/RelationFromManyFieldDisplay.tsx @@ -6,7 +6,7 @@ import { RecordChip } from '@/object-record/components/RecordChip'; import { useFieldFocus } from '@/object-record/record-field/hooks/useFieldFocus'; import { useRelationFromManyFieldDisplay } from '@/object-record/record-field/meta-types/hooks/useRelationFromManyFieldDisplay'; import { ExpandableList } from '@/ui/layout/expandable-list/components/ExpandableList'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RelationFromManyFieldDisplay = () => { const { fieldValue, fieldDefinition } = useRelationFromManyFieldDisplay(); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/RelationToOneFieldDisplay.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/RelationToOneFieldDisplay.tsx index cec3be5b1..d1edf4c61 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/RelationToOneFieldDisplay.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/RelationToOneFieldDisplay.tsx @@ -1,7 +1,7 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { RecordChip } from '@/object-record/components/RecordChip'; import { useRelationToOneFieldDisplay } from '@/object-record/record-field/meta-types/hooks/useRelationToOneFieldDisplay'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RelationToOneFieldDisplay = () => { const { fieldValue, fieldDefinition, generateRecordChipData } = diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/SelectFieldDisplay.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/SelectFieldDisplay.tsx index ef0b1cd8f..1c7334fd4 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/SelectFieldDisplay.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/display/components/SelectFieldDisplay.tsx @@ -1,6 +1,6 @@ import { useSelectFieldDisplay } from '@/object-record/record-field/meta-types/hooks/useSelectFieldDisplay'; import { SelectDisplay } from '@/ui/field/display/components/SelectDisplay'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const SelectFieldDisplay = () => { const { fieldValue, fieldDefinition } = useSelectFieldDisplay(); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipFieldDisplay.ts index eceb8c155..9e1551679 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipFieldDisplay.ts @@ -6,10 +6,10 @@ import { isFieldFullName } from '@/object-record/record-field/types/guards/isFie import { isFieldNumber } from '@/object-record/record-field/types/guards/isFieldNumber'; import { isFieldText } from '@/object-record/record-field/types/guards/isFieldText'; import { useRecordValue } from '@/object-record/record-store/contexts/RecordFieldValueSelectorContext'; -import { isDefined } from 'twenty-shared'; import { isFieldActor } from '@/object-record/record-field/types/guards/isFieldActor'; import { FieldContext } from '../../contexts/FieldContext'; +import { isDefined } from 'twenty-shared/utils'; export const useChipFieldDisplay = () => { const { recordId, fieldDefinition, isLabelIdentifier, labelIdentifierLink } = diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationFromManyFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationFromManyFieldDisplay.ts index 42f851ff1..7b9f94ac6 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationFromManyFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationFromManyFieldDisplay.ts @@ -6,12 +6,12 @@ import { generateDefaultRecordChipData } from '@/object-metadata/utils/generateD import { useRecordFieldValue } from '@/object-record/record-store/contexts/RecordFieldValueSelectorContext'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { FIELD_EDIT_BUTTON_WIDTH } from '@/ui/field/display/constants/FieldEditButtonWidth'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { FieldContext } from '../../contexts/FieldContext'; import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldRelation } from '../../types/guards/isFieldRelation'; +import { isDefined } from 'twenty-shared/utils'; export const useRelationFromManyFieldDisplay = () => { const { recordId, fieldDefinition, maxWidth } = useContext(FieldContext); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationToOneFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationToOneFieldDisplay.ts index d40fb7a28..3adbd6d02 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationToOneFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationToOneFieldDisplay.ts @@ -5,13 +5,13 @@ import { PreComputedChipGeneratorsContext } from '@/object-metadata/contexts/Pre import { useRecordFieldValue } from '@/object-record/record-store/contexts/RecordFieldValueSelectorContext'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { FIELD_EDIT_BUTTON_WIDTH } from '@/ui/field/display/constants/FieldEditButtonWidth'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { generateDefaultRecordChipData } from '@/object-metadata/utils/generateDefaultRecordChipData'; import { FieldContext } from '../../contexts/FieldContext'; import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldRelation } from '../../types/guards/isFieldRelation'; +import { isDefined } from 'twenty-shared/utils'; export const useRelationToOneFieldDisplay = () => { const { recordId, fieldDefinition, maxWidth } = useContext(FieldContext); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/DateFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/DateFieldInput.tsx index 2fe5ef63b..1f498b385 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/DateFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/DateFieldInput.tsx @@ -2,10 +2,10 @@ import { Nullable } from 'twenty-ui'; import { useDateField } from '@/object-record/record-field/meta-types/hooks/useDateField'; import { DateInput } from '@/ui/field/input/components/DateInput'; -import { isDefined } from 'twenty-shared'; import { FieldInputClickOutsideEvent } from '@/object-record/record-field/meta-types/input/components/DateTimeFieldInput'; import { usePersistField } from '../../../hooks/usePersistField'; +import { isDefined } from 'twenty-shared/utils'; type FieldInputEvent = (persist: () => void) => void; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/EmailsFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/EmailsFieldInput.tsx index 639e96cb4..50e0df661 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/EmailsFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/EmailsFieldInput.tsx @@ -4,9 +4,9 @@ import { recordFieldInputIsFieldInErrorComponentState } from '@/object-record/re import { emailSchema } from '@/object-record/record-field/validation-schemas/emailSchema'; import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { useCallback, useMemo } from 'react'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { MultiItemFieldInput } from './MultiItemFieldInput'; +import { isDefined } from 'twenty-shared/utils'; type EmailsFieldInputProps = { onCancel?: () => void; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/LinksFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/LinksFieldInput.tsx index bafa43d05..ff826f59e 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/LinksFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/LinksFieldInput.tsx @@ -3,9 +3,9 @@ import { LinksFieldMenuItem } from '@/object-record/record-field/meta-types/inpu import { recordFieldInputIsFieldInErrorComponentState } from '@/object-record/record-field/states/recordFieldInputIsFieldInErrorComponentState'; import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { useMemo } from 'react'; -import { absoluteUrlSchema, isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { MultiItemFieldInput } from './MultiItemFieldInput'; +import { absoluteUrlSchema, isDefined } from 'twenty-shared/utils'; type LinksFieldInputProps = { onCancel?: () => void; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/SelectFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/SelectFieldInput.tsx index df4b17864..b682af500 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/SelectFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/SelectFieldInput.tsx @@ -8,7 +8,7 @@ import { useSelectableList } from '@/ui/layout/selectable-list/hooks/useSelectab import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; import { useState } from 'react'; import { Key } from 'ts-key-enum'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type SelectFieldInputProps = { onSubmit?: FieldInputEvent; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RatingFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RatingFieldInput.stories.tsx index d1c617cfb..8dece8cab 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RatingFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RatingFieldInput.stories.tsx @@ -3,7 +3,6 @@ import { expect, fn, userEvent, waitFor, within } from '@storybook/test'; import { useEffect } from 'react'; import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { FieldContextProvider } from '@/object-record/record-field/meta-types/components/FieldContextProvider'; @@ -12,6 +11,7 @@ import { getRecordFieldInputId } from '@/object-record/utils/getRecordFieldInput import { FieldRatingValue } from '../../../../types/FieldMetadata'; import { useRatingField } from '../../../hooks/useRatingField'; import { RatingFieldInput, RatingFieldInputProps } from '../RatingFieldInput'; +import { isDefined } from 'twenty-shared/utils'; const RatingFieldValueSetterEffect = ({ value, diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationFromManyFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationFromManyFieldInput.stories.tsx index 031d44965..d6bacbf11 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationFromManyFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationFromManyFieldInput.stories.tsx @@ -20,8 +20,8 @@ import { useOpenFieldInputEditMode } from '@/object-record/record-field/hooks/us import { FieldContextProvider } from '@/object-record/record-field/meta-types/components/FieldContextProvider'; import { RecordFieldComponentInstanceContext } from '@/object-record/record-field/states/contexts/RecordFieldComponentInstanceContext'; import { recordStoreFamilySelector } from '@/object-record/record-store/states/selectors/recordStoreFamilySelector'; -import { FieldMetadataType } from 'twenty-shared'; import { RelationDefinitionType } from '~/generated-metadata/graphql'; +import { FieldMetadataType } from 'twenty-shared/types'; const RelationWorkspaceSetterEffect = () => { const setCurrentWorkspace = useSetRecoilState(currentWorkspaceState); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useAddNewRecordAndOpenRightDrawer.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useAddNewRecordAndOpenRightDrawer.ts index e134072e9..79433f5ad 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useAddNewRecordAndOpenRightDrawer.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useAddNewRecordAndOpenRightDrawer.ts @@ -9,11 +9,11 @@ import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord'; import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { viewableRecordIdState } from '@/object-record/record-right-drawer/states/viewableRecordIdState'; import { viewableRecordNameSingularState } from '@/object-record/record-right-drawer/states/viewableRecordNameSingularState'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType, RelationDefinitionType, } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; type RecordDetailRelationSectionProps = { relationObjectMetadataNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useOpenRelationToOneFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useOpenRelationToOneFieldInput.tsx index 567fbb919..7782a6e0e 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useOpenRelationToOneFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useOpenRelationToOneFieldInput.tsx @@ -5,7 +5,7 @@ import { import { singleRecordPickerSelectedIdComponentState } from '@/object-record/record-picker/single-record-picker/states/singleRecordPickerSelectedIdComponentState'; import { recordStoreFamilySelector } from '@/object-record/record-store/states/selectors/recordStoreFamilySelector'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useOpenRelationToOneFieldInput = () => { const openRelationToOneFieldInput = useRecoilCallback( diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useRegisterInputEvents.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useRegisterInputEvents.ts index 2def31437..2f250506c 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useRegisterInputEvents.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/hooks/useRegisterInputEvents.ts @@ -2,7 +2,7 @@ import { Key } from 'ts-key-enum'; import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useRegisterInputEvents = ({ inputRef, diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/utils/phonesUtils.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/utils/phonesUtils.ts index 74a2e2a68..a544fcbe4 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/utils/phonesUtils.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/utils/phonesUtils.ts @@ -1,5 +1,5 @@ import { FieldPhonesValue } from '@/object-record/record-field/types/FieldMetadata'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const createPhonesFromFieldValue = (fieldValue: FieldPhonesValue) => { return !isDefined(fieldValue) diff --git a/packages/twenty-front/src/modules/object-record/record-field/types/FieldMetadata.ts b/packages/twenty-front/src/modules/object-record/record-field/types/FieldMetadata.ts index 75a139933..6e88ca9c3 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/types/FieldMetadata.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/types/FieldMetadata.ts @@ -3,10 +3,11 @@ import { ThemeColor } from 'twenty-ui'; import { RATING_VALUES } from '@/object-record/record-field/meta-types/constants/RatingValues'; import { ZodHelperLiteral } from '@/object-record/record-field/types/ZodHelperLiteral'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { ConnectedAccountProvider } from 'twenty-shared'; import * as z from 'zod'; import { RelationDefinitionType } from '~/generated-metadata/graphql'; import { CurrencyCode } from './CurrencyCode'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; + export type FieldUuidMetadata = { objectMetadataNameSingular?: string; fieldName: string; diff --git a/packages/twenty-front/src/modules/object-record/record-field/types/guards/isFieldLinksValue.ts b/packages/twenty-front/src/modules/object-record/record-field/types/guards/isFieldLinksValue.ts index da88be839..87be4c89a 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/types/guards/isFieldLinksValue.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/types/guards/isFieldLinksValue.ts @@ -1,7 +1,6 @@ import { z } from 'zod'; - -import { absoluteUrlSchema } from 'twenty-shared'; import { FieldLinksValue } from '../FieldMetadata'; +import { absoluteUrlSchema } from 'twenty-shared/utils'; export const linksSchema = z.object({ primaryLinkLabel: z.string(), diff --git a/packages/twenty-front/src/modules/object-record/record-field/utils/computeDraftValueFromFieldValue.ts b/packages/twenty-front/src/modules/object-record/record-field/utils/computeDraftValueFromFieldValue.ts index ac37b470e..9ad72866a 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/utils/computeDraftValueFromFieldValue.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/utils/computeDraftValueFromFieldValue.ts @@ -12,9 +12,9 @@ import { isFieldRawJsonValue } from '@/object-record/record-field/types/guards/i import { isFieldRelation } from '@/object-record/record-field/types/guards/isFieldRelation'; import { computeEmptyDraftValue } from '@/object-record/record-field/utils/computeEmptyDraftValue'; import { isFieldValueEmpty } from '@/object-record/record-field/utils/isFieldValueEmpty'; -import { isDefined } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; import { stripSimpleQuotesFromString } from '~/utils/string/stripSimpleQuotesFromString'; +import { isDefined } from 'twenty-shared/utils'; type computeDraftValueFromFieldValueParams = { fieldDefinition: Pick, 'type' | 'metadata'>; diff --git a/packages/twenty-front/src/modules/object-record/record-field/utils/isFieldValueEmpty.ts b/packages/twenty-front/src/modules/object-record/record-field/utils/isFieldValueEmpty.ts index b183d8d49..8492625c9 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/utils/isFieldValueEmpty.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/utils/isFieldValueEmpty.ts @@ -36,8 +36,8 @@ import { isFieldSelectValue } from '@/object-record/record-field/types/guards/is import { isFieldText } from '@/object-record/record-field/types/guards/isFieldText'; import { isFieldTsVector } from '@/object-record/record-field/types/guards/isFieldTsVectorValue'; import { isFieldUuid } from '@/object-record/record-field/types/guards/isFieldUuid'; -import { isDefined } from 'twenty-shared'; import { stripSimpleQuotesFromString } from '~/utils/string/stripSimpleQuotesFromString'; +import { isDefined } from 'twenty-shared/utils'; const isValueEmpty = (value: unknown) => !isDefined(value) || diff --git a/packages/twenty-front/src/modules/object-record/record-field/utils/isFieldValueReadOnly.ts b/packages/twenty-front/src/modules/object-record/record-field/utils/isFieldValueReadOnly.ts index acaa33b72..443d344f0 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/utils/isFieldValueReadOnly.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/utils/isFieldValueReadOnly.ts @@ -4,8 +4,8 @@ import { isWorkflowSubObjectMetadata } from '@/object-metadata/utils/isWorkflowS import { isFieldActor } from '@/object-record/record-field/types/guards/isFieldActor'; import { isFieldRichText } from '@/object-record/record-field/types/guards/isFieldRichText'; import { isFieldRichTextV2 } from '@/object-record/record-field/types/guards/isFieldRichTextV2'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; type isFieldValueReadOnlyParams = { objectNameSingular?: string; diff --git a/packages/twenty-front/src/modules/object-record/record-filter-group/hooks/useRemoveRootRecordFilterGroupIfEmpty.ts b/packages/twenty-front/src/modules/object-record/record-filter-group/hooks/useRemoveRootRecordFilterGroupIfEmpty.ts index d7fed5bc4..18d85c472 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter-group/hooks/useRemoveRootRecordFilterGroupIfEmpty.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter-group/hooks/useRemoveRootRecordFilterGroupIfEmpty.ts @@ -4,7 +4,7 @@ import { currentRecordFiltersComponentState } from '@/object-record/record-filte import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; import { getSnapshotValue } from '@/ui/utilities/state/utils/getSnapshotValue'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useRemoveRootRecordFilterGroupIfEmpty = () => { const currentRecordFilterGroupsCallbackState = diff --git a/packages/twenty-front/src/modules/object-record/record-filter/hooks/useApplyRecordFilter.ts b/packages/twenty-front/src/modules/object-record/record-filter/hooks/useApplyRecordFilter.ts index 57f99a7a1..5fabc9cbf 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter/hooks/useApplyRecordFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter/hooks/useApplyRecordFilter.ts @@ -4,7 +4,7 @@ import { RecordFilter } from '@/object-record/record-filter/types/RecordFilter'; import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useApplyRecordFilter = (componentInstanceId?: string) => { const selectedFilterCallbackState = useRecoilComponentCallbackStateV2( diff --git a/packages/twenty-front/src/modules/object-record/record-filter/hooks/useCheckIsSoftDeleteFilter.ts b/packages/twenty-front/src/modules/object-record/record-filter/hooks/useCheckIsSoftDeleteFilter.ts index ab4a618e6..87eda85c9 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter/hooks/useCheckIsSoftDeleteFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter/hooks/useCheckIsSoftDeleteFilter.ts @@ -3,7 +3,7 @@ import { RecordFilter } from '@/object-record/record-filter/types/RecordFilter'; import { RecordFilterOperand } from '@/object-record/record-filter/types/RecordFilterOperand'; import { isSoftDeleteFilterActiveComponentState } from '@/object-record/record-table/states/isSoftDeleteFilterActiveComponentState'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useCheckIsSoftDeleteFilter = () => { const { objectMetadataItems } = useObjectMetadataItems(); diff --git a/packages/twenty-front/src/modules/object-record/record-filter/utils/computeViewRecordGqlOperationFilter.ts b/packages/twenty-front/src/modules/object-record/record-filter/utils/computeViewRecordGqlOperationFilter.ts index 5a1f39766..755ce536d 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter/utils/computeViewRecordGqlOperationFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter/utils/computeViewRecordGqlOperationFilter.ts @@ -18,7 +18,6 @@ import { SelectFilter, StringFilter, } from '@/object-record/graphql/types/RecordGqlOperationFilter'; -import { isDefined } from 'twenty-shared'; import { Field } from '~/generated/graphql'; import { generateILikeFiltersForCompositeFields } from '~/utils/array/generateILikeFiltersForCompositeFields'; @@ -43,6 +42,7 @@ import { z } from 'zod'; import { RecordFilterGroup } from '@/object-record/record-filter-group/types/RecordFilterGroup'; import { RecordFilterGroupLogicalOperator } from '@/object-record/record-filter-group/types/RecordFilterGroupLogicalOperator'; import { FilterableFieldType } from '@/object-record/record-filter/types/FilterableFieldType'; +import { isDefined } from 'twenty-shared/utils'; type ComputeFilterRecordGqlOperationFilterParams = { filterValueDependencies: RecordFilterValueDependencies; diff --git a/packages/twenty-front/src/modules/object-record/record-filter/utils/findDuplicateRecordFilterInNonAdvancedRecordFilters.ts b/packages/twenty-front/src/modules/object-record/record-filter/utils/findDuplicateRecordFilterInNonAdvancedRecordFilters.ts index 17f529935..823652999 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter/utils/findDuplicateRecordFilterInNonAdvancedRecordFilters.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter/utils/findDuplicateRecordFilterInNonAdvancedRecordFilters.ts @@ -1,6 +1,6 @@ import { RecordFilter } from '@/object-record/record-filter/types/RecordFilter'; -import { isDefined } from 'twenty-shared'; import { compareStrictlyExceptForNullAndUndefined } from '~/utils/compareStrictlyExceptForNullAndUndefined'; +import { isDefined } from 'twenty-shared/utils'; export const findDuplicateRecordFilterInNonAdvancedRecordFilters = ({ recordFilters, diff --git a/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts b/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts index d81da8406..fd05fad3e 100644 --- a/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-filter/utils/isRecordMatchingFilter.ts @@ -38,9 +38,9 @@ import { isMatchingRichTextV2Filter } from '@/object-record/record-filter/utils/ import { isMatchingSelectFilter } from '@/object-record/record-filter/utils/isMatchingSelectFilter'; import { isMatchingStringFilter } from '@/object-record/record-filter/utils/isMatchingStringFilter'; import { isMatchingUUIDFilter } from '@/object-record/record-filter/utils/isMatchingUUIDFilter'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { isEmptyObject } from '~/utils/isEmptyObject'; +import { isDefined } from 'twenty-shared/utils'; const isLeafFilter = ( filter: RecordGqlOperationFilter, diff --git a/packages/twenty-front/src/modules/object-record/record-group/components/RecordGroupMenuItemDraggable.tsx b/packages/twenty-front/src/modules/object-record/record-group/components/RecordGroupMenuItemDraggable.tsx index 1278d40ca..5f3a4c04f 100644 --- a/packages/twenty-front/src/modules/object-record/record-group/components/RecordGroupMenuItemDraggable.tsx +++ b/packages/twenty-front/src/modules/object-record/record-group/components/RecordGroupMenuItemDraggable.tsx @@ -6,7 +6,7 @@ import { RecordGroupDefinitionType, } from '@/object-record/record-group/types/RecordGroupDefinition'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type RecordGroupMenuItemDraggableProps = { recordGroupId: string; diff --git a/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupActions.ts b/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupActions.ts index 4bd5c9150..86ac25e5b 100644 --- a/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupActions.ts +++ b/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupActions.ts @@ -12,10 +12,10 @@ import { ViewType } from '@/views/types/ViewType'; import { useCallback, useContext } from 'react'; import { useLocation } from 'react-router-dom'; import { useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { IconEyeOff, IconSettings } from 'twenty-ui'; import { SettingsPermissions } from '~/generated/graphql'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; +import { isDefined } from 'twenty-shared/utils'; type UseRecordGroupActionsParams = { viewType: ViewType; diff --git a/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupFilter.ts b/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupFilter.ts index 0a6d4a7b0..b65660a44 100644 --- a/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupFilter.ts @@ -1,7 +1,7 @@ import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { useCurrentRecordGroupDefinition } from '@/object-record/record-group/hooks/useCurrentRecordGroupDefinition'; import { useMemo } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useRecordGroupFilter = (fields: FieldMetadataItem[]) => { const currentRecordGroupDefinition = useCurrentRecordGroupDefinition(); diff --git a/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupReorder.ts b/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupReorder.ts index ba98c1b2b..3ac521f79 100644 --- a/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupReorder.ts +++ b/packages/twenty-front/src/modules/object-record/record-group/hooks/useRecordGroupReorder.ts @@ -11,9 +11,9 @@ import { useSaveCurrentViewGroups } from '@/views/hooks/useSaveCurrentViewGroups import { ViewType } from '@/views/types/ViewType'; import { mapRecordGroupDefinitionsToViewGroups } from '@/views/utils/mapRecordGroupDefinitionsToViewGroups'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { moveArrayItem } from '~/utils/array/moveArrayItem'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { isDefined } from 'twenty-shared/utils'; type UseRecordGroupHandlersParams = { viewBarId: string; diff --git a/packages/twenty-front/src/modules/object-record/record-group/hooks/useSetRecordGroups.ts b/packages/twenty-front/src/modules/object-record/record-group/hooks/useSetRecordGroups.ts index cc2a74300..b7fb20e25 100644 --- a/packages/twenty-front/src/modules/object-record/record-group/hooks/useSetRecordGroups.ts +++ b/packages/twenty-front/src/modules/object-record/record-group/hooks/useSetRecordGroups.ts @@ -10,8 +10,8 @@ import { ViewGroup } from '@/views/types/ViewGroup'; import { mapViewGroupsToRecordGroupDefinitions } from '@/views/utils/mapViewGroupsToRecordGroupDefinitions'; import { useCallback } from 'react'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { isDefined } from 'twenty-shared/utils'; export const useSetRecordGroups = () => { const setRecordGroups = useRecoilCallback( diff --git a/packages/twenty-front/src/modules/object-record/record-group/states/selectors/availableRecordGroupIdsComponentSelector.ts b/packages/twenty-front/src/modules/object-record/record-group/states/selectors/availableRecordGroupIdsComponentSelector.ts index 437a40f87..dd52ca97b 100644 --- a/packages/twenty-front/src/modules/object-record/record-group/states/selectors/availableRecordGroupIdsComponentSelector.ts +++ b/packages/twenty-front/src/modules/object-record/record-group/states/selectors/availableRecordGroupIdsComponentSelector.ts @@ -8,7 +8,7 @@ import { recordGroupSortedInsert } from '@/object-record/record-group/utils/reco import { createComponentSelectorV2 } from '@/ui/utilities/state/component-state/utils/createComponentSelectorV2'; import { ViewComponentInstanceContext } from '@/views/states/contexts/ViewComponentInstanceContext'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const availableRecordGroupIdsComponentSelector = createComponentSelectorV2({ diff --git a/packages/twenty-front/src/modules/object-record/record-group/states/selectors/hiddenRecordGroupIdsComponentSelector.ts b/packages/twenty-front/src/modules/object-record/record-group/states/selectors/hiddenRecordGroupIdsComponentSelector.ts index 290c566ff..0d9abad20 100644 --- a/packages/twenty-front/src/modules/object-record/record-group/states/selectors/hiddenRecordGroupIdsComponentSelector.ts +++ b/packages/twenty-front/src/modules/object-record/record-group/states/selectors/hiddenRecordGroupIdsComponentSelector.ts @@ -4,7 +4,7 @@ import { RecordGroupDefinition } from '@/object-record/record-group/types/Record import { createComponentSelectorV2 } from '@/ui/utilities/state/component-state/utils/createComponentSelectorV2'; import { ViewComponentInstanceContext } from '@/views/states/contexts/ViewComponentInstanceContext'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const hiddenRecordGroupIdsComponentSelector = createComponentSelectorV2< RecordGroupDefinition['id'][] diff --git a/packages/twenty-front/src/modules/object-record/record-group/states/selectors/recordGroupDefinitionsComponentSelector.ts b/packages/twenty-front/src/modules/object-record/record-group/states/selectors/recordGroupDefinitionsComponentSelector.ts index b5dae8bc1..385cae855 100644 --- a/packages/twenty-front/src/modules/object-record/record-group/states/selectors/recordGroupDefinitionsComponentSelector.ts +++ b/packages/twenty-front/src/modules/object-record/record-group/states/selectors/recordGroupDefinitionsComponentSelector.ts @@ -4,7 +4,7 @@ import { RecordGroupDefinition } from '@/object-record/record-group/types/Record import { createComponentSelectorV2 } from '@/ui/utilities/state/component-state/utils/createComponentSelectorV2'; import { ViewComponentInstanceContext } from '@/views/states/contexts/ViewComponentInstanceContext'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const recordGroupDefinitionsComponentSelector = createComponentSelectorV2({ diff --git a/packages/twenty-front/src/modules/object-record/record-group/states/selectors/visibleRecordGroupIdsComponentFamilySelector.ts b/packages/twenty-front/src/modules/object-record/record-group/states/selectors/visibleRecordGroupIdsComponentFamilySelector.ts index 76baff77f..bebdf6311 100644 --- a/packages/twenty-front/src/modules/object-record/record-group/states/selectors/visibleRecordGroupIdsComponentFamilySelector.ts +++ b/packages/twenty-front/src/modules/object-record/record-group/states/selectors/visibleRecordGroupIdsComponentFamilySelector.ts @@ -10,7 +10,7 @@ import { createComponentFamilySelectorV2 } from '@/ui/utilities/state/component- import { ViewComponentInstanceContext } from '@/views/states/contexts/ViewComponentInstanceContext'; import { ViewType } from '@/views/types/ViewType'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const visibleRecordGroupIdsComponentFamilySelector = createComponentFamilySelectorV2({ diff --git a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexContainerGater.tsx b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexContainerGater.tsx index 19a803b6e..4c928d20a 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexContainerGater.tsx +++ b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexContainerGater.tsx @@ -21,7 +21,7 @@ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/ import { ViewComponentInstanceContext } from '@/views/states/contexts/ViewComponentInstanceContext'; import styled from '@emotion/styled'; import { useRecoilCallback } from 'recoil'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; const StyledIndexContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexLoadBaseOnContextStoreEffect.tsx b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexLoadBaseOnContextStoreEffect.tsx index dc6ce2dfb..21a28d156 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexLoadBaseOnContextStoreEffect.tsx +++ b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexLoadBaseOnContextStoreEffect.tsx @@ -5,7 +5,7 @@ import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useEffect, useState } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RecordIndexLoadBaseOnContextStoreEffect = () => { const { loadRecordIndexStates } = useLoadRecordIndexStates(); diff --git a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageHeader.tsx b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageHeader.tsx index 7a0fcc1f9..fdc97a853 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageHeader.tsx +++ b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageHeader.tsx @@ -3,8 +3,8 @@ import { useFilteredObjectMetadataItems } from '@/object-metadata/hooks/useFilte import { useRecordIndexContextOrThrow } from '@/object-record/record-index/contexts/RecordIndexContext'; import { PageHeaderOpenCommandMenuButton } from '@/ui/layout/page-header/components/PageHeaderOpenCommandMenuButton'; import { PageHeader } from '@/ui/layout/page/components/PageHeader'; -import { capitalize } from 'twenty-shared'; import { useIcons } from 'twenty-ui'; +import { capitalize } from 'twenty-shared/utils'; export const RecordIndexPageHeader = () => { const { findObjectMetadataItemByNamePlural } = diff --git a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageKanbanAddMenuItem.tsx b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageKanbanAddMenuItem.tsx index ad4de00f2..9ddf2a8fc 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageKanbanAddMenuItem.tsx +++ b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexPageKanbanAddMenuItem.tsx @@ -2,8 +2,8 @@ import { recordGroupDefinitionFamilyState } from '@/object-record/record-group/s import { RecordGroupDefinitionType } from '@/object-record/record-group/types/RecordGroupDefinition'; import styled from '@emotion/styled'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { MenuItem, Tag } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledMenuItem = styled(MenuItem)` width: calc(100% - 2 * var(--horizontal-padding)); diff --git a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexTableContainerEffect.tsx b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexTableContainerEffect.tsx index 1edaf1051..2a9a80d38 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexTableContainerEffect.tsx +++ b/packages/twenty-front/src/modules/object-record/record-index/components/RecordIndexTableContainerEffect.tsx @@ -11,7 +11,7 @@ import { convertAggregateOperationToExtendedAggregateOperation } from '@/object- import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly'; import { ViewField } from '@/views/types/ViewField'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RecordIndexTableContainerEffect = () => { const { recordIndexId, objectNameSingular } = useRecordIndexContextOrThrow(); diff --git a/packages/twenty-front/src/modules/object-record/record-index/export/hooks/useExportProcessRecordsForCSV.ts b/packages/twenty-front/src/modules/object-record/record-index/export/hooks/useExportProcessRecordsForCSV.ts index 9dd14c5e5..8cd6b2aab 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/export/hooks/useExportProcessRecordsForCSV.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/export/hooks/useExportProcessRecordsForCSV.ts @@ -1,9 +1,9 @@ import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { FieldCurrencyValue } from '@/object-record/record-field/types/FieldMetadata'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { convertCurrencyMicrosToCurrencyAmount } from '~/utils/convertCurrencyToCurrencyMicros'; +import { isDefined } from 'twenty-shared/utils'; export const useExportProcessRecordsForCSV = (objectNameSingular: string) => { const { objectMetadataItem } = useObjectMetadataItem({ diff --git a/packages/twenty-front/src/modules/object-record/record-index/export/hooks/useExportRecords.ts b/packages/twenty-front/src/modules/object-record/record-index/export/hooks/useExportRecords.ts index 1a37d6bac..a2e652630 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/export/hooks/useExportRecords.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/export/hooks/useExportRecords.ts @@ -12,10 +12,10 @@ import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefin import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { t } from '@lingui/core/macro'; import { saveAs } from 'file-saver'; -import { isDefined } from 'twenty-shared'; import { RelationDefinitionType } from '~/generated-metadata/graphql'; import { FieldMetadataType } from '~/generated/graphql'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; type GenerateExportOptions = { columns: ColumnDefinition[]; diff --git a/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleColumnFilter.ts b/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleColumnFilter.ts index 72948b4c7..d7f96b4e1 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleColumnFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleColumnFilter.ts @@ -18,7 +18,7 @@ import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousH import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { extractComponentState } from '@/ui/utilities/state/component-state/utils/extractComponentState'; import { useRecoilCallback, useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type UseHandleToggleColumnFilterProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleColumnSort.ts b/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleColumnSort.ts index 8020a60a1..d61e06351 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleColumnSort.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleColumnSort.ts @@ -4,8 +4,8 @@ import { useColumnDefinitionsFromFieldMetadata } from '@/object-metadata/hooks/u import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; import { useUpsertRecordSort } from '@/object-record/record-sort/hooks/useUpsertRecordSort'; import { RecordSort } from '@/object-record/record-sort/types/RecordSort'; -import { isDefined } from 'twenty-shared'; import { v4 } from 'uuid'; +import { isDefined } from 'twenty-shared/utils'; type UseHandleToggleColumnSortProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleTrashColumnFilter.ts b/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleTrashColumnFilter.ts index 3eb92f058..60c8cd54b 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleTrashColumnFilter.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/hooks/useHandleToggleTrashColumnFilter.ts @@ -11,7 +11,7 @@ import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/componen import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type UseHandleToggleTrashColumnFilterProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/record-index/hooks/useLazyLoadRecordIndexTable.ts b/packages/twenty-front/src/modules/object-record/record-index/hooks/useLazyLoadRecordIndexTable.ts index d9bcdb7b4..4d66d54d6 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/hooks/useLazyLoadRecordIndexTable.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/hooks/useLazyLoadRecordIndexTable.ts @@ -7,7 +7,7 @@ import { useFindManyRecordIndexTableParams } from '@/object-record/record-index/ import { useRecordTableRecordGqlFields } from '@/object-record/record-index/hooks/useRecordTableRecordGqlFields'; import { useRecordTable } from '@/object-record/record-table/hooks/useRecordTable'; import { SIGN_IN_BACKGROUND_MOCK_COMPANIES } from '@/sign-in-background-mock/constants/SignInBackgroundMockCompanies'; -import { isWorkspaceActiveOrSuspended } from 'twenty-shared'; +import { isWorkspaceActiveOrSuspended } from 'twenty-shared/workspace'; export const useLazyLoadRecordIndexTable = (objectNameSingular: string) => { const { objectMetadataItem } = useObjectMetadataItem({ diff --git a/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexBoardColumn.ts b/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexBoardColumn.ts index d857365ca..cef259962 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexBoardColumn.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexBoardColumn.ts @@ -15,7 +15,7 @@ import { useRecordBoardRecordGqlFields } from '@/object-record/record-index/hook import { currentRecordSortsComponentState } from '@/object-record/record-sort/states/currentRecordSortsComponentState'; import { useUpsertRecordsInStore } from '@/object-record/record-store/hooks/useUpsertRecordsInStore'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type UseLoadRecordIndexBoardProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexStates.ts b/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexStates.ts index df8b3118f..44f8c5487 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexStates.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/hooks/useLoadRecordIndexStates.ts @@ -23,8 +23,8 @@ import { ViewField } from '@/views/types/ViewField'; import { mapViewFieldsToColumnDefinitions } from '@/views/utils/mapViewFieldsToColumnDefinitions'; import { mapViewFiltersToFilters } from '@/views/utils/mapViewFiltersToFilters'; import { useRecoilCallback, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { isDefined } from 'twenty-shared/utils'; export const useLoadRecordIndexStates = () => { const setContextStoreTargetedRecordsRuleComponentState = diff --git a/packages/twenty-front/src/modules/object-record/record-index/hooks/useRecordBoardRecordGqlFields.ts b/packages/twenty-front/src/modules/object-record/record-index/hooks/useRecordBoardRecordGqlFields.ts index 325db3b64..d7f5e70fc 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/hooks/useRecordBoardRecordGqlFields.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/hooks/useRecordBoardRecordGqlFields.ts @@ -7,7 +7,7 @@ import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/g import { recordBoardVisibleFieldDefinitionsComponentSelector } from '@/object-record/record-board/states/selectors/recordBoardVisibleFieldDefinitionsComponentSelector'; import { recordGroupFieldMetadataComponentState } from '@/object-record/record-group/states/recordGroupFieldMetadataComponentState'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useRecordBoardRecordGqlFields = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-record/record-index/hooks/useRecordTableRecordGqlFields.ts b/packages/twenty-front/src/modules/object-record/record-index/hooks/useRecordTableRecordGqlFields.ts index 4604b54a2..fcb9092cb 100644 --- a/packages/twenty-front/src/modules/object-record/record-index/hooks/useRecordTableRecordGqlFields.ts +++ b/packages/twenty-front/src/modules/object-record/record-index/hooks/useRecordTableRecordGqlFields.ts @@ -5,7 +5,7 @@ import { getObjectMetadataIdentifierFields } from '@/object-metadata/utils/getOb import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields'; import { visibleTableColumnsComponentSelector } from '@/object-record/record-table/states/selectors/visibleTableColumnsComponentSelector'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useRecordTableRecordGqlFields = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-record/record-inline-cell/hooks/useInlineCell.ts b/packages/twenty-front/src/modules/object-record/record-inline-cell/hooks/useInlineCell.ts index 88ff38626..74884407b 100644 --- a/packages/twenty-front/src/modules/object-record/record-inline-cell/hooks/useInlineCell.ts +++ b/packages/twenty-front/src/modules/object-record/record-inline-cell/hooks/useInlineCell.ts @@ -3,7 +3,6 @@ import { useRecoilState } from 'recoil'; import { FieldContext } from '@/object-record/record-field/contexts/FieldContext'; import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousHotkeyScope'; -import { isDefined } from 'twenty-shared'; import { useInitDraftValueV2 } from '@/object-record/record-field/hooks/useInitDraftValueV2'; import { RecordFieldComponentInstanceContext } from '@/object-record/record-field/states/contexts/RecordFieldComponentInstanceContext'; @@ -14,6 +13,7 @@ import { useSetActiveDropdownFocusIdAndMemorizePrevious } from '@/ui/layout/drop import { useAvailableComponentInstanceIdOrThrow } from '@/ui/utilities/state/component-state/hooks/useAvailableComponentInstanceIdOrThrow'; import { isInlineCellInEditModeScopedState } from '../states/isInlineCellInEditModeScopedState'; import { InlineCellHotkeyScope } from '../types/InlineCellHotkeyScope'; +import { isDefined } from 'twenty-shared/utils'; export const useInlineCell = ( recordFieldComponentInstanceIdFromProps?: string, diff --git a/packages/twenty-front/src/modules/object-record/record-picker/hooks/useRecordPickerGetSearchRecordAndObjectMetadataItemFromRecordId.ts b/packages/twenty-front/src/modules/object-record/record-picker/hooks/useRecordPickerGetSearchRecordAndObjectMetadataItemFromRecordId.ts index 223d80f1e..18183cec8 100644 --- a/packages/twenty-front/src/modules/object-record/record-picker/hooks/useRecordPickerGetSearchRecordAndObjectMetadataItemFromRecordId.ts +++ b/packages/twenty-front/src/modules/object-record/record-picker/hooks/useRecordPickerGetSearchRecordAndObjectMetadataItemFromRecordId.ts @@ -2,7 +2,7 @@ import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadat import { searchRecordStoreComponentFamilyState } from '@/object-record/record-picker/multiple-record-picker/states/searchRecordStoreComponentFamilyState'; import { multipleRecordPickerSinglePickableMorphItemComponentFamilySelector } from '@/object-record/record-picker/multiple-record-picker/states/selectors/multipleRecordPickerSinglePickableMorphItemComponentFamilySelector'; import { useRecoilComponentFamilyValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyValueV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type UseRecordPickerGetRecordAndObjectMetadataItemFromRecordIdProps = { recordId: string; diff --git a/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPicker.tsx b/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPicker.tsx index 298adb56a..ea246c820 100644 --- a/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPicker.tsx +++ b/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPicker.tsx @@ -25,8 +25,8 @@ import styled from '@emotion/styled'; import { useRef } from 'react'; import { useRecoilCallback } from 'recoil'; import { Key } from 'ts-key-enum'; -import { isDefined } from 'twenty-shared'; import { IconPlus } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const StyledSelectableItem = styled(SelectableItem)` height: 100%; diff --git a/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPickerMenuItem.tsx b/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPickerMenuItem.tsx index 4ebea4114..fdeae6e97 100644 --- a/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPickerMenuItem.tsx +++ b/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPickerMenuItem.tsx @@ -4,7 +4,7 @@ import { useRecordPickerGetSearchRecordAndObjectMetadataItemFromRecordId } from import { MultipleRecordPickerMenuItemContent } from '@/object-record/record-picker/multiple-record-picker/components/MultipleRecordPickerMenuItemContent'; import { RecordPickerPickableMorphItem } from '@/object-record/record-picker/types/RecordPickerPickableMorphItem'; import { SelectableItem } from '@/ui/layout/selectable-list/components/SelectableItem'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const StyledSelectableItem = styled(SelectableItem)` height: 100%; diff --git a/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPickerMenuItems.tsx b/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPickerMenuItems.tsx index 9d23d08f0..a391fafdb 100644 --- a/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPickerMenuItems.tsx +++ b/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/components/MultipleRecordPickerMenuItems.tsx @@ -16,7 +16,7 @@ import { useAvailableComponentInstanceIdOrThrow } from '@/ui/utilities/state/com import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const StyledSelectableItem = styled(SelectableItem)` height: 100%; diff --git a/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/hooks/useMultipleRecordPickerPerformSearch.ts b/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/hooks/useMultipleRecordPickerPerformSearch.ts index bf9cdd7c6..c6bf068e0 100644 --- a/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/hooks/useMultipleRecordPickerPerformSearch.ts +++ b/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/hooks/useMultipleRecordPickerPerformSearch.ts @@ -10,8 +10,8 @@ import { RecordPickerPickableMorphItem } from '@/object-record/record-picker/typ import { ApolloClient, useApolloClient } from '@apollo/client'; import { isNonEmptyArray } from '@sniptt/guards'; import { useRecoilCallback } from 'recoil'; -import { capitalize, isDefined } from 'twenty-shared'; import { GlobalSearchRecord } from '~/generated-metadata/graphql'; +import { capitalize, isDefined } from 'twenty-shared/utils'; export const useMultipleRecordPickerPerformSearch = () => { const client = useApolloClient(); diff --git a/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/utils/multipleRecordPickerformatQueryResultAsRecordWithObjectMetadataId.ts b/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/utils/multipleRecordPickerformatQueryResultAsRecordWithObjectMetadataId.ts index a1d837c4f..5cb35b110 100644 --- a/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/utils/multipleRecordPickerformatQueryResultAsRecordWithObjectMetadataId.ts +++ b/packages/twenty-front/src/modules/object-record/record-picker/multiple-record-picker/utils/multipleRecordPickerformatQueryResultAsRecordWithObjectMetadataId.ts @@ -1,7 +1,7 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { CombinedFindManyRecordsQueryResult } from '@/object-record/multiple-objects/types/CombinedFindManyRecordsQueryResult'; import { multiRecordPickerFormatSearchResults } from '@/object-record/record-picker/multiple-record-picker/utils/multiRecordPickerFormatSearchResults'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const multipleRecordPickerformatQueryResultAsRecordsWithObjectMetadataId = ({ diff --git a/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPicker.tsx b/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPicker.tsx index fcf611779..543bd99e5 100644 --- a/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPicker.tsx +++ b/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPicker.tsx @@ -7,7 +7,7 @@ import { import { SingleRecordPickerComponentInstanceContext } from '@/object-record/record-picker/single-record-picker/states/contexts/SingleRecordPickerComponentInstanceContext'; import { DropdownMenu } from '@/ui/layout/dropdown/components/DropdownMenu'; import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const SINGLE_RECORD_PICKER_LISTENER_ID = 'single-record-select'; diff --git a/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPickerMenuItems.tsx b/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPickerMenuItems.tsx index 39076080e..84b5a9dbd 100644 --- a/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPickerMenuItems.tsx +++ b/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPickerMenuItems.tsx @@ -9,7 +9,6 @@ import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/Drop import { SelectableList } from '@/ui/layout/selectable-list/components/SelectableList'; import { useSelectableList } from '@/ui/layout/selectable-list/hooks/useSelectableList'; import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; -import { isDefined } from 'twenty-shared'; import { SingleRecordPickerMenuItem } from '@/object-record/record-picker/single-record-picker/components/SingleRecordPickerMenuItem'; import { SingleRecordPickerComponentInstanceContext } from '@/object-record/record-picker/single-record-picker/states/contexts/SingleRecordPickerComponentInstanceContext'; @@ -20,6 +19,7 @@ import { getSingleRecordPickerSelectableListId } from '@/object-record/record-pi import { useAvailableComponentInstanceIdOrThrow } from '@/ui/utilities/state/component-state/hooks/useAvailableComponentInstanceIdOrThrow'; import { useRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentStateV2'; import styled from '@emotion/styled'; +import { isDefined } from 'twenty-shared/utils'; export type SingleRecordPickerMenuItemsProps = { EmptyIcon?: IconComponent; diff --git a/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPickerMenuItemsWithSearch.tsx b/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPickerMenuItemsWithSearch.tsx index c14d4ac20..7de1996c0 100644 --- a/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPickerMenuItemsWithSearch.tsx +++ b/packages/twenty-front/src/modules/object-record/record-picker/single-record-picker/components/SingleRecordPickerMenuItemsWithSearch.tsx @@ -14,8 +14,8 @@ import { DropdownMenuSearchInput } from '@/ui/layout/dropdown/components/Dropdow import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownMenuSeparator'; import { useAvailableComponentInstanceIdOrThrow } from '@/ui/utilities/state/component-state/hooks/useAvailableComponentInstanceIdOrThrow'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; import { IconPlus } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export type SingleRecordPickerMenuItemsWithSearchProps = { excludedRecordIds?: string[]; diff --git a/packages/twenty-front/src/modules/object-record/record-show/components/ObjectRecordShowPageBreadcrumb.tsx b/packages/twenty-front/src/modules/object-record/record-show/components/ObjectRecordShowPageBreadcrumb.tsx index a5dece76e..70ef72bd2 100644 --- a/packages/twenty-front/src/modules/object-record/record-show/components/ObjectRecordShowPageBreadcrumb.tsx +++ b/packages/twenty-front/src/modules/object-record/record-show/components/ObjectRecordShowPageBreadcrumb.tsx @@ -5,7 +5,8 @@ import { InlineCellHotkeyScope } from '@/object-record/record-inline-cell/types/ import { useRecordShowContainerActions } from '@/object-record/record-show/hooks/useRecordShowContainerActions'; import { RecordTitleCell } from '@/object-record/record-title-cell/components/RecordTitleCell'; import styled from '@emotion/styled'; -import { FieldMetadataType, capitalize } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { capitalize } from 'twenty-shared/utils'; const StyledEditableTitleContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowEffect.tsx b/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowEffect.tsx index 840fb87d5..51874b3a3 100644 --- a/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowEffect.tsx +++ b/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowEffect.tsx @@ -5,8 +5,8 @@ import { buildFindOneRecordForShowPageOperationSignature } from '@/object-record import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState'; import { useEffect } from 'react'; import { useRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { isDefined } from 'twenty-shared/utils'; type RecordShowEffectProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/record-show/components/SummaryCard.tsx b/packages/twenty-front/src/modules/object-record/record-show/components/SummaryCard.tsx index 5362245c3..f787bdd08 100644 --- a/packages/twenty-front/src/modules/object-record/record-show/components/SummaryCard.tsx +++ b/packages/twenty-front/src/modules/object-record/record-show/components/SummaryCard.tsx @@ -10,8 +10,8 @@ import { RecordTitleCell } from '@/object-record/record-title-cell/components/Re import { ShowPageSummaryCard } from '@/ui/layout/show-page/components/ShowPageSummaryCard'; import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; type SummaryCardProps = { objectNameSingular: string; diff --git a/packages/twenty-front/src/modules/object-record/record-show/hooks/useRecordShowPage.ts b/packages/twenty-front/src/modules/object-record/record-show/hooks/useRecordShowPage.ts index 4513841d4..be9c54d96 100644 --- a/packages/twenty-front/src/modules/object-record/record-show/hooks/useRecordShowPage.ts +++ b/packages/twenty-front/src/modules/object-record/record-show/hooks/useRecordShowPage.ts @@ -2,7 +2,7 @@ import { useParams } from 'react-router-dom'; import { useIcons } from 'twenty-ui'; import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useRecordShowPage = ( propsObjectNameSingular: string, diff --git a/packages/twenty-front/src/modules/object-record/record-show/hooks/useRecordShowPagePagination.ts b/packages/twenty-front/src/modules/object-record/record-show/hooks/useRecordShowPagePagination.ts index f089ee8c7..796f84438 100644 --- a/packages/twenty-front/src/modules/object-record/record-show/hooks/useRecordShowPagePagination.ts +++ b/packages/twenty-front/src/modules/object-record/record-show/hooks/useRecordShowPagePagination.ts @@ -9,8 +9,8 @@ import { lastShowPageRecordIdState } from '@/object-record/record-field/states/l import { useRecordIdsFromFindManyCacheRootQuery } from '@/object-record/record-show/hooks/useRecordIdsFromFindManyCacheRootQuery'; import { AppPath } from '@/types/AppPath'; import { useQueryVariablesFromActiveFieldsOfViewOrDefaultView } from '@/views/hooks/useQueryVariablesFromActiveFieldsOfViewOrDefaultView'; -import { capitalize, isDefined } from 'twenty-shared'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { capitalize, isDefined } from 'twenty-shared/utils'; export const useRecordShowPagePagination = ( propsObjectNameSingular: string, diff --git a/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/RecordDetailDuplicatesSection.tsx b/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/RecordDetailDuplicatesSection.tsx index dc92ea674..df625c52c 100644 --- a/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/RecordDetailDuplicatesSection.tsx +++ b/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/RecordDetailDuplicatesSection.tsx @@ -5,7 +5,7 @@ import { RecordDetailRecordsList } from '@/object-record/record-show/record-deta import { RecordDetailRecordsListItem } from '@/object-record/record-show/record-detail-section/components/RecordDetailRecordsListItem'; import { RecordDetailSection } from '@/object-record/record-show/record-detail-section/components/RecordDetailSection'; import { RecordDetailSectionHeader } from '@/object-record/record-show/record-detail-section/components/RecordDetailSectionHeader'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RecordDetailDuplicatesSection = ({ objectRecordId, diff --git a/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/RecordDetailRelationRecordsListItemEffect.tsx b/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/RecordDetailRelationRecordsListItemEffect.tsx index 5aba61c52..56f06e1e0 100644 --- a/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/RecordDetailRelationRecordsListItemEffect.tsx +++ b/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/RecordDetailRelationRecordsListItemEffect.tsx @@ -4,7 +4,7 @@ import { useFindOneRecord } from '@/object-record/hooks/useFindOneRecord'; import { FieldContext } from '@/object-record/record-field/contexts/FieldContext'; import { FieldRelationMetadata } from '@/object-record/record-field/types/FieldMetadata'; import { useUpsertRecordsInStore } from '@/object-record/record-store/hooks/useUpsertRecordsInStore'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type RecordDetailRelationRecordsListItemEffectProps = { relationRecordId: string; diff --git a/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableRecordGroupRows.tsx b/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableRecordGroupRows.tsx index 9dfb0c6ae..744846f51 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableRecordGroupRows.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/components/RecordTableRecordGroupRows.tsx @@ -9,7 +9,7 @@ import { isRecordGroupTableSectionToggledComponentState } from '@/object-record/ import { useRecoilComponentFamilyValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyValueV2'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useMemo } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RecordTableRecordGroupRows = () => { const currentRecordGroupId = useCurrentRecordGroupId(); diff --git a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/RecordTableEmptyStateSoftDelete.tsx b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/RecordTableEmptyStateSoftDelete.tsx index d17ca9c6d..422e7340b 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/RecordTableEmptyStateSoftDelete.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/empty-state/components/RecordTableEmptyStateSoftDelete.tsx @@ -9,7 +9,7 @@ import { RecordTableEmptyStateDisplay } from '@/object-record/record-table/empty import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { currentRecordFiltersComponentState } from '@/object-record/record-filter/states/currentRecordFiltersComponentState'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RecordTableEmptyStateSoftDelete = () => { const { objectMetadataItem, objectNameSingular, recordTableId } = diff --git a/packages/twenty-front/src/modules/object-record/record-table/hooks/internal/useSetRecordTableData.ts b/packages/twenty-front/src/modules/object-record/record-table/hooks/internal/useSetRecordTableData.ts index f367808f3..2e472f4f4 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/hooks/internal/useSetRecordTableData.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/hooks/internal/useSetRecordTableData.ts @@ -8,8 +8,8 @@ import { isRowSelectedComponentFamilyState } from '@/object-record/record-table/ import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { getSnapshotValue } from '@/ui/utilities/recoil-scope/utils/getSnapshotValue'; import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { isDefined } from 'twenty-shared/utils'; type useSetRecordTableDataProps = { recordTableId?: string; diff --git a/packages/twenty-front/src/modules/object-record/record-table/hooks/useAggregateRecordsForHeader.ts b/packages/twenty-front/src/modules/object-record/record-table/hooks/useAggregateRecordsForHeader.ts index 97de061d6..3d3f588f8 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/hooks/useAggregateRecordsForHeader.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/hooks/useAggregateRecordsForHeader.ts @@ -11,7 +11,7 @@ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/ import { UserContext } from '@/users/contexts/UserContext'; import { useContext } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type UseAggregateRecordsProps = { objectMetadataItem: ObjectMetadataItem; diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableBodyDragDropContextProvider.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableBodyDragDropContextProvider.tsx index 6c5b03866..fadaacbcb 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableBodyDragDropContextProvider.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableBodyDragDropContextProvider.tsx @@ -12,7 +12,7 @@ import { isRemoveSortingModalOpenState } from '@/object-record/record-table/stat import { getSnapshotValue } from '@/ui/utilities/recoil-scope/utils/getSnapshotValue'; import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RecordTableBodyDragDropContextProvider = ({ children, diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableBodyRecordGroupDragDropContextProvider.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableBodyRecordGroupDragDropContextProvider.tsx index 4552a2aca..649ae53a0 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableBodyRecordGroupDragDropContextProvider.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableBodyRecordGroupDragDropContextProvider.tsx @@ -12,7 +12,7 @@ import { useRecordTableContextOrThrow } from '@/object-record/record-table/conte import { isRemoveSortingModalOpenState } from '@/object-record/record-table/states/isRemoveSortingModalOpenState'; import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; import { getSnapshotValue } from '@/ui/utilities/state/utils/getSnapshotValue'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RecordTableBodyRecordGroupDragDropContextProvider = ({ children, diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellSoftFocusMode.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellSoftFocusMode.tsx index bce1d6476..cf452046f 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellSoftFocusMode.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellSoftFocusMode.tsx @@ -9,12 +9,12 @@ import { RecordTableCellContext } from '@/object-record/record-table/contexts/Re import { RecordTableCellButton } from '@/object-record/record-table/record-table-cell/components/RecordTableCellButton'; import { useOpenRecordTableCellFromCell } from '@/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellFromCell'; import { isSoftFocusUsingMouseState } from '@/object-record/record-table/states/isSoftFocusUsingMouseState'; -import { isDefined } from 'twenty-shared'; import { FieldContext } from '@/object-record/record-field/contexts/FieldContext'; import { useIsFieldValueReadOnly } from '@/object-record/record-field/hooks/useIsFieldValueReadOnly'; import { useRecordTableBodyContextOrThrow } from '@/object-record/record-table/contexts/RecordTableBodyContext'; import { RecordTableCellDisplayContainer } from './RecordTableCellDisplayContainer'; +import { isDefined } from 'twenty-shared/utils'; type RecordTableCellSoftFocusModeProps = { editModeContent: ReactElement; diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellV2.ts b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellV2.ts index 49a706efd..623462743 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellV2.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellV2.ts @@ -15,7 +15,6 @@ import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope import { HotkeyScope } from '@/ui/utilities/hotkey/types/HotkeyScope'; import { useClickOutsideListener } from '@/ui/utilities/pointer-event/hooks/useClickOutsideListener'; import { getSnapshotValue } from '@/ui/utilities/state/utils/getSnapshotValue'; -import { isDefined } from 'twenty-shared'; import { useOpenRecordInCommandMenu } from '@/command-menu/hooks/useOpenRecordInCommandMenu'; import { useOpenFieldInputEditMode } from '@/object-record/record-field/hooks/useOpenFieldInputEditMode'; @@ -30,6 +29,7 @@ import { useClickOustideListenerStates } from '@/ui/utilities/pointer-event/hook import { ViewOpenRecordInType } from '@/views/types/ViewOpenRecordInType'; import { useNavigate } from 'react-router-dom'; import { TableHotkeyScope } from '../../types/TableHotkeyScope'; +import { isDefined } from 'twenty-shared/utils'; export const DEFAULT_CELL_SCOPE: HotkeyScope = { scope: TableHotkeyScope.CellEditMode, diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterAggregateOperationMenuItems.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterAggregateOperationMenuItems.tsx index cb62db6b6..0fbc3781b 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterAggregateOperationMenuItems.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterAggregateOperationMenuItems.tsx @@ -4,8 +4,8 @@ import { useViewFieldAggregateOperation } from '@/object-record/record-table/rec import { ExtendedAggregateOperations } from '@/object-record/record-table/types/ExtendedAggregateOperations'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { ReactNode, useContext } from 'react'; -import { isDefined } from 'twenty-shared'; import { IconCheck, MenuItem } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const RecordTableColumnAggregateFooterAggregateOperationMenuItems = ({ aggregateOperations, diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterMenuContent.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterMenuContent.tsx index 961e9c975..f498733cc 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterMenuContent.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterMenuContent.tsx @@ -11,9 +11,9 @@ import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; import { t } from '@lingui/core/macro'; import { useContext, useMemo } from 'react'; import { Key } from 'ts-key-enum'; -import { isDefined, isFieldMetadataDateKind } from 'twenty-shared'; import { IconCheck, MenuItem } from 'twenty-ui'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { isDefined, isFieldMetadataDateKind } from 'twenty-shared/utils'; export const RecordTableColumnAggregateFooterMenuContent = () => { const { diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterValue.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterValue.tsx index 7a284b016..6d8f843db 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterValue.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/components/RecordTableColumnAggregateFooterValue.tsx @@ -1,8 +1,8 @@ import { useAggregateRecordsForRecordTableColumnFooter } from '@/object-record/record-table/record-table-footer/hooks/useAggregateRecordsForRecordTableColumnFooter'; import styled from '@emotion/styled'; import { Trans } from '@lingui/react/macro'; -import { isDefined } from 'twenty-shared'; import { OverflowingTextWithTooltip } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledText = styled.span` overflow: hidden; diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/hooks/useAggregateRecordsForRecordTableColumnFooter.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/hooks/useAggregateRecordsForRecordTableColumnFooter.tsx index 81baac725..66d8a4802 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/hooks/useAggregateRecordsForRecordTableColumnFooter.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/hooks/useAggregateRecordsForRecordTableColumnFooter.tsx @@ -15,7 +15,7 @@ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/ import { UserContext } from '@/users/contexts/UserContext'; import { useContext } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined, isFieldMetadataDateKind } from 'twenty-shared'; +import { isDefined, isFieldMetadataDateKind } from 'twenty-shared/utils'; export const useAggregateRecordsForRecordTableColumnFooter = ( fieldMetadataId: string, diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/states/hasAggregateOperationForViewFieldFamilySelector.ts b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/states/hasAggregateOperationForViewFieldFamilySelector.ts index 5143256f9..c93655556 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/states/hasAggregateOperationForViewFieldFamilySelector.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/states/hasAggregateOperationForViewFieldFamilySelector.ts @@ -1,6 +1,6 @@ import { viewFieldAggregateOperationState } from '@/object-record/record-table/record-table-footer/states/viewFieldAggregateOperationState'; import { selectorFamily } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const hasAggregateOperationForViewFieldFamilySelector = selectorFamily< boolean, diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/utils/getAvailableAggregateOperationsForFieldMetadataType.ts b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/utils/getAvailableAggregateOperationsForFieldMetadataType.ts index 50c225bf6..27efe9efa 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/utils/getAvailableAggregateOperationsForFieldMetadataType.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-footer/utils/getAvailableAggregateOperationsForFieldMetadataType.ts @@ -3,8 +3,8 @@ import { FIELD_TYPES_AVAILABLE_FOR_NON_STANDARD_AGGREGATE_OPERATION } from '@/ob import { ExtendedAggregateOperations } from '@/object-record/record-table/types/ExtendedAggregateOperations'; import { AggregateOperationsOmittingStandardOperations } from '@/object-record/types/AggregateOperationsOmittingStandardOperations'; import { isFieldTypeValidForAggregateOperation } from '@/object-record/utils/isFieldTypeValidForAggregateOperation'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const getAvailableAggregateOperationsForFieldMetadataType = ({ fieldMetadataType, diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-section/components/RecordTableRecordGroupSection.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-section/components/RecordTableRecordGroupSection.tsx index bd5620f33..4236fd7b1 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-section/components/RecordTableRecordGroupSection.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-section/components/RecordTableRecordGroupSection.tsx @@ -15,8 +15,8 @@ import { visibleTableColumnsComponentSelector } from '@/object-record/record-tab import { useRecoilComponentFamilyStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyStateV2'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { AnimatedLightIconButton, IconChevronDown, Tag } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledTrContainer = styled.tr` cursor: pointer; diff --git a/packages/twenty-front/src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldInput.tsx index 86e3854c1..7743fd533 100644 --- a/packages/twenty-front/src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-title-cell/components/RecordTitleCellTextFieldInput.tsx @@ -5,8 +5,8 @@ import { useRegisterInputEvents } from '@/object-record/record-field/meta-types/ import { FieldInputEvent } from '@/object-record/record-field/types/FieldInputEvent'; import { TextInputV2 } from '@/ui/input/components/TextInputV2'; import { useRef } from 'react'; -import { isDefined } from 'twenty-shared'; import { turnIntoUndefinedIfWhitespacesOnly } from '~/utils/string/turnIntoUndefinedIfWhitespacesOnly'; +import { isDefined } from 'twenty-shared/utils'; type RecordTitleCellTextFieldInputProps = { onClickOutside?: FieldInputClickOutsideEvent; diff --git a/packages/twenty-front/src/modules/object-record/record-title-cell/components/RecordTitleDoubleTextInput.tsx b/packages/twenty-front/src/modules/object-record/record-title-cell/components/RecordTitleDoubleTextInput.tsx index 6df5fcb61..130a5c7cb 100644 --- a/packages/twenty-front/src/modules/object-record/record-title-cell/components/RecordTitleDoubleTextInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-title-cell/components/RecordTitleDoubleTextInput.tsx @@ -6,9 +6,9 @@ import { FieldDoubleText } from '@/object-record/record-field/types/FieldDoubleT import { TextInputV2 } from '@/ui/input/components/TextInputV2'; import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside'; -import { isDefined } from 'twenty-shared'; import { splitFullName } from '~/utils/format/spiltFullName'; import { turnIntoEmptyStringIfWhitespacesOnly } from '~/utils/string/turnIntoEmptyStringIfWhitespacesOnly'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/object-record/record-title-cell/hooks/useRecordTitleCell.tsx b/packages/twenty-front/src/modules/object-record/record-title-cell/hooks/useRecordTitleCell.tsx index d753db34c..900c5dc75 100644 --- a/packages/twenty-front/src/modules/object-record/record-title-cell/hooks/useRecordTitleCell.tsx +++ b/packages/twenty-front/src/modules/object-record/record-title-cell/hooks/useRecordTitleCell.tsx @@ -4,7 +4,7 @@ import { useGoBackToPreviousDropdownFocusId } from '@/ui/layout/dropdown/hooks/u import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousHotkeyScope'; import { HotkeyScope } from '@/ui/utilities/hotkey/types/HotkeyScope'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useRecordTitleCell = () => { const { goBackToPreviousDropdownFocusId } = diff --git a/packages/twenty-front/src/modules/object-record/spreadsheet-import/utils/buildRecordFromImportedStructuredRow.ts b/packages/twenty-front/src/modules/object-record/spreadsheet-import/utils/buildRecordFromImportedStructuredRow.ts index 5c55cfd2d..1d67b2df6 100644 --- a/packages/twenty-front/src/modules/object-record/spreadsheet-import/utils/buildRecordFromImportedStructuredRow.ts +++ b/packages/twenty-front/src/modules/object-record/spreadsheet-import/utils/buildRecordFromImportedStructuredRow.ts @@ -10,11 +10,11 @@ import { import { COMPOSITE_FIELD_IMPORT_LABELS } from '@/object-record/spreadsheet-import/constants/CompositeFieldImportLabels'; import { ImportedStructuredRow } from '@/spreadsheet-import/types'; import { isNonEmptyString } from '@sniptt/guards'; -import { isDefined } from 'twenty-shared'; import { z } from 'zod'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { castToString } from '~/utils/castToString'; import { convertCurrencyAmountToCurrencyMicros } from '~/utils/convertCurrencyToCurrencyMicros'; +import { isDefined } from 'twenty-shared/utils'; type BuildRecordFromImportedStructuredRowArgs = { importedStructuredRow: ImportedStructuredRow; diff --git a/packages/twenty-front/src/modules/object-record/spreadsheet-import/utils/getSpreadSheetFieldValidationDefinitions.ts b/packages/twenty-front/src/modules/object-record/spreadsheet-import/utils/getSpreadSheetFieldValidationDefinitions.ts index 1621beaf3..86143a06d 100644 --- a/packages/twenty-front/src/modules/object-record/spreadsheet-import/utils/getSpreadSheetFieldValidationDefinitions.ts +++ b/packages/twenty-front/src/modules/object-record/spreadsheet-import/utils/getSpreadSheetFieldValidationDefinitions.ts @@ -1,6 +1,6 @@ import { FieldValidationDefinition } from '@/spreadsheet-import/types'; -import { absoluteUrlSchema, isDefined, isValidUuid } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { absoluteUrlSchema, isDefined, isValidUuid } from 'twenty-shared/utils'; export const getSpreadSheetFieldValidationDefinitions = ( type: FieldMetadataType, diff --git a/packages/twenty-front/src/modules/object-record/utils/buildOptimisticActorFieldValueFromCurrentWorkspaceMember.ts b/packages/twenty-front/src/modules/object-record/utils/buildOptimisticActorFieldValueFromCurrentWorkspaceMember.ts index 8398756fe..d52102e1e 100644 --- a/packages/twenty-front/src/modules/object-record/utils/buildOptimisticActorFieldValueFromCurrentWorkspaceMember.ts +++ b/packages/twenty-front/src/modules/object-record/utils/buildOptimisticActorFieldValueFromCurrentWorkspaceMember.ts @@ -1,6 +1,6 @@ import { CurrentWorkspaceMember } from '@/auth/states/currentWorkspaceMemberState'; import { FieldActorValue } from '@/object-record/record-field/types/FieldMetadata'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const buildOptimisticActorFieldValueFromCurrentWorkspaceMember = ( currentWorkspaceMember: CurrentWorkspaceMember | null, diff --git a/packages/twenty-front/src/modules/object-record/utils/computeOptimisticRecordFromInput.ts b/packages/twenty-front/src/modules/object-record/utils/computeOptimisticRecordFromInput.ts index 111a473b6..db3c98094 100644 --- a/packages/twenty-front/src/modules/object-record/utils/computeOptimisticRecordFromInput.ts +++ b/packages/twenty-front/src/modules/object-record/utils/computeOptimisticRecordFromInput.ts @@ -14,9 +14,9 @@ import { isFieldUuid } from '@/object-record/record-field/types/guards/isFieldUu import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { buildOptimisticActorFieldValueFromCurrentWorkspaceMember } from '@/object-record/utils/buildOptimisticActorFieldValueFromCurrentWorkspaceMember'; import { getForeignKeyNameFromRelationFieldName } from '@/object-record/utils/getForeignKeyNameFromRelationFieldName'; -import { isDefined } from 'twenty-shared'; import { RelationDefinitionType } from '~/generated-metadata/graphql'; import { FieldMetadataType } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; type ComputeOptimisticCacheRecordInputArgs = { objectMetadataItem: ObjectMetadataItem; diff --git a/packages/twenty-front/src/modules/object-record/utils/convertAggregateOperationToExtendedAggregateOperation.ts b/packages/twenty-front/src/modules/object-record/utils/convertAggregateOperationToExtendedAggregateOperation.ts index 11b6e77ca..a5161b26a 100644 --- a/packages/twenty-front/src/modules/object-record/utils/convertAggregateOperationToExtendedAggregateOperation.ts +++ b/packages/twenty-front/src/modules/object-record/utils/convertAggregateOperationToExtendedAggregateOperation.ts @@ -1,8 +1,8 @@ import { AGGREGATE_OPERATIONS } from '@/object-record/record-table/constants/AggregateOperations'; import { DATE_AGGREGATE_OPERATIONS } from '@/object-record/record-table/constants/DateAggregateOperations'; import { ExtendedAggregateOperations } from '@/object-record/record-table/types/ExtendedAggregateOperations'; -import { isFieldMetadataDateKind } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { isFieldMetadataDateKind } from 'twenty-shared/utils'; export const convertAggregateOperationToExtendedAggregateOperation = ( aggregateOperation: AGGREGATE_OPERATIONS, diff --git a/packages/twenty-front/src/modules/object-record/utils/generateAggregateQuery.ts b/packages/twenty-front/src/modules/object-record/utils/generateAggregateQuery.ts index f05000c9c..9fcc29d2c 100644 --- a/packages/twenty-front/src/modules/object-record/utils/generateAggregateQuery.ts +++ b/packages/twenty-front/src/modules/object-record/utils/generateAggregateQuery.ts @@ -3,7 +3,7 @@ import gql from 'graphql-tag'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { RecordGqlFields } from '@/object-record/graphql/types/RecordGqlFields'; import { getAggregateQueryName } from '@/object-record/utils/getAggregateQueryName'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const generateAggregateQuery = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/object-record/utils/generateFindManyRecordsQuery.ts b/packages/twenty-front/src/modules/object-record/utils/generateFindManyRecordsQuery.ts index f7b26c8e0..7df1cbe42 100644 --- a/packages/twenty-front/src/modules/object-record/utils/generateFindManyRecordsQuery.ts +++ b/packages/twenty-front/src/modules/object-record/utils/generateFindManyRecordsQuery.ts @@ -3,7 +3,7 @@ import gql from 'graphql-tag'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery'; import { RecordGqlOperationGqlRecordFields } from '@/object-record/graphql/types/RecordGqlOperationGqlRecordFields'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export type QueryCursorDirection = 'before' | 'after'; diff --git a/packages/twenty-front/src/modules/object-record/utils/getAggregateQueryName.ts b/packages/twenty-front/src/modules/object-record/utils/getAggregateQueryName.ts index 298239ff9..36c60bc9a 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getAggregateQueryName.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getAggregateQueryName.ts @@ -1,5 +1,4 @@ -import { capitalize, isDefined } from 'twenty-shared'; - +import { capitalize, isDefined } from 'twenty-shared/utils'; export const getAggregateQueryName = ( objectMetadataNamePlural: string, ): string => { diff --git a/packages/twenty-front/src/modules/object-record/utils/getAvailableAggregationsFromObjectFields.ts b/packages/twenty-front/src/modules/object-record/utils/getAvailableAggregationsFromObjectFields.ts index 1eb554141..edad29835 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getAvailableAggregationsFromObjectFields.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getAvailableAggregationsFromObjectFields.ts @@ -2,12 +2,9 @@ import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { AGGREGATE_OPERATIONS } from '@/object-record/record-table/constants/AggregateOperations'; import { DATE_AGGREGATE_OPERATIONS } from '@/object-record/record-table/constants/DateAggregateOperations'; import { ExtendedAggregateOperations } from '@/object-record/record-table/types/ExtendedAggregateOperations'; -import { - capitalize, - FIELD_FOR_TOTAL_COUNT_AGGREGATE_OPERATION, - isFieldMetadataDateKind, -} from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { capitalize, isFieldMetadataDateKind } from 'twenty-shared/utils'; +import { FIELD_FOR_TOTAL_COUNT_AGGREGATE_OPERATION } from 'twenty-shared/constants'; type NameForAggregation = { [T in ExtendedAggregateOperations]?: string; diff --git a/packages/twenty-front/src/modules/object-record/utils/getAvailableFieldsIdsForAggregationFromObjectFields.ts b/packages/twenty-front/src/modules/object-record/utils/getAvailableFieldsIdsForAggregationFromObjectFields.ts index 68b7ebb3f..5481bfa7a 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getAvailableFieldsIdsForAggregationFromObjectFields.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getAvailableFieldsIdsForAggregationFromObjectFields.ts @@ -3,7 +3,7 @@ import { ExtendedAggregateOperations } from '@/object-record/record-table/types/ import { AvailableFieldsForAggregateOperation } from '@/object-record/types/AvailableFieldsForAggregateOperation'; import { getAvailableAggregationsFromObjectFields } from '@/object-record/utils/getAvailableAggregationsFromObjectFields'; import { initializeAvailableFieldsForAggregateOperationMap } from '@/object-record/utils/initializeAvailableFieldsForAggregateOperationMap'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getAvailableFieldsIdsForAggregationFromObjectFields = ( fields: FieldMetadataItem[], diff --git a/packages/twenty-front/src/modules/object-record/utils/getCreateManyRecordsMutationResponseField.ts b/packages/twenty-front/src/modules/object-record/utils/getCreateManyRecordsMutationResponseField.ts index 36ef948f5..58e9196cf 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getCreateManyRecordsMutationResponseField.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getCreateManyRecordsMutationResponseField.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const getCreateManyRecordsMutationResponseField = ( objectNamePlural: string, ) => `create${capitalize(objectNamePlural)}`; diff --git a/packages/twenty-front/src/modules/object-record/utils/getCreateOneRecordMutationResponseField.ts b/packages/twenty-front/src/modules/object-record/utils/getCreateOneRecordMutationResponseField.ts index 3157fe8db..a6e508896 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getCreateOneRecordMutationResponseField.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getCreateOneRecordMutationResponseField.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const getCreateOneRecordMutationResponseField = ( objectNameSingular: string, ) => `create${capitalize(objectNameSingular)}`; diff --git a/packages/twenty-front/src/modules/object-record/utils/getDeleteManyRecordsMutationResponseField.ts b/packages/twenty-front/src/modules/object-record/utils/getDeleteManyRecordsMutationResponseField.ts index dfe6afcd6..473239f2d 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getDeleteManyRecordsMutationResponseField.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getDeleteManyRecordsMutationResponseField.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const getDeleteManyRecordsMutationResponseField = ( objectNamePlural: string, ) => `delete${capitalize(objectNamePlural)}`; diff --git a/packages/twenty-front/src/modules/object-record/utils/getDeleteOneRecordMutationResponseField.ts b/packages/twenty-front/src/modules/object-record/utils/getDeleteOneRecordMutationResponseField.ts index c8ed59faa..f37e8c1af 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getDeleteOneRecordMutationResponseField.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getDeleteOneRecordMutationResponseField.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const getDeleteOneRecordMutationResponseField = ( objectNameSingular: string, ) => `delete${capitalize(objectNameSingular)}`; diff --git a/packages/twenty-front/src/modules/object-record/utils/getDestroyManyRecordsMutationResponseField.ts b/packages/twenty-front/src/modules/object-record/utils/getDestroyManyRecordsMutationResponseField.ts index bc2e71e2d..8f305c6d9 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getDestroyManyRecordsMutationResponseField.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getDestroyManyRecordsMutationResponseField.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const getDestroyManyRecordsMutationResponseField = ( objectNamePlural: string, ) => `destroy${capitalize(objectNamePlural)}`; diff --git a/packages/twenty-front/src/modules/object-record/utils/getDestroyOneRecordMutationResponseField.ts b/packages/twenty-front/src/modules/object-record/utils/getDestroyOneRecordMutationResponseField.ts index 4d5b98d01..a753e5d14 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getDestroyOneRecordMutationResponseField.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getDestroyOneRecordMutationResponseField.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const getDestroyOneRecordMutationResponseField = ( objectNameSingular: string, ) => `destroy${capitalize(objectNameSingular)}`; diff --git a/packages/twenty-front/src/modules/object-record/utils/getRecordChipGenerators.ts b/packages/twenty-front/src/modules/object-record/utils/getRecordChipGenerators.ts index 9bcb8adf5..560592022 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getRecordChipGenerators.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getRecordChipGenerators.ts @@ -11,8 +11,8 @@ import { isLabelIdentifierField } from '@/object-metadata/utils/isLabelIdentifie import { isFieldIdentifierDisplay } from '@/object-record/record-field/meta-types/display/utils/isFieldIdentifierDisplay'; import { RecordChipData } from '@/object-record/record-field/types/RecordChipData'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const getRecordChipGenerators = ( objectMetadataItems: ObjectMetadataItem[], diff --git a/packages/twenty-front/src/modules/object-record/utils/getRecordFieldInputId.ts b/packages/twenty-front/src/modules/object-record/utils/getRecordFieldInputId.ts index aed995eaf..5f4ae7ed0 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getRecordFieldInputId.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getRecordFieldInputId.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; export const getRecordFieldInputId = ( recordId: string, fieldName?: string, diff --git a/packages/twenty-front/src/modules/object-record/utils/getRestoreManyRecordsMutationResponseField.ts b/packages/twenty-front/src/modules/object-record/utils/getRestoreManyRecordsMutationResponseField.ts index 0f04411cb..194d2f84b 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getRestoreManyRecordsMutationResponseField.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getRestoreManyRecordsMutationResponseField.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const getRestoreManyRecordsMutationResponseField = ( objectNamePlural: string, ) => `restore${capitalize(objectNamePlural)}`; diff --git a/packages/twenty-front/src/modules/object-record/utils/getUpdateOneRecordMutationResponseField.ts b/packages/twenty-front/src/modules/object-record/utils/getUpdateOneRecordMutationResponseField.ts index 11c0a4a7d..d5616fec4 100644 --- a/packages/twenty-front/src/modules/object-record/utils/getUpdateOneRecordMutationResponseField.ts +++ b/packages/twenty-front/src/modules/object-record/utils/getUpdateOneRecordMutationResponseField.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const getUpdateOneRecordMutationResponseField = ( objectNameSingular: string, ) => `update${capitalize(objectNameSingular)}`; diff --git a/packages/twenty-front/src/modules/object-record/utils/makeAndFilterVariables.ts b/packages/twenty-front/src/modules/object-record/utils/makeAndFilterVariables.ts index bf20cefc4..47d42c8cb 100644 --- a/packages/twenty-front/src/modules/object-record/utils/makeAndFilterVariables.ts +++ b/packages/twenty-front/src/modules/object-record/utils/makeAndFilterVariables.ts @@ -1,5 +1,5 @@ import { RecordGqlOperationFilter } from '@/object-record/graphql/types/RecordGqlOperationFilter'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const makeAndFilterVariables = ( filters: (RecordGqlOperationFilter | undefined)[], diff --git a/packages/twenty-front/src/modules/object-record/utils/makeOrFilterVariables.ts b/packages/twenty-front/src/modules/object-record/utils/makeOrFilterVariables.ts index e466cccff..243e1aed1 100644 --- a/packages/twenty-front/src/modules/object-record/utils/makeOrFilterVariables.ts +++ b/packages/twenty-front/src/modules/object-record/utils/makeOrFilterVariables.ts @@ -1,5 +1,5 @@ import { RecordGqlOperationFilter } from '@/object-record/graphql/types/RecordGqlOperationFilter'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const makeOrFilterVariables = ( filters: (RecordGqlOperationFilter | undefined)[], diff --git a/packages/twenty-front/src/modules/object-record/utils/prefillRecord.ts b/packages/twenty-front/src/modules/object-record/utils/prefillRecord.ts index 52786434b..456233ec4 100644 --- a/packages/twenty-front/src/modules/object-record/utils/prefillRecord.ts +++ b/packages/twenty-front/src/modules/object-record/utils/prefillRecord.ts @@ -4,8 +4,8 @@ import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { generateDefaultFieldValue } from '@/object-record/utils/generateDefaultFieldValue'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType, RelationDefinitionType } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; type PrefillRecordArgs = { objectMetadataItem: ObjectMetadataItem; diff --git a/packages/twenty-front/src/modules/object-record/utils/sanitizeRecordInput.ts b/packages/twenty-front/src/modules/object-record/utils/sanitizeRecordInput.ts index 38d0e9e54..862af41f1 100644 --- a/packages/twenty-front/src/modules/object-record/utils/sanitizeRecordInput.ts +++ b/packages/twenty-front/src/modules/object-record/utils/sanitizeRecordInput.ts @@ -1,8 +1,8 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { RelationDefinitionType } from '~/generated-metadata/graphql'; import { FieldMetadataType } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const sanitizeRecordInput = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/onboarding/hooks/useSetNextOnboardingStatus.ts b/packages/twenty-front/src/modules/onboarding/hooks/useSetNextOnboardingStatus.ts index c15ca6c50..cebb5bf9b 100644 --- a/packages/twenty-front/src/modules/onboarding/hooks/useSetNextOnboardingStatus.ts +++ b/packages/twenty-front/src/modules/onboarding/hooks/useSetNextOnboardingStatus.ts @@ -5,8 +5,8 @@ import { CurrentWorkspace, currentWorkspaceState, } from '@/auth/states/currentWorkspaceState'; -import { isDefined } from 'twenty-shared'; import { OnboardingStatus } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; const getNextOnboardingStatus = ( currentUser: CurrentUser | null, diff --git a/packages/twenty-front/src/modules/prefetch/components/PrefetchRunFavoriteQueriesEffect.tsx b/packages/twenty-front/src/modules/prefetch/components/PrefetchRunFavoriteQueriesEffect.tsx index ef5a92075..a8791121b 100644 --- a/packages/twenty-front/src/modules/prefetch/components/PrefetchRunFavoriteQueriesEffect.tsx +++ b/packages/twenty-front/src/modules/prefetch/components/PrefetchRunFavoriteQueriesEffect.tsx @@ -14,8 +14,9 @@ import { prefetchFavoritesState } from '@/prefetch/states/prefetchFavoritesState import { prefetchIsLoadedFamilyState } from '@/prefetch/states/prefetchIsLoadedFamilyState'; import { PrefetchKey } from '@/prefetch/types/PrefetchKey'; import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo'; -import { WorkspaceActivationStatus, isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; +import { isDefined } from 'twenty-shared/utils'; export const PrefetchRunFavoriteQueriesEffect = () => { const currentUser = useRecoilValue(currentUserState); diff --git a/packages/twenty-front/src/modules/prefetch/components/PrefetchRunViewQueryEffect.tsx b/packages/twenty-front/src/modules/prefetch/components/PrefetchRunViewQueryEffect.tsx index f73b2deb7..9c3bb76ef 100644 --- a/packages/twenty-front/src/modules/prefetch/components/PrefetchRunViewQueryEffect.tsx +++ b/packages/twenty-front/src/modules/prefetch/components/PrefetchRunViewQueryEffect.tsx @@ -10,8 +10,9 @@ import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState'; import { isPersistingViewFieldsState } from '@/views/states/isPersistingViewFieldsState'; import { View } from '@/views/types/View'; import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo'; -import { WorkspaceActivationStatus, isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; +import { isDefined } from 'twenty-shared/utils'; export const PrefetchRunViewQueryEffect = () => { const currentUser = useRecoilValue(currentUserState); diff --git a/packages/twenty-front/src/modules/prefetch/hooks/useIsPrefetchLoading.ts b/packages/twenty-front/src/modules/prefetch/hooks/useIsPrefetchLoading.ts index c98f4bc74..4a7dbc3ca 100644 --- a/packages/twenty-front/src/modules/prefetch/hooks/useIsPrefetchLoading.ts +++ b/packages/twenty-front/src/modules/prefetch/hooks/useIsPrefetchLoading.ts @@ -2,7 +2,7 @@ import { prefetchIsLoadedFamilyState } from '@/prefetch/states/prefetchIsLoadedF import { PrefetchKey } from '@/prefetch/types/PrefetchKey'; import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo'; import { useRecoilValue } from 'recoil'; -import { WorkspaceActivationStatus } from 'twenty-shared'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; export const useIsPrefetchLoading = () => { const isWorkspaceActive = useIsWorkspaceActivationStatusEqualsTo( diff --git a/packages/twenty-front/src/modules/search/hooks/useFilteredSearchRecordQuery.ts b/packages/twenty-front/src/modules/search/hooks/useFilteredSearchRecordQuery.ts index 071e0ca14..30bf5c2b9 100644 --- a/packages/twenty-front/src/modules/search/hooks/useFilteredSearchRecordQuery.ts +++ b/packages/twenty-front/src/modules/search/hooks/useFilteredSearchRecordQuery.ts @@ -2,7 +2,7 @@ import { formatGlobalSearchRecordAsSingleRecordPickerRecord } from '@/object-met import { DEFAULT_SEARCH_REQUEST_LIMIT } from '@/object-record/constants/DefaultSearchRequestLimit'; import { useObjectRecordSearchRecords } from '@/object-record/hooks/useObjectRecordSearchRecords'; import { SingleRecordPickerRecord } from '@/object-record/record-picker/single-record-picker/types/SingleRecordPickerRecord'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useFilteredSearchRecordQuery = ({ selectedIds, diff --git a/packages/twenty-front/src/modules/serverless-functions/hooks/useTestServerlessFunction.ts b/packages/twenty-front/src/modules/serverless-functions/hooks/useTestServerlessFunction.ts index 8166d57e2..585f61966 100644 --- a/packages/twenty-front/src/modules/serverless-functions/hooks/useTestServerlessFunction.ts +++ b/packages/twenty-front/src/modules/serverless-functions/hooks/useTestServerlessFunction.ts @@ -2,8 +2,8 @@ import { useExecuteOneServerlessFunction } from '@/settings/serverless-functions import { serverlessFunctionTestDataFamilyState } from '@/workflow/states/serverlessFunctionTestDataFamilyState'; import { useState } from 'react'; import { useRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { sleep } from '~/utils/sleep'; +import { isDefined } from 'twenty-shared/utils'; export const useTestServerlessFunction = ({ serverlessFunctionId, diff --git a/packages/twenty-front/src/modules/serverless-functions/utils/getDefaultFunctionInputFromInputSchema.ts b/packages/twenty-front/src/modules/serverless-functions/utils/getDefaultFunctionInputFromInputSchema.ts index 937d0cdd0..ae4efed65 100644 --- a/packages/twenty-front/src/modules/serverless-functions/utils/getDefaultFunctionInputFromInputSchema.ts +++ b/packages/twenty-front/src/modules/serverless-functions/utils/getDefaultFunctionInputFromInputSchema.ts @@ -1,6 +1,6 @@ import { InputSchema } from '@/workflow/types/InputSchema'; import { FunctionInput } from '@/workflow/workflow-steps/workflow-actions/code-action/types/FunctionInput'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getDefaultFunctionInputFromInputSchema = ( inputSchema: InputSchema, diff --git a/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionInputFromSourceCode.ts b/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionInputFromSourceCode.ts index 6a2874609..5cf37ba05 100644 --- a/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionInputFromSourceCode.ts +++ b/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionInputFromSourceCode.ts @@ -2,7 +2,7 @@ import { getDefaultFunctionInputFromInputSchema } from '@/serverless-functions/u import { getFunctionInputSchema } from '@/serverless-functions/utils/getFunctionInputSchema'; import { FunctionInput } from '@/workflow/workflow-steps/workflow-actions/code-action/types/FunctionInput'; import { isObject } from '@sniptt/guards'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getFunctionInputFromSourceCode = ( sourceCode?: string, diff --git a/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionInputSchema.ts b/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionInputSchema.ts index 34bc476a2..34994b57f 100644 --- a/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionInputSchema.ts +++ b/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionInputSchema.ts @@ -1,5 +1,4 @@ import { InputSchema, InputSchemaProperty } from '@/workflow/types/InputSchema'; -import { isDefined } from 'twenty-shared'; import { ArrayTypeNode, ArrowFunction, @@ -16,6 +15,7 @@ import { UnionTypeNode, VariableStatement, } from 'typescript'; +import { isDefined } from 'twenty-shared/utils'; const getTypeString = (typeNode: TypeNode): InputSchemaProperty => { switch (typeNode.kind) { diff --git a/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionOutputSchema.ts b/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionOutputSchema.ts index 387ae34bd..88e6d5efa 100644 --- a/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionOutputSchema.ts +++ b/packages/twenty-front/src/modules/serverless-functions/utils/getFunctionOutputSchema.ts @@ -1,7 +1,7 @@ import { InputSchemaPropertyType } from '@/workflow/types/InputSchema'; import { BaseOutputSchema } from '@/workflow/workflow-variables/types/StepOutputSchema'; import { isObject } from '@sniptt/guards'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const getValueType = (value: any): InputSchemaPropertyType => { if (!isDefined(value) || value === null) { diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsBlocklistInput.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsBlocklistInput.tsx index 86121be26..45e360b1e 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsBlocklistInput.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsBlocklistInput.tsx @@ -7,8 +7,8 @@ import { z } from 'zod'; import { TextInput } from '@/ui/input/components/TextInput'; import { useLingui } from '@lingui/react/macro'; -import { isValidHostname } from 'twenty-shared'; import { Button } from 'twenty-ui'; +import { isValidHostname } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsListEmptyStateCard.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsListEmptyStateCard.tsx index 6cba9210c..cf0760802 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsListEmptyStateCard.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsListEmptyStateCard.tsx @@ -6,7 +6,6 @@ import { useTriggerApisOAuth } from '@/settings/accounts/hooks/useTriggerApiOAut import styled from '@emotion/styled'; import { useLingui } from '@lingui/react/macro'; import { useRecoilValue } from 'recoil'; -import { ConnectedAccountProvider } from 'twenty-shared'; import { Button, Card, @@ -15,6 +14,7 @@ import { IconGoogle, IconMicrosoft, } from 'twenty-ui'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; const StyledHeader = styled(CardHeader)` align-items: center; diff --git a/packages/twenty-front/src/modules/settings/accounts/hooks/useTriggerApiOAuth.ts b/packages/twenty-front/src/modules/settings/accounts/hooks/useTriggerApiOAuth.ts index 1fe2f31b9..249bdd5ff 100644 --- a/packages/twenty-front/src/modules/settings/accounts/hooks/useTriggerApiOAuth.ts +++ b/packages/twenty-front/src/modules/settings/accounts/hooks/useTriggerApiOAuth.ts @@ -2,13 +2,13 @@ import { AppPath } from '@/types/AppPath'; import { useCallback } from 'react'; import { useRedirect } from '@/domain-manager/hooks/useRedirect'; -import { ConnectedAccountProvider } from 'twenty-shared'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; import { CalendarChannelVisibility, MessageChannelVisibility, useGenerateTransientTokenMutation, } from '~/generated/graphql'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; const getProviderUrl = (provider: ConnectedAccountProvider) => { switch (provider) { diff --git a/packages/twenty-front/src/modules/settings/admin-panel/components/SettingsAdminGeneral.tsx b/packages/twenty-front/src/modules/settings/admin-panel/components/SettingsAdminGeneral.tsx index 9942e2c55..32785da83 100644 --- a/packages/twenty-front/src/modules/settings/admin-panel/components/SettingsAdminGeneral.tsx +++ b/packages/twenty-front/src/modules/settings/admin-panel/components/SettingsAdminGeneral.tsx @@ -11,7 +11,6 @@ import { t } from '@lingui/core/macro'; import { isNonEmptyString } from '@sniptt/guards'; import { useState } from 'react'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { getImageAbsoluteURI, isDefined } from 'twenty-shared'; import { Button, H2Title, @@ -30,6 +29,7 @@ import { SettingsAdminVersionContainer } from '@/settings/admin-panel/components import { SETTINGS_ADMIN_GENERAL_TABS_ID } from '@/settings/admin-panel/constants/SettingsAdminGeneralTabsId'; import { activeTabIdComponentState } from '@/ui/layout/tab/states/activeTabIdComponentState'; import { useRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentStateV2'; +import { getImageAbsoluteURI, isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx b/packages/twenty-front/src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx index ad97886ef..af463cc20 100644 --- a/packages/twenty-front/src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx +++ b/packages/twenty-front/src/modules/settings/admin-panel/components/SettingsAdminWorkspaceContent.tsx @@ -32,13 +32,13 @@ import { useLingui } from '@lingui/react/macro'; import { isNonEmptyString } from '@sniptt/guards'; import { useState } from 'react'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { getImageAbsoluteURI, isDefined } from 'twenty-shared'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; import { FeatureFlagKey, useImpersonateMutation, useUpdateWorkspaceFeatureFlagMutation, } from '~/generated/graphql'; +import { getImageAbsoluteURI, isDefined } from 'twenty-shared/utils'; type SettingsAdminWorkspaceContentProps = { activeWorkspace: WorkspaceInfo | undefined; diff --git a/packages/twenty-front/src/modules/settings/admin-panel/hooks/useFeatureFlagState.ts b/packages/twenty-front/src/modules/settings/admin-panel/hooks/useFeatureFlagState.ts index c8f885473..f503331e6 100644 --- a/packages/twenty-front/src/modules/settings/admin-panel/hooks/useFeatureFlagState.ts +++ b/packages/twenty-front/src/modules/settings/admin-panel/hooks/useFeatureFlagState.ts @@ -1,7 +1,7 @@ import { userLookupResultState } from '@/settings/admin-panel/states/userLookupResultState'; import { useRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { FeatureFlagKey } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useFeatureFlagState = () => { const [userLookupResult, setUserLookupResult] = useRecoilState( diff --git a/packages/twenty-front/src/modules/settings/components/SettingsListItemCardContent.tsx b/packages/twenty-front/src/modules/settings/components/SettingsListItemCardContent.tsx index 000e11522..11e017a92 100644 --- a/packages/twenty-front/src/modules/settings/components/SettingsListItemCardContent.tsx +++ b/packages/twenty-front/src/modules/settings/components/SettingsListItemCardContent.tsx @@ -2,8 +2,8 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { ReactNode } from 'react'; import { Link } from 'react-router-dom'; -import { isDefined } from 'twenty-shared'; import { CardContent, IconChevronRight, IconComponent } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledRow = styled(CardContent)<{ to?: boolean }>` align-items: center; diff --git a/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItem.tsx b/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItem.tsx index c59678ef4..9dbf2f9e3 100644 --- a/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItem.tsx +++ b/packages/twenty-front/src/modules/settings/components/SettingsNavigationDrawerItem.tsx @@ -4,8 +4,8 @@ import { AdvancedSettingsWrapper } from '@/settings/components/AdvancedSettingsW import { SettingsNavigationItem } from '@/settings/hooks/useSettingsNavigationItems'; import { NavigationDrawerItem } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerItem'; import { NavigationDrawerSubItemState } from '@/ui/navigation/navigation-drawer/types/NavigationDrawerSubItemState'; -import { isDefined } from 'twenty-shared'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { isDefined } from 'twenty-shared/utils'; type SettingsNavigationDrawerItemProps = { item: SettingsNavigationItem; diff --git a/packages/twenty-front/src/modules/settings/components/SettingsPageContainer.tsx b/packages/twenty-front/src/modules/settings/components/SettingsPageContainer.tsx index 329e2f877..1a34c49c5 100644 --- a/packages/twenty-front/src/modules/settings/components/SettingsPageContainer.tsx +++ b/packages/twenty-front/src/modules/settings/components/SettingsPageContainer.tsx @@ -3,7 +3,7 @@ import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile'; import { ScrollWrapper } from '@/ui/utilities/scroll/components/ScrollWrapper'; import styled from '@emotion/styled'; import { ReactNode } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledSettingsPageContainer = styled.div<{ width?: number; diff --git a/packages/twenty-front/src/modules/settings/data-model/components/SettingsDataModelNewFieldBreadcrumbDropDown.tsx b/packages/twenty-front/src/modules/settings/data-model/components/SettingsDataModelNewFieldBreadcrumbDropDown.tsx index e54851513..2a9532a3d 100644 --- a/packages/twenty-front/src/modules/settings/data-model/components/SettingsDataModelNewFieldBreadcrumbDropDown.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/components/SettingsDataModelNewFieldBreadcrumbDropDown.tsx @@ -7,10 +7,10 @@ import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useLocation, useParams, useSearchParams } from 'react-router-dom'; -import { isDefined } from 'twenty-shared'; import { Button, IconChevronDown, MenuItem } from 'twenty-ui'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; import { t } from '@lingui/core/macro'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/settings/data-model/constants/SettingsCompositeFieldTypeConfigs.ts b/packages/twenty-front/src/modules/settings/data-model/constants/SettingsCompositeFieldTypeConfigs.ts index 06d284868..dcb0e671e 100644 --- a/packages/twenty-front/src/modules/settings/data-model/constants/SettingsCompositeFieldTypeConfigs.ts +++ b/packages/twenty-front/src/modules/settings/data-model/constants/SettingsCompositeFieldTypeConfigs.ts @@ -11,7 +11,6 @@ import { } from '@/object-record/record-field/types/FieldMetadata'; import { SettingsFieldTypeConfig } from '@/settings/data-model/constants/SettingsNonCompositeFieldTypeConfigs'; import { CompositeFieldType } from '@/settings/data-model/types/CompositeFieldType'; -import { ConnectedAccountProvider } from 'twenty-shared'; import { IllustrationIconCurrency, IllustrationIconLink, @@ -23,6 +22,7 @@ import { IllustrationIconUser, } from 'twenty-ui'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; export type SettingsCompositeFieldTypeConfig = SettingsFieldTypeConfig & { subFields: (keyof T)[]; diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldIconLabelForm.tsx b/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldIconLabelForm.tsx index 7f37e0848..ec5e077c1 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldIconLabelForm.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/fields/forms/components/SettingsDataModelFieldIconLabelForm.tsx @@ -12,7 +12,6 @@ import { IconPicker } from '@/ui/input/components/IconPicker'; import { TextInput } from '@/ui/input/components/TextInput'; import { useTheme } from '@emotion/react'; import { useLingui } from '@lingui/react/macro'; -import { isDefined } from 'twenty-shared'; import { AppTooltip, Card, @@ -21,6 +20,7 @@ import { TooltipDelay, } from 'twenty-ui'; import { computeMetadataNameFromLabel } from '~/pages/settings/data-model/utils/compute-metadata-name-from-label.utils'; +import { isDefined } from 'twenty-shared/utils'; export const settingsDataModelFieldIconLabelFormSchema = ( existingOtherLabels: string[] = [], diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/SettingsDataModelSetFieldValueEffect.tsx b/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/SettingsDataModelSetFieldValueEffect.tsx index a4068655e..61f582ecb 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/SettingsDataModelSetFieldValueEffect.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/SettingsDataModelSetFieldValueEffect.tsx @@ -4,7 +4,7 @@ import { recordStoreFamilySelector } from '@/object-record/record-store/states/s import { settingsPreviewRecordIdState } from '@/settings/data-model/fields/preview/states/settingsPreviewRecordIdState'; import { useEffect } from 'react'; import { useRecoilValue, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type SettingsDataModelSetFieldValueEffectProps = { recordId: string; diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/preview/hooks/usePreviewRecord.ts b/packages/twenty-front/src/modules/settings/data-model/fields/preview/hooks/usePreviewRecord.ts index 903271e2b..b84ba73e7 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/preview/hooks/usePreviewRecord.ts +++ b/packages/twenty-front/src/modules/settings/data-model/fields/preview/hooks/usePreviewRecord.ts @@ -4,9 +4,9 @@ import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords'; import { isFieldValueEmpty } from '@/object-record/record-field/utils/isFieldValueEmpty'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { getFieldPreviewValue } from '@/settings/data-model/fields/preview/utils/getFieldPreviewValue'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { pascalCase } from '~/utils/string/pascalCase'; +import { isDefined } from 'twenty-shared/utils'; type UsePreviewRecordParams = { objectMetadataItem: Pick< diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getFieldPreviewValue.ts b/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getFieldPreviewValue.ts index e69252c1b..bb1999faa 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getFieldPreviewValue.ts +++ b/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getFieldPreviewValue.ts @@ -3,7 +3,7 @@ import { isFieldValueEmpty } from '@/object-record/record-field/utils/isFieldVal import { generateDefaultFieldValue } from '@/object-record/utils/generateDefaultFieldValue'; import { getSettingsFieldTypeConfig } from '@/settings/data-model/utils/getSettingsFieldTypeConfig'; import { isFieldTypeSupportedInSettings } from '@/settings/data-model/utils/isFieldTypeSupportedInSettings'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type getFieldPreviewValueArgs = { fieldMetadataItem: Pick; diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getMultiSelectFieldPreviewValue.ts b/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getMultiSelectFieldPreviewValue.ts index 77aaed765..622b01c6d 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getMultiSelectFieldPreviewValue.ts +++ b/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getMultiSelectFieldPreviewValue.ts @@ -4,9 +4,9 @@ import { isNonEmptyString } from '@sniptt/guards'; import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { FieldMultiSelectValue } from '@/object-record/record-field/types/FieldMetadata'; import { multiSelectFieldDefaultValueSchema } from '@/object-record/record-field/validation-schemas/multiSelectFieldDefaultValueSchema'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { stripSimpleQuotesFromString } from '~/utils/string/stripSimpleQuotesFromString'; +import { isDefined } from 'twenty-shared/utils'; export const getMultiSelectFieldPreviewValue = ({ fieldMetadataItem, diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getSelectFieldPreviewValue.ts b/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getSelectFieldPreviewValue.ts index ecb16ff37..49c4128c8 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getSelectFieldPreviewValue.ts +++ b/packages/twenty-front/src/modules/settings/data-model/fields/preview/utils/getSelectFieldPreviewValue.ts @@ -3,9 +3,9 @@ import { isNonEmptyString } from '@sniptt/guards'; import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { FieldSelectValue } from '@/object-record/record-field/types/FieldMetadata'; import { selectFieldDefaultValueSchema } from '@/object-record/record-field/validation-schemas/selectFieldDefaultValueSchema'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { stripSimpleQuotesFromString } from '~/utils/string/stripSimpleQuotesFromString'; +import { isDefined } from 'twenty-shared/utils'; export const getSelectFieldPreviewValue = ({ fieldMetadataItem, diff --git a/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverview.tsx b/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverview.tsx index d43a8ddb5..3a7e3a1a3 100644 --- a/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverview.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverview.tsx @@ -20,7 +20,6 @@ import { useReactFlow, } from '@xyflow/react'; import { useCallback, useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { Button, IconButtonGroup, @@ -31,6 +30,7 @@ import { IconPlus, IconX, } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const nodeTypes: NodeTypes = { object: SettingsDataModelOverviewObject, diff --git a/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverviewEffect.tsx b/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverviewEffect.tsx index d22061d8e..3a17937d5 100644 --- a/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverviewEffect.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverviewEffect.tsx @@ -4,8 +4,8 @@ import { Edge, Node } from '@xyflow/react'; import { useEffect } from 'react'; import { useFilteredObjectMetadataItems } from '@/object-metadata/hooks/useFilteredObjectMetadataItems'; -import { isDefined } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; type SettingsDataModelOverviewEffectProps = { setEdges: (edges: Edge[]) => void; diff --git a/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverviewObject.tsx b/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverviewObject.tsx index ee0cb085e..962056b2d 100644 --- a/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverviewObject.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/graph-overview/components/SettingsDataModelOverviewObject.tsx @@ -9,7 +9,6 @@ import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords'; import { ObjectFieldRow } from '@/settings/data-model/graph-overview/components/SettingsDataModelOverviewField'; import { SettingsDataModelObjectTypeTag } from '@/settings/data-model/objects/components/SettingsDataModelObjectTypeTag'; import { getObjectTypeLabel } from '@/settings/data-model/utils/getObjectTypeLabel'; -import { capitalize } from 'twenty-shared'; import { FieldMetadataType } from '~/generated/graphql'; import { ObjectFieldRowWithoutRelation } from '@/settings/data-model/graph-overview/components/SettingsDataModelOverviewFieldWithoutRelation'; @@ -17,6 +16,7 @@ import { SettingsPath } from '@/types/SettingsPath'; import '@xyflow/react/dist/style.css'; import { useState } from 'react'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { capitalize } from 'twenty-shared/utils'; type SettingsDataModelOverviewObjectNode = Node; type SettingsDataModelOverviewObjectProps = diff --git a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx index c196768d2..ca19e4f68 100644 --- a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx @@ -19,7 +19,6 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useMemo } from 'react'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { IconMinus, IconPlus, @@ -33,6 +32,7 @@ import { SettingsObjectDetailTableItem } from '~/pages/settings/data-model/types import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; import { RELATION_TYPES } from '../../constants/RelationTypes'; import { SettingsObjectFieldDataType } from './SettingsObjectFieldDataType'; +import { isDefined } from 'twenty-shared/utils'; type SettingsObjectFieldItemTableRowProps = { settingsObjectDetailTableItem: SettingsObjectDetailTableItem; diff --git a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsUpdateDataModelObjectAboutForm.tsx b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsUpdateDataModelObjectAboutForm.tsx index 9a4d68813..05914fdff 100644 --- a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsUpdateDataModelObjectAboutForm.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsUpdateDataModelObjectAboutForm.tsx @@ -12,10 +12,10 @@ import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; import { zodResolver } from '@hookform/resolvers/zod'; import { FormProvider, useForm } from 'react-hook-form'; import { useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { ZodError } from 'zod'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; import { updatedObjectNamePluralState } from '~/pages/settings/data-model/states/updatedObjectNamePluralState'; +import { isDefined } from 'twenty-shared/utils'; type SettingsUpdateDataModelObjectAboutFormProps = { objectMetadataItem: ObjectMetadataItem; diff --git a/packages/twenty-front/src/modules/settings/data-model/objects/forms/components/SettingsDataModelObjectAboutForm.tsx b/packages/twenty-front/src/modules/settings/data-model/objects/forms/components/SettingsDataModelObjectAboutForm.tsx index 9030da49e..47b3daff0 100644 --- a/packages/twenty-front/src/modules/settings/data-model/objects/forms/components/SettingsDataModelObjectAboutForm.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/objects/forms/components/SettingsDataModelObjectAboutForm.tsx @@ -12,7 +12,6 @@ import styled from '@emotion/styled'; import { useLingui } from '@lingui/react/macro'; import { plural } from 'pluralize'; import { Controller, useFormContext } from 'react-hook-form'; -import { isDefined } from 'twenty-shared'; import { AppTooltip, Card, @@ -22,6 +21,7 @@ import { } from 'twenty-ui'; import { StringKeyOf } from 'type-fest'; import { computeMetadataNameFromLabel } from '~/pages/settings/data-model/utils/compute-metadata-name-from-label.utils'; +import { isDefined } from 'twenty-shared/utils'; type SettingsDataModelObjectAboutFormProps = { disableEdition?: boolean; diff --git a/packages/twenty-front/src/modules/settings/data-model/validation-schemas/__tests__/settingsDataModelObjectAboutFormSchema.test.ts b/packages/twenty-front/src/modules/settings/data-model/validation-schemas/__tests__/settingsDataModelObjectAboutFormSchema.test.ts index e24c54244..63faf5206 100644 --- a/packages/twenty-front/src/modules/settings/data-model/validation-schemas/__tests__/settingsDataModelObjectAboutFormSchema.test.ts +++ b/packages/twenty-front/src/modules/settings/data-model/validation-schemas/__tests__/settingsDataModelObjectAboutFormSchema.test.ts @@ -2,7 +2,7 @@ import { SettingsDataModelObjectAboutFormValues, settingsDataModelObjectAboutFormSchema, } from '@/settings/data-model/validation-schemas/settingsDataModelObjectAboutFormSchema'; -import { EachTestingContext } from 'twenty-shared'; +import { EachTestingContext } from 'twenty-shared/testing'; describe('settingsDataModelObjectAboutFormSchema', () => { const validInput: SettingsDataModelObjectAboutFormValues = { diff --git a/packages/twenty-front/src/modules/settings/developers/components/ApiKeyNameInput.tsx b/packages/twenty-front/src/modules/settings/developers/components/ApiKeyNameInput.tsx index bce4790f2..c077472dd 100644 --- a/packages/twenty-front/src/modules/settings/developers/components/ApiKeyNameInput.tsx +++ b/packages/twenty-front/src/modules/settings/developers/components/ApiKeyNameInput.tsx @@ -6,7 +6,7 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { ApiKey } from '@/settings/developers/types/api-key/ApiKey'; import { TextInput } from '@/ui/input/components/TextInput'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledComboInputContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookTableRow.tsx b/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookTableRow.tsx index 9949efca2..f35e1bad8 100644 --- a/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookTableRow.tsx @@ -5,7 +5,7 @@ import { IconChevronRight } from 'twenty-ui'; import { Webhook } from '@/settings/developers/types/webhook/Webhook'; import { TableCell } from '@/ui/layout/table/components/TableCell'; import { TableRow } from '@/ui/layout/table/components/TableRow'; -import { getUrlHostnameOrThrow, isValidUrl } from 'twenty-shared'; +import { getUrlHostnameOrThrow, isValidUrl } from 'twenty-shared/utils'; export const StyledApisFieldTableRow = styled(TableRow)` grid-template-columns: 1fr 28px; diff --git a/packages/twenty-front/src/modules/settings/developers/hooks/useWebhookUpdateForm.ts b/packages/twenty-front/src/modules/settings/developers/hooks/useWebhookUpdateForm.ts index b008007e4..83b8ae59c 100644 --- a/packages/twenty-front/src/modules/settings/developers/hooks/useWebhookUpdateForm.ts +++ b/packages/twenty-front/src/modules/settings/developers/hooks/useWebhookUpdateForm.ts @@ -6,11 +6,15 @@ import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { Webhook } from '@/settings/developers/types/webhook/Webhook'; import { SettingsPath } from '@/types/SettingsPath'; import { useState } from 'react'; -import { getUrlHostnameOrThrow, isDefined, isValidUrl } from 'twenty-shared'; import { useDebouncedCallback } from 'use-debounce'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; import { WEBHOOK_EMPTY_OPERATION } from '~/pages/settings/developers/webhooks/constants/WebhookEmptyOperation'; import { WebhookOperationType } from '~/pages/settings/developers/webhooks/types/WebhookOperationsType'; +import { + getUrlHostnameOrThrow, + isDefined, + isValidUrl, +} from 'twenty-shared/utils'; type WebhookFormData = { targetUrl: string; diff --git a/packages/twenty-front/src/modules/settings/integrations/components/SettingsIntegrationComponent.tsx b/packages/twenty-front/src/modules/settings/integrations/components/SettingsIntegrationComponent.tsx index 0aa096723..f6f80cfe3 100644 --- a/packages/twenty-front/src/modules/settings/integrations/components/SettingsIntegrationComponent.tsx +++ b/packages/twenty-front/src/modules/settings/integrations/components/SettingsIntegrationComponent.tsx @@ -11,8 +11,7 @@ import { import { SettingsIntegration } from '@/settings/integrations/types/SettingsIntegration'; import { Link } from 'react-router-dom'; - -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; interface SettingsIntegrationComponentProps { integration: SettingsIntegration; diff --git a/packages/twenty-front/src/modules/settings/integrations/database-connection/components/SettingsIntegrationDatabaseConnectionSyncStatus.tsx b/packages/twenty-front/src/modules/settings/integrations/database-connection/components/SettingsIntegrationDatabaseConnectionSyncStatus.tsx index 62a492699..a48e28314 100644 --- a/packages/twenty-front/src/modules/settings/integrations/database-connection/components/SettingsIntegrationDatabaseConnectionSyncStatus.tsx +++ b/packages/twenty-front/src/modules/settings/integrations/database-connection/components/SettingsIntegrationDatabaseConnectionSyncStatus.tsx @@ -1,7 +1,7 @@ import { useGetDatabaseConnectionTables } from '@/databases/hooks/useGetDatabaseConnectionTables'; -import { isDefined } from 'twenty-shared'; import { Status } from 'twenty-ui'; import { RemoteTableStatus } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; type SettingsIntegrationDatabaseConnectionSyncStatusProps = { connectionId: string; diff --git a/packages/twenty-front/src/modules/settings/lab/hooks/useLabPublicFeatureFlags.ts b/packages/twenty-front/src/modules/settings/lab/hooks/useLabPublicFeatureFlags.ts index 204fd97c0..6f66cf636 100644 --- a/packages/twenty-front/src/modules/settings/lab/hooks/useLabPublicFeatureFlags.ts +++ b/packages/twenty-front/src/modules/settings/lab/hooks/useLabPublicFeatureFlags.ts @@ -2,11 +2,11 @@ import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { labPublicFeatureFlagsState } from '@/client-config/states/labPublicFeatureFlagsState'; import { useState } from 'react'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { FeatureFlagKey, useUpdateLabPublicFeatureFlagMutation, } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useLabPublicFeatureFlags = () => { const [error, setError] = useState(null); diff --git a/packages/twenty-front/src/modules/settings/profile/components/ProfilePictureUploader.tsx b/packages/twenty-front/src/modules/settings/profile/components/ProfilePictureUploader.tsx index 07b62aa5a..5da44b8e3 100644 --- a/packages/twenty-front/src/modules/settings/profile/components/ProfilePictureUploader.tsx +++ b/packages/twenty-front/src/modules/settings/profile/components/ProfilePictureUploader.tsx @@ -5,9 +5,9 @@ import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMembe import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { ImageInput } from '@/ui/input/components/ImageInput'; -import { isDefined } from 'twenty-shared'; import { useUploadProfilePictureMutation } from '~/generated/graphql'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; export const ProfilePictureUploader = () => { const [uploadPicture, { loading: isUploading }] = diff --git a/packages/twenty-front/src/modules/settings/roles/components/RolesDefaultRole.tsx b/packages/twenty-front/src/modules/settings/roles/components/RolesDefaultRole.tsx index a479a3f9c..c22974a5e 100644 --- a/packages/twenty-front/src/modules/settings/roles/components/RolesDefaultRole.tsx +++ b/packages/twenty-front/src/modules/settings/roles/components/RolesDefaultRole.tsx @@ -6,13 +6,13 @@ import { SettingsOptionCardContentSelect } from '@/settings/components/SettingsO import { Select } from '@/ui/input/components/Select'; import { t } from '@lingui/core/macro'; import { useRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { Card, H2Title, IconUserPin, Section } from 'twenty-ui'; import { Role, UpdateWorkspaceMutation, useUpdateWorkspaceMutation, } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const RolesDefaultRole = ({ roles }: { roles: Role[] }) => { const [updateWorkspace] = useUpdateWorkspaceMutation(); diff --git a/packages/twenty-front/src/modules/settings/roles/hooks/useHasObjectReadOnlyPermission.ts b/packages/twenty-front/src/modules/settings/roles/hooks/useHasObjectReadOnlyPermission.ts index 9cb92ba9d..fc81010cd 100644 --- a/packages/twenty-front/src/modules/settings/roles/hooks/useHasObjectReadOnlyPermission.ts +++ b/packages/twenty-front/src/modules/settings/roles/hooks/useHasObjectReadOnlyPermission.ts @@ -1,8 +1,9 @@ import { currentUserWorkspaceState } from '@/auth/states/currentUserWorkspaceState'; import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; import { useRecoilValue } from 'recoil'; -import { isDefined, PermissionsOnAllObjectRecords } from 'twenty-shared'; import { FeatureFlagKey } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; +import { PermissionsOnAllObjectRecords } from 'twenty-shared/constants'; export const useHasObjectReadOnlyPermission = () => { const currentUserWorkspace = useRecoilValue(currentUserWorkspaceState); diff --git a/packages/twenty-front/src/modules/settings/roles/hooks/useHasSettingsPermission.ts b/packages/twenty-front/src/modules/settings/roles/hooks/useHasSettingsPermission.ts index a3ab2da41..367289de5 100644 --- a/packages/twenty-front/src/modules/settings/roles/hooks/useHasSettingsPermission.ts +++ b/packages/twenty-front/src/modules/settings/roles/hooks/useHasSettingsPermission.ts @@ -1,8 +1,8 @@ import { currentUserWorkspaceState } from '@/auth/states/currentUserWorkspaceState'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { useRecoilValue } from 'recoil'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { SettingsPermissions } from '~/generated/graphql'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; export const useHasSettingsPermission = ( settingsPermission?: SettingsPermissions, diff --git a/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx b/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx index 3674a1d9f..99ea1c2c5 100644 --- a/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx +++ b/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSSOSAMLForm.tsx @@ -9,7 +9,6 @@ import styled from '@emotion/styled'; import { useLingui } from '@lingui/react/macro'; import { ChangeEvent, useRef } from 'react'; import { useFormContext } from 'react-hook-form'; -import { isDefined } from 'twenty-shared'; import { Button, H2Title, @@ -21,6 +20,7 @@ import { Section, } from 'twenty-ui'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; +import { isDefined } from 'twenty-shared/utils'; const StyledUploadFileContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSecuritySSORowDropdownMenu.tsx b/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSecuritySSORowDropdownMenu.tsx index 507720a6e..2be6ba6d1 100644 --- a/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSecuritySSORowDropdownMenu.tsx +++ b/packages/twenty-front/src/modules/settings/security/components/SSO/SettingsSecuritySSORowDropdownMenu.tsx @@ -18,8 +18,8 @@ import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/Drop import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { useLingui } from '@lingui/react/macro'; import { UnwrapRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { SsoIdentityProviderStatus } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; type SettingsSecuritySSORowDropdownMenuProps = { SSOIdp: UnwrapRecoilValue[0]; diff --git a/packages/twenty-front/src/modules/settings/security/components/SettingsSecurityAuthProvidersOptionsList.tsx b/packages/twenty-front/src/modules/settings/security/components/SettingsSecurityAuthProvidersOptionsList.tsx index ddaf43cf0..a62d17bfd 100644 --- a/packages/twenty-front/src/modules/settings/security/components/SettingsSecurityAuthProvidersOptionsList.tsx +++ b/packages/twenty-front/src/modules/settings/security/components/SettingsSecurityAuthProvidersOptionsList.tsx @@ -7,7 +7,6 @@ import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; import styled from '@emotion/styled'; import { useLingui } from '@lingui/react/macro'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { capitalize, ConnectedAccountProvider } from 'twenty-shared'; import { Card, IconGoogle, @@ -17,6 +16,8 @@ import { } from 'twenty-ui'; import { AuthProviders } from '~/generated-metadata/graphql'; import { useUpdateWorkspaceMutation } from '~/generated/graphql'; +import { capitalize } from 'twenty-shared/utils'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; const StyledSettingsSecurityOptionsList = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/settings/security/components/approvedAccessDomains/SettingsSecurityApprovedAccessDomainRowDropdownMenu.tsx b/packages/twenty-front/src/modules/settings/security/components/approvedAccessDomains/SettingsSecurityApprovedAccessDomainRowDropdownMenu.tsx index 4629defdd..e70defe76 100644 --- a/packages/twenty-front/src/modules/settings/security/components/approvedAccessDomains/SettingsSecurityApprovedAccessDomainRowDropdownMenu.tsx +++ b/packages/twenty-front/src/modules/settings/security/components/approvedAccessDomains/SettingsSecurityApprovedAccessDomainRowDropdownMenu.tsx @@ -11,9 +11,9 @@ import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { UnwrapRecoilValue, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { useDeleteApprovedAccessDomainMutation } from '~/generated/graphql'; import { approvedAccessDomainsState } from '@/settings/security/states/ApprovedAccessDomainsState'; +import { isDefined } from 'twenty-shared/utils'; type SettingsSecurityApprovedAccessDomainRowDropdownMenuProps = { approvedAccessDomain: UnwrapRecoilValue[0]; diff --git a/packages/twenty-front/src/modules/settings/security/components/approvedAccessDomains/SettingsSecurityApprovedAccessDomainValidationEffect.tsx b/packages/twenty-front/src/modules/settings/security/components/approvedAccessDomains/SettingsSecurityApprovedAccessDomainValidationEffect.tsx index a37761aca..6c133900e 100644 --- a/packages/twenty-front/src/modules/settings/security/components/approvedAccessDomains/SettingsSecurityApprovedAccessDomainValidationEffect.tsx +++ b/packages/twenty-front/src/modules/settings/security/components/approvedAccessDomains/SettingsSecurityApprovedAccessDomainValidationEffect.tsx @@ -1,9 +1,9 @@ import { useEffect } from 'react'; -import { isDefined } from 'twenty-shared'; import { useValidateApprovedAccessDomainMutation } from '~/generated/graphql'; import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; import { useSearchParams } from 'react-router-dom'; import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar'; +import { isDefined } from 'twenty-shared/utils'; export const SettingsSecurityApprovedAccessDomainValidationEffect = () => { const [validateApprovedAccessDomainMutation] = diff --git a/packages/twenty-front/src/modules/settings/serverless-functions/components/SettingsServerlessFunctionCodeEditor.tsx b/packages/twenty-front/src/modules/settings/serverless-functions/components/SettingsServerlessFunctionCodeEditor.tsx index 553453794..1fbe480c5 100644 --- a/packages/twenty-front/src/modules/settings/serverless-functions/components/SettingsServerlessFunctionCodeEditor.tsx +++ b/packages/twenty-front/src/modules/settings/serverless-functions/components/SettingsServerlessFunctionCodeEditor.tsx @@ -4,8 +4,8 @@ import dotenv from 'dotenv'; import { editor, MarkerSeverity } from 'monaco-editor'; import { AutoTypings } from 'monaco-editor-auto-typings'; import { useParams } from 'react-router-dom'; -import { isDefined } from 'twenty-shared'; import { CodeEditor } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export type File = { language: string; diff --git a/packages/twenty-front/src/modules/settings/workspace/components/NameField.tsx b/packages/twenty-front/src/modules/settings/workspace/components/NameField.tsx index d52f92681..d42d0ac7e 100644 --- a/packages/twenty-front/src/modules/settings/workspace/components/NameField.tsx +++ b/packages/twenty-front/src/modules/settings/workspace/components/NameField.tsx @@ -7,10 +7,10 @@ import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { TextInput } from '@/ui/input/components/TextInput'; import { useLingui } from '@lingui/react/macro'; import isEmpty from 'lodash.isempty'; -import { isDefined } from 'twenty-shared'; import { useUpdateWorkspaceMutation } from '~/generated/graphql'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; import { logError } from '~/utils/logError'; +import { isDefined } from 'twenty-shared/utils'; const StyledComboInputContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/sign-in-background-mock/components/SignInBackgroundMockContainer.tsx b/packages/twenty-front/src/modules/sign-in-background-mock/components/SignInBackgroundMockContainer.tsx index ba8786471..9bb25d931 100644 --- a/packages/twenty-front/src/modules/sign-in-background-mock/components/SignInBackgroundMockContainer.tsx +++ b/packages/twenty-front/src/modules/sign-in-background-mock/components/SignInBackgroundMockContainer.tsx @@ -15,7 +15,7 @@ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/ import { ViewBar } from '@/views/components/ViewBar'; import { ViewComponentInstanceContext } from '@/views/states/contexts/ViewComponentInstanceContext'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/spreadsheet-import/__mocks__/mockRsiValues.ts b/packages/twenty-front/src/modules/spreadsheet-import/__mocks__/mockRsiValues.ts index 6bbf012e9..80e6d963e 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/__mocks__/mockRsiValues.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/__mocks__/mockRsiValues.ts @@ -4,8 +4,8 @@ import { Fields, SpreadsheetImportDialogOptions, } from '@/spreadsheet-import/types'; -import { FieldMetadataType } from 'twenty-shared'; import { sleep } from '~/utils/sleep'; +import { FieldMetadataType } from 'twenty-shared/types'; const fields = [ { diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/TemplateColumn.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/TemplateColumn.tsx index 003a2d87f..a29a51404 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/TemplateColumn.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/TemplateColumn.tsx @@ -3,9 +3,8 @@ import { IconForbid } from 'twenty-ui'; import { MatchColumnSelect } from '@/spreadsheet-import/components/MatchColumnSelect'; import { useSpreadsheetImportInternal } from '@/spreadsheet-import/hooks/useSpreadsheetImportInternal'; - -import { FieldMetadataType } from 'twenty-shared'; import { Columns, ColumnType } from '../MatchColumnsStep'; +import { FieldMetadataType } from 'twenty-shared/types'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/UnmatchColumn.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/UnmatchColumn.tsx index 70b282a17..c3ab63b7c 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/UnmatchColumn.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/UnmatchColumn.tsx @@ -5,8 +5,8 @@ import { Column } from '@/spreadsheet-import/steps/components/MatchColumnsStep/M import { Fields } from '@/spreadsheet-import/types'; import styled from '@emotion/styled'; import { useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { AnimatedExpandableContainer } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const getExpandableContainerTitle = ( fields: Fields, diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/UserTableColumn.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/UserTableColumn.tsx index a3b84f4c7..1330472aa 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/UserTableColumn.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/MatchColumnsStep/components/UserTableColumn.tsx @@ -1,9 +1,9 @@ import styled from '@emotion/styled'; import { ImportedRow } from '@/spreadsheet-import/types'; -import { isDefined } from 'twenty-shared'; import { Column } from '../MatchColumnsStep'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/ValidationStep/ValidationStep.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/ValidationStep/ValidationStep.tsx index 7a28439ac..98b94eb56 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/ValidationStep/ValidationStep.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/ValidationStep/ValidationStep.tsx @@ -25,10 +25,10 @@ import { } from 'react'; // @ts-expect-error Todo: remove usage of react-data-grid` import { RowsChangeData } from 'react-data-grid'; -import { isDefined } from 'twenty-shared'; import { Button, IconTrash, Toggle } from 'twenty-ui'; import { generateColumns } from './components/columns'; import { ImportedStructuredRowMetadata } from './types'; +import { isDefined } from 'twenty-shared/utils'; const StyledContent = styled(Modal.Content)` padding-left: ${({ theme }) => theme.spacing(6)}; diff --git a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/ValidationStep/components/columns.tsx b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/ValidationStep/components/columns.tsx index c5f1516c6..3b2cd9f72 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/steps/components/ValidationStep/components/columns.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/steps/components/ValidationStep/components/columns.tsx @@ -7,9 +7,9 @@ import { AppTooltip, Checkbox, CheckboxVariant, Toggle } from 'twenty-ui'; import { MatchColumnSelect } from '@/spreadsheet-import/components/MatchColumnSelect'; import { Fields, ImportedStructuredRow } from '@/spreadsheet-import/types'; import { TextInput } from '@/ui/input/components/TextInput'; -import { isDefined } from 'twenty-shared'; import { ImportedStructuredRowMetadata } from '../types'; +import { isDefined } from 'twenty-shared/utils'; const StyledHeaderContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/spreadsheet-import/types/index.ts b/packages/twenty-front/src/modules/spreadsheet-import/types/index.ts index fcbd5b345..d41e8e60b 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/types/index.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/types/index.ts @@ -4,7 +4,7 @@ import { ReadonlyDeep } from 'type-fest'; import { Columns } from '@/spreadsheet-import/steps/components/MatchColumnsStep/MatchColumnsStep'; import { ImportedStructuredRowMetadata } from '@/spreadsheet-import/steps/components/ValidationStep/types'; import { SpreadsheetImportStep } from '@/spreadsheet-import/steps/types/SpreadsheetImportStep'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; export type SpreadsheetImportDialogOptions = { // Is modal visible. diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/dataMutations.test.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/dataMutations.test.ts index e461b438c..ed922a910 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/dataMutations.test.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/dataMutations.test.ts @@ -6,7 +6,7 @@ import { TableHook, } from '@/spreadsheet-import/types'; import { addErrorsAndRunHooks } from '@/spreadsheet-import/utils/dataMutations'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; describe('addErrorsAndRunHooks', () => { type FullData = ImportedStructuredRow<'name' | 'age' | 'country'>; diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/findMatch.test.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/findMatch.test.ts index d31c3dafa..e48ae12e5 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/findMatch.test.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/findMatch.test.ts @@ -1,6 +1,7 @@ import { Field } from '@/spreadsheet-import/types'; import { findMatch } from '@/spreadsheet-import/utils/findMatch'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; + describe('findMatch', () => { const defaultField: Field<'defaultField'> = { key: 'defaultField', diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/findUnmatchedRequiredFields.test.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/findUnmatchedRequiredFields.test.ts index cd0d805f9..b58274eba 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/findUnmatchedRequiredFields.test.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/findUnmatchedRequiredFields.test.ts @@ -4,7 +4,7 @@ import { } from '@/spreadsheet-import/steps/components/MatchColumnsStep/MatchColumnsStep'; import { Field, FieldValidationDefinition } from '@/spreadsheet-import/types'; import { findUnmatchedRequiredFields } from '@/spreadsheet-import/utils/findUnmatchedRequiredFields'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; const nameField: Field<'Name'> = { key: 'Name', diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/generateExampleRow.test.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/generateExampleRow.test.ts index c1c753789..ab7285f6e 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/generateExampleRow.test.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/generateExampleRow.test.ts @@ -1,6 +1,6 @@ import { Field } from '@/spreadsheet-import/types'; import { generateExampleRow } from '@/spreadsheet-import/utils/generateExampleRow'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; describe('generateExampleRow', () => { const defaultField: Field<'defaultField'> = { diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/getFieldOptions.test.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/getFieldOptions.test.ts index ae9f0859c..0e54a636c 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/getFieldOptions.test.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/getFieldOptions.test.ts @@ -1,6 +1,6 @@ import { Field } from '@/spreadsheet-import/types'; import { getFieldOptions } from '@/spreadsheet-import/utils/getFieldOptions'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; describe('getFieldOptions', () => { const optionsArray = [ diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/getMatchedColumns.test.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/getMatchedColumns.test.ts index e988fa25c..375ce5ff3 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/getMatchedColumns.test.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/getMatchedColumns.test.ts @@ -4,7 +4,7 @@ import { } from '@/spreadsheet-import/steps/components/MatchColumnsStep/MatchColumnsStep'; import { Field } from '@/spreadsheet-import/types'; import { getMatchedColumns } from '@/spreadsheet-import/utils/getMatchedColumns'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; describe('getMatchedColumns', () => { const columns: Column[] = [ diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/normalizeTableData.test.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/normalizeTableData.test.ts index 8464691c4..98f2511c2 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/normalizeTableData.test.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/normalizeTableData.test.ts @@ -4,7 +4,7 @@ import { } from '@/spreadsheet-import/steps/components/MatchColumnsStep/MatchColumnsStep'; import { Field } from '@/spreadsheet-import/types'; import { normalizeTableData } from '@/spreadsheet-import/utils/normalizeTableData'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; describe('normalizeTableData', () => { const columns: Column[] = [ diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/setColumn.test.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/setColumn.test.ts index b8d69324b..5c578cc80 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/setColumn.test.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/__tests__/setColumn.test.ts @@ -4,7 +4,7 @@ import { } from '@/spreadsheet-import/steps/components/MatchColumnsStep/MatchColumnsStep'; import { Field } from '@/spreadsheet-import/types'; import { setColumn } from '@/spreadsheet-import/utils/setColumn'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; describe('setColumn', () => { const defaultField: Field<'Name'> = { diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/dataMutations.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/dataMutations.ts index 9226bef30..b14d8fc54 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/dataMutations.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/dataMutations.ts @@ -12,8 +12,8 @@ import { RowHook, TableHook, } from '@/spreadsheet-import/types'; -import { isDefined } from 'twenty-shared'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; export const addErrorsAndRunHooks = ( data: (ImportedStructuredRow & Partial)[], diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/getMatchedColumns.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/getMatchedColumns.ts index 18db70610..3540b7aa0 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/getMatchedColumns.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/getMatchedColumns.ts @@ -6,10 +6,10 @@ import { MatchColumnsStepProps, } from '@/spreadsheet-import/steps/components/MatchColumnsStep/MatchColumnsStep'; import { Field, Fields } from '@/spreadsheet-import/types'; -import { isDefined } from 'twenty-shared'; import { findMatch } from './findMatch'; import { setColumn } from './setColumn'; +import { isDefined } from 'twenty-shared/utils'; export const getMatchedColumns = ( columns: Columns, diff --git a/packages/twenty-front/src/modules/spreadsheet-import/utils/normalizeTableData.ts b/packages/twenty-front/src/modules/spreadsheet-import/utils/normalizeTableData.ts index 729f476f4..247cdd0df 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/utils/normalizeTableData.ts +++ b/packages/twenty-front/src/modules/spreadsheet-import/utils/normalizeTableData.ts @@ -7,10 +7,9 @@ import { ImportedRow, ImportedStructuredRow, } from '@/spreadsheet-import/types'; - -import { isDefined } from 'twenty-shared'; import { z } from 'zod'; import { normalizeCheckboxValue } from './normalizeCheckboxValue'; +import { isDefined } from 'twenty-shared/utils'; export const normalizeTableData = ( columns: Columns, diff --git a/packages/twenty-front/src/modules/support/hooks/useSupportChat.ts b/packages/twenty-front/src/modules/support/hooks/useSupportChat.ts index ca8ea5193..3abf75ab0 100644 --- a/packages/twenty-front/src/modules/support/hooks/useSupportChat.ts +++ b/packages/twenty-front/src/modules/support/hooks/useSupportChat.ts @@ -5,8 +5,8 @@ import { useIsPrefetchLoading } from '@/prefetch/hooks/useIsPrefetchLoading'; import { isNonEmptyString } from '@sniptt/guards'; import { useCallback, useEffect, useState } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { User, WorkspaceMember } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; const insertScript = ({ src, diff --git a/packages/twenty-front/src/modules/ui/feedback/dialog-manager/components/Dialog.tsx b/packages/twenty-front/src/modules/ui/feedback/dialog-manager/components/Dialog.tsx index 4dbdc6295..468a23ca0 100644 --- a/packages/twenty-front/src/modules/ui/feedback/dialog-manager/components/Dialog.tsx +++ b/packages/twenty-front/src/modules/ui/feedback/dialog-manager/components/Dialog.tsx @@ -4,10 +4,10 @@ import { useCallback } from 'react'; import { Key } from 'ts-key-enum'; import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; -import { isDefined } from 'twenty-shared'; import { Button } from 'twenty-ui'; import { DialogHotkeyScope } from '../types/DialogHotkeyScope'; +import { isDefined } from 'twenty-shared/utils'; const StyledDialogOverlay = styled(motion.div)` align-items: center; diff --git a/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx b/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx index 2ca2660b1..77bb1d7d8 100644 --- a/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx +++ b/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/components/SnackBar.tsx @@ -15,8 +15,7 @@ import { ProgressBar, useProgressAnimation, } from 'twenty-ui'; - -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export enum SnackBarVariant { Default = 'default', diff --git a/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts b/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts index 1e143eaee..f55f2b57d 100644 --- a/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts +++ b/packages/twenty-front/src/modules/ui/feedback/snack-bar-manager/hooks/useSnackBar.ts @@ -1,6 +1,5 @@ import { useCallback } from 'react'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { v4 as uuidv4 } from 'uuid'; import { SnackBarManagerScopeInternalContext } from '@/ui/feedback/snack-bar-manager/scopes/scope-internal-context/SnackBarManagerScopeInternalContext'; @@ -9,6 +8,7 @@ import { SnackBarOptions, } from '@/ui/feedback/snack-bar-manager/states/snackBarInternalScopedState'; import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId'; +import { isDefined } from 'twenty-shared/utils'; export const useSnackBar = () => { const scopeId = useAvailableScopeIdOrThrow( diff --git a/packages/twenty-front/src/modules/ui/field/display/components/ActorDisplay.tsx b/packages/twenty-front/src/modules/ui/field/display/components/ActorDisplay.tsx index 52b556908..ac7e0e7da 100644 --- a/packages/twenty-front/src/modules/ui/field/display/components/ActorDisplay.tsx +++ b/packages/twenty-front/src/modules/ui/field/display/components/ActorDisplay.tsx @@ -1,5 +1,4 @@ import { FieldActorValue } from '@/object-record/record-field/types/FieldMetadata'; -import { ConnectedAccountProvider } from 'twenty-shared'; import { useMemo } from 'react'; import { @@ -16,6 +15,7 @@ import { IconSettingsAutomation, IconWebhook, } from 'twenty-ui'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; type ActorDisplayProps = Partial & { avatarUrl?: string | null; diff --git a/packages/twenty-front/src/modules/ui/field/display/components/CurrencyDisplay.tsx b/packages/twenty-front/src/modules/ui/field/display/components/CurrencyDisplay.tsx index eebff913e..ce8f93778 100644 --- a/packages/twenty-front/src/modules/ui/field/display/components/CurrencyDisplay.tsx +++ b/packages/twenty-front/src/modules/ui/field/display/components/CurrencyDisplay.tsx @@ -3,9 +3,9 @@ import { styled } from '@linaria/react'; import { FieldCurrencyValue } from '@/object-record/record-field/types/FieldMetadata'; import { SETTINGS_FIELD_CURRENCY_CODES } from '@/settings/data-model/constants/SettingsFieldCurrencyCodes'; -import { isDefined } from 'twenty-shared'; import { formatAmount } from '~/utils/format/formatAmount'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; type CurrencyDisplayProps = { currencyValue: FieldCurrencyValue | null | undefined; diff --git a/packages/twenty-front/src/modules/ui/field/display/components/EmailDisplay.tsx b/packages/twenty-front/src/modules/ui/field/display/components/EmailDisplay.tsx index f5ae25ed1..bdfa4d087 100644 --- a/packages/twenty-front/src/modules/ui/field/display/components/EmailDisplay.tsx +++ b/packages/twenty-front/src/modules/ui/field/display/components/EmailDisplay.tsx @@ -1,9 +1,8 @@ import { MouseEvent } from 'react'; -import { isDefined } from 'twenty-shared'; - import { ContactLink } from 'twenty-ui'; import { EllipsisDisplay } from './EllipsisDisplay'; +import { isDefined } from 'twenty-shared/utils'; const validateEmail = (email: string) => { // const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; diff --git a/packages/twenty-front/src/modules/ui/field/display/components/EmailsDisplay.tsx b/packages/twenty-front/src/modules/ui/field/display/components/EmailsDisplay.tsx index 7d71c0e78..260dfd543 100644 --- a/packages/twenty-front/src/modules/ui/field/display/components/EmailsDisplay.tsx +++ b/packages/twenty-front/src/modules/ui/field/display/components/EmailsDisplay.tsx @@ -4,7 +4,7 @@ import { RoundedLink, THEME_COMMON } from 'twenty-ui'; import { FieldEmailsValue } from '@/object-record/record-field/types/FieldMetadata'; import { ExpandableList } from '@/ui/layout/expandable-list/components/ExpandableList'; import styled from '@emotion/styled'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type EmailsDisplayProps = { value?: FieldEmailsValue; diff --git a/packages/twenty-front/src/modules/ui/field/display/components/LinksDisplay.tsx b/packages/twenty-front/src/modules/ui/field/display/components/LinksDisplay.tsx index e937a440b..372c4b715 100644 --- a/packages/twenty-front/src/modules/ui/field/display/components/LinksDisplay.tsx +++ b/packages/twenty-front/src/modules/ui/field/display/components/LinksDisplay.tsx @@ -3,12 +3,12 @@ import { LinkType, RoundedLink, SocialLink } from 'twenty-ui'; import { FieldLinksValue } from '@/object-record/record-field/types/FieldMetadata'; import { ExpandableList } from '@/ui/layout/expandable-list/components/ExpandableList'; +import { checkUrlType } from '~/utils/checkUrlType'; import { getAbsoluteUrlOrThrow, getUrlHostnameOrThrow, isDefined, -} from 'twenty-shared'; -import { checkUrlType } from '~/utils/checkUrlType'; +} from 'twenty-shared/utils'; type LinksDisplayProps = { value?: FieldLinksValue; diff --git a/packages/twenty-front/src/modules/ui/field/display/components/PhoneDisplay.tsx b/packages/twenty-front/src/modules/ui/field/display/components/PhoneDisplay.tsx index 7c823d8ec..03cb2cc79 100644 --- a/packages/twenty-front/src/modules/ui/field/display/components/PhoneDisplay.tsx +++ b/packages/twenty-front/src/modules/ui/field/display/components/PhoneDisplay.tsx @@ -1,8 +1,7 @@ import { parsePhoneNumber, PhoneNumber } from 'libphonenumber-js'; import { MouseEvent } from 'react'; import { ContactLink } from 'twenty-ui'; - -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; interface PhoneDisplayProps { value: PhoneDisplayValueProps; diff --git a/packages/twenty-front/src/modules/ui/field/display/components/PhonesDisplay.tsx b/packages/twenty-front/src/modules/ui/field/display/components/PhonesDisplay.tsx index 585ad3949..3d35d8606 100644 --- a/packages/twenty-front/src/modules/ui/field/display/components/PhonesDisplay.tsx +++ b/packages/twenty-front/src/modules/ui/field/display/components/PhonesDisplay.tsx @@ -7,8 +7,8 @@ import { ExpandableList } from '@/ui/layout/expandable-list/components/Expandabl import { DEFAULT_PHONE_CALLING_CODE } from '@/object-record/record-field/meta-types/input/components/PhonesFieldInput'; import { parsePhoneNumber } from 'libphonenumber-js'; -import { isDefined } from 'twenty-shared'; import { logError } from '~/utils/logError'; +import { isDefined } from 'twenty-shared/utils'; type PhonesDisplayProps = { value?: FieldPhonesValue; diff --git a/packages/twenty-front/src/modules/ui/field/input/components/AddressInput.tsx b/packages/twenty-front/src/modules/ui/field/input/components/AddressInput.tsx index fa635a01d..a50e1722a 100644 --- a/packages/twenty-front/src/modules/ui/field/input/components/AddressInput.tsx +++ b/packages/twenty-front/src/modules/ui/field/input/components/AddressInput.tsx @@ -12,8 +12,8 @@ import { activeDropdownFocusIdState } from '@/ui/layout/dropdown/states/activeDr import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { MOBILE_VIEWPORT } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledAddressContainer = styled.div` padding: 4px 8px; diff --git a/packages/twenty-front/src/modules/ui/field/input/components/DoubleTextInput.tsx b/packages/twenty-front/src/modules/ui/field/input/components/DoubleTextInput.tsx index d5e092950..866be0646 100644 --- a/packages/twenty-front/src/modules/ui/field/input/components/DoubleTextInput.tsx +++ b/packages/twenty-front/src/modules/ui/field/input/components/DoubleTextInput.tsx @@ -10,13 +10,13 @@ import { Key } from 'ts-key-enum'; import { FieldDoubleText } from '@/object-record/record-field/types/FieldDoubleText'; import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; -import { isDefined } from 'twenty-shared'; import { FieldInputContainer } from '@/ui/field/input/components/FieldInputContainer'; import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside'; import { splitFullName } from '~/utils/format/spiltFullName'; import { turnIntoEmptyStringIfWhitespacesOnly } from '~/utils/string/turnIntoEmptyStringIfWhitespacesOnly'; import { StyledTextInput } from './TextInput'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/ui/field/input/components/MultiSelectInput.tsx b/packages/twenty-front/src/modules/ui/field/input/components/MultiSelectInput.tsx index bed8f380c..a231f89ae 100644 --- a/packages/twenty-front/src/modules/ui/field/input/components/MultiSelectInput.tsx +++ b/packages/twenty-front/src/modules/ui/field/input/components/MultiSelectInput.tsx @@ -13,9 +13,9 @@ import { useSelectableListStates } from '@/ui/layout/selectable-list/hooks/inter import { useSelectableList } from '@/ui/layout/selectable-list/hooks/useSelectableList'; import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside'; -import { isDefined } from 'twenty-shared'; import { MenuItemMultiSelectTag } from 'twenty-ui'; import { turnIntoEmptyStringIfWhitespacesOnly } from '~/utils/string/turnIntoEmptyStringIfWhitespacesOnly'; +import { isDefined } from 'twenty-shared/utils'; type MultiSelectInputProps = { selectableListComponentInstanceId: string; diff --git a/packages/twenty-front/src/modules/ui/field/input/components/TextAreaInput.tsx b/packages/twenty-front/src/modules/ui/field/input/components/TextAreaInput.tsx index 53dc1a871..ff4a40b30 100644 --- a/packages/twenty-front/src/modules/ui/field/input/components/TextAreaInput.tsx +++ b/packages/twenty-front/src/modules/ui/field/input/components/TextAreaInput.tsx @@ -5,8 +5,8 @@ import { TEXT_INPUT_STYLE } from 'twenty-ui'; import { LightCopyIconButton } from '@/object-record/record-field/components/LightCopyIconButton'; import { useRegisterInputEvents } from '@/object-record/record-field/meta-types/input/hooks/useRegisterInputEvents'; -import { isDefined } from 'twenty-shared'; import { turnIntoEmptyStringIfWhitespacesOnly } from '~/utils/string/turnIntoEmptyStringIfWhitespacesOnly'; +import { isDefined } from 'twenty-shared/utils'; export type TextAreaInputProps = { disabled?: boolean; diff --git a/packages/twenty-front/src/modules/ui/input/components/ImageInput.tsx b/packages/twenty-front/src/modules/ui/input/components/ImageInput.tsx index 1aaeed14d..61ee2674f 100644 --- a/packages/twenty-front/src/modules/ui/input/components/ImageInput.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/ImageInput.tsx @@ -4,9 +4,9 @@ import { Trans, useLingui } from '@lingui/react/macro'; import { isNonEmptyString } from '@sniptt/guards'; import React from 'react'; -import { getImageAbsoluteURI, isDefined } from 'twenty-shared'; import { Button, IconPhotoUp, IconTrash, IconUpload, IconX } from 'twenty-ui'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; +import { getImageAbsoluteURI, isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/ui/input/components/Select.tsx b/packages/twenty-front/src/modules/ui/input/components/Select.tsx index 06d101ba9..1577b8fd8 100644 --- a/packages/twenty-front/src/modules/ui/input/components/Select.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/Select.tsx @@ -9,8 +9,8 @@ import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownM import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { SelectControl } from '@/ui/input/components/SelectControl'; -import { isDefined } from 'twenty-shared'; import { SelectHotkeyScope } from '../types/SelectHotkeyScope'; +import { isDefined } from 'twenty-shared/utils'; export type SelectOption = { value: Value; diff --git a/packages/twenty-front/src/modules/ui/input/components/SelectControl.tsx b/packages/twenty-front/src/modules/ui/input/components/SelectControl.tsx index 7946af065..04e6e3366 100644 --- a/packages/twenty-front/src/modules/ui/input/components/SelectControl.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/SelectControl.tsx @@ -1,8 +1,8 @@ import { SelectOption, SelectSizeVariant } from '@/ui/input/components/Select'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; -import { isDefined } from 'twenty-shared'; import { IconChevronDown, OverflowingTextWithTooltip } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledControlContainer = styled.div<{ disabled?: boolean; diff --git a/packages/twenty-front/src/modules/ui/input/components/SelectInput.tsx b/packages/twenty-front/src/modules/ui/input/components/SelectInput.tsx index 94ded0928..4d90f9e7b 100644 --- a/packages/twenty-front/src/modules/ui/input/components/SelectInput.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/SelectInput.tsx @@ -8,8 +8,8 @@ import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside'; import { useEffect, useMemo, useRef, useState } from 'react'; import { Key } from 'ts-key-enum'; -import { isDefined } from 'twenty-shared'; import { MenuItemSelectTag, TagColor } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; interface SelectInputProps { onOptionSelected: (selectedOption: SelectOption) => void; diff --git a/packages/twenty-front/src/modules/ui/input/components/TextInput.tsx b/packages/twenty-front/src/modules/ui/input/components/TextInput.tsx index 666b181ef..9262451f0 100644 --- a/packages/twenty-front/src/modules/ui/input/components/TextInput.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/TextInput.tsx @@ -8,7 +8,7 @@ import { import { InputHotkeyScope } from '@/ui/input/types/InputHotkeyScope'; import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousHotkeyScope'; import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export type TextInputProps = TextInputV2ComponentProps & { disableHotkeys?: boolean; diff --git a/packages/twenty-front/src/modules/ui/input/components/internal/date/components/DateTimeInput.tsx b/packages/twenty-front/src/modules/ui/input/components/internal/date/components/DateTimeInput.tsx index c60bc19ab..6ee480858 100644 --- a/packages/twenty-front/src/modules/ui/input/components/internal/date/components/DateTimeInput.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/internal/date/components/DateTimeInput.tsx @@ -12,7 +12,7 @@ import { MIN_DATE } from '@/ui/input/components/internal/date/constants/MinDate' import { parseDateToString } from '@/ui/input/components/internal/date/utils/parseDateToString'; import { parseStringToDate } from '@/ui/input/components/internal/date/utils/parseStringToDate'; import { isNull } from '@sniptt/guards'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledInputContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/ui/input/components/internal/date/components/InternalDatePicker.tsx b/packages/twenty-front/src/modules/ui/input/components/internal/date/components/InternalDatePicker.tsx index c90abedbd..2a78e10b6 100644 --- a/packages/twenty-front/src/modules/ui/input/components/internal/date/components/InternalDatePicker.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/internal/date/components/InternalDatePicker.tsx @@ -8,7 +8,6 @@ import { } from 'twenty-ui'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; -import { isDefined } from 'twenty-shared'; import { AbsoluteDatePickerHeader } from '@/ui/input/components/internal/date/components/AbsoluteDatePickerHeader'; import { DateTimeInput } from '@/ui/input/components/internal/date/components/DateTimeInput'; @@ -22,6 +21,7 @@ import { import { t } from '@lingui/core/macro'; import { useContext } from 'react'; import 'react-datepicker/dist/react-datepicker.css'; +import { isDefined } from 'twenty-shared/utils'; export const MONTH_AND_YEAR_DROPDOWN_ID = 'date-picker-month-and-year-dropdown'; export const MONTH_AND_YEAR_DROPDOWN_MONTH_SELECT_ID = diff --git a/packages/twenty-front/src/modules/ui/input/components/internal/date/components/__stories__/InternalDatePicker.stories.tsx b/packages/twenty-front/src/modules/ui/input/components/internal/date/components/__stories__/InternalDatePicker.stories.tsx index 36fb9ad1b..1eb20f84c 100644 --- a/packages/twenty-front/src/modules/ui/input/components/internal/date/components/__stories__/InternalDatePicker.stories.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/internal/date/components/__stories__/InternalDatePicker.stories.tsx @@ -2,9 +2,8 @@ import { useArgs } from '@storybook/preview-api'; import { Meta, StoryObj } from '@storybook/react'; import { expect, userEvent, within } from '@storybook/test'; import { ComponentDecorator } from 'twenty-ui'; - -import { isDefined } from 'twenty-shared'; import { DateTimePicker } from '../InternalDatePicker'; +import { isDefined } from 'twenty-shared/utils'; const meta: Meta = { title: 'UI/Input/Internal/InternalDatePicker', diff --git a/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/PhoneCountryPickerDropdownButton.tsx b/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/PhoneCountryPickerDropdownButton.tsx index 00c05feed..12d9ac9ca 100644 --- a/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/PhoneCountryPickerDropdownButton.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/PhoneCountryPickerDropdownButton.tsx @@ -5,7 +5,6 @@ import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useEffect, useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { IconChevronDown, IconWorld } from 'twenty-ui'; import { CountryPickerHotkeyScope } from '../types/CountryPickerHotkeyScope'; @@ -13,6 +12,7 @@ import { CountryPickerHotkeyScope } from '../types/CountryPickerHotkeyScope'; import { PhoneCountryPickerDropdownSelect } from './PhoneCountryPickerDropdownSelect'; import 'react-phone-number-input/style.css'; +import { isDefined } from 'twenty-shared/utils'; type StyledDropdownButtonProps = { isUnfolded: boolean; diff --git a/packages/twenty-front/src/modules/ui/input/hooks/useInputFocusWithoutScrollOnMount.ts b/packages/twenty-front/src/modules/ui/input/hooks/useInputFocusWithoutScrollOnMount.ts index c0e373b15..21d9c5f4c 100644 --- a/packages/twenty-front/src/modules/ui/input/hooks/useInputFocusWithoutScrollOnMount.ts +++ b/packages/twenty-front/src/modules/ui/input/hooks/useInputFocusWithoutScrollOnMount.ts @@ -1,5 +1,5 @@ import { useEffect, useRef } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useInputFocusWithoutScrollOnMount = () => { const inputRef = useRef(null); diff --git a/packages/twenty-front/src/modules/ui/layout/dropdown/components/Dropdown.tsx b/packages/twenty-front/src/modules/ui/layout/dropdown/components/Dropdown.tsx index 567ce6752..7226efb6c 100644 --- a/packages/twenty-front/src/modules/ui/layout/dropdown/components/Dropdown.tsx +++ b/packages/twenty-front/src/modules/ui/layout/dropdown/components/Dropdown.tsx @@ -18,9 +18,9 @@ import { MouseEvent, ReactNode } from 'react'; import { flushSync } from 'react-dom'; import { Keys } from 'react-hotkeys-hook'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { sleep } from '~/utils/sleep'; import { useDropdown } from '../hooks/useDropdown'; +import { isDefined } from 'twenty-shared/utils'; const StyledDropdownFallbackAnchor = styled.div` left: 0; diff --git a/packages/twenty-front/src/modules/ui/layout/dropdown/hooks/useDropdown.ts b/packages/twenty-front/src/modules/ui/layout/dropdown/hooks/useDropdown.ts index 52141418f..512b54277 100644 --- a/packages/twenty-front/src/modules/ui/layout/dropdown/hooks/useDropdown.ts +++ b/packages/twenty-front/src/modules/ui/layout/dropdown/hooks/useDropdown.ts @@ -9,7 +9,7 @@ import { HotkeyScope } from '@/ui/utilities/hotkey/types/HotkeyScope'; import { getScopeIdOrUndefinedFromComponentId } from '@/ui/utilities/recoil-scope/utils/getScopeIdOrUndefinedFromComponentId'; import { getSnapshotValue } from '@/ui/utilities/recoil-scope/utils/getSnapshotValue'; import { useCallback } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useDropdown = (dropdownId?: string) => { const { diff --git a/packages/twenty-front/src/modules/ui/layout/dropdown/hooks/useDropdownV2.ts b/packages/twenty-front/src/modules/ui/layout/dropdown/hooks/useDropdownV2.ts index edd496c51..ae563c4fc 100644 --- a/packages/twenty-front/src/modules/ui/layout/dropdown/hooks/useDropdownV2.ts +++ b/packages/twenty-front/src/modules/ui/layout/dropdown/hooks/useDropdownV2.ts @@ -5,7 +5,7 @@ import { isDropdownOpenComponentState } from '@/ui/layout/dropdown/states/isDrop import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousHotkeyScope'; import { HotkeyScope } from '@/ui/utilities/hotkey/types/HotkeyScope'; import { getScopeIdFromComponentId } from '@/ui/utilities/recoil-scope/utils/getScopeIdFromComponentId'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useDropdownV2 = () => { const { diff --git a/packages/twenty-front/src/modules/ui/layout/expandable-list/components/ExpandableList.tsx b/packages/twenty-front/src/modules/ui/layout/expandable-list/components/ExpandableList.tsx index 9019968e6..cf30797a4 100644 --- a/packages/twenty-front/src/modules/ui/layout/expandable-list/components/ExpandableList.tsx +++ b/packages/twenty-front/src/modules/ui/layout/expandable-list/components/ExpandableList.tsx @@ -8,7 +8,7 @@ import { import { ExpandedListDropdown } from '@/ui/layout/expandable-list/components/ExpandedListDropdown'; import { isFirstOverflowingChildElement } from '@/ui/layout/expandable-list/utils/isFirstOverflowingChildElement'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/ui/layout/expandable-list/components/__stories__/ExpandableList.stories.tsx b/packages/twenty-front/src/modules/ui/layout/expandable-list/components/__stories__/ExpandableList.stories.tsx index eaa90b374..7bf404baf 100644 --- a/packages/twenty-front/src/modules/ui/layout/expandable-list/components/__stories__/ExpandableList.stories.tsx +++ b/packages/twenty-front/src/modules/ui/layout/expandable-list/components/__stories__/ExpandableList.stories.tsx @@ -4,8 +4,8 @@ import { Meta, StoryObj } from '@storybook/react'; import { userEvent, within } from '@storybook/test'; import { ExpandableList } from '@/ui/layout/expandable-list/components/ExpandableList'; -import { isDefined } from 'twenty-shared'; import { ComponentDecorator, MAIN_COLOR_NAMES, Tag } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` padding: ${({ theme }) => theme.spacing(1)}; diff --git a/packages/twenty-front/src/modules/ui/layout/expandable-list/utils/isFirstOverflowingChildElement.ts b/packages/twenty-front/src/modules/ui/layout/expandable-list/utils/isFirstOverflowingChildElement.ts index 89a5de0b5..a942a700d 100644 --- a/packages/twenty-front/src/modules/ui/layout/expandable-list/utils/isFirstOverflowingChildElement.ts +++ b/packages/twenty-front/src/modules/ui/layout/expandable-list/utils/isFirstOverflowingChildElement.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; export const isFirstOverflowingChildElement = ({ containerElement, childElement, diff --git a/packages/twenty-front/src/modules/ui/layout/hooks/useShowAuthModal.ts b/packages/twenty-front/src/modules/ui/layout/hooks/useShowAuthModal.ts index d0f18ce25..39e59630f 100644 --- a/packages/twenty-front/src/modules/ui/layout/hooks/useShowAuthModal.ts +++ b/packages/twenty-front/src/modules/ui/layout/hooks/useShowAuthModal.ts @@ -6,9 +6,9 @@ import { useOnboardingStatus } from '@/onboarding/hooks/useOnboardingStatus'; import { AppPath } from '@/types/AppPath'; import { isDefaultLayoutAuthModalVisibleState } from '@/ui/layout/states/isDefaultLayoutAuthModalVisibleState'; import { useSubscriptionStatus } from '@/workspace/hooks/useSubscriptionStatus'; -import { isDefined } from 'twenty-shared'; import { OnboardingStatus, SubscriptionStatus } from '~/generated/graphql'; import { useIsMatchingLocation } from '~/hooks/useIsMatchingLocation'; +import { isDefined } from 'twenty-shared/utils'; export const useShowAuthModal = () => { const { isMatchingLocation } = useIsMatchingLocation(); diff --git a/packages/twenty-front/src/modules/ui/layout/selectable-list/components/SelectableList.tsx b/packages/twenty-front/src/modules/ui/layout/selectable-list/components/SelectableList.tsx index eebfc4b67..dd1ea9363 100644 --- a/packages/twenty-front/src/modules/ui/layout/selectable-list/components/SelectableList.tsx +++ b/packages/twenty-front/src/modules/ui/layout/selectable-list/components/SelectableList.tsx @@ -3,8 +3,8 @@ import { ReactNode, useEffect } from 'react'; import { useSelectableListHotKeys } from '@/ui/layout/selectable-list/hooks/internal/useSelectableListHotKeys'; import { useSelectableList } from '@/ui/layout/selectable-list/hooks/useSelectableList'; import { SelectableListScope } from '@/ui/layout/selectable-list/scopes/SelectableListScope'; -import { isDefined } from 'twenty-shared'; import { arrayToChunks } from '~/utils/array/arrayToChunks'; +import { isDefined } from 'twenty-shared/utils'; type SelectableListProps = { children: ReactNode; diff --git a/packages/twenty-front/src/modules/ui/layout/selectable-list/hooks/useSelectableList.ts b/packages/twenty-front/src/modules/ui/layout/selectable-list/hooks/useSelectableList.ts index 6609820d6..a8b310c6e 100644 --- a/packages/twenty-front/src/modules/ui/layout/selectable-list/hooks/useSelectableList.ts +++ b/packages/twenty-front/src/modules/ui/layout/selectable-list/hooks/useSelectableList.ts @@ -2,7 +2,7 @@ import { useRecoilCallback, useSetRecoilState } from 'recoil'; import { useSelectableListStates } from '@/ui/layout/selectable-list/hooks/internal/useSelectableListStates'; import { getSnapshotValue } from '@/ui/utilities/recoil-scope/utils/getSnapshotValue'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useSelectableList = (selectableListId?: string) => { const { diff --git a/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageActivityContainer.tsx b/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageActivityContainer.tsx index 950ac3d7b..7a0a6b4fb 100644 --- a/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageActivityContainer.tsx +++ b/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageActivityContainer.tsx @@ -8,7 +8,7 @@ import styled from '@emotion/styled'; import { lazy, Suspense } from 'react'; import Skeleton, { SkeletonTheme } from 'react-loading-skeleton'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const ActivityRichTextEditor = lazy(() => import('@/activities/components/ActivityRichTextEditor').then((module) => ({ diff --git a/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageSummaryCard.tsx b/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageSummaryCard.tsx index 477ff4635..f58dab791 100644 --- a/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageSummaryCard.tsx +++ b/packages/twenty-front/src/modules/ui/layout/show-page/components/ShowPageSummaryCard.tsx @@ -6,12 +6,11 @@ import { ChangeEvent, ReactNode, useRef } from 'react'; import Skeleton, { SkeletonTheme } from 'react-loading-skeleton'; import { AppTooltip, Avatar, AvatarType, IconComponent } from 'twenty-ui'; import { v4 as uuidV4 } from 'uuid'; - -import { isDefined } from 'twenty-shared'; import { beautifyExactDateTime, beautifyPastDateRelativeToNow, } from '~/utils/date-utils'; +import { isDefined } from 'twenty-shared/utils'; type ShowPageSummaryCardProps = { avatarPlaceholder: string; diff --git a/packages/twenty-front/src/modules/ui/layout/table/hooks/useSortedArray.ts b/packages/twenty-front/src/modules/ui/layout/table/hooks/useSortedArray.ts index 101270e97..d1395c234 100644 --- a/packages/twenty-front/src/modules/ui/layout/table/hooks/useSortedArray.ts +++ b/packages/twenty-front/src/modules/ui/layout/table/hooks/useSortedArray.ts @@ -2,7 +2,7 @@ import { sortedFieldByTableFamilyState } from '@/ui/layout/table/states/sortedFi import { TableMetadata } from '@/ui/layout/table/types/TableMetadata'; import { useMemo } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useSortedArray = ( arrayToSort: T[], diff --git a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerBackButton.tsx b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerBackButton.tsx index de1fecb31..964e771e3 100644 --- a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerBackButton.tsx +++ b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerBackButton.tsx @@ -7,7 +7,7 @@ import { isNavigationDrawerExpandedState } from '@/ui/navigation/states/isNaviga import { navigationDrawerExpandedMemorizedState } from '@/ui/navigation/states/navigationDrawerExpandedMemorizedState'; import { navigationMemorizedUrlState } from '@/ui/navigation/states/navigationMemorizedUrlState'; import { useIsWorkspaceActivationStatusEqualsTo } from '@/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo'; -import { WorkspaceActivationStatus } from 'twenty-shared'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; type NavigationDrawerBackButtonProps = { title: string; diff --git a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerInput.tsx b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerInput.tsx index 5f55f2707..8657de481 100644 --- a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerInput.tsx +++ b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerInput.tsx @@ -4,9 +4,9 @@ import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useLis import styled from '@emotion/styled'; import { FocusEvent, useRef } from 'react'; import { Key } from 'ts-key-enum'; -import { isDefined } from 'twenty-shared'; import { IconComponent, TablerIconsProps } from 'twenty-ui'; import { useHotkeyScopeOnMount } from '~/hooks/useHotkeyScopeOnMount'; +import { isDefined } from 'twenty-shared/utils'; type NavigationDrawerInputProps = { className?: string; diff --git a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerItem.tsx b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerItem.tsx index aaf9b9d84..27ce4e017 100644 --- a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerItem.tsx +++ b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerItem.tsx @@ -11,7 +11,6 @@ import styled from '@emotion/styled'; import { ReactNode } from 'react'; import { Link } from 'react-router-dom'; import { useRecoilState } from 'recoil'; -import { capitalize, isDefined } from 'twenty-shared'; import { IconComponent, Label, @@ -19,6 +18,7 @@ import { Pill, TablerIconsProps, } from 'twenty-ui'; +import { capitalize, isDefined } from 'twenty-shared/utils'; const DEFAULT_INDENTATION_LEVEL = 1; diff --git a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerSectionTitle.tsx b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerSectionTitle.tsx index c26dcc9c5..a1197130c 100644 --- a/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerSectionTitle.tsx +++ b/packages/twenty-front/src/modules/ui/navigation/navigation-drawer/components/NavigationDrawerSectionTitle.tsx @@ -7,8 +7,8 @@ import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile'; import styled from '@emotion/styled'; import React from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { Label } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledTitle = styled.div` align-items: center; diff --git a/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useScopedHotkeys.ts b/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useScopedHotkeys.ts index 3947d83de..816e7a0a2 100644 --- a/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useScopedHotkeys.ts +++ b/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useScopedHotkeys.ts @@ -3,9 +3,8 @@ import { HotkeyCallback, Keys, Options } from 'react-hotkeys-hook/dist/types'; import { useRecoilState } from 'recoil'; import { pendingHotkeyState } from '../states/internal/pendingHotkeysState'; - -import { isDefined } from 'twenty-shared'; import { useScopedHotkeyCallback } from './useScopedHotkeyCallback'; +import { isDefined } from 'twenty-shared/utils'; type UseHotkeysOptionsWithoutBuggyOptions = Omit; diff --git a/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useSequenceScopedHotkeys.ts b/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useSequenceScopedHotkeys.ts index 6b1432616..19d587921 100644 --- a/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useSequenceScopedHotkeys.ts +++ b/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useSequenceScopedHotkeys.ts @@ -2,11 +2,10 @@ import { Options, useHotkeys } from 'react-hotkeys-hook'; import { Keys } from 'react-hotkeys-hook/dist/types'; import { useRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; - import { pendingHotkeyState } from '../states/internal/pendingHotkeysState'; import { useScopedHotkeyCallback } from './useScopedHotkeyCallback'; +import { isDefined } from 'twenty-shared/utils'; export const useSequenceHotkeys = ( firstKey: Keys, diff --git a/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useSetHotkeyScope.ts b/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useSetHotkeyScope.ts index 247c10c79..2ca2ea03e 100644 --- a/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useSetHotkeyScope.ts +++ b/packages/twenty-front/src/modules/ui/utilities/hotkey/hooks/useSetHotkeyScope.ts @@ -1,7 +1,6 @@ import { useRecoilCallback } from 'recoil'; import { DEBUG_HOTKEY_SCOPE } from '@/ui/utilities/hotkey/hooks/useScopedHotkeyCallback'; -import { isDefined } from 'twenty-shared'; import { logDebug } from '~/utils/logDebug'; import { DEFAULT_HOTKEYS_SCOPE_CUSTOM_SCOPES } from '../constants/DefaultHotkeysScopeCustomScopes'; @@ -10,6 +9,7 @@ import { internalHotkeysEnabledScopesState } from '../states/internal/internalHo import { AppHotkeyScope } from '../types/AppHotkeyScope'; import { CustomHotkeyScopes } from '../types/CustomHotkeyScope'; import { HotkeyScope } from '../types/HotkeyScope'; +import { isDefined } from 'twenty-shared/utils'; const isCustomScopesEqual = ( customScopesA: CustomHotkeyScopes | undefined, diff --git a/packages/twenty-front/src/modules/ui/utilities/page-favicon/components/PageFavicon.tsx b/packages/twenty-front/src/modules/ui/utilities/page-favicon/components/PageFavicon.tsx index dd7b5d8ec..cdfedce24 100644 --- a/packages/twenty-front/src/modules/ui/utilities/page-favicon/components/PageFavicon.tsx +++ b/packages/twenty-front/src/modules/ui/utilities/page-favicon/components/PageFavicon.tsx @@ -2,8 +2,8 @@ import { workspacePublicDataState } from '@/auth/states/workspacePublicDataState import { DEFAULT_WORKSPACE_LOGO } from '@/ui/navigation/navigation-drawer/constants/DefaultWorkspaceLogo'; import { Helmet } from 'react-helmet-async'; import { useRecoilValue } from 'recoil'; -import { getImageAbsoluteURI } from 'twenty-shared'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; +import { getImageAbsoluteURI } from 'twenty-shared/utils'; export const PageFavicon = () => { const workspacePublicData = useRecoilValue(workspacePublicDataState); diff --git a/packages/twenty-front/src/modules/ui/utilities/pointer-event/hooks/__tests__/useListenClickOutside.test.tsx b/packages/twenty-front/src/modules/ui/utilities/pointer-event/hooks/__tests__/useListenClickOutside.test.tsx index e06ef21a0..52dd5d064 100644 --- a/packages/twenty-front/src/modules/ui/utilities/pointer-event/hooks/__tests__/useListenClickOutside.test.tsx +++ b/packages/twenty-front/src/modules/ui/utilities/pointer-event/hooks/__tests__/useListenClickOutside.test.tsx @@ -7,7 +7,7 @@ import { ClickOutsideMode, useListenClickOutside, } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const containerRef = React.createRef(); const nullRef = React.createRef(); diff --git a/packages/twenty-front/src/modules/ui/utilities/pointer-event/hooks/useClickOutsideListener.ts b/packages/twenty-front/src/modules/ui/utilities/pointer-event/hooks/useClickOutsideListener.ts index ca07c9d6a..a22628747 100644 --- a/packages/twenty-front/src/modules/ui/utilities/pointer-event/hooks/useClickOutsideListener.ts +++ b/packages/twenty-front/src/modules/ui/utilities/pointer-event/hooks/useClickOutsideListener.ts @@ -4,8 +4,8 @@ import { useRecoilCallback } from 'recoil'; import { useClickOustideListenerStates } from '@/ui/utilities/pointer-event/hooks/useClickOustideListenerStates'; import { ClickOutsideListenerCallback } from '@/ui/utilities/pointer-event/types/ClickOutsideListenerCallback'; -import { isDefined } from 'twenty-shared'; import { toSpliced } from '~/utils/array/toSpliced'; +import { isDefined } from 'twenty-shared/utils'; export const useClickOutsideListener = (componentId: string) => { const { diff --git a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentFamilySelectorV2.ts b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentFamilySelectorV2.ts index 508921062..2fc86e752 100644 --- a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentFamilySelectorV2.ts +++ b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentFamilySelectorV2.ts @@ -9,7 +9,7 @@ import { ComponentInstanceStateContext } from '@/ui/utilities/state/component-st import { globalComponentInstanceContextMap } from '@/ui/utilities/state/component-state/utils/globalComponentInstanceContextMap'; import { SelectorGetter } from '@/ui/utilities/state/types/SelectorGetter'; import { SelectorSetter } from '@/ui/utilities/state/types/SelectorSetter'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export function createComponentFamilySelectorV2< ValueType, diff --git a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentFamilyStateV2.ts b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentFamilyStateV2.ts index c150e0050..20b9d4d0b 100644 --- a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentFamilyStateV2.ts +++ b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentFamilyStateV2.ts @@ -10,8 +10,7 @@ import { SerializableParam, WrappedValue, } from 'recoil'; - -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type CreateComponentFamilyStateArgs< ValueType, diff --git a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentSelectorV2.ts b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentSelectorV2.ts index 2eac21632..2dd4358f9 100644 --- a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentSelectorV2.ts +++ b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentSelectorV2.ts @@ -9,7 +9,7 @@ import { ComponentStateKeyV2 } from '@/ui/utilities/state/component-state/types/ import { globalComponentInstanceContextMap } from '@/ui/utilities/state/component-state/utils/globalComponentInstanceContextMap'; import { SelectorGetter } from '@/ui/utilities/state/types/SelectorGetter'; import { SelectorSetter } from '@/ui/utilities/state/types/SelectorSetter'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export function createComponentSelectorV2(options: { key: string; diff --git a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentStateV2.ts b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentStateV2.ts index 3c4a9ceb9..c5ae046c0 100644 --- a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentStateV2.ts +++ b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentStateV2.ts @@ -3,8 +3,7 @@ import { ComponentStateKeyV2 } from '@/ui/utilities/state/component-state/types/ import { ComponentStateV2 } from '@/ui/utilities/state/component-state/types/ComponentStateV2'; import { globalComponentInstanceContextMap } from '@/ui/utilities/state/component-state/utils/globalComponentInstanceContextMap'; import { AtomEffect, atomFamily } from 'recoil'; - -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type CreateComponentInstanceStateArgs = { key: string; diff --git a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentStateV2Alpha.ts b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentStateV2Alpha.ts index cbb412b4b..51c636c19 100644 --- a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentStateV2Alpha.ts +++ b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/createComponentStateV2Alpha.ts @@ -4,7 +4,7 @@ import { ScopeInternalContext } from '@/ui/utilities/recoil-scope/scopes-interna import { RecoilComponentState } from '@/ui/utilities/state/component-state/types/RecoilComponentState'; import { RecoilComponentStateKey } from '@/ui/utilities/state/component-state/types/RecoilComponentStateKey'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type CreateComponentStateV2Type = { key: string; diff --git a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/globalComponentInstanceContextMap.ts b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/globalComponentInstanceContextMap.ts index 3b4a31a9f..f1b233167 100644 --- a/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/globalComponentInstanceContextMap.ts +++ b/packages/twenty-front/src/modules/ui/utilities/state/component-state/utils/globalComponentInstanceContextMap.ts @@ -1,5 +1,5 @@ import { ComponentInstanceStateContext } from '@/ui/utilities/state/component-state/types/ComponentInstanceStateContext'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; class ComponentInstanceContextMap { constructor() { diff --git a/packages/twenty-front/src/modules/users/components/UserProviderEffect.tsx b/packages/twenty-front/src/modules/users/components/UserProviderEffect.tsx index 62edf6def..0f4390c23 100644 --- a/packages/twenty-front/src/modules/users/components/UserProviderEffect.tsx +++ b/packages/twenty-front/src/modules/users/components/UserProviderEffect.tsx @@ -17,10 +17,11 @@ import { detectTimeZone } from '@/localization/utils/detectTimeZone'; import { getDateFormatFromWorkspaceDateFormat } from '@/localization/utils/getDateFormatFromWorkspaceDateFormat'; import { getTimeFormatFromWorkspaceTimeFormat } from '@/localization/utils/getTimeFormatFromWorkspaceTimeFormat'; import { ColorScheme } from '@/workspace-member/types/WorkspaceMember'; -import { APP_LOCALES, isDefined, SOURCE_LOCALE } from 'twenty-shared'; import { WorkspaceMember } from '~/generated-metadata/graphql'; import { useGetCurrentUserQuery } from '~/generated/graphql'; import { dynamicActivate } from '~/utils/i18n/dynamicActivate'; +import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared/translations'; +import { isDefined } from 'twenty-shared/utils'; export const UserProviderEffect = () => { const [isLoading, setIsLoading] = useState(true); diff --git a/packages/twenty-front/src/modules/views/components/AdvancedFilterChip.tsx b/packages/twenty-front/src/modules/views/components/AdvancedFilterChip.tsx index 9e0cb5dc9..886c17276 100644 --- a/packages/twenty-front/src/modules/views/components/AdvancedFilterChip.tsx +++ b/packages/twenty-front/src/modules/views/components/AdvancedFilterChip.tsx @@ -10,7 +10,7 @@ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/ import { SortOrFilterChip } from '@/views/components/SortOrFilterChip'; import { ADVANCED_FILTER_DROPDOWN_ID } from '@/views/constants/AdvancedFilterDropdownId'; import { plural } from 'pluralize'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const AdvancedFilterChip = () => { const { closeDropdown } = useDropdown(ADVANCED_FILTER_DROPDOWN_ID); diff --git a/packages/twenty-front/src/modules/views/components/AdvancedFilterDropdownButton.tsx b/packages/twenty-front/src/modules/views/components/AdvancedFilterDropdownButton.tsx index 2aea58913..e823c327c 100644 --- a/packages/twenty-front/src/modules/views/components/AdvancedFilterDropdownButton.tsx +++ b/packages/twenty-front/src/modules/views/components/AdvancedFilterDropdownButton.tsx @@ -5,7 +5,7 @@ import { rootLevelRecordFilterGroupComponentSelector } from '@/object-record/adv import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { AdvancedFilterChip } from '@/views/components/AdvancedFilterChip'; import { ADVANCED_FILTER_DROPDOWN_ID } from '@/views/constants/AdvancedFilterDropdownId'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const AdvancedFilterDropdownButton = () => { const rootLevelRecordFilterGroup = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/views/components/EditableFilterDropdownButtonEffect.tsx b/packages/twenty-front/src/modules/views/components/EditableFilterDropdownButtonEffect.tsx index fe81e6751..ff6247073 100644 --- a/packages/twenty-front/src/modules/views/components/EditableFilterDropdownButtonEffect.tsx +++ b/packages/twenty-front/src/modules/views/components/EditableFilterDropdownButtonEffect.tsx @@ -7,7 +7,7 @@ import { selectedOperandInDropdownComponentState } from '@/object-record/object- import { useFilterableFieldMetadataItemsInRecordIndexContext } from '@/object-record/record-filter/hooks/useFilterableFieldMetadataItemsInRecordIndexContext'; import { RecordFilter } from '@/object-record/record-filter/types/RecordFilter'; import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type EditableFilterDropdownButtonEffectProps = { viewFilterDropdownId: string; diff --git a/packages/twenty-front/src/modules/views/components/ViewBarDetails.tsx b/packages/twenty-front/src/modules/views/components/ViewBarDetails.tsx index a4650d545..317be0082 100644 --- a/packages/twenty-front/src/modules/views/components/ViewBarDetails.tsx +++ b/packages/twenty-front/src/modules/views/components/ViewBarDetails.tsx @@ -28,7 +28,7 @@ import { useAreViewFilterGroupsDifferentFromRecordFilterGroups } from '@/views/h import { isViewBarExpandedComponentState } from '@/views/states/isViewBarExpandedComponentState'; import { t } from '@lingui/core/macro'; import { isNonEmptyArray } from '@sniptt/guards'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export type ViewBarDetailsProps = { hasFilterButton?: boolean; diff --git a/packages/twenty-front/src/modules/views/components/ViewBarFilterEffect.tsx b/packages/twenty-front/src/modules/views/components/ViewBarFilterEffect.tsx index 5d0b8cbd6..727098cd6 100644 --- a/packages/twenty-front/src/modules/views/components/ViewBarFilterEffect.tsx +++ b/packages/twenty-front/src/modules/views/components/ViewBarFilterEffect.tsx @@ -10,7 +10,7 @@ import { objectFilterDropdownSelectedRecordIdsComponentState } from '@/object-re import { currentRecordFiltersComponentState } from '@/object-record/record-filter/states/currentRecordFiltersComponentState'; import { jsonRelationFilterValueSchema } from '@/views/view-filter-value/validation-schemas/jsonRelationFilterValueSchema'; import { simpleRelationFilterValueSchema } from '@/views/view-filter-value/validation-schemas/simpleRelationFilterValueSchema'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type ViewBarFilterEffectProps = { filterDropdownId: string; diff --git a/packages/twenty-front/src/modules/views/components/ViewBarPageTitle.tsx b/packages/twenty-front/src/modules/views/components/ViewBarPageTitle.tsx index 7f136a1b8..244e1c0b7 100644 --- a/packages/twenty-front/src/modules/views/components/ViewBarPageTitle.tsx +++ b/packages/twenty-front/src/modules/views/components/ViewBarPageTitle.tsx @@ -2,7 +2,7 @@ import { useParams } from 'react-router-dom'; import { PageTitle } from '@/ui/utilities/page-title/components/PageTitle'; import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const ViewBarPageTitle = () => { const { objectNamePlural } = useParams(); diff --git a/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterEffect.tsx b/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterEffect.tsx index e4cf1b97c..5a52d9064 100644 --- a/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterEffect.tsx +++ b/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterEffect.tsx @@ -10,7 +10,7 @@ import { hasInitializedCurrentRecordFiltersComponentFamilyState } from '@/views/ import { mapViewFiltersToFilters } from '@/views/utils/mapViewFiltersToFilters'; import { useEffect } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const ViewBarRecordFilterEffect = () => { const currentViewId = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterGroupEffect.tsx b/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterGroupEffect.tsx index 32d459c78..d2c2c2691 100644 --- a/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterGroupEffect.tsx +++ b/packages/twenty-front/src/modules/views/components/ViewBarRecordFilterGroupEffect.tsx @@ -9,7 +9,7 @@ import { hasInitializedCurrentRecordFilterGroupsComponentFamilyState } from '@/v import { mapViewFilterGroupsToRecordFilterGroups } from '@/views/utils/mapViewFilterGroupsToRecordFilterGroups'; import { useEffect } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const ViewBarRecordFilterGroupEffect = () => { const currentViewId = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/views/components/ViewBarRecordSortEffect.tsx b/packages/twenty-front/src/modules/views/components/ViewBarRecordSortEffect.tsx index 8d3cbb513..7a79b412f 100644 --- a/packages/twenty-front/src/modules/views/components/ViewBarRecordSortEffect.tsx +++ b/packages/twenty-front/src/modules/views/components/ViewBarRecordSortEffect.tsx @@ -9,7 +9,7 @@ import { hasInitializedCurrentRecordSortsComponentFamilyState } from '@/views/st import { mapViewSortsToSorts } from '@/views/utils/mapViewSortsToSorts'; import { useEffect } from 'react'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const ViewBarRecordSortEffect = () => { const currentViewId = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx b/packages/twenty-front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx index 6ace2939c..69ef015d5 100644 --- a/packages/twenty-front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx +++ b/packages/twenty-front/src/modules/views/components/ViewFieldsVisibilityDropdownSection.tsx @@ -20,8 +20,8 @@ import { DraggableItem } from '@/ui/layout/draggable-list/components/DraggableIt import { DraggableList } from '@/ui/layout/draggable-list/components/DraggableList'; import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer'; import { StyledDropdownMenuSubheader } from '@/ui/layout/dropdown/components/StyledDropdownMenuSubheader'; -import { isDefined } from 'twenty-shared'; import { groupArrayItemsBy } from '~/utils/array/groupArrayItemsBy'; +import { isDefined } from 'twenty-shared/utils'; type ViewFieldsVisibilityDropdownSectionProps = { fields: Omit, 'size'>[]; diff --git a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFilterGroupsToCurrentRecordFilterGroups.test.tsx b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFilterGroupsToCurrentRecordFilterGroups.test.tsx index 0b632afcb..ef24ae90e 100644 --- a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFilterGroupsToCurrentRecordFilterGroups.test.tsx +++ b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFilterGroupsToCurrentRecordFilterGroups.test.tsx @@ -14,9 +14,9 @@ import { ViewOpenRecordInType } from '@/views/types/ViewOpenRecordInType'; import { ViewType } from '@/views/types/ViewType'; import { mapViewFilterGroupLogicalOperatorToRecordFilterGroupLogicalOperator } from '@/views/utils/mapViewFilterGroupLogicalOperatorToRecordFilterGroupLogicalOperator'; import { act } from 'react'; -import { isDefined } from 'twenty-shared'; import { getJestMetadataAndApolloMocksAndActionMenuWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksAndActionMenuWrapper'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; +import { isDefined } from 'twenty-shared/utils'; const mockObjectMetadataItemNameSingular = 'company'; diff --git a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFiltersToCurrentRecordFilters.test.tsx b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFiltersToCurrentRecordFilters.test.tsx index 40fe19640..848836d5c 100644 --- a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFiltersToCurrentRecordFilters.test.tsx +++ b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewFiltersToCurrentRecordFilters.test.tsx @@ -13,10 +13,10 @@ import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { ViewOpenRecordInType } from '@/views/types/ViewOpenRecordInType'; import { ViewType } from '@/views/types/ViewType'; import { act } from 'react'; -import { isDefined } from 'twenty-shared'; import { getJestMetadataAndApolloMocksAndActionMenuWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksAndActionMenuWrapper'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; import { useApplyCurrentViewFiltersToCurrentRecordFilters } from '../useApplyCurrentViewFiltersToCurrentRecordFilters'; +import { isDefined } from 'twenty-shared/utils'; const mockObjectMetadataItemNameSingular = 'company'; diff --git a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewSortsToCurrentRecordSorts.test.tsx b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewSortsToCurrentRecordSorts.test.tsx index 9fc385341..56d7cd4a8 100644 --- a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewSortsToCurrentRecordSorts.test.tsx +++ b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyCurrentViewSortsToCurrentRecordSorts.test.tsx @@ -6,7 +6,6 @@ import { RecordSort } from '@/object-record/record-sort/types/RecordSort'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { ViewSort } from '@/views/types/ViewSort'; -import { isDefined } from 'twenty-shared'; import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState'; import { prefetchViewsState } from '@/prefetch/states/prefetchViewsState'; @@ -16,6 +15,7 @@ import { getJestMetadataAndApolloMocksAndActionMenuWrapper } from '~/testing/jes import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; import { mockedViewsData } from '~/testing/mock-data/views'; import { useApplyCurrentViewSortsToCurrentRecordSorts } from '../useApplyCurrentViewSortsToCurrentRecordSorts'; +import { isDefined } from 'twenty-shared/utils'; const mockObjectMetadataItemNameSingular = 'company'; diff --git a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyViewFiltersToCurrentRecordFilters.test.tsx b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyViewFiltersToCurrentRecordFilters.test.tsx index aae6f1631..a6802d13c 100644 --- a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyViewFiltersToCurrentRecordFilters.test.tsx +++ b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyViewFiltersToCurrentRecordFilters.test.tsx @@ -6,10 +6,10 @@ import { RecordFilter } from '@/object-record/record-filter/types/RecordFilter'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { ViewFilter } from '@/views/types/ViewFilter'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; -import { isDefined } from 'twenty-shared'; import { getJestMetadataAndApolloMocksAndActionMenuWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksAndActionMenuWrapper'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; import { useApplyViewFiltersToCurrentRecordFilters } from '../useApplyViewFiltersToCurrentRecordFilters'; +import { isDefined } from 'twenty-shared/utils'; const mockObjectMetadataItemNameSingular = 'company'; diff --git a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyViewSortsToCurrentRecordSorts.test.tsx b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyViewSortsToCurrentRecordSorts.test.tsx index 031df6beb..95d8336bb 100644 --- a/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyViewSortsToCurrentRecordSorts.test.tsx +++ b/packages/twenty-front/src/modules/views/hooks/__tests__/useApplyViewSortsToCurrentRecordSorts.test.tsx @@ -4,12 +4,12 @@ import { currentRecordSortsComponentState } from '@/object-record/record-sort/st import { RecordSort } from '@/object-record/record-sort/types/RecordSort'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { ViewSort } from '@/views/types/ViewSort'; -import { isDefined } from 'twenty-shared'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; import { getJestMetadataAndApolloMocksAndActionMenuWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksAndActionMenuWrapper'; import { useApplyViewSortsToCurrentRecordSorts } from '../useApplyViewSortsToCurrentRecordSorts'; +import { isDefined } from 'twenty-shared/utils'; const mockObjectMetadataItemNameSingular = 'company'; diff --git a/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFieldRecords.ts b/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFieldRecords.ts index f170bb621..7aab69509 100644 --- a/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFieldRecords.ts +++ b/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFieldRecords.ts @@ -13,7 +13,7 @@ import { useUpdateOneRecordMutation } from '@/object-record/hooks/useUpdateOneRe import { GraphQLView } from '@/views/types/GraphQLView'; import { ViewField } from '@/views/types/ViewField'; import { isNull } from '@sniptt/guards'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const usePersistViewFieldRecords = () => { const { objectMetadataItem } = useObjectMetadataItem({ diff --git a/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFilterGroupRecords.ts b/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFilterGroupRecords.ts index bebb1ee53..d3b5acf6a 100644 --- a/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFilterGroupRecords.ts +++ b/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFilterGroupRecords.ts @@ -13,7 +13,7 @@ import { useDestroyOneRecordMutation } from '@/object-record/hooks/useDestroyOne import { useUpdateOneRecordMutation } from '@/object-record/hooks/useUpdateOneRecordMutation'; import { GraphQLView } from '@/views/types/GraphQLView'; import { ViewFilterGroup } from '@/views/types/ViewFilterGroup'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const usePersistViewFilterGroupRecords = () => { const { objectMetadataItem } = useObjectMetadataItem({ diff --git a/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFilterRecords.ts b/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFilterRecords.ts index 0d8b08c61..8cb3e360b 100644 --- a/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFilterRecords.ts +++ b/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewFilterRecords.ts @@ -13,7 +13,7 @@ import { useDestroyOneRecordMutation } from '@/object-record/hooks/useDestroyOne import { useUpdateOneRecordMutation } from '@/object-record/hooks/useUpdateOneRecordMutation'; import { GraphQLView } from '@/views/types/GraphQLView'; import { ViewFilter } from '@/views/types/ViewFilter'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const usePersistViewFilterRecords = () => { const { objectMetadataItem } = useObjectMetadataItem({ diff --git a/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewSortRecords.ts b/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewSortRecords.ts index 066c33651..a17807ccd 100644 --- a/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewSortRecords.ts +++ b/packages/twenty-front/src/modules/views/hooks/internal/usePersistViewSortRecords.ts @@ -13,7 +13,7 @@ import { useDestroyOneRecordMutation } from '@/object-record/hooks/useDestroyOne import { useUpdateOneRecordMutation } from '@/object-record/hooks/useUpdateOneRecordMutation'; import { GraphQLView } from '@/views/types/GraphQLView'; import { ViewSort } from '@/views/types/ViewSort'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const usePersistViewSortRecords = () => { const { objectMetadataItem } = useObjectMetadataItem({ diff --git a/packages/twenty-front/src/modules/views/hooks/internal/useViewFromQueryParams.ts b/packages/twenty-front/src/modules/views/hooks/internal/useViewFromQueryParams.ts index 45b1eec36..187dba269 100644 --- a/packages/twenty-front/src/modules/views/hooks/internal/useViewFromQueryParams.ts +++ b/packages/twenty-front/src/modules/views/hooks/internal/useViewFromQueryParams.ts @@ -16,7 +16,7 @@ import { generateFindManyRecordsQuery } from '@/object-record/utils/generateFind import { ViewFilter } from '@/views/types/ViewFilter'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { relationFilterValueSchemaObject } from '@/views/view-filter-value/validation-schemas/jsonRelationFilterValueSchema'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const filterQueryParamsSchema = z.object({ viewId: z.string().optional(), diff --git a/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewFilterGroupsToCurrentRecordFilterGroups.ts b/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewFilterGroupsToCurrentRecordFilterGroups.ts index 0eecb7bd6..9999c4061 100644 --- a/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewFilterGroupsToCurrentRecordFilterGroups.ts +++ b/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewFilterGroupsToCurrentRecordFilterGroups.ts @@ -6,9 +6,8 @@ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/ import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { mapViewFilterGroupsToRecordFilterGroups } from '@/views/utils/mapViewFilterGroupsToRecordFilterGroups'; import { useRecoilCallback } from 'recoil'; - -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; +import { isDefined } from 'twenty-shared/utils'; export const useApplyCurrentViewFilterGroupsToCurrentRecordFilterGroups = () => { diff --git a/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewFiltersToCurrentRecordFilters.ts b/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewFiltersToCurrentRecordFilters.ts index 3d90fabdf..c2477dd7c 100644 --- a/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewFiltersToCurrentRecordFilters.ts +++ b/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewFiltersToCurrentRecordFilters.ts @@ -6,8 +6,7 @@ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/ import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { mapViewFiltersToFilters } from '@/views/utils/mapViewFiltersToFilters'; import { useRecoilCallback } from 'recoil'; - -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useApplyCurrentViewFiltersToCurrentRecordFilters = () => { const currentViewId = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewSortsToCurrentRecordSorts.ts b/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewSortsToCurrentRecordSorts.ts index 46e25ae0e..63c326673 100644 --- a/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewSortsToCurrentRecordSorts.ts +++ b/packages/twenty-front/src/modules/views/hooks/useApplyCurrentViewSortsToCurrentRecordSorts.ts @@ -5,8 +5,7 @@ import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/ import { useSetRecoilComponentStateV2 } from '@/ui/utilities/state/component-state/hooks/useSetRecoilComponentStateV2'; import { mapViewSortsToSorts } from '@/views/utils/mapViewSortsToSorts'; import { useRecoilValue } from 'recoil'; - -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useApplyCurrentViewSortsToCurrentRecordSorts = () => { const currentViewId = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/views/hooks/useAreViewFilterGroupsDifferentFromRecordFilterGroups.ts b/packages/twenty-front/src/modules/views/hooks/useAreViewFilterGroupsDifferentFromRecordFilterGroups.ts index 0e64b950d..837b2e45b 100644 --- a/packages/twenty-front/src/modules/views/hooks/useAreViewFilterGroupsDifferentFromRecordFilterGroups.ts +++ b/packages/twenty-front/src/modules/views/hooks/useAreViewFilterGroupsDifferentFromRecordFilterGroups.ts @@ -5,7 +5,7 @@ import { getViewFilterGroupsToCreate } from '@/views/utils/getViewFilterGroupsTo import { getViewFilterGroupsToDelete } from '@/views/utils/getViewFilterGroupsToDelete'; import { getViewFilterGroupsToUpdate } from '@/views/utils/getViewFilterGroupsToUpdate'; import { mapRecordFilterGroupToViewFilterGroup } from '@/views/utils/mapRecordFilterGroupToViewFilterGroup'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useAreViewFilterGroupsDifferentFromRecordFilterGroups = () => { const { currentView } = useGetCurrentViewOnly(); diff --git a/packages/twenty-front/src/modules/views/hooks/useCreateViewFromCurrentView.ts b/packages/twenty-front/src/modules/views/hooks/useCreateViewFromCurrentView.ts index 8bc32011c..d7118e2af 100644 --- a/packages/twenty-front/src/modules/views/hooks/useCreateViewFromCurrentView.ts +++ b/packages/twenty-front/src/modules/views/hooks/useCreateViewFromCurrentView.ts @@ -26,9 +26,9 @@ import { mapRecordFilterGroupToViewFilterGroup } from '@/views/utils/mapRecordFi import { mapRecordFilterToViewFilter } from '@/views/utils/mapRecordFilterToViewFilter'; import { mapRecordSortToViewSort } from '@/views/utils/mapRecordSortToViewSort'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { v4 } from 'uuid'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; export const useCreateViewFromCurrentView = (viewBarComponentId?: string) => { const currentViewIdCallbackState = useRecoilComponentCallbackStateV2( diff --git a/packages/twenty-front/src/modules/views/hooks/useGetViewGroupsFilters.ts b/packages/twenty-front/src/modules/views/hooks/useGetViewGroupsFilters.ts index e506ae9a1..948cdbae6 100644 --- a/packages/twenty-front/src/modules/views/hooks/useGetViewGroupsFilters.ts +++ b/packages/twenty-front/src/modules/views/hooks/useGetViewGroupsFilters.ts @@ -1,8 +1,9 @@ import { useGetCurrentViewOnly } from '@/views/hooks/useGetCurrentViewOnly'; -import { FieldMetadataType, isDefined } from 'twenty-shared'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { getFilterTypeFromFieldType } from '@/object-metadata/utils/formatFieldMetadataItemsAsFilterDefinitions'; import { RecordFilter } from '@/object-record/record-filter/types/RecordFilter'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; export const useGetViewGroupsFilters = (): RecordFilter[] => { const { currentView } = useGetCurrentViewOnly(); diff --git a/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewFields.ts b/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewFields.ts index 5c14c5e90..5a4682cbc 100644 --- a/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewFields.ts +++ b/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewFields.ts @@ -6,9 +6,9 @@ import { usePersistViewFieldRecords } from '@/views/hooks/internal/usePersistVie import { useGetViewFromPrefetchState } from '@/views/hooks/useGetViewFromPrefetchState'; import { isPersistingViewFieldsState } from '@/views/states/isPersistingViewFieldsState'; import { ViewField } from '@/views/types/ViewField'; -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; export const useSaveCurrentViewFields = () => { const { createViewFieldRecords, updateViewFieldRecords } = diff --git a/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewGroups.ts b/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewGroups.ts index 352143077..bbd439e74 100644 --- a/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewGroups.ts +++ b/packages/twenty-front/src/modules/views/hooks/useSaveCurrentViewGroups.ts @@ -5,9 +5,9 @@ import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/componen import { usePersistViewGroupRecords } from '@/views/hooks/internal/usePersistViewGroupRecords'; import { useGetViewFromPrefetchState } from '@/views/hooks/useGetViewFromPrefetchState'; import { ViewGroup } from '@/views/types/ViewGroup'; -import { isDefined } from 'twenty-shared'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; +import { isDefined } from 'twenty-shared/utils'; export const useSaveCurrentViewGroups = () => { const { createViewGroupRecords, updateViewGroupRecords } = diff --git a/packages/twenty-front/src/modules/views/hooks/useSaveRecordFilterGroupsToViewFilterGroups.ts b/packages/twenty-front/src/modules/views/hooks/useSaveRecordFilterGroupsToViewFilterGroups.ts index 7e5478ae4..3b1ce8220 100644 --- a/packages/twenty-front/src/modules/views/hooks/useSaveRecordFilterGroupsToViewFilterGroups.ts +++ b/packages/twenty-front/src/modules/views/hooks/useSaveRecordFilterGroupsToViewFilterGroups.ts @@ -8,7 +8,7 @@ import { getViewFilterGroupsToDelete } from '@/views/utils/getViewFilterGroupsTo import { getViewFilterGroupsToUpdate } from '@/views/utils/getViewFilterGroupsToUpdate'; import { mapRecordFilterGroupToViewFilterGroup } from '@/views/utils/mapRecordFilterGroupToViewFilterGroup'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useSaveRecordFilterGroupsToViewFilterGroups = () => { const { diff --git a/packages/twenty-front/src/modules/views/hooks/useSaveRecordFiltersToViewFilters.ts b/packages/twenty-front/src/modules/views/hooks/useSaveRecordFiltersToViewFilters.ts index ae00c8ee9..43aa62d72 100644 --- a/packages/twenty-front/src/modules/views/hooks/useSaveRecordFiltersToViewFilters.ts +++ b/packages/twenty-front/src/modules/views/hooks/useSaveRecordFiltersToViewFilters.ts @@ -8,7 +8,7 @@ import { getViewFiltersToDelete } from '@/views/utils/getViewFiltersToDelete'; import { getViewFiltersToUpdate } from '@/views/utils/getViewFiltersToUpdate'; import { mapRecordFilterToViewFilter } from '@/views/utils/mapRecordFilterToViewFilter'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useSaveRecordFiltersToViewFilters = () => { const { diff --git a/packages/twenty-front/src/modules/views/hooks/useSaveRecordSortsToViewSorts.ts b/packages/twenty-front/src/modules/views/hooks/useSaveRecordSortsToViewSorts.ts index bdc7016e0..08da7a5ac 100644 --- a/packages/twenty-front/src/modules/views/hooks/useSaveRecordSortsToViewSorts.ts +++ b/packages/twenty-front/src/modules/views/hooks/useSaveRecordSortsToViewSorts.ts @@ -8,7 +8,7 @@ import { getViewSortsToDelete } from '@/views/utils/getViewSortsToDelete'; import { getViewSortsToUpdate } from '@/views/utils/getViewSortsToUpdate'; import { mapRecordSortToViewSort } from '@/views/utils/mapRecordSortToViewSort'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useSaveRecordSortsToViewSorts = () => { const { diff --git a/packages/twenty-front/src/modules/views/hooks/useUpdateCurrentView.ts b/packages/twenty-front/src/modules/views/hooks/useUpdateCurrentView.ts index 4c626d5d8..066bd93f7 100644 --- a/packages/twenty-front/src/modules/views/hooks/useUpdateCurrentView.ts +++ b/packages/twenty-front/src/modules/views/hooks/useUpdateCurrentView.ts @@ -5,7 +5,7 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { useRecoilComponentCallbackStateV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentCallbackStateV2'; import { GraphQLView } from '@/views/types/GraphQLView'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useUpdateCurrentView = () => { const currentViewIdCallbackState = useRecoilComponentCallbackStateV2( diff --git a/packages/twenty-front/src/modules/views/hooks/useUpdateView.ts b/packages/twenty-front/src/modules/views/hooks/useUpdateView.ts index fe85b7169..91de5ecf1 100644 --- a/packages/twenty-front/src/modules/views/hooks/useUpdateView.ts +++ b/packages/twenty-front/src/modules/views/hooks/useUpdateView.ts @@ -2,7 +2,7 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { GraphQLView } from '@/views/types/GraphQLView'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useUpdateView = () => { const { updateOneRecord } = useUpdateOneRecord({ diff --git a/packages/twenty-front/src/modules/views/hooks/useUpdateViewField.ts b/packages/twenty-front/src/modules/views/hooks/useUpdateViewField.ts index 6756c0cc9..3c728c2e5 100644 --- a/packages/twenty-front/src/modules/views/hooks/useUpdateViewField.ts +++ b/packages/twenty-front/src/modules/views/hooks/useUpdateViewField.ts @@ -2,7 +2,7 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { useUpdateOneRecord } from '@/object-record/hooks/useUpdateOneRecord'; import { ViewField } from '@/views/types/ViewField'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useUpdateViewField = () => { const { updateOneRecord } = useUpdateOneRecord({ diff --git a/packages/twenty-front/src/modules/views/utils/__tests__/mapRecordFilterGroupToViewFilterGroup.test.ts b/packages/twenty-front/src/modules/views/utils/__tests__/mapRecordFilterGroupToViewFilterGroup.test.ts index 182f2d406..1dd72370d 100644 --- a/packages/twenty-front/src/modules/views/utils/__tests__/mapRecordFilterGroupToViewFilterGroup.test.ts +++ b/packages/twenty-front/src/modules/views/utils/__tests__/mapRecordFilterGroupToViewFilterGroup.test.ts @@ -7,8 +7,8 @@ import { ViewFilterGroupLogicalOperator } from '@/views/types/ViewFilterGroupLog import { ViewOpenRecordInType } from '@/views/types/ViewOpenRecordInType'; import { ViewType } from '@/views/types/ViewType'; import { mapRecordFilterGroupToViewFilterGroup } from '@/views/utils/mapRecordFilterGroupToViewFilterGroup'; -import { isDefined } from 'twenty-shared'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; +import { isDefined } from 'twenty-shared/utils'; const mockObjectMetadataItemNameSingular = 'company'; diff --git a/packages/twenty-front/src/modules/views/utils/duplicateViewFiltersAndViewFilterGroups.ts b/packages/twenty-front/src/modules/views/utils/duplicateViewFiltersAndViewFilterGroups.ts index 84ad0cbcf..07d1a7d27 100644 --- a/packages/twenty-front/src/modules/views/utils/duplicateViewFiltersAndViewFilterGroups.ts +++ b/packages/twenty-front/src/modules/views/utils/duplicateViewFiltersAndViewFilterGroups.ts @@ -1,7 +1,7 @@ import { ViewFilter } from '@/views/types/ViewFilter'; import { ViewFilterGroup } from '@/views/types/ViewFilterGroup'; -import { isDefined } from 'twenty-shared'; import { v4 } from 'uuid'; +import { isDefined } from 'twenty-shared/utils'; export const duplicateViewFiltersAndViewFilterGroups = ({ viewFilterGroupsToDuplicate, diff --git a/packages/twenty-front/src/modules/views/utils/getQueryVariablesFromView.ts b/packages/twenty-front/src/modules/views/utils/getQueryVariablesFromView.ts index 49457a24f..3d4e12f23 100644 --- a/packages/twenty-front/src/modules/views/utils/getQueryVariablesFromView.ts +++ b/packages/twenty-front/src/modules/views/utils/getQueryVariablesFromView.ts @@ -9,7 +9,7 @@ import { View } from '@/views/types/View'; import { mapViewFilterGroupsToRecordFilterGroups } from '@/views/utils/mapViewFilterGroupsToRecordFilterGroups'; import { mapViewFiltersToFilters } from '@/views/utils/mapViewFiltersToFilters'; import { mapViewSortsToSorts } from '@/views/utils/mapViewSortsToSorts'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getQueryVariablesFromView = ({ view, diff --git a/packages/twenty-front/src/modules/views/utils/getViewFilterGroupsToCreate.ts b/packages/twenty-front/src/modules/views/utils/getViewFilterGroupsToCreate.ts index f82ef4854..90aa7173d 100644 --- a/packages/twenty-front/src/modules/views/utils/getViewFilterGroupsToCreate.ts +++ b/packages/twenty-front/src/modules/views/utils/getViewFilterGroupsToCreate.ts @@ -1,6 +1,6 @@ import { ViewFilterGroup } from '@/views/types/ViewFilterGroup'; -import { isDefined } from 'twenty-shared'; import { compareStrictlyExceptForNullAndUndefined } from '~/utils/compareStrictlyExceptForNullAndUndefined'; +import { isDefined } from 'twenty-shared/utils'; export const getViewFilterGroupsToCreate = ( currentViewFilterGroups: ViewFilterGroup[], diff --git a/packages/twenty-front/src/modules/views/utils/getViewFilterGroupsToUpdate.ts b/packages/twenty-front/src/modules/views/utils/getViewFilterGroupsToUpdate.ts index 06e0f13d2..02cc54823 100644 --- a/packages/twenty-front/src/modules/views/utils/getViewFilterGroupsToUpdate.ts +++ b/packages/twenty-front/src/modules/views/utils/getViewFilterGroupsToUpdate.ts @@ -1,7 +1,7 @@ import { ViewFilterGroup } from '@/views/types/ViewFilterGroup'; import { areViewFilterGroupsEqual } from '@/views/utils/areViewFilterGroupsEqual'; -import { isDefined } from 'twenty-shared'; import { compareStrictlyExceptForNullAndUndefined } from '~/utils/compareStrictlyExceptForNullAndUndefined'; +import { isDefined } from 'twenty-shared/utils'; export const getViewFilterGroupsToUpdate = ( currentViewFilterGroups: ViewFilterGroup[], diff --git a/packages/twenty-front/src/modules/views/utils/getViewFiltersToCreate.ts b/packages/twenty-front/src/modules/views/utils/getViewFiltersToCreate.ts index cfc803f78..7583f6e66 100644 --- a/packages/twenty-front/src/modules/views/utils/getViewFiltersToCreate.ts +++ b/packages/twenty-front/src/modules/views/utils/getViewFiltersToCreate.ts @@ -1,6 +1,6 @@ import { ViewFilter } from '@/views/types/ViewFilter'; -import { isDefined } from 'twenty-shared'; import { compareStrictlyExceptForNullAndUndefined } from '~/utils/compareStrictlyExceptForNullAndUndefined'; +import { isDefined } from 'twenty-shared/utils'; export const getViewFiltersToCreate = ( currentViewFilters: ViewFilter[], diff --git a/packages/twenty-front/src/modules/views/utils/getViewFiltersToUpdate.ts b/packages/twenty-front/src/modules/views/utils/getViewFiltersToUpdate.ts index ebf34e1b0..aff78bc16 100644 --- a/packages/twenty-front/src/modules/views/utils/getViewFiltersToUpdate.ts +++ b/packages/twenty-front/src/modules/views/utils/getViewFiltersToUpdate.ts @@ -1,7 +1,7 @@ import { ViewFilter } from '@/views/types/ViewFilter'; import { areViewFiltersEqual } from '@/views/utils/areViewFiltersEqual'; -import { isDefined } from 'twenty-shared'; import { compareStrictlyExceptForNullAndUndefined } from '~/utils/compareStrictlyExceptForNullAndUndefined'; +import { isDefined } from 'twenty-shared/utils'; export const getViewFiltersToUpdate = ( currentViewFilters: ViewFilter[], diff --git a/packages/twenty-front/src/modules/views/utils/getViewSortsToCreate.ts b/packages/twenty-front/src/modules/views/utils/getViewSortsToCreate.ts index 72b14e70b..2642e55bf 100644 --- a/packages/twenty-front/src/modules/views/utils/getViewSortsToCreate.ts +++ b/packages/twenty-front/src/modules/views/utils/getViewSortsToCreate.ts @@ -1,5 +1,5 @@ import { ViewSort } from '@/views/types/ViewSort'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getViewSortsToCreate = ( currentViewSorts: ViewSort[], diff --git a/packages/twenty-front/src/modules/views/utils/getViewSortsToUpdate.ts b/packages/twenty-front/src/modules/views/utils/getViewSortsToUpdate.ts index 1d9076698..03f5a91f0 100644 --- a/packages/twenty-front/src/modules/views/utils/getViewSortsToUpdate.ts +++ b/packages/twenty-front/src/modules/views/utils/getViewSortsToUpdate.ts @@ -1,6 +1,6 @@ import { ViewSort } from '@/views/types/ViewSort'; import { areViewSortsEqual } from '@/views/utils/areViewSortsEqual'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getViewSortsToUpdate = ( currentViewSorts: ViewSort[], diff --git a/packages/twenty-front/src/modules/views/utils/mapViewFieldsToColumnDefinitions.ts b/packages/twenty-front/src/modules/views/utils/mapViewFieldsToColumnDefinitions.ts index dd431c6c2..651993719 100644 --- a/packages/twenty-front/src/modules/views/utils/mapViewFieldsToColumnDefinitions.ts +++ b/packages/twenty-front/src/modules/views/utils/mapViewFieldsToColumnDefinitions.ts @@ -1,11 +1,11 @@ import { FieldMetadata } from '@/object-record/record-field/types/FieldMetadata'; import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition'; -import { isDefined } from 'twenty-shared'; import { mapArrayToObject } from '~/utils/array/mapArrayToObject'; import { moveArrayItem } from '~/utils/array/moveArrayItem'; import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull'; import { ViewField } from '../types/ViewField'; +import { isDefined } from 'twenty-shared/utils'; export const mapViewFieldsToColumnDefinitions = ({ columnDefinitions, diff --git a/packages/twenty-front/src/modules/views/utils/mapViewFiltersToFilters.ts b/packages/twenty-front/src/modules/views/utils/mapViewFiltersToFilters.ts index 9fc8e3b05..533002d8b 100644 --- a/packages/twenty-front/src/modules/views/utils/mapViewFiltersToFilters.ts +++ b/packages/twenty-front/src/modules/views/utils/mapViewFiltersToFilters.ts @@ -1,10 +1,10 @@ import { RecordFilter } from '@/object-record/record-filter/types/RecordFilter'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { getFilterTypeFromFieldType } from '@/object-metadata/utils/formatFieldMetadataItemsAsFilterDefinitions'; import { ViewFilter } from '../types/ViewFilter'; +import { isDefined } from 'twenty-shared/utils'; export const mapViewFiltersToFilters = ( viewFilters: ViewFilter[], diff --git a/packages/twenty-front/src/modules/views/utils/mapViewGroupsToRecordGroupDefinitions.ts b/packages/twenty-front/src/modules/views/utils/mapViewGroupsToRecordGroupDefinitions.ts index 3b7ad89f7..9eec91ac5 100644 --- a/packages/twenty-front/src/modules/views/utils/mapViewGroupsToRecordGroupDefinitions.ts +++ b/packages/twenty-front/src/modules/views/utils/mapViewGroupsToRecordGroupDefinitions.ts @@ -1,5 +1,3 @@ -import { isDefined } from 'twenty-shared'; - import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { RecordGroupDefinition, @@ -7,6 +5,7 @@ import { } from '@/object-record/record-group/types/RecordGroupDefinition'; import { ViewGroup } from '@/views/types/ViewGroup'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const mapViewGroupsToRecordGroupDefinitions = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/views/utils/mapViewSortsToSorts.ts b/packages/twenty-front/src/modules/views/utils/mapViewSortsToSorts.ts index 64d3ba2af..cc7f22c62 100644 --- a/packages/twenty-front/src/modules/views/utils/mapViewSortsToSorts.ts +++ b/packages/twenty-front/src/modules/views/utils/mapViewSortsToSorts.ts @@ -1,7 +1,6 @@ -import { isDefined } from 'twenty-shared'; - import { RecordSort } from '@/object-record/record-sort/types/RecordSort'; import { ViewSort } from '../types/ViewSort'; +import { isDefined } from 'twenty-shared/utils'; export const mapViewSortsToSorts = (viewSorts: ViewSort[]): RecordSort[] => { return viewSorts diff --git a/packages/twenty-front/src/modules/views/utils/shouldReplaceFilter.ts b/packages/twenty-front/src/modules/views/utils/shouldReplaceFilter.ts index a1db34093..fd05e2955 100644 --- a/packages/twenty-front/src/modules/views/utils/shouldReplaceFilter.ts +++ b/packages/twenty-front/src/modules/views/utils/shouldReplaceFilter.ts @@ -1,6 +1,6 @@ import { RecordFilter } from '@/object-record/record-filter/types/RecordFilter'; -import { isDefined } from 'twenty-shared'; import { compareStrictlyExceptForNullAndUndefined } from '~/utils/compareStrictlyExceptForNullAndUndefined'; +import { isDefined } from 'twenty-shared/utils'; export const shouldReplaceFilter = ( oldFilter: Pick< diff --git a/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentEffect.tsx b/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentEffect.tsx index 34d4076e2..c3c2a194c 100644 --- a/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentEffect.tsx +++ b/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerContentEffect.tsx @@ -16,7 +16,7 @@ import { viewPickerReferenceViewIdComponentState } from '@/views/view-picker/sta import { viewPickerSelectedIconComponentState } from '@/views/view-picker/states/viewPickerSelectedIconComponentState'; import { viewPickerTypeComponentState } from '@/views/view-picker/states/viewPickerTypeComponentState'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const ViewPickerContentEffect = () => { const setViewPickerSelectedIcon = useSetRecoilComponentStateV2( diff --git a/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerDropdown.tsx b/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerDropdown.tsx index a4f031bae..1eec1c125 100644 --- a/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerDropdown.tsx +++ b/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerDropdown.tsx @@ -21,7 +21,7 @@ import { ViewPickerListContent } from '@/views/view-picker/components/ViewPicker import { VIEW_PICKER_DROPDOWN_ID } from '@/views/view-picker/constants/ViewPickerDropdownId'; import { useUpdateViewFromCurrentState } from '@/views/view-picker/hooks/useUpdateViewFromCurrentState'; import { useViewPickerMode } from '@/views/view-picker/hooks/useViewPickerMode'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledDropdownLabelAdornments = styled.span` align-items: center; diff --git a/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerListContent.tsx b/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerListContent.tsx index 2bdcf02bd..657f0320d 100644 --- a/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerListContent.tsx +++ b/packages/twenty-front/src/modules/views/view-picker/components/ViewPickerListContent.tsx @@ -18,8 +18,8 @@ import { useViewPickerMode } from '@/views/view-picker/hooks/useViewPickerMode'; import { viewPickerReferenceViewIdComponentState } from '@/views/view-picker/states/viewPickerReferenceViewIdComponentState'; import { useLingui } from '@lingui/react/macro'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { moveArrayItem } from '~/utils/array/moveArrayItem'; +import { isDefined } from 'twenty-shared/utils'; const StyledBoldDropdownMenuItemsContainer = styled(DropdownMenuItemsContainer)` font-weight: ${({ theme }) => theme.font.weight.regular}; diff --git a/packages/twenty-front/src/modules/views/view-picker/hooks/useGetAvailableFieldsForKanban.ts b/packages/twenty-front/src/modules/views/view-picker/hooks/useGetAvailableFieldsForKanban.ts index 5d73ebe81..d371ed947 100644 --- a/packages/twenty-front/src/modules/views/view-picker/hooks/useGetAvailableFieldsForKanban.ts +++ b/packages/twenty-front/src/modules/views/view-picker/hooks/useGetAvailableFieldsForKanban.ts @@ -7,9 +7,9 @@ import { SettingsPath } from '@/types/SettingsPath'; import { navigationMemorizedUrlState } from '@/ui/navigation/states/navigationMemorizedUrlState'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { viewObjectMetadataIdComponentState } from '@/views/states/viewObjectMetadataIdComponentState'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; +import { isDefined } from 'twenty-shared/utils'; export const useGetAvailableFieldsForKanban = () => { const viewObjectMetadataId = useRecoilComponentValueV2( diff --git a/packages/twenty-front/src/modules/workflow/hooks/useActivateWorkflowVersion.ts b/packages/twenty-front/src/modules/workflow/hooks/useActivateWorkflowVersion.ts index e3bd3867b..7febbead0 100644 --- a/packages/twenty-front/src/modules/workflow/hooks/useActivateWorkflowVersion.ts +++ b/packages/twenty-front/src/modules/workflow/hooks/useActivateWorkflowVersion.ts @@ -6,11 +6,11 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { modifyRecordFromCache } from '@/object-record/cache/utils/modifyRecordFromCache'; import { ACTIVATE_WORKFLOW_VERSION } from '@/workflow/graphql/mutations/activateWorkflowVersion'; import { WorkflowVersion } from '@/workflow/types/Workflow'; -import { isDefined } from 'twenty-shared'; import { ActivateWorkflowVersionMutation, ActivateWorkflowVersionMutationVariables, } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useActivateWorkflowVersion = () => { const apolloClient = useApolloClient(); diff --git a/packages/twenty-front/src/modules/workflow/hooks/useActiveWorkflowVersionsWithManualTrigger.ts b/packages/twenty-front/src/modules/workflow/hooks/useActiveWorkflowVersionsWithManualTrigger.ts index a5f574885..dbc49b004 100644 --- a/packages/twenty-front/src/modules/workflow/hooks/useActiveWorkflowVersionsWithManualTrigger.ts +++ b/packages/twenty-front/src/modules/workflow/hooks/useActiveWorkflowVersionsWithManualTrigger.ts @@ -4,7 +4,7 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { generateDepthOneRecordGqlFields } from '@/object-record/graphql/utils/generateDepthOneRecordGqlFields'; import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords'; import { Workflow, WorkflowVersion } from '@/workflow/types/Workflow'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useActiveWorkflowVersionsWithManualTrigger = ({ objectMetadataItem, diff --git a/packages/twenty-front/src/modules/workflow/hooks/useDeactivateWorkflowVersion.ts b/packages/twenty-front/src/modules/workflow/hooks/useDeactivateWorkflowVersion.ts index 7deac76b3..147aa582d 100644 --- a/packages/twenty-front/src/modules/workflow/hooks/useDeactivateWorkflowVersion.ts +++ b/packages/twenty-front/src/modules/workflow/hooks/useDeactivateWorkflowVersion.ts @@ -6,11 +6,11 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi import { modifyRecordFromCache } from '@/object-record/cache/utils/modifyRecordFromCache'; import { DEACTIVATE_WORKFLOW_VERSION } from '@/workflow/graphql/mutations/deactivateWorkflowVersion'; import { WorkflowVersion } from '@/workflow/types/Workflow'; -import { isDefined } from 'twenty-shared'; import { DeactivateWorkflowVersionMutation, DeactivateWorkflowVersionMutationVariables, } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useDeactivateWorkflowVersion = () => { const apolloClient = useApolloClient(); diff --git a/packages/twenty-front/src/modules/workflow/hooks/useDeleteOneWorkflowVersion.ts b/packages/twenty-front/src/modules/workflow/hooks/useDeleteOneWorkflowVersion.ts index 48dbf7bf8..8843be3d1 100644 --- a/packages/twenty-front/src/modules/workflow/hooks/useDeleteOneWorkflowVersion.ts +++ b/packages/twenty-front/src/modules/workflow/hooks/useDeleteOneWorkflowVersion.ts @@ -3,7 +3,7 @@ import { useGetRecordFromCache } from '@/object-record/cache/hooks/useGetRecordF import { useDeleteOneRecord } from '@/object-record/hooks/useDeleteOneRecord'; import { Workflow, WorkflowVersion } from '@/workflow/types/Workflow'; import { useApolloClient } from '@apollo/client'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useDeleteOneWorkflowVersion = () => { const apolloClient = useApolloClient(); diff --git a/packages/twenty-front/src/modules/workflow/hooks/useDeleteWorkflowVersionStep.ts b/packages/twenty-front/src/modules/workflow/hooks/useDeleteWorkflowVersionStep.ts index be051607b..837985d1b 100644 --- a/packages/twenty-front/src/modules/workflow/hooks/useDeleteWorkflowVersionStep.ts +++ b/packages/twenty-front/src/modules/workflow/hooks/useDeleteWorkflowVersionStep.ts @@ -6,13 +6,13 @@ import { updateRecordFromCache } from '@/object-record/cache/utils/updateRecordF import { DELETE_WORKFLOW_VERSION_STEP } from '@/workflow/graphql/mutations/deleteWorkflowVersionStep'; import { WorkflowVersion } from '@/workflow/types/Workflow'; import { useApolloClient, useMutation } from '@apollo/client'; -import { isDefined } from 'twenty-shared'; import { DeleteWorkflowVersionStepInput, DeleteWorkflowVersionStepMutation, DeleteWorkflowVersionStepMutationVariables, WorkflowAction, } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useDeleteWorkflowVersionStep = () => { const apolloClient = useApolloClient(); diff --git a/packages/twenty-front/src/modules/workflow/hooks/useFlowOrThrow.ts b/packages/twenty-front/src/modules/workflow/hooks/useFlowOrThrow.ts index 99fd038a8..f5f99a409 100644 --- a/packages/twenty-front/src/modules/workflow/hooks/useFlowOrThrow.ts +++ b/packages/twenty-front/src/modules/workflow/hooks/useFlowOrThrow.ts @@ -1,6 +1,6 @@ import { flowState } from '@/workflow/states/flowState'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useFlowOrThrow = () => { const flow = useRecoilValue(flowState); diff --git a/packages/twenty-front/src/modules/workflow/hooks/useStepsOutputSchema.ts b/packages/twenty-front/src/modules/workflow/hooks/useStepsOutputSchema.ts index 063ab1433..88263a1be 100644 --- a/packages/twenty-front/src/modules/workflow/hooks/useStepsOutputSchema.ts +++ b/packages/twenty-front/src/modules/workflow/hooks/useStepsOutputSchema.ts @@ -11,7 +11,7 @@ import { } from '@/workflow/workflow-variables/types/StepOutputSchema'; import { getTriggerStepName } from '@/workflow/workflow-variables/utils/getTriggerStepName'; import { useRecoilCallback } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useStepsOutputSchema = () => { const populateStepsOutputSchema = useRecoilCallback( diff --git a/packages/twenty-front/src/modules/workflow/hooks/useWorkflowRunIdOrThrow.ts b/packages/twenty-front/src/modules/workflow/hooks/useWorkflowRunIdOrThrow.ts index bfc18b341..d76132dcc 100644 --- a/packages/twenty-front/src/modules/workflow/hooks/useWorkflowRunIdOrThrow.ts +++ b/packages/twenty-front/src/modules/workflow/hooks/useWorkflowRunIdOrThrow.ts @@ -1,6 +1,6 @@ import { workflowRunIdState } from '@/workflow/states/workflowRunIdState'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useWorkflowRunIdOrThrow = () => { const workflowRunId = useRecoilValue(workflowRunIdState); diff --git a/packages/twenty-front/src/modules/workflow/hooks/useWorkflowWithCurrentVersion.ts b/packages/twenty-front/src/modules/workflow/hooks/useWorkflowWithCurrentVersion.ts index 859a0a985..d3a4920f8 100644 --- a/packages/twenty-front/src/modules/workflow/hooks/useWorkflowWithCurrentVersion.ts +++ b/packages/twenty-front/src/modules/workflow/hooks/useWorkflowWithCurrentVersion.ts @@ -5,7 +5,7 @@ import { WorkflowWithCurrentVersion, } from '@/workflow/types/Workflow'; import { useMemo } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useWorkflowWithCurrentVersion = ( workflowId: string | undefined, diff --git a/packages/twenty-front/src/modules/workflow/states/selectors/stepsOutputSchemaFamilySelector.ts b/packages/twenty-front/src/modules/workflow/states/selectors/stepsOutputSchemaFamilySelector.ts index 6e4367ed2..322280907 100644 --- a/packages/twenty-front/src/modules/workflow/states/selectors/stepsOutputSchemaFamilySelector.ts +++ b/packages/twenty-front/src/modules/workflow/states/selectors/stepsOutputSchemaFamilySelector.ts @@ -2,7 +2,7 @@ import { stepsOutputSchemaFamilyState } from '@/workflow/states/stepsOutputSchem import { getStepOutputSchemaFamilyStateKey } from '@/workflow/utils/getStepOutputSchemaFamilyStateKey'; import { StepOutputSchema } from '@/workflow/workflow-variables/types/StepOutputSchema'; import { selectorFamily } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const stepsOutputSchemaFamilySelector = selectorFamily< StepOutputSchema[], diff --git a/packages/twenty-front/src/modules/workflow/utils/assertWorkflowWithCurrentVersionIsDefined.ts b/packages/twenty-front/src/modules/workflow/utils/assertWorkflowWithCurrentVersionIsDefined.ts index dafcaa157..141badc85 100644 --- a/packages/twenty-front/src/modules/workflow/utils/assertWorkflowWithCurrentVersionIsDefined.ts +++ b/packages/twenty-front/src/modules/workflow/utils/assertWorkflowWithCurrentVersionIsDefined.ts @@ -3,7 +3,7 @@ import { WorkflowVersion, WorkflowWithCurrentVersion, } from '@/workflow/types/Workflow'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; // eslint-disable-next-line prefer-arrow/prefer-arrow-functions export function assertWorkflowWithCurrentVersionIsDefined( diff --git a/packages/twenty-front/src/modules/workflow/utils/findStepPosition.ts b/packages/twenty-front/src/modules/workflow/utils/findStepPosition.ts index 306c70b16..4da6103fb 100644 --- a/packages/twenty-front/src/modules/workflow/utils/findStepPosition.ts +++ b/packages/twenty-front/src/modules/workflow/utils/findStepPosition.ts @@ -1,6 +1,6 @@ import { WorkflowStep } from '@/workflow/types/Workflow'; import { TRIGGER_STEP_ID } from '@/workflow/workflow-trigger/constants/TriggerStepId'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; /** * This function returns the reference of the array where the step should be positioned diff --git a/packages/twenty-front/src/modules/workflow/utils/getStepDefinitionOrThrow.ts b/packages/twenty-front/src/modules/workflow/utils/getStepDefinitionOrThrow.ts index 6aa897936..006cd2ef3 100644 --- a/packages/twenty-front/src/modules/workflow/utils/getStepDefinitionOrThrow.ts +++ b/packages/twenty-front/src/modules/workflow/utils/getStepDefinitionOrThrow.ts @@ -1,7 +1,7 @@ import { WorkflowAction, WorkflowTrigger } from '@/workflow/types/Workflow'; import { findStepPosition } from '@/workflow/utils/findStepPosition'; import { TRIGGER_STEP_ID } from '@/workflow/workflow-trigger/constants/TriggerStepId'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getStepDefinitionOrThrow = ({ stepId, diff --git a/packages/twenty-front/src/modules/workflow/validation-schemas/workflowSchema.ts b/packages/twenty-front/src/modules/workflow/validation-schemas/workflowSchema.ts index a95e099ca..6f5b98adf 100644 --- a/packages/twenty-front/src/modules/workflow/validation-schemas/workflowSchema.ts +++ b/packages/twenty-front/src/modules/workflow/validation-schemas/workflowSchema.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'twenty-shared'; import { z } from 'zod'; +import { FieldMetadataType } from 'twenty-shared/types'; // Base schemas export const objectRecordSchema = z.record(z.any()); diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasBase.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasBase.tsx index f0530e90f..866b194e3 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasBase.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasBase.tsx @@ -27,8 +27,8 @@ import { import '@xyflow/react/dist/style.css'; import React, { useEffect, useMemo, useRef } from 'react'; import { useRecoilValue, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { THEME_COMMON, Tag, TagColor } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledResetReactflowStyles = styled.div` height: 100%; diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasEditableEffect.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasEditableEffect.tsx index 36ba99515..6ba836cfd 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasEditableEffect.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasEditableEffect.tsx @@ -17,8 +17,8 @@ import { import { getWorkflowNodeIconKey } from '@/workflow/workflow-diagram/utils/getWorkflowNodeIconKey'; import { isCreateStepNode } from '@/workflow/workflow-diagram/utils/isCreateStepNode'; import { OnSelectionChangeParams, useOnSelectionChange } from '@xyflow/react'; -import { isDefined } from 'twenty-shared'; import { useIcons } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const WorkflowDiagramCanvasEditableEffect = () => { const { getIcon } = useIcons(); diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasReadonlyEffect.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasReadonlyEffect.tsx index 1e75b864e..cafc316c3 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasReadonlyEffect.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramCanvasReadonlyEffect.tsx @@ -10,8 +10,8 @@ import { getWorkflowNodeIconKey } from '@/workflow/workflow-diagram/utils/getWor import { OnSelectionChangeParams, useOnSelectionChange } from '@xyflow/react'; import { useCallback } from 'react'; import { useRecoilValue, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { useIcons } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const WorkflowDiagramCanvasReadonlyEffect = () => { const { getIcon } = useIcons(); diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramEffect.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramEffect.tsx index 022f3800e..ec652bbad 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramEffect.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramEffect.tsx @@ -13,7 +13,7 @@ import { getWorkflowVersionDiagram } from '@/workflow/workflow-diagram/utils/get import { mergeWorkflowDiagrams } from '@/workflow/workflow-diagram/utils/mergeWorkflowDiagrams'; import { useEffect } from 'react'; import { useRecoilCallback, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const WorkflowDiagramEffect = ({ workflowWithCurrentVersion, diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramStepNodeBase.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramStepNodeBase.tsx index 11e5bd480..24a005f1b 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramStepNodeBase.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowDiagramStepNodeBase.tsx @@ -9,8 +9,8 @@ import { css } from '@emotion/react'; import styled from '@emotion/styled'; import { Handle, Position } from '@xyflow/react'; import React from 'react'; -import { capitalize, isDefined } from 'twenty-shared'; import { Label, Loader, OverflowingTextWithTooltip } from 'twenty-ui'; +import { capitalize, isDefined } from 'twenty-shared/utils'; const StyledStepNodeContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunDiagramCanvasEffect.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunDiagramCanvasEffect.tsx index 405fe1f24..fee4b87d8 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunDiagramCanvasEffect.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunDiagramCanvasEffect.tsx @@ -14,8 +14,8 @@ import { TRIGGER_STEP_ID } from '@/workflow/workflow-trigger/constants/TriggerSt import { OnSelectionChangeParams, useOnSelectionChange } from '@xyflow/react'; import { useCallback } from 'react'; import { useRecoilCallback, useRecoilValue, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { useIcons } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; export const WorkflowRunDiagramCanvasEffect = () => { const { getIcon } = useIcons(); diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunOutputVisualizer.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunOutputVisualizer.tsx index 4e5ccb3d4..a943dd423 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunOutputVisualizer.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunOutputVisualizer.tsx @@ -1,7 +1,7 @@ import { useWorkflowRunUnsafe } from '@/workflow/hooks/useWorkflowRunUnsafe'; import styled from '@emotion/styled'; -import { isDefined } from 'twenty-shared'; import { CodeEditor } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledSourceCodeContainer = styled.div` margin: ${({ theme }) => theme.spacing(4)}; diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunVisualizer.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunVisualizer.tsx index 3b7b9e69b..3627978c6 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunVisualizer.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunVisualizer.tsx @@ -1,7 +1,7 @@ import { useWorkflowRun } from '@/workflow/hooks/useWorkflowRun'; import { WorkflowRunDiagramCanvas } from '@/workflow/workflow-diagram/components/WorkflowRunDiagramCanvas'; import styled from '@emotion/styled'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` height: 100%; diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunVisualizerEffect.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunVisualizerEffect.tsx index 1f5987de1..62b16d02b 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunVisualizerEffect.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunVisualizerEffect.tsx @@ -8,7 +8,7 @@ import { workflowDiagramState } from '@/workflow/workflow-diagram/states/workflo import { generateWorkflowRunDiagram } from '@/workflow/workflow-diagram/utils/generateWorkflowRunDiagram'; import { useEffect } from 'react'; import { useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const WorkflowRunVisualizerEffect = ({ workflowRunId, diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVersionVisualizer.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVersionVisualizer.tsx index c4946ecb4..ec35ce594 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVersionVisualizer.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVersionVisualizer.tsx @@ -1,7 +1,7 @@ import { useWorkflowVersion } from '@/workflow/hooks/useWorkflowVersion'; import { WorkflowDiagramCanvasReadonly } from '@/workflow/workflow-diagram/components/WorkflowDiagramCanvasReadonly'; import '@xyflow/react/dist/style.css'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const WorkflowVersionVisualizer = ({ workflowVersionId, diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVersionVisualizerEffect.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVersionVisualizerEffect.tsx index d61025456..7f73f34f1 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVersionVisualizerEffect.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVersionVisualizerEffect.tsx @@ -6,7 +6,7 @@ import { workflowDiagramState } from '@/workflow/workflow-diagram/states/workflo import { getWorkflowVersionDiagram } from '@/workflow/workflow-diagram/utils/getWorkflowVersionDiagram'; import { useEffect } from 'react'; import { useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const WorkflowVersionVisualizerEffect = ({ workflowVersionId, diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVisualizer.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVisualizer.tsx index 94d3b6993..70d9d4e29 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVisualizer.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowVisualizer.tsx @@ -2,7 +2,7 @@ import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithC import { WorkflowDiagramCanvasEditable } from '@/workflow/workflow-diagram/components/WorkflowDiagramCanvasEditable'; import { WorkflowDiagramEffect } from '@/workflow/workflow-diagram/components/WorkflowDiagramEffect'; import '@xyflow/react/dist/style.css'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const WorkflowVisualizer = ({ workflowId }: { workflowId: string }) => { const workflowWithCurrentVersion = useWorkflowWithCurrentVersion(workflowId); diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useStartNodeCreation.ts b/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useStartNodeCreation.ts index 2a0078354..218205f5b 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useStartNodeCreation.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useStartNodeCreation.ts @@ -4,7 +4,7 @@ import { useRecoilValue, useSetRecoilState } from 'recoil'; import { useWorkflowCommandMenu } from '@/command-menu/hooks/useWorkflowCommandMenu'; import { workflowIdState } from '@/workflow/states/workflowIdState'; import { workflowCreateStepFromParentStepIdState } from '@/workflow/workflow-steps/states/workflowCreateStepFromParentStepIdState'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useStartNodeCreation = () => { const setWorkflowCreateStepFromParentStepId = useSetRecoilState( diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useTriggerNodeSelection.ts b/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useTriggerNodeSelection.ts index d1d6de804..fe8a87c3f 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useTriggerNodeSelection.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useTriggerNodeSelection.ts @@ -6,7 +6,7 @@ import { import { useReactFlow } from '@xyflow/react'; import { useEffect } from 'react'; import { useRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useTriggerNodeSelection = () => { const reactflow = useReactFlow(); diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useWorkflowSelectedNodeOrThrow.ts b/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useWorkflowSelectedNodeOrThrow.ts index dcc840e55..10a62c6c1 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useWorkflowSelectedNodeOrThrow.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/hooks/useWorkflowSelectedNodeOrThrow.ts @@ -1,6 +1,6 @@ import { workflowSelectedNodeState } from '@/workflow/workflow-diagram/states/workflowSelectedNodeState'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useWorkflowSelectedNodeOrThrow = () => { const workflowSelectedNode = useRecoilValue(workflowSelectedNodeState); diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowDiagram.ts b/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowDiagram.ts index 58f3f8c83..f90b0c6b1 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowDiagram.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowDiagram.ts @@ -12,8 +12,8 @@ import { import { getWorkflowDiagramTriggerNode } from '@/workflow/workflow-diagram/utils/getWorkflowDiagramTriggerNode'; import { TRIGGER_STEP_ID } from '@/workflow/workflow-trigger/constants/TriggerStepId'; -import { isDefined } from 'twenty-shared'; import { v4 } from 'uuid'; +import { isDefined } from 'twenty-shared/utils'; export const generateWorkflowDiagram = ({ trigger, diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowRunDiagram.ts b/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowRunDiagram.ts index 813b74ac9..1001bc292 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowRunDiagram.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowRunDiagram.ts @@ -15,8 +15,8 @@ import { } from '@/workflow/workflow-diagram/types/WorkflowDiagram'; import { getWorkflowDiagramTriggerNode } from '@/workflow/workflow-diagram/utils/getWorkflowDiagramTriggerNode'; import { TRIGGER_STEP_ID } from '@/workflow/workflow-trigger/constants/TriggerStepId'; -import { isDefined } from 'twenty-shared'; import { v4 } from 'uuid'; +import { isDefined } from 'twenty-shared/utils'; export const generateWorkflowRunDiagram = ({ trigger, diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/getWorkflowDiagramTriggerNode.ts b/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/getWorkflowDiagramTriggerNode.ts index 16a011f82..e8fb18329 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/getWorkflowDiagramTriggerNode.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/getWorkflowDiagramTriggerNode.ts @@ -6,7 +6,7 @@ import { DATABASE_TRIGGER_TYPES } from '@/workflow/workflow-trigger/constants/Da import { TRIGGER_STEP_ID } from '@/workflow/workflow-trigger/constants/TriggerStepId'; import { getTriggerIcon } from '@/workflow/workflow-trigger/utils/getTriggerIcon'; import { Node } from '@xyflow/react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getWorkflowDiagramTriggerNode = ({ trigger, diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/getWorkflowVersionDiagram.ts b/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/getWorkflowVersionDiagram.ts index 31e4cd981..9ac6a65a7 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/getWorkflowVersionDiagram.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/getWorkflowVersionDiagram.ts @@ -1,7 +1,7 @@ import { WorkflowVersion } from '@/workflow/types/Workflow'; import { WorkflowDiagram } from '@/workflow/workflow-diagram/types/WorkflowDiagram'; import { generateWorkflowDiagram } from '@/workflow/workflow-diagram/utils/generateWorkflowDiagram'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const EMPTY_DIAGRAM: WorkflowDiagram = { nodes: [], diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepInputDetail.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepInputDetail.tsx index cb231ca0f..d56c6eeed 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepInputDetail.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepInputDetail.tsx @@ -5,13 +5,13 @@ import { getWorkflowRunStepContext } from '@/workflow/workflow-steps/utils/getWo import { getWorkflowVariablesUsedInStep } from '@/workflow/workflow-steps/utils/getWorkflowVariablesUsedInStep'; import styled from '@emotion/styled'; import { useLingui } from '@lingui/react/macro'; -import { isDefined } from 'twenty-shared'; import { IconBrackets, JsonNestedNode, JsonTreeContextProvider, ShouldExpandNodeInitiallyProps, } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: grid; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepNodeDetail.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepNodeDetail.tsx index ef911857e..644214621 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepNodeDetail.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepNodeDetail.tsx @@ -13,7 +13,7 @@ import { WorkflowEditTriggerCronForm } from '@/workflow/workflow-trigger/compone import { WorkflowEditTriggerDatabaseEventForm } from '@/workflow/workflow-trigger/components/WorkflowEditTriggerDatabaseEventForm'; import { WorkflowEditTriggerManualForm } from '@/workflow/workflow-trigger/components/WorkflowEditTriggerManualForm'; import { WorkflowEditTriggerWebhookForm } from '@/workflow/workflow-trigger/components/WorkflowEditTriggerWebhookForm'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowRunStepNodeDetailProps = { stepId: string; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepOutputDetail.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepOutputDetail.tsx index 4d7c9e1cd..c535bd24a 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepOutputDetail.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowRunStepOutputDetail.tsx @@ -2,8 +2,8 @@ import { useWorkflowRun } from '@/workflow/hooks/useWorkflowRun'; import { useWorkflowRunIdOrThrow } from '@/workflow/hooks/useWorkflowRunIdOrThrow'; import styled from '@emotion/styled'; import { useLingui } from '@lingui/react/macro'; -import { isDefined } from 'twenty-shared'; import { isTwoFirstDepths, JsonTree } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: grid; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowStepDetail.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowStepDetail.tsx index 3d7ad7be8..795c59f58 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowStepDetail.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/components/WorkflowStepDetail.tsx @@ -12,7 +12,7 @@ import { WorkflowEditTriggerCronForm } from '@/workflow/workflow-trigger/compone import { WorkflowEditTriggerDatabaseEventForm } from '@/workflow/workflow-trigger/components/WorkflowEditTriggerDatabaseEventForm'; import { WorkflowEditTriggerManualForm } from '@/workflow/workflow-trigger/components/WorkflowEditTriggerManualForm'; import { WorkflowEditTriggerWebhookForm } from '@/workflow/workflow-trigger/components/WorkflowEditTriggerWebhookForm'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowStepDetailProps = { stepId: string; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useCreateStep.ts b/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useCreateStep.ts index 3427b6eb5..a5bb34611 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useCreateStep.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useCreateStep.ts @@ -8,7 +8,7 @@ import { workflowSelectedNodeState } from '@/workflow/workflow-diagram/states/wo import { useCreateWorkflowVersionStep } from '@/workflow/workflow-steps/hooks/useCreateWorkflowVersionStep'; import { workflowCreateStepFromParentStepIdState } from '@/workflow/workflow-steps/states/workflowCreateStepFromParentStepIdState'; import { useRecoilValue, useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useCreateStep = ({ workflow, diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useCreateWorkflowVersionStep.ts b/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useCreateWorkflowVersionStep.ts index c921b018a..9fda81ec5 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useCreateWorkflowVersionStep.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useCreateWorkflowVersionStep.ts @@ -6,12 +6,12 @@ import { updateRecordFromCache } from '@/object-record/cache/utils/updateRecordF import { CREATE_WORKFLOW_VERSION_STEP } from '@/workflow/graphql/mutations/createWorkflowVersionStep'; import { WorkflowVersion } from '@/workflow/types/Workflow'; import { useApolloClient, useMutation } from '@apollo/client'; -import { isDefined } from 'twenty-shared'; import { CreateWorkflowVersionStepInput, CreateWorkflowVersionStepMutation, CreateWorkflowVersionStepMutationVariables, } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useCreateWorkflowVersionStep = () => { const apolloClient = useApolloClient(); diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useUpdateStep.ts b/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useUpdateStep.ts index c81888a6f..9ae176ab3 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useUpdateStep.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useUpdateStep.ts @@ -4,7 +4,7 @@ import { WorkflowWithCurrentVersion, } from '@/workflow/types/Workflow'; import { useUpdateWorkflowVersionStep } from '@/workflow/workflow-steps/hooks/useUpdateWorkflowVersionStep'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useUpdateStep = ({ workflow, diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useUpdateWorkflowVersionStep.ts b/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useUpdateWorkflowVersionStep.ts index f93cb59d9..101fb7e60 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useUpdateWorkflowVersionStep.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/hooks/useUpdateWorkflowVersionStep.ts @@ -6,13 +6,13 @@ import { updateRecordFromCache } from '@/object-record/cache/utils/updateRecordF import { UPDATE_WORKFLOW_VERSION_STEP } from '@/workflow/graphql/mutations/updateWorkflowVersionStep'; import { WorkflowVersion } from '@/workflow/types/Workflow'; import { useApolloClient, useMutation } from '@apollo/client'; -import { isDefined } from 'twenty-shared'; import { UpdateWorkflowVersionStepInput, UpdateWorkflowVersionStepMutation, UpdateWorkflowVersionStepMutationVariables, WorkflowAction, } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const useUpdateWorkflowVersionStep = () => { const apolloClient = useApolloClient(); diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/utils/getWorkflowRunStepExecutionStatus.ts b/packages/twenty-front/src/modules/workflow/workflow-steps/utils/getWorkflowRunStepExecutionStatus.ts index 32ad24706..af317d8a8 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/utils/getWorkflowRunStepExecutionStatus.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/utils/getWorkflowRunStepExecutionStatus.ts @@ -1,7 +1,7 @@ import { WorkflowRunOutput } from '@/workflow/types/Workflow'; import { WorkflowDiagramRunStatus } from '@/workflow/workflow-diagram/types/WorkflowDiagram'; import { isNull } from '@sniptt/guards'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getWorkflowRunStepExecutionStatus = ({ workflowRunOutput, diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowEditActionServerlessFunction.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowEditActionServerlessFunction.tsx index d48eb8afc..4b790f4dd 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowEditActionServerlessFunction.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowEditActionServerlessFunction.tsx @@ -36,9 +36,9 @@ import { editor } from 'monaco-editor'; import { AutoTypings } from 'monaco-editor-auto-typings'; import { useEffect, useState } from 'react'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { CodeEditor, IconCode, IconPlayerPlay, useIcons } from 'twenty-ui'; import { useDebouncedCallback } from 'use-debounce'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowReadonlyActionServerlessFunction.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowReadonlyActionServerlessFunction.tsx index a908c9625..f6855c3df 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowReadonlyActionServerlessFunction.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/components/WorkflowReadonlyActionServerlessFunction.tsx @@ -13,8 +13,8 @@ import styled from '@emotion/styled'; import { Monaco } from '@monaco-editor/react'; import { editor } from 'monaco-editor'; import { AutoTypings } from 'monaco-editor-auto-typings'; -import { isDefined } from 'twenty-shared'; import { CodeEditor, useIcons } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/utils/getWrongExportedFunctionMarkers.ts b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/utils/getWrongExportedFunctionMarkers.ts index dbedb096b..cd033a478 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/utils/getWrongExportedFunctionMarkers.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/code-action/utils/getWrongExportedFunctionMarkers.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; const getSubstringCoordinate = ( text: string, substring: string, diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionCreateRecord.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionCreateRecord.tsx index 9c4dd57d2..8213a530a 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionCreateRecord.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionCreateRecord.tsx @@ -11,11 +11,11 @@ import { getActionIcon } from '@/workflow/workflow-steps/workflow-actions/utils/ import { WorkflowVariablePicker } from '@/workflow/workflow-variables/components/WorkflowVariablePicker'; import { useTheme } from '@emotion/react'; import { useEffect, useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { HorizontalSeparator, useIcons } from 'twenty-ui'; import { JsonValue } from 'type-fest'; import { useDebouncedCallback } from 'use-debounce'; import { FieldMetadataType } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowEditActionCreateRecordProps = { action: WorkflowCreateRecordAction; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx index 63d410d7e..38d24f452 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionDeleteRecord.tsx @@ -8,10 +8,10 @@ import { useEffect, useState } from 'react'; import { WorkflowStepBody } from '@/workflow/workflow-steps/components/WorkflowStepBody'; import { getActionIcon } from '@/workflow/workflow-steps/workflow-actions/utils/getActionIcon'; -import { isDefined } from 'twenty-shared'; import { HorizontalSeparator, useIcons } from 'twenty-ui'; import { JsonValue } from 'type-fest'; import { useDebouncedCallback } from 'use-debounce'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowEditActionDeleteRecordProps = { action: WorkflowDeleteRecordAction; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionFindRecords.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionFindRecords.tsx index 7f9df87bf..96d970f0a 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionFindRecords.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionFindRecords.tsx @@ -8,9 +8,9 @@ import { useEffect, useState } from 'react'; import { FormNumberFieldInput } from '@/object-record/record-field/form-types/components/FormNumberFieldInput'; import { WorkflowStepBody } from '@/workflow/workflow-steps/components/WorkflowStepBody'; import { getActionIcon } from '@/workflow/workflow-steps/workflow-actions/utils/getActionIcon'; -import { isDefined } from 'twenty-shared'; import { HorizontalSeparator, useIcons } from 'twenty-ui'; import { useDebouncedCallback } from 'use-debounce'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowEditActionFindRecordsProps = { action: WorkflowFindRecordsAction; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionSendEmail.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionSendEmail.tsx index cd5e99ab9..ddd875dd2 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionSendEmail.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionSendEmail.tsx @@ -17,15 +17,12 @@ import { WorkflowVariablePicker } from '@/workflow/workflow-variables/components import { useTheme } from '@emotion/react'; import { useEffect, useState } from 'react'; import { useRecoilValue } from 'recoil'; -import { - assertUnreachable, - ConnectedAccountProvider, - isDefined, -} from 'twenty-shared'; import { IconPlus, useIcons } from 'twenty-ui'; import { JsonValue } from 'type-fest'; import { useDebouncedCallback } from 'use-debounce'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; +import { assertUnreachable, isDefined } from 'twenty-shared/utils'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; type WorkflowEditActionSendEmailProps = { action: WorkflowSendEmailAction; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx index 7fe82bab3..f1592e8d8 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionUpdateRecord.tsx @@ -12,11 +12,11 @@ import { WorkflowStepHeader } from '@/workflow/workflow-steps/components/Workflo import { WorkflowSingleRecordPicker } from '@/workflow/workflow-steps/workflow-actions/components/WorkflowSingleRecordPicker'; import { getActionIcon } from '@/workflow/workflow-steps/workflow-actions/utils/getActionIcon'; import { WorkflowVariablePicker } from '@/workflow/workflow-variables/components/WorkflowVariablePicker'; -import { isDefined } from 'twenty-shared'; import { HorizontalSeparator, useIcons } from 'twenty-ui'; import { JsonValue } from 'type-fest'; import { useDebouncedCallback } from 'use-debounce'; import { FieldMetadataType } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowEditActionUpdateRecordProps = { action: WorkflowUpdateRecordAction; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowSingleRecordPicker.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowSingleRecordPicker.tsx index 0ee7e1e04..7db091805 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowSingleRecordPicker.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowSingleRecordPicker.tsx @@ -17,8 +17,8 @@ import { WorkflowVariablesDropdown } from '@/workflow/workflow-variables/compone import { css } from '@emotion/react'; import styled from '@emotion/styled'; import { useCallback } from 'react'; -import { isDefined, isValidUuid } from 'twenty-shared'; import { IconChevronDown, IconForbid, LightIconButton } from 'twenty-ui'; +import { isDefined, isValidUuid } from 'twenty-shared/utils'; const StyledFormSelectContainer = styled(FormFieldInputInputContainer)` justify-content: space-between; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormBuilder.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormBuilder.tsx index 019caa514..88b61ef4f 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormBuilder.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormBuilder.tsx @@ -13,11 +13,12 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useLingui } from '@lingui/react/macro'; import { useEffect, useState } from 'react'; -import { FieldMetadataType, isDefined } from 'twenty-shared'; import { IconChevronDown, IconPlus, IconTrash, useIcons } from 'twenty-ui'; import { useDebouncedCallback } from 'use-debounce'; import { v4 } from 'uuid'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; export type WorkflowEditActionFormBuilderProps = { action: WorkflowFormAction; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormFieldSettings.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormFieldSettings.tsx index cc59028a2..12c184c61 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormFieldSettings.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormFieldSettings.tsx @@ -8,7 +8,6 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { t } from '@lingui/core/macro'; import camelCase from 'lodash.camelcase'; -import { FieldMetadataType } from 'twenty-shared'; import { IconSettingsAutomation, IconX, @@ -16,6 +15,7 @@ import { IllustrationIconText, LightIconButton, } from 'twenty-ui'; +import { FieldMetadataType } from 'twenty-shared/types'; type WorkflowEditActionFormFieldSettingsProps = { field: WorkflowFormActionField; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormFiller.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormFiller.tsx index 77dedc88c..6fb284743 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormFiller.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormFiller.tsx @@ -12,9 +12,9 @@ import { WorkflowFormActionField } from '@/workflow/workflow-steps/workflow-acti import { getActionIcon } from '@/workflow/workflow-steps/workflow-actions/utils/getActionIcon'; import { useTheme } from '@emotion/react'; import { useEffect, useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { useIcons } from 'twenty-ui'; import { useDebouncedCallback } from 'use-debounce'; +import { isDefined } from 'twenty-shared/utils'; export type WorkflowEditActionFormFillerProps = { action: WorkflowFormAction; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsByType.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsByType.tsx index dcb960af2..4dddf0600 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsByType.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowFormFieldSettingsByType.tsx @@ -1,7 +1,8 @@ import { WorkflowFormActionField } from '@/workflow/workflow-steps/workflow-actions/form-action/types/WorkflowFormActionField'; -import { assertUnreachable, FieldMetadataType } from 'twenty-shared'; import { WorkflowFormFieldSettingsNumber } from './WorkflowFormFieldSettingsNumber'; import { WorkflowFormFieldSettingsText } from './WorkflowFormFieldSettingsText'; +import { assertUnreachable } from 'twenty-shared/utils'; +import { FieldMetadataType } from 'twenty-shared/types'; export const WorkflowFormFieldSettingsByType = ({ field, diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormBuilder.stories.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormBuilder.stories.tsx index 4682494ec..3eacec391 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormBuilder.stories.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormBuilder.stories.tsx @@ -2,12 +2,12 @@ import { WorkflowFormAction } from '@/workflow/types/Workflow'; import { WorkflowEditActionFormBuilder } from '@/workflow/workflow-steps/workflow-actions/form-action/components/WorkflowEditActionFormBuilder'; import { Meta, StoryObj } from '@storybook/react'; import { expect, fn, within } from '@storybook/test'; -import { FieldMetadataType } from 'twenty-shared'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui'; import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepActionDrawerDecorator } from '~/testing/decorators/WorkflowStepActionDrawerDecorator'; import { graphqlMocks } from '~/testing/graphqlMocks'; import { getWorkflowNodeIdMock } from '~/testing/mock-data/workflow'; +import { FieldMetadataType } from 'twenty-shared/types'; const DEFAULT_ACTION = { id: getWorkflowNodeIdMock(), diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormFieldSettings.stories.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormFieldSettings.stories.tsx index 92047ad3e..c92bd3d79 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormFieldSettings.stories.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormFieldSettings.stories.tsx @@ -1,11 +1,11 @@ import { WorkflowFormAction } from '@/workflow/types/Workflow'; import { Meta, StoryObj } from '@storybook/react'; import { expect, fn, userEvent, within } from '@storybook/test'; -import { FieldMetadataType } from 'twenty-shared'; import { ComponentDecorator } from 'twenty-ui'; import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { WorkflowStepActionDrawerDecorator } from '~/testing/decorators/WorkflowStepActionDrawerDecorator'; import { WorkflowEditActionFormFieldSettings } from '../WorkflowEditActionFormFieldSettings'; +import { FieldMetadataType } from 'twenty-shared/types'; const meta: Meta = { title: 'Modules/Workflow/Actions/Form/WorkflowEditActionFormFieldSettings', diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormFiller.stories.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormFiller.stories.tsx index ffe0ac1f5..e22c9e8a9 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormFiller.stories.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/components/__stories__/WorkflowEditActionFormFiller.stories.tsx @@ -1,7 +1,6 @@ import { WorkflowFormAction } from '@/workflow/types/Workflow'; import { Meta, StoryObj } from '@storybook/react'; import { expect, fn, within } from '@storybook/test'; -import { FieldMetadataType } from 'twenty-shared'; import { ComponentDecorator, RouterDecorator } from 'twenty-ui'; import { I18nFrontDecorator } from '~/testing/decorators/I18nFrontDecorator'; import { ObjectMetadataItemsDecorator } from '~/testing/decorators/ObjectMetadataItemsDecorator'; @@ -10,6 +9,7 @@ import { WorkflowStepDecorator } from '~/testing/decorators/WorkflowStepDecorato import { WorkspaceDecorator } from '~/testing/decorators/WorkspaceDecorator'; import { graphqlMocks } from '~/testing/graphqlMocks'; import { WorkflowEditActionFormFiller } from '../WorkflowEditActionFormFiller'; +import { FieldMetadataType } from 'twenty-shared/types'; const meta: Meta = { title: 'Modules/Workflow/Actions/Form/WorkflowEditActionFormFiller', diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/types/WorkflowFormActionField.ts b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/types/WorkflowFormActionField.ts index 6a3cf6d92..34cd95720 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/types/WorkflowFormActionField.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/types/WorkflowFormActionField.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'twenty-shared'; import { JsonValue } from 'type-fest'; +import { FieldMetadataType } from 'twenty-shared/types'; export type WorkflowFormActionField = { id: string; diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/utils/getDefaultFormFieldSettings.ts b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/utils/getDefaultFormFieldSettings.ts index 2c64dcb82..23c957eff 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/utils/getDefaultFormFieldSettings.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/form-action/utils/getDefaultFormFieldSettings.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'twenty-shared'; import { v4 } from 'uuid'; +import { FieldMetadataType } from 'twenty-shared/types'; export const getDefaultFormFieldSettings = (type: FieldMetadataType) => { switch (type) { diff --git a/packages/twenty-front/src/modules/workflow/workflow-trigger/components/RightDrawerWorkflowSelectTriggerType.tsx b/packages/twenty-front/src/modules/workflow/workflow-trigger/components/RightDrawerWorkflowSelectTriggerType.tsx index 5c2f8a8f8..c41a8f3fd 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-trigger/components/RightDrawerWorkflowSelectTriggerType.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-trigger/components/RightDrawerWorkflowSelectTriggerType.tsx @@ -2,7 +2,7 @@ import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithC import { workflowIdState } from '@/workflow/states/workflowIdState'; import { RightDrawerWorkflowSelectTriggerTypeContent } from '@/workflow/workflow-trigger/components/RightDrawerWorkflowSelectTriggerTypeContent'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RightDrawerWorkflowSelectTriggerType = () => { const workflowId = useRecoilValue(workflowIdState); diff --git a/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerCronForm.tsx b/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerCronForm.tsx index 99a54b29d..137007a4b 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerCronForm.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerCronForm.tsx @@ -12,8 +12,8 @@ import { useTheme } from '@emotion/react'; import { isNumber } from '@sniptt/guards'; import cron from 'cron-validate'; import { useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { useIcons } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowEditTriggerCronFormProps = { trigger: WorkflowCronTrigger; diff --git a/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerDatabaseEventForm.tsx b/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerDatabaseEventForm.tsx index 655518ac1..4cdac68cd 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerDatabaseEventForm.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerDatabaseEventForm.tsx @@ -7,8 +7,8 @@ import { WorkflowStepHeader } from '@/workflow/workflow-steps/components/Workflo import { getTriggerIcon } from '@/workflow/workflow-trigger/utils/getTriggerIcon'; import { getTriggerDefaultLabel } from '@/workflow/workflow-trigger/utils/getTriggerLabel'; import { useTheme } from '@emotion/react'; -import { isDefined } from 'twenty-shared'; import { useIcons } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowEditTriggerDatabaseEventFormProps = { trigger: WorkflowDatabaseEventTrigger; diff --git a/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerManualForm.tsx b/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerManualForm.tsx index 11d3a38df..80f62dca4 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerManualForm.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerManualForm.tsx @@ -10,8 +10,8 @@ import { MANUAL_TRIGGER_AVAILABILITY_OPTIONS } from '@/workflow/workflow-trigger import { getManualTriggerDefaultSettings } from '@/workflow/workflow-trigger/utils/getManualTriggerDefaultSettings'; import { getTriggerIcon } from '@/workflow/workflow-trigger/utils/getTriggerIcon'; import { useTheme } from '@emotion/react'; -import { isDefined } from 'twenty-shared'; import { useIcons } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowEditTriggerManualFormProps = { trigger: WorkflowManualTrigger; diff --git a/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerWebhookForm.tsx b/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerWebhookForm.tsx index 6927717e7..d74806407 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerWebhookForm.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-trigger/components/WorkflowEditTriggerWebhookForm.tsx @@ -2,7 +2,6 @@ import { WorkflowWebhookTrigger } from '@/workflow/types/Workflow'; import { useTheme } from '@emotion/react'; import { useIcons, IconCopy } from 'twenty-ui'; import { getTriggerIcon } from '@/workflow/workflow-trigger/utils/getTriggerIcon'; -import { isDefined } from 'twenty-shared'; import { WorkflowStepHeader } from '@/workflow/workflow-steps/components/WorkflowStepHeader'; import { WorkflowStepBody } from '@/workflow/workflow-steps/components/WorkflowStepBody'; import { TextInputV2 } from '@/ui/input/components/TextInputV2'; @@ -14,6 +13,7 @@ import { useRecoilValue } from 'recoil'; import { workflowIdState } from '@/workflow/states/workflowIdState'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowEditTriggerWebhookFormProps = { trigger: WorkflowWebhookTrigger; diff --git a/packages/twenty-front/src/modules/workflow/workflow-trigger/hooks/useUpdateWorkflowVersionTrigger.ts b/packages/twenty-front/src/modules/workflow/workflow-trigger/hooks/useUpdateWorkflowVersionTrigger.ts index 15ffb01de..fea9943fa 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-trigger/hooks/useUpdateWorkflowVersionTrigger.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-trigger/hooks/useUpdateWorkflowVersionTrigger.ts @@ -7,7 +7,7 @@ import { WorkflowVersion, WorkflowWithCurrentVersion, } from '@/workflow/types/Workflow'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useUpdateWorkflowVersionTrigger = ({ workflow, diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdown.tsx b/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdown.tsx index 425e7d171..8189e6937 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdown.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdown.tsx @@ -11,8 +11,8 @@ import { StepOutputSchema } from '@/workflow/workflow-variables/types/StepOutput import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { IconVariablePlus } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; const StyledDropdownVariableButtonContainer = styled( StyledDropdownButtonContainer, diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownFieldItems.tsx b/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownFieldItems.tsx index 9e3cf0f0c..67bf4c0dc 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownFieldItems.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-variables/components/WorkflowVariablesDropdownFieldItems.tsx @@ -20,13 +20,13 @@ import { getStepHeaderLabel } from '@/workflow/workflow-variables/utils/getStepH import { isLinkOutputSchema } from '@/workflow/workflow-variables/utils/isLinkOutputSchema'; import { useState } from 'react'; import { useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { IconChevronLeft, MenuItemSelect, OverflowingTextWithTooltip, useIcons, } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; type WorkflowVariablesDropdownFieldItemsProps = { step: StepOutputSchema; diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/hooks/useAvailableVariablesInWorkflowStep.ts b/packages/twenty-front/src/modules/workflow/workflow-variables/hooks/useAvailableVariablesInWorkflowStep.ts index 2ed636550..acc0180ab 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-variables/hooks/useAvailableVariablesInWorkflowStep.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-variables/hooks/useAvailableVariablesInWorkflowStep.ts @@ -9,7 +9,7 @@ import { import { filterOutputSchema } from '@/workflow/workflow-variables/utils/filterOutputSchema'; import { isEmptyObject } from '@tiptap/core'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useAvailableVariablesInWorkflowStep = ({ objectNameSingularToSelect, diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/extractRawVariableNamePart.ts b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/extractRawVariableNamePart.ts index c0aec88c9..ad40b6850 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/extractRawVariableNamePart.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/extractRawVariableNamePart.ts @@ -1,5 +1,5 @@ import { CAPTURE_ALL_VARIABLE_TAG_INNER_REGEX } from '@/workflow/workflow-variables/constants/CaptureAllVariableTagInnerRegex'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const extractRawVariableNamePart = ({ rawVariableName, diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/filterOutputSchema.ts b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/filterOutputSchema.ts index 4a9687725..46fbcc5af 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/filterOutputSchema.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/filterOutputSchema.ts @@ -6,7 +6,7 @@ import { import { isBaseOutputSchema } from '@/workflow/workflow-variables/utils/isBaseOutputSchema'; import { isLinkOutputSchema } from '@/workflow/workflow-variables/utils/isLinkOutputSchema'; import { isRecordOutputSchema } from '@/workflow/workflow-variables/utils/isRecordOutputSchema'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const isValidRecordOutputSchema = ( outputSchema: RecordOutputSchema, diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/getStepHeaderLabel.ts b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/getStepHeaderLabel.ts index 23f55f5af..2818dbcde 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/getStepHeaderLabel.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/getStepHeaderLabel.ts @@ -2,7 +2,7 @@ import { StepOutputSchema } from '@/workflow/workflow-variables/types/StepOutput import { getCurrentSubStepFromPath } from '@/workflow/workflow-variables/utils/getCurrentSubStepFromPath'; import { isBaseOutputSchema } from '@/workflow/workflow-variables/utils/isBaseOutputSchema'; import { isRecordOutputSchema } from '@/workflow/workflow-variables/utils/isRecordOutputSchema'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getStepHeaderLabel = ( step: StepOutputSchema, diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/getTriggerStepName.ts b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/getTriggerStepName.ts index 1a5ad73f4..8e26c2595 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/getTriggerStepName.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/getTriggerStepName.ts @@ -4,7 +4,7 @@ import { } from '@/workflow/types/Workflow'; import { assertUnreachable } from '@/workflow/utils/assertUnreachable'; import { getTriggerDefaultLabel } from '@/workflow/workflow-trigger/utils/getTriggerLabel'; -import { capitalize, isDefined } from 'twenty-shared'; +import { capitalize, isDefined } from 'twenty-shared/utils'; export const getTriggerStepName = (trigger: WorkflowTrigger): string => { switch (trigger.type) { diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/parseEditorContent.ts b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/parseEditorContent.ts index 804fc1c15..ebd363364 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/parseEditorContent.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/parseEditorContent.ts @@ -1,5 +1,5 @@ import { JSONContent } from '@tiptap/react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const parseEditorContent = (json: JSONContent): string => { const parseNode = (node: JSONContent): string => { diff --git a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/searchVariableThroughOutputSchema.ts b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/searchVariableThroughOutputSchema.ts index 642677ed6..0e7e2a774 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-variables/utils/searchVariableThroughOutputSchema.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-variables/utils/searchVariableThroughOutputSchema.ts @@ -5,7 +5,7 @@ import { } from '@/workflow/workflow-variables/types/StepOutputSchema'; import { isBaseOutputSchema } from '@/workflow/workflow-variables/utils/isBaseOutputSchema'; import { isRecordOutputSchema } from '@/workflow/workflow-variables/utils/isRecordOutputSchema'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const getDisplayedSubStepObjectLabel = (outputSchema: OutputSchema) => { if (!isRecordOutputSchema(outputSchema)) { diff --git a/packages/twenty-front/src/modules/workspace/components/WorkspaceInviteTeam.tsx b/packages/twenty-front/src/modules/workspace/components/WorkspaceInviteTeam.tsx index 5fab1a2c9..4a446c64d 100644 --- a/packages/twenty-front/src/modules/workspace/components/WorkspaceInviteTeam.tsx +++ b/packages/twenty-front/src/modules/workspace/components/WorkspaceInviteTeam.tsx @@ -10,8 +10,8 @@ import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; import { TextInput } from '@/ui/input/components/TextInput'; import { sanitizeEmailList } from '@/workspace/utils/sanitizeEmailList'; import { useLingui } from '@lingui/react/macro'; -import { isDefined } from 'twenty-shared'; import { useCreateWorkspaceInvitation } from '../../workspace-invitation/hooks/useCreateWorkspaceInvitation'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/modules/workspace/components/WorkspaceProviderEffect.tsx b/packages/twenty-front/src/modules/workspace/components/WorkspaceProviderEffect.tsx index 63b5a0f3e..3a845eafc 100644 --- a/packages/twenty-front/src/modules/workspace/components/WorkspaceProviderEffect.tsx +++ b/packages/twenty-front/src/modules/workspace/components/WorkspaceProviderEffect.tsx @@ -1,7 +1,6 @@ import { useRecoilValue } from 'recoil'; import { useEffect } from 'react'; -import { isDefined } from 'twenty-shared'; import { isMultiWorkspaceEnabledState } from '@/client-config/states/isMultiWorkspaceEnabledState'; import { useRedirectToWorkspaceDomain } from '@/domain-manager/hooks/useRedirectToWorkspaceDomain'; import { lastAuthenticatedWorkspaceDomainState } from '@/domain-manager/states/lastAuthenticatedWorkspaceDomainState'; @@ -11,6 +10,8 @@ import { useIsCurrentLocationOnDefaultDomain } from '@/domain-manager/hooks/useI import { useGetPublicWorkspaceDataByDomain } from '@/domain-manager/hooks/useGetPublicWorkspaceDataByDomain'; import { WorkspaceUrls } from '~/generated/graphql'; import { getWorkspaceUrl } from '~/utils/getWorkspaceUrl'; +import { isDefined } from 'twenty-shared/utils'; + export const WorkspaceProviderEffect = () => { const { data: getPublicWorkspaceData } = useGetPublicWorkspaceDataByDomain(); diff --git a/packages/twenty-front/src/modules/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo.ts b/packages/twenty-front/src/modules/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo.ts index 9fbdeb02f..3bcd4fc6f 100644 --- a/packages/twenty-front/src/modules/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo.ts +++ b/packages/twenty-front/src/modules/workspace/hooks/useIsWorkspaceActivationStatusEqualsTo.ts @@ -1,7 +1,7 @@ import { useRecoilValue } from 'recoil'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; -import { WorkspaceActivationStatus } from 'twenty-shared'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; export const useIsWorkspaceActivationStatusEqualsTo = ( activationStatus: WorkspaceActivationStatus, diff --git a/packages/twenty-front/src/modules/workspace/utils/checkIfFeatureFlagIsEnabledOnWorkspace.ts b/packages/twenty-front/src/modules/workspace/utils/checkIfFeatureFlagIsEnabledOnWorkspace.ts index e72e12394..90cf07fbb 100644 --- a/packages/twenty-front/src/modules/workspace/utils/checkIfFeatureFlagIsEnabledOnWorkspace.ts +++ b/packages/twenty-front/src/modules/workspace/utils/checkIfFeatureFlagIsEnabledOnWorkspace.ts @@ -1,6 +1,6 @@ import { CurrentWorkspace } from '@/auth/states/currentWorkspaceState'; -import { isDefined } from 'twenty-shared'; import { FeatureFlagKey } from '~/generated-metadata/graphql'; +import { isDefined } from 'twenty-shared/utils'; export const checkIfFeatureFlagIsEnabledOnWorkspace = ( featureKey: FeatureFlagKey | null | undefined, diff --git a/packages/twenty-front/src/pages/auth/Authorize.tsx b/packages/twenty-front/src/pages/auth/Authorize.tsx index 6b841f303..5ee51cf54 100644 --- a/packages/twenty-front/src/pages/auth/Authorize.tsx +++ b/packages/twenty-front/src/pages/auth/Authorize.tsx @@ -5,10 +5,10 @@ import { useSearchParams } from 'react-router-dom'; import { useRedirect } from '@/domain-manager/hooks/useRedirect'; import { useLingui } from '@lingui/react/macro'; -import { isDefined } from 'twenty-shared'; import { MainButton, UndecoratedLink } from 'twenty-ui'; import { useAuthorizeAppMutation } from '~/generated/graphql'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; type App = { id: string; name: string; logo: string }; diff --git a/packages/twenty-front/src/pages/auth/SignInUp.tsx b/packages/twenty-front/src/pages/auth/SignInUp.tsx index d45d30ced..343382ae1 100644 --- a/packages/twenty-front/src/pages/auth/SignInUp.tsx +++ b/packages/twenty-front/src/pages/auth/SignInUp.tsx @@ -18,13 +18,13 @@ import { useIsCurrentLocationOnAWorkspace } from '@/domain-manager/hooks/useIsCu import { useIsCurrentLocationOnDefaultDomain } from '@/domain-manager/hooks/useIsCurrentLocationOnDefaultDomain'; import { DEFAULT_WORKSPACE_NAME } from '@/ui/navigation/navigation-drawer/constants/DefaultWorkspaceName'; import { useMemo } from 'react'; -import { isDefined } from 'twenty-shared'; import { AnimatedEaseIn } from 'twenty-ui'; import { useWorkspaceFromInviteHash } from '@/auth/sign-in-up/hooks/useWorkspaceFromInviteHash'; import { useLingui } from '@lingui/react/macro'; import { useSearchParams } from 'react-router-dom'; import { PublicWorkspaceDataOutput } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; const StandardContent = ({ workspacePublicData, diff --git a/packages/twenty-front/src/pages/object-record/RecordShowPageTitle.tsx b/packages/twenty-front/src/pages/object-record/RecordShowPageTitle.tsx index 809583d77..da8f25d08 100644 --- a/packages/twenty-front/src/pages/object-record/RecordShowPageTitle.tsx +++ b/packages/twenty-front/src/pages/object-record/RecordShowPageTitle.tsx @@ -2,7 +2,8 @@ import { useLabelIdentifierFieldMetadataItem } from '@/object-metadata/hooks/use import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState'; import { PageTitle } from '@/ui/utilities/page-title/components/PageTitle'; import { useRecoilValue } from 'recoil'; -import { FieldMetadataType, capitalize, isDefined } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { capitalize, isDefined } from 'twenty-shared/utils'; export const RecordShowPageTitle = ({ objectNameSingular, diff --git a/packages/twenty-front/src/pages/onboarding/ChooseYourPlan.tsx b/packages/twenty-front/src/pages/onboarding/ChooseYourPlan.tsx index 22a624886..b5b376e56 100644 --- a/packages/twenty-front/src/pages/onboarding/ChooseYourPlan.tsx +++ b/packages/twenty-front/src/pages/onboarding/ChooseYourPlan.tsx @@ -11,7 +11,6 @@ import { billingState } from '@/client-config/states/billingState'; import styled from '@emotion/styled'; import { Trans, useLingui } from '@lingui/react/macro'; import { useRecoilState, useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { ActionLink, CAL_LINK, @@ -25,6 +24,7 @@ import { SubscriptionInterval, useBillingBaseProductPricesQuery, } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; const StyledSubscriptionContainer = styled.div<{ withLongerMarginBottom: boolean; diff --git a/packages/twenty-front/src/pages/onboarding/CreateProfile.tsx b/packages/twenty-front/src/pages/onboarding/CreateProfile.tsx index eaf472f43..fc3174b63 100644 --- a/packages/twenty-front/src/pages/onboarding/CreateProfile.tsx +++ b/packages/twenty-front/src/pages/onboarding/CreateProfile.tsx @@ -22,8 +22,8 @@ import { TextInputV2 } from '@/ui/input/components/TextInputV2'; import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; import { WorkspaceMember } from '@/workspace-member/types/WorkspaceMember'; import { Trans, useLingui } from '@lingui/react/macro'; -import { isDefined } from 'twenty-shared'; import { OnboardingStatus } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; const StyledContentContainer = styled.div` width: 100%; diff --git a/packages/twenty-front/src/pages/onboarding/CreateWorkspace.tsx b/packages/twenty-front/src/pages/onboarding/CreateWorkspace.tsx index 64800b9cc..40e5a684e 100644 --- a/packages/twenty-front/src/pages/onboarding/CreateWorkspace.tsx +++ b/packages/twenty-front/src/pages/onboarding/CreateWorkspace.tsx @@ -16,11 +16,11 @@ import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/Snac import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; import { TextInputV2 } from '@/ui/input/components/TextInputV2'; import { Trans, useLingui } from '@lingui/react/macro'; -import { isDefined } from 'twenty-shared'; import { OnboardingStatus, useActivateWorkspaceMutation, } from '~/generated/graphql'; +import { isDefined } from 'twenty-shared/utils'; const StyledContentContainer = styled.div` width: 100%; diff --git a/packages/twenty-front/src/pages/onboarding/InviteTeam.tsx b/packages/twenty-front/src/pages/onboarding/InviteTeam.tsx index eade4a306..9dfabfebb 100644 --- a/packages/twenty-front/src/pages/onboarding/InviteTeam.tsx +++ b/packages/twenty-front/src/pages/onboarding/InviteTeam.tsx @@ -29,10 +29,9 @@ import { SeparatorLineText, } from 'twenty-ui'; import { z } from 'zod'; - -import { isDefined } from 'twenty-shared'; import { OnboardingStatus } from '~/generated/graphql'; import { useCreateWorkspaceInvitation } from '../../modules/workspace-invitation/hooks/useCreateWorkspaceInvitation'; +import { isDefined } from 'twenty-shared/utils'; const StyledAnimatedContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/pages/onboarding/PaymentSuccess.tsx b/packages/twenty-front/src/pages/onboarding/PaymentSuccess.tsx index d7689b2b7..55087c2a9 100644 --- a/packages/twenty-front/src/pages/onboarding/PaymentSuccess.tsx +++ b/packages/twenty-front/src/pages/onboarding/PaymentSuccess.tsx @@ -7,13 +7,13 @@ import { useSubscriptionStatus } from '@/workspace/hooks/useSubscriptionStatus'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useSetRecoilState } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { AnimatedEaseIn, IconCheck, MainButton, RGBA } from 'twenty-ui'; import { OnboardingStatus, useGetCurrentUserLazyQuery, } from '~/generated/graphql'; import { useNavigateApp } from '~/hooks/useNavigateApp'; +import { isDefined } from 'twenty-shared/utils'; const StyledCheckContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/pages/onboarding/SyncEmails.tsx b/packages/twenty-front/src/pages/onboarding/SyncEmails.tsx index 94d9d15c4..3c23c2881 100644 --- a/packages/twenty-front/src/pages/onboarding/SyncEmails.tsx +++ b/packages/twenty-front/src/pages/onboarding/SyncEmails.tsx @@ -19,13 +19,13 @@ import { isMicrosoftCalendarEnabledState } from '@/client-config/states/isMicros import { isMicrosoftMessagingEnabledState } from '@/client-config/states/isMicrosoftMessagingEnabledState'; import { useTriggerApisOAuth } from '@/settings/accounts/hooks/useTriggerApiOAuth'; import { AppPath } from '@/types/AppPath'; -import { ConnectedAccountProvider } from 'twenty-shared'; import { CalendarChannelVisibility, MessageChannelVisibility, OnboardingStatus, useSkipSyncEmailOnboardingStepMutation, } from '~/generated/graphql'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; const StyledSyncEmailsContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/pages/settings/SettingsBilling.tsx b/packages/twenty-front/src/pages/settings/SettingsBilling.tsx index bdc4d98dc..11bc2bd87 100644 --- a/packages/twenty-front/src/pages/settings/SettingsBilling.tsx +++ b/packages/twenty-front/src/pages/settings/SettingsBilling.tsx @@ -20,7 +20,6 @@ import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; import { ConfirmationModal } from '@/ui/layout/modal/components/ConfirmationModal'; import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer'; import { useSubscriptionStatus } from '@/workspace/hooks/useSubscriptionStatus'; -import { isDefined } from 'twenty-shared'; import { SubscriptionInterval, SubscriptionStatus, @@ -28,6 +27,7 @@ import { useUpdateBillingSubscriptionMutation, } from '~/generated/graphql'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { isDefined } from 'twenty-shared/utils'; type SwitchInfo = { newInterval: SubscriptionInterval; diff --git a/packages/twenty-front/src/pages/settings/SettingsWorkspaceMembers.tsx b/packages/twenty-front/src/pages/settings/SettingsWorkspaceMembers.tsx index 68639addd..e4c9643ec 100644 --- a/packages/twenty-front/src/pages/settings/SettingsWorkspaceMembers.tsx +++ b/packages/twenty-front/src/pages/settings/SettingsWorkspaceMembers.tsx @@ -36,7 +36,6 @@ import { WorkspaceMember } from '@/workspace-member/types/WorkspaceMember'; import { WorkspaceInviteLink } from '@/workspace/components/WorkspaceInviteLink'; import { WorkspaceInviteTeam } from '@/workspace/components/WorkspaceInviteTeam'; import { formatDistanceToNow } from 'date-fns'; -import { isDefined } from 'twenty-shared'; import { useGetWorkspaceInvitationsQuery } from '~/generated/graphql'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; import { TableCell } from '../../modules/ui/layout/table/components/TableCell'; @@ -44,6 +43,7 @@ import { TableRow } from '../../modules/ui/layout/table/components/TableRow'; import { useDeleteWorkspaceInvitation } from '../../modules/workspace-invitation/hooks/useDeleteWorkspaceInvitation'; import { useResendWorkspaceInvitation } from '../../modules/workspace-invitation/hooks/useResendWorkspaceInvitation'; import { workspaceInvitationsState } from '../../modules/workspace-invitation/states/workspaceInvitationsStates'; +import { isDefined } from 'twenty-shared/utils'; const StyledButtonContainer = styled.div` align-items: center; diff --git a/packages/twenty-front/src/pages/settings/data-model/SettingsObjectDetailPage.tsx b/packages/twenty-front/src/pages/settings/data-model/SettingsObjectDetailPage.tsx index 3837f4a3f..793e3286b 100644 --- a/packages/twenty-front/src/pages/settings/data-model/SettingsObjectDetailPage.tsx +++ b/packages/twenty-front/src/pages/settings/data-model/SettingsObjectDetailPage.tsx @@ -20,7 +20,6 @@ import { useRecoilState, useRecoilValue } from 'recoil'; import { activeTabIdComponentState } from '@/ui/layout/tab/states/activeTabIdComponentState'; import { useRecoilComponentValueV2 } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValueV2'; import { useLingui } from '@lingui/react/macro'; -import { isDefined } from 'twenty-shared'; import { Button, H3Title, @@ -37,6 +36,7 @@ import { useNavigateApp } from '~/hooks/useNavigateApp'; import { SETTINGS_OBJECT_DETAIL_TABS } from '~/pages/settings/data-model/constants/SettingsObjectDetailTabs'; import { updatedObjectNamePluralState } from '~/pages/settings/data-model/states/updatedObjectNamePluralState'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { isDefined } from 'twenty-shared/utils'; const StyledContentContainer = styled.div` flex: 1; diff --git a/packages/twenty-front/src/pages/settings/data-model/SettingsObjectFieldEdit.tsx b/packages/twenty-front/src/pages/settings/data-model/SettingsObjectFieldEdit.tsx index ed8c194f7..ce43b1ff3 100644 --- a/packages/twenty-front/src/pages/settings/data-model/SettingsObjectFieldEdit.tsx +++ b/packages/twenty-front/src/pages/settings/data-model/SettingsObjectFieldEdit.tsx @@ -34,11 +34,11 @@ import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/Snac import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer'; import { useLingui } from '@lingui/react/macro'; -import { isDefined } from 'twenty-shared'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { useNavigateApp } from '~/hooks/useNavigateApp'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { isDefined } from 'twenty-shared/utils'; //TODO: fix this type type SettingsDataModelFieldEditFormValues = z.infer< diff --git a/packages/twenty-front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldSelect.tsx b/packages/twenty-front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldSelect.tsx index b3e2cbaea..156795724 100644 --- a/packages/twenty-front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldSelect.tsx +++ b/packages/twenty-front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldSelect.tsx @@ -13,12 +13,12 @@ import { zodResolver } from '@hookform/resolvers/zod'; import { useEffect } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; import { useParams } from 'react-router-dom'; -import { isDefined } from 'twenty-shared'; import { z } from 'zod'; import { FieldMetadataType } from '~/generated-metadata/graphql'; import { useNavigateApp } from '~/hooks/useNavigateApp'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; import { t } from '@lingui/core/macro'; +import { isDefined } from 'twenty-shared/utils'; export const settingsDataModelFieldTypeFormSchema = z.object({ type: z.enum( diff --git a/packages/twenty-front/src/pages/settings/data-model/utils/getSettingsObjectFieldType.ts b/packages/twenty-front/src/pages/settings/data-model/utils/getSettingsObjectFieldType.ts index b73e5d530..35430cc4f 100644 --- a/packages/twenty-front/src/pages/settings/data-model/utils/getSettingsObjectFieldType.ts +++ b/packages/twenty-front/src/pages/settings/data-model/utils/getSettingsObjectFieldType.ts @@ -1,7 +1,7 @@ import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem'; import { getFieldIdentifierType } from '@/settings/data-model/utils/getFieldIdentifierType'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getSettingsObjectFieldType = ( objectMetadataItem: ObjectMetadataItem, diff --git a/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeysNew.tsx b/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeysNew.tsx index cea4dcebe..9b4b87e5e 100644 --- a/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeysNew.tsx +++ b/packages/twenty-front/src/pages/settings/developers/api-keys/SettingsDevelopersApiKeysNew.tsx @@ -16,10 +16,10 @@ import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBa import { useLingui } from '@lingui/react/macro'; import { useRecoilCallback } from 'recoil'; import { Key } from 'ts-key-enum'; -import { isDefined } from 'twenty-shared'; import { useGenerateApiKeyTokenMutation } from '~/generated/graphql'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { isDefined } from 'twenty-shared/utils'; export const SettingsDevelopersApiKeysNew = () => { const { t } = useLingui(); diff --git a/packages/twenty-front/src/pages/settings/developers/webhooks/components/SettingsDevelopersWebhookDetail.tsx b/packages/twenty-front/src/pages/settings/developers/webhooks/components/SettingsDevelopersWebhookDetail.tsx index 8a7746914..520707b1e 100644 --- a/packages/twenty-front/src/pages/settings/developers/webhooks/components/SettingsDevelopersWebhookDetail.tsx +++ b/packages/twenty-front/src/pages/settings/developers/webhooks/components/SettingsDevelopersWebhookDetail.tsx @@ -31,9 +31,9 @@ import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBa import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; import { Trans, useLingui } from '@lingui/react/macro'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { FeatureFlagKey } from '~/generated/graphql'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { isDefined } from 'twenty-shared/utils'; const OBJECT_DROPDOWN_WIDTH = 340; const ACTION_DROPDOWN_WIDTH = 140; diff --git a/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettings.tsx b/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettings.tsx index 75e4f406e..b64ab3e4f 100644 --- a/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettings.tsx +++ b/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettings.tsx @@ -13,7 +13,6 @@ import { detectTimeFormat } from '@/localization/utils/detectTimeFormat'; import { detectTimeZone } from '@/localization/utils/detectTimeZone'; import { getWorkspaceDateFormatFromDateFormat } from '@/localization/utils/getWorkspaceDateFormatFromDateFormat'; import { getWorkspaceTimeFormatFromTimeFormat } from '@/localization/utils/getWorkspaceTimeFormatFromTimeFormat'; -import { isDefined } from 'twenty-shared'; import { WorkspaceMemberDateFormatEnum, WorkspaceMemberTimeFormatEnum, @@ -23,6 +22,7 @@ import { DateTimeSettingsTimeFormatSelect } from '~/pages/settings/profile/appea import { DateTimeSettingsTimeZoneSelect } from '~/pages/settings/profile/appearance/components/DateTimeSettingsTimeZoneSelect'; import { isEmptyObject } from '~/utils/isEmptyObject'; import { logError } from '~/utils/logError'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettingsTimeZoneSelect.tsx b/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettingsTimeZoneSelect.tsx index 05b461dd1..b8baf8871 100644 --- a/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettingsTimeZoneSelect.tsx +++ b/packages/twenty-front/src/pages/settings/profile/appearance/components/DateTimeSettingsTimeZoneSelect.tsx @@ -2,8 +2,8 @@ import { detectTimeZone } from '@/localization/utils/detectTimeZone'; import { findAvailableTimeZoneOption } from '@/localization/utils/findAvailableTimeZoneOption'; import { AVAILABLE_TIMEZONE_OPTIONS } from '@/settings/accounts/constants/AvailableTimezoneOptions'; import { Select } from '@/ui/input/components/Select'; -import { isDefined } from 'twenty-shared'; import { t } from '@lingui/core/macro'; +import { isDefined } from 'twenty-shared/utils'; type DateTimeSettingsTimeZoneSelectProps = { value?: string; diff --git a/packages/twenty-front/src/pages/settings/profile/appearance/components/LocalePicker.tsx b/packages/twenty-front/src/pages/settings/profile/appearance/components/LocalePicker.tsx index fb874eba6..d3902630e 100644 --- a/packages/twenty-front/src/pages/settings/profile/appearance/components/LocalePicker.tsx +++ b/packages/twenty-front/src/pages/settings/profile/appearance/components/LocalePicker.tsx @@ -9,9 +9,10 @@ import { Select } from '@/ui/input/components/Select'; import { useRefreshObjectMetadataItems } from '@/object-metadata/hooks/useRefreshObjectMetadataItem'; import { useLingui } from '@lingui/react/macro'; -import { APP_LOCALES, isDefined } from 'twenty-shared'; import { dynamicActivate } from '~/utils/i18n/dynamicActivate'; import { logError } from '~/utils/logError'; +import { APP_LOCALES } from 'twenty-shared/translations'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.div` display: flex; diff --git a/packages/twenty-front/src/pages/settings/serverless-functions/SettingsServerlessFunctionDetail.tsx b/packages/twenty-front/src/pages/settings/serverless-functions/SettingsServerlessFunctionDetail.tsx index 47005c34f..6505bb8e8 100644 --- a/packages/twenty-front/src/pages/settings/serverless-functions/SettingsServerlessFunctionDetail.tsx +++ b/packages/twenty-front/src/pages/settings/serverless-functions/SettingsServerlessFunctionDetail.tsx @@ -20,12 +20,12 @@ import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; import { useState } from 'react'; import { useParams } from 'react-router-dom'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { IconCode, IconGauge, IconSettings, IconTestPipe } from 'twenty-ui'; import { useDebouncedCallback } from 'use-debounce'; import { FeatureFlagKey } from '~/generated/graphql'; import { isDeeplyEqual } from '~/utils/isDeeplyEqual'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { isDefined } from 'twenty-shared/utils'; const SERVERLESS_FUNCTION_DETAIL_ID = 'serverless-function-detail'; diff --git a/packages/twenty-front/src/pages/settings/serverless-functions/SettingsServerlessFunctionsNew.tsx b/packages/twenty-front/src/pages/settings/serverless-functions/SettingsServerlessFunctionsNew.tsx index 3a5313f6d..565a97092 100644 --- a/packages/twenty-front/src/pages/settings/serverless-functions/SettingsServerlessFunctionsNew.tsx +++ b/packages/twenty-front/src/pages/settings/serverless-functions/SettingsServerlessFunctionsNew.tsx @@ -10,10 +10,10 @@ import { SettingsPath } from '@/types/SettingsPath'; import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; import { useState } from 'react'; import { Key } from 'ts-key-enum'; -import { isDefined } from 'twenty-shared'; import { useHotkeyScopeOnMount } from '~/hooks/useHotkeyScopeOnMount'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; +import { isDefined } from 'twenty-shared/utils'; export const SettingsServerlessFunctionsNew = () => { const navigate = useNavigateSettings(); diff --git a/packages/twenty-front/src/pages/settings/serverless-functions/__stories__/SettingsServerlessFunctionDetail.stories.tsx b/packages/twenty-front/src/pages/settings/serverless-functions/__stories__/SettingsServerlessFunctionDetail.stories.tsx index 7a9a1cb36..ea19e184d 100644 --- a/packages/twenty-front/src/pages/settings/serverless-functions/__stories__/SettingsServerlessFunctionDetail.stories.tsx +++ b/packages/twenty-front/src/pages/settings/serverless-functions/__stories__/SettingsServerlessFunctionDetail.stories.tsx @@ -1,7 +1,6 @@ import { Meta, StoryObj } from '@storybook/react'; import { within } from '@storybook/test'; import { HttpResponse, graphql, http } from 'msw'; -import { getImageAbsoluteURI } from 'twenty-shared'; import { REACT_APP_SERVER_BASE_URL } from '~/config'; import { SettingsServerlessFunctionDetail } from '~/pages/settings/serverless-functions/SettingsServerlessFunctionDetail'; import { @@ -10,6 +9,7 @@ import { } from '~/testing/decorators/PageDecorator'; import { graphqlMocks } from '~/testing/graphqlMocks'; import { sleep } from '~/utils/sleep'; +import { getImageAbsoluteURI } from 'twenty-shared/utils'; const SOURCE_CODE_FULL_PATH = 'serverless-function/20202020-1c25-4d02-bf25-6aeccf7ea419/adb4bd21-7670-4c81-9f74-1fc196fe87ea/source.ts'; diff --git a/packages/twenty-front/src/pages/settings/workspace/SettingsCustomDomainRecordsStatus.tsx b/packages/twenty-front/src/pages/settings/workspace/SettingsCustomDomainRecordsStatus.tsx index 902dbf38e..d41fede23 100644 --- a/packages/twenty-front/src/pages/settings/workspace/SettingsCustomDomainRecordsStatus.tsx +++ b/packages/twenty-front/src/pages/settings/workspace/SettingsCustomDomainRecordsStatus.tsx @@ -6,7 +6,7 @@ import styled from '@emotion/styled'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; import { customDomainRecordsState } from '~/pages/settings/workspace/states/customDomainRecordsState'; import { useRecoilValue } from 'recoil'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; const StyledTable = styled(Table)` background-color: ${({ theme }) => theme.background.transparent.lighter}; diff --git a/packages/twenty-front/src/pages/settings/workspace/SettingsDomain.tsx b/packages/twenty-front/src/pages/settings/workspace/SettingsDomain.tsx index 8030c3b5f..76cd0075f 100644 --- a/packages/twenty-front/src/pages/settings/workspace/SettingsDomain.tsx +++ b/packages/twenty-front/src/pages/settings/workspace/SettingsDomain.tsx @@ -24,7 +24,7 @@ import { zodResolver } from '@hookform/resolvers/zod'; import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer'; import { SettingsPath } from '@/types/SettingsPath'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const SettingsDomain = () => { const navigate = useNavigateSettings(); diff --git a/packages/twenty-front/src/pages/settings/workspace/SettingsSubdomain.tsx b/packages/twenty-front/src/pages/settings/workspace/SettingsSubdomain.tsx index 1f1437d58..9c8c47071 100644 --- a/packages/twenty-front/src/pages/settings/workspace/SettingsSubdomain.tsx +++ b/packages/twenty-front/src/pages/settings/workspace/SettingsSubdomain.tsx @@ -6,8 +6,8 @@ import { H2Title, Section } from 'twenty-ui'; import { domainConfigurationState } from '@/domain-manager/states/domainConfigurationState'; import { useRecoilValue } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState'; +import { isDefined } from 'twenty-shared/utils'; const StyledDomainFormWrapper = styled.div` align-items: center; diff --git a/packages/twenty-front/src/pages/settings/workspace/hooks/useCheckCustomDomainValidRecords.ts b/packages/twenty-front/src/pages/settings/workspace/hooks/useCheckCustomDomainValidRecords.ts index 4f9877f3d..901e28f6c 100644 --- a/packages/twenty-front/src/pages/settings/workspace/hooks/useCheckCustomDomainValidRecords.ts +++ b/packages/twenty-front/src/pages/settings/workspace/hooks/useCheckCustomDomainValidRecords.ts @@ -1,7 +1,7 @@ import { customDomainRecordsState } from '~/pages/settings/workspace/states/customDomainRecordsState'; import { useCheckCustomDomainValidRecordsMutation } from '~/generated/graphql'; -import { isDefined } from 'twenty-shared'; import { useSetRecoilState } from 'recoil'; +import { isDefined } from 'twenty-shared/utils'; export const useCheckCustomDomainValidRecords = () => { const [checkCustomDomainValidRecords] = diff --git a/packages/twenty-front/src/testing/cache/inMemoryTestingCacheInstance.ts b/packages/twenty-front/src/testing/cache/inMemoryTestingCacheInstance.ts index 34004de23..bf4000269 100644 --- a/packages/twenty-front/src/testing/cache/inMemoryTestingCacheInstance.ts +++ b/packages/twenty-front/src/testing/cache/inMemoryTestingCacheInstance.ts @@ -5,7 +5,7 @@ import { computeDepthOneRecordGqlFieldsFromRecord } from '@/object-record/graphq import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { InMemoryCache, NormalizedCacheObject } from '@apollo/client'; import { expect } from '@storybook/jest'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type ObjectMetadataItemAndRecordId = { recordId: string; diff --git a/packages/twenty-front/src/testing/decorators/I18nFrontDecorator.tsx b/packages/twenty-front/src/testing/decorators/I18nFrontDecorator.tsx index edbf66dc8..22d1bad2b 100644 --- a/packages/twenty-front/src/testing/decorators/I18nFrontDecorator.tsx +++ b/packages/twenty-front/src/testing/decorators/I18nFrontDecorator.tsx @@ -1,8 +1,8 @@ import { i18n } from '@lingui/core'; import { I18nProvider } from '@lingui/react'; import { Decorator } from '@storybook/react'; -import { SOURCE_LOCALE } from 'twenty-shared'; import { messages as enMessages } from '../../locales/generated/en'; +import { SOURCE_LOCALE } from 'twenty-shared/translations'; i18n.load({ [SOURCE_LOCALE]: enMessages, diff --git a/packages/twenty-front/src/testing/decorators/PageDecorator.tsx b/packages/twenty-front/src/testing/decorators/PageDecorator.tsx index 415056bff..c6efdbed0 100644 --- a/packages/twenty-front/src/testing/decorators/PageDecorator.tsx +++ b/packages/twenty-front/src/testing/decorators/PageDecorator.tsx @@ -29,10 +29,10 @@ import { PrefetchDataProvider } from '@/prefetch/components/PrefetchDataProvider import { WorkspaceProviderEffect } from '@/workspace/components/WorkspaceProviderEffect'; import { i18n } from '@lingui/core'; import { I18nProvider } from '@lingui/react'; -import { SOURCE_LOCALE } from 'twenty-shared'; import { IconsProvider } from 'twenty-ui'; import { dynamicActivate } from '~/utils/i18n/dynamicActivate'; import { FullHeightStorybookLayout } from '../FullHeightStorybookLayout'; +import { SOURCE_LOCALE } from 'twenty-shared/translations'; export type PageDecoratorArgs = { routePath: string; diff --git a/packages/twenty-front/src/testing/decorators/RecordTableDecorator.tsx b/packages/twenty-front/src/testing/decorators/RecordTableDecorator.tsx index 3a1f6895f..289cd0a71 100644 --- a/packages/twenty-front/src/testing/decorators/RecordTableDecorator.tsx +++ b/packages/twenty-front/src/testing/decorators/RecordTableDecorator.tsx @@ -5,7 +5,7 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadat import { RecordIndexContextProvider } from '@/object-record/record-index/contexts/RecordIndexContext'; import { RecordTableBodyContextProvider } from '@/object-record/record-table/contexts/RecordTableBodyContext'; import { RecordTableContextProvider } from '@/object-record/record-table/contexts/RecordTableContext'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const RecordTableDecorator: Decorator = (Story) => { const objectMetadataItems = useRecoilValue(objectMetadataItemsState); diff --git a/packages/twenty-front/src/testing/decorators/getFieldDecorator.tsx b/packages/twenty-front/src/testing/decorators/getFieldDecorator.tsx index 4886ce1a4..4e4312b11 100644 --- a/packages/twenty-front/src/testing/decorators/getFieldDecorator.tsx +++ b/packages/twenty-front/src/testing/decorators/getFieldDecorator.tsx @@ -12,11 +12,11 @@ import { } from '@/object-record/record-store/contexts/RecordFieldValueSelectorContext'; import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { getCompaniesMock } from '~/testing/mock-data/companies'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; import { getPeopleRecordConnectionMock } from '~/testing/mock-data/people'; import { mockedTasks } from '~/testing/mock-data/tasks'; +import { isDefined } from 'twenty-shared/utils'; const RecordMockSetterEffect = ({ companies, diff --git a/packages/twenty-front/src/testing/jest/getJestMetadataAndApolloMocksAndActionMenuWrapper.tsx b/packages/twenty-front/src/testing/jest/getJestMetadataAndApolloMocksAndActionMenuWrapper.tsx index a76476afd..68a929e3d 100644 --- a/packages/twenty-front/src/testing/jest/getJestMetadataAndApolloMocksAndActionMenuWrapper.tsx +++ b/packages/twenty-front/src/testing/jest/getJestMetadataAndApolloMocksAndActionMenuWrapper.tsx @@ -7,13 +7,13 @@ import { RecordSortsComponentInstanceContext } from '@/object-record/record-sort import { MockedResponse } from '@apollo/client/testing'; import { ReactNode } from 'react'; import { MutableSnapshot } from 'recoil'; -import { isDefined } from 'twenty-shared'; import { getJestMetadataAndApolloMocksWrapper } from '~/testing/jest/getJestMetadataAndApolloMocksWrapper'; import { JestContextStoreSetter, JestContextStoreSetterMocks, } from '~/testing/jest/JestContextStoreSetter'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; +import { isDefined } from 'twenty-shared/utils'; export type GetJestMetadataAndApolloMocksAndActionMenuWrapperProps = { apolloMocks: diff --git a/packages/twenty-front/src/testing/mock-data/companies.ts b/packages/twenty-front/src/testing/mock-data/companies.ts index 75c6accc5..e772a1357 100644 --- a/packages/twenty-front/src/testing/mock-data/companies.ts +++ b/packages/twenty-front/src/testing/mock-data/companies.ts @@ -1,6 +1,6 @@ import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; +import { isDefined } from 'twenty-shared/utils'; export const companiesQueryResult = { companies: { diff --git a/packages/twenty-front/src/testing/mock-data/companiesWithRelations.ts b/packages/twenty-front/src/testing/mock-data/companiesWithRelations.ts index 0377acf74..b49da7287 100644 --- a/packages/twenty-front/src/testing/mock-data/companiesWithRelations.ts +++ b/packages/twenty-front/src/testing/mock-data/companiesWithRelations.ts @@ -1,6 +1,6 @@ import { getRecordFromRecordNode } from '@/object-record/cache/utils/getRecordFromRecordNode'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const FIND_MANY_COMPANIES_WITH_RELATION_QUERY_RESULT = { data: { diff --git a/packages/twenty-front/src/testing/mock-data/index.ts b/packages/twenty-front/src/testing/mock-data/index.ts index 4fab4e61b..0f057e451 100644 --- a/packages/twenty-front/src/testing/mock-data/index.ts +++ b/packages/twenty-front/src/testing/mock-data/index.ts @@ -6,7 +6,7 @@ import { isString, } from '@sniptt/guards'; import { GraphQLVariables } from 'msw'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type StringFilter = { equals?: string; diff --git a/packages/twenty-front/src/testing/mock-data/people.ts b/packages/twenty-front/src/testing/mock-data/people.ts index aaad09421..415d33f43 100644 --- a/packages/twenty-front/src/testing/mock-data/people.ts +++ b/packages/twenty-front/src/testing/mock-data/people.ts @@ -1,8 +1,8 @@ import { getRecordFromRecordNode } from '@/object-record/cache/utils/getRecordFromRecordNode'; import { RecordGqlConnection } from '@/object-record/graphql/types/RecordGqlConnection'; import { ObjectRecord } from '@/object-record/types/ObjectRecord'; -import { FieldMetadataType } from 'twenty-shared'; import { generatedMockObjectMetadataItems } from '~/testing/mock-data/generatedMockObjectMetadataItems'; +import { FieldMetadataType } from 'twenty-shared/types'; export const peopleQueryResult = { people: { diff --git a/packages/twenty-front/src/testing/profiling/components/ProfilerWrapper.tsx b/packages/twenty-front/src/testing/profiling/components/ProfilerWrapper.tsx index c8d5ec57b..f61579ea4 100644 --- a/packages/twenty-front/src/testing/profiling/components/ProfilerWrapper.tsx +++ b/packages/twenty-front/src/testing/profiling/components/ProfilerWrapper.tsx @@ -1,12 +1,11 @@ import { Profiler, ProfilerOnRenderCallback } from 'react'; import { useRecoilCallback } from 'recoil'; - -import { isDefined } from 'twenty-shared'; import { profilingQueueState } from '~/testing/profiling/states/profilingQueueState'; import { profilingSessionDataPointsState } from '~/testing/profiling/states/profilingSessionDataPointsState'; import { profilingSessionState } from '~/testing/profiling/states/profilingSessionState'; import { ProfilingDataPoint } from '~/testing/profiling/types/ProfilingDataPoint'; import { getProfilingQueueIdentifier } from '~/testing/profiling/utils/getProfilingQueueIdentifier'; +import { isDefined } from 'twenty-shared/utils'; export const ProfilerWrapper = ({ profilingId, diff --git a/packages/twenty-front/src/testing/profiling/utils/getProfilingReportFromDocument.ts b/packages/twenty-front/src/testing/profiling/utils/getProfilingReportFromDocument.ts index f3631730e..1cf93ea05 100644 --- a/packages/twenty-front/src/testing/profiling/utils/getProfilingReportFromDocument.ts +++ b/packages/twenty-front/src/testing/profiling/utils/getProfilingReportFromDocument.ts @@ -1,9 +1,8 @@ import { isNonEmptyString } from '@sniptt/guards'; - -import { isDefined } from 'twenty-shared'; import { PROFILING_REPORTER_DIV_ID } from '~/testing/profiling/constants/ProfilingReporterDivId'; import { ProfilingReport } from '~/testing/profiling/types/ProfilingReportByRun'; import { parseProfilingReportString } from '~/testing/profiling/utils/parseProfilingReportString'; +import { isDefined } from 'twenty-shared/utils'; export const getProfilingReportFromDocument = ( documentElement: Element, diff --git a/packages/twenty-front/src/testing/profiling/utils/getProfilingStory.ts b/packages/twenty-front/src/testing/profiling/utils/getProfilingStory.ts index 989c0da20..4bed9746f 100644 --- a/packages/twenty-front/src/testing/profiling/utils/getProfilingStory.ts +++ b/packages/twenty-front/src/testing/profiling/utils/getProfilingStory.ts @@ -1,9 +1,8 @@ import { StoryObj } from '@storybook/react'; import { expect, findByTestId } from '@storybook/test'; - -import { isDefined } from 'twenty-shared'; import { ProfilerDecorator } from '~/testing/decorators/ProfilerDecorator'; import { getProfilingReportFromDocument } from '~/testing/profiling/utils/getProfilingReportFromDocument'; +import { isDefined } from 'twenty-shared/utils'; export const getProfilingStory = ({ componentName, diff --git a/packages/twenty-front/src/utils/array/__tests__/buildRecordFromKeysWithSameValue.test.ts b/packages/twenty-front/src/utils/array/__tests__/buildRecordFromKeysWithSameValue.test.ts index 70127f2a3..3bb92b2d1 100644 --- a/packages/twenty-front/src/utils/array/__tests__/buildRecordFromKeysWithSameValue.test.ts +++ b/packages/twenty-front/src/utils/array/__tests__/buildRecordFromKeysWithSameValue.test.ts @@ -1,5 +1,5 @@ -import { EachTestingContext } from 'twenty-shared'; import { buildRecordFromKeysWithSameValue } from '~/utils/array/buildRecordFromKeysWithSameValue'; +import { EachTestingContext } from 'twenty-shared/testing'; type BuildRecordFromKeysWithSameValueTestContext = EachTestingContext<{ array: string[]; diff --git a/packages/twenty-front/src/utils/combineRefs.ts b/packages/twenty-front/src/utils/combineRefs.ts index cf75362ae..721b4d77f 100644 --- a/packages/twenty-front/src/utils/combineRefs.ts +++ b/packages/twenty-front/src/utils/combineRefs.ts @@ -1,6 +1,6 @@ import { isFunction } from '@sniptt/guards'; import { MutableRefObject, Ref } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const combineRefs = (...refs: (Ref | undefined)[]) => { return (node: T) => { diff --git a/packages/twenty-front/src/utils/compareStrictlyExceptForNullAndUndefined.ts b/packages/twenty-front/src/utils/compareStrictlyExceptForNullAndUndefined.ts index 509fee39e..3a26b48a3 100644 --- a/packages/twenty-front/src/utils/compareStrictlyExceptForNullAndUndefined.ts +++ b/packages/twenty-front/src/utils/compareStrictlyExceptForNullAndUndefined.ts @@ -1,5 +1,5 @@ -import { isDefined } from 'twenty-shared'; import { Nullable } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; // TODO: we should create a custom eslint rule that enforces the use of this function // instead of using the `===` operator where a and b are | undefined | null diff --git a/packages/twenty-front/src/utils/date-utils.ts b/packages/twenty-front/src/utils/date-utils.ts index 5e138f7b4..621c6c784 100644 --- a/packages/twenty-front/src/utils/date-utils.ts +++ b/packages/twenty-front/src/utils/date-utils.ts @@ -4,9 +4,8 @@ import { differenceInCalendarDays, formatDistanceToNow } from 'date-fns'; import { DateTime } from 'luxon'; import moize from 'moize'; -import { isDefined } from 'twenty-shared'; - import { logError } from './logError'; +import { isDefined } from 'twenty-shared/utils'; export const DEFAULT_DATE_LOCALE = 'en-EN'; diff --git a/packages/twenty-front/src/utils/getDisplayValueByUrlType.ts b/packages/twenty-front/src/utils/getDisplayValueByUrlType.ts index 783790538..2f8ace67a 100644 --- a/packages/twenty-front/src/utils/getDisplayValueByUrlType.ts +++ b/packages/twenty-front/src/utils/getDisplayValueByUrlType.ts @@ -1,5 +1,5 @@ -import { isDefined } from 'twenty-shared'; import { LinkType } from 'twenty-ui'; +import { isDefined } from 'twenty-shared/utils'; type getUrlDisplayValueByUrlTypeProps = { type: LinkType; diff --git a/packages/twenty-front/src/utils/i18n/dynamicActivate.ts b/packages/twenty-front/src/utils/i18n/dynamicActivate.ts index b1b4b35fd..7204af96b 100644 --- a/packages/twenty-front/src/utils/i18n/dynamicActivate.ts +++ b/packages/twenty-front/src/utils/i18n/dynamicActivate.ts @@ -1,5 +1,5 @@ import { i18n } from '@lingui/core'; -import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared'; +import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared/translations'; export const dynamicActivate = async (locale: keyof typeof APP_LOCALES) => { if (!Object.values(APP_LOCALES).includes(locale)) { diff --git a/packages/twenty-front/src/utils/i18n/initialI18nActivate.ts b/packages/twenty-front/src/utils/i18n/initialI18nActivate.ts index 02961267d..e5ce29abb 100644 --- a/packages/twenty-front/src/utils/i18n/initialI18nActivate.ts +++ b/packages/twenty-front/src/utils/i18n/initialI18nActivate.ts @@ -1,11 +1,7 @@ import { fromNavigator, fromStorage, fromUrl } from '@lingui/detect-locale'; -import { - APP_LOCALES, - isDefined, - isValidLocale, - SOURCE_LOCALE, -} from 'twenty-shared'; import { dynamicActivate } from '~/utils/i18n/dynamicActivate'; +import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared/translations'; +import { isDefined, isValidLocale } from 'twenty-shared/utils'; export const initialI18nActivate = () => { const urlLocale = fromUrl('locale'); diff --git a/packages/twenty-front/src/utils/navigation/getAppPath.ts b/packages/twenty-front/src/utils/navigation/getAppPath.ts index 5804b3c82..f5986deb8 100644 --- a/packages/twenty-front/src/utils/navigation/getAppPath.ts +++ b/packages/twenty-front/src/utils/navigation/getAppPath.ts @@ -1,7 +1,7 @@ import { AppPath } from '@/types/AppPath'; import qs from 'qs'; import { generatePath, PathParam } from 'react-router-dom'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getAppPath = ( to: T, diff --git a/packages/twenty-front/src/utils/navigation/getSettingsPath.ts b/packages/twenty-front/src/utils/navigation/getSettingsPath.ts index 570c3b0b0..a7615dfe8 100644 --- a/packages/twenty-front/src/utils/navigation/getSettingsPath.ts +++ b/packages/twenty-front/src/utils/navigation/getSettingsPath.ts @@ -2,7 +2,7 @@ import { AppPath } from '@/types/AppPath'; import { SettingsPath } from '@/types/SettingsPath'; import qs from 'qs'; import { generatePath, PathParam } from 'react-router-dom'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getSettingsPath = ( to: T, diff --git a/packages/twenty-front/src/utils/parseJson.ts b/packages/twenty-front/src/utils/parseJson.ts index a233a5115..b32165546 100644 --- a/packages/twenty-front/src/utils/parseJson.ts +++ b/packages/twenty-front/src/utils/parseJson.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; export const parseJson = (json: string | undefined | null) => { if (!isDefined(json)) { return null; diff --git a/packages/twenty-front/src/utils/recoil-effects.ts b/packages/twenty-front/src/utils/recoil-effects.ts index a926347ed..47e9fd383 100644 --- a/packages/twenty-front/src/utils/recoil-effects.ts +++ b/packages/twenty-front/src/utils/recoil-effects.ts @@ -1,9 +1,8 @@ import omit from 'lodash.omit'; import { AtomEffect } from 'recoil'; import { z } from 'zod'; - -import { isDefined } from 'twenty-shared'; import { cookieStorage } from '~/utils/cookie-storage'; +import { isDefined } from 'twenty-shared/utils'; export const localStorageEffect = (key?: string): AtomEffect => diff --git a/packages/twenty-front/src/utils/string/pascalCase.ts b/packages/twenty-front/src/utils/string/pascalCase.ts index 725de1872..b65da3cb4 100644 --- a/packages/twenty-front/src/utils/string/pascalCase.ts +++ b/packages/twenty-front/src/utils/string/pascalCase.ts @@ -1,5 +1,4 @@ import camelCase from 'lodash.camelcase'; - -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const pascalCase = (str: string) => capitalize(camelCase(str)); diff --git a/packages/twenty-server/jest-integration.config.ts b/packages/twenty-server/jest-integration.config.ts index 6528137b0..332e243bf 100644 --- a/packages/twenty-server/jest-integration.config.ts +++ b/packages/twenty-server/jest-integration.config.ts @@ -56,8 +56,6 @@ const jestConfig: JestConfigWithTsJest = { prefix: '/../..', }), '^test/(.*)$': '/test/$1', - 'twenty-emails': '/../twenty-emails/dist/index.js', - 'twenty-shared': '/../twenty-shared/dist/index.js', }, fakeTimers: { enableGlobally: true, diff --git a/packages/twenty-server/lingui.config.ts b/packages/twenty-server/lingui.config.ts index d92e19162..6b05e307c 100644 --- a/packages/twenty-server/lingui.config.ts +++ b/packages/twenty-server/lingui.config.ts @@ -1,6 +1,6 @@ import { defineConfig } from '@lingui/conf'; import { formatter } from '@lingui/format-po'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; export default defineConfig({ sourceLocale: 'en', diff --git a/packages/twenty-server/src/database/commands/command-runners/__tests__/upgrade.command-runner.spec.ts b/packages/twenty-server/src/database/commands/command-runners/__tests__/upgrade.command-runner.spec.ts index dfc0843c4..ddba437f2 100644 --- a/packages/twenty-server/src/database/commands/command-runners/__tests__/upgrade.command-runner.spec.ts +++ b/packages/twenty-server/src/database/commands/command-runners/__tests__/upgrade.command-runner.spec.ts @@ -2,8 +2,8 @@ import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; import { SemVer } from 'semver'; -import { EachTestingContext } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { EachTestingContext } from 'twenty-shared/testing'; import { UpgradeCommandRunner } from 'src/database/commands/command-runners/upgrade.command-runner'; import { EnvironmentVariables } from 'src/engine/core-modules/environment/environment-variables'; diff --git a/packages/twenty-server/src/database/commands/command-runners/active-or-suspended-workspaces-migration.command-runner.ts b/packages/twenty-server/src/database/commands/command-runners/active-or-suspended-workspaces-migration.command-runner.ts index 3a924e3e5..5fc64dff1 100644 --- a/packages/twenty-server/src/database/commands/command-runners/active-or-suspended-workspaces-migration.command-runner.ts +++ b/packages/twenty-server/src/database/commands/command-runners/active-or-suspended-workspaces-migration.command-runner.ts @@ -1,7 +1,7 @@ import chalk from 'chalk'; import { Option } from 'nest-commander'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { In, MoreThanOrEqual, Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { MigrationCommandRunner } from 'src/database/commands/command-runners/migration.command-runner'; import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; diff --git a/packages/twenty-server/src/database/commands/command-runners/upgrade.command-runner.ts b/packages/twenty-server/src/database/commands/command-runners/upgrade.command-runner.ts index a361235fd..ddd8a62f5 100644 --- a/packages/twenty-server/src/database/commands/command-runners/upgrade.command-runner.ts +++ b/packages/twenty-server/src/database/commands/command-runners/upgrade.command-runner.ts @@ -2,8 +2,8 @@ import { InjectRepository } from '@nestjs/typeorm'; import chalk from 'chalk'; import { SemVer } from 'semver'; -import { isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { ActiveOrSuspendedWorkspacesMigrationCommandRunner, diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/0-43/0-43-migrate-rich-text-content-patch.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/0-43/0-43-migrate-rich-text-content-patch.command.ts index b6fd113fc..dc81c5ac9 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/0-43/0-43-migrate-rich-text-content-patch.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/0-43/0-43-migrate-rich-text-content-patch.command.ts @@ -3,8 +3,8 @@ import { InjectRepository } from '@nestjs/typeorm'; import { ServerBlockNoteEditor } from '@blocknote/server-util'; import chalk from 'chalk'; import { Command } from 'nest-commander'; -import { FieldMetadataType } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ActiveOrSuspendedWorkspacesMigrationCommandOptions, diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/0-44/0-44-initialize-permissions.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/0-44/0-44-initialize-permissions.command.ts index 4a8b1d76b..4f4575960 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/0-44/0-44-initialize-permissions.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/0-44/0-44-initialize-permissions.command.ts @@ -2,8 +2,8 @@ import { InjectRepository } from '@nestjs/typeorm'; import chalk from 'chalk'; import { Command } from 'nest-commander'; -import { isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { ActiveOrSuspendedWorkspacesMigrationCommandOptions, diff --git a/packages/twenty-server/src/database/commands/upgrade-version-command/0-50/0-50-migrate-relations-to-field-metadata.command.ts b/packages/twenty-server/src/database/commands/upgrade-version-command/0-50/0-50-migrate-relations-to-field-metadata.command.ts index 21d0cb70b..37dd85d04 100644 --- a/packages/twenty-server/src/database/commands/upgrade-version-command/0-50/0-50-migrate-relations-to-field-metadata.command.ts +++ b/packages/twenty-server/src/database/commands/upgrade-version-command/0-50/0-50-migrate-relations-to-field-metadata.command.ts @@ -2,8 +2,8 @@ import { InjectRepository } from '@nestjs/typeorm'; import chalk from 'chalk'; import { Command } from 'nest-commander'; -import { FieldMetadataType } from 'twenty-shared'; import { In, Repository } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface'; diff --git a/packages/twenty-server/src/database/typeorm-seeds/core/demo/workspaces.ts b/packages/twenty-server/src/database/typeorm-seeds/core/demo/workspaces.ts index a9fa68402..ce5fe33e1 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/core/demo/workspaces.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/core/demo/workspaces.ts @@ -1,5 +1,5 @@ -import { WorkspaceActivationStatus } from 'twenty-shared'; import { DataSource } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; const tableName = 'workspace'; diff --git a/packages/twenty-server/src/database/typeorm-seeds/core/workspaces.ts b/packages/twenty-server/src/database/typeorm-seeds/core/workspaces.ts index 4aa4bac82..8eeaac469 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/core/workspaces.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/core/workspaces.ts @@ -1,5 +1,5 @@ -import { WorkspaceActivationStatus } from 'twenty-shared'; import { DataSource } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { extractVersionMajorMinorPatch } from 'src/utils/version/extract-version-major-minor-patch'; diff --git a/packages/twenty-server/src/database/typeorm-seeds/metadata/fieldsMetadata.ts b/packages/twenty-server/src/database/typeorm-seeds/metadata/fieldsMetadata.ts index 7e930faa2..ad0baaa7b 100644 --- a/packages/twenty-server/src/database/typeorm-seeds/metadata/fieldsMetadata.ts +++ b/packages/twenty-server/src/database/typeorm-seeds/metadata/fieldsMetadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CreateFieldInput } from 'src/engine/metadata-modules/field-metadata/dtos/create-field.input'; diff --git a/packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts b/packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts index 3b3951645..24dbff6ea 100644 --- a/packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts +++ b/packages/twenty-server/src/engine/api/__mocks__/object-metadata-item.mock.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldActorSource } from 'src/engine/metadata-modules/field-metadata/composite-types/actor.composite-type'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/__mocks__/mockPersonObjectMetadata.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/__mocks__/mockPersonObjectMetadata.ts index 0dad37faf..0383c8978 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/__mocks__/mockPersonObjectMetadata.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/__mocks__/mockPersonObjectMetadata.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceEntityDuplicateCriteria } from 'src/engine/api/graphql/workspace-query-builder/types/workspace-entity-duplicate-criteria.type'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-filter/graphql-query-filter-field.parser.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-filter/graphql-query-filter-field.parser.ts index 7e0fefa89..5eb4b6940 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-filter/graphql-query-filter-field.parser.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-filter/graphql-query-filter-field.parser.ts @@ -1,5 +1,5 @@ -import { capitalize } from 'twenty-shared'; import { WhereExpressionBuilder } from 'typeorm'; +import { capitalize } from 'twenty-shared/utils'; import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-order/graphql-query-order.parser.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-order/graphql-query-order.parser.ts index 61e7e1ee7..40eda0e71 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-order/graphql-query-order.parser.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-order/graphql-query-order.parser.ts @@ -1,4 +1,4 @@ -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { ObjectRecordOrderBy, @@ -15,6 +15,7 @@ import { compositeTypeDefinitions } from 'src/engine/metadata-modules/field-meta import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; import { FieldMetadataMap } from 'src/engine/metadata-modules/types/field-metadata-map'; import { CompositeFieldMetadataType } from 'src/engine/metadata-modules/workspace-migration/factories/composite-column-action.factory'; + export class GraphqlQueryOrderFieldParser { private fieldMetadataMapByName: FieldMetadataMap; private featureFlagsMap: FeatureFlagMap; diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-selected-fields/graphql-selected-fields.parser.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-selected-fields/graphql-selected-fields.parser.ts index fd1c97296..22ace8cb5 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-selected-fields/graphql-selected-fields.parser.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/graphql-query-parsers/graphql-query-selected-fields/graphql-selected-fields.parser.ts @@ -1,4 +1,4 @@ -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/object-records-to-graphql-connection.helper.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/object-records-to-graphql-connection.helper.ts index 93cf02386..08d471b22 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/object-records-to-graphql-connection.helper.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/object-records-to-graphql-connection.helper.ts @@ -1,4 +1,5 @@ -import { FieldMetadataType, isDefined } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; import { ObjectRecord, diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/process-aggregate.helper.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/process-aggregate.helper.ts index 686ea9e58..1f6866c9c 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/process-aggregate.helper.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/process-aggregate.helper.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { isDefined } from 'twenty-shared'; import { SelectQueryBuilder } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { AGGREGATE_OPERATIONS } from 'src/engine/api/graphql/graphql-query-runner/constants/aggregate-operations.constant'; import { AggregationField } from 'src/engine/api/graphql/workspace-schema-builder/utils/get-available-aggregations-from-object-fields.util'; diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/process-nested-relations-v2.helper.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/process-nested-relations-v2.helper.ts index f28bad5fc..2192d278e 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/process-nested-relations-v2.helper.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/helpers/process-nested-relations-v2.helper.ts @@ -1,12 +1,12 @@ import { Injectable } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; import { DataSource, FindOptionsRelations, ObjectLiteral, SelectQueryBuilder, } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ObjectRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface'; import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/interfaces/base-resolver-service.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/interfaces/base-resolver-service.ts index 1da2f1b34..28944f449 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/interfaces/base-resolver-service.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/interfaces/base-resolver-service.ts @@ -1,12 +1,9 @@ import { Inject, Injectable } from '@nestjs/common'; import graphqlFields from 'graphql-fields'; -import { - capitalize, - isDefined, - PermissionsOnAllObjectRecords, -} from 'twenty-shared'; import { DataSource, ObjectLiteral } from 'typeorm'; +import { capitalize, isDefined } from 'twenty-shared/utils'; +import { PermissionsOnAllObjectRecords } from 'twenty-shared/constants'; import { ObjectRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface'; import { IConnection } from 'src/engine/api/graphql/workspace-query-runner/interfaces/connection.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-find-many-resolver.service.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-find-many-resolver.service.ts index f2a77d3d9..fe4e17260 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-find-many-resolver.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-find-many-resolver.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { GraphqlQueryBaseResolverService, diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-search-resolver.service.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-search-resolver.service.ts index ec66e0e5f..a6e3e555b 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-search-resolver.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/resolvers/graphql-query-search-resolver.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { isDefined } from 'twenty-shared'; import { Brackets } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { GraphqlQueryBaseResolverService, diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/__tests__/compute-cursor-arg-filter.spec.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/__tests__/compute-cursor-arg-filter.spec.ts index cdf056007..8780c618c 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/__tests__/compute-cursor-arg-filter.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/__tests__/compute-cursor-arg-filter.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { OrderByDirection } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/compute-cursor-arg-filter.ts b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/compute-cursor-arg-filter.ts index 222c10e67..f1ae08681 100644 --- a/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/compute-cursor-arg-filter.ts +++ b/packages/twenty-server/src/engine/api/graphql/graphql-query-runner/utils/compute-cursor-arg-filter.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ObjectRecordFilter, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts index 791d09696..e359c0f01 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/__tests__/query-runner-args.factory.spec.ts @@ -1,6 +1,6 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceQueryRunnerOptions } from 'src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface'; import { ResolverArgsType } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters/query-result-getters.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters/query-result-getters.factory.ts index 4c061b53a..b789427aa 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters/query-result-getters.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-result-getters/query-result-getters.factory.ts @@ -1,6 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; -import { FieldMetadataType, isDefined } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; import { ObjectRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface'; import { QueryResultFieldValue } from 'src/engine/api/graphql/workspace-query-runner/factories/query-result-getters/interfaces/query-result-field-value'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts index bf8da83fd..a0bb822cc 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/factories/query-runner-args.factory.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { ServerBlockNoteEditor } from '@blocknote/server-util'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ObjectRecord, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/__tests__/record-position-backfill-service.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/__tests__/record-position-backfill-service.spec.ts index f40616f79..ec825588b 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/__tests__/record-position-backfill-service.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/__tests__/record-position-backfill-service.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { RecordPositionQueryFactory } from 'src/engine/api/graphql/workspace-query-builder/factories/record-position-query.factory'; import { RecordPositionFactory } from 'src/engine/api/graphql/workspace-query-runner/factories/record-position.factory'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service.ts index e0aef2b25..8d9370c49 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/services/record-position-backfill-service.ts @@ -2,8 +2,8 @@ import { Injectable, Logger } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { isDefined } from 'class-validator'; -import { FieldMetadataType } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { RecordPositionQueryFactory, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/assert-is-valid-uuid.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/assert-is-valid-uuid.util.ts index 801f7ddb4..21da9fa57 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/assert-is-valid-uuid.util.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/assert-is-valid-uuid.util.ts @@ -1,4 +1,4 @@ -import { isValidUuid } from 'twenty-shared'; +import { isValidUuid } from 'twenty-shared/utils'; import { WorkspaceQueryRunnerException, diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/handle-duplicate-key-error.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/handle-duplicate-key-error.util.ts index 2c2254b64..f8938355a 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/handle-duplicate-key-error.util.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/handle-duplicate-key-error.util.ts @@ -1,5 +1,5 @@ -import { isDefined } from 'twenty-shared'; import { QueryFailedError } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { WorkspaceQueryRunnerOptions } from 'src/engine/api/graphql/workspace-query-runner/interfaces/query-runner-option.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/with-soft-deleted.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/with-soft-deleted.util.ts index 5eab6be3b..2b846c29d 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/with-soft-deleted.util.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/utils/with-soft-deleted.util.ts @@ -1,4 +1,4 @@ -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { ObjectRecordFilter } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/storage/workspace-query-hook.storage.ts b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/storage/workspace-query-hook.storage.ts index 57a4a5882..fb9c929d6 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/storage/workspace-query-hook.storage.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-query-runner/workspace-query-hook/storage/workspace-query-hook.storage.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Module } from '@nestjs/core/injector/module'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { WorkspaceQueryHookInstance } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/interfaces/workspace-query-hook.interface'; import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.service.ts b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.service.ts index f7adf270d..92dc9087f 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-resolver-builder/workspace-resolver-builder.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { WorkspaceResolverBuilderMethodNames } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-enum-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-enum-type-definition.factory.ts index 0de3bad9b..0fd2afba3 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-enum-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-enum-type-definition.factory.ts @@ -1,7 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLEnumType } from 'graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-input-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-input-type-definition.factory.ts index 249828b9e..798b54625 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-input-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-input-type-definition.factory.ts @@ -1,7 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLInputFieldConfigMap, GraphQLInputObjectType } from 'graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-object-type-definition.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-object-type-definition.factory.ts index 702ff89f3..a0334a540 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-object-type-definition.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/composite-object-type-definition.factory.ts @@ -1,7 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLFieldConfigMap, GraphQLObjectType } from 'graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition-v2.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition-v2.factory.ts index c966b38d0..cc310a15d 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition-v2.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/extend-object-type-definition-v2.factory.ts @@ -5,7 +5,7 @@ import { GraphQLFieldConfigMap, GraphQLObjectType, } from 'graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts index e9c94e97e..58c16e4be 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/input-type.factory.ts @@ -6,7 +6,7 @@ import { GraphQLInputType, GraphQLList, } from 'graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts index e8db91075..f2813479e 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/output-type.factory.ts @@ -1,7 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-type-v2.factory.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-type-v2.factory.ts index 9a31f5f44..613f0c368 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-type-v2.factory.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/factories/relation-type-v2.factory.ts @@ -1,7 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { GraphQLOutputType } from 'graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service.ts index 37c17d8a1..235311cda 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/services/type-mapper.service.ts @@ -13,7 +13,7 @@ import { GraphQLString, GraphQLType, } from 'graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataSettings } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage.ts index 0c98e17c0..29dd10ca0 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/storages/type-definitions.storage.ts @@ -5,7 +5,7 @@ import { GraphQLInputObjectType, GraphQLObjectType, } from 'graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { EnumTypeDefinition } from 'src/engine/api/graphql/workspace-schema-builder/factories/enum-type-definition.factory'; import { diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts index 21ad78287..388bcc609 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/__tests__/get-field-metadata-type.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { getFieldMetadataType } from 'src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/compute-composite-property-target.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/compute-composite-property-target.util.ts index 1ed8adcdc..2d4197649 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/compute-composite-property-target.util.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/compute-composite-property-target.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CompositeProperty } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/generate-fields.utils.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/generate-fields.utils.ts index 0b6460c55..a03120947 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/generate-fields.utils.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/generate-fields.utils.ts @@ -4,7 +4,7 @@ import { GraphQLInputType, GraphQLOutputType, } from 'graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceBuildSchemaOptions } from 'src/engine/api/graphql/workspace-schema-builder/interfaces/workspace-build-schema-optionts.interface'; import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-available-aggregations-from-object-fields.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-available-aggregations-from-object-fields.util.ts index 71e3f4d60..5af0264ab 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-available-aggregations-from-object-fields.util.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-available-aggregations-from-object-fields.util.ts @@ -1,12 +1,9 @@ import { GraphQLISODateTime } from '@nestjs/graphql'; import { GraphQLFloat, GraphQLInt, GraphQLScalarType } from 'graphql'; -import { - capitalize, - FIELD_FOR_TOTAL_COUNT_AGGREGATE_OPERATION, - FieldMetadataType, - isFieldMetadataDateKind, -} from 'twenty-shared'; +import { capitalize, isFieldMetadataDateKind } from 'twenty-shared/utils'; +import { FIELD_FOR_TOTAL_COUNT_AGGREGATE_OPERATION } from 'twenty-shared/constants'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts index 515fbe97c..d10143343 100644 --- a/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts +++ b/packages/twenty-server/src/engine/api/graphql/workspace-schema-builder/utils/get-field-metadata-type.util.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; const typeOrmTypeMapping = new Map([ ['uuid', FieldMetadataType.UUID], ['timestamptz', FieldMetadataType.DATE_TIME], diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/create-many-query.factory.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/create-many-query.factory.ts index a0fa2a6b0..22ec1030a 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/create-many-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/create-many-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/create-one-query.factory.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/create-one-query.factory.ts index 2f9ef9b99..219c09b71 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/create-one-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/create-one-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/delete-query.factory.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/delete-query.factory.ts index 81c9a2dda..d973859f1 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/delete-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/delete-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-duplicates-query.factory.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-duplicates-query.factory.ts index 412bb4cea..8a1cd15a6 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-duplicates-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-duplicates-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-many-query.factory.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-many-query.factory.ts index aface1280..64276f768 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-many-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-many-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-one-query.factory.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-one-query.factory.ts index cf9e00c93..cd275c311 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-one-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/find-one-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/update-query.factory.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/update-query.factory.ts index 284dd1a67..5997cf473 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/update-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/factories/update-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { mapFieldMetadataToGraphqlQuery } from 'src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/__tests__/get-field-type.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/__tests__/get-field-type.utils.spec.ts index 48658961a..07c9a2830 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/__tests__/get-field-type.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/__tests__/get-field-type.utils.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts index d54571175..34ac20868 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/__tests__/map-field-metadata-to-graphql-query.utils.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/__tests__/check-filter-enum-values.spec.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/__tests__/check-filter-enum-values.spec.ts index c75e8c7a2..93bc7be4e 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/__tests__/check-filter-enum-values.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/__tests__/check-filter-enum-values.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/__tests__/format-field-values.utils.spec.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/__tests__/format-field-values.utils.spec.ts index 8d18d3f41..99febb2de 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/__tests__/format-field-values.utils.spec.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/__tests__/format-field-values.utils.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { formatFieldValue } from 'src/engine/api/rest/core/query-builder/utils/filter-utils/format-field-values.utils'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/check-filter-enum-values.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/check-filter-enum-values.ts index 1c75f4417..75b18bc93 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/check-filter-enum-values.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/check-filter-enum-values.ts @@ -1,6 +1,6 @@ import { BadRequestException } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/format-field-values.utils.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/format-field-values.utils.ts index 13b53e9ea..7001b1cc1 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/format-field-values.utils.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/filter-utils/format-field-values.utils.ts @@ -1,6 +1,7 @@ import { BadRequestException } from '@nestjs/common'; -import { FieldMetadataType, isDefined } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; import { FieldValue } from 'src/engine/api/rest/core/types/field-value.type'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/get-field-type.utils.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/get-field-type.utils.ts index 04e3bdd90..a6ddc469a 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/get-field-type.utils.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/get-field-type.utils.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils.ts b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils.ts index 39803c5d6..6c27969bc 100644 --- a/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils.ts +++ b/packages/twenty-server/src/engine/api/rest/core/query-builder/utils/map-field-metadata-to-graphql-query.utils.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/api/rest/core/rest-api-core-v2.service.ts b/packages/twenty-server/src/engine/api/rest/core/rest-api-core-v2.service.ts index 58236ded8..c6ab73246 100644 --- a/packages/twenty-server/src/engine/api/rest/core/rest-api-core-v2.service.ts +++ b/packages/twenty-server/src/engine/api/rest/core/rest-api-core-v2.service.ts @@ -1,7 +1,7 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { Request } from 'express'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { CoreQueryBuilderFactory } from 'src/engine/api/rest/core/query-builder/core-query-builder.factory'; import { parseCorePath } from 'src/engine/api/rest/core/query-builder/utils/path-parsers/parse-core-path.utils'; diff --git a/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/create-metadata-query.factory.ts b/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/create-metadata-query.factory.ts index 1f4678a7e..568bc72ca 100644 --- a/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/create-metadata-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/create-metadata-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { fetchMetadataFields } from 'src/engine/api/rest/metadata/query-builder/utils/fetch-metadata-fields.utils'; diff --git a/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/delete-metadata-query.factory.ts b/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/delete-metadata-query.factory.ts index 6a34fe4e0..532f8de50 100644 --- a/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/delete-metadata-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/delete-metadata-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; @Injectable() export class DeleteMetadataQueryFactory { diff --git a/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/find-many-metadata-query.factory.ts b/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/find-many-metadata-query.factory.ts index 7e8381dfd..87d81fa2c 100644 --- a/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/find-many-metadata-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/find-many-metadata-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { fetchMetadataFields } from 'src/engine/api/rest/metadata/query-builder/utils/fetch-metadata-fields.utils'; diff --git a/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/find-one-metadata-query.factory.ts b/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/find-one-metadata-query.factory.ts index f2d56733f..fd2bf20f8 100644 --- a/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/find-one-metadata-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/find-one-metadata-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { fetchMetadataFields } from 'src/engine/api/rest/metadata/query-builder/utils/fetch-metadata-fields.utils'; diff --git a/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/update-metadata-query.factory.ts b/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/update-metadata-query.factory.ts index 23c9719a0..6c7042fc1 100644 --- a/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/update-metadata-query.factory.ts +++ b/packages/twenty-server/src/engine/api/rest/metadata/query-builder/factories/update-metadata-query.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { fetchMetadataFields } from 'src/engine/api/rest/metadata/query-builder/utils/fetch-metadata-fields.utils'; diff --git a/packages/twenty-server/src/engine/core-modules/actor/query-hooks/created-by.create-many.pre-query-hook.ts b/packages/twenty-server/src/engine/core-modules/actor/query-hooks/created-by.create-many.pre-query-hook.ts index 3291e65cd..fd48467b3 100644 --- a/packages/twenty-server/src/engine/core-modules/actor/query-hooks/created-by.create-many.pre-query-hook.ts +++ b/packages/twenty-server/src/engine/core-modules/actor/query-hooks/created-by.create-many.pre-query-hook.ts @@ -1,7 +1,7 @@ import { InjectRepository } from '@nestjs/typeorm'; -import { isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { WorkspaceQueryHookInstance } from 'src/engine/api/graphql/workspace-query-runner/workspace-query-hook/interfaces/workspace-query-hook.interface'; import { CreateManyResolverArgs } from 'src/engine/api/graphql/workspace-resolver-builder/interfaces/workspace-resolvers-builder.interface'; diff --git a/packages/twenty-server/src/engine/core-modules/actor/services/created-by-from-auth-context.service.ts b/packages/twenty-server/src/engine/core-modules/actor/services/created-by-from-auth-context.service.ts index 74faa77d5..d32bbb508 100644 --- a/packages/twenty-server/src/engine/core-modules/actor/services/created-by-from-auth-context.service.ts +++ b/packages/twenty-server/src/engine/core-modules/actor/services/created-by-from-auth-context.service.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { buildCreatedByFromApiKey } from 'src/engine/core-modules/actor/utils/build-created-by-from-api-key.util'; import { buildCreatedByFromFullNameMetadata } from 'src/engine/core-modules/actor/utils/build-created-by-from-full-name-metadata.util'; diff --git a/packages/twenty-server/src/engine/core-modules/approved-access-domain/approved-access-domain.validate.ts b/packages/twenty-server/src/engine/core-modules/approved-access-domain/approved-access-domain.validate.ts index 8d038f619..d7641e233 100644 --- a/packages/twenty-server/src/engine/core-modules/approved-access-domain/approved-access-domain.validate.ts +++ b/packages/twenty-server/src/engine/core-modules/approved-access-domain/approved-access-domain.validate.ts @@ -1,4 +1,4 @@ -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { CustomException } from 'src/utils/custom-exception'; import { ApprovedAccessDomain } from 'src/engine/core-modules/approved-access-domain/approved-access-domain.entity'; diff --git a/packages/twenty-server/src/engine/core-modules/approved-access-domain/services/approved-access-domain.service.ts b/packages/twenty-server/src/engine/core-modules/approved-access-domain/services/approved-access-domain.service.ts index 3faa05b48..4a98019c8 100644 --- a/packages/twenty-server/src/engine/core-modules/approved-access-domain/services/approved-access-domain.service.ts +++ b/packages/twenty-server/src/engine/core-modules/approved-access-domain/services/approved-access-domain.service.ts @@ -5,8 +5,8 @@ import crypto from 'crypto'; import { render } from '@react-email/render'; import { Repository } from 'typeorm'; -import { APP_LOCALES } from 'twenty-shared'; import { SendApprovedAccessDomainValidation } from 'twenty-emails'; +import { APP_LOCALES } from 'twenty-shared/translations'; import { Workspace } from 'src/engine/core-modules/workspace/workspace.entity'; import { User } from 'src/engine/core-modules/user/user.entity'; diff --git a/packages/twenty-server/src/engine/core-modules/auth/auth.resolver.ts b/packages/twenty-server/src/engine/core-modules/auth/auth.resolver.ts index 66cb8219e..f6ed283a1 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/auth.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/auth.resolver.ts @@ -3,8 +3,8 @@ import { Args, Context, Mutation, Query, Resolver } from '@nestjs/graphql'; import { InjectRepository } from '@nestjs/typeorm'; import omit from 'lodash.omit'; -import { SOURCE_LOCALE } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { SOURCE_LOCALE } from 'twenty-shared/translations'; import { ApiKeyTokenInput } from 'src/engine/core-modules/auth/dto/api-key-token.input'; import { AppTokenInput } from 'src/engine/core-modules/auth/dto/app-token.input'; diff --git a/packages/twenty-server/src/engine/core-modules/auth/dto/sign-up.input.ts b/packages/twenty-server/src/engine/core-modules/auth/dto/sign-up.input.ts index 999962ae8..a6a7f92cc 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/dto/sign-up.input.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/dto/sign-up.input.ts @@ -1,7 +1,7 @@ import { ArgsType, Field } from '@nestjs/graphql'; import { IsEmail, IsNotEmpty, IsOptional, IsString } from 'class-validator'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; @ArgsType() export class SignUpInput { diff --git a/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts index 3e58f7b54..2189782c9 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/auth.service.ts @@ -9,8 +9,9 @@ import { render } from '@react-email/render'; import { addMilliseconds } from 'date-fns'; import ms from 'ms'; import { PasswordUpdateNotifyEmail } from 'twenty-emails'; -import { APP_LOCALES, isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { APP_LOCALES } from 'twenty-shared/translations'; +import { isDefined } from 'twenty-shared/utils'; import { NodeEnvironment } from 'src/engine/core-modules/environment/interfaces/node-environment.interface'; diff --git a/packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts index e196f0793..3621f4737 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/google-apis.service.ts @@ -1,9 +1,9 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { ConnectedAccountProvider } from 'twenty-shared'; import { EntityManager, Repository } from 'typeorm'; import { v4 } from 'uuid'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { DatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/enums/database-event-action'; import { getGoogleApisOauthScopes } from 'src/engine/core-modules/auth/utils/get-google-apis-oauth-scopes'; diff --git a/packages/twenty-server/src/engine/core-modules/auth/services/microsoft-apis.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/microsoft-apis.service.ts index c95dfe2e8..0ca3ed6fd 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/services/microsoft-apis.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/microsoft-apis.service.ts @@ -1,9 +1,9 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { ConnectedAccountProvider } from 'twenty-shared'; import { EntityManager, Repository } from 'typeorm'; import { v4 } from 'uuid'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { DatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/enums/database-event-action'; import { getMicrosoftApisOauthScopes } from 'src/engine/core-modules/auth/utils/get-microsoft-apis-oauth-scopes'; @@ -38,6 +38,7 @@ import { MessagingMessageListFetchJobData, } from 'src/modules/messaging/message-import-manager/jobs/messaging-message-list-fetch.job'; import { WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-member/standard-objects/workspace-member.workspace-entity'; + @Injectable() export class MicrosoftAPIsService { constructor( diff --git a/packages/twenty-server/src/engine/core-modules/auth/services/reset-password.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/reset-password.service.ts index db4a5ce29..3ae07125b 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/services/reset-password.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/reset-password.service.ts @@ -9,8 +9,8 @@ import { render } from '@react-email/render'; import { addMilliseconds, differenceInMilliseconds } from 'date-fns'; import ms from 'ms'; import { PasswordResetLinkEmail } from 'twenty-emails'; -import { APP_LOCALES } from 'twenty-shared'; import { IsNull, MoreThan, Repository } from 'typeorm'; +import { APP_LOCALES } from 'twenty-shared/translations'; import { AppToken, diff --git a/packages/twenty-server/src/engine/core-modules/auth/services/sign-in-up.service.spec.ts b/packages/twenty-server/src/engine/core-modules/auth/services/sign-in-up.service.spec.ts index 05a306902..d6caff560 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/services/sign-in-up.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/sign-in-up.service.spec.ts @@ -2,8 +2,8 @@ import { HttpService } from '@nestjs/axios'; import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { AppToken } from 'src/engine/core-modules/app-token/app-token.entity'; import { diff --git a/packages/twenty-server/src/engine/core-modules/auth/services/sign-in-up.service.ts b/packages/twenty-server/src/engine/core-modules/auth/services/sign-in-up.service.ts index 31ed89bc2..5a59d01a8 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/services/sign-in-up.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/services/sign-in-up.service.ts @@ -3,12 +3,10 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import FileType from 'file-type'; -import { - TWENTY_ICONS_BASE_URL, - WorkspaceActivationStatus, -} from 'twenty-shared'; import { Repository } from 'typeorm'; import { v4 } from 'uuid'; +import { TWENTY_ICONS_BASE_URL } from 'twenty-shared/constants'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; diff --git a/packages/twenty-server/src/engine/core-modules/auth/strategies/google.auth.strategy.ts b/packages/twenty-server/src/engine/core-modules/auth/strategies/google.auth.strategy.ts index 063c09f92..5a6fe9e09 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/strategies/google.auth.strategy.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/strategies/google.auth.strategy.ts @@ -3,7 +3,7 @@ import { PassportStrategy } from '@nestjs/passport'; import { Request } from 'express'; import { Strategy, VerifyCallback } from 'passport-google-oauth20'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; import { EnvironmentService } from 'src/engine/core-modules/environment/environment.service'; diff --git a/packages/twenty-server/src/engine/core-modules/auth/strategies/microsoft.auth.strategy.ts b/packages/twenty-server/src/engine/core-modules/auth/strategies/microsoft.auth.strategy.ts index ebdc8813c..68407499e 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/strategies/microsoft.auth.strategy.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/strategies/microsoft.auth.strategy.ts @@ -3,7 +3,7 @@ import { PassportStrategy } from '@nestjs/passport'; import { Request } from 'express'; import { VerifyCallback } from 'passport-google-oauth20'; import { Strategy } from 'passport-microsoft'; -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; import { AuthException, diff --git a/packages/twenty-server/src/engine/core-modules/auth/token/services/access-token.service.spec.ts b/packages/twenty-server/src/engine/core-modules/auth/token/services/access-token.service.spec.ts index 228159571..5b09e5e03 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/token/services/access-token.service.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/token/services/access-token.service.spec.ts @@ -2,8 +2,8 @@ import { Test, TestingModule } from '@nestjs/testing'; import { getRepositoryToken } from '@nestjs/typeorm'; import { Request } from 'express'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { AppToken } from 'src/engine/core-modules/app-token/app-token.entity'; import { AuthException } from 'src/engine/core-modules/auth/auth.exception'; diff --git a/packages/twenty-server/src/engine/core-modules/auth/token/services/access-token.service.ts b/packages/twenty-server/src/engine/core-modules/auth/token/services/access-token.service.ts index afc019a6e..003898b1d 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/token/services/access-token.service.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/token/services/access-token.service.ts @@ -4,8 +4,8 @@ import { InjectRepository } from '@nestjs/typeorm'; import { addMilliseconds } from 'date-fns'; import { Request } from 'express'; import ms from 'ms'; -import { isWorkspaceActiveOrSuspended } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isWorkspaceActiveOrSuspended } from 'twenty-shared/workspace'; import { AuthException, diff --git a/packages/twenty-server/src/engine/core-modules/auth/types/signInUp.type.ts b/packages/twenty-server/src/engine/core-modules/auth/types/signInUp.type.ts index 81151fee7..b43f092af 100644 --- a/packages/twenty-server/src/engine/core-modules/auth/types/signInUp.type.ts +++ b/packages/twenty-server/src/engine/core-modules/auth/types/signInUp.type.ts @@ -1,4 +1,4 @@ -import { APP_LOCALES } from 'twenty-shared'; +import { APP_LOCALES } from 'twenty-shared/translations'; import { AppToken } from 'src/engine/core-modules/app-token/app-token.entity'; import { User } from 'src/engine/core-modules/user/user.entity'; diff --git a/packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts b/packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts index 85b9b9a73..375314a42 100644 --- a/packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts @@ -3,7 +3,7 @@ import { UseFilters, UseGuards } from '@nestjs/common'; import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { BillingCheckoutSessionInput } from 'src/engine/core-modules/billing/dtos/inputs/billing-checkout-session.input'; import { BillingSessionInput } from 'src/engine/core-modules/billing/dtos/inputs/billing-session.input'; diff --git a/packages/twenty-server/src/engine/core-modules/billing/webhooks/services/billing-webhook-subscription.service.ts b/packages/twenty-server/src/engine/core-modules/billing/webhooks/services/billing-webhook-subscription.service.ts index 26b940ca5..9fca680bc 100644 --- a/packages/twenty-server/src/engine/core-modules/billing/webhooks/services/billing-webhook-subscription.service.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/webhooks/services/billing-webhook-subscription.service.ts @@ -4,8 +4,8 @@ import { Injectable, Logger } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import Stripe from 'stripe'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { BillingCustomer } from 'src/engine/core-modules/billing/entities/billing-customer.entity'; import { BillingSubscriptionItem } from 'src/engine/core-modules/billing/entities/billing-subscription-item.entity'; diff --git a/packages/twenty-server/src/engine/core-modules/domain-manager/services/custom-domain.service.ts b/packages/twenty-server/src/engine/core-modules/domain-manager/services/custom-domain.service.ts index f79b5985b..bca196fa3 100644 --- a/packages/twenty-server/src/engine/core-modules/domain-manager/services/custom-domain.service.ts +++ b/packages/twenty-server/src/engine/core-modules/domain-manager/services/custom-domain.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import Cloudflare from 'cloudflare'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { DomainManagerException, diff --git a/packages/twenty-server/src/engine/core-modules/domain-manager/services/domain-manager.service.ts b/packages/twenty-server/src/engine/core-modules/domain-manager/services/domain-manager.service.ts index b28ef7057..c15ebc013 100644 --- a/packages/twenty-server/src/engine/core-modules/domain-manager/services/domain-manager.service.ts +++ b/packages/twenty-server/src/engine/core-modules/domain-manager/services/domain-manager.service.ts @@ -1,8 +1,8 @@ import { Injectable, Logger } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { SEED_APPLE_WORKSPACE_ID } from 'src/database/typeorm-seeds/core/workspaces'; import { WorkspaceSubdomainCustomDomainAndIsCustomDomainEnabledType } from 'src/engine/core-modules/domain-manager/domain-manager.type'; diff --git a/packages/twenty-server/src/engine/core-modules/domain-manager/utils/get-subdomain-from-email.ts b/packages/twenty-server/src/engine/core-modules/domain-manager/utils/get-subdomain-from-email.ts index 0f6232ab8..194a48d8e 100644 --- a/packages/twenty-server/src/engine/core-modules/domain-manager/utils/get-subdomain-from-email.ts +++ b/packages/twenty-server/src/engine/core-modules/domain-manager/utils/get-subdomain-from-email.ts @@ -1,4 +1,4 @@ -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { getDomainNameByEmail } from 'src/utils/get-domain-name-by-email'; import { isWorkEmail } from 'src/utils/is-work-email'; diff --git a/packages/twenty-server/src/engine/core-modules/domain-manager/utils/get-subdomain-name-from-display-name.ts b/packages/twenty-server/src/engine/core-modules/domain-manager/utils/get-subdomain-name-from-display-name.ts index dbe6f71d7..2225f703a 100644 --- a/packages/twenty-server/src/engine/core-modules/domain-manager/utils/get-subdomain-name-from-display-name.ts +++ b/packages/twenty-server/src/engine/core-modules/domain-manager/utils/get-subdomain-name-from-display-name.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; export const getSubdomainNameFromDisplayName = (displayName?: string) => { if (!isDefined(displayName)) return; const displayNameWords = displayName.match(/(\w|\d)+/g); diff --git a/packages/twenty-server/src/engine/core-modules/email-verification/email-verification.resolver.ts b/packages/twenty-server/src/engine/core-modules/email-verification/email-verification.resolver.ts index b25b95e32..ddac48673 100644 --- a/packages/twenty-server/src/engine/core-modules/email-verification/email-verification.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/email-verification/email-verification.resolver.ts @@ -1,6 +1,6 @@ import { Args, Context, Mutation, Resolver } from '@nestjs/graphql'; -import { SOURCE_LOCALE } from 'twenty-shared'; +import { SOURCE_LOCALE } from 'twenty-shared/translations'; import { DomainManagerService } from 'src/engine/core-modules/domain-manager/services/domain-manager.service'; import { ResendEmailVerificationTokenInput } from 'src/engine/core-modules/email-verification/dtos/resend-email-verification-token.input'; diff --git a/packages/twenty-server/src/engine/core-modules/email-verification/services/email-verification.service.ts b/packages/twenty-server/src/engine/core-modules/email-verification/services/email-verification.service.ts index 58a4e811b..9afcad77b 100644 --- a/packages/twenty-server/src/engine/core-modules/email-verification/services/email-verification.service.ts +++ b/packages/twenty-server/src/engine/core-modules/email-verification/services/email-verification.service.ts @@ -7,8 +7,8 @@ import { render } from '@react-email/render'; import { addMilliseconds, differenceInMilliseconds } from 'date-fns'; import ms from 'ms'; import { SendEmailVerificationLinkEmail } from 'twenty-emails'; -import { APP_LOCALES } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { APP_LOCALES } from 'twenty-shared/translations'; import { AppToken, diff --git a/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts b/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts index 93f52b848..7412f8ae1 100644 --- a/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts +++ b/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts @@ -13,7 +13,7 @@ import { ValidationError, validateSync, } from 'class-validator'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { EmailDriver } from 'src/engine/core-modules/email/interfaces/email.interface'; import { AwsRegion } from 'src/engine/core-modules/environment/interfaces/aws-region.interface'; diff --git a/packages/twenty-server/src/engine/core-modules/event-emitter/utils/object-record-changed-values.ts b/packages/twenty-server/src/engine/core-modules/event-emitter/utils/object-record-changed-values.ts index 476dd8160..d1a5fb248 100644 --- a/packages/twenty-server/src/engine/core-modules/event-emitter/utils/object-record-changed-values.ts +++ b/packages/twenty-server/src/engine/core-modules/event-emitter/utils/object-record-changed-values.ts @@ -1,5 +1,5 @@ import deepEqual from 'deep-equal'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ObjectRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface'; import { ObjectMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/object-metadata.interface'; diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/validates/feature-flag.validate.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/validates/feature-flag.validate.ts index 93d886719..8a93cc113 100644 --- a/packages/twenty-server/src/engine/core-modules/feature-flag/validates/feature-flag.validate.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/validates/feature-flag.validate.ts @@ -1,4 +1,4 @@ -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum'; import { CustomException } from 'src/utils/custom-exception'; diff --git a/packages/twenty-server/src/engine/core-modules/file-storage/drivers/s3.driver.ts b/packages/twenty-server/src/engine/core-modules/file-storage/drivers/s3.driver.ts index 2f2d34952..bed1f92c5 100644 --- a/packages/twenty-server/src/engine/core-modules/file-storage/drivers/s3.driver.ts +++ b/packages/twenty-server/src/engine/core-modules/file-storage/drivers/s3.driver.ts @@ -18,7 +18,7 @@ import { S3, S3ClientConfig, } from '@aws-sdk/client-s3'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { StorageDriver } from 'src/engine/core-modules/file-storage/drivers/interfaces/storage-driver.interface'; import { diff --git a/packages/twenty-server/src/engine/core-modules/global-search/__mocks__/mockObjectMetadataItemsWithFieldMaps.ts b/packages/twenty-server/src/engine/core-modules/global-search/__mocks__/mockObjectMetadataItemsWithFieldMaps.ts index b56859a26..986927eea 100644 --- a/packages/twenty-server/src/engine/core-modules/global-search/__mocks__/mockObjectMetadataItemsWithFieldMaps.ts +++ b/packages/twenty-server/src/engine/core-modules/global-search/__mocks__/mockObjectMetadataItemsWithFieldMaps.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ObjectMetadataItemWithFieldMaps } from 'src/engine/metadata-modules/types/object-metadata-item-with-field-maps'; diff --git a/packages/twenty-server/src/engine/core-modules/global-search/services/global-search.service.ts b/packages/twenty-server/src/engine/core-modules/global-search/services/global-search.service.ts index ddac77087..6803867ed 100644 --- a/packages/twenty-server/src/engine/core-modules/global-search/services/global-search.service.ts +++ b/packages/twenty-server/src/engine/core-modules/global-search/services/global-search.service.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; -import { FieldMetadataType, getLogoUrlFromDomainName } from 'twenty-shared'; import { Brackets, ObjectLiteral } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { getLogoUrlFromDomainName } from 'twenty-shared/utils'; import { ObjectRecord } from 'src/engine/api/graphql/workspace-query-builder/interfaces/object-record.interface'; import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; diff --git a/packages/twenty-server/src/engine/core-modules/i18n/i18n.middleware.ts b/packages/twenty-server/src/engine/core-modules/i18n/i18n.middleware.ts index 1e8ec8c43..300ea55ef 100644 --- a/packages/twenty-server/src/engine/core-modules/i18n/i18n.middleware.ts +++ b/packages/twenty-server/src/engine/core-modules/i18n/i18n.middleware.ts @@ -2,7 +2,7 @@ import { Injectable, NestMiddleware } from '@nestjs/common'; import { i18n } from '@lingui/core'; import { NextFunction, Request, Response } from 'express'; -import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared'; +import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared/translations'; @Injectable() export class I18nMiddleware implements NestMiddleware { diff --git a/packages/twenty-server/src/engine/core-modules/i18n/i18n.service.ts b/packages/twenty-server/src/engine/core-modules/i18n/i18n.service.ts index 6116d4980..f4c8fa2c8 100644 --- a/packages/twenty-server/src/engine/core-modules/i18n/i18n.service.ts +++ b/packages/twenty-server/src/engine/core-modules/i18n/i18n.service.ts @@ -1,7 +1,7 @@ import { Injectable, OnModuleInit } from '@nestjs/common'; import { i18n } from '@lingui/core'; -import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared'; +import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared/translations'; import { messages as afMessages } from 'src/engine/core-modules/i18n/locales/generated/af-ZA'; import { messages as arMessages } from 'src/engine/core-modules/i18n/locales/generated/ar-SA'; diff --git a/packages/twenty-server/src/engine/core-modules/i18n/types/i18n-context.type.ts b/packages/twenty-server/src/engine/core-modules/i18n/types/i18n-context.type.ts index bb3ebcb69..96556156e 100644 --- a/packages/twenty-server/src/engine/core-modules/i18n/types/i18n-context.type.ts +++ b/packages/twenty-server/src/engine/core-modules/i18n/types/i18n-context.type.ts @@ -1,5 +1,4 @@ -import { APP_LOCALES } from 'twenty-shared'; - +import { APP_LOCALES } from 'twenty-shared/translations'; export type I18nContext = { req: { headers: { diff --git a/packages/twenty-server/src/engine/core-modules/jwt/services/jwt-wrapper.service.ts b/packages/twenty-server/src/engine/core-modules/jwt/services/jwt-wrapper.service.ts index 430b493e2..de94bfe87 100644 --- a/packages/twenty-server/src/engine/core-modules/jwt/services/jwt-wrapper.service.ts +++ b/packages/twenty-server/src/engine/core-modules/jwt/services/jwt-wrapper.service.ts @@ -6,7 +6,7 @@ import { createHash } from 'crypto'; import { Request as ExpressRequest } from 'express'; import * as jwt from 'jsonwebtoken'; import { ExtractJwt, JwtFromRequestFunction } from 'passport-jwt'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { AuthException, diff --git a/packages/twenty-server/src/engine/core-modules/message-queue/drivers/bullmq.driver.ts b/packages/twenty-server/src/engine/core-modules/message-queue/drivers/bullmq.driver.ts index 48bf15efa..a6da2c6fc 100644 --- a/packages/twenty-server/src/engine/core-modules/message-queue/drivers/bullmq.driver.ts +++ b/packages/twenty-server/src/engine/core-modules/message-queue/drivers/bullmq.driver.ts @@ -1,8 +1,8 @@ import { OnModuleDestroy } from '@nestjs/common'; import { JobsOptions, MetricsTime, Queue, QueueOptions, Worker } from 'bullmq'; -import { isDefined } from 'twenty-shared'; import { v4 } from 'uuid'; +import { isDefined } from 'twenty-shared/utils'; import { QueueCronJobOptions, diff --git a/packages/twenty-server/src/engine/core-modules/onboarding/onboarding.service.ts b/packages/twenty-server/src/engine/core-modules/onboarding/onboarding.service.ts index fbaff4554..3e4ab92e9 100644 --- a/packages/twenty-server/src/engine/core-modules/onboarding/onboarding.service.ts +++ b/packages/twenty-server/src/engine/core-modules/onboarding/onboarding.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { WorkspaceActivationStatus } from 'twenty-shared'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { BillingService } from 'src/engine/core-modules/billing/services/billing.service'; import { OnboardingStatus } from 'src/engine/core-modules/onboarding/enums/onboarding-status.enum'; diff --git a/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts b/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts index b7012c5a2..d0937266a 100644 --- a/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/open-api.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { Request } from 'express'; import { OpenAPIV3_1 } from 'openapi-types'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { DatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/enums/database-event-action'; import { AccessTokenService } from 'src/engine/core-modules/auth/token/services/access-token.service'; diff --git a/packages/twenty-server/src/engine/core-modules/open-api/utils/components.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/components.utils.ts index a465de850..ae373312b 100644 --- a/packages/twenty-server/src/engine/core-modules/open-api/utils/components.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/components.utils.ts @@ -1,5 +1,6 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { capitalize, FieldMetadataType } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; +import { FieldMetadataType } from 'twenty-shared/types'; import { computeDepthParameters, diff --git a/packages/twenty-server/src/engine/core-modules/open-api/utils/compute-schema-tags.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/compute-schema-tags.utils.ts index 2095c2d77..15d0df5b3 100644 --- a/packages/twenty-server/src/engine/core-modules/open-api/utils/compute-schema-tags.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/compute-schema-tags.utils.ts @@ -1,5 +1,5 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; diff --git a/packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts index 9fbdb5420..0e7ae69e7 100644 --- a/packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/computeWebhooks.utils.ts @@ -1,5 +1,5 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { DatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/enums/database-event-action'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; diff --git a/packages/twenty-server/src/engine/core-modules/open-api/utils/path.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/path.utils.ts index 89b74759f..f27139f2a 100644 --- a/packages/twenty-server/src/engine/core-modules/open-api/utils/path.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/path.utils.ts @@ -1,5 +1,5 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { getArrayRequestBody, diff --git a/packages/twenty-server/src/engine/core-modules/open-api/utils/responses.utils.ts b/packages/twenty-server/src/engine/core-modules/open-api/utils/responses.utils.ts index 3cb17f4f6..8b298dd91 100644 --- a/packages/twenty-server/src/engine/core-modules/open-api/utils/responses.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/open-api/utils/responses.utils.ts @@ -1,4 +1,4 @@ -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; diff --git a/packages/twenty-server/src/engine/core-modules/serverless/drivers/lambda.driver.ts b/packages/twenty-server/src/engine/core-modules/serverless/drivers/lambda.driver.ts index 3ae96fe44..a5027b9af 100644 --- a/packages/twenty-server/src/engine/core-modules/serverless/drivers/lambda.driver.ts +++ b/packages/twenty-server/src/engine/core-modules/serverless/drivers/lambda.driver.ts @@ -20,7 +20,7 @@ import { LogType, } from '@aws-sdk/client-lambda'; import { AssumeRoleCommand, STSClient } from '@aws-sdk/client-sts'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { ServerlessDriver, diff --git a/packages/twenty-server/src/engine/core-modules/serverless/utils/serverless-get-folder.utils.ts b/packages/twenty-server/src/engine/core-modules/serverless/utils/serverless-get-folder.utils.ts index fd467dbd1..146cdf6a2 100644 --- a/packages/twenty-server/src/engine/core-modules/serverless/utils/serverless-get-folder.utils.ts +++ b/packages/twenty-server/src/engine/core-modules/serverless/utils/serverless-get-folder.utils.ts @@ -1,6 +1,6 @@ import { join } from 'path'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; diff --git a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts index 2606efa6f..29d7309b6 100644 --- a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.entity.ts @@ -1,7 +1,6 @@ import { Field, ObjectType, registerEnumType } from '@nestjs/graphql'; import { IDField } from '@ptc-org/nestjs-query-graphql'; -import { PermissionsOnAllObjectRecords } from 'twenty-shared'; import { Column, CreateDateColumn, @@ -15,6 +14,7 @@ import { Unique, UpdateDateColumn, } from 'typeorm'; +import { PermissionsOnAllObjectRecords } from 'twenty-shared/constants'; import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; import { TwoFactorMethod } from 'src/engine/core-modules/two-factor-method/two-factor-method.entity'; diff --git a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts index ea824da88..1163d47b2 100644 --- a/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts +++ b/packages/twenty-server/src/engine/core-modules/user-workspace/user-workspace.service.ts @@ -2,8 +2,9 @@ import { InjectRepository } from '@nestjs/typeorm'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; -import { isDefined, SOURCE_LOCALE } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; +import { SOURCE_LOCALE } from 'twenty-shared/translations'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; import { DatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/enums/database-event-action'; diff --git a/packages/twenty-server/src/engine/core-modules/user/services/user.service.ts b/packages/twenty-server/src/engine/core-modules/user/services/user.service.ts index 03bb2f104..323ce29bc 100644 --- a/packages/twenty-server/src/engine/core-modules/user/services/user.service.ts +++ b/packages/twenty-server/src/engine/core-modules/user/services/user.service.ts @@ -3,8 +3,8 @@ import { InjectRepository } from '@nestjs/typeorm'; import assert from 'assert'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; -import { isWorkspaceActiveOrSuspended } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isWorkspaceActiveOrSuspended } from 'twenty-shared/workspace'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; import { DatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/enums/database-event-action'; diff --git a/packages/twenty-server/src/engine/core-modules/user/user.resolver.ts b/packages/twenty-server/src/engine/core-modules/user/user.resolver.ts index f46b6043d..41b7dfd3f 100644 --- a/packages/twenty-server/src/engine/core-modules/user/user.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/user/user.resolver.ts @@ -13,8 +13,8 @@ import crypto from 'crypto'; import { GraphQLJSONObject } from 'graphql-type-json'; import { FileUpload, GraphQLUpload } from 'graphql-upload'; -import { PermissionsOnAllObjectRecords } from 'twenty-shared'; import { In, Repository } from 'typeorm'; +import { PermissionsOnAllObjectRecords } from 'twenty-shared/constants'; import { SupportDriver } from 'src/engine/core-modules/environment/interfaces/support.interface'; import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; diff --git a/packages/twenty-server/src/engine/core-modules/user/user.validate.ts b/packages/twenty-server/src/engine/core-modules/user/user.validate.ts index 9a0e40d9f..a8b52f252 100644 --- a/packages/twenty-server/src/engine/core-modules/user/user.validate.ts +++ b/packages/twenty-server/src/engine/core-modules/user/user.validate.ts @@ -1,4 +1,4 @@ -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { User } from 'src/engine/core-modules/user/user.entity'; import { diff --git a/packages/twenty-server/src/engine/core-modules/workflow/controllers/workflow-trigger.controller.ts b/packages/twenty-server/src/engine/core-modules/workflow/controllers/workflow-trigger.controller.ts index 522b37c35..24a6b0ed7 100644 --- a/packages/twenty-server/src/engine/core-modules/workflow/controllers/workflow-trigger.controller.ts +++ b/packages/twenty-server/src/engine/core-modules/workflow/controllers/workflow-trigger.controller.ts @@ -1,6 +1,6 @@ import { Controller, Get, Param, UseFilters } from '@nestjs/common'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { WorkflowTriggerWorkspaceService } from 'src/modules/workflow/workflow-trigger/workspace-services/workflow-trigger.workspace-service'; import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager'; diff --git a/packages/twenty-server/src/engine/core-modules/workspace-invitation/services/workspace-invitation.service.ts b/packages/twenty-server/src/engine/core-modules/workspace-invitation/services/workspace-invitation.service.ts index e4cc31634..3fde86813 100644 --- a/packages/twenty-server/src/engine/core-modules/workspace-invitation/services/workspace-invitation.service.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace-invitation/services/workspace-invitation.service.ts @@ -9,8 +9,8 @@ import { render } from '@react-email/render'; import { addMilliseconds } from 'date-fns'; import ms from 'ms'; import { SendInviteLinkEmail } from 'twenty-emails'; -import { APP_LOCALES } from 'twenty-shared'; import { IsNull, Repository } from 'typeorm'; +import { APP_LOCALES } from 'twenty-shared/translations'; import { AppToken, diff --git a/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts b/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts index 3d39bd686..84abedd86 100644 --- a/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts @@ -4,8 +4,9 @@ import { InjectRepository } from '@nestjs/typeorm'; import assert from 'assert'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; -import { isDefined, WorkspaceActivationStatus } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { BillingEntitlementKey } from 'src/engine/core-modules/billing/enums/billing-entitlement-key.enum'; import { BillingSubscriptionService } from 'src/engine/core-modules/billing/services/billing-subscription.service'; diff --git a/packages/twenty-server/src/engine/core-modules/workspace/utils/get-auth-providers-by-workspace.util.ts b/packages/twenty-server/src/engine/core-modules/workspace/utils/get-auth-providers-by-workspace.util.ts index 2f1dcd733..8a8bea664 100644 --- a/packages/twenty-server/src/engine/core-modules/workspace/utils/get-auth-providers-by-workspace.util.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/utils/get-auth-providers-by-workspace.util.ts @@ -1,4 +1,4 @@ -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { SSOIdentityProviderStatus } from 'src/engine/core-modules/sso/workspace-sso-identity-provider.entity'; import { AuthProviders } from 'src/engine/core-modules/workspace/dtos/public-workspace-data-output'; diff --git a/packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts b/packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts index 2fdf9d1ae..0b411d4b6 100644 --- a/packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts @@ -1,7 +1,6 @@ import { Field, ObjectType, registerEnumType } from '@nestjs/graphql'; import { IDField } from '@ptc-org/nestjs-query-graphql'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Column, CreateDateColumn, @@ -12,6 +11,7 @@ import { Relation, UpdateDateColumn, } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { UUIDScalarType } from 'src/engine/api/graphql/workspace-schema-builder/graphql-types/scalars'; import { AppToken } from 'src/engine/core-modules/app-token/app-token.entity'; diff --git a/packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts b/packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts index c5d3237b7..a3b8a0a11 100644 --- a/packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/workspace/workspace.resolver.ts @@ -12,8 +12,8 @@ import { InjectRepository } from '@nestjs/typeorm'; import assert from 'assert'; import { FileUpload, GraphQLUpload } from 'graphql-upload'; -import { isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { FileFolder } from 'src/engine/core-modules/file/interfaces/file-folder.interface'; diff --git a/packages/twenty-server/src/engine/guards/settings-permissions.guard.ts b/packages/twenty-server/src/engine/guards/settings-permissions.guard.ts index 7333c2601..53c117540 100644 --- a/packages/twenty-server/src/engine/guards/settings-permissions.guard.ts +++ b/packages/twenty-server/src/engine/guards/settings-permissions.guard.ts @@ -7,7 +7,7 @@ import { } from '@nestjs/common'; import { GqlExecutionContext } from '@nestjs/graphql'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum'; import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/actor.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/actor.composite-type.ts index 0944c7db6..09376fd5b 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/actor.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/actor.composite-type.ts @@ -1,5 +1,8 @@ -import { ConnectedAccountProvider, FieldMetadataType } from 'twenty-shared'; import { v4 } from 'uuid'; +import { + ConnectedAccountProvider, + FieldMetadataType, +} from 'twenty-shared/types'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/address.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/address.composite-type.ts index 3101877ef..067548a84 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/address.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/address.composite-type.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type.ts index a948529d5..dc23b5ffc 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/currency.composite-type.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/emails.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/emails.composite-type.ts index 919cf98d1..5180a0eca 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/emails.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/emails.composite-type.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type.ts index 2aca0513a..144abcec1 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts index aed105c3c..17bd892fa 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/links.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/links.composite-type.ts index aebd470b1..5d9924036 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/links.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/links.composite-type.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/phones.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/phones.composite-type.ts index 6802a2854..011fa4469 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/phones.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/phones.composite-type.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/rich-text-v2.composite-type.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/rich-text-v2.composite-type.ts index 0d7a98ced..03ea508f6 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/rich-text-v2.composite-type.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/rich-text-v2.composite-type.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'twenty-shared'; import { z } from 'zod'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CompositeType } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto.ts index 1e7b20961..978b2502f 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto.ts @@ -24,7 +24,7 @@ import { Validate, } from 'class-validator'; import { GraphQLJSON } from 'graphql-type-json'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata-validation.service.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata-validation.service.ts index 28f8ae9ef..0df92d220 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata-validation.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata-validation.service.ts @@ -9,7 +9,7 @@ import { Min, validateOrReject, } from 'class-validator'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataSettings } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts index d34f5e5f6..1bde69d8b 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts @@ -1,4 +1,3 @@ -import { FieldMetadataType } from 'twenty-shared'; import { Column, CreateDateColumn, @@ -13,6 +12,7 @@ import { Unique, UpdateDateColumn, } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts index 1d76f5cea..6ad3d2b0f 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.resolver.ts @@ -8,7 +8,7 @@ import { Resolver, } from '@nestjs/graphql'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum'; import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts index 8a6810b84..443f7a42b 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.service.ts @@ -4,9 +4,11 @@ import { InjectDataSource, InjectRepository } from '@nestjs/typeorm'; import { i18n } from '@lingui/core'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; import isEmpty from 'lodash.isempty'; -import { APP_LOCALES, FieldMetadataType, isDefined } from 'twenty-shared'; import { DataSource, FindOneOptions, In, Repository } from 'typeorm'; import { v4 as uuidV4, v4 } from 'uuid'; +import { APP_LOCALES } from 'twenty-shared/translations'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; import { TypeORMService } from 'src/database/typeorm/typeorm.service'; import { settings } from 'src/engine/constants/settings'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface.ts index d85b3751a..1dd5b04ea 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts index ae822c292..4d0717fe2 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType, IsExactly } from 'twenty-shared'; +import { FieldMetadataType, IsExactly } from 'twenty-shared/types'; import { FieldMetadataDefaultActor, diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface.ts index f5d871104..cdc4c3240 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType, IsExactly } from 'twenty-shared'; +import { FieldMetadataType, IsExactly } from 'twenty-shared/types'; import { FieldMetadataComplexOption, diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface.ts index 38db567f8..385f1d086 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType, IsExactly } from 'twenty-shared'; +import { FieldMetadataType, IsExactly } from 'twenty-shared/types'; import { RelationOnDeleteAction } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-on-delete-action.interface'; import { RelationType } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-type.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface.ts index e69f3ed77..e9d846706 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/compute-column-name.spec.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/compute-column-name.spec.ts index aaf9f62be..a78182c9b 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/compute-column-name.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/compute-column-name.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { computeCompositeColumnName } from 'src/engine/metadata-modules/field-metadata/utils/compute-column-name.util'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/field-metadata-validation.service.spec.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/field-metadata-validation.service.spec.ts index 6c37e8ee7..8b2820a20 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/field-metadata-validation.service.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/field-metadata-validation.service.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataSettings } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/generate-nullable.spec.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/generate-nullable.spec.ts index 7e383d0ae..154070175 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/generate-nullable.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/generate-nullable.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { generateNullable } from 'src/engine/metadata-modules/field-metadata/utils/generate-nullable'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts index 79dc8a2fb..fedc0a7e3 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/__tests__/validate-default-value-based-on-type.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { validateDefaultValueForType } from 'src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/compute-column-name.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/compute-column-name.util.ts index d9da214c8..68887959a 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/compute-column-name.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/compute-column-name.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { CompositeProperty } from 'src/engine/metadata-modules/field-metadata/interfaces/composite-type.interface'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts index a087c1a8f..5d9ab51d9 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-nullable.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-nullable.ts index 6d1e400be..fecae223c 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-nullable.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-nullable.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; export function generateNullable( type: FieldMetadataType, inputNullableValue?: boolean, diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts index 172751bb0..2f2d40d0c 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; export const isCompositeFieldMetadataType = ( type: FieldMetadataType, ): type is diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util.ts index 45c0b707c..2319a7f06 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-enum-field-metadata-type.util.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; export type EnumFieldMetadataUnionType = | FieldMetadataType.RATING | FieldMetadataType.SELECT diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-select-field-metadata-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-select-field-metadata-type.util.ts index 2c892f1f3..181e98b92 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-select-field-metadata-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-select-field-metadata-type.util.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; export const isSelectFieldMetadataType = ( type: FieldMetadataType, ): type is FieldMetadataType.SELECT => { diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts index c495836e8..ca4539c8a 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts @@ -1,6 +1,6 @@ import { plainToInstance } from 'class-transformer'; import { ValidationError, validateSync } from 'class-validator'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataClassValidation, diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-options-for-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-options-for-type.util.ts index d9e09b7db..3ae402fa2 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-options-for-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-options-for-type.util.ts @@ -1,6 +1,6 @@ import { plainToInstance } from 'class-transformer'; import { validateSync } from 'class-validator'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-default-value.validator.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-default-value.validator.ts index 254af3760..e26091d26 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-default-value.validator.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-default-value.validator.ts @@ -6,8 +6,8 @@ import { ValidatorConstraint, ValidatorConstraintInterface, } from 'class-validator'; -import { FieldMetadataType } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-options.validator.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-options.validator.ts index 866b96870..4cee6747a 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-options.validator.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/validators/is-field-metadata-options.validator.ts @@ -2,8 +2,8 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { ValidationArguments, ValidatorConstraint } from 'class-validator'; -import { FieldMetadataType } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/index-metadata/index-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/index-metadata/index-metadata.service.ts index 91a69e3e6..efcbf3292 100644 --- a/packages/twenty-server/src/engine/metadata-modules/index-metadata/index-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/index-metadata/index-metadata.service.ts @@ -3,7 +3,7 @@ import { InjectRepository } from '@nestjs/typeorm'; import isEmpty from 'lodash.isempty'; import { Repository } from 'typeorm'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts index 579145bbd..51f6e2d77 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/dtos/create-object.input.ts @@ -3,7 +3,7 @@ import { Field, HideField, InputType } from '@nestjs/graphql'; import { BeforeCreateOne } from '@ptc-org/nestjs-query-graphql'; import { IsBoolean, IsNotEmpty, IsOptional, IsString } from 'class-validator'; import GraphQLJSON from 'graphql-type-json'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataSettings } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts index 78fc4ea36..ba5468573 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/object-metadata.service.ts @@ -5,8 +5,8 @@ import { i18n } from '@lingui/core'; import { Query, QueryOptions } from '@ptc-org/nestjs-query-core'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; import { isDefined } from 'class-validator'; -import { APP_LOCALES } from 'twenty-shared'; import { FindManyOptions, FindOneOptions, In, Not, Repository } from 'typeorm'; +import { APP_LOCALES } from 'twenty-shared/translations'; import { ObjectMetadataStandardIdToIdMap } from 'src/engine/metadata-modules/object-metadata/interfaces/object-metadata-standard-id-to-id-map'; diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/services/object-metadata-migration.service.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/services/object-metadata-migration.service.ts index 53de846fa..1a5858df5 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/services/object-metadata-migration.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/services/object-metadata-migration.service.ts @@ -1,8 +1,8 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { FieldMetadataType } from 'twenty-shared'; import { In, Repository } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { computeColumnName } from 'src/engine/metadata-modules/field-metadata/utils/compute-column-name.util'; diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/services/object-metadata-relation.service.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/services/object-metadata-relation.service.ts index b7b896712..8e6e80801 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/services/object-metadata-relation.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/services/object-metadata-relation.service.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { capitalize, FieldMetadataType } from 'twenty-shared'; import { In, Repository } from 'typeorm'; +import { capitalize } from 'twenty-shared/utils'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataSettings } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/__tests__/validate-object-metadata-input.util.spec.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/__tests__/validate-object-metadata-input.util.spec.ts index bdd98dae7..a9bdf1b96 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/__tests__/validate-object-metadata-input.util.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/__tests__/validate-object-metadata-input.util.spec.ts @@ -1,5 +1,5 @@ -import { EachTestingContext } from 'twenty-shared'; import { getMockCreateObjectInput } from 'test/integration/utils/object-metadata/generate-mock-create-object-metadata-input'; +import { EachTestingContext } from 'twenty-shared/testing'; import { UpdateObjectPayload } from 'src/engine/metadata-modules/object-metadata/dtos/update-object.input'; import { validateObjectMetadataInputNamesOrThrow } from 'src/engine/metadata-modules/object-metadata/utils/validate-object-metadata-input.util'; diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-default-fields-for-custom-object.util.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-default-fields-for-custom-object.util.ts index d6edd1bde..bf5161854 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-default-fields-for-custom-object.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-default-fields-for-custom-object.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-description-for-relation-field-on-from-field.util.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-description-for-relation-field-on-from-field.util.ts index d4268dd42..4b8eff61f 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-description-for-relation-field-on-from-field.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-description-for-relation-field-on-from-field.util.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const buildDescriptionForRelationFieldMetadataOnFromField = ({ relationObjectMetadataNamePlural, targetObjectLabelSingular, diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-description-for-relation-field-on-to-field.util.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-description-for-relation-field-on-to-field.util.ts index 772471876..930b6d33c 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-description-for-relation-field-on-to-field.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/build-description-for-relation-field-on-to-field.util.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const buildDescriptionForRelationFieldMetadataOnToField = ({ relationObjectMetadataNamePlural, targetObjectLabelSingular, diff --git a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/validate-object-metadata-input.util.ts b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/validate-object-metadata-input.util.ts index c9d2ad4f4..eba464d06 100644 --- a/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/validate-object-metadata-input.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/object-metadata/utils/validate-object-metadata-input.util.ts @@ -1,4 +1,4 @@ -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { CreateObjectInput } from 'src/engine/metadata-modules/object-metadata/dtos/create-object.input'; import { UpdateObjectPayload } from 'src/engine/metadata-modules/object-metadata/dtos/update-object.input'; diff --git a/packages/twenty-server/src/engine/metadata-modules/permissions/permissions.service.ts b/packages/twenty-server/src/engine/metadata-modules/permissions/permissions.service.ts index 48602ec74..bb26c55cf 100644 --- a/packages/twenty-server/src/engine/metadata-modules/permissions/permissions.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/permissions/permissions.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { isDefined, PermissionsOnAllObjectRecords } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; +import { PermissionsOnAllObjectRecords } from 'twenty-shared/constants'; import { AuthException, diff --git a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts index 71d7c636e..e9b4cdd4e 100644 --- a/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/relation-metadata/relation-metadata.service.ts @@ -3,9 +3,10 @@ import { InjectRepository } from '@nestjs/typeorm'; import { TypeOrmQueryService } from '@ptc-org/nestjs-query-typeorm'; import camelCase from 'lodash.camelcase'; -import { FieldMetadataType, isDefined } from 'twenty-shared'; import { FindOneOptions, In, Repository } from 'typeorm'; import { v4 as uuidV4 } from 'uuid'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table-relations/remote-table-relations.service.ts b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table-relations/remote-table-relations.service.ts index 00eb54b3f..3cb66a798 100644 --- a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table-relations/remote-table-relations.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/remote-table-relations/remote-table-relations.service.ts @@ -1,8 +1,8 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { FieldMetadataType } from 'twenty-shared'; import { In, Repository } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataSettings } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/utils/udt-name-mapper.util.ts b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/utils/udt-name-mapper.util.ts index 1494c744d..ba320cba0 100644 --- a/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/utils/udt-name-mapper.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/remote-server/remote-table/utils/udt-name-mapper.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataSettings, diff --git a/packages/twenty-server/src/engine/metadata-modules/role/role.service.ts b/packages/twenty-server/src/engine/metadata-modules/role/role.service.ts index 81d16aa7c..a07a2036f 100644 --- a/packages/twenty-server/src/engine/metadata-modules/role/role.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/role/role.service.ts @@ -1,7 +1,7 @@ import { InjectRepository } from '@nestjs/typeorm'; -import { isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { ADMIN_ROLE_LABEL } from 'src/engine/metadata-modules/permissions/constants/admin-role-label.constants'; import { MEMBER_ROLE_LABEL } from 'src/engine/metadata-modules/permissions/constants/member-role-label.constants'; diff --git a/packages/twenty-server/src/engine/metadata-modules/search/search.service.ts b/packages/twenty-server/src/engine/metadata-modules/search/search.service.ts index a8711dd87..01639878f 100644 --- a/packages/twenty-server/src/engine/metadata-modules/search/search.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/search/search.service.ts @@ -1,8 +1,9 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { FieldMetadataType, isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.service.ts b/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.service.ts index 81dd5f074..9fa5d96a3 100644 --- a/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/serverless-function/serverless-function.service.ts @@ -5,7 +5,7 @@ import { basename, dirname, join } from 'path'; import deepEqual from 'deep-equal'; import { IsNull, Not, Repository } from 'typeorm'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { FileStorageExceptionCode } from 'src/engine/core-modules/file-storage/interfaces/file-storage-exception'; import { ServerlessExecuteResult } from 'src/engine/core-modules/serverless/drivers/interfaces/serverless-driver.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/user-role/user-role.service.ts b/packages/twenty-server/src/engine/metadata-modules/user-role/user-role.service.ts index 3ce4f3c82..6885760f3 100644 --- a/packages/twenty-server/src/engine/metadata-modules/user-role/user-role.service.ts +++ b/packages/twenty-server/src/engine/metadata-modules/user-role/user-role.service.ts @@ -1,7 +1,7 @@ import { InjectRepository } from '@nestjs/typeorm'; -import { isDefined } from 'twenty-shared'; import { In, Not, Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { UserWorkspace } from 'src/engine/core-modules/user-workspace/user-workspace.entity'; import { ADMIN_ROLE_LABEL } from 'src/engine/metadata-modules/permissions/constants/admin-role-label.constants'; diff --git a/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-field-name-availability.spec.ts b/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-field-name-availability.spec.ts index c30003e7f..95201e893 100644 --- a/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-field-name-availability.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-field-name-availability.spec.ts @@ -1,4 +1,4 @@ -import { EachTestingContext } from 'twenty-shared'; +import { EachTestingContext } from 'twenty-shared/testing'; import { FIELD_ACTOR_MOCK_NAME, diff --git a/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-metadata-name.spec.ts b/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-metadata-name.spec.ts index 51f36a78c..90423f2d1 100644 --- a/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-metadata-name.spec.ts +++ b/packages/twenty-server/src/engine/metadata-modules/utils/__tests__/validate-metadata-name.spec.ts @@ -1,4 +1,4 @@ -import { EachTestingContext } from 'twenty-shared'; +import { EachTestingContext } from 'twenty-shared/testing'; import { validateMetadataNameOrThrow } from 'src/engine/metadata-modules/utils/validate-metadata-name.utils'; diff --git a/packages/twenty-server/src/engine/metadata-modules/utils/compute-metadata-name-from-label.util.ts b/packages/twenty-server/src/engine/metadata-modules/utils/compute-metadata-name-from-label.util.ts index 11caa9df2..9b5f8133d 100644 --- a/packages/twenty-server/src/engine/metadata-modules/utils/compute-metadata-name-from-label.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/utils/compute-metadata-name-from-label.util.ts @@ -1,6 +1,6 @@ import camelCase from 'lodash.camelcase'; import { slugify } from 'transliteration'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { InvalidMetadataException } from 'src/engine/metadata-modules/utils/exceptions/invalid-metadata.exception'; diff --git a/packages/twenty-server/src/engine/metadata-modules/utils/is-arg-defined-if-provided-or-throw.util.ts b/packages/twenty-server/src/engine/metadata-modules/utils/is-arg-defined-if-provided-or-throw.util.ts index cde7e46d6..7ed7a639f 100644 --- a/packages/twenty-server/src/engine/metadata-modules/utils/is-arg-defined-if-provided-or-throw.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/utils/is-arg-defined-if-provided-or-throw.util.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; export const isArgDefinedIfProvidedOrThrow = ({ input, key, diff --git a/packages/twenty-server/src/engine/metadata-modules/utils/validate-name-and-label-are-sync-or-throw.util.ts b/packages/twenty-server/src/engine/metadata-modules/utils/validate-name-and-label-are-sync-or-throw.util.ts index d1c8e76ac..d619b4b6d 100644 --- a/packages/twenty-server/src/engine/metadata-modules/utils/validate-name-and-label-are-sync-or-throw.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/utils/validate-name-and-label-are-sync-or-throw.util.ts @@ -1,6 +1,6 @@ import camelCase from 'lodash.camelcase'; import { slugify } from 'transliteration'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { InvalidMetadataException } from 'src/engine/metadata-modules/utils/exceptions/invalid-metadata.exception'; diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/basic-column-action.factory.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/basic-column-action.factory.ts index 998191ec5..c18f4cf23 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/basic-column-action.factory.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/basic-column-action.factory.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { WorkspaceColumnActionOptions } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-options.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/column-action-abstract.factory.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/column-action-abstract.factory.ts index 176719650..4b2e401c9 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/column-action-abstract.factory.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/column-action-abstract.factory.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import { Logger } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { WorkspaceColumnActionFactory } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/composite-column-action.factory.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/composite-column-action.factory.ts index 830e62281..86901b17d 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/composite-column-action.factory.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/composite-column-action.factory.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/enum-column-action.factory.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/enum-column-action.factory.ts index 2d7e011f3..6b9f48a96 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/enum-column-action.factory.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/enum-column-action.factory.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { WorkspaceColumnActionOptions } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-options.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/ts-vector-column-action.factory.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/ts-vector-column-action.factory.ts index 8872e23d9..5a6de0fb5 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/ts-vector-column-action.factory.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/factories/ts-vector-column-action.factory.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface.ts index 66a738da5..a0cdb3312 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { WorkspaceColumnActionOptions } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-options.interface'; diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/field-metadata-type-to-column-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/field-metadata-type-to-column-type.util.ts index c9777c2f5..0c81a689c 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/field-metadata-type-to-column-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/field-metadata-type-to-column-type.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { isTextColumnType } from 'src/engine/metadata-modules/workspace-migration/utils/is-text-column-type.util'; import { diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/is-text-column-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/is-text-column-type.util.ts index 6dc0b0ef8..a5c0a51bc 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/is-text-column-type.util.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/utils/is-text-column-type.util.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; export const isTextColumnType = (type: FieldMetadataType) => { return ( type === FieldMetadataType.TEXT || diff --git a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.factory.ts b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.factory.ts index a231a029a..c55602075 100644 --- a/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.factory.ts +++ b/packages/twenty-server/src/engine/metadata-modules/workspace-migration/workspace-migration.factory.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { WorkspaceColumnActionFactory } from 'src/engine/metadata-modules/workspace-migration/interfaces/workspace-column-action-factory.interface'; diff --git a/packages/twenty-server/src/engine/middlewares/middleware.service.ts b/packages/twenty-server/src/engine/middlewares/middleware.service.ts index 71e5392d0..03a694ed4 100644 --- a/packages/twenty-server/src/engine/middlewares/middleware.service.ts +++ b/packages/twenty-server/src/engine/middlewares/middleware.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { Request, Response } from 'express'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { AuthExceptionCode } from 'src/engine/core-modules/auth/auth.exception'; import { AccessTokenService } from 'src/engine/core-modules/auth/token/services/access-token.service'; diff --git a/packages/twenty-server/src/engine/object-metadata-repository/object-metadata-repository.decorator.ts b/packages/twenty-server/src/engine/object-metadata-repository/object-metadata-repository.decorator.ts index c248a68c8..db5997ac8 100644 --- a/packages/twenty-server/src/engine/object-metadata-repository/object-metadata-repository.decorator.ts +++ b/packages/twenty-server/src/engine/object-metadata-repository/object-metadata-repository.decorator.ts @@ -1,6 +1,6 @@ import { Inject } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { convertClassNameToObjectMetadataName } from 'src/engine/workspace-manager/workspace-sync-metadata/utils/convert-class-to-object-metadata-name.util'; diff --git a/packages/twenty-server/src/engine/object-metadata-repository/object-metadata-repository.module.ts b/packages/twenty-server/src/engine/object-metadata-repository/object-metadata-repository.module.ts index b25e9194a..a3517c983 100644 --- a/packages/twenty-server/src/engine/object-metadata-repository/object-metadata-repository.module.ts +++ b/packages/twenty-server/src/engine/object-metadata-repository/object-metadata-repository.module.ts @@ -1,6 +1,6 @@ import { DynamicModule, Global, Module, Provider } from '@nestjs/common'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; import { metadataToRepositoryMapping } from 'src/engine/object-metadata-repository/metadata-to-repository.mapping'; import { WorkspaceDataSourceModule } from 'src/engine/workspace-datasource/workspace-datasource.module'; diff --git a/packages/twenty-server/src/engine/seeder/metadata-seeds/pets-metadata-seeds.ts b/packages/twenty-server/src/engine/seeder/metadata-seeds/pets-metadata-seeds.ts index 13728594d..7368a5681 100644 --- a/packages/twenty-server/src/engine/seeder/metadata-seeds/pets-metadata-seeds.ts +++ b/packages/twenty-server/src/engine/seeder/metadata-seeds/pets-metadata-seeds.ts @@ -1,6 +1,5 @@ import { ObjectMetadataSeed } from 'src/engine/seeder/interfaces/object-metadata-seed'; - -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; export const PETS_METADATA_SEEDS: ObjectMetadataSeed = { labelPlural: 'Pets', diff --git a/packages/twenty-server/src/engine/seeder/metadata-seeds/survey-results-metadata-seeds.ts b/packages/twenty-server/src/engine/seeder/metadata-seeds/survey-results-metadata-seeds.ts index cc71a66d2..a2ab62122 100644 --- a/packages/twenty-server/src/engine/seeder/metadata-seeds/survey-results-metadata-seeds.ts +++ b/packages/twenty-server/src/engine/seeder/metadata-seeds/survey-results-metadata-seeds.ts @@ -1,10 +1,7 @@ import { FieldMetadataDTO } from 'src/engine/metadata-modules/field-metadata/dtos/field-metadata.dto'; -import { - NumberDataType -} from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface'; +import { NumberDataType } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-settings.interface'; import { ObjectMetadataSeed } from 'src/engine/seeder/interfaces/object-metadata-seed'; - -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; export const SURVEY_RESULTS_METADATA_SEEDS: ObjectMetadataSeed = { labelPlural: 'Survey results', diff --git a/packages/twenty-server/src/engine/seeder/seeder.service.ts b/packages/twenty-server/src/engine/seeder/seeder.service.ts index 8a7e43fa0..0bef15d51 100644 --- a/packages/twenty-server/src/engine/seeder/seeder.service.ts +++ b/packages/twenty-server/src/engine/seeder/seeder.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { capitalize, FieldMetadataType, isDefined } from 'twenty-shared'; +import { capitalize, isDefined } from 'twenty-shared/utils'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ObjectMetadataSeed } from 'src/engine/seeder/interfaces/object-metadata-seed'; diff --git a/packages/twenty-server/src/engine/strategies/aggregate-by-workspace-context-id.strategy.ts b/packages/twenty-server/src/engine/strategies/aggregate-by-workspace-context-id.strategy.ts index 2a10a8a3f..29087d30a 100644 --- a/packages/twenty-server/src/engine/strategies/aggregate-by-workspace-context-id.strategy.ts +++ b/packages/twenty-server/src/engine/strategies/aggregate-by-workspace-context-id.strategy.ts @@ -7,7 +7,7 @@ import { import { Request } from 'express'; import { jwtDecode } from 'jwt-decode'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { JwtPayload } from 'src/engine/core-modules/auth/types/auth-context.type'; diff --git a/packages/twenty-server/src/engine/twenty-orm/base.workspace-entity.ts b/packages/twenty-server/src/engine/twenty-orm/base.workspace-entity.ts index 0b5d875e6..44093f671 100644 --- a/packages/twenty-server/src/engine/twenty-orm/base.workspace-entity.ts +++ b/packages/twenty-server/src/engine/twenty-orm/base.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceField } from 'src/engine/twenty-orm/decorators/workspace-field.decorator'; import { WorkspaceIsNullable } from 'src/engine/twenty-orm/decorators/workspace-is-nullable.decorator'; diff --git a/packages/twenty-server/src/engine/twenty-orm/custom.workspace-entity.ts b/packages/twenty-server/src/engine/twenty-orm/custom.workspace-entity.ts index 1d6c3e962..aff305b2d 100644 --- a/packages/twenty-server/src/engine/twenty-orm/custom.workspace-entity.ts +++ b/packages/twenty-server/src/engine/twenty-orm/custom.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { SEARCH_VECTOR_FIELD } from 'src/engine/metadata-modules/constants/search-vector-field.constants'; import { ActorMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/actor.composite-type'; diff --git a/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-field.decorator.ts b/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-field.decorator.ts index aafe1beda..1edab6cb5 100644 --- a/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-field.decorator.ts +++ b/packages/twenty-server/src/engine/twenty-orm/decorators/workspace-field.decorator.ts @@ -1,5 +1,5 @@ import { MessageDescriptor } from '@lingui/core'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; diff --git a/packages/twenty-server/src/engine/twenty-orm/factories/entity-schema-column.factory.ts b/packages/twenty-server/src/engine/twenty-orm/factories/entity-schema-column.factory.ts index 4d6839a37..4fac3daba 100644 --- a/packages/twenty-server/src/engine/twenty-orm/factories/entity-schema-column.factory.ts +++ b/packages/twenty-server/src/engine/twenty-orm/factories/entity-schema-column.factory.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { ColumnType, EntitySchemaColumnOptions } from 'typeorm'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/twenty-orm/interfaces/workspace-field-metadata-args.interface.ts b/packages/twenty-server/src/engine/twenty-orm/interfaces/workspace-field-metadata-args.interface.ts index 4d65fc557..3f460f14c 100644 --- a/packages/twenty-server/src/engine/twenty-orm/interfaces/workspace-field-metadata-args.interface.ts +++ b/packages/twenty-server/src/engine/twenty-orm/interfaces/workspace-field-metadata-args.interface.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; import { FieldMetadataOptions } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-options.interface'; diff --git a/packages/twenty-server/src/engine/twenty-orm/storage/cache-manager.storage.ts b/packages/twenty-server/src/engine/twenty-orm/storage/cache-manager.storage.ts index 13792d03b..d5d0bb405 100644 --- a/packages/twenty-server/src/engine/twenty-orm/storage/cache-manager.storage.ts +++ b/packages/twenty-server/src/engine/twenty-orm/storage/cache-manager.storage.ts @@ -1,4 +1,4 @@ -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { CacheKey } from 'src/engine/twenty-orm/storage/types/cache-key.type'; diff --git a/packages/twenty-server/src/engine/twenty-orm/utils/format-column-names-from-composite-field-and-subfield.util.ts b/packages/twenty-server/src/engine/twenty-orm/utils/format-column-names-from-composite-field-and-subfield.util.ts index 387449256..29ea51d45 100644 --- a/packages/twenty-server/src/engine/twenty-orm/utils/format-column-names-from-composite-field-and-subfield.util.ts +++ b/packages/twenty-server/src/engine/twenty-orm/utils/format-column-names-from-composite-field-and-subfield.util.ts @@ -1,5 +1,4 @@ -import { capitalize, isDefined } from 'twenty-shared'; - +import { capitalize, isDefined } from 'twenty-shared/utils'; export const formatColumnNamesFromCompositeFieldAndSubfields = ( fieldName: string, subFieldNames?: string[], diff --git a/packages/twenty-server/src/engine/twenty-orm/utils/format-data.util.ts b/packages/twenty-server/src/engine/twenty-orm/utils/format-data.util.ts index 66e1838d2..f44a43542 100644 --- a/packages/twenty-server/src/engine/twenty-orm/utils/format-data.util.ts +++ b/packages/twenty-server/src/engine/twenty-orm/utils/format-data.util.ts @@ -1,4 +1,5 @@ -import { capitalize, FieldMetadataType } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/twenty-orm/utils/format-result.util.ts b/packages/twenty-server/src/engine/twenty-orm/utils/format-result.util.ts index 4d1a371cb..cc5931ce7 100644 --- a/packages/twenty-server/src/engine/twenty-orm/utils/format-result.util.ts +++ b/packages/twenty-server/src/engine/twenty-orm/utils/format-result.util.ts @@ -2,7 +2,7 @@ import { isPlainObject } from '@nestjs/common/utils/shared.utils'; import { isNonEmptyString } from '@sniptt/guards'; import { isDefined } from 'class-validator'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/twenty-orm/utils/get-subfields-for-aggregate-operation.util.ts b/packages/twenty-server/src/engine/twenty-orm/utils/get-subfields-for-aggregate-operation.util.ts index 7ef7d0eff..ff2c33376 100644 --- a/packages/twenty-server/src/engine/twenty-orm/utils/get-subfields-for-aggregate-operation.util.ts +++ b/packages/twenty-server/src/engine/twenty-orm/utils/get-subfields-for-aggregate-operation.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util'; diff --git a/packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts b/packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts index a6a9ad177..b2753174a 100644 --- a/packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts +++ b/packages/twenty-server/src/engine/utils/__tests__/deduce-relation-direction.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { RelationMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/relation-metadata.interface'; diff --git a/packages/twenty-server/src/engine/utils/generate-fake-value.ts b/packages/twenty-server/src/engine/utils/generate-fake-value.ts index 93839ac61..f20e076d3 100644 --- a/packages/twenty-server/src/engine/utils/generate-fake-value.ts +++ b/packages/twenty-server/src/engine/utils/generate-fake-value.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; type FakeValueTypes = | string diff --git a/packages/twenty-server/src/engine/utils/is-field-metadata-of-type.util.ts b/packages/twenty-server/src/engine/utils/is-field-metadata-of-type.util.ts index 95da6241f..0869461ac 100644 --- a/packages/twenty-server/src/engine/utils/is-field-metadata-of-type.util.ts +++ b/packages/twenty-server/src/engine/utils/is-field-metadata-of-type.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; diff --git a/packages/twenty-server/src/engine/utils/is-relation-field-metadata-type.util.ts b/packages/twenty-server/src/engine/utils/is-relation-field-metadata-type.util.ts index f12bc852d..3a11cc72e 100644 --- a/packages/twenty-server/src/engine/utils/is-relation-field-metadata-type.util.ts +++ b/packages/twenty-server/src/engine/utils/is-relation-field-metadata-type.util.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; export const isRelationFieldMetadataType = ( type: FieldMetadataType, ): type is FieldMetadataType.RELATION => { diff --git a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/seed-workspace-member-with-demo-data.ts b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/seed-workspace-member-with-demo-data.ts index 75f0396b6..7ca69fa9d 100644 --- a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/seed-workspace-member-with-demo-data.ts +++ b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/seed-workspace-member-with-demo-data.ts @@ -1,7 +1,7 @@ import { EntityManager } from 'typeorm'; import { DEMO_SEED_USER_IDS } from 'src/database/typeorm-seeds/core/demo/users'; -import { SOURCE_LOCALE } from 'twenty-shared'; +import { SOURCE_LOCALE } from 'twenty-shared/translations'; export const DEMO_SEED_WORKSPACE_MEMBER_IDS = { NOAH: '20202020-0687-4c41-b707-ed1bfca972a2', diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/clean-suspended-workspaces.command.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/clean-suspended-workspaces.command.ts index d8c32fe22..0f1b6e83a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/clean-suspended-workspaces.command.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/commands/clean-suspended-workspaces.command.ts @@ -1,8 +1,8 @@ import { InjectRepository } from '@nestjs/typeorm'; import { Command, Option } from 'nest-commander'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { In, Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { MigrationCommandOptions, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/crons/clean-suspended-workspaces.job.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/crons/clean-suspended-workspaces.job.ts index 07d08f7f8..f19307771 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/crons/clean-suspended-workspaces.job.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/crons/clean-suspended-workspaces.job.ts @@ -1,7 +1,7 @@ import { InjectRepository } from '@nestjs/typeorm'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { SentryCronMonitor } from 'src/engine/core-modules/cron/sentry-cron-monitor.decorator'; import { Process } from 'src/engine/core-modules/message-queue/decorators/process.decorator'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/services/cleaner.workspace-service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/services/cleaner.workspace-service.ts index fab72f7f4..d8a8058de 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/services/cleaner.workspace-service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-cleaner/services/cleaner.workspace-service.ts @@ -9,8 +9,9 @@ import { CleanSuspendedWorkspaceEmail, WarnSuspendedWorkspaceEmail, } from 'twenty-emails'; -import { isDefined, WorkspaceActivationStatus } from 'twenty-shared'; import { In, Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { BillingSubscription } from 'src/engine/core-modules/billing/entities/billing-subscription.entity'; import { EmailService } from 'src/engine/core-modules/email/email.service'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts index 40cfab79a..8d9a29b06 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/database-structure.service.ts @@ -1,8 +1,8 @@ import { Injectable } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; import { ColumnType } from 'typeorm'; import { ColumnMetadata } from 'typeorm/metadata/ColumnMetadata'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataDefaultValue, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/field-metadata-health.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/field-metadata-health.service.ts index b309cde58..3c37ceb8a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/field-metadata-health.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-health/services/field-metadata-health.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataDefaultValue } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface'; import { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory.ts index 5f83d8b3e..f2564c68b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-field.factory.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import diff from 'microdiff'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-object.factory.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-object.factory.ts index 4afc2829e..a557d5f54 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-object.factory.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-migration-builder/factories/workspace-migration-object.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { WorkspaceMigrationBuilderAction } from 'src/engine/workspace-manager/workspace-migration-builder/interfaces/workspace-migration-builder-action.interface'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-field.comparator.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-field.comparator.ts index 2733fc4e8..f58871e93 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-field.comparator.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/comparators/workspace-field.comparator.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import diff from 'microdiff'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ComparatorAction, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-field.factory.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-field.factory.ts index 29de3fe17..66032006f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-field.factory.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/factories/standard-field.factory.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; import { WorkspaceDynamicRelationMetadataArgs } from 'src/engine/twenty-orm/interfaces/workspace-dynamic-relation-metadata-args.interface'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface.ts index fbcc48406..ec67535b0 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataInterface } from 'src/engine/metadata-modules/field-metadata/interfaces/field-metadata.interface'; import { WorkspaceDynamicRelationMetadataArgsFactory } from 'src/engine/twenty-orm/interfaces/workspace-dynamic-relation-metadata-args.interface'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts index 31f0f5e26..2fb5a9210 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-metadata-updater.service.ts @@ -1,6 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { capitalize, FieldMetadataType } from 'twenty-shared'; import { EntityManager, EntityTarget, @@ -11,6 +10,8 @@ import { } from 'typeorm'; import { DeepPartial } from 'typeorm/common/DeepPartial'; import { v4 as uuidV4 } from 'uuid'; +import { capitalize } from 'twenty-shared/utils'; +import { FieldMetadataType } from 'twenty-shared/types'; import { PartialFieldMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-field-metadata.interface'; import { PartialIndexMetadata } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/partial-index-metadata.interface'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata-identifiers.service.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata-identifiers.service.ts index 15052c36a..2649d7f4a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata-identifiers.service.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/services/workspace-sync-object-metadata-identifiers.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { FieldMetadataType } from 'twenty-shared'; import { EntityManager, Repository } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FeatureFlagMap } from 'src/engine/core-modules/feature-flag/interfaces/feature-flag-map.interface'; import { WorkspaceSyncContext } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/workspace-sync-context.interface'; diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/__tests__/get-ts-vectors-column-expression.utils.spec.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/__tests__/get-ts-vectors-column-expression.utils.spec.ts index 4b9bd0b67..60e8f58d3 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/__tests__/get-ts-vectors-column-expression.utils.spec.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/__tests__/get-ts-vectors-column-expression.utils.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldTypeAndNameMetadata, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/compute-standard-fields.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/compute-standard-fields.util.ts index e2aa820c4..ac3e3fff0 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/compute-standard-fields.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/compute-standard-fields.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ComputedPartialFieldMetadata, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/get-ts-vector-column-expression.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/get-ts-vector-column-expression.util.ts index 2c0eecf07..e7ff205ad 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/get-ts-vector-column-expression.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/get-ts-vector-column-expression.util.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { compositeTypeDefinitions } from 'src/engine/metadata-modules/field-metadata/composite-types'; import { diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/is-searchable-field.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/is-searchable-field.util.ts index a7d775190..24a11b1e0 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/is-searchable-field.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/is-searchable-field.util.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; const SEARCHABLE_FIELD_TYPES = [ FieldMetadataType.TEXT, FieldMetadataType.FULL_NAME, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/is-searchable-subfield.util.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/is-searchable-subfield.util.ts index e778788fd..5c2b57a6a 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/is-searchable-subfield.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/is-searchable-subfield.util.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; export const isSearchableSubfield = ( compositeFieldMetadataType: FieldMetadataType, subFieldMetadataType: FieldMetadataType, diff --git a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.spec.ts b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.spec.ts index 801ea2362..7011aaf2f 100644 --- a/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.spec.ts +++ b/packages/twenty-server/src/engine/workspace-manager/workspace-sync-metadata/utils/sync-metadata.util.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; diff --git a/packages/twenty-server/src/modules/api-key/standard-objects/api-key.workspace-entity.ts b/packages/twenty-server/src/modules/api-key/standard-objects/api-key.workspace-entity.ts index 1b0ac388f..39f911916 100644 --- a/packages/twenty-server/src/modules/api-key/standard-objects/api-key.workspace-entity.ts +++ b/packages/twenty-server/src/modules/api-key/standard-objects/api-key.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity'; import { WorkspaceEntity } from 'src/engine/twenty-orm/decorators/workspace-entity.decorator'; diff --git a/packages/twenty-server/src/modules/attachment/standard-objects/attachment.workspace-entity.ts b/packages/twenty-server/src/modules/attachment/standard-objects/attachment.workspace-entity.ts index 6c5577391..a64185693 100644 --- a/packages/twenty-server/src/modules/attachment/standard-objects/attachment.workspace-entity.ts +++ b/packages/twenty-server/src/modules/attachment/standard-objects/attachment.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/blocklist/standard-objects/blocklist.workspace-entity.ts b/packages/twenty-server/src/modules/blocklist/standard-objects/blocklist.workspace-entity.ts index 68bb6fe7d..68b89bce7 100644 --- a/packages/twenty-server/src/modules/blocklist/standard-objects/blocklist.workspace-entity.ts +++ b/packages/twenty-server/src/modules/blocklist/standard-objects/blocklist.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-event-list-fetch.cron.job.ts b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-event-list-fetch.cron.job.ts index 8d1a9b329..a00a970a1 100644 --- a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-event-list-fetch.cron.job.ts +++ b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-event-list-fetch.cron.job.ts @@ -1,7 +1,7 @@ import { InjectRepository } from '@nestjs/typeorm'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Any, Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { SentryCronMonitor } from 'src/engine/core-modules/cron/sentry-cron-monitor.decorator'; import { ExceptionHandlerService } from 'src/engine/core-modules/exception-handler/exception-handler.service'; diff --git a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-events-import.cron.job.ts b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-events-import.cron.job.ts index 5b2951af3..511da51c7 100644 --- a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-events-import.cron.job.ts +++ b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-events-import.cron.job.ts @@ -1,7 +1,7 @@ import { InjectRepository } from '@nestjs/typeorm'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Equal, Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { SentryCronMonitor } from 'src/engine/core-modules/cron/sentry-cron-monitor.decorator'; import { ExceptionHandlerService } from 'src/engine/core-modules/exception-handler/exception-handler.service'; @@ -15,6 +15,7 @@ import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global. import { CalendarEventListFetchJobData } from 'src/modules/calendar/calendar-event-import-manager/jobs/calendar-event-list-fetch.job'; import { CalendarEventsImportJob } from 'src/modules/calendar/calendar-event-import-manager/jobs/calendar-events-import.job'; import { CalendarChannelSyncStage } from 'src/modules/calendar/common/standard-objects/calendar-channel.workspace-entity'; + export const CALENDAR_EVENTS_IMPORT_CRON_PATTERN = '*/1 * * * *'; @Processor({ diff --git a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-ongoing-stale.cron.job.ts b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-ongoing-stale.cron.job.ts index 73361fd91..bc434c66e 100644 --- a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-ongoing-stale.cron.job.ts +++ b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/crons/jobs/calendar-ongoing-stale.cron.job.ts @@ -1,7 +1,7 @@ import { InjectRepository } from '@nestjs/typeorm'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { SentryCronMonitor } from 'src/engine/core-modules/cron/sentry-cron-monitor.decorator'; import { ExceptionHandlerService } from 'src/engine/core-modules/exception-handler/exception-handler.service'; @@ -15,6 +15,7 @@ import { CalendarOngoingStaleJob, CalendarOngoingStaleJobData, } from 'src/modules/calendar/calendar-event-import-manager/jobs/calendar-ongoing-stale.job'; + export const CALENDAR_ONGOING_STALE_CRON_PATTERN = '0 * * * *'; @Processor(MessageQueue.cronQueue) diff --git a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/services/calendar-get-events.service.ts b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/services/calendar-get-events.service.ts index e504d598e..550f47257 100644 --- a/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/services/calendar-get-events.service.ts +++ b/packages/twenty-server/src/modules/calendar/calendar-event-import-manager/services/calendar-get-events.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { ConnectedAccountProvider } from 'twenty-shared'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { GoogleCalendarGetEventsService } from 'src/modules/calendar/calendar-event-import-manager/drivers/google-calendar/services/google-calendar-get-events.service'; import { MicrosoftCalendarGetEventsService } from 'src/modules/calendar/calendar-event-import-manager/drivers/microsoft-calendar/services/microsoft-calendar-get-events.service'; diff --git a/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-channel-event-association.workspace-entity.ts b/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-channel-event-association.workspace-entity.ts index 5b3e0a301..d05fcf855 100644 --- a/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-channel-event-association.workspace-entity.ts +++ b/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-channel-event-association.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-channel.workspace-entity.ts b/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-channel.workspace-entity.ts index 6b2cde05f..ad06c4bcc 100644 --- a/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-channel.workspace-entity.ts +++ b/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-channel.workspace-entity.ts @@ -1,7 +1,7 @@ import { registerEnumType } from '@nestjs/graphql'; import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event-participant.workspace-entity.ts b/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event-participant.workspace-entity.ts index 57b7d60d2..b19f17a82 100644 --- a/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event-participant.workspace-entity.ts +++ b/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event-participant.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event.workspace-entity.ts b/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event.workspace-entity.ts index b642bc825..ba09d3bad 100644 --- a/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event.workspace-entity.ts +++ b/packages/twenty-server/src/modules/calendar/common/standard-objects/calendar-event.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/company/standard-objects/company.workspace-entity.ts b/packages/twenty-server/src/modules/company/standard-objects/company.workspace-entity.ts index c6a857434..f2ebcfe7d 100644 --- a/packages/twenty-server/src/modules/company/standard-objects/company.workspace-entity.ts +++ b/packages/twenty-server/src/modules/company/standard-objects/company.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/connected-account/email-alias-manager/services/email-alias-manager.service.spec.ts b/packages/twenty-server/src/modules/connected-account/email-alias-manager/services/email-alias-manager.service.spec.ts index e5a4452ef..fab805013 100644 --- a/packages/twenty-server/src/modules/connected-account/email-alias-manager/services/email-alias-manager.service.spec.ts +++ b/packages/twenty-server/src/modules/connected-account/email-alias-manager/services/email-alias-manager.service.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; -import { ConnectedAccountProvider } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager'; import { GoogleEmailAliasManagerService } from 'src/modules/connected-account/email-alias-manager/drivers/google/google-email-alias-manager.service'; diff --git a/packages/twenty-server/src/modules/connected-account/email-alias-manager/services/email-alias-manager.service.ts b/packages/twenty-server/src/modules/connected-account/email-alias-manager/services/email-alias-manager.service.ts index 979875c36..63745746c 100644 --- a/packages/twenty-server/src/modules/connected-account/email-alias-manager/services/email-alias-manager.service.ts +++ b/packages/twenty-server/src/modules/connected-account/email-alias-manager/services/email-alias-manager.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { assertUnreachable, ConnectedAccountProvider } from 'twenty-shared'; +import { assertUnreachable } from 'twenty-shared/utils'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager'; import { GoogleEmailAliasManagerService } from 'src/modules/connected-account/email-alias-manager/drivers/google/google-email-alias-manager.service'; diff --git a/packages/twenty-server/src/modules/connected-account/oauth2-client-manager/services/oauth2-client-manager.service.ts b/packages/twenty-server/src/modules/connected-account/oauth2-client-manager/services/oauth2-client-manager.service.ts index 942fdc436..fa90af8b0 100644 --- a/packages/twenty-server/src/modules/connected-account/oauth2-client-manager/services/oauth2-client-manager.service.ts +++ b/packages/twenty-server/src/modules/connected-account/oauth2-client-manager/services/oauth2-client-manager.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { OAuth2Client } from 'google-auth-library'; -import { ConnectedAccountProvider } from 'twenty-shared'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { GoogleOAuth2ClientManagerService } from 'src/modules/connected-account/oauth2-client-manager/drivers/google/google-oauth2-client-manager.service'; import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; diff --git a/packages/twenty-server/src/modules/connected-account/refresh-tokens-manager/services/connected-account-refresh-tokens.service.ts b/packages/twenty-server/src/modules/connected-account/refresh-tokens-manager/services/connected-account-refresh-tokens.service.ts index 128d09fc5..7f46dd71c 100644 --- a/packages/twenty-server/src/modules/connected-account/refresh-tokens-manager/services/connected-account-refresh-tokens.service.ts +++ b/packages/twenty-server/src/modules/connected-account/refresh-tokens-manager/services/connected-account-refresh-tokens.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@nestjs/common'; -import { assertUnreachable, ConnectedAccountProvider } from 'twenty-shared'; +import { assertUnreachable } from 'twenty-shared/utils'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager'; import { diff --git a/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.workspace-entity.ts b/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.workspace-entity.ts index c103ad176..47443a434 100644 --- a/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.workspace-entity.ts +++ b/packages/twenty-server/src/modules/connected-account/standard-objects/connected-account.workspace-entity.ts @@ -1,5 +1,8 @@ import { msg } from '@lingui/core/macro'; -import { ConnectedAccountProvider, FieldMetadataType } from 'twenty-shared'; +import { + ConnectedAccountProvider, + FieldMetadataType, +} from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/contact-creation-manager/services/create-company.service.ts b/packages/twenty-server/src/modules/contact-creation-manager/services/create-company.service.ts index 1c5503808..4503ae3e8 100644 --- a/packages/twenty-server/src/modules/contact-creation-manager/services/create-company.service.ts +++ b/packages/twenty-server/src/modules/contact-creation-manager/services/create-company.service.ts @@ -2,11 +2,9 @@ import { Injectable } from '@nestjs/common'; import axios, { AxiosInstance } from 'axios'; import uniqBy from 'lodash.uniqby'; -import { - ConnectedAccountProvider, - TWENTY_COMPANIES_BASE_URL, -} from 'twenty-shared'; import { DeepPartial, EntityManager, ILike } from 'typeorm'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; +import { TWENTY_COMPANIES_BASE_URL } from 'twenty-shared/constants'; import { FieldActorSource } from 'src/engine/metadata-modules/field-metadata/composite-types/actor.composite-type'; import { WorkspaceRepository } from 'src/engine/twenty-orm/repository/workspace.repository'; diff --git a/packages/twenty-server/src/modules/contact-creation-manager/services/create-contact.service.ts b/packages/twenty-server/src/modules/contact-creation-manager/services/create-contact.service.ts index 91e3e11ec..3258b8aca 100644 --- a/packages/twenty-server/src/modules/contact-creation-manager/services/create-contact.service.ts +++ b/packages/twenty-server/src/modules/contact-creation-manager/services/create-contact.service.ts @@ -1,8 +1,8 @@ import { Injectable } from '@nestjs/common'; -import { ConnectedAccountProvider } from 'twenty-shared'; import { DeepPartial, EntityManager } from 'typeorm'; import { v4 } from 'uuid'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { FieldActorSource } from 'src/engine/metadata-modules/field-metadata/composite-types/actor.composite-type'; import { WorkspaceRepository } from 'src/engine/twenty-orm/repository/workspace.repository'; diff --git a/packages/twenty-server/src/modules/contact-creation-manager/utils/get-company-name-from-domain-name.util.ts b/packages/twenty-server/src/modules/contact-creation-manager/utils/get-company-name-from-domain-name.util.ts index 619f6396b..e7cb3c741 100644 --- a/packages/twenty-server/src/modules/contact-creation-manager/utils/get-company-name-from-domain-name.util.ts +++ b/packages/twenty-server/src/modules/contact-creation-manager/utils/get-company-name-from-domain-name.util.ts @@ -1,5 +1,5 @@ import psl from 'psl'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const getCompanyNameFromDomainName = (domainName: string) => { const { sld } = psl.parse(domainName); diff --git a/packages/twenty-server/src/modules/contact-creation-manager/utils/get-first-name-and-last-name-from-handle-and-display-name.util.ts b/packages/twenty-server/src/modules/contact-creation-manager/utils/get-first-name-and-last-name-from-handle-and-display-name.util.ts index 849953090..a9afc777a 100644 --- a/packages/twenty-server/src/modules/contact-creation-manager/utils/get-first-name-and-last-name-from-handle-and-display-name.util.ts +++ b/packages/twenty-server/src/modules/contact-creation-manager/utils/get-first-name-and-last-name-from-handle-and-display-name.util.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export function getFirstNameAndLastNameFromHandleAndDisplayName( handle: string, displayName: string, diff --git a/packages/twenty-server/src/modules/favorite-folder/standard-objects/favorite-folder.workspace-entity.ts b/packages/twenty-server/src/modules/favorite-folder/standard-objects/favorite-folder.workspace-entity.ts index 170c6fcee..fbd689d4b 100644 --- a/packages/twenty-server/src/modules/favorite-folder/standard-objects/favorite-folder.workspace-entity.ts +++ b/packages/twenty-server/src/modules/favorite-folder/standard-objects/favorite-folder.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/favorite/services/favorite-deletion.service.ts b/packages/twenty-server/src/modules/favorite/services/favorite-deletion.service.ts index d3f02484c..905a1787f 100644 --- a/packages/twenty-server/src/modules/favorite/services/favorite-deletion.service.ts +++ b/packages/twenty-server/src/modules/favorite/services/favorite-deletion.service.ts @@ -1,8 +1,8 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { FieldMetadataType } from 'twenty-shared'; import { In, Repository } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; diff --git a/packages/twenty-server/src/modules/favorite/standard-objects/favorite.workspace-entity.ts b/packages/twenty-server/src/modules/favorite/standard-objects/favorite.workspace-entity.ts index ec31cc4ae..bd4f2dbea 100644 --- a/packages/twenty-server/src/modules/favorite/standard-objects/favorite.workspace-entity.ts +++ b/packages/twenty-server/src/modules/favorite/standard-objects/favorite.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/messaging/common/standard-objects/message-channel-message-association.workspace-entity.ts b/packages/twenty-server/src/modules/messaging/common/standard-objects/message-channel-message-association.workspace-entity.ts index 3cd1e411e..daaa70a0c 100644 --- a/packages/twenty-server/src/modules/messaging/common/standard-objects/message-channel-message-association.workspace-entity.ts +++ b/packages/twenty-server/src/modules/messaging/common/standard-objects/message-channel-message-association.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/messaging/common/standard-objects/message-channel.workspace-entity.ts b/packages/twenty-server/src/modules/messaging/common/standard-objects/message-channel.workspace-entity.ts index 2acaae970..bdd23c688 100644 --- a/packages/twenty-server/src/modules/messaging/common/standard-objects/message-channel.workspace-entity.ts +++ b/packages/twenty-server/src/modules/messaging/common/standard-objects/message-channel.workspace-entity.ts @@ -1,7 +1,7 @@ import { registerEnumType } from '@nestjs/graphql'; import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/messaging/common/standard-objects/message-folder.workspace-entity.ts b/packages/twenty-server/src/modules/messaging/common/standard-objects/message-folder.workspace-entity.ts index efb9cb345..9ab5cd5d5 100644 --- a/packages/twenty-server/src/modules/messaging/common/standard-objects/message-folder.workspace-entity.ts +++ b/packages/twenty-server/src/modules/messaging/common/standard-objects/message-folder.workspace-entity.ts @@ -1,6 +1,6 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; import { Relation } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity'; diff --git a/packages/twenty-server/src/modules/messaging/common/standard-objects/message-participant.workspace-entity.ts b/packages/twenty-server/src/modules/messaging/common/standard-objects/message-participant.workspace-entity.ts index 61b460777..9a7ab12bf 100644 --- a/packages/twenty-server/src/modules/messaging/common/standard-objects/message-participant.workspace-entity.ts +++ b/packages/twenty-server/src/modules/messaging/common/standard-objects/message-participant.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/messaging/common/standard-objects/message.workspace-entity.ts b/packages/twenty-server/src/modules/messaging/common/standard-objects/message.workspace-entity.ts index 3a8235cb5..4aa4967de 100644 --- a/packages/twenty-server/src/modules/messaging/common/standard-objects/message.workspace-entity.ts +++ b/packages/twenty-server/src/modules/messaging/common/standard-objects/message.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-message-list-fetch.cron.job.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-message-list-fetch.cron.job.ts index 390464798..22a9d3579 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-message-list-fetch.cron.job.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-message-list-fetch.cron.job.ts @@ -1,7 +1,7 @@ import { InjectRepository } from '@nestjs/typeorm'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { In, Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { SentryCronMonitor } from 'src/engine/core-modules/cron/sentry-cron-monitor.decorator'; import { ExceptionHandlerService } from 'src/engine/core-modules/exception-handler/exception-handler.service'; @@ -20,6 +20,7 @@ import { MessagingMessageListFetchJob, MessagingMessageListFetchJobData, } from 'src/modules/messaging/message-import-manager/jobs/messaging-message-list-fetch.job'; + export const MESSAGING_MESSAGE_LIST_FETCH_CRON_PATTERN = '*/5 * * * *'; @Processor(MessageQueue.cronQueue) diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-messages-import.cron.job.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-messages-import.cron.job.ts index d77a3e1df..67dc48fcb 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-messages-import.cron.job.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-messages-import.cron.job.ts @@ -1,7 +1,7 @@ import { InjectRepository } from '@nestjs/typeorm'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { SentryCronMonitor } from 'src/engine/core-modules/cron/sentry-cron-monitor.decorator'; import { ExceptionHandlerService } from 'src/engine/core-modules/exception-handler/exception-handler.service'; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-ongoing-stale.cron.job.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-ongoing-stale.cron.job.ts index a6b3e0565..25f8502d9 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-ongoing-stale.cron.job.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/crons/jobs/messaging-ongoing-stale.cron.job.ts @@ -1,7 +1,7 @@ import { InjectRepository } from '@nestjs/typeorm'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { SentryCronMonitor } from 'src/engine/core-modules/cron/sentry-cron-monitor.decorator'; import { ExceptionHandlerService } from 'src/engine/core-modules/exception-handler/exception-handler.service'; @@ -15,6 +15,7 @@ import { MessagingOngoingStaleJob, MessagingOngoingStaleJobData, } from 'src/modules/messaging/message-import-manager/jobs/messaging-ongoing-stale.job'; + export const MESSAGING_ONGOING_STALE_CRON_PATTERN = '0 * * * *'; @Processor(MessageQueue.cronQueue) diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-get-message-list.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-get-message-list.service.ts index 73cf16736..76500c0e9 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-get-message-list.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-get-message-list.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common'; import { gmail_v1 as gmailV1 } from 'googleapis'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; import { diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-get-messages.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-get-messages.service.ts index 34fe3f1e1..930c496ec 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-get-messages.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-get-messages.service.ts @@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { AxiosResponse } from 'axios'; import { gmail_v1 as gmailV1 } from 'googleapis'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; import { GmailFetchByBatchService } from 'src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-fetch-by-batch.service'; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-message-list.service.dev.spec.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-message-list.service.dev.spec.ts index e78ffb518..f95d9947a 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-message-list.service.dev.spec.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-message-list.service.dev.spec.ts @@ -1,7 +1,7 @@ import { ConfigService } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; -import { ConnectedAccountProvider } from 'twenty-shared'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { EnvironmentModule } from 'src/engine/core-modules/environment/environment.module'; import { MicrosoftOAuth2ClientManagerService } from 'src/modules/connected-account/oauth2-client-manager/drivers/microsoft/microsoft-oauth2-client-manager.service'; @@ -13,6 +13,7 @@ import { MessageFolderName } from 'src/modules/messaging/message-import-manager/ import { MicrosoftGetMessageListService } from './microsoft-get-message-list.service'; import { MicrosoftHandleErrorService } from './microsoft-handle-error.service'; + // in case you have "Please provide a valid token" it may be because you need to pass the env varible to the .env.test file const refreshToken = 'replace-with-your-refresh-token'; const syncCursor = `replace-with-your-sync-cursor`; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.dev.spec.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.dev.spec.ts index 801c5cde4..28b0a8cd0 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.dev.spec.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.dev.spec.ts @@ -1,7 +1,7 @@ import { ConfigService } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; -import { ConnectedAccountProvider } from 'twenty-shared'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { EnvironmentModule } from 'src/engine/core-modules/environment/environment.module'; import { MicrosoftOAuth2ClientManagerService } from 'src/modules/connected-account/oauth2-client-manager/drivers/microsoft/microsoft-oauth2-client-manager.service'; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.spec.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.spec.ts index a2a38e502..a7c9774ad 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.spec.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.spec.ts @@ -1,7 +1,7 @@ import { ConfigService } from '@nestjs/config'; import { Test, TestingModule } from '@nestjs/testing'; -import { ConnectedAccountProvider } from 'twenty-shared'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { EnvironmentModule } from 'src/engine/core-modules/environment/environment.module'; import { MicrosoftOAuth2ClientManagerService } from 'src/modules/connected-account/oauth2-client-manager/drivers/microsoft/microsoft-oauth2-client-manager.service'; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.ts index 3bb7c301d..f13796f48 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/microsoft/services/microsoft-get-messages.service.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; import { computeMessageDirection } from 'src/modules/messaging/message-import-manager/drivers/gmail/utils/compute-message-direction.util'; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-cursor.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-cursor.service.ts index 3f65f365c..286a2add9 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-cursor.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-cursor.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { ConnectedAccountProvider } from 'twenty-shared'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager'; import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-get-message-list.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-get-message-list.service.ts index 9a3b0a9e6..3dc496830 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-get-message-list.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-get-message-list.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { ConnectedAccountProvider } from 'twenty-shared'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { TwentyORMManager } from 'src/engine/twenty-orm/twenty-orm.manager'; import { MessageChannelWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity'; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-get-messages.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-get-messages.service.ts index a2a207b0a..e414ce162 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-get-messages.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-get-messages.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { ConnectedAccountProvider } from 'twenty-shared'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; import { GmailGetMessagesService } from 'src/modules/messaging/message-import-manager/drivers/gmail/services/gmail-get-messages.service'; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-send-message.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-send-message.service.ts index 87f66ec0a..283ffdeee 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-send-message.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-send-message.service.ts @@ -1,7 +1,8 @@ import { Injectable } from '@nestjs/common'; -import { assertUnreachable, ConnectedAccountProvider } from 'twenty-shared'; import { z } from 'zod'; +import { assertUnreachable } from 'twenty-shared/utils'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; import { GmailClientProvider } from 'src/modules/messaging/message-import-manager/drivers/gmail/providers/gmail-client.provider'; diff --git a/packages/twenty-server/src/modules/messaging/message-participant-manager/listeners/message-participant-workspace-member.listener.ts b/packages/twenty-server/src/modules/messaging/message-participant-manager/listeners/message-participant-workspace-member.listener.ts index 913ec59c4..5cb969a3d 100644 --- a/packages/twenty-server/src/modules/messaging/message-participant-manager/listeners/message-participant-workspace-member.listener.ts +++ b/packages/twenty-server/src/modules/messaging/message-participant-manager/listeners/message-participant-workspace-member.listener.ts @@ -1,8 +1,8 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { OnDatabaseBatchEvent } from 'src/engine/api/graphql/graphql-query-runner/decorators/on-database-batch-event.decorator'; import { DatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/enums/database-event-action'; @@ -23,6 +23,7 @@ import { MessageParticipantUnmatchParticipantJobData, } from 'src/modules/messaging/message-participant-manager/jobs/message-participant-unmatch-participant.job'; import { WorkspaceMemberWorkspaceEntity } from 'src/modules/workspace-member/standard-objects/workspace-member.workspace-entity'; + @Injectable() export class MessageParticipantWorkspaceMemberListener { constructor( diff --git a/packages/twenty-server/src/modules/messaging/monitoring/crons/jobs/messaging-message-channel-sync-status-monitoring.cron.job.ts b/packages/twenty-server/src/modules/messaging/monitoring/crons/jobs/messaging-message-channel-sync-status-monitoring.cron.job.ts index a4654f14d..d9cc44245 100644 --- a/packages/twenty-server/src/modules/messaging/monitoring/crons/jobs/messaging-message-channel-sync-status-monitoring.cron.job.ts +++ b/packages/twenty-server/src/modules/messaging/monitoring/crons/jobs/messaging-message-channel-sync-status-monitoring.cron.job.ts @@ -2,8 +2,8 @@ import { Logger } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import snakeCase from 'lodash.snakecase'; -import { WorkspaceActivationStatus } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { WorkspaceActivationStatus } from 'twenty-shared/workspace'; import { SentryCronMonitor } from 'src/engine/core-modules/cron/sentry-cron-monitor.decorator'; import { ExceptionHandlerService } from 'src/engine/core-modules/exception-handler/exception-handler.service'; diff --git a/packages/twenty-server/src/modules/note/standard-objects/note.workspace-entity.ts b/packages/twenty-server/src/modules/note/standard-objects/note.workspace-entity.ts index b38ec33aa..83cfcb285 100644 --- a/packages/twenty-server/src/modules/note/standard-objects/note.workspace-entity.ts +++ b/packages/twenty-server/src/modules/note/standard-objects/note.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.workspace-entity.ts b/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.workspace-entity.ts index b827f38fc..32623b9a0 100644 --- a/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.workspace-entity.ts +++ b/packages/twenty-server/src/modules/opportunity/standard-objects/opportunity.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/person/standard-objects/person.workspace-entity.ts b/packages/twenty-server/src/modules/person/standard-objects/person.workspace-entity.ts index f937c8fd0..74778bc1d 100644 --- a/packages/twenty-server/src/modules/person/standard-objects/person.workspace-entity.ts +++ b/packages/twenty-server/src/modules/person/standard-objects/person.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/task/standard-objects/task.workspace-entity.ts b/packages/twenty-server/src/modules/task/standard-objects/task.workspace-entity.ts index 83ab32f26..f48c8e636 100644 --- a/packages/twenty-server/src/modules/task/standard-objects/task.workspace-entity.ts +++ b/packages/twenty-server/src/modules/task/standard-objects/task.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/timeline/standard-objects/audit-log.workspace-entity.ts b/packages/twenty-server/src/modules/timeline/standard-objects/audit-log.workspace-entity.ts index ed6bc5e4e..ead1b6358 100644 --- a/packages/twenty-server/src/modules/timeline/standard-objects/audit-log.workspace-entity.ts +++ b/packages/twenty-server/src/modules/timeline/standard-objects/audit-log.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/timeline/standard-objects/behavioral-event.workspace-entity.ts b/packages/twenty-server/src/modules/timeline/standard-objects/behavioral-event.workspace-entity.ts index 17be89246..b25e52862 100644 --- a/packages/twenty-server/src/modules/timeline/standard-objects/behavioral-event.workspace-entity.ts +++ b/packages/twenty-server/src/modules/timeline/standard-objects/behavioral-event.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum'; import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity'; diff --git a/packages/twenty-server/src/modules/timeline/standard-objects/timeline-activity.workspace-entity.ts b/packages/twenty-server/src/modules/timeline/standard-objects/timeline-activity.workspace-entity.ts index 1fa00c912..38f288c7d 100644 --- a/packages/twenty-server/src/modules/timeline/standard-objects/timeline-activity.workspace-entity.ts +++ b/packages/twenty-server/src/modules/timeline/standard-objects/timeline-activity.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/view/standard-objects/view-field.workspace-entity.ts b/packages/twenty-server/src/modules/view/standard-objects/view-field.workspace-entity.ts index e41d777a7..7f7f08f51 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view-field.workspace-entity.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-field.workspace-entity.ts @@ -1,8 +1,8 @@ import { registerEnumType } from '@nestjs/graphql'; import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; import { Relation } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { AGGREGATE_OPERATIONS } from 'src/engine/api/graphql/graphql-query-runner/constants/aggregate-operations.constant'; import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; diff --git a/packages/twenty-server/src/modules/view/standard-objects/view-filter-group.workspace-entity.ts b/packages/twenty-server/src/modules/view/standard-objects/view-filter-group.workspace-entity.ts index c844a6f17..f94f1b7b4 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view-filter-group.workspace-entity.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-filter-group.workspace-entity.ts @@ -1,6 +1,6 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; import { Relation } from 'typeorm'; +import { FieldMetadataType } from 'twenty-shared/types'; import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity'; diff --git a/packages/twenty-server/src/modules/view/standard-objects/view-filter.workspace-entity.ts b/packages/twenty-server/src/modules/view/standard-objects/view-filter.workspace-entity.ts index 9543b41d4..506ab0ef7 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view-filter.workspace-entity.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-filter.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/view/standard-objects/view-group.workspace-entity.ts b/packages/twenty-server/src/modules/view/standard-objects/view-group.workspace-entity.ts index 32c276b6b..b2054bb4b 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view-group.workspace-entity.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-group.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity'; diff --git a/packages/twenty-server/src/modules/view/standard-objects/view-sort.workspace-entity.ts b/packages/twenty-server/src/modules/view/standard-objects/view-sort.workspace-entity.ts index a8b58b7c5..aab984d18 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view-sort.workspace-entity.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view-sort.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/view/standard-objects/view.workspace-entity.ts b/packages/twenty-server/src/modules/view/standard-objects/view.workspace-entity.ts index 15a41e3e4..32f086841 100644 --- a/packages/twenty-server/src/modules/view/standard-objects/view.workspace-entity.ts +++ b/packages/twenty-server/src/modules/view/standard-objects/view.workspace-entity.ts @@ -1,7 +1,7 @@ import { registerEnumType } from '@nestjs/graphql'; import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/webhook/standard-objects/webhook.workspace-entity.ts b/packages/twenty-server/src/modules/webhook/standard-objects/webhook.workspace-entity.ts index b3cb7b624..498130eda 100644 --- a/packages/twenty-server/src/modules/webhook/standard-objects/webhook.workspace-entity.ts +++ b/packages/twenty-server/src/modules/webhook/standard-objects/webhook.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { BaseWorkspaceEntity } from 'src/engine/twenty-orm/base.workspace-entity'; import { WorkspaceEntity } from 'src/engine/twenty-orm/decorators/workspace-entity.decorator'; diff --git a/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-event-listener.workspace-entity.ts b/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-event-listener.workspace-entity.ts index 17b2e421c..2f25cc10c 100644 --- a/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-event-listener.workspace-entity.ts +++ b/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-event-listener.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-run.workspace-entity.ts b/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-run.workspace-entity.ts index f26455819..c628fe60b 100644 --- a/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-run.workspace-entity.ts +++ b/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-run.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-version.workspace-entity.ts b/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-version.workspace-entity.ts index 4da687041..f58c2af95 100644 --- a/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-version.workspace-entity.ts +++ b/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow-version.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow.workspace-entity.ts b/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow.workspace-entity.ts index 7e7f2caf4..7fd97d169 100644 --- a/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow.workspace-entity.ts +++ b/packages/twenty-server/src/modules/workflow/common/standard-objects/workflow.workspace-entity.ts @@ -1,5 +1,5 @@ import { msg } from '@lingui/core/macro'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/types/input-schema.type.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/types/input-schema.type.ts index 26d54a485..03948302f 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/types/input-schema.type.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/types/input-schema.type.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; export type InputSchemaPropertyType = | 'string' | 'number' diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/__tests__/generate-fake-field.spec.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/__tests__/generate-fake-field.spec.ts index b13369ed6..c8ca09615 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/__tests__/generate-fake-field.spec.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/__tests__/generate-fake-field.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import * as generateFakeValueModule from 'src/engine/utils/generate-fake-value'; import { generateFakeField } from 'src/modules/workflow/workflow-builder/workflow-schema/utils/generate-fake-field'; @@ -7,7 +7,7 @@ import * as camelToTitleCaseModule from 'src/utils/camel-to-title-case'; jest.mock('src/engine/utils/generate-fake-value'); jest.mock('src/utils/camel-to-title-case'); jest.mock('src/engine/metadata-modules/field-metadata/composite-types', () => { - const actualTypes = jest.requireActual('twenty-shared'); + const actualTypes = jest.requireActual('twenty-shared/types'); const { FieldMetadataType } = actualTypes; const compositeTypeDefinitions = new Map(); diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/__tests__/generate-fake-form-response.spec.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/__tests__/generate-fake-form-response.spec.ts index 9580d0751..c427aec74 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/__tests__/generate-fake-form-response.spec.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/__tests__/generate-fake-form-response.spec.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { generateFakeFormResponse } from 'src/modules/workflow/workflow-builder/workflow-schema/utils/generate-fake-form-response'; diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/generate-fake-field.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/generate-fake-field.ts index f9fdb59d3..cc10f6791 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/generate-fake-field.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/generate-fake-field.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { compositeTypeDefinitions } from 'src/engine/metadata-modules/field-metadata/composite-types'; import { generateFakeValue } from 'src/engine/utils/generate-fake-value'; diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/should-generate-field-fake-value.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/should-generate-field-fake-value.ts index fe36a9f36..c1b678db3 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/should-generate-field-fake-value.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/utils/should-generate-field-fake-value.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { FieldMetadataEntity } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity'; diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/workflow-schema.workspace-service.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/workflow-schema.workspace-service.ts index d77a4951f..7f8337d04 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/workflow-schema.workspace-service.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-schema/workflow-schema.workspace-service.ts @@ -1,8 +1,8 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { DatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/enums/database-event-action'; import { checkStringIsDatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/utils/check-string-is-database-event-action'; diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-step/workflow-version-step.workspace-service.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-step/workflow-version-step.workspace-service.ts index f91d5391f..102b68224 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-step/workflow-version-step.workspace-service.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-step/workflow-version-step.workspace-service.ts @@ -1,9 +1,10 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { FieldMetadataType, isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; import { v4 } from 'uuid'; +import { FieldMetadataType } from 'twenty-shared/types'; +import { isDefined } from 'twenty-shared/utils'; import { BASE_TYPESCRIPT_PROJECT_INPUT_SCHEMA } from 'src/engine/core-modules/serverless/drivers/constants/base-typescript-project-input-schema'; import { WorkflowActionDTO } from 'src/engine/core-modules/workflow/dtos/workflow-step.dto'; diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version/workflow-version.workspace-service.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version/workflow-version.workspace-service.ts index 0e773d480..52199dcd1 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version/workflow-version.workspace-service.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version/workflow-version.workspace-service.ts @@ -1,8 +1,8 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; -import { isDefined } from 'twenty-shared'; import { Repository } from 'typeorm'; +import { isDefined } from 'twenty-shared/utils'; import { DatabaseEventAction } from 'src/engine/api/graphql/graphql-query-runner/enums/database-event-action'; import { ObjectMetadataEntity } from 'src/engine/metadata-modules/object-metadata/object-metadata.entity'; diff --git a/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/form/types/workflow-form-action-settings.type.ts b/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/form/types/workflow-form-action-settings.type.ts index 446f98ef9..bfaba15f0 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/form/types/workflow-form-action-settings.type.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/form/types/workflow-form-action-settings.type.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { BaseWorkflowActionSettings } from 'src/modules/workflow/workflow-executor/workflow-actions/types/workflow-action-settings.type'; diff --git a/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/mail-sender/send-email.workflow-action.ts b/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/mail-sender/send-email.workflow-action.ts index a0b011491..ec52c80da 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/mail-sender/send-email.workflow-action.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-executor/workflow-actions/mail-sender/send-email.workflow-action.ts @@ -2,8 +2,8 @@ import { Injectable, Logger } from '@nestjs/common'; import DOMPurify from 'dompurify'; import { JSDOM } from 'jsdom'; -import { isDefined, isValidUuid } from 'twenty-shared'; import { z } from 'zod'; +import { isDefined, isValidUuid } from 'twenty-shared/utils'; import { WorkflowExecutor } from 'src/modules/workflow/workflow-executor/interfaces/workflow-executor.interface'; diff --git a/packages/twenty-server/src/modules/workflow/workflow-status/jobs/workflow-statuses-update.job.ts b/packages/twenty-server/src/modules/workflow/workflow-status/jobs/workflow-statuses-update.job.ts index ce1bce885..a63f33249 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-status/jobs/workflow-statuses-update.job.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-status/jobs/workflow-statuses-update.job.ts @@ -1,6 +1,6 @@ import { Logger, Scope } from '@nestjs/common'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { Process } from 'src/engine/core-modules/message-queue/decorators/process.decorator'; import { Processor } from 'src/engine/core-modules/message-queue/decorators/processor.decorator'; diff --git a/packages/twenty-server/src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service.ts b/packages/twenty-server/src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service.ts index ef618b070..beafc6b48 100644 --- a/packages/twenty-server/src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service.ts +++ b/packages/twenty-server/src/modules/workspace-member/query-hooks/workspace-member-pre-query-hook.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { FeatureFlagKey } from 'src/engine/core-modules/feature-flag/enums/feature-flag-key.enum'; import { FeatureFlagService } from 'src/engine/core-modules/feature-flag/services/feature-flag.service'; diff --git a/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.workspace-entity.ts b/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.workspace-entity.ts index dbffb3dd1..3a078b41a 100644 --- a/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.workspace-entity.ts +++ b/packages/twenty-server/src/modules/workspace-member/standard-objects/workspace-member.workspace-entity.ts @@ -1,7 +1,8 @@ import { registerEnumType } from '@nestjs/graphql'; import { msg } from '@lingui/core/macro'; -import { APP_LOCALES, FieldMetadataType, SOURCE_LOCALE } from 'twenty-shared'; +import { APP_LOCALES, SOURCE_LOCALE } from 'twenty-shared/translations'; +import { FieldMetadataType } from 'twenty-shared/types'; import { Relation } from 'src/engine/workspace-manager/workspace-sync-metadata/interfaces/relation.interface'; diff --git a/packages/twenty-server/src/utils/camel-to-title-case.ts b/packages/twenty-server/src/utils/camel-to-title-case.ts index 58cd3e362..de86fd9d6 100644 --- a/packages/twenty-server/src/utils/camel-to-title-case.ts +++ b/packages/twenty-server/src/utils/camel-to-title-case.ts @@ -1,5 +1,4 @@ -import { capitalize } from 'twenty-shared'; - +import { capitalize } from 'twenty-shared/utils'; export const camelToTitleCase = (camelCaseText: string) => capitalize(camelCaseText) .replace(/([A-Z])/g, ' $1') diff --git a/packages/twenty-server/src/utils/compute-display-name.ts b/packages/twenty-server/src/utils/compute-display-name.ts index b024bd39e..feb1d2c3d 100644 --- a/packages/twenty-server/src/utils/compute-display-name.ts +++ b/packages/twenty-server/src/utils/compute-display-name.ts @@ -1,4 +1,4 @@ -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { FullNameMetadata } from 'src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type'; diff --git a/packages/twenty-server/src/utils/version/__tests__/compare-version-minor-and-major.spec.ts b/packages/twenty-server/src/utils/version/__tests__/compare-version-minor-and-major.spec.ts index e8ec84bf9..03aa19725 100644 --- a/packages/twenty-server/src/utils/version/__tests__/compare-version-minor-and-major.spec.ts +++ b/packages/twenty-server/src/utils/version/__tests__/compare-version-minor-and-major.spec.ts @@ -1,4 +1,4 @@ -import { EachTestingContext } from 'twenty-shared'; +import { EachTestingContext } from 'twenty-shared/testing'; import { CompareVersionMajorAndMinorReturnType, diff --git a/packages/twenty-server/src/utils/version/__tests__/extract-version-major-minor-patch.spec.ts b/packages/twenty-server/src/utils/version/__tests__/extract-version-major-minor-patch.spec.ts index c5f05a6ad..f265a0a08 100644 --- a/packages/twenty-server/src/utils/version/__tests__/extract-version-major-minor-patch.spec.ts +++ b/packages/twenty-server/src/utils/version/__tests__/extract-version-major-minor-patch.spec.ts @@ -1,4 +1,4 @@ -import { EachTestingContext } from 'twenty-shared'; +import { EachTestingContext } from 'twenty-shared/testing'; import { extractVersionMajorMinorPatch } from 'src/utils/version/extract-version-major-minor-patch'; diff --git a/packages/twenty-server/test/integration/graphql/suites/global-search/global-search-resolver.integration-spec.ts b/packages/twenty-server/test/integration/graphql/suites/global-search/global-search-resolver.integration-spec.ts index 29ebeff69..6c7017062 100644 --- a/packages/twenty-server/test/integration/graphql/suites/global-search/global-search-resolver.integration-spec.ts +++ b/packages/twenty-server/test/integration/graphql/suites/global-search/global-search-resolver.integration-spec.ts @@ -17,7 +17,7 @@ import { import { createListingCustomObject } from 'test/integration/metadata/suites/object-metadata/utils/create-test-object-metadata.util'; import { deleteOneObjectMetadataItem } from 'test/integration/metadata/suites/object-metadata/utils/delete-one-object-metadata.util'; import { findManyObjectsMetadataItems } from 'test/integration/metadata/suites/object-metadata/utils/find-many-objects-metadata-items.util'; -import { EachTestingContext } from 'twenty-shared'; +import { EachTestingContext } from 'twenty-shared/testing'; import { GlobalSearchRecordDTO } from 'src/engine/core-modules/global-search/dtos/global-search-record-dto'; diff --git a/packages/twenty-server/test/integration/graphql/suites/settings-permissions/data-model.integration-spec.ts b/packages/twenty-server/test/integration/graphql/suites/settings-permissions/data-model.integration-spec.ts index 03d7b0afa..3387b6faf 100644 --- a/packages/twenty-server/test/integration/graphql/suites/settings-permissions/data-model.integration-spec.ts +++ b/packages/twenty-server/test/integration/graphql/suites/settings-permissions/data-model.integration-spec.ts @@ -10,7 +10,7 @@ import { deleteOneObjectMetadataItemFactory } from 'test/integration/metadata/su import { deleteOneObjectMetadataItem } from 'test/integration/metadata/suites/object-metadata/utils/delete-one-object-metadata.util'; import { updateOneObjectMetadataItemFactory } from 'test/integration/metadata/suites/object-metadata/utils/update-one-object-metadata-factory.util'; import { makeMetadataAPIRequestWithMemberRole } from 'test/integration/metadata/suites/utils/make-metadata-api-request-with-member-role.util'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { SEED_APPLE_WORKSPACE_ID } from 'src/database/typeorm-seeds/core/workspaces'; import { ErrorCode } from 'src/engine/core-modules/graphql/utils/graphql-errors.util'; diff --git a/packages/twenty-server/test/integration/graphql/utils/create-many-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/create-many-operation-factory.util.ts index 425e48c05..2cde5237c 100644 --- a/packages/twenty-server/test/integration/graphql/utils/create-many-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/create-many-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type CreateManyOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/create-one-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/create-one-operation-factory.util.ts index f0622ebde..f5f93ef26 100644 --- a/packages/twenty-server/test/integration/graphql/utils/create-one-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/create-one-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type CreateOneOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/delete-many-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/delete-many-operation-factory.util.ts index 85ffe81b7..726b154f3 100644 --- a/packages/twenty-server/test/integration/graphql/utils/delete-many-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/delete-many-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type DeleteManyOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/delete-one-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/delete-one-operation-factory.util.ts index 1c2da4a88..0a7102c76 100644 --- a/packages/twenty-server/test/integration/graphql/utils/delete-one-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/delete-one-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type DeleteOneOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/destroy-many-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/destroy-many-operation-factory.util.ts index 221655a30..4cf05e199 100644 --- a/packages/twenty-server/test/integration/graphql/utils/destroy-many-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/destroy-many-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type DestroyManyOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/destroy-one-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/destroy-one-operation-factory.util.ts index 5be4c53f9..38b448bc9 100644 --- a/packages/twenty-server/test/integration/graphql/utils/destroy-one-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/destroy-one-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type DestroyOneOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/find-many-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/find-many-operation-factory.util.ts index 07252aea1..6f7842cc6 100644 --- a/packages/twenty-server/test/integration/graphql/utils/find-many-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/find-many-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type FindManyOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/find-one-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/find-one-operation-factory.util.ts index 499ae59ef..bf561f593 100644 --- a/packages/twenty-server/test/integration/graphql/utils/find-one-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/find-one-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type FindOneOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/perform-create-many-operation.utils.ts b/packages/twenty-server/test/integration/graphql/utils/perform-create-many-operation.utils.ts index 2fef40d83..7fd48ff51 100644 --- a/packages/twenty-server/test/integration/graphql/utils/perform-create-many-operation.utils.ts +++ b/packages/twenty-server/test/integration/graphql/utils/perform-create-many-operation.utils.ts @@ -2,7 +2,7 @@ import { randomUUID } from 'crypto'; import { createManyOperationFactory } from 'test/integration/graphql/utils/create-many-operation-factory.util'; import { makeGraphqlAPIRequest } from 'test/integration/graphql/utils/make-graphql-api-request.util'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; export const performCreateManyOperation = async ( objectMetadataSingularName: string, diff --git a/packages/twenty-server/test/integration/graphql/utils/restore-many-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/restore-many-operation-factory.util.ts index 29e117727..5f2679bdc 100644 --- a/packages/twenty-server/test/integration/graphql/utils/restore-many-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/restore-many-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type RestoreManyOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/restore-one-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/restore-one-operation-factory.util.ts index 99c216087..60282f45f 100644 --- a/packages/twenty-server/test/integration/graphql/utils/restore-one-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/restore-one-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type RestoreOneOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/update-many-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/update-many-operation-factory.util.ts index 60cd80df5..49133c4cb 100644 --- a/packages/twenty-server/test/integration/graphql/utils/update-many-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/update-many-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type UpdateManyOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/graphql/utils/update-one-operation-factory.util.ts b/packages/twenty-server/test/integration/graphql/utils/update-one-operation-factory.util.ts index 17eb68be2..bf0f8ea0b 100644 --- a/packages/twenty-server/test/integration/graphql/utils/update-one-operation-factory.util.ts +++ b/packages/twenty-server/test/integration/graphql/utils/update-one-operation-factory.util.ts @@ -1,5 +1,5 @@ import gql from 'graphql-tag'; -import { capitalize } from 'twenty-shared'; +import { capitalize } from 'twenty-shared/utils'; type UpdateOneOperationFactoryParams = { objectMetadataSingularName: string; diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/create-one-field-metadata.integration-spec.ts b/packages/twenty-server/test/integration/metadata/suites/field-metadata/create-one-field-metadata.integration-spec.ts index 8f7e8a5a0..d82f138ac 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/create-one-field-metadata.integration-spec.ts +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/create-one-field-metadata.integration-spec.ts @@ -2,7 +2,7 @@ import { createOneFieldMetadataFactory } from 'test/integration/metadata/suites/ import { createListingCustomObject } from 'test/integration/metadata/suites/object-metadata/utils/create-test-object-metadata.util'; import { deleteOneObjectMetadataItem } from 'test/integration/metadata/suites/object-metadata/utils/delete-one-object-metadata.util'; import { makeMetadataAPIRequest } from 'test/integration/metadata/suites/utils/make-metadata-api-request.util'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; describe('createOne', () => { describe('FieldMetadataService name/label sync', () => { diff --git a/packages/twenty-server/test/integration/metadata/suites/field-metadata/utils/create-custom-text-field-metadata.util.ts b/packages/twenty-server/test/integration/metadata/suites/field-metadata/utils/create-custom-text-field-metadata.util.ts index 0544b4935..10dec075d 100644 --- a/packages/twenty-server/test/integration/metadata/suites/field-metadata/utils/create-custom-text-field-metadata.util.ts +++ b/packages/twenty-server/test/integration/metadata/suites/field-metadata/utils/create-custom-text-field-metadata.util.ts @@ -1,6 +1,6 @@ import { createOneFieldMetadataFactory } from 'test/integration/metadata/suites/field-metadata/utils/create-one-field-metadata-factory.util'; import { makeMetadataAPIRequest } from 'test/integration/metadata/suites/utils/make-metadata-api-request.util'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; const FIELD_NAME = 'testName'; diff --git a/packages/twenty-server/test/integration/metadata/suites/object-metadata/failing-create-one-object-metadata.integration-spec.ts b/packages/twenty-server/test/integration/metadata/suites/object-metadata/failing-create-one-object-metadata.integration-spec.ts index f71d4ab54..2ef814969 100644 --- a/packages/twenty-server/test/integration/metadata/suites/object-metadata/failing-create-one-object-metadata.integration-spec.ts +++ b/packages/twenty-server/test/integration/metadata/suites/object-metadata/failing-create-one-object-metadata.integration-spec.ts @@ -1,6 +1,6 @@ import { getMockCreateObjectInput } from 'test/integration/utils/object-metadata/generate-mock-create-object-metadata-input'; import { performFailingObjectMetadataCreation } from 'test/integration/utils/object-metadata/perform-failing-object-metadata-creation'; -import { EachTestingContext } from 'twenty-shared'; +import { EachTestingContext } from 'twenty-shared/testing'; import { ErrorCode } from 'src/engine/core-modules/graphql/utils/graphql-errors.util'; import { CreateObjectInput } from 'src/engine/metadata-modules/object-metadata/dtos/create-object.input'; diff --git a/packages/twenty-server/test/integration/metadata/suites/object-metadata/rename-custom-object.integration-spec.ts b/packages/twenty-server/test/integration/metadata/suites/object-metadata/rename-custom-object.integration-spec.ts index 6effe14b1..e713a423e 100644 --- a/packages/twenty-server/test/integration/metadata/suites/object-metadata/rename-custom-object.integration-spec.ts +++ b/packages/twenty-server/test/integration/metadata/suites/object-metadata/rename-custom-object.integration-spec.ts @@ -7,9 +7,10 @@ import { createOneRelationMetadataFactory } from 'test/integration/metadata/suit import { deleteOneRelationMetadataItemFactory } from 'test/integration/metadata/suites/utils/delete-one-relation-metadata-factory.util'; import { fieldsMetadataFactory } from 'test/integration/metadata/suites/utils/fields-metadata-factory.util'; import { makeMetadataAPIRequest } from 'test/integration/metadata/suites/utils/make-metadata-api-request.util'; -import { FieldMetadataType } from 'twenty-shared'; +import { FieldMetadataType } from 'twenty-shared/types'; import { RelationMetadataType } from 'src/engine/metadata-modules/relation-metadata/relation-metadata.entity'; + const LISTING_NAME_SINGULAR = 'listing'; describe('Custom object renaming', () => { diff --git a/packages/twenty-server/test/integration/metadata/suites/object-metadata/successful-create-one-object-metadata.integration-spec.ts b/packages/twenty-server/test/integration/metadata/suites/object-metadata/successful-create-one-object-metadata.integration-spec.ts index 078016a30..ed51055eb 100644 --- a/packages/twenty-server/test/integration/metadata/suites/object-metadata/successful-create-one-object-metadata.integration-spec.ts +++ b/packages/twenty-server/test/integration/metadata/suites/object-metadata/successful-create-one-object-metadata.integration-spec.ts @@ -1,7 +1,7 @@ import { deleteOneObjectMetadataItem } from 'test/integration/metadata/suites/object-metadata/utils/delete-one-object-metadata.util'; import { getMockCreateObjectInput } from 'test/integration/utils/object-metadata/generate-mock-create-object-metadata-input'; import { performObjectMetadataCreation } from 'test/integration/utils/object-metadata/perform-object-metadata-creation'; -import { EachTestingContext } from 'twenty-shared'; +import { EachTestingContext } from 'twenty-shared/testing'; import { CreateObjectInput } from 'src/engine/metadata-modules/object-metadata/dtos/create-object.input'; diff --git a/packages/twenty-server/test/integration/utils/object-metadata/perform-failing-object-metadata-creation.ts b/packages/twenty-server/test/integration/utils/object-metadata/perform-failing-object-metadata-creation.ts index 24d66352e..6239edfe9 100644 --- a/packages/twenty-server/test/integration/utils/object-metadata/perform-failing-object-metadata-creation.ts +++ b/packages/twenty-server/test/integration/utils/object-metadata/perform-failing-object-metadata-creation.ts @@ -1,6 +1,6 @@ import { deleteOneObjectMetadataItem } from 'test/integration/metadata/suites/object-metadata/utils/delete-one-object-metadata.util'; import { performObjectMetadataCreation } from 'test/integration/utils/object-metadata/perform-object-metadata-creation'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; import { CreateObjectInput } from 'src/engine/metadata-modules/object-metadata/dtos/create-object.input'; diff --git a/packages/twenty-shared/.babelrc b/packages/twenty-shared/.babelrc new file mode 100644 index 000000000..31f05a13b --- /dev/null +++ b/packages/twenty-shared/.babelrc @@ -0,0 +1,15 @@ +{ + "$schema": "https://json.schemastore.org/babelrc.json", + "presets": ["@babel/preset-env", "@babel/preset-typescript"], + "plugins": [ + [ + "module-resolver", + { + "root": ["./"], + "alias": { + "@": "./src" + } + } + ] + ] +} diff --git a/packages/twenty-shared/constants/package.json b/packages/twenty-shared/constants/package.json new file mode 100644 index 000000000..5f4b1af80 --- /dev/null +++ b/packages/twenty-shared/constants/package.json @@ -0,0 +1,4 @@ +{ + "main": "dist/twenty-shared-constants.cjs.js", + "module": "dist/twenty-shared-constants.esm.js" +} diff --git a/packages/twenty-shared/jest.config.ts b/packages/twenty-shared/jest.config.ts index f00793a8f..fa55c2249 100644 --- a/packages/twenty-shared/jest.config.ts +++ b/packages/twenty-shared/jest.config.ts @@ -1,7 +1,4 @@ -import { JestConfigWithTsJest, pathsToModuleNameMapper } from 'ts-jest'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const tsConfig = require('./tsconfig.json'); +import { JestConfigWithTsJest } from 'ts-jest'; const jestConfig: JestConfigWithTsJest = { silent: true, @@ -21,9 +18,18 @@ const jestConfig: JestConfigWithTsJest = { ], }, moduleNameMapper: { + // TODO prastoin investigate not working with pathsToModuleNameMapper + /* + { + '^@/(.*)\\.js$': './src/$1', + '^@/(.*)$': './src/$1', + '^(\\.{1,2}/.*)\\.js$': '$1' + } // use esm true + { '^@/(.*)$': './src/$1' } // useEsm false + */ + '/^@/(.*)$/': './src/$1', '\\.(jpg|jpeg|png|gif|webp|svg|svg\\?react)$': '/__mocks__/imageMock.js', - ...pathsToModuleNameMapper(tsConfig.compilerOptions.paths), }, moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], extensionsToTreatAsEsm: ['.ts', '.tsx'], diff --git a/packages/twenty-shared/package.json b/packages/twenty-shared/package.json index c9b2fff51..b23229886 100644 --- a/packages/twenty-shared/package.json +++ b/packages/twenty-shared/package.json @@ -1,21 +1,46 @@ { "name": "twenty-shared", "version": "0.50.0-canary", + "main": "dist/twenty-shared.cjs.js", + "module": "dist/twenty-shared.esm.js", "license": "AGPL-3.0", - "main": "./dist/index.js", "scripts": { - "build": "npx vite build" - }, - "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.mjs", - "require": "./dist/index.js" - } + "build": "preconstruct build" }, "engines": { "node": "^18.17.1", "npm": "please-use-yarn", "yarn": "^4.0.2" - } + }, + "devDependencies": { + "@babel/preset-env": "^7.26.9", + "@preconstruct/cli": "patch:@preconstruct/cli@npm%3A2.8.11#~/.yarn/patches/@preconstruct-cli-npm-2.8.11-030abfa6ae.patch", + "@prettier/sync": "^0.5.2", + "@types/babel__preset-env": "^7", + "babel-plugin-module-resolver": "^5.0.2" + }, + "dependencies": { + "@sniptt/guards": "^0.2.0", + "zod": "3.23.8" + }, + "preconstruct": { + "entrypoints": [ + "./index.ts", + "./constants/index.ts", + "./testing/index.ts", + "./translations/index.ts", + "./types/index.ts", + "./utils/index.ts", + "./workspace/index.ts" + ] + }, + "files": [ + "dist", + "constants", + "testing", + "translations", + "types", + "utils", + "workspace" + ] } diff --git a/packages/twenty-shared/project.json b/packages/twenty-shared/project.json index acebb6f56..9d96d3973 100644 --- a/packages/twenty-shared/project.json +++ b/packages/twenty-shared/project.json @@ -3,13 +3,45 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "packages/twenty-shared/src", "projectType": "library", - "tags": ["scope:shared"], + "tags": [ + "scope:shared" + ], "targets": { "build": { - "dependsOn": ["^build"], - "outputs": ["{options.outputPath}"], + "dependsOn": [ + "generateBarrels", + "^build" + ], + "outputs": [ + "{projectRoot}/dist", + "{projectRoot}/constants/package.json", + "{projectRoot}/constants/dist", + "{projectRoot}/testing/package.json", + "{projectRoot}/testing/dist", + "{projectRoot}/translations/package.json", + "{projectRoot}/translations/dist", + "{projectRoot}/types/package.json", + "{projectRoot}/types/dist", + "{projectRoot}/utils/package.json", + "{projectRoot}/utils/dist", + "{projectRoot}/workspace/package.json", + "{projectRoot}/workspace/dist" + ] + }, + "generateBarrels": { + "executor": "nx:run-commands", + "cache": true, + "inputs": [ + "production", + "{projectRoot}/scripts/generateBarrels.ts" + ], + "outputs": [ + "{projectRoot}/src/index.ts", + "{projectRoot}/src/*/index.ts", + "{projectRoot}/package.json" + ], "options": { - "outputPath": "{projectRoot}/dist" + "command": "tsx {projectRoot}/scripts/generateBarrels.ts" } }, "typecheck": {}, diff --git a/packages/twenty-shared/scripts/generateBarrels.ts b/packages/twenty-shared/scripts/generateBarrels.ts new file mode 100644 index 000000000..187cddb42 --- /dev/null +++ b/packages/twenty-shared/scripts/generateBarrels.ts @@ -0,0 +1,253 @@ +import prettier from '@prettier/sync'; +import * as fs from 'fs'; +import path from 'path'; +import { Options } from 'prettier'; +import slash from 'slash'; + +// TODO prastoin refactor this file in several one into its dedicated package and make it a TypeScript CLI + +const INCLUDED_EXTENSIONS = ['.ts', '.tsx']; +const EXCLUDED_EXTENSIONS = [ + '.test.ts', + '.test.tsx', + '.spec.ts', + '.spec.tsx', + '.stories.ts', + '.stories.tsx', +]; +const EXCLUDED_DIRECTORIES = [ + '__tests__', + '__mocks__', + '__stories__', + 'internal', +]; +const INDEX_FILENAME = 'index'; +const PACKAGE_JSON_FILENAME = 'package.json'; +const NX_PROJECT_CONFIGURATION_FILENAME = 'project.json'; +const PACKAGE_PATH = path.resolve('packages/twenty-shared'); +const SRC_PATH = path.resolve(`${PACKAGE_PATH}/src`); +const PACKAGE_JSON_PATH = path.join(PACKAGE_PATH, PACKAGE_JSON_FILENAME); +const NX_PROJECT_CONFIGURATION_PATH = path.join( + PACKAGE_PATH, + NX_PROJECT_CONFIGURATION_FILENAME, +); + +const prettierConfigFile = prettier.resolveConfigFile(); +if (prettierConfigFile == null) { + throw new Error('Prettier config file not found'); +} +const prettierConfiguration = prettier.resolveConfig(prettierConfigFile); +const prettierFormat = (str: string, parser: Options['parser']) => + prettier.format(str, { + ...prettierConfiguration, + parser, + }); +type createTypeScriptFileArgs = { + path: string; + content: string; + filename: string; +}; +const createTypeScriptFile = ({ + content, + path: filePath, + filename, +}: createTypeScriptFileArgs) => { + const header = ` +/* + * _____ _ + *|_ _|_ _____ _ __ | |_ _ _ + * | | \\ \\ /\\ / / _ \\ '_ \\| __| | | | Auto-generated file + * | | \\ V V / __/ | | | |_| |_| | Any edits to this will be overridden + * |_| \\_/\\_/ \\___|_| |_|\\__|\\__, | + * |___/ + */ +`; + const formattedContent = prettierFormat( + `${header}\n${content}\n`, + 'typescript', + ); + fs.writeFileSync( + path.join(filePath, `${filename}.ts`), + formattedContent, + 'utf-8', + ); +}; + +const getLastPathFolder = (path: string) => path.split('/').pop(); + +const getSubDirectoryPaths = (directoryPath: string): string[] => + fs + .readdirSync(directoryPath) + .filter((fileOrDirectoryName) => { + const isDirectory = fs + .statSync(path.join(directoryPath, fileOrDirectoryName)) + .isDirectory(); + if (!isDirectory) { + return false; + } + + const isExcludedDirectory = + EXCLUDED_DIRECTORIES.includes(fileOrDirectoryName); + return !isExcludedDirectory; + }) + .map((subDirectoryName) => path.join(directoryPath, subDirectoryName)); + +const getDirectoryPathsRecursive = (directoryPath: string): string[] => [ + directoryPath, + ...getSubDirectoryPaths(directoryPath).flatMap(getDirectoryPathsRecursive), +]; + +const getFilesPaths = (directoryPath: string): string[] => + fs.readdirSync(directoryPath).filter((filePath) => { + const isFile = fs.statSync(path.join(directoryPath, filePath)).isFile(); + if (!isFile) { + return false; + } + + const isIndexFile = filePath.startsWith(INDEX_FILENAME); + if (isIndexFile) { + return false; + } + + const isWhiteListedExtension = INCLUDED_EXTENSIONS.some((extension) => + filePath.endsWith(extension), + ); + const isExcludedExtension = EXCLUDED_EXTENSIONS.every( + (excludedExtension) => !filePath.endsWith(excludedExtension), + ); + return isWhiteListedExtension && isExcludedExtension; + }); + +type ComputeExportLineForGivenFileArgs = { + filePath: string; + moduleDirectory: string; // Rename + directoryPath: string; // Rename +}; +const computeExportLineForGivenFile = ({ + filePath, + moduleDirectory, + directoryPath, +}: ComputeExportLineForGivenFileArgs) => { + const fileNameWithoutExtension = filePath.split('.').slice(0, -1).join('.'); + const pathToImport = slash( + path.relative( + moduleDirectory, + path.join(directoryPath, fileNameWithoutExtension), + ), + ); + // TODO refactor should extract all exports atomically please refer to https://github.com/twentyhq/core-team-issues/issues/644 + return `export * from './${pathToImport}';`; +}; + +const generateModuleIndexFiles = (moduleDirectories: string[]) => { + return moduleDirectories.map((moduleDirectory) => { + const directoryPaths = getDirectoryPathsRecursive(moduleDirectory); + const content = directoryPaths + .flatMap((directoryPath) => { + const directFilesPaths = getFilesPaths(directoryPath); + + return directFilesPaths.map((filePath) => + computeExportLineForGivenFile({ + directoryPath, + filePath, + moduleDirectory: moduleDirectory, + }), + ); + }) + .sort((a, b) => a.localeCompare(b)) // Could be removed as using prettier afterwards anw ? + .join('\n'); + + return { + content, + path: moduleDirectory, + filename: INDEX_FILENAME, + }; + }); +}; + +type JsonUpdate = Record; +type WriteInJsonFileArgs = { + content: JsonUpdate; + file: string; +}; +const updateJsonFile = ({ content, file }: WriteInJsonFileArgs) => { + const updatedJsonFile = JSON.stringify(content); + const formattedContent = prettierFormat(updatedJsonFile, 'json-stringify'); + fs.writeFileSync(file, formattedContent, 'utf-8'); +}; + +const writeInPackageJson = (update: JsonUpdate) => { + const rawJsonFile = fs.readFileSync(PACKAGE_JSON_PATH, 'utf-8'); + const initialJsonFile = JSON.parse(rawJsonFile); + + updateJsonFile({ + file: PACKAGE_JSON_PATH, + content: { + ...initialJsonFile, + ...update, + }, + }); +}; + +const updateNxProjectConfigurationBuildOutputs = (outputs: JsonUpdate) => { + const rawJsonFile = fs.readFileSync(NX_PROJECT_CONFIGURATION_PATH, 'utf-8'); + const initialJsonFile = JSON.parse(rawJsonFile); + + updateJsonFile({ + file: NX_PROJECT_CONFIGURATION_PATH, + content: { + ...initialJsonFile, + targets: { + ...initialJsonFile.targets, + build: { + ...initialJsonFile.targets.build, + outputs, + }, + }, + }, + }); +}; + +const computePackageJsonFilesAndPreconstructConfig = ( + moduleDirectories: string[], +) => { + const entrypoints = [...moduleDirectories.map(getLastPathFolder)]; + + return { + preconstruct: { + entrypoints: [ + './index.ts', + ...entrypoints.map((module) => `./${module}/index.ts`), + ], + }, + files: ['dist', ...entrypoints], + }; +}; + +const computeProjectNxBuildOutputsPath = (moduleDirectories: string[]) => { + const dynamicOutputsPath = moduleDirectories + .map(getLastPathFolder) + .flatMap((barrelName) => + ['package.json', 'dist'].map( + (subPath) => `{projectRoot}/${barrelName}/${subPath}`, + ), + ); + + return ['{projectRoot}/dist', ...dynamicOutputsPath]; +}; + +const main = () => { + const moduleDirectories = getSubDirectoryPaths(SRC_PATH); + const moduleIndexFiles = generateModuleIndexFiles(moduleDirectories); + const packageJsonPreconstructConfigAndFiles = + computePackageJsonFilesAndPreconstructConfig(moduleDirectories); + const nxBuildOutputsPath = + computeProjectNxBuildOutputsPath(moduleDirectories); + + updateNxProjectConfigurationBuildOutputs( + nxBuildOutputsPath + ); + writeInPackageJson(packageJsonPreconstructConfigAndFiles); + moduleIndexFiles.forEach(createTypeScriptFile); +}; +main(); diff --git a/packages/twenty-shared/scripts/migrateFromSingleToMultiBarrelImport.ts b/packages/twenty-shared/scripts/migrateFromSingleToMultiBarrelImport.ts new file mode 100644 index 000000000..ddcda5b58 --- /dev/null +++ b/packages/twenty-shared/scripts/migrateFromSingleToMultiBarrelImport.ts @@ -0,0 +1,495 @@ +import prettier from '@prettier/sync'; +import * as fs from 'fs'; +import glob from 'glob'; +import * as path from 'path'; +import ts from 'typescript'; +const prettierConfigFile = prettier.resolveConfigFile(); +if (prettierConfigFile == null) { + throw new Error('Prettier config file not found'); +} +const prettierConfiguration = prettier.resolveConfig(prettierConfigFile); + +type DeclarationOccurence = { kind: string; name: string }; +type ExtractedExports = Array<{ + file: string; + exports: DeclarationOccurence[]; +}>; +type ExtractedImports = Array<{ file: string; imports: string[] }>; + +type ExportPerModule = Array<{ + moduleName: string; + exports: ExtractedExports[number]['exports']; +}>; +function findAllExports(directoryPath: string): ExtractedExports { + const results: ExtractedExports = []; + + const files = getTypeScriptFiles(directoryPath); + + for (const file of files) { + const sourceFile = ts.createSourceFile( + file, + fs.readFileSync(file, 'utf8'), + ts.ScriptTarget.Latest, + true, + ); + + const exports = extractExports(sourceFile); + if (exports.length > 0) { + results.push({ + file, + exports, + }); + } + } + + return results; +} + +function findAllImports(directoryPath: string): ExtractedImports { + const results: ExtractedImports = []; + + const includeIndex = true; + const files = getTypeScriptFiles(directoryPath, includeIndex); + + for (const file of files) { + try { + const sourceFile = ts.createSourceFile( + file, + fs.readFileSync(file, 'utf8'), + ts.ScriptTarget.Latest, + true, + ); + + const imports = extractImports(sourceFile); + if (imports.length > 0) { + results.push({ + file, + imports, + }); + } + } catch (e) { + console.log(e); + console.log('Because of file: ', file); + throw e; + } + } + + return results; +} + +function getTypeScriptFiles( + directoryPath: string, + includeIndex: boolean = false, +): string[] { + const pattern = path.join(directoryPath, '**/*.{ts,tsx}'); + const files = glob.sync(pattern); + + return files.filter( + (file) => + !file.endsWith('.d.ts') && + (includeIndex ? true : !file.endsWith('index.ts')), + ); +} + +const getKind = (node: ts.VariableStatement) => { + const isConst = (node.declarationList.flags & ts.NodeFlags.Const) !== 0; + if (isConst) { + return 'const'; + } + + const isLet = (node.declarationList.flags & ts.NodeFlags.Let) !== 0; + if (isLet) { + return 'let'; + } + + return 'var'; +}; + +function extractExports(sourceFile: ts.SourceFile) { + const exports: DeclarationOccurence[] = []; + + function visit(node: ts.Node) { + if (!ts.canHaveModifiers(node)) { + return ts.forEachChild(node, visit); + } + const modifiers = ts.getModifiers(node); + const isExport = modifiers?.some( + (mod) => mod.kind === ts.SyntaxKind.ExportKeyword, + ); + + if (!isExport) { + return ts.forEachChild(node, visit); + } + + switch (true) { + case ts.isTypeAliasDeclaration(node): + exports.push({ + kind: 'type', + name: node.name.text, + }); + break; + + case ts.isInterfaceDeclaration(node): + exports.push({ + kind: 'interface', + name: node.name.text, + }); + break; + + case ts.isEnumDeclaration(node): + exports.push({ + kind: 'enum', + name: node.name.text, + }); + break; + + case ts.isFunctionDeclaration(node) && node.name !== undefined: + exports.push({ + kind: 'function', + name: node.name.text, + }); + break; + + case ts.isVariableStatement(node): + node.declarationList.declarations.forEach((decl) => { + if (ts.isIdentifier(decl.name)) { + const kind = getKind(node); + exports.push({ + kind, + name: decl.name.text, + }); + } + }); + break; + + case ts.isClassDeclaration(node) && node.name !== undefined: + exports.push({ + kind: 'class', + name: node.name.text, + }); + break; + } + return ts.forEachChild(node, visit); + } + + visit(sourceFile); + return exports; +} + +function extractImports(sourceFile: ts.SourceFile): string[] { + const imports: string[] = []; + + function visit(node: ts.Node) { + if (!ts.isImportDeclaration(node)) { + return ts.forEachChild(node, visit); + } + + const modulePath = node.moduleSpecifier.getText(sourceFile); + // Quite static + if (modulePath !== `'twenty-shared'`) { + return ts.forEachChild(node, visit); + } + + if (!node.importClause) { + return ts.forEachChild(node, visit); + } + + if (!node.importClause.namedBindings) { + return ts.forEachChild(node, visit); + } + + if (ts.isNamedImports(node.importClause.namedBindings)) { + const namedImports = node.importClause.namedBindings.elements.map( + (element) => { + if (element.propertyName) { + return `${element.propertyName.text} as ${element.name.text}`; + } + + return element.name.text; + }, + ); + + // imports.push(`import { ${namedImports} } from ${modulePath}`); + namedImports.forEach((namedImport) => { + imports.push(namedImport); + }); + } + + ts.forEachChild(node, visit); + } + + visit(sourceFile); + return imports; +} + +const getSubDirectoryPaths = (directoryPath: string): string[] => + fs + .readdirSync(directoryPath) + .filter((fileOrDirectoryName) => { + const isDirectory = fs + .statSync(path.join(directoryPath, fileOrDirectoryName)) + .isDirectory(); + return isDirectory; + }) + .map((subDirectoryName) => path.join(directoryPath, subDirectoryName)); + +const retrievePackageExportsPerModule = (srcPath: string) => { + const subdirectories = getSubDirectoryPaths(srcPath); + return subdirectories.map((moduleDirectory) => { + const moduleExportsPerFile = findAllExports(moduleDirectory); + const moduleName = moduleDirectory.split('/').pop(); + if (!moduleName) { + throw new Error( + `Should never occurs moduleName not found ${moduleDirectory}`, + ); + } + + const flattenExports = Object.values(moduleExportsPerFile).flatMap( + (arr) => arr.exports, + ); + return { + moduleName, + exports: flattenExports, + }; + }); +}; + +type NewImport = { barrel: string; modules: string[] }; +type MappedResolution = { + newImports: Record; + file: string; +}; +type MapSourceImportToBarrelArgs = { + importsPerFile: ExtractedImports; + exportsPerModule: ExportPerModule; +}; +const mapSourceImportToBarrel = ({ + exportsPerModule, + importsPerFile, +}: MapSourceImportToBarrelArgs): MappedResolution[] => { + const mappedResolution: MappedResolution[] = []; + for (const fileImport of importsPerFile) { + const { file, imports } = fileImport; + let result: MappedResolution = { + file, + newImports: {}, + }; + + for (const importedDeclaration of imports) { + const findResult = exportsPerModule.find(({ exports }) => + exports.some((el) => el.name === importedDeclaration), + ); + + if (findResult === undefined) { + throw new Error( + `Should never occurs no barrel exports ${importedDeclaration}`, + ); + } + + const { moduleName } = findResult; + if (result.newImports[moduleName]) { + result.newImports[moduleName].modules.push(importedDeclaration); + } else { + result.newImports[moduleName] = { + barrel: moduleName, + modules: [importedDeclaration], + }; + } + } + + mappedResolution.push(result); + } + + return mappedResolution; +}; + +const retrieveImportFromPackageInSource = (srcPath: string) => { + return findAllImports(srcPath); +}; + +/** + * Inserts a new import statement at the top of a TypeScript file + * @param filePath Path to the TypeScript file + * @param importSpecifier The module to import from (e.g., 'twenty-shared/utils') + * @param namedImports Array of named imports (e.g., ['useQuery', 'useMutation']) + */ +type InsertImportAtTopArgs = { + filePath: string; + importSpecifier: string; + namedImports: string[]; +}; +function insertImportAtTop({ + filePath, + importSpecifier, + namedImports, +}: InsertImportAtTopArgs): void { + // Read the file content + const sourceText = fs.readFileSync(filePath, 'utf8'); + + // Create a source file + const sourceFile = ts.createSourceFile( + filePath, + sourceText, + ts.ScriptTarget.Latest, + true, + ); + + // Build the new import statement + let newImport = `import { ${namedImports.join(', ')} } from '${importSpecifier}';\n`; + + // Find the position to insert the import + let insertPos = 0; + + // Case 1: File has imports - insert after the last import + let lastImportEnd = 0; + + ts.forEachChild(sourceFile, (node) => { + if ( + ts.isImportDeclaration(node) || + ts.isImportEqualsDeclaration(node) || + (ts.isExpressionStatement(node) && + ts.isCallExpression(node.expression) && + node.expression.expression.kind === ts.SyntaxKind.ImportKeyword) // Overkill ? + ) { + const end = node.getEnd(); + if (end > lastImportEnd) { + lastImportEnd = end; + } + } + }); + + if (lastImportEnd > 0) { + // Insert after the last import with a newline + insertPos = lastImportEnd; + + // Check if there's already a newline after the last import + if (sourceText[insertPos] !== '\n') { + newImport = '\n' + newImport; + } + } + + // Insert the new import + const updatedSourceText = + sourceText.substring(0, insertPos) + + newImport + + sourceText.substring(insertPos); + + // Write back to file + fs.writeFileSync( + filePath, + prettier.format(updatedSourceText, { + parser: 'typescript', + ...prettierConfiguration, + }), + 'utf8', + ); +} + +type RemoveSpecificImports = { + filePath: string; + moduleSpecifier: string; +}; +function removeSpecificImports({ + filePath, + moduleSpecifier, +}: RemoveSpecificImports) { + const sourceText = fs.readFileSync(filePath, 'utf8'); + + const sourceFile = ts.createSourceFile( + filePath, + sourceText, + ts.ScriptTarget.Latest, + true, + ); + + type Replacement = { + start: number; + end: number; + newText: string; + }; + let replacement: Replacement | undefined; + + function visit(node: ts.Node) { + if (ts.isImportDeclaration(node)) { + const importSource = node.moduleSpecifier + .getText(sourceFile) + .replace(/^['"]|['"]$/g, ''); + + if (importSource === moduleSpecifier && node.importClause) { + replacement = { + start: node.getFullStart(), + end: node.getEnd(), + newText: '', + }; + } + } + + ts.forEachChild(node, visit); + } + + visit(sourceFile); + + let updatedSourceText = sourceText; + + if (replacement) { + const { end, newText, start } = replacement; + updatedSourceText = + updatedSourceText.substring(0, start) + + newText + + updatedSourceText.substring(end); + fs.writeFileSync( + filePath, + prettier.format(updatedSourceText, { + parser: 'typescript', + ...prettierConfiguration, + }), + 'utf8', + ); + } +} + +const migrateImports = (mappedResolutions: MappedResolution[]) => { + for (const { file, newImports } of mappedResolutions) { + for (const { barrel, modules } of Object.values(newImports)) { + // TODO could refactor to avoid double source file and read + removeSpecificImports({ + filePath: file, + moduleSpecifier: 'twenty-shared', + }); + insertImportAtTop({ + filePath: file, + importSpecifier: `twenty-shared/${barrel}`, + namedImports: modules, + }); + } + } +}; + +const main = () => { + const packageSrcPath = 'packages/twenty-shared/src'; + const exportsPerModule = retrievePackageExportsPerModule(packageSrcPath); + + const packagesToMigrate = [ + 'twenty-front', + 'twenty-ui', + 'twenty-server', + 'twenty-emails', + 'twenty-zapier', + 'twenty-chrome-extension', + ]; + for (const currPackage of packagesToMigrate) { + console.log(`About to run over ${currPackage}`); + const importsPerFile = retrieveImportFromPackageInSource( + `packages/${currPackage}`, + ); + + const mappedResolutions = mapSourceImportToBarrel({ + exportsPerModule, + importsPerFile, + }); + migrateImports(mappedResolutions); + console.log(`${currPackage} migrated`); + } + console.log('SUCCESSFULLY COMPLETED'); +}; +main(); diff --git a/packages/twenty-shared/src/constants/index.ts b/packages/twenty-shared/src/constants/index.ts index 35785e55e..f6a7b3cde 100644 --- a/packages/twenty-shared/src/constants/index.ts +++ b/packages/twenty-shared/src/constants/index.ts @@ -1,3 +1,12 @@ +/* + * _____ _ + *|_ _|_ _____ _ __ | |_ _ _ + * | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file + * | | \ V V / __/ | | | |_| |_| | Any edits to this will be overridden + * |_| \_/\_/ \___|_| |_|\__|\__, | + * |___/ + */ + export * from './FieldForTotalCountAggregateOperation'; export * from './PermissionsOnAllObjectRecords'; export * from './StandardObjectRecordsUnderObjectRecordsPermissions'; diff --git a/packages/twenty-shared/src/i18n/index.ts b/packages/twenty-shared/src/i18n/index.ts deleted file mode 100644 index a3e0fea72..000000000 --- a/packages/twenty-shared/src/i18n/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './constants/AppLocales'; -export * from './constants/SourceLocale'; diff --git a/packages/twenty-shared/src/index.ts b/packages/twenty-shared/src/index.ts index 8122da452..7d07217d6 100644 --- a/packages/twenty-shared/src/index.ts +++ b/packages/twenty-shared/src/index.ts @@ -1,6 +1,10 @@ -export * from './constants'; -export * from './i18n'; -export * from './testing'; -export * from './types'; -export * from './utils'; -export * from './workspace'; +/* + * _____ _ + *|_ _|_ _____ _ __ | |_ _ _ + * | | \ \ /\ / / _ \ '_ \| __| | | | Auto-genreated file + * | | \ V V / __/ | | | |_| |_| | Any edition to this will be override + * |_| \_/\_/ \___|_| |_|\__|\__, | + * |___/ + */ + +export default {}; diff --git a/packages/twenty-shared/src/testing/index.ts b/packages/twenty-shared/src/testing/index.ts index b20959e67..720f4106b 100644 --- a/packages/twenty-shared/src/testing/index.ts +++ b/packages/twenty-shared/src/testing/index.ts @@ -1 +1,10 @@ +/* + * _____ _ + *|_ _|_ _____ _ __ | |_ _ _ + * | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file + * | | \ V V / __/ | | | |_| |_| | Any edits to this will be overridden + * |_| \_/\_/ \___|_| |_|\__|\__, | + * |___/ + */ + export * from './types/EachTestingContext.type'; diff --git a/packages/twenty-shared/src/i18n/constants/AppLocales.ts b/packages/twenty-shared/src/translations/constants/AppLocales.ts similarity index 90% rename from packages/twenty-shared/src/i18n/constants/AppLocales.ts rename to packages/twenty-shared/src/translations/constants/AppLocales.ts index b51966a78..972a36e9e 100644 --- a/packages/twenty-shared/src/i18n/constants/AppLocales.ts +++ b/packages/twenty-shared/src/translations/constants/AppLocales.ts @@ -1,4 +1,4 @@ -import { SOURCE_LOCALE } from 'src/i18n/constants/SourceLocale'; +import { SOURCE_LOCALE } from '@/translations/constants/SourceLocale'; export const APP_LOCALES = { [SOURCE_LOCALE]: SOURCE_LOCALE, diff --git a/packages/twenty-shared/src/i18n/constants/SourceLocale.ts b/packages/twenty-shared/src/translations/constants/SourceLocale.ts similarity index 100% rename from packages/twenty-shared/src/i18n/constants/SourceLocale.ts rename to packages/twenty-shared/src/translations/constants/SourceLocale.ts diff --git a/packages/twenty-shared/src/translations/index.ts b/packages/twenty-shared/src/translations/index.ts new file mode 100644 index 000000000..e03c03686 --- /dev/null +++ b/packages/twenty-shared/src/translations/index.ts @@ -0,0 +1,11 @@ +/* + * _____ _ + *|_ _|_ _____ _ __ | |_ _ _ + * | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file + * | | \ V V / __/ | | | |_| |_| | Any edits to this will be overridden + * |_| \_/\_/ \___|_| |_|\__|\__, | + * |___/ + */ + +export * from './constants/AppLocales'; +export * from './constants/SourceLocale'; diff --git a/packages/twenty-shared/src/types/index.ts b/packages/twenty-shared/src/types/index.ts index aaa4c8053..8309bf772 100644 --- a/packages/twenty-shared/src/types/index.ts +++ b/packages/twenty-shared/src/types/index.ts @@ -1,3 +1,12 @@ +/* + * _____ _ + *|_ _|_ _____ _ __ | |_ _ _ + * | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file + * | | \ V V / __/ | | | |_| |_| | Any edits to this will be overridden + * |_| \_/\_/ \___|_| |_|\__|\__, | + * |___/ + */ + export * from './ConnectedAccountProvider'; export * from './FieldMetadataType'; export * from './IsExactly'; diff --git a/packages/twenty-shared/src/utils/fieldMetadata/isFieldMetadataDateKind.ts b/packages/twenty-shared/src/utils/fieldMetadata/isFieldMetadataDateKind.ts index f28882422..55855345f 100644 --- a/packages/twenty-shared/src/utils/fieldMetadata/isFieldMetadataDateKind.ts +++ b/packages/twenty-shared/src/utils/fieldMetadata/isFieldMetadataDateKind.ts @@ -1,4 +1,4 @@ -import { FieldMetadataType } from 'src/types/FieldMetadataType'; +import { FieldMetadataType } from '@/types'; export const isFieldMetadataDateKind = ( fieldMetadataType?: FieldMetadataType, diff --git a/packages/twenty-shared/src/utils/image/__tests__/getImageAbsoluteURI.test.ts b/packages/twenty-shared/src/utils/image/__tests__/getImageAbsoluteURI.test.ts index b617a4116..97313daa4 100644 --- a/packages/twenty-shared/src/utils/image/__tests__/getImageAbsoluteURI.test.ts +++ b/packages/twenty-shared/src/utils/image/__tests__/getImageAbsoluteURI.test.ts @@ -1,5 +1,4 @@ -import { getImageAbsoluteURI } from '../getImageAbsoluteURI'; - +import { getImageAbsoluteURI } from '@/utils/image/getImageAbsoluteURI'; describe('getImageAbsoluteURI', () => { it('should return baseUrl if imageUrl is empty string', () => { const imageUrl = ''; diff --git a/packages/twenty-shared/src/utils/image/__tests__/getLogoUrlFromDomainName.test.ts b/packages/twenty-shared/src/utils/image/__tests__/getLogoUrlFromDomainName.test.ts index f3ddc7693..671e6fb54 100644 --- a/packages/twenty-shared/src/utils/image/__tests__/getLogoUrlFromDomainName.test.ts +++ b/packages/twenty-shared/src/utils/image/__tests__/getLogoUrlFromDomainName.test.ts @@ -1,7 +1,7 @@ import { getLogoUrlFromDomainName, sanitizeURL, -} from '../getLogoUrlFromDomainName'; +} from '@/utils/image/getLogoUrlFromDomainName'; describe('sanitizeURL', () => { test('should sanitize the URL correctly', () => { diff --git a/packages/twenty-shared/src/utils/index.ts b/packages/twenty-shared/src/utils/index.ts index 602bc60d3..dbd31d980 100644 --- a/packages/twenty-shared/src/utils/index.ts +++ b/packages/twenty-shared/src/utils/index.ts @@ -1,6 +1,22 @@ +/* + * _____ _ + *|_ _|_ _____ _ __ | |_ _ _ + * | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file + * | | \ V V / __/ | | | |_| |_| | Any edits to this will be overridden + * |_| \_/\_/ \___|_| |_|\__|\__, | + * |___/ + */ + export * from './assertUnreachable'; -export * from './fieldMetadata'; -export * from './image'; -export * from './strings'; -export * from './url'; -export * from './validation'; +export * from './fieldMetadata/isFieldMetadataDateKind'; +export * from './image/getImageAbsoluteURI'; +export * from './image/getLogoUrlFromDomainName'; +export * from './strings/capitalize'; +export * from './url/absoluteUrlSchema'; +export * from './url/getAbsoluteUrlOrThrow'; +export * from './url/getUrlHostnameOrThrow'; +export * from './url/isValidHostname'; +export * from './url/isValidUrl'; +export * from './validation/isDefined'; +export * from './validation/isValidLocale'; +export * from './validation/isValidUuid'; diff --git a/packages/twenty-shared/src/utils/strings/__tests__/capitalize.test.ts b/packages/twenty-shared/src/utils/strings/__tests__/capitalize.test.ts index 907ec565b..ba6bb77ac 100644 --- a/packages/twenty-shared/src/utils/strings/__tests__/capitalize.test.ts +++ b/packages/twenty-shared/src/utils/strings/__tests__/capitalize.test.ts @@ -1,4 +1,4 @@ -import { capitalize } from '../capitalize'; +import { capitalize } from '@/utils/strings/capitalize'; describe('capitalize', () => { it('should capitalize a string', () => { expect(capitalize('test')).toBe('Test'); diff --git a/packages/twenty-shared/src/utils/url/__tests__/absoluteUrlSchema.test.ts b/packages/twenty-shared/src/utils/url/__tests__/absoluteUrlSchema.test.ts index c9f4d21c6..bd82e9e67 100644 --- a/packages/twenty-shared/src/utils/url/__tests__/absoluteUrlSchema.test.ts +++ b/packages/twenty-shared/src/utils/url/__tests__/absoluteUrlSchema.test.ts @@ -1,4 +1,4 @@ -import { absoluteUrlSchema } from '../absoluteUrlSchema'; +import { absoluteUrlSchema } from '@/utils/url/absoluteUrlSchema'; describe('absoluteUrlSchema', () => { it('validates an absolute url', () => { diff --git a/packages/twenty-shared/src/utils/url/__tests__/getAbsoluteUrlOrThrow.test.ts b/packages/twenty-shared/src/utils/url/__tests__/getAbsoluteUrlOrThrow.test.ts index cbf37d2e0..699ec625f 100644 --- a/packages/twenty-shared/src/utils/url/__tests__/getAbsoluteUrlOrThrow.test.ts +++ b/packages/twenty-shared/src/utils/url/__tests__/getAbsoluteUrlOrThrow.test.ts @@ -1,4 +1,4 @@ -import { getAbsoluteUrlOrThrow } from 'src/utils/url/getAbsoluteUrlOrThrow'; +import { getAbsoluteUrlOrThrow } from '@/utils/url/getAbsoluteUrlOrThrow'; describe('getAbsoluteUrlOrThrow', () => { it("returns the URL's hostname", () => { diff --git a/packages/twenty-shared/src/utils/url/__tests__/getUrlHostnameOrThrow.test.ts b/packages/twenty-shared/src/utils/url/__tests__/getUrlHostnameOrThrow.test.ts index 2b5272c0b..b64fe36aa 100644 --- a/packages/twenty-shared/src/utils/url/__tests__/getUrlHostnameOrThrow.test.ts +++ b/packages/twenty-shared/src/utils/url/__tests__/getUrlHostnameOrThrow.test.ts @@ -1,4 +1,4 @@ -import { getUrlHostnameOrThrow } from 'src/utils/url/getUrlHostnameOrThrow'; +import { getUrlHostnameOrThrow } from '@/utils/url/getUrlHostnameOrThrow'; describe('getUrlHostnameOrThrow', () => { it("returns the URL's hostname", () => { diff --git a/packages/twenty-shared/src/utils/url/__tests__/isValidHostname.test.ts b/packages/twenty-shared/src/utils/url/__tests__/isValidHostname.test.ts index d39aac6d3..0ae7e1752 100644 --- a/packages/twenty-shared/src/utils/url/__tests__/isValidHostname.test.ts +++ b/packages/twenty-shared/src/utils/url/__tests__/isValidHostname.test.ts @@ -1,4 +1,4 @@ -import { isValidHostname } from 'src/utils/url/isValidHostname'; +import { isValidHostname } from '@/utils/url/isValidHostname'; describe('isValidHostname', () => { it(`should return true if string google`, () => { diff --git a/packages/twenty-shared/src/utils/url/__tests__/isValidUrl.test.ts b/packages/twenty-shared/src/utils/url/__tests__/isValidUrl.test.ts index e9a5024f4..c82dafe40 100644 --- a/packages/twenty-shared/src/utils/url/__tests__/isValidUrl.test.ts +++ b/packages/twenty-shared/src/utils/url/__tests__/isValidUrl.test.ts @@ -1,4 +1,4 @@ -import { isValidUrl } from '../isValidUrl'; +import { isValidUrl } from '@/utils/url/isValidUrl'; describe('isValidUrl', () => { it('test cases', () => { diff --git a/packages/twenty-shared/src/utils/url/absoluteUrlSchema.ts b/packages/twenty-shared/src/utils/url/absoluteUrlSchema.ts index db2570fc0..220813641 100644 --- a/packages/twenty-shared/src/utils/url/absoluteUrlSchema.ts +++ b/packages/twenty-shared/src/utils/url/absoluteUrlSchema.ts @@ -1,4 +1,4 @@ -import { isValidHostname } from 'src/utils/url/isValidHostname'; +import { isValidHostname } from '@/utils/url/isValidHostname'; import { z } from 'zod'; const getAbsoluteUrl = (value: string): string => { diff --git a/packages/twenty-shared/src/utils/url/getAbsoluteUrlOrThrow.ts b/packages/twenty-shared/src/utils/url/getAbsoluteUrlOrThrow.ts index a9427a27c..0299efd51 100644 --- a/packages/twenty-shared/src/utils/url/getAbsoluteUrlOrThrow.ts +++ b/packages/twenty-shared/src/utils/url/getAbsoluteUrlOrThrow.ts @@ -1,4 +1,4 @@ -import { absoluteUrlSchema } from 'src/utils/url/absoluteUrlSchema'; +import { absoluteUrlSchema } from '@/utils/url/absoluteUrlSchema'; export const getAbsoluteUrlOrThrow = (url: string): string => { try { diff --git a/packages/twenty-shared/src/utils/url/getUrlHostnameOrThrow.ts b/packages/twenty-shared/src/utils/url/getUrlHostnameOrThrow.ts index ca5bdb26c..1262d0af4 100644 --- a/packages/twenty-shared/src/utils/url/getUrlHostnameOrThrow.ts +++ b/packages/twenty-shared/src/utils/url/getUrlHostnameOrThrow.ts @@ -1,4 +1,4 @@ -import { absoluteUrlSchema } from 'src/utils/url/absoluteUrlSchema'; +import { absoluteUrlSchema } from '@/utils/url/absoluteUrlSchema'; export const getUrlHostnameOrThrow = (url: string): string => { const result = absoluteUrlSchema.safeParse(url); diff --git a/packages/twenty-shared/src/utils/url/isValidUrl.ts b/packages/twenty-shared/src/utils/url/isValidUrl.ts index dec55b695..4cb2af5fa 100644 --- a/packages/twenty-shared/src/utils/url/isValidUrl.ts +++ b/packages/twenty-shared/src/utils/url/isValidUrl.ts @@ -1,4 +1,4 @@ -import { absoluteUrlSchema } from 'src/utils/url/absoluteUrlSchema'; +import { absoluteUrlSchema } from '@/utils/url/absoluteUrlSchema'; export const isValidUrl = (url: string): boolean => { const result = absoluteUrlSchema.safeParse(url); diff --git a/packages/twenty-shared/src/utils/validation/__tests__/isDefined.test.ts b/packages/twenty-shared/src/utils/validation/__tests__/isDefined.test.ts index 81d379d6f..d1fbf5b56 100644 --- a/packages/twenty-shared/src/utils/validation/__tests__/isDefined.test.ts +++ b/packages/twenty-shared/src/utils/validation/__tests__/isDefined.test.ts @@ -1,4 +1,4 @@ -import { isDefined } from '../isDefined'; +import { isDefined } from '@/utils/validation/isDefined'; describe('isDefined', () => { it('returns true if value is not undefined nor null', () => { expect(isDefined('')).toBe(true); diff --git a/packages/twenty-shared/src/utils/validation/__tests__/isValidUuid.test.ts b/packages/twenty-shared/src/utils/validation/__tests__/isValidUuid.test.ts index ee69ddf50..e02d98a18 100644 --- a/packages/twenty-shared/src/utils/validation/__tests__/isValidUuid.test.ts +++ b/packages/twenty-shared/src/utils/validation/__tests__/isValidUuid.test.ts @@ -1,4 +1,4 @@ -import { isValidUuid } from '../isValidUuid'; +import { isValidUuid } from '@/utils/validation/isValidUuid'; describe('isValidUuid', () => { it('should return true for a valid UUID', () => { diff --git a/packages/twenty-shared/src/utils/validation/__tests__/isValideLocale.test.ts b/packages/twenty-shared/src/utils/validation/__tests__/isValideLocale.test.ts index e74e5e906..1931b9363 100644 --- a/packages/twenty-shared/src/utils/validation/__tests__/isValideLocale.test.ts +++ b/packages/twenty-shared/src/utils/validation/__tests__/isValideLocale.test.ts @@ -1,6 +1,5 @@ -import { APP_LOCALES } from 'src/i18n/constants/AppLocales'; -import { isValidLocale } from '../isValidLocale'; - +import { APP_LOCALES } from '@/translations'; +import { isValidLocale } from '@/utils/validation/isValidLocale'; describe('isValidLocale', () => { it('should return true for valid locales', () => { Object.keys(APP_LOCALES).forEach((locale) => { diff --git a/packages/twenty-shared/src/utils/validation/isValidLocale.ts b/packages/twenty-shared/src/utils/validation/isValidLocale.ts index 7e129d5f1..8edd2cd55 100644 --- a/packages/twenty-shared/src/utils/validation/isValidLocale.ts +++ b/packages/twenty-shared/src/utils/validation/isValidLocale.ts @@ -1,4 +1,4 @@ -import { APP_LOCALES } from 'src/i18n/constants/AppLocales'; +import { APP_LOCALES } from '@/translations'; export const isValidLocale = ( value: string | null, diff --git a/packages/twenty-shared/src/workspace/index.ts b/packages/twenty-shared/src/workspace/index.ts index 6d5a6ef49..09abc32e7 100644 --- a/packages/twenty-shared/src/workspace/index.ts +++ b/packages/twenty-shared/src/workspace/index.ts @@ -1,2 +1,11 @@ -export * from './types'; -export * from './utils'; +/* + * _____ _ + *|_ _|_ _____ _ __ | |_ _ _ + * | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file + * | | \ V V / __/ | | | |_| |_| | Any edits to this will be overridden + * |_| \_/\_/ \___|_| |_|\__|\__, | + * |___/ + */ + +export * from './types/WorkspaceActivationStatus'; +export * from './utils/isWorkspaceActiveOrSuspended'; diff --git a/packages/twenty-shared/src/workspace/utils/__tests__/isWorkspaceActiveOrSuspended.test.ts b/packages/twenty-shared/src/workspace/utils/__tests__/isWorkspaceActiveOrSuspended.test.ts index 8f2318c32..34158c145 100644 --- a/packages/twenty-shared/src/workspace/utils/__tests__/isWorkspaceActiveOrSuspended.test.ts +++ b/packages/twenty-shared/src/workspace/utils/__tests__/isWorkspaceActiveOrSuspended.test.ts @@ -1,5 +1,5 @@ -import { WorkspaceActivationStatus } from '../../types/WorkspaceActivationStatus'; -import { isWorkspaceActiveOrSuspended } from '../isWorkspaceActiveOrSuspended'; +import { WorkspaceActivationStatus } from '@/workspace/types/WorkspaceActivationStatus'; +import { isWorkspaceActiveOrSuspended } from '@/workspace/utils/isWorkspaceActiveOrSuspended'; describe('isWorkspaceActiveOrSuspended', () => { it('should return true for Active workspace', () => { diff --git a/packages/twenty-shared/src/workspace/utils/isWorkspaceActiveOrSuspended.ts b/packages/twenty-shared/src/workspace/utils/isWorkspaceActiveOrSuspended.ts index a809c446a..bb51bfec4 100644 --- a/packages/twenty-shared/src/workspace/utils/isWorkspaceActiveOrSuspended.ts +++ b/packages/twenty-shared/src/workspace/utils/isWorkspaceActiveOrSuspended.ts @@ -1,4 +1,4 @@ -import { WorkspaceActivationStatus } from '../types/WorkspaceActivationStatus'; +import { WorkspaceActivationStatus } from '@/workspace/types/WorkspaceActivationStatus'; export const isWorkspaceActiveOrSuspended = ( workspace?: { diff --git a/packages/twenty-shared/testing/package.json b/packages/twenty-shared/testing/package.json new file mode 100644 index 000000000..1f1af5ce8 --- /dev/null +++ b/packages/twenty-shared/testing/package.json @@ -0,0 +1,4 @@ +{ + "main": "dist/twenty-shared-testing.cjs.js", + "module": "dist/twenty-shared-testing.esm.js" +} diff --git a/packages/twenty-shared/translations/package.json b/packages/twenty-shared/translations/package.json new file mode 100644 index 000000000..8b74d1a0f --- /dev/null +++ b/packages/twenty-shared/translations/package.json @@ -0,0 +1,4 @@ +{ + "main": "dist/twenty-shared-translations.cjs.js", + "module": "dist/twenty-shared-translations.esm.js" +} diff --git a/packages/twenty-shared/tsconfig.json b/packages/twenty-shared/tsconfig.json index bf6a9dfeb..f2ac585f9 100644 --- a/packages/twenty-shared/tsconfig.json +++ b/packages/twenty-shared/tsconfig.json @@ -4,10 +4,9 @@ "esModuleInterop": false, "allowSyntheticDefaultImports": true, "strict": true, - "types": ["vite/client"], - "baseUrl": ".", + "noEmit": true, "paths": { - "twenty-shared": ["packages/twenty-shared/dist"] + "@/*": ["./src/*"] } }, "files": [], diff --git a/packages/twenty-shared/tsconfig.lib.json b/packages/twenty-shared/tsconfig.lib.json index 90abc8d4f..af9767246 100644 --- a/packages/twenty-shared/tsconfig.lib.json +++ b/packages/twenty-shared/tsconfig.lib.json @@ -3,11 +3,10 @@ "compilerOptions": { "declaration": true, "declarationMap": true, + "noEmit": false, + "baseUrl": ".", "outDir": "../../.cache/tsc", - "types": [ - "node", - "vite/client" - ] + "types": ["node"] }, "exclude": [ "**/*.spec.ts", @@ -19,6 +18,5 @@ "**/*.spec.jsx", "**/*.test.jsx" ], - "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"], - + "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"] } diff --git a/packages/twenty-shared/tsconfig.spec.json b/packages/twenty-shared/tsconfig.spec.json index 9f928c13c..7a2c42fbc 100644 --- a/packages/twenty-shared/tsconfig.spec.json +++ b/packages/twenty-shared/tsconfig.spec.json @@ -1,7 +1,6 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "module": "commonjs", "types": ["jest", "node"] }, "include": [ diff --git a/packages/twenty-shared/types/package.json b/packages/twenty-shared/types/package.json new file mode 100644 index 000000000..40f8d417e --- /dev/null +++ b/packages/twenty-shared/types/package.json @@ -0,0 +1,4 @@ +{ + "main": "dist/twenty-shared-types.cjs.js", + "module": "dist/twenty-shared-types.esm.js" +} diff --git a/packages/twenty-shared/utils/package.json b/packages/twenty-shared/utils/package.json new file mode 100644 index 000000000..194c65fa5 --- /dev/null +++ b/packages/twenty-shared/utils/package.json @@ -0,0 +1,4 @@ +{ + "main": "dist/twenty-shared-utils.cjs.js", + "module": "dist/twenty-shared-utils.esm.js" +} diff --git a/packages/twenty-shared/vite.config.ts b/packages/twenty-shared/vite.config.ts deleted file mode 100644 index 9a07cb0ca..000000000 --- a/packages/twenty-shared/vite.config.ts +++ /dev/null @@ -1,33 +0,0 @@ -import * as path from 'path'; -import { defineConfig } from 'vite'; -import dts from 'vite-plugin-dts'; -import tsconfigPaths from 'vite-tsconfig-paths'; - -export default defineConfig({ - root: __dirname, - cacheDir: '../../node_modules/.vite/packages/twenty-shared', - - plugins: [ - tsconfigPaths(), - dts({ - entryRoot: 'src', - tsconfigPath: path.join(__dirname, 'tsconfig.lib.json'), - }), - ], - - // Configuration for building your library. - // See: https://vitejs.dev/guide/build.html#library-mode - build: { - outDir: './dist', - reportCompressedSize: true, - commonjsOptions: { - transformMixedEsModules: true, - }, - lib: { - entry: 'src/index.ts', - name: 'twenty-shared', - fileName: 'index', - formats: ['es', 'cjs'], - }, - }, -}); diff --git a/packages/twenty-shared/workspace/package.json b/packages/twenty-shared/workspace/package.json new file mode 100644 index 000000000..355e3e914 --- /dev/null +++ b/packages/twenty-shared/workspace/package.json @@ -0,0 +1,4 @@ +{ + "main": "dist/twenty-shared-workspace.cjs.js", + "module": "dist/twenty-shared-workspace.esm.js" +} diff --git a/packages/twenty-ui/src/display/avatar-chip/components/AvatarChipLeftComponent.tsx b/packages/twenty-ui/src/display/avatar-chip/components/AvatarChipLeftComponent.tsx index 8c12fc523..3dd9140a1 100644 --- a/packages/twenty-ui/src/display/avatar-chip/components/AvatarChipLeftComponent.tsx +++ b/packages/twenty-ui/src/display/avatar-chip/components/AvatarChipLeftComponent.tsx @@ -3,8 +3,8 @@ import styled from '@emotion/styled'; import { Avatar } from '@ui/display/avatar/components/Avatar'; import { AvatarType } from '@ui/display/avatar/types/AvatarType'; import { IconComponent } from '@ui/display/icon/types/IconComponent'; -import { isDefined } from 'twenty-shared'; import { Nullable } from 'vitest'; +import { isDefined } from 'twenty-shared/utils'; const StyledInvertedIconContainer = styled.div<{ backgroundColor: string }>` display: flex; diff --git a/packages/twenty-ui/src/display/avatar/components/Avatar.tsx b/packages/twenty-ui/src/display/avatar/components/Avatar.tsx index 0f17ca9ed..f33d76bff 100644 --- a/packages/twenty-ui/src/display/avatar/components/Avatar.tsx +++ b/packages/twenty-ui/src/display/avatar/components/Avatar.tsx @@ -11,7 +11,7 @@ import { IconComponent } from '@ui/display/icon/types/IconComponent'; import { ThemeContext } from '@ui/theme'; import { Nullable, stringToHslColor } from '@ui/utilities'; import { REACT_APP_SERVER_BASE_URL } from '@ui/utilities/config'; -import { getImageAbsoluteURI } from 'twenty-shared'; +import { getImageAbsoluteURI } from 'twenty-shared/utils'; const StyledAvatar = styled.div<{ size: AvatarSize; diff --git a/packages/twenty-ui/src/display/tag/components/Tag.tsx b/packages/twenty-ui/src/display/tag/components/Tag.tsx index dc1cb65fb..ea14701da 100644 --- a/packages/twenty-ui/src/display/tag/components/Tag.tsx +++ b/packages/twenty-ui/src/display/tag/components/Tag.tsx @@ -9,7 +9,7 @@ import { ThemeContext, ThemeType, } from '@ui/theme'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const spacing5 = THEME_COMMON.spacing(5); const spacing2 = THEME_COMMON.spacing(2); diff --git a/packages/twenty-ui/src/display/tooltip/OverflowingTextWithTooltip.tsx b/packages/twenty-ui/src/display/tooltip/OverflowingTextWithTooltip.tsx index 46b448495..65afdd076 100644 --- a/packages/twenty-ui/src/display/tooltip/OverflowingTextWithTooltip.tsx +++ b/packages/twenty-ui/src/display/tooltip/OverflowingTextWithTooltip.tsx @@ -3,9 +3,8 @@ import { useRef, useState } from 'react'; import { createPortal } from 'react-dom'; import { THEME_COMMON } from '@ui/theme'; - -import { isDefined } from 'twenty-shared'; import { AppTooltip, TooltipDelay } from './AppTooltip'; +import { isDefined } from 'twenty-shared/utils'; const spacing4 = THEME_COMMON.spacing(4); diff --git a/packages/twenty-ui/src/feedback/progress-bar/hooks/useProgressAnimation.ts b/packages/twenty-ui/src/feedback/progress-bar/hooks/useProgressAnimation.ts index c028b7b0c..4dc1909d8 100644 --- a/packages/twenty-ui/src/feedback/progress-bar/hooks/useProgressAnimation.ts +++ b/packages/twenty-ui/src/feedback/progress-bar/hooks/useProgressAnimation.ts @@ -5,8 +5,7 @@ import { ValueAnimationTransition, } from 'framer-motion'; import { useCallback, useEffect, useState } from 'react'; - -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useProgressAnimation = ({ autoPlay = true, diff --git a/packages/twenty-ui/src/input/button/components/Button/internal/ButtonIcon.tsx b/packages/twenty-ui/src/input/button/components/Button/internal/ButtonIcon.tsx index 688d59f87..9cbe64ec5 100644 --- a/packages/twenty-ui/src/input/button/components/Button/internal/ButtonIcon.tsx +++ b/packages/twenty-ui/src/input/button/components/Button/internal/ButtonIcon.tsx @@ -3,7 +3,7 @@ import { baseTransitionTiming } from '@ui/input/button/components/Button/constan import { IconComponent } from '@ui/display'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledIcon = styled.div<{ isLoading: boolean; diff --git a/packages/twenty-ui/src/input/button/components/ButtonGroup.tsx b/packages/twenty-ui/src/input/button/components/ButtonGroup.tsx index f71a98133..37995bb7a 100644 --- a/packages/twenty-ui/src/input/button/components/ButtonGroup.tsx +++ b/packages/twenty-ui/src/input/button/components/ButtonGroup.tsx @@ -1,9 +1,8 @@ import styled from '@emotion/styled'; import React, { ReactNode } from 'react'; -import { isDefined } from 'twenty-shared'; - import { ButtonPosition, ButtonProps } from './Button/Button'; +import { isDefined } from 'twenty-shared/utils'; const StyledButtonGroupContainer = styled.div` border-radius: ${({ theme }) => theme.border.radius.md}; diff --git a/packages/twenty-ui/src/input/button/components/FloatingButtonGroup.tsx b/packages/twenty-ui/src/input/button/components/FloatingButtonGroup.tsx index dd38576bc..78f8d7b66 100644 --- a/packages/twenty-ui/src/input/button/components/FloatingButtonGroup.tsx +++ b/packages/twenty-ui/src/input/button/components/FloatingButtonGroup.tsx @@ -1,9 +1,8 @@ import styled from '@emotion/styled'; import React from 'react'; -import { isDefined } from 'twenty-shared'; - import { FloatingButtonPosition, FloatingButtonProps } from './FloatingButton'; +import { isDefined } from 'twenty-shared/utils'; const StyledFloatingButtonGroupContainer = styled.div` backdrop-filter: blur(20px); diff --git a/packages/twenty-ui/src/input/code-editor/components/CodeEditor.tsx b/packages/twenty-ui/src/input/code-editor/components/CodeEditor.tsx index d97074ec9..c150947d9 100644 --- a/packages/twenty-ui/src/input/code-editor/components/CodeEditor.tsx +++ b/packages/twenty-ui/src/input/code-editor/components/CodeEditor.tsx @@ -5,7 +5,7 @@ import { Loader } from '@ui/feedback/loader/components/Loader'; import { codeEditorTheme } from '@ui/input'; import { editor } from 'monaco-editor'; import { useState } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type CodeEditorProps = Omit & { onChange?: (value: string) => void; diff --git a/packages/twenty-ui/src/json-visualizer/components/JsonNestedNode.tsx b/packages/twenty-ui/src/json-visualizer/components/JsonNestedNode.tsx index 71c0822bd..4adbb4fad 100644 --- a/packages/twenty-ui/src/json-visualizer/components/JsonNestedNode.tsx +++ b/packages/twenty-ui/src/json-visualizer/components/JsonNestedNode.tsx @@ -9,8 +9,8 @@ import { useJsonTreeContextOrThrow } from '@ui/json-visualizer/hooks/useJsonTree import { ANIMATION } from '@ui/theme'; import { AnimatePresence, motion } from 'framer-motion'; import { useState } from 'react'; -import { isDefined } from 'twenty-shared'; import { JsonValue } from 'type-fest'; +import { isDefined } from 'twenty-shared/utils'; const StyledContainer = styled.li` display: grid; diff --git a/packages/twenty-ui/src/json-visualizer/hooks/useJsonTreeContextOrThrow.tsx b/packages/twenty-ui/src/json-visualizer/hooks/useJsonTreeContextOrThrow.tsx index 0bb0d0234..e4dfc4ac1 100644 --- a/packages/twenty-ui/src/json-visualizer/hooks/useJsonTreeContextOrThrow.tsx +++ b/packages/twenty-ui/src/json-visualizer/hooks/useJsonTreeContextOrThrow.tsx @@ -1,6 +1,6 @@ import { JsonTreeContext } from '@ui/json-visualizer/contexts/JsonTreeContext'; import { useContext } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const useJsonTreeContextOrThrow = () => { const value = useContext(JsonTreeContext); diff --git a/packages/twenty-ui/src/layout/animated-expandable-container/components/AnimatedExpandableContainer.tsx b/packages/twenty-ui/src/layout/animated-expandable-container/components/AnimatedExpandableContainer.tsx index 38cae182a..526d91532 100644 --- a/packages/twenty-ui/src/layout/animated-expandable-container/components/AnimatedExpandableContainer.tsx +++ b/packages/twenty-ui/src/layout/animated-expandable-container/components/AnimatedExpandableContainer.tsx @@ -8,7 +8,7 @@ import { AnimationSize } from '@ui/layout/animated-expandable-container/types/An import { getExpandableAnimationConfig } from '@ui/layout/animated-expandable-container/utils/getExpandableAnimationConfig'; import { AnimatePresence, motion } from 'framer-motion'; import { ReactNode, useRef, useState } from 'react'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; const StyledMotionContainer = styled(motion.div)<{ containAnimation: boolean; diff --git a/packages/twenty-ui/src/navigation/menu-item/components/MenuItemAvatar.tsx b/packages/twenty-ui/src/navigation/menu-item/components/MenuItemAvatar.tsx index e62fb81e2..a352b4a2e 100644 --- a/packages/twenty-ui/src/navigation/menu-item/components/MenuItemAvatar.tsx +++ b/packages/twenty-ui/src/navigation/menu-item/components/MenuItemAvatar.tsx @@ -8,12 +8,12 @@ import { import { LightIconButtonGroup } from '@ui/input'; import { MenuItemIconButton } from '@ui/navigation/menu-item/components/MenuItem'; import { MouseEvent } from 'react'; -import { isDefined } from 'twenty-shared'; import { StyledHoverableMenuItemBase, StyledMenuItemLeftContent, } from '../internals/components/StyledMenuItemBase'; import { MenuItemAccent } from '../types/MenuItemAccent'; +import { isDefined } from 'twenty-shared/utils'; export type MenuItemAvatarProps = { accent?: MenuItemAccent; diff --git a/packages/twenty-ui/src/testing/utils/getCanvasElementForDropdownTesting.ts b/packages/twenty-ui/src/testing/utils/getCanvasElementForDropdownTesting.ts index 7fd8f2733..f2ddbf3f4 100644 --- a/packages/twenty-ui/src/testing/utils/getCanvasElementForDropdownTesting.ts +++ b/packages/twenty-ui/src/testing/utils/getCanvasElementForDropdownTesting.ts @@ -1,5 +1,4 @@ -import { isDefined } from 'twenty-shared'; - +import { isDefined } from 'twenty-shared/utils'; export const getCanvasElementForDropdownTesting = () => { const canvasElement = document.getElementsByClassName( 'sb-show-main', diff --git a/packages/twenty-ui/src/theme/utils/getNextThemeColor.ts b/packages/twenty-ui/src/theme/utils/getNextThemeColor.ts index f1b91d4a7..4159b3eaf 100644 --- a/packages/twenty-ui/src/theme/utils/getNextThemeColor.ts +++ b/packages/twenty-ui/src/theme/utils/getNextThemeColor.ts @@ -1,5 +1,5 @@ import { MAIN_COLOR_NAMES, ThemeColor } from '@ui/theme'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; export const getNextThemeColor = (currentColor?: ThemeColor): ThemeColor => { if (!isDefined(currentColor)) { diff --git a/packages/twenty-ui/src/utilities/utils/getDisplayValueByUrlType.ts b/packages/twenty-ui/src/utilities/utils/getDisplayValueByUrlType.ts index c630305a4..b0927673e 100644 --- a/packages/twenty-ui/src/utilities/utils/getDisplayValueByUrlType.ts +++ b/packages/twenty-ui/src/utilities/utils/getDisplayValueByUrlType.ts @@ -1,5 +1,5 @@ import { LinkType } from '@ui/navigation/link'; -import { isDefined } from 'twenty-shared'; +import { isDefined } from 'twenty-shared/utils'; type getUrlDisplayValueByUrlTypeProps = { type: LinkType; diff --git a/packages/twenty-zapier/src/creates/crud_record.ts b/packages/twenty-zapier/src/creates/crud_record.ts index 0d6eb4740..78e85626b 100644 --- a/packages/twenty-zapier/src/creates/crud_record.ts +++ b/packages/twenty-zapier/src/creates/crud_record.ts @@ -1,6 +1,4 @@ import { Bundle, ZObject } from 'zapier-platform-core'; - -import { capitalize } from 'twenty-shared'; import { findObjectNamesSingularKey } from '../triggers/find_object_names_singular'; import { listRecordIdsKey } from '../triggers/list_record_ids'; import { computeInputFields } from '../utils/computeInputFields'; @@ -8,6 +6,7 @@ import { InputData } from '../utils/data.types'; import handleQueryParams from '../utils/handleQueryParams'; import requestDb, { requestSchema } from '../utils/requestDb'; import { DatabaseEventAction } from '../utils/triggers/triggers.utils'; +import { capitalize } from 'twenty-shared/utils'; export const recordInputFields = async ( z: ZObject, diff --git a/packages/twenty-zapier/src/test/utils/computeInputFields.test.ts b/packages/twenty-zapier/src/test/utils/computeInputFields.test.ts index 44ac0afc3..007791e4a 100644 --- a/packages/twenty-zapier/src/test/utils/computeInputFields.test.ts +++ b/packages/twenty-zapier/src/test/utils/computeInputFields.test.ts @@ -1,6 +1,6 @@ -import { FieldMetadataType } from 'twenty-shared'; import { computeInputFields } from '../../utils/computeInputFields'; import { InputField } from '../../utils/data.types'; +import { FieldMetadataType } from 'twenty-shared/types'; describe('computeInputFields', () => { test('should create Person input fields properly', () => { diff --git a/packages/twenty-zapier/src/utils/computeInputFields.ts b/packages/twenty-zapier/src/utils/computeInputFields.ts index 570c0b932..87ec13973 100644 --- a/packages/twenty-zapier/src/utils/computeInputFields.ts +++ b/packages/twenty-zapier/src/utils/computeInputFields.ts @@ -1,5 +1,5 @@ -import { FieldMetadataType } from 'twenty-shared'; import { InputField, Node, NodeField } from '../utils/data.types'; +import { FieldMetadataType } from 'twenty-shared/types'; const getListFromFieldMetadataType = (fieldMetadataType: FieldMetadataType) => { return fieldMetadataType === FieldMetadataType.ARRAY; diff --git a/packages/twenty-zapier/src/utils/data.types.ts b/packages/twenty-zapier/src/utils/data.types.ts index 13e3b6ece..d6aacf8a3 100644 --- a/packages/twenty-zapier/src/utils/data.types.ts +++ b/packages/twenty-zapier/src/utils/data.types.ts @@ -1,5 +1,4 @@ -import { FieldMetadataType } from 'twenty-shared'; - +import { FieldMetadataType } from 'twenty-shared/types'; export type InputData = { [x: string]: any }; export type NodeField = { diff --git a/yarn.lock b/yarn.lock index 3475036e5..c49017d12 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2026,7 +2026,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.26.2": +"@babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.26.2, @babel/code-frame@npm:^7.5.5": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" dependencies: @@ -2051,6 +2051,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/compat-data@npm:7.26.8" + checksum: 10c0/66408a0388c3457fff1c2f6c3a061278dd7b3d2f0455ea29bb7b187fa52c60ae8b4054b3c0a184e21e45f0eaac63cf390737bc7504d1f4a088a6e7f652c068ca + languageName: node + linkType: hard + "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.14.0, @babel/core@npm:^7.14.5, @babel/core@npm:^7.18.9, @babel/core@npm:^7.20.12, @babel/core@npm:^7.21.3, @babel/core@npm:^7.22.5, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.5, @babel/core@npm:^7.23.9, @babel/core@npm:^7.24.5, @babel/core@npm:^7.7.5": version: 7.25.2 resolution: "@babel/core@npm:7.25.2" @@ -2097,6 +2104,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.7.7": + version: 7.26.10 + resolution: "@babel/core@npm:7.26.10" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.10" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.10" + "@babel/parser": "npm:^7.26.10" + "@babel/template": "npm:^7.26.9" + "@babel/traverse": "npm:^7.26.10" + "@babel/types": "npm:^7.26.10" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/e046e0e988ab53841b512ee9d263ca409f6c46e2a999fe53024688b92db394346fa3aeae5ea0866331f62133982eee05a675d22922a4603c3f603aa09a581d62 + languageName: node + linkType: hard + "@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.22.5, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.23.5, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.7.2": version: 7.25.0 resolution: "@babel/generator@npm:7.25.0" @@ -2122,6 +2152,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.26.10": + version: 7.26.10 + resolution: "@babel/generator@npm:7.26.10" + dependencies: + "@babel/parser": "npm:^7.26.10" + "@babel/types": "npm:^7.26.10" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10c0/88b3b3ea80592fc89349c4e1a145e1386e4042866d2507298adf452bf972f68d13bf699a845e6ab8c028bd52c2247013eb1221b86e1db5c9779faacba9c4b10e + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" @@ -2131,6 +2174,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe + languageName: node + linkType: hard + "@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.7" @@ -2154,7 +2206,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.9": +"@babel/helper-compilation-targets@npm:^7.25.9, @babel/helper-compilation-targets@npm:^7.26.5": version: 7.26.5 resolution: "@babel/helper-compilation-targets@npm:7.26.5" dependencies: @@ -2184,6 +2236,23 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-class-features-plugin@npm:^7.25.9": + version: 7.26.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.26.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.9" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/808620b350ac012f22163fd44c38ed8e05b24ce5d37bc4aa99a44e9724205f11efcef6b25ccfa5bb5de82ac32b899f1e939123c688f335d2851f4b8d70742233 + languageName: node + linkType: hard + "@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7, @babel/helper-create-regexp-features-plugin@npm:^7.25.0": version: 7.25.2 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.2" @@ -2197,6 +2266,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-regexp-features-plugin@npm:^7.25.9": + version: 7.26.3 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.26.3" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + regexpu-core: "npm:^6.2.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/266f30b99af621559467ed67634cb653408a9262930c0627c3d17691a9d477329fb4dabe4b1785cbf0490e892513d247836674271842d6a8da49fd0afae7d435 + languageName: node + linkType: hard + "@babel/helper-define-polyfill-provider@npm:^0.6.2": version: 0.6.2 resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" @@ -2212,6 +2294,21 @@ __metadata: languageName: node linkType: hard +"@babel/helper-define-polyfill-provider@npm:^0.6.3": + version: 0.6.4 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.4" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/b74f2b46e233a178618d19432bdae16e0137d0a603497ee901155e083c4a61f26fe01d79fb95d5f4c22131ade9d958d8f587088d412cca1302633587f070919d + languageName: node + linkType: hard + "@babel/helper-member-expression-to-functions@npm:^7.24.8": version: 7.24.8 resolution: "@babel/helper-member-expression-to-functions@npm:7.24.8" @@ -2222,6 +2319,26 @@ __metadata: languageName: node linkType: hard +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 + languageName: node + linkType: hard + "@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.22.15, @babel/helper-module-imports@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-module-imports@npm:7.24.7" @@ -2232,16 +2349,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-module-imports@npm:7.25.9" - dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 - languageName: node - linkType: hard - "@babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.24.8, @babel/helper-module-transforms@npm:^7.25.0, @babel/helper-module-transforms@npm:^7.25.2": version: 7.25.2 resolution: "@babel/helper-module-transforms@npm:7.25.2" @@ -2256,7 +2363,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.26.0": +"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: @@ -2278,6 +2385,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" + dependencies: + "@babel/types": "npm:^7.25.9" + checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c + languageName: node + linkType: hard + "@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.24.8 resolution: "@babel/helper-plugin-utils@npm:7.24.8" @@ -2285,6 +2401,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-plugin-utils@npm:7.26.5" + checksum: 10c0/cdaba71d4b891aa6a8dfbe5bac2f94effb13e5fa4c2c487667fdbaa04eae059b78b28d85a885071f45f7205aeb56d16759e1bed9c118b94b16e4720ef1ab0f65 + languageName: node + linkType: hard + "@babel/helper-remap-async-to-generator@npm:^7.24.7, @babel/helper-remap-async-to-generator@npm:^7.25.0": version: 7.25.0 resolution: "@babel/helper-remap-async-to-generator@npm:7.25.0" @@ -2298,6 +2421,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-remap-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-wrap-function": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/6798b562f2788210980f29c5ee96056d90dc73458c88af5bd32f9c82e28e01975588aa2a57bb866c35556bd9b76bac937e824ee63ba472b6430224b91b4879e9 + languageName: node + linkType: hard + "@babel/helper-replace-supers@npm:^7.24.7, @babel/helper-replace-supers@npm:^7.25.0": version: 7.25.0 resolution: "@babel/helper-replace-supers@npm:7.25.0" @@ -2311,6 +2447,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-replace-supers@npm:^7.25.9, @babel/helper-replace-supers@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-replace-supers@npm:7.26.5" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/b19b1245caf835207aaaaac3a494f03a16069ae55e76a2e1350b5acd560e6a820026997a8160e8ebab82ae873e8208759aa008eb8422a67a775df41f0a4633d4 + languageName: node + linkType: hard + "@babel/helper-simple-access@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-simple-access@npm:7.24.7" @@ -2331,6 +2480,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" + dependencies: + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 + languageName: node + linkType: hard + "@babel/helper-string-parser@npm:^7.24.8": version: 7.24.8 resolution: "@babel/helper-string-parser@npm:7.24.8" @@ -2384,6 +2543,17 @@ __metadata: languageName: node linkType: hard +"@babel/helper-wrap-function@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-wrap-function@npm:7.25.9" + dependencies: + "@babel/template": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/b6627d83291e7b80df020f8ee2890c52b8d49272962cac0114ef90f189889c90f1027985873d1b5261a4e986e109b2754292dc112392f0b1fcbfc91cc08bd003 + languageName: node + linkType: hard + "@babel/helpers@npm:^7.25.0": version: 7.25.0 resolution: "@babel/helpers@npm:7.25.0" @@ -2404,6 +2574,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.26.10": + version: 7.26.10 + resolution: "@babel/helpers@npm:7.26.10" + dependencies: + "@babel/template": "npm:^7.26.9" + "@babel/types": "npm:^7.26.10" + checksum: 10c0/f99e1836bcffce96db43158518bb4a24cf266820021f6461092a776cba2dc01d9fc8b1b90979d7643c5c2ab7facc438149064463a52dd528b21c6ab32509784f + languageName: node + linkType: hard + "@babel/highlight@npm:^7.24.7": version: 7.24.7 resolution: "@babel/highlight@npm:7.24.7" @@ -2438,6 +2618,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.26.10, @babel/parser@npm:^7.26.9": + version: 7.26.10 + resolution: "@babel/parser@npm:7.26.10" + dependencies: + "@babel/types": "npm:^7.26.10" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/c47f5c0f63cd12a663e9dc94a635f9efbb5059d98086a92286d7764357c66bceba18ccbe79333e01e9be3bfb8caba34b3aaebfd8e62c3d5921c8cf907267be75 + languageName: node + linkType: hard + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.3": version: 7.25.3 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.3" @@ -2450,6 +2641,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/7aab47fcbb8c1ddc195a3cd66609edcad54c5022f018db7de40185f0182950389690e953e952f117a1737b72f665ff02ad30de6c02b49b97f1d8f4ccdffedc34 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.0" @@ -2461,6 +2664,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/3a652b3574ca62775c5f101f8457950edc540c3581226579125da535d67765f41ad7f0e6327f8efeb2540a5dad5bb0c60a89fb934af3f67472e73fb63612d004 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.0" @@ -2472,6 +2686,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/18fc9004104a150f9f5da9f3307f361bc3104d16778bb593b7523d5110f04a8df19a2587e6bdd5e726fb1d397191add45223f4f731bb556c33f14f2779d596e8 + languageName: node + linkType: hard + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.7" @@ -2485,6 +2710,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10c0/3f6c8781a2f7aa1791a31d2242399ca884df2ab944f90c020b6f112fb19f05fa6dad5be143d274dad1377e40415b63d24d5489faf5060b9c4a99e55d8f0c317c + languageName: node + linkType: hard + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.0" @@ -2497,6 +2735,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/02b365f0cc4df8b8b811c68697c93476da387841e5f153fe42766f34241b685503ea51110d5ed6df7132759820b93e48d9fa3743cffc091eed97c19f7e5fe272 + languageName: node + linkType: hard + "@babel/plugin-proposal-class-properties@npm:^7.0.0, @babel/plugin-proposal-class-properties@npm:^7.13.0": version: 7.18.6 resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" @@ -2684,6 +2934,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-import-assertions@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/525b174e60b210d96c1744c1575fc2ddedcc43a479cba64a5344cf77bd0541754fc58120b5a11ff832ba098437bb05aa80900d1f49bb3d888c5e349a4a3a356e + languageName: node + linkType: hard + "@babel/plugin-syntax-import-attributes@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.7" @@ -2695,6 +2956,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-import-attributes@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352 + languageName: node + linkType: hard + "@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" @@ -2850,6 +3122,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-arrow-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622 + languageName: node + linkType: hard + "@babel/plugin-transform-async-generator-functions@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.0" @@ -2864,6 +3147,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-async-generator-functions@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.26.8" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.8" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f6fefce963fe2e6268dde1958975d7adbce65fba94ca6f4bc554c90da03104ad1dd2e66d03bc0462da46868498428646e30b03a218ef0e5a84bfc87a7e375cec + languageName: node + linkType: hard + "@babel/plugin-transform-async-to-generator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.7" @@ -2877,6 +3173,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" + dependencies: + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c443d9e462ddef733ae56360064f32fc800105803d892e4ff32d7d6a6922b3765fa97b9ddc9f7f1d3f9d8c2d95721d85bef9dbf507804214c6cf6466b105c168 + languageName: node + linkType: hard + "@babel/plugin-transform-block-scoped-functions@npm:^7.0.0, @babel/plugin-transform-block-scoped-functions@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.7" @@ -2888,6 +3197,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-block-scoped-functions@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.26.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2f3060800ead46b09971dd7bf830d66383b7bc61ced9945633b4ef9bf87787956ea83fcf49b387cecb377812588c6b81681714c760f9cf89ecba45edcbab1192 + languageName: node + linkType: hard + "@babel/plugin-transform-block-scoping@npm:^7.0.0, @babel/plugin-transform-block-scoping@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-block-scoping@npm:7.25.0" @@ -2899,6 +3219,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-block-scoping@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a76e30becb6c75b4d87a2cd53556fddb7c88ddd56bfadb965287fd944810ac159aa8eb5705366fc37336041f63154ed9fab3862fb10482a45bf5ede63fd55fda + languageName: node + linkType: hard + "@babel/plugin-transform-class-properties@npm:^7.22.5, @babel/plugin-transform-class-properties@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-class-properties@npm:7.24.7" @@ -2911,6 +3242,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-class-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f0603b6bd34d8ba62c03fc0572cb8bbc75874d097ac20cc7c5379e001081210a84dba1749e7123fca43b978382f605bb9973c99caf2c5b4c492d5c0a4a441150 + languageName: node + linkType: hard + "@babel/plugin-transform-class-static-block@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-class-static-block@npm:7.24.7" @@ -2924,6 +3267,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-class-static-block@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10c0/cdcf5545ae6514ed75fbd73cccfa209c6a5dfdf0c2bb7bb62c0fb4ec334a32281bcf1bc16ace494d9dbe93feb8bdc0bd3cf9d9ccb6316e634a67056fa13b741b + languageName: node + linkType: hard + "@babel/plugin-transform-classes@npm:^7.0.0, @babel/plugin-transform-classes@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-classes@npm:7.25.0" @@ -2940,6 +3295,22 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-classes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d + languageName: node + linkType: hard + "@babel/plugin-transform-computed-properties@npm:^7.0.0, @babel/plugin-transform-computed-properties@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-computed-properties@npm:7.24.7" @@ -2952,6 +3323,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-computed-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/template": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b + languageName: node + linkType: hard + "@babel/plugin-transform-destructuring@npm:^7.0.0, @babel/plugin-transform-destructuring@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-destructuring@npm:7.24.8" @@ -2963,6 +3346,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-destructuring@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49 + languageName: node + linkType: hard + "@babel/plugin-transform-dotall-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.7" @@ -2975,6 +3369,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-dotall-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7c3471ae5cf7521fd8da5b03e137e8d3733fc5ee4524ce01fb0c812f0bb77cb2c9657bc8a6253186be3a15bb4caa8974993c7ddc067f554ecc6a026f0a3b5e12 + languageName: node + linkType: hard + "@babel/plugin-transform-duplicate-keys@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.7" @@ -2986,6 +3392,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d0c74894b9bf6ff2a04189afffb9cd43d87ebd7b7943e51a827c92d2aaa40fa89ac81565a2fd6fbeabf9e38413a9264c45862eee2b017f1d49046cc3c8ff06b4 + languageName: node + linkType: hard + "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.0" @@ -2998,6 +3415,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/a8039a6d2b90e011c7b30975edee47b5b1097cf3c2f95ec1f5ddd029898d783a995f55f7d6eb8d6bb8873c060fb64f9f1ccba938dfe22d118d09cf68e0cd3bf6 + languageName: node + linkType: hard + "@babel/plugin-transform-dynamic-import@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.7" @@ -3010,6 +3439,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-dynamic-import@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5e643a8209072b668350f5788f23c64e9124f81f958b595c80fecca6561086d8ef346c04391b9e5e4cad8b8cbe22c258f0cd5f4ea89b97e74438e7d1abfd98cf + languageName: node + linkType: hard + "@babel/plugin-transform-exponentiation-operator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.7" @@ -3022,6 +3462,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-exponentiation-operator@npm:^7.26.3": + version: 7.26.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.26.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cac922e851c6a0831fdd2e3663564966916015aeff7f4485825fc33879cbc3a313ceb859814c9200248e2875d65bb13802a723e5d7d7b40a2e90da82a5a1e15c + languageName: node + linkType: hard + "@babel/plugin-transform-export-namespace-from@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.7" @@ -3034,6 +3485,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f291ea2ec5f36de9028a00cbd5b32f08af281b8183bf047200ff001f4cb260be56f156b2449f42149448a4a033bd6e86a3a7f06d0c2825532eb0ae6b03058dfb + languageName: node + linkType: hard + "@babel/plugin-transform-flow-strip-types@npm:^7.0.0, @babel/plugin-transform-flow-strip-types@npm:^7.24.7": version: 7.25.2 resolution: "@babel/plugin-transform-flow-strip-types@npm:7.25.2" @@ -3058,6 +3520,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-for-of@npm:^7.26.9": + version: 7.26.9 + resolution: "@babel/plugin-transform-for-of@npm:7.26.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e28a521521cf9f84ddd69ca8da7c89fb9f7aa38e4dea35742fe973e4e1d7c23f9cee1a4861a2fdd9e9f18ff945886a44d7335cea1c603b96bfcb1c7c8791ef09 + languageName: node + linkType: hard + "@babel/plugin-transform-function-name@npm:^7.0.0, @babel/plugin-transform-function-name@npm:^7.25.1": version: 7.25.1 resolution: "@babel/plugin-transform-function-name@npm:7.25.1" @@ -3071,6 +3545,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-function-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-function-name@npm:7.25.9" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1 + languageName: node + linkType: hard + "@babel/plugin-transform-json-strings@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-json-strings@npm:7.24.7" @@ -3083,6 +3570,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-json-strings@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/00bc2d4751dfc9d44ab725be16ee534de13cfd7e77dfb386e5dac9e48101ce8fcbc5971df919dc25b3f8a0fa85d6dc5f2a0c3cf7ec9d61c163d9823c091844f0 + languageName: node + linkType: hard + "@babel/plugin-transform-literals@npm:^7.0.0, @babel/plugin-transform-literals@npm:^7.25.2": version: 7.25.2 resolution: "@babel/plugin-transform-literals@npm:7.25.2" @@ -3094,6 +3592,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b + languageName: node + linkType: hard + "@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.7" @@ -3106,6 +3615,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6e2051e10b2d6452980fc4bdef9da17c0d6ca48f81b8529e8804b031950e4fff7c74a7eb3de4a2b6ad22ffb631d0b67005425d232cce6e2b29ce861c78ed04f5 + languageName: node + linkType: hard + "@babel/plugin-transform-member-expression-literals@npm:^7.0.0, @babel/plugin-transform-member-expression-literals@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.7" @@ -3117,6 +3637,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-amd@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-modules-amd@npm:7.24.7" @@ -3129,6 +3660,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-amd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/849957d9484d0a2d93331226ed6cf840cee7d57454549534c447c93f8b839ef8553eae9877f8f550e3c39f14d60992f91244b2e8e7502a46064b56c5d68ba855 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.23.0, @babel/plugin-transform-modules-commonjs@npm:^7.23.3, @babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8" @@ -3142,6 +3685,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-commonjs@npm:^7.26.3, @babel/plugin-transform-modules-commonjs@npm:^7.7.5": + version: 7.26.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.26.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/82e59708f19f36da29531a64a7a94eabbf6ff46a615e0f5d9b49f3f59e8ef10e2bac607d749091508d3fa655146c9e5647c3ffeca781060cdabedb4c7a33c6f2 + languageName: node + linkType: hard + "@babel/plugin-transform-modules-systemjs@npm:^7.25.0": version: 7.25.0 resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.0" @@ -3156,6 +3711,20 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8299e3437542129c2684b86f98408c690df27db4122a79edded4782cf04e755d6ecb05b1e812c81a34224a81e664303392d5f3c36f3d2d51fdc99bb91c881e9a + languageName: node + linkType: hard + "@babel/plugin-transform-modules-umd@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-modules-umd@npm:7.24.7" @@ -3168,6 +3737,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-modules-umd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" + dependencies: + "@babel/helper-module-transforms": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/fa11a621f023e2ac437b71d5582f819e667c94306f022583d77da9a8f772c4128861a32bbb63bef5cba581a70cd7dbe87a37238edaafcfacf889470c395e7076 + languageName: node + linkType: hard + "@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.7" @@ -3180,6 +3761,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/32b14fda5c885d1706863f8af2ee6c703d39264355b57482d3a24fce7f6afbd4c7a0896e501c0806ed2b0759beb621bf7f3f7de1fbbc82026039a98d961e78ef + languageName: node + linkType: hard + "@babel/plugin-transform-new-target@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-new-target@npm:7.24.7" @@ -3191,6 +3784,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-new-target@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-new-target@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7b5f1b7998f1cf183a7fa646346e2f3742e5805b609f28ad5fee22d666a15010f3e398b7e1ab78cddb7901841a3d3f47135929af23d54e8bf4ce69b72051f71e + languageName: node + linkType: hard + "@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.11, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" @@ -3203,6 +3807,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.26.6": + version: 7.26.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.26.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/574d6db7cbc5c092db5d1dece8ce26195e642b9c40dbfeaf3082058a78ad7959c1c333471cdd45f38b784ec488850548075d527b178c5010ee9bff7aa527cc7a + languageName: node + linkType: hard + "@babel/plugin-transform-numeric-separator@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.7" @@ -3215,6 +3830,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-numeric-separator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/ad63ad341977844b6f9535fcca15ca0d6d6ad112ed9cc509d4f6b75e9bf4b1b1a96a0bcb1986421a601505d34025373608b5f76d420d924b4e21f86b1a1f2749 + languageName: node + linkType: hard + "@babel/plugin-transform-object-rest-spread@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.7" @@ -3229,6 +3855,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/02077d8abd83bf6a48ff0b59e98d7561407cf75b591cffd3fdc5dc5e9a13dec1c847a7a690983762a3afecddb244831e897e0515c293e7c653b262c30cd614af + languageName: node + linkType: hard + "@babel/plugin-transform-object-super@npm:^7.0.0, @babel/plugin-transform-object-super@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-object-super@npm:7.24.7" @@ -3241,6 +3880,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-object-super@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-super@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600 + languageName: node + linkType: hard + "@babel/plugin-transform-optional-catch-binding@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.7" @@ -3253,6 +3904,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/722fd5ee12ab905309d4e84421584fce4b6d9e6b639b06afb20b23fa809e6ab251e908a8d5e8b14d066a28186b8ef8f58d69fd6eca9ce1b9ef7af08333378f6c + languageName: node + linkType: hard + "@babel/plugin-transform-optional-chaining@npm:^7.23.0, @babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8" @@ -3266,6 +3928,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/041ad2beae5affb8e68a0bcb6882a2dadb758db3c629a0e012f57488ab43a822ac1ea17a29db8ef36560a28262a5dfa4dbbbf06ed6e431db55abe024b7cd3961 + languageName: node + linkType: hard + "@babel/plugin-transform-parameters@npm:^7.0.0, @babel/plugin-transform-parameters@npm:^7.20.7, @babel/plugin-transform-parameters@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-parameters@npm:7.24.7" @@ -3277,6 +3951,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-parameters@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-parameters@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3 + languageName: node + linkType: hard + "@babel/plugin-transform-private-methods@npm:^7.22.5, @babel/plugin-transform-private-methods@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-private-methods@npm:7.24.7" @@ -3289,6 +3974,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-private-methods@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/64bd71de93d39daefa3e6c878d6f2fd238ed7d4ecfb13b0e771ddbbc131487def3ceb405b62b534a5cbb5043046b504e1b189b0a45229cc75af979a9fbcaa7bd + languageName: node + linkType: hard + "@babel/plugin-transform-private-property-in-object@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.7" @@ -3303,6 +4000,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d4965de19d9f204e692cc74dbc39f0bb469e5f29df96dd4457ea23c5e5596fba9d5af76eaa96f9d48a9fc20ec5f12a94c679285e36b8373406868ea228109e27 + languageName: node + linkType: hard + "@babel/plugin-transform-property-literals@npm:^7.0.0, @babel/plugin-transform-property-literals@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-property-literals@npm:7.24.7" @@ -3314,6 +4024,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-property-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106 + languageName: node + linkType: hard + "@babel/plugin-transform-react-constant-elements@npm:^7.21.3": version: 7.25.1 resolution: "@babel/plugin-transform-react-constant-elements@npm:7.25.1" @@ -3408,6 +4129,30 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-regenerator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + regenerator-transform: "npm:^0.15.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/eef3ffc19f7d291b863635f32b896ad7f87806d9219a0d3404a470219abcfc5b43aabecd691026c48e875b965760d9c16abee25e6447272233f30cd07f453ec7 + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/4abc1db6c964efafc7a927cda814c7275275afa4b530483e0936fd614de23cb5802f7ca43edaa402008a723d4e7eac282b6f5283aa2eeb3b27da6d6c1dd7f8ed + languageName: node + linkType: hard + "@babel/plugin-transform-reserved-words@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-reserved-words@npm:7.24.7" @@ -3419,6 +4164,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-reserved-words@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8b028b80d1983e3e02f74e21924323cc66ba930e5c5758909a122aa7d80e341b8b0f42e1698e42b50d47a6ba911332f584200b28e1a4e2104b7514d9dc011e96 + languageName: node + linkType: hard + "@babel/plugin-transform-runtime@npm:^7.23.2": version: 7.24.7 resolution: "@babel/plugin-transform-runtime@npm:7.24.7" @@ -3446,6 +4202,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b + languageName: node + linkType: hard + "@babel/plugin-transform-spread@npm:^7.0.0, @babel/plugin-transform-spread@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-spread@npm:7.24.7" @@ -3458,6 +4225,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-spread@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf + languageName: node + linkType: hard + "@babel/plugin-transform-sticky-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.7" @@ -3469,6 +4248,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-sticky-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e9612b0615dab4c4fba1c560769616a9bd7b9226c73191ef84b6c3ee185c8b719b4f887cdd8336a0a13400ce606ab4a0d33bc8fa6b4fcdb53e2896d07f2568f6 + languageName: node + linkType: hard + "@babel/plugin-transform-template-literals@npm:^7.0.0, @babel/plugin-transform-template-literals@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" @@ -3480,6 +4270,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-template-literals@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/plugin-transform-template-literals@npm:7.26.8" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/205a938ded9554857a604416d369023a961334b6c20943bd861b45f0e5dbbeca1cf6fda1c2049126e38a0d18865993433fdc78eae3028e94836b3b643c08ba0d + languageName: node + linkType: hard + "@babel/plugin-transform-typeof-symbol@npm:^7.24.8": version: 7.24.8 resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.8" @@ -3491,6 +4292,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-typeof-symbol@npm:^7.26.7": + version: 7.26.7 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.26.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.26.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d5640e3457637e6eee1d7205d255602ccca124ed30e4de10ec75ba179d167e0a826ceeab424e119921f5c995dfddf39ef1f2c91efd2dcbf3f0dc1e7931dfd1d1 + languageName: node + linkType: hard + "@babel/plugin-transform-typescript@npm:^7.24.7": version: 7.25.2 resolution: "@babel/plugin-transform-typescript@npm:7.25.2" @@ -3517,6 +4329,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/615c84d7c53e1575d54ba9257e753e0b98c5de1e3225237d92f55226eaab8eb5bceb74df43f50f4aa162b0bbcc934ed11feafe2b60b8ec4934ce340fad4b8828 + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-property-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.7" @@ -3529,6 +4352,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1685836fc38af4344c3d2a9edbd46f7c7b28d369b63967d5b83f2f6849ec45b97223461cea3d14cc3f0be6ebb284938e637a5ca3955c0e79c873d62f593d615c + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.7" @@ -3541,6 +4376,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/448004f978279e726af26acd54f63f9002c9e2582ecd70d1c5c4436f6de490fcd817afb60016d11c52f5ef17dbaac2590e8cc7bfaf4e91b58c452cf188c7920f + languageName: node + linkType: hard + "@babel/plugin-transform-unicode-sets-regex@npm:^7.24.7": version: 7.24.7 resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.24.7" @@ -3553,6 +4400,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.25.9" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/56ee04fbe236b77cbcd6035cbf0be7566d1386b8349154ac33244c25f61170c47153a9423cd1d92855f7d6447b53a4a653d9e8fd1eaeeee14feb4b2baf59bd9f + languageName: node + linkType: hard + "@babel/preset-env@npm:^7.20.2, @babel/preset-env@npm:^7.23.2": version: 7.25.3 resolution: "@babel/preset-env@npm:7.25.3" @@ -3646,6 +4505,85 @@ __metadata: languageName: node linkType: hard +"@babel/preset-env@npm:^7.26.9": + version: 7.26.9 + resolution: "@babel/preset-env@npm:7.26.9" + dependencies: + "@babel/compat-data": "npm:^7.26.8" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" + "@babel/plugin-transform-async-generator-functions": "npm:^7.26.8" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.26.5" + "@babel/plugin-transform-block-scoping": "npm:^7.25.9" + "@babel/plugin-transform-class-properties": "npm:^7.25.9" + "@babel/plugin-transform-class-static-block": "npm:^7.26.0" + "@babel/plugin-transform-classes": "npm:^7.25.9" + "@babel/plugin-transform-computed-properties": "npm:^7.25.9" + "@babel/plugin-transform-destructuring": "npm:^7.25.9" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.26.3" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" + "@babel/plugin-transform-for-of": "npm:^7.26.9" + "@babel/plugin-transform-function-name": "npm:^7.25.9" + "@babel/plugin-transform-json-strings": "npm:^7.25.9" + "@babel/plugin-transform-literals": "npm:^7.25.9" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" + "@babel/plugin-transform-modules-amd": "npm:^7.25.9" + "@babel/plugin-transform-modules-commonjs": "npm:^7.26.3" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" + "@babel/plugin-transform-modules-umd": "npm:^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" + "@babel/plugin-transform-new-target": "npm:^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.26.6" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" + "@babel/plugin-transform-object-super": "npm:^7.25.9" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/plugin-transform-private-methods": "npm:^7.25.9" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" + "@babel/plugin-transform-property-literals": "npm:^7.25.9" + "@babel/plugin-transform-regenerator": "npm:^7.25.9" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" + "@babel/plugin-transform-reserved-words": "npm:^7.25.9" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" + "@babel/plugin-transform-spread": "npm:^7.25.9" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" + "@babel/plugin-transform-template-literals": "npm:^7.26.8" + "@babel/plugin-transform-typeof-symbol": "npm:^7.26.7" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.10" + babel-plugin-polyfill-corejs3: "npm:^0.11.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.1" + core-js-compat: "npm:^3.40.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6812ca76bd38165a58fe8354bab5e7204e1aa17d8b9270bd8f8babb08cc7fa94cd29525fe41b553f2ba0e84033d566f10da26012b8ee0f81897005c5225d0051 + languageName: node + linkType: hard + "@babel/preset-flow@npm:^7.13.13, @babel/preset-flow@npm:^7.22.15": version: 7.24.7 resolution: "@babel/preset-flow@npm:7.24.7" @@ -3753,6 +4691,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.7.7": + version: 7.26.10 + resolution: "@babel/runtime@npm:7.26.10" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/6dc6d88c7908f505c4f7770fb4677dfa61f68f659b943c2be1f2a99cb6680343462867abf2d49822adc435932919b36c77ac60125793e719ea8745f2073d3745 + languageName: node + linkType: hard + "@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.24.7, @babel/template@npm:^7.25.0, @babel/template@npm:^7.3.3": version: 7.25.0 resolution: "@babel/template@npm:7.25.0" @@ -3775,6 +4722,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.26.9": + version: 7.26.9 + resolution: "@babel/template@npm:7.26.9" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/parser": "npm:^7.26.9" + "@babel/types": "npm:^7.26.9" + checksum: 10c0/019b1c4129cc01ad63e17529089c2c559c74709d225f595eee017af227fee11ae8a97a6ab19ae6768b8aa22d8d75dcb60a00b28f52e9fa78140672d928bc1ae9 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.23.5, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.1, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.3": version: 7.25.3 resolution: "@babel/traverse@npm:7.25.3" @@ -3805,6 +4763,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.26.8, @babel/traverse@npm:^7.26.9": + version: 7.26.10 + resolution: "@babel/traverse@npm:7.26.10" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.10" + "@babel/parser": "npm:^7.26.10" + "@babel/template": "npm:^7.26.9" + "@babel/types": "npm:^7.26.10" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/4e86bb4e3c30a6162bb91df86329df79d96566c3e2d9ccba04f108c30473a3a4fd360d9990531493d90f6a12004f10f616bf9b9229ca30c816b708615e9de2ac + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.5, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.25.2 resolution: "@babel/types@npm:7.25.2" @@ -3826,6 +4799,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9": + version: 7.26.10 + resolution: "@babel/types@npm:7.26.10" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/7a7f83f568bfc3dfabfaf9ae3a97ab5c061726c0afa7dcd94226d4f84a81559da368ed79671e3a8039d16f12476cf110381a377ebdea07587925f69628200dac + languageName: node + linkType: hard + "@base2/pretty-print-object@npm:1.0.1": version: 1.0.1 resolution: "@base2/pretty-print-object@npm:1.0.1" @@ -11385,6 +12368,121 @@ __metadata: languageName: node linkType: hard +"@preconstruct/cli@npm:2.8.11": + version: 2.8.11 + resolution: "@preconstruct/cli@npm:2.8.11" + dependencies: + "@babel/code-frame": "npm:^7.5.5" + "@babel/core": "npm:^7.7.7" + "@babel/helper-module-imports": "npm:^7.10.4" + "@babel/runtime": "npm:^7.7.7" + "@preconstruct/hook": "npm:^0.4.0" + "@rollup/plugin-alias": "npm:^3.1.1" + "@rollup/plugin-commonjs": "npm:^15.0.0" + "@rollup/plugin-json": "npm:^4.1.0" + "@rollup/plugin-node-resolve": "npm:^11.2.1" + "@rollup/plugin-replace": "npm:^2.4.1" + builtin-modules: "npm:^3.1.0" + chalk: "npm:^4.1.0" + ci-info: "npm:^3.8.0" + dataloader: "npm:^2.0.0" + detect-indent: "npm:^6.0.0" + enquirer: "npm:^2.3.6" + estree-walker: "npm:^2.0.1" + fast-deep-equal: "npm:^2.0.1" + fast-glob: "npm:^3.2.4" + fs-extra: "npm:^9.0.1" + is-reference: "npm:^1.2.1" + jest-worker: "npm:^26.3.0" + magic-string: "npm:^0.30.0" + ms: "npm:^2.1.2" + normalize-path: "npm:^3.0.0" + npm-packlist: "npm:^2.1.2" + p-limit: "npm:^3.0.2" + parse-glob: "npm:^3.0.4" + parse-json: "npm:^5.1.0" + quick-lru: "npm:^5.1.1" + resolve-from: "npm:^5.0.0" + rollup: "npm:^2.79.1" + semver: "npm:^7.3.4" + terser: "npm:^5.16.8" + v8-compile-cache: "npm:^2.1.1" + zod: "npm:^3.21.4" + bin: + preconstruct: bin.js + checksum: 10c0/8f79bc789e0eae239c1a622c93928bed86bad6f994a9eeeacd9e8c7da4e06865fb465b1c57cf1f64cbc84b2a8e5c957e2fcd4feea0f1d37d1c0dd156852fd7a8 + languageName: node + linkType: hard + +"@preconstruct/cli@patch:@preconstruct/cli@npm%3A2.8.11#~/.yarn/patches/@preconstruct-cli-npm-2.8.11-030abfa6ae.patch": + version: 2.8.11 + resolution: "@preconstruct/cli@patch:@preconstruct/cli@npm%3A2.8.11#~/.yarn/patches/@preconstruct-cli-npm-2.8.11-030abfa6ae.patch::version=2.8.11&hash=976544" + dependencies: + "@babel/code-frame": "npm:^7.5.5" + "@babel/core": "npm:^7.7.7" + "@babel/helper-module-imports": "npm:^7.10.4" + "@babel/runtime": "npm:^7.7.7" + "@preconstruct/hook": "npm:^0.4.0" + "@rollup/plugin-alias": "npm:^3.1.1" + "@rollup/plugin-commonjs": "npm:^15.0.0" + "@rollup/plugin-json": "npm:^4.1.0" + "@rollup/plugin-node-resolve": "npm:^11.2.1" + "@rollup/plugin-replace": "npm:^2.4.1" + builtin-modules: "npm:^3.1.0" + chalk: "npm:^4.1.0" + ci-info: "npm:^3.8.0" + dataloader: "npm:^2.0.0" + detect-indent: "npm:^6.0.0" + enquirer: "npm:^2.3.6" + estree-walker: "npm:^2.0.1" + fast-deep-equal: "npm:^2.0.1" + fast-glob: "npm:^3.2.4" + fs-extra: "npm:^9.0.1" + is-reference: "npm:^1.2.1" + jest-worker: "npm:^26.3.0" + magic-string: "npm:^0.30.0" + ms: "npm:^2.1.2" + normalize-path: "npm:^3.0.0" + npm-packlist: "npm:^2.1.2" + p-limit: "npm:^3.0.2" + parse-glob: "npm:^3.0.4" + parse-json: "npm:^5.1.0" + quick-lru: "npm:^5.1.1" + resolve-from: "npm:^5.0.0" + rollup: "npm:^2.79.1" + semver: "npm:^7.3.4" + terser: "npm:^5.16.8" + v8-compile-cache: "npm:^2.1.1" + zod: "npm:^3.21.4" + bin: + preconstruct: bin.js + checksum: 10c0/7b8c885057f2ec0a6fce5f91f3a8c13ec5d685707d52238199dabe538cd1c405df8333bca2d30899e57e1e3d8cfe451aa4067bb61d6a8c1069afbb544540cb6d + languageName: node + linkType: hard + +"@preconstruct/hook@npm:^0.4.0": + version: 0.4.0 + resolution: "@preconstruct/hook@npm:0.4.0" + dependencies: + "@babel/core": "npm:^7.7.7" + "@babel/plugin-transform-modules-commonjs": "npm:^7.7.5" + pirates: "npm:^4.0.1" + source-map-support: "npm:^0.5.16" + checksum: 10c0/df2d5eab2dcf4d0eab3786ebb904dd4d1ff8d7a5e76e787f928ee3ff436af6441dff2929e917c70f1e709fb972e7db742cb23b77f6b8fdc3a5d0cc9bd74874cf + languageName: node + linkType: hard + +"@prettier/sync@npm:^0.5.2": + version: 0.5.3 + resolution: "@prettier/sync@npm:0.5.3" + dependencies: + make-synchronized: "npm:^0.2.10" + peerDependencies: + prettier: "*" + checksum: 10c0/c2e56230c7e195e14e3617217b96d15b76be9fd8fb735f20b8cb2f44507b2a26d043ad2e7d468ef34bdd8d8b64d2c8d86a855260f5d83f9e2b49b8874b63237a + languageName: node + linkType: hard + "@prisma/instrumentation@npm:5.19.1": version: 5.19.1 resolution: "@prisma/instrumentation@npm:5.19.1" @@ -14896,6 +15994,86 @@ __metadata: languageName: node linkType: hard +"@rollup/plugin-alias@npm:^3.1.1": + version: 3.1.9 + resolution: "@rollup/plugin-alias@npm:3.1.9" + dependencies: + slash: "npm:^3.0.0" + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: 10c0/f932771db3c87ccc6008e4d82c89c5a09349c834180a7ca6c3ee4d5dbf086cb27f9ce5f5aee42a66bf556e5fd3094438ffdf47e19f5bb0e15ea3cb1a9f34860d + languageName: node + linkType: hard + +"@rollup/plugin-commonjs@npm:^15.0.0": + version: 15.1.0 + resolution: "@rollup/plugin-commonjs@npm:15.1.0" + dependencies: + "@rollup/pluginutils": "npm:^3.1.0" + commondir: "npm:^1.0.1" + estree-walker: "npm:^2.0.1" + glob: "npm:^7.1.6" + is-reference: "npm:^1.2.1" + magic-string: "npm:^0.25.7" + resolve: "npm:^1.17.0" + peerDependencies: + rollup: ^2.22.0 + checksum: 10c0/e9e6f030c6b9f9fd236ec690cb96e56334460965748febac6a1204026a1aef558e965154bbbd709036dc2b7c453f5a196b30df237a9fde9337ae8ba77ea97f16 + languageName: node + linkType: hard + +"@rollup/plugin-json@npm:^4.1.0": + version: 4.1.0 + resolution: "@rollup/plugin-json@npm:4.1.0" + dependencies: + "@rollup/pluginutils": "npm:^3.0.8" + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + checksum: 10c0/9fc4a3ee60929afcb5269ebda602914d1cf5dc020808f85be90c0a5a2ba9ca26136b0284a1935984861f0549a1e1db30fc372906c14425f5da4909f0fd21e5ea + languageName: node + linkType: hard + +"@rollup/plugin-node-resolve@npm:^11.2.1": + version: 11.2.1 + resolution: "@rollup/plugin-node-resolve@npm:11.2.1" + dependencies: + "@rollup/pluginutils": "npm:^3.1.0" + "@types/resolve": "npm:1.17.1" + builtin-modules: "npm:^3.1.0" + deepmerge: "npm:^4.2.2" + is-module: "npm:^1.0.0" + resolve: "npm:^1.19.0" + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: 10c0/a8226b01352ee1f7133b1b59b3906267e11c99020a55e3b7a313e03889f790d1cd94e7f7769d3963261e897c3265082533ba595976f8e3f08cf70aa88bf1ddd7 + languageName: node + linkType: hard + +"@rollup/plugin-replace@npm:^2.4.1": + version: 2.4.2 + resolution: "@rollup/plugin-replace@npm:2.4.2" + dependencies: + "@rollup/pluginutils": "npm:^3.1.0" + magic-string: "npm:^0.25.7" + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + checksum: 10c0/ea3d27291c791661638b91809d0247dde1ee71be0b16fa7060078c2700db3669eada2c3978ea979b917b29ebe06f3fddc8797feae554da966264a22142b5771a + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^3.0.8, @rollup/pluginutils@npm:^3.1.0": + version: 3.1.0 + resolution: "@rollup/pluginutils@npm:3.1.0" + dependencies: + "@types/estree": "npm:0.0.39" + estree-walker: "npm:^1.0.1" + picomatch: "npm:^2.2.2" + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: 10c0/7151753160d15ba2b259461a6c25b3932150994ea52dba8fd3144f634c7647c2e56733d986e2c15de67c4d96a9ee7d6278efa6d2e626a7169898fd64adc0f90c + languageName: node + linkType: hard + "@rollup/pluginutils@npm:^4.1.2": version: 4.2.1 resolution: "@rollup/pluginutils@npm:4.2.1" @@ -19688,6 +20866,13 @@ __metadata: languageName: node linkType: hard +"@types/babel__preset-env@npm:^7": + version: 7.10.0 + resolution: "@types/babel__preset-env@npm:7.10.0" + checksum: 10c0/5ad0c3a8bec4f7612ee8aeecb4ee94494d3bc193f6da608cd118175e726bb2cf649515aded650defb968bfae4ec6e6c52c0c06fc83be261c0b8eaa3f8f2cf336 + languageName: node + linkType: hard + "@types/babel__template@npm:*": version: 7.4.4 resolution: "@types/babel__template@npm:7.4.4" @@ -20104,6 +21289,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:0.0.39": + version: 0.0.39 + resolution: "@types/estree@npm:0.0.39" + checksum: 10c0/f0af6c95ac1988c4827964bd9d3b51d24da442e2188943f6dfcb1e1559103d5d024d564b2e9d3f84c53714a02a0a7435c7441138eb63d9af5de4dfc66cdc0d92 + languageName: node + linkType: hard + "@types/estree@npm:^0.0.51": version: 0.0.51 resolution: "@types/estree@npm:0.0.51" @@ -21181,6 +22373,15 @@ __metadata: languageName: node linkType: hard +"@types/resolve@npm:1.17.1": + version: 1.17.1 + resolution: "@types/resolve@npm:1.17.1" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/6eeb9c27d99bf4b393bf168d43208f63e78cefca5644662a0bdb2bdbf8352386f4f3aca66add138fc41bce5f66fd48a0de430a1473f11b612fbed0375ae78031 + languageName: node + linkType: hard + "@types/resolve@npm:^1.20.2": version: 1.20.6 resolution: "@types/resolve@npm:1.20.6" @@ -24458,6 +25659,19 @@ __metadata: languageName: node linkType: hard +"babel-plugin-module-resolver@npm:^5.0.2": + version: 5.0.2 + resolution: "babel-plugin-module-resolver@npm:5.0.2" + dependencies: + find-babel-config: "npm:^2.1.1" + glob: "npm:^9.3.3" + pkg-up: "npm:^3.1.0" + reselect: "npm:^4.1.7" + resolve: "npm:^1.22.8" + checksum: 10c0/ccbb9e673c4219f68937349267521becb72be292cf30bf70b861c3e709d24fbfa589da0bf6c100a0def799d38199299171cb6eac3fb00b1ea740373e2c1fe54c + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs2@npm:^0.4.10": version: 0.4.11 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11" @@ -24483,6 +25697,18 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs3@npm:^0.11.0": + version: 0.11.1 + resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.6.3" + core-js-compat: "npm:^3.40.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/025f754b6296d84b20200aff63a3c1acdd85e8c621781f2bd27fe2512d0060526192d02329326947c6b29c27cf475fbcfaaff8c51eab1d2bfc7b79086bb64229 + languageName: node + linkType: hard + "babel-plugin-polyfill-regenerator@npm:^0.6.1": version: 0.6.2 resolution: "babel-plugin-polyfill-regenerator@npm:0.6.2" @@ -25778,7 +27004,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.24.0": +"browserslist@npm:^4.24.0, browserslist@npm:^4.24.4": version: 4.24.4 resolution: "browserslist@npm:4.24.4" dependencies: @@ -25875,7 +27101,7 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.3.0": +"builtin-modules@npm:^3.1.0, builtin-modules@npm:^3.3.0": version: 3.3.0 resolution: "builtin-modules@npm:3.3.0" checksum: 10c0/2cb3448b4f7306dc853632a4fcddc95e8d4e4b9868c139400027b71938fc6806d4ff44007deffb362ac85724bd40c2c6452fb6a0aa4531650eeddb98d8e5ee8a @@ -26620,7 +27846,7 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0, ci-info@npm:^3.7.0": +"ci-info@npm:^3.2.0, ci-info@npm:^3.7.0, ci-info@npm:^3.8.0": version: 3.9.0 resolution: "ci-info@npm:3.9.0" checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a @@ -27741,6 +28967,15 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.40.0": + version: 3.41.0 + resolution: "core-js-compat@npm:3.41.0" + dependencies: + browserslist: "npm:^4.24.4" + checksum: 10c0/92d2c748d3dd1c4e3b6cee6b6683b9212db9bc0a6574d933781210daf3baaeb76334ed4636eb8935b45802aa8d9235ab604c9a262694e02a2fa17ad0f6976829 + languageName: node + linkType: hard + "core-js-pure@npm:^3.30.2": version: 3.38.0 resolution: "core-js-pure@npm:3.38.0" @@ -28677,6 +29912,13 @@ __metadata: languageName: node linkType: hard +"dataloader@npm:^2.0.0": + version: 2.2.3 + resolution: "dataloader@npm:2.2.3" + checksum: 10c0/9b9a056fbc863ca86da87d59e053e871e263b4966aa4d55e40d61a65e96815fae5530ca220629064ca5f8e3000c0c4ec93292e170c38ff393fb34256b4d7c1aa + languageName: node + linkType: hard + "dataloader@npm:^2.2.2": version: 2.2.2 resolution: "dataloader@npm:2.2.2" @@ -29897,6 +31139,16 @@ __metadata: languageName: node linkType: hard +"enquirer@npm:^2.3.6": + version: 2.4.1 + resolution: "enquirer@npm:2.4.1" + dependencies: + ansi-colors: "npm:^4.1.1" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 + languageName: node + linkType: hard + "enquirer@npm:~2.3.6": version: 2.3.6 resolution: "enquirer@npm:2.3.6" @@ -31169,6 +32421,13 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^1.0.1": + version: 1.0.1 + resolution: "estree-walker@npm:1.0.1" + checksum: 10c0/fa9e5f8c1bbe8d01e314c0f03067b64a4f22d4c58410fc5237060d0c15b81e58c23921c41acc60abbdab490f1fdfcbd6408ede2d03ca704454272e0244d61a55 + languageName: node + linkType: hard + "estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" @@ -31686,6 +32945,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:^3.2.4": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + "fast-json-patch@npm:^3.0.0-1": version: 3.1.1 resolution: "fast-json-patch@npm:3.1.1" @@ -32022,6 +33294,15 @@ __metadata: languageName: node linkType: hard +"find-babel-config@npm:^2.1.1": + version: 2.1.2 + resolution: "find-babel-config@npm:2.1.2" + dependencies: + json5: "npm:^2.2.3" + checksum: 10c0/c9151b23d636378eae11aa761b0af41d5f67d5479e3ebfca7b0ec7feef91723f14242d243342783b89e6c51fc5b4120086eacf5d8a1a335cf7bae4b0ac89f493 + languageName: node + linkType: hard + "find-cache-dir@npm:^2.0.0": version: 2.1.0 resolution: "find-cache-dir@npm:2.1.0" @@ -32946,6 +34227,25 @@ __metadata: languageName: node linkType: hard +"glob-base@npm:^0.3.0": + version: 0.3.0 + resolution: "glob-base@npm:0.3.0" + dependencies: + glob-parent: "npm:^2.0.0" + is-glob: "npm:^2.0.0" + checksum: 10c0/4ce785c1dac2ff1e4660c010fa43ed2f1b38993dfd004023a3e7080b20bc61f29fbfe5d265b7e64cc84096ecf44e8ca876c7c1aad8f1f995d4c0f33034f3ae8c + languageName: node + linkType: hard + +"glob-parent@npm:^2.0.0": + version: 2.0.0 + resolution: "glob-parent@npm:2.0.0" + dependencies: + is-glob: "npm:^2.0.0" + checksum: 10c0/b9d59dc532d47aaaa4841046ff631b325a707f738445300b83b7a1ee603dd060c041a378e8a195c887d479bb703685cee4725c8f54b8dacef65355375f57d32a + languageName: node + linkType: hard + "glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.0, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -33070,7 +34370,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^9.2.0": +"glob@npm:^9.2.0, glob@npm:^9.3.3": version: 9.3.5 resolution: "glob@npm:9.3.5" dependencies: @@ -35592,6 +36892,13 @@ __metadata: languageName: node linkType: hard +"is-dotfile@npm:^1.0.0": + version: 1.0.3 + resolution: "is-dotfile@npm:1.0.3" + checksum: 10c0/aa6bb345aa06555f46eedd491bdd039b95d3fa80b899ee7d6b30628e309d705d403e445fd8a126ff70962adc1252171dbe0d72884afa323fb3c817387faf10ed + languageName: node + linkType: hard + "is-extendable@npm:^0.1.0": version: 0.1.1 resolution: "is-extendable@npm:0.1.1" @@ -35608,6 +36915,13 @@ __metadata: languageName: node linkType: hard +"is-extglob@npm:^1.0.0": + version: 1.0.0 + resolution: "is-extglob@npm:1.0.0" + checksum: 10c0/1ce5366d19958f36069a45ca996c1e51ab607f42a01eb0505f0ccffe8f9c91f5bcba6e971605efd8b4d4dfd0111afa3c8df3e1746db5b85b9a8f933f5e7286b7 + languageName: node + linkType: hard + "is-extglob@npm:^2.1.0, is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -35672,6 +36986,15 @@ __metadata: languageName: node linkType: hard +"is-glob@npm:^2.0.0": + version: 2.0.1 + resolution: "is-glob@npm:2.0.1" + dependencies: + is-extglob: "npm:^1.0.0" + checksum: 10c0/ef156806af0924983325c9218a8b8a838fa50e1a104ed2a11fe94829a5b27c1b05a4c8cf98d96cb3a7fea539c21f14ae2081e1a248f3d5a9eea62f2d4e9f8b0c + languageName: node + linkType: hard + "is-glob@npm:^3.1.0": version: 3.1.0 resolution: "is-glob@npm:3.1.0" @@ -35756,6 +37079,13 @@ __metadata: languageName: node linkType: hard +"is-module@npm:^1.0.0": + version: 1.0.0 + resolution: "is-module@npm:1.0.0" + checksum: 10c0/795a3914bcae7c26a1c23a1e5574c42eac13429625045737bf3e324ce865c0601d61aee7a5afbca1bee8cb300c7d9647e7dc98860c9bdbc3b7fdc51d8ac0bffc + languageName: node + linkType: hard + "is-nan@npm:^1.3.2": version: 1.3.2 resolution: "is-nan@npm:1.3.2" @@ -35903,6 +37233,15 @@ __metadata: languageName: node linkType: hard +"is-reference@npm:^1.2.1": + version: 1.2.1 + resolution: "is-reference@npm:1.2.1" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/7dc819fc8de7790264a0a5d531164f9f5b9ef5aa1cd05f35322d14db39c8a2ec78fd5d4bf57f9789f3ddd2b3abeea7728432b759636157a42db12a9e8c3b549b + languageName: node + linkType: hard + "is-reference@npm:^3.0.0": version: 3.0.2 resolution: "is-reference@npm:3.0.2" @@ -36975,6 +38314,17 @@ __metadata: languageName: node linkType: hard +"jest-worker@npm:^26.3.0": + version: 26.6.2 + resolution: "jest-worker@npm:26.6.2" + dependencies: + "@types/node": "npm:*" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^7.0.0" + checksum: 10c0/07e4dba650381604cda253ab6d5837fe0279c8d68c25884995b45bfe149a7a1e1b5a97f304b4518f257dac2a9ddc1808d57d650649c3ab855e9e60cf824d2970 + languageName: node + linkType: hard + "jest-worker@npm:^27.4.5": version: 27.5.1 resolution: "jest-worker@npm:27.5.1" @@ -37469,7 +38819,7 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^3.0.2": +"jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": version: 3.0.2 resolution: "jsesc@npm:3.0.2" bin: @@ -39068,7 +40418,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.25.3": +"magic-string@npm:^0.25.3, magic-string@npm:^0.25.7": version: 0.25.9 resolution: "magic-string@npm:0.25.9" dependencies: @@ -39253,6 +40603,13 @@ __metadata: languageName: node linkType: hard +"make-synchronized@npm:^0.2.10": + version: 0.2.10 + resolution: "make-synchronized@npm:0.2.10" + checksum: 10c0/8c94eeb6923a7237d61455c0a98720d5cb349be6c377c84406b39bd7d4e268a75c0556b9892d802269ca2adf4cac88412c0039154e7824d1a4288226f843e875 + languageName: node + linkType: hard + "makeerror@npm:1.0.12": version: 1.0.12 resolution: "makeerror@npm:1.0.12" @@ -41718,7 +43075,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.3": +"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.2, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -42634,7 +43991,7 @@ __metadata: languageName: node linkType: hard -"npm-packlist@npm:^2.1.4": +"npm-packlist@npm:^2.1.2, npm-packlist@npm:^2.1.4": version: 2.2.2 resolution: "npm-packlist@npm:2.2.2" dependencies: @@ -43789,7 +45146,19 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": +"parse-glob@npm:^3.0.4": + version: 3.0.4 + resolution: "parse-glob@npm:3.0.4" + dependencies: + glob-base: "npm:^0.3.0" + is-dotfile: "npm:^1.0.0" + is-extglob: "npm:^1.0.0" + is-glob: "npm:^2.0.0" + checksum: 10c0/4faf2e81ca85bc545777a1210ab770e0305c9e095680c219e5635e1a439d763feaf761e055b136425c3d6dcd3ec9431b77fd20f7411525b21031620125dc1dbc + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0, parse-json@npm:^5.1.0, parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" dependencies: @@ -46917,6 +48286,15 @@ __metadata: languageName: node linkType: hard +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10c0/5510785eeaf56bbfdf4e663d6753f125c08d2a372d4107bc1b756b7bf142e2ed80c2733a8b54e68fb309ba37690e66a0362699b0e21d5c1f0255dea1b00e6460 + languageName: node + linkType: hard + "regenerate@npm:^1.2.1, regenerate@npm:^1.4.2": version: 1.4.2 resolution: "regenerate@npm:1.4.2" @@ -47037,6 +48415,20 @@ __metadata: languageName: node linkType: hard +"regexpu-core@npm:^6.2.0": + version: 6.2.0 + resolution: "regexpu-core@npm:6.2.0" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.0" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.12.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10c0/bbcb83a854bf96ce4005ee4e4618b71c889cda72674ce6092432f0039b47890c2d0dfeb9057d08d440999d9ea03879ebbb7f26ca005ccf94390e55c348859b98 + languageName: node + linkType: hard + "registry-auth-token@npm:^4.0.0": version: 4.2.2 resolution: "registry-auth-token@npm:4.2.2" @@ -47062,6 +48454,13 @@ __metadata: languageName: node linkType: hard +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10c0/44f526c4fdbf0b29286101a282189e4dbb303f4013cf3fea058668d96d113b9180d3d03d1e13f6d4cbde38b7728bf951aecd9dc199938c080093a9a6f0d7a6bd + languageName: node + linkType: hard + "regjsparser@npm:^0.1.4": version: 0.1.5 resolution: "regjsparser@npm:0.1.5" @@ -47084,6 +48483,17 @@ __metadata: languageName: node linkType: hard +"regjsparser@npm:^0.12.0": + version: 0.12.0 + resolution: "regjsparser@npm:0.12.0" + dependencies: + jsesc: "npm:~3.0.2" + bin: + regjsparser: bin/parser + checksum: 10c0/99d3e4e10c8c7732eb7aa843b8da2fd8b647fe144d3711b480e4647dc3bff4b1e96691ccf17f3ace24aa866a50b064236177cb25e6e4fbbb18285d99edaed83b + languageName: node + linkType: hard + "regjsparser@npm:^0.9.1": version: 0.9.1 resolution: "regjsparser@npm:0.9.1" @@ -47584,6 +48994,13 @@ __metadata: languageName: node linkType: hard +"reselect@npm:^4.1.7": + version: 4.1.8 + resolution: "reselect@npm:4.1.8" + checksum: 10c0/06a305a504affcbb67dd0561ddc8306b35796199c7e15b38934c80606938a021eadcf68cfd58e7bb5e17786601c37602a3362a4665c7bf0a96c1041ceee9d0b7 + languageName: node + linkType: hard + "resize-observer-polyfill@npm:^1.5.1": version: 1.5.1 resolution: "resize-observer-polyfill@npm:1.5.1" @@ -47930,6 +49347,20 @@ __metadata: languageName: node linkType: hard +"rollup@npm:^2.79.1": + version: 2.79.2 + resolution: "rollup@npm:2.79.2" + dependencies: + fsevents: "npm:~2.3.2" + dependenciesMeta: + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/bc3746c988d903c2211266ddc539379d53d92689b9cc5c2b4e3ae161689de9af491957a567c629b6cc81f48d0928a7591fc4c383fba68a48d2966c9fb8a2bce9 + languageName: node + linkType: hard + "rollup@npm:^4.13.0, rollup@npm:^4.19.0": version: 4.20.0 resolution: "rollup@npm:4.20.0" @@ -50363,6 +51794,20 @@ __metadata: languageName: node linkType: hard +"terser@npm:^5.16.8": + version: 5.39.0 + resolution: "terser@npm:5.39.0" + dependencies: + "@jridgewell/source-map": "npm:^0.3.3" + acorn: "npm:^8.8.2" + commander: "npm:^2.20.0" + source-map-support: "npm:~0.5.20" + bin: + terser: bin/terser + checksum: 10c0/83326545ea1aecd6261030568b6191ccfa4cb6aa61d9ea41746a52479f50017a78b77e4725fbbc207c5df841ffa66a773c5ac33636e95c7ab94fe7e0379ae5c7 + languageName: node + linkType: hard + "terser@npm:^5.26.0": version: 5.31.5 resolution: "terser@npm:5.31.5" @@ -51402,6 +52847,14 @@ __metadata: "twenty-shared@workspace:*, twenty-shared@workspace:packages/twenty-shared": version: 0.0.0-use.local resolution: "twenty-shared@workspace:packages/twenty-shared" + dependencies: + "@babel/preset-env": "npm:^7.26.9" + "@preconstruct/cli": "patch:@preconstruct/cli@npm%3A2.8.11#~/.yarn/patches/@preconstruct-cli-npm-2.8.11-030abfa6ae.patch" + "@prettier/sync": "npm:^0.5.2" + "@sniptt/guards": "npm:^0.2.0" + "@types/babel__preset-env": "npm:^7" + babel-plugin-module-resolver: "npm:^5.0.2" + zod: "npm:3.23.8" languageName: unknown linkType: soft @@ -53145,6 +54598,13 @@ __metadata: languageName: node linkType: hard +"v8-compile-cache@npm:^2.1.1": + version: 2.4.0 + resolution: "v8-compile-cache@npm:2.4.0" + checksum: 10c0/387851192545e7f4d691ba674de90890bba76c0f08ee4909ab862377f556221e75b3a361466490e201203401d64d7795f889882bdabc98b6f3c0bf1038a535be + languageName: node + linkType: hard + "v8-to-istanbul@npm:^9.0.1": version: 9.3.0 resolution: "v8-to-istanbul@npm:9.3.0" @@ -55097,7 +56557,7 @@ __metadata: languageName: node linkType: hard -"zod@npm:^3.23.8": +"zod@npm:^3.21.4, zod@npm:^3.23.8": version: 3.24.2 resolution: "zod@npm:3.24.2" checksum: 10c0/c638c7220150847f13ad90635b3e7d0321b36cce36f3fc6050ed960689594c949c326dfe2c6fa87c14b126ee5d370ccdebd6efb304f41ef5557a4aaca2824565