diff --git a/packages/twenty-front-component-renderer/jest.config.mjs b/packages/twenty-front-component-renderer/jest.config.mjs new file mode 100644 index 0000000000..d9045ebb41 --- /dev/null +++ b/packages/twenty-front-component-renderer/jest.config.mjs @@ -0,0 +1,38 @@ +import { readFileSync } from 'fs'; +import { dirname, resolve } from 'path'; +import { pathsToModuleNameMapper } from 'ts-jest'; +import { fileURLToPath } from 'url'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + +const tsConfigPath = resolve(__dirname, './tsconfig.json'); +const tsConfig = JSON.parse(readFileSync(tsConfigPath, 'utf8')); + +const jestConfig = { + displayName: 'twenty-front-component-renderer', + preset: '../../jest.preset.js', + testEnvironment: 'jsdom', + transformIgnorePatterns: ['../../node_modules/'], + transform: { + '^.+\\.[tj]sx?$': [ + '@swc/jest', + { + jsc: { + parser: { syntax: 'typescript', tsx: true }, + transform: { react: { runtime: 'automatic' } }, + }, + }, + ], + }, + moduleNameMapper: { + ...pathsToModuleNameMapper(tsConfig.compilerOptions.paths, { + prefix: '/', + }), + }, + moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'], + extensionsToTreatAsEsm: ['.ts', '.tsx'], + coverageDirectory: './coverage', +}; + +export default jestConfig; diff --git a/packages/twenty-front-component-renderer/project.json b/packages/twenty-front-component-renderer/project.json index 9485478cc1..9f481837c7 100644 --- a/packages/twenty-front-component-renderer/project.json +++ b/packages/twenty-front-component-renderer/project.json @@ -22,6 +22,7 @@ }, "typecheck": {}, "lint": {}, + "test": {}, "generate-remote-dom-elements": { "executor": "nx:run-commands", "cache": true, diff --git a/packages/twenty-front-component-renderer/src/__stories__/html-tag/embedded/iframe/iframe-sandbox-dangerous.front-component.tsx b/packages/twenty-front-component-renderer/src/__stories__/html-tag/embedded/iframe/iframe-sandbox-dangerous.front-component.tsx new file mode 100644 index 0000000000..ff66e0fb89 --- /dev/null +++ b/packages/twenty-front-component-renderer/src/__stories__/html-tag/embedded/iframe/iframe-sandbox-dangerous.front-component.tsx @@ -0,0 +1,21 @@ +import { defineFrontComponent } from 'twenty-sdk/define'; +import { FrontComponentCard } from '@/__stories__/shared/front-components/front-component-card'; +import { FILL_RECT_STYLE } from '@/__stories__/shared/front-components/styles'; + +const IframeSandboxDangerousFrontComponent = () => ( + +