/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * */ 'use strict'; const common = { modulePathIgnorePatterns: ['/npm'], }; module.exports = { projects: [ { ...common, displayName: 'unit', globals: { IS_REACT_ACT_ENVIRONMENT: true, __DEV__: true, 'ts-jest': { tsconfig: 'tsconfig.test.json', }, }, moduleNameMapper: { '^./dist/(.+)': './src/$1', '^@lexical/clipboard$': '/packages/lexical-clipboard/src/index.ts', '^@lexical/code$': '/packages/lexical-code/src/index.ts', '^@lexical/dragon$': '/packages/lexical-dragon/src/index.ts', '^@lexical/file$': '/packages/lexical-file/src/index.ts', '^@lexical/hashtag$': '/packages/lexical-hashtag/src/index.ts', '^@lexical/headless$': '/packages/lexical-headless/src/index.ts', '^@lexical/history$': '/packages/lexical-history/src/index.ts', '^@lexical/html$': '/packages/lexical-html/src/index.ts', '^@lexical/link$': '/packages/lexical-link/src/index.ts', '^@lexical/list$': '/packages/lexical-list/src/index.ts', '^@lexical/mark$': '/packages/lexical-mark/src/index.ts', '^@lexical/markdown$': '/packages/lexical-markdown/src/index.ts', '^@lexical/offset$': '/packages/lexical-offset/src/index.ts', '^@lexical/overflow$': '/packages/lexical-overflow/src/index.ts', '^@lexical/plain-text$': '/packages/lexical-plain-text/src/index.ts', '^@lexical/react/LexicalAutoEmbedPlugin$': '/packages/lexical-react/src/LexicalAutoEmbedPlugin.tsx', '^@lexical/react/LexicalAutoLinkPlugin$': '/packages/lexical-react/src/LexicalAutoLinkPlugin.ts', '^@lexical/react/LexicalCheckListPlugin$': '/packages/lexical-react/src/LexicalCheckListPlugin.ts', '^@lexical/react/LexicalCollaborationContext$': '/packages/lexical-react/src/LexicalCollaborationContext.ts', '^@lexical/react/LexicalCollaborationPlugin$': '/packages/lexical-react/src/LexicalCollaborationPlugin.ts', '^@lexical/react/LexicalComposerContext$': '/packages/lexical-react/src/LexicalComposerContext.ts', '^@lexical/react/LexicalContentEditable$': '/packages/lexical-react/src/LexicalContentEditable.tsx', '^@lexical/react/LexicalLinkPlugin$': '/packages/lexical-react/src/LexicalLinkPlugin.ts', '^@lexical/react/LexicalListPlugin$': '/packages/lexical-react/src/LexicalListPlugin.ts', '^@lexical/react/LexicalPlainTextPlugin$': '/packages/lexical-react/src/LexicalPlainTextPlugin.ts', '^@lexical/react/LexicalTabIndentationPlugin$': '/packages/lexical-react/src/LexicalTabIndentationPlugin.tsx', '^@lexical/react/LexicalTablePlugin$': '/packages/lexical-react/src/LexicalTablePlugin.ts', '^@lexical/react/useLexicalCanShowPlaceholder$': '/packages/lexical-react/src/useLexicalCanShowPlaceholder.ts', '^@lexical/react/useLexicalDecorators$': '/packages/lexical-react/src/useLexicalDecorators.ts', '^@lexical/react/useLexicalEditable$': '/packages/lexical-react/src/useLexicalEditable.ts', '^@lexical/react/useLexicalEditor$': '/packages/lexical-react/src/useLexicalEditor.ts', '^@lexical/react/useLexicalSubscription$': '/packages/lexical-react/src/useLexicalSubscription.ts', '^@lexical/rich-text$': '/packages/lexical-rich-text/src/index.ts', '^@lexical/selection$': '/packages/lexical-selection/src/index.ts', '^@lexical/table$': '/packages/lexical-table/src/index.ts', '^@lexical/text$': '/packages/lexical-text/src/index.ts', '^@lexical/utils$': '/packages/lexical-utils/src/index.ts', '^@lexical/yjs$': '/packages/lexical-yjs/src/index.ts', '^lexical$': '/packages/lexical/src/index.ts', '^shared/canUseDOM$': '/packages/shared/src/canUseDOM.ts', '^shared/caretFromPoint$': '/packages/shared/src/caretFromPoint.ts', '^shared/environment$': '/packages/shared/src/environment.ts', '^shared/invariant$': '/packages/shared/src/invariant.ts', '^shared/normalizeClassNames$': '/packages/shared/src/normalizeClassNames.ts', '^shared/simpleDiffWithCursor$': '/packages/shared/src/simpleDiffWithCursor.ts', '^shared/useLayoutEffect$': '/packages/shared/src/useLayoutEffect.ts', '^shared/warnOnlyOnce$': '/packages/shared/src/warnOnlyOnce.ts', formatProdErrorMessage: '/scripts/error-codes/formatProdErrorMessage.js', }, preset: 'ts-jest', testEnvironment: 'jsdom', testMatch: ['**/__tests__/unit/**/*.test{.ts,.tsx,.js,.jsx}'], transform: { '^.+\\.jsx?$': 'babel-jest', '^.+\\.tsx$': 'ts-jest', }, }, { ...common, displayName: 'e2e', testMatch: [ '**/__tests__/e2e/**/*.js', '**/__tests__/regression/**/*.js', ], }, ], };