From 55e342129a3c854b3ec091b276cd0af9f2496466 Mon Sep 17 00:00:00 2001 From: Nina <94531888+ninanoleto@users.noreply.github.com> Date: Sun, 21 May 2023 09:47:55 +0200 Subject: [PATCH] chore: enable jest to test ts and tsx files (#4785) Co-authored-by: Victor Fernandez de Alba --- .eslintrc | 2 +- news/4662.feature | 2 +- package.json | 11 +- src/components/index.js | 382 +++++++++--------- .../manage/Blocks/Listing/getAsyncData.js | 2 - .../manage/Blocks/Search/components/index.js | 26 +- .../manage/Blocks/Search/hocs/index.js | 4 +- src/components/theme/TsTest/TsTest.test.tsx | 11 + src/components/theme/TsTest/TsTest.tsx | 15 + .../TsTest/__snapshots__/TsTest.test.tsx.snap | 7 + src/helpers/Extensions/index.js | 3 +- src/helpers/index.js | 16 +- src/middleware/index.js | 4 +- yarn.lock | 137 +++++-- 14 files changed, 367 insertions(+), 255 deletions(-) create mode 100644 src/components/theme/TsTest/TsTest.test.tsx create mode 100644 src/components/theme/TsTest/TsTest.tsx create mode 100644 src/components/theme/TsTest/__snapshots__/TsTest.test.tsx.snap diff --git a/.eslintrc b/.eslintrc index d2f50d296b..3b268d6b87 100644 --- a/.eslintrc +++ b/.eslintrc @@ -38,7 +38,7 @@ ["@package", "./src"], ["@root", "./src"] ], - "extensions": [".js", ".jsx", ".json"] + "extensions": [".js", ".jsx", ".ts", ".tsx", ".json"] }, "babel-plugin-root-import": { "rootPathSuffix": "src" diff --git a/news/4662.feature b/news/4662.feature index a189285e83..6e17e10b7f 100644 --- a/news/4662.feature +++ b/news/4662.feature @@ -1 +1 @@ -TypeScript support in core @sneridagh +TypeScript support in core @sneridagh @ninanoleto diff --git a/package.json b/package.json index 48cfe70cee..56875c51f8 100644 --- a/package.json +++ b/package.json @@ -75,6 +75,7 @@ ], "transform": { "^.+\\.js(x)?$": "babel-jest", + "^.+\\.ts(x)?$": "ts-jest", "^.+\\.(png)$": "jest-file", "^.+\\.(jpg)$": "jest-file", "^.+\\.(svg)$": "./jest-svgsystem-transform.js" @@ -111,10 +112,10 @@ "__DEV__": true }, "testMatch": [ - "/src/**/__tests__/**/*.{js,jsx,mjs}", - "/src/**/?(*.)(spec|test).{js,jsx,mjs}", - "/__tests__/**/?(*.)(spec|test).{js,jsx,mjs}", - "/packages/volto-slate/src/**/?(*.)(spec|test).{js,jsx,mjs}" + "/src/**/__tests__/**/*.{js,jsx,mjs,ts,tsx}", + "/src/**/?(*.)(spec|test).{js,jsx,mjs,ts,tsx}", + "/__tests__/**/?(*.)(spec|test).{js,jsx,mjs,ts,tsx}", + "/packages/volto-slate/src/**/?(*.)(spec|test).{js,jsx,mjs,ts,tsx}" ] }, "prettier": { @@ -423,6 +424,8 @@ "react-is": "^16.13.1", "release-it": "^15.1.3", "tmp": "0.2.1", + "ts-jest": "^26.4.2", + "ts-loader": "9.4.2", "typescript": "5.0.3", "use-trace-update": "1.3.2", "why": "0.6.2" diff --git a/src/components/index.js b/src/components/index.js index eec24b73a0..1cfb10d120 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -10,144 +10,144 @@ import loadable from '@loadable/component'; // Do not lazy load them, since it has not much sense (they will live in the main chunk) // The App and View component are deliberatelly left out of this index.js file! // They should be used by Volto and only by Volto internally -export AppExtras from '@plone/volto/components/theme/AppExtras/AppExtras'; -export Header from '@plone/volto/components/theme/Header/Header'; -export Logo from '@plone/volto/components/theme/Logo/Logo'; -export Anontools from '@plone/volto/components/theme/Anontools/Anontools'; -export Navigation from '@plone/volto/components/theme/Navigation/Navigation'; -export Breadcrumbs from '@plone/volto/components/theme/Breadcrumbs/Breadcrumbs'; -export SearchWidget from '@plone/volto/components/theme/SearchWidget/SearchWidget'; -export Footer from '@plone/volto/components/theme/Footer/Footer'; -export Title from '@plone/volto/components/theme/Title/Title'; -export DefaultView from '@plone/volto/components/theme/View/DefaultView'; -export Pagination from '@plone/volto/components/theme/Pagination/Pagination'; -export Tags from '@plone/volto/components/theme/Tags/Tags'; -export OutdatedBrowser from '@plone/volto/components/theme/OutdatedBrowser/OutdatedBrowser'; -export LanguageSelector from '@plone/volto/components/theme/LanguageSelector/LanguageSelector'; -export RenderBlocks from '@plone/volto/components/theme/View/RenderBlocks'; -export SkipLinks from '@plone/volto/components/theme/SkipLinks/SkipLinks'; -export EventDetails from '@plone/volto/components/theme/EventDetails/EventDetails'; -export PreviewImage from '@plone/volto/components/theme/PreviewImage/PreviewImage'; - -export Error from '@plone/volto/components/theme/Error/Error'; -export ErrorBoundary from '@plone/volto/components/theme/Error/ErrorBoundary'; -export NotFound from '@plone/volto/components/theme/NotFound/NotFound'; -export Forbidden from '@plone/volto/components/theme/Forbidden/Forbidden'; -export Unauthorized from '@plone/volto/components/theme/Unauthorized/Unauthorized'; - -export Avatar from '@plone/volto/components/theme/Avatar/Avatar'; -export Icon from '@plone/volto/components/theme/Icon/Icon'; -export ConditionalLink from '@plone/volto/components/manage/ConditionalLink/ConditionalLink'; -export UniversalLink from '@plone/volto/components/manage/UniversalLink/UniversalLink'; -export LinkMore from '@plone/volto/components/manage/LinkMore/LinkMore'; +export { default as AppExtras } from '@plone/volto/components/theme/AppExtras/AppExtras'; +export { default as Header } from '@plone/volto/components/theme/Header/Header'; +export { default as Logo } from '@plone/volto/components/theme/Logo/Logo'; +export { default as Anontools } from '@plone/volto/components/theme/Anontools/Anontools'; +export { default as Navigation } from '@plone/volto/components/theme/Navigation/Navigation'; +export { default as Breadcrumbs } from '@plone/volto/components/theme/Breadcrumbs/Breadcrumbs'; +export { default as SearchWidget } from '@plone/volto/components/theme/SearchWidget/SearchWidget'; +export { default as Footer } from '@plone/volto/components/theme/Footer/Footer'; +export { default as Title } from '@plone/volto/components/theme/Title/Title'; +export { default as DefaultView } from '@plone/volto/components/theme/View/DefaultView'; +export { default as Pagination } from '@plone/volto/components/theme/Pagination/Pagination'; +export { default as Tags } from '@plone/volto/components/theme/Tags/Tags'; +export { default as OutdatedBrowser } from '@plone/volto/components/theme/OutdatedBrowser/OutdatedBrowser'; +export { default as LanguageSelector } from '@plone/volto/components/theme/LanguageSelector/LanguageSelector'; +export { default as RenderBlocks } from '@plone/volto/components/theme/View/RenderBlocks'; +export { default as SkipLinks } from '@plone/volto/components/theme/SkipLinks/SkipLinks'; +export { default as EventDetails } from '@plone/volto/components/theme/EventDetails/EventDetails'; +export { default as PreviewImage } from '@plone/volto/components/theme/PreviewImage/PreviewImage'; + +export { default as Error } from '@plone/volto/components/theme/Error/Error'; +export { default as ErrorBoundary } from '@plone/volto/components/theme/Error/ErrorBoundary'; +export { default as NotFound } from '@plone/volto/components/theme/NotFound/NotFound'; +export { default as Forbidden } from '@plone/volto/components/theme/Forbidden/Forbidden'; +export { default as Unauthorized } from '@plone/volto/components/theme/Unauthorized/Unauthorized'; + +export { default as Avatar } from '@plone/volto/components/theme/Avatar/Avatar'; +export { default as Icon } from '@plone/volto/components/theme/Icon/Icon'; +export { default as ConditionalLink } from '@plone/volto/components/manage/ConditionalLink/ConditionalLink'; +export { default as UniversalLink } from '@plone/volto/components/manage/UniversalLink/UniversalLink'; +export { default as LinkMore } from '@plone/volto/components/manage/LinkMore/LinkMore'; // Lazy load them, since we want them and its deps to be in its own chunk -export ContactForm from '@plone/volto/components/theme/ContactForm/ContactForm'; -export Login from '@plone/volto/components/theme/Login/Login'; -export Logout from '@plone/volto/components/theme/Logout/Logout'; -export Sitemap from '@plone/volto/components/theme/Sitemap/Sitemap'; -export Search from '@plone/volto/components/theme/Search/Search'; -export Comments from '@plone/volto/components/theme/Comments/Comments'; -export SocialSharing from '@plone/volto/components/theme/SocialSharing/SocialSharing'; -export Register from '@plone/volto/components/theme/Register/Register'; -export PasswordReset from '@plone/volto/components/theme/PasswordReset/PasswordReset'; -export RequestPasswordReset from '@plone/volto/components/theme/PasswordReset/RequestPasswordReset'; -export ChangePassword from '@plone/volto/components/manage/Preferences/ChangePassword'; -export PersonalPreferences from '@plone/volto/components/manage/Preferences/PersonalPreferences'; -export PersonalInformation from '@plone/volto/components/manage/Preferences/PersonalInformation'; -export CreateTranslation from '@plone/volto/components/manage/Multilingual/CreateTranslation'; -export TranslationObject from '@plone/volto/components/manage/Multilingual/TranslationObject'; -export CompareLanguages from '@plone/volto/components/manage/Multilingual/CompareLanguages'; - -export FileView from '@plone/volto/components/theme/View/FileView'; -export ImageView from '@plone/volto/components/theme/View/ImageView'; -export NewsItemView from '@plone/volto/components/theme/View/NewsItemView'; +export { default as ContactForm } from '@plone/volto/components/theme/ContactForm/ContactForm'; +export { default as Login } from '@plone/volto/components/theme/Login/Login'; +export { default as Logout } from '@plone/volto/components/theme/Logout/Logout'; +export { default as Sitemap } from '@plone/volto/components/theme/Sitemap/Sitemap'; +export { default as Search } from '@plone/volto/components/theme/Search/Search'; +export { default as Comments } from '@plone/volto/components/theme/Comments/Comments'; +export { default as SocialSharing } from '@plone/volto/components/theme/SocialSharing/SocialSharing'; +export { default as Register } from '@plone/volto/components/theme/Register/Register'; +export { default as PasswordReset } from '@plone/volto/components/theme/PasswordReset/PasswordReset'; +export { default as RequestPasswordReset } from '@plone/volto/components/theme/PasswordReset/RequestPasswordReset'; +export { default as ChangePassword } from '@plone/volto/components/manage/Preferences/ChangePassword'; +export { default as PersonalPreferences } from '@plone/volto/components/manage/Preferences/PersonalPreferences'; +export { default as PersonalInformation } from '@plone/volto/components/manage/Preferences/PersonalInformation'; +export { default as CreateTranslation } from '@plone/volto/components/manage/Multilingual/CreateTranslation'; +export { default as TranslationObject } from '@plone/volto/components/manage/Multilingual/TranslationObject'; +export { default as CompareLanguages } from '@plone/volto/components/manage/Multilingual/CompareLanguages'; + +export { default as FileView } from '@plone/volto/components/theme/View/FileView'; +export { default as ImageView } from '@plone/volto/components/theme/View/ImageView'; +export { default as NewsItemView } from '@plone/volto/components/theme/View/NewsItemView'; export const EventView = loadable(() => import('@plone/volto/components/theme/View/EventView'), ); -export ListingView from '@plone/volto/components/theme/View/ListingView'; -export SummaryView from '@plone/volto/components/theme/View/SummaryView'; -export TabularView from '@plone/volto/components/theme/View/TabularView'; -export AlbumView from '@plone/volto/components/theme/View/AlbumView'; - -export Actions from '@plone/volto/components/manage/Actions/Actions'; -export Add from '@plone/volto/components/manage/Add/Add'; -export AddonsControlpanel from '@plone/volto/components/manage/Controlpanels/AddonsControlpanel'; -export UndoControlpanel from '@plone/volto/components/manage/Controlpanels/UndoControlpanel'; -export Contents from '@plone/volto/components/manage/Contents/Contents'; -export Circle from '@plone/volto/components/manage/Contents/circle'; -export DatabaseInformation from '@plone/volto/components/manage/Controlpanels/DatabaseInformation'; -export Controlpanel from '@plone/volto/components/manage/Controlpanels/Controlpanel'; -export Controlpanels from '@plone/volto/components/manage/Controlpanels/Controlpanels'; -export AliasesControlpanel from '@plone/volto/components/manage/Controlpanels/Aliases'; -export ContentTypes from '@plone/volto/components/manage/Controlpanels/ContentTypes'; -export ContentType from '@plone/volto/components/manage/Controlpanels/ContentType'; -export ContentTypeLayout from '@plone/volto/components/manage/Controlpanels/ContentTypeLayout'; -export ContentTypeSchema from '@plone/volto/components/manage/Controlpanels/ContentTypeSchema'; -export ContentTypesActions from '@plone/volto/components/manage/Controlpanels/ContentTypesActions'; -export UsersControlpanel from '@plone/volto/components/manage/Controlpanels/Users/UsersControlpanel'; -export UserGroupMembershipControlPanel from '@plone/volto/components/manage/Controlpanels/Users/UserGroupMembershipControlPanel'; -export GroupsControlpanel from '@plone/volto/components/manage/Controlpanels/Groups/GroupsControlpanel'; -export RulesControlpanel from '@plone/volto/components/manage/Controlpanels/Rules/Rules'; -export AddRuleControlpanel from '@plone/volto/components/manage/Controlpanels/Rules/AddRule'; -export EditRuleControlpanel from '@plone/volto/components/manage/Controlpanels/Rules/EditRule'; -export ConfigureRuleControlpanel from '@plone/volto/components/manage/Controlpanels/Rules/ConfigureRule'; -export UpgradeControlPanel from '@plone/volto/components/manage/Controlpanels/UpgradeControlPanel'; - -export ModerateComments from '@plone/volto/components/manage/Controlpanels/ModerateComments'; -export VersionOverview from '@plone/volto/components/manage/Controlpanels/VersionOverview'; -export Delete from '@plone/volto/components/manage/Delete/Delete'; -export Diff from '@plone/volto/components/manage/Diff/Diff'; -export Display from '@plone/volto/components/manage/Display/Display'; -export Edit from '@plone/volto/components/manage/Edit/Edit'; -export ModalForm from '@plone/volto/components/manage/Form/ModalForm'; -export History from '@plone/volto/components/manage/History/History'; -export Sharing from '@plone/volto/components/manage/Sharing/Sharing'; -export Rules from '@plone/volto/components/manage/Rules/Rules'; -export Aliases from '@plone/volto/components/manage/Aliases/Aliases'; -export Workflow from '@plone/volto/components/manage/Workflow/Workflow'; -export Messages from '@plone/volto/components/manage/Messages/Messages'; -export BlockChooser from '@plone/volto/components/manage/BlockChooser/BlockChooser'; -export BlockChooserButton from '@plone/volto/components/manage/BlockChooser/BlockChooserButton'; -export Toolbar from '@plone/volto/components/manage/Toolbar/Toolbar'; -export Sidebar from '@plone/volto/components/manage/Sidebar/Sidebar'; -export SidebarPopup from '@plone/volto/components/manage/Sidebar/SidebarPopup'; -export SidebarPortal from '@plone/volto/components/manage/Sidebar/SidebarPortal'; -export PersonalTools from '@plone/volto/components/manage/Toolbar/PersonalTools'; -export More from '@plone/volto/components/manage/Toolbar/More'; -export Types from '@plone/volto/components/manage/Toolbar/Types'; -export Toast from '@plone/volto/components/manage/Toast/Toast'; -export ManageTranslations from '@plone/volto/components/manage/Multilingual/ManageTranslations'; +export { default as ListingView } from '@plone/volto/components/theme/View/ListingView'; +export { default as SummaryView } from '@plone/volto/components/theme/View/SummaryView'; +export { default as TabularView } from '@plone/volto/components/theme/View/TabularView'; +export { default as AlbumView } from '@plone/volto/components/theme/View/AlbumView'; + +export { default as Actions } from '@plone/volto/components/manage/Actions/Actions'; +export { default as Add } from '@plone/volto/components/manage/Add/Add'; +export { default as AddonsControlpanel } from '@plone/volto/components/manage/Controlpanels/AddonsControlpanel'; +export { default as UndoControlpanel } from '@plone/volto/components/manage/Controlpanels/UndoControlpanel'; +export { default as Contents } from '@plone/volto/components/manage/Contents/Contents'; +export { default as Circle } from '@plone/volto/components/manage/Contents/circle'; +export { default as DatabaseInformation } from '@plone/volto/components/manage/Controlpanels/DatabaseInformation'; +export { default as Controlpanel } from '@plone/volto/components/manage/Controlpanels/Controlpanel'; +export { default as Controlpanels } from '@plone/volto/components/manage/Controlpanels/Controlpanels'; +export { default as AliasesControlpanel } from '@plone/volto/components/manage/Controlpanels/Aliases'; +export { default as ContentTypes } from '@plone/volto/components/manage/Controlpanels/ContentTypes'; +export { default as ContentType } from '@plone/volto/components/manage/Controlpanels/ContentType'; +export { default as ContentTypeLayout } from '@plone/volto/components/manage/Controlpanels/ContentTypeLayout'; +export { default as ContentTypeSchema } from '@plone/volto/components/manage/Controlpanels/ContentTypeSchema'; +export { default as ContentTypesActions } from '@plone/volto/components/manage/Controlpanels/ContentTypesActions'; +export { default as UsersControlpanel } from '@plone/volto/components/manage/Controlpanels/Users/UsersControlpanel'; +export { default as UserGroupMembershipControlPanel } from '@plone/volto/components/manage/Controlpanels/Users/UserGroupMembershipControlPanel'; +export { default as GroupsControlpanel } from '@plone/volto/components/manage/Controlpanels/Groups/GroupsControlpanel'; +export { default as RulesControlpanel } from '@plone/volto/components/manage/Controlpanels/Rules/Rules'; +export { default as AddRuleControlpanel } from '@plone/volto/components/manage/Controlpanels/Rules/AddRule'; +export { default as EditRuleControlpanel } from '@plone/volto/components/manage/Controlpanels/Rules/EditRule'; +export { default as ConfigureRuleControlpanel } from '@plone/volto/components/manage/Controlpanels/Rules/ConfigureRule'; +export { default as UpgradeControlPanel } from '@plone/volto/components/manage/Controlpanels/UpgradeControlPanel'; + +export { default as ModerateComments } from '@plone/volto/components/manage/Controlpanels/ModerateComments'; +export { default as VersionOverview } from '@plone/volto/components/manage/Controlpanels/VersionOverview'; +export { default as Delete } from '@plone/volto/components/manage/Delete/Delete'; +export { default as Diff } from '@plone/volto/components/manage/Diff/Diff'; +export { default as Display } from '@plone/volto/components/manage/Display/Display'; +export { default as Edit } from '@plone/volto/components/manage/Edit/Edit'; +export { default as ModalForm } from '@plone/volto/components/manage/Form/ModalForm'; +export { default as History } from '@plone/volto/components/manage/History/History'; +export { default as Sharing } from '@plone/volto/components/manage/Sharing/Sharing'; +export { default as Rules } from '@plone/volto/components/manage/Rules/Rules'; +export { default as Aliases } from '@plone/volto/components/manage/Aliases/Aliases'; +export { default as Workflow } from '@plone/volto/components/manage/Workflow/Workflow'; +export { default as Messages } from '@plone/volto/components/manage/Messages/Messages'; +export { default as BlockChooser } from '@plone/volto/components/manage/BlockChooser/BlockChooser'; +export { default as BlockChooserButton } from '@plone/volto/components/manage/BlockChooser/BlockChooserButton'; +export { default as Toolbar } from '@plone/volto/components/manage/Toolbar/Toolbar'; +export { default as Sidebar } from '@plone/volto/components/manage/Sidebar/Sidebar'; +export { default as SidebarPopup } from '@plone/volto/components/manage/Sidebar/SidebarPopup'; +export { default as SidebarPortal } from '@plone/volto/components/manage/Sidebar/SidebarPortal'; +export { default as PersonalTools } from '@plone/volto/components/manage/Toolbar/PersonalTools'; +export { default as More } from '@plone/volto/components/manage/Toolbar/More'; +export { default as Types } from '@plone/volto/components/manage/Toolbar/Types'; +export { default as Toast } from '@plone/volto/components/manage/Toast/Toast'; +export { default as ManageTranslations } from '@plone/volto/components/manage/Multilingual/ManageTranslations'; // Potentially could ve removed from index, since they are internal components and // we don't want them to end up in the main chunk -export Form from '@plone/volto/components/manage/Form/Form'; -export BlocksToolbar from '@plone/volto/components/manage/Form/BlocksToolbar'; -export UndoToolbar from '@plone/volto/components/manage/Form/UndoToolbar'; -export Field from '@plone/volto/components/manage/Form/Field'; -export SearchTags from '@plone/volto/components/theme/Search/SearchTags'; -export CommentEditModal from '@plone/volto/components/theme/Comments/CommentEditModal'; -export ContentsBreadcrumbs from '@plone/volto/components/manage/Contents/ContentsBreadcrumbs'; -export ContentsIndexHeader from '@plone/volto/components/manage/Contents/ContentsIndexHeader'; -export ContentsItem from '@plone/volto/components/manage/Contents/ContentsItem'; -export ContentsUploadModal from '@plone/volto/components/manage/Contents/ContentsUploadModal'; -export ContentsPropertiesModal from '@plone/volto/components/manage/Contents/ContentsPropertiesModal'; -export ContentsRenameModal from '@plone/volto/components/manage/Contents/ContentsRenameModal'; -export ContentsWorkflowModal from '@plone/volto/components/manage/Contents/ContentsWorkflowModal'; -export ContentsTagsModal from '@plone/volto/components/manage/Contents/ContentsTagsModal'; -export RenderUsers from '@plone/volto/components/manage/Controlpanels/Users/RenderUsers'; -export RenderGroups from '@plone/volto/components/manage/Controlpanels/Groups/RenderGroups'; -export DiffField from '@plone/volto/components/manage/Diff/DiffField'; -export DragDropList from '@plone/volto/components/manage/DragDropList/DragDropList'; -export InlineForm from '@plone/volto/components/manage/Form/InlineForm'; -export BlocksForm from '@plone/volto/components/manage/Blocks/Block/BlocksForm'; -export BlockDataForm from '@plone/volto/components/manage/Form/BlockDataForm'; - -export FormFieldWrapper from '@plone/volto/components/manage/Widgets/FormFieldWrapper'; -export ArrayWidget from '@plone/volto/components/manage/Widgets/ArrayWidget'; -export CheckboxWidget from '@plone/volto/components/manage/Widgets/CheckboxWidget'; +export { default as Form } from '@plone/volto/components/manage/Form/Form'; +export { default as BlocksToolbar } from '@plone/volto/components/manage/Form/BlocksToolbar'; +export { default as UndoToolbar } from '@plone/volto/components/manage/Form/UndoToolbar'; +export { default as Field } from '@plone/volto/components/manage/Form/Field'; +export { default as SearchTags } from '@plone/volto/components/theme/Search/SearchTags'; +export { default as CommentEditModal } from '@plone/volto/components/theme/Comments/CommentEditModal'; +export { default as ContentsBreadcrumbs } from '@plone/volto/components/manage/Contents/ContentsBreadcrumbs'; +export { default as ContentsIndexHeader } from '@plone/volto/components/manage/Contents/ContentsIndexHeader'; +export { default as ContentsItem } from '@plone/volto/components/manage/Contents/ContentsItem'; +export { default as ContentsUploadModal } from '@plone/volto/components/manage/Contents/ContentsUploadModal'; +export { default as ContentsPropertiesModal } from '@plone/volto/components/manage/Contents/ContentsPropertiesModal'; +export { default as ContentsRenameModal } from '@plone/volto/components/manage/Contents/ContentsRenameModal'; +export { default as ContentsWorkflowModal } from '@plone/volto/components/manage/Contents/ContentsWorkflowModal'; +export { default as ContentsTagsModal } from '@plone/volto/components/manage/Contents/ContentsTagsModal'; +export { default as RenderUsers } from '@plone/volto/components/manage/Controlpanels/Users/RenderUsers'; +export { default as RenderGroups } from '@plone/volto/components/manage/Controlpanels/Groups/RenderGroups'; +export { default as DiffField } from '@plone/volto/components/manage/Diff/DiffField'; +export { default as DragDropList } from '@plone/volto/components/manage/DragDropList/DragDropList'; +export { default as InlineForm } from '@plone/volto/components/manage/Form/InlineForm'; +export { default as BlocksForm } from '@plone/volto/components/manage/Blocks/Block/BlocksForm'; +export { default as BlockDataForm } from '@plone/volto/components/manage/Form/BlockDataForm'; + +export { default as FormFieldWrapper } from '@plone/volto/components/manage/Widgets/FormFieldWrapper'; +export { default as ArrayWidget } from '@plone/volto/components/manage/Widgets/ArrayWidget'; +export { default as CheckboxWidget } from '@plone/volto/components/manage/Widgets/CheckboxWidget'; export const DatetimeWidget = loadable(() => import('@plone/volto/components/manage/Widgets/DatetimeWidget'), @@ -158,66 +158,66 @@ export const RecurrenceWidget = loadable(() => ), ); -export FileWidget from '@plone/volto/components/manage/Widgets/FileWidget'; -export IdWidget from '@plone/volto/components/manage/Widgets/IdWidget'; -export PasswordWidget from '@plone/volto/components/manage/Widgets/PasswordWidget'; -export ReferenceWidget from '@plone/volto/components/manage/Widgets/ReferenceWidget'; -export SchemaWidget from '@plone/volto/components/manage/Widgets/SchemaWidget'; -export SchemaWidgetFieldset from '@plone/volto/components/manage/Widgets/SchemaWidgetFieldset'; -export SelectWidget from '@plone/volto/components/manage/Widgets/SelectWidget'; -export TextareaWidget from '@plone/volto/components/manage/Widgets/TextareaWidget'; -export TextWidget from '@plone/volto/components/manage/Widgets/TextWidget'; -export WysiwygWidget from '@plone/volto/components/manage/Widgets/WysiwygWidget'; -export ObjectBrowserWidget from '@plone/volto/components/manage/Widgets/ObjectBrowserWidget'; -export ObjectBrowserWidgetMode from '@plone/volto/components/manage/Widgets/ObjectBrowserWidget'; -export ObjectWidget from '@plone/volto/components/manage/Widgets/ObjectWidget'; -export ObjectListWidget from '@plone/volto/components/manage/Widgets/ObjectListWidget'; - -export EditDefaultBlock from '@plone/volto/components/manage/Blocks/Block/DefaultEdit'; -export EditDescriptionBlock from '@plone/volto/components/manage/Blocks/Description/Edit'; -export EditTitleBlock from '@plone/volto/components/manage/Blocks/Title/Edit'; -export EditToCBlock from '@plone/volto/components/manage/Blocks/ToC/Edit'; -export EditTextBlock from '@plone/volto/components/manage/Blocks/Text/Edit'; -export EditImageBlock from '@plone/volto/components/manage/Blocks/Image/Edit'; -export EditListingBlock from '@plone/volto/components/manage/Blocks/Listing/Edit'; -export EditVideoBlock from '@plone/volto/components/manage/Blocks/Video/Edit'; -export EditBlock from '@plone/volto/components/manage/Blocks/Block/Edit'; -export EditHeroImageLeftBlock from '@plone/volto/components/manage/Blocks/HeroImageLeft/Edit'; -export ViewHeroImageLeftBlock from '@plone/volto/components/manage/Blocks/HeroImageLeft/View'; -export EditMapBlock from '@plone/volto/components/manage/Blocks/Maps/Edit'; -export EditHTMLBlock from '@plone/volto/components/manage/Blocks/HTML/Edit'; - -export ViewDefaultBlock from '@plone/volto/components/manage/Blocks/Block/DefaultView'; -export ViewDescriptionBlock from '@plone/volto/components/manage/Blocks/Description/View'; -export ViewTitleBlock from '@plone/volto/components/manage/Blocks/Title/View'; -export ViewToCBlock from '@plone/volto/components/manage/Blocks/ToC/View'; -export ViewTextBlock from '@plone/volto/components/manage/Blocks/Text/View'; -export ViewImageBlock from '@plone/volto/components/manage/Blocks/Image/View'; -export ViewListingBlock from '@plone/volto/components/manage/Blocks/Listing/View'; -export ViewVideoBlock from '@plone/volto/components/manage/Blocks/Video/View'; -export ViewMapBlock from '@plone/volto/components/manage/Blocks/Maps/View'; -export ViewHTMLBlock from '@plone/volto/components/manage/Blocks/HTML/View'; - -export ListingBlockBody from '@plone/volto/components/manage/Blocks/Listing/ListingBody'; -export ListingBlockData from '@plone/volto/components/manage/Blocks/Listing/ListingData'; - -export ImageSidebar from '@plone/volto/components/manage/Blocks/Image/ImageSidebar'; -export MapsSidebar from '@plone/volto/components/manage/Blocks/Maps/MapsSidebar'; -export VideoSidebar from '@plone/volto/components/manage/Blocks/Video/VideoSidebar'; -export LeadImageSidebar from '@plone/volto/components/manage/Blocks/LeadImage/LeadImageSidebar'; - -export Style from '@plone/volto/components/manage/Blocks/Block/Style'; -export BlockSettingsSidebar from '@plone/volto/components/manage/Blocks/Block/Settings'; -export BlockSettingsSchema from '@plone/volto/components/manage/Blocks/Block/Schema'; -export TextSettingsSchema from '@plone/volto/components/manage/Blocks/Text/Schema'; -export ImageSettingsSchema from '@plone/volto/components/manage/Blocks/Image/LayoutSchema'; -export ToCSettingsSchema from '@plone/volto/components/manage/Blocks/ToC/Schema'; - -export MaybeWrap from '@plone/volto/components/manage/MaybeWrap/MaybeWrap'; -export ContentMetadataTags from '@plone/volto/components/theme/ContentMetadataTags/ContentMetadataTags'; -export FormattedDate from '@plone/volto/components/theme/FormattedDate/FormattedDate'; -export FormattedRelativeDate from '@plone/volto/components/theme/FormattedDate/FormattedRelativeDate'; -export Popup from '@plone/volto/components/theme/Popup/Popup'; -export Component from '@plone/volto/components/theme/Component/Component'; - -export App from '@plone/volto/components/theme/App/App'; +export { default as FileWidget } from '@plone/volto/components/manage/Widgets/FileWidget'; +export { default as IdWidget } from '@plone/volto/components/manage/Widgets/IdWidget'; +export { default as PasswordWidget } from '@plone/volto/components/manage/Widgets/PasswordWidget'; +export { default as ReferenceWidget } from '@plone/volto/components/manage/Widgets/ReferenceWidget'; +export { default as SchemaWidget } from '@plone/volto/components/manage/Widgets/SchemaWidget'; +export { default as SchemaWidgetFieldset } from '@plone/volto/components/manage/Widgets/SchemaWidgetFieldset'; +export { default as SelectWidget } from '@plone/volto/components/manage/Widgets/SelectWidget'; +export { default as TextareaWidget } from '@plone/volto/components/manage/Widgets/TextareaWidget'; +export { default as TextWidget } from '@plone/volto/components/manage/Widgets/TextWidget'; +export { default as WysiwygWidget } from '@plone/volto/components/manage/Widgets/WysiwygWidget'; +export { default as ObjectBrowserWidget } from '@plone/volto/components/manage/Widgets/ObjectBrowserWidget'; +export { default as ObjectBrowserWidgetMode } from '@plone/volto/components/manage/Widgets/ObjectBrowserWidget'; +export { default as ObjectWidget } from '@plone/volto/components/manage/Widgets/ObjectWidget'; +export { default as ObjectListWidget } from '@plone/volto/components/manage/Widgets/ObjectListWidget'; + +export { default as EditDefaultBlock } from '@plone/volto/components/manage/Blocks/Block/DefaultEdit'; +export { default as EditDescriptionBlock } from '@plone/volto/components/manage/Blocks/Description/Edit'; +export { default as EditTitleBlock } from '@plone/volto/components/manage/Blocks/Title/Edit'; +export { default as EditToCBlock } from '@plone/volto/components/manage/Blocks/ToC/Edit'; +export { default as EditTextBlock } from '@plone/volto/components/manage/Blocks/Text/Edit'; +export { default as EditImageBlock } from '@plone/volto/components/manage/Blocks/Image/Edit'; +export { default as EditListingBlock } from '@plone/volto/components/manage/Blocks/Listing/Edit'; +export { default as EditVideoBlock } from '@plone/volto/components/manage/Blocks/Video/Edit'; +export { default as EditBlock } from '@plone/volto/components/manage/Blocks/Block/Edit'; +export { default as EditHeroImageLeftBlock } from '@plone/volto/components/manage/Blocks/HeroImageLeft/Edit'; +export { default as ViewHeroImageLeftBlock } from '@plone/volto/components/manage/Blocks/HeroImageLeft/View'; +export { default as EditMapBlock } from '@plone/volto/components/manage/Blocks/Maps/Edit'; +export { default as EditHTMLBlock } from '@plone/volto/components/manage/Blocks/HTML/Edit'; + +export { default as ViewDefaultBlock } from '@plone/volto/components/manage/Blocks/Block/DefaultView'; +export { default as ViewDescriptionBlock } from '@plone/volto/components/manage/Blocks/Description/View'; +export { default as ViewTitleBlock } from '@plone/volto/components/manage/Blocks/Title/View'; +export { default as ViewToCBlock } from '@plone/volto/components/manage/Blocks/ToC/View'; +export { default as ViewTextBlock } from '@plone/volto/components/manage/Blocks/Text/View'; +export { default as ViewImageBlock } from '@plone/volto/components/manage/Blocks/Image/View'; +export { default as ViewListingBlock } from '@plone/volto/components/manage/Blocks/Listing/View'; +export { default as ViewVideoBlock } from '@plone/volto/components/manage/Blocks/Video/View'; +export { default as ViewMapBlock } from '@plone/volto/components/manage/Blocks/Maps/View'; +export { default as ViewHTMLBlock } from '@plone/volto/components/manage/Blocks/HTML/View'; + +export { default as ListingBlockBody } from '@plone/volto/components/manage/Blocks/Listing/ListingBody'; +export { default as ListingBlockData } from '@plone/volto/components/manage/Blocks/Listing/ListingData'; + +export { default as ImageSidebar } from '@plone/volto/components/manage/Blocks/Image/ImageSidebar'; +export { default as MapsSidebar } from '@plone/volto/components/manage/Blocks/Maps/MapsSidebar'; +export { default as VideoSidebar } from '@plone/volto/components/manage/Blocks/Video/VideoSidebar'; +export { default as LeadImageSidebar } from '@plone/volto/components/manage/Blocks/LeadImage/LeadImageSidebar'; + +export { default as Style } from '@plone/volto/components/manage/Blocks/Block/Style'; +export { default as BlockSettingsSidebar } from '@plone/volto/components/manage/Blocks/Block/Settings'; +export { default as BlockSettingsSchema } from '@plone/volto/components/manage/Blocks/Block/Schema'; +export { default as TextSettingsSchema } from '@plone/volto/components/manage/Blocks/Text/Schema'; +export { default as ImageSettingsSchema } from '@plone/volto/components/manage/Blocks/Image/LayoutSchema'; +export { default as ToCSettingsSchema } from '@plone/volto/components/manage/Blocks/ToC/Schema'; + +export { default as MaybeWrap } from '@plone/volto/components/manage/MaybeWrap/MaybeWrap'; +export { default as ContentMetadataTags } from '@plone/volto/components/theme/ContentMetadataTags/ContentMetadataTags'; +export { default as FormattedDate } from '@plone/volto/components/theme/FormattedDate/FormattedDate'; +export { default as FormattedRelativeDate } from '@plone/volto/components/theme/FormattedDate/FormattedRelativeDate'; +export { default as Popup } from '@plone/volto/components/theme/Popup/Popup'; +export { default as Component } from '@plone/volto/components/theme/Component/Component'; + +export { default as App } from '@plone/volto/components/theme/App/App'; diff --git a/src/components/manage/Blocks/Listing/getAsyncData.js b/src/components/manage/Blocks/Listing/getAsyncData.js index 1dafd5608a..7b32dc8421 100644 --- a/src/components/manage/Blocks/Listing/getAsyncData.js +++ b/src/components/manage/Blocks/Listing/getAsyncData.js @@ -25,5 +25,3 @@ export default function getListingBlockAsyncData({ ), ]; } - -export default getListingBlockAsyncData; diff --git a/src/components/manage/Blocks/Search/components/index.js b/src/components/manage/Blocks/Search/components/index.js index a6cad24b8c..d8b8d5c2d1 100644 --- a/src/components/manage/Blocks/Search/components/index.js +++ b/src/components/manage/Blocks/Search/components/index.js @@ -1,13 +1,13 @@ -export SearchDetails from './SearchDetails'; -export Facets from './Facets'; -export SelectFacet from './SelectFacet'; -export CheckboxFacet from './CheckboxFacet'; -export DateRangeFacet from './DateRangeFacet'; -export SearchInput from './SearchInput'; -export FilterList from './FilterList'; -export SortOn from './SortOn'; -export ToggleFacet from './ToggleFacet'; -export SelectFacetFilterListEntry from './SelectFacetFilterListEntry'; -export ToggleFacetFilterListEntry from './ToggleFacetFilterListEntry'; -export DateRangeFacetFilterListEntry from './DateRangeFacetFilterListEntry'; -export ViewSwitcher from './ViewSwitcher'; +export { default as SearchDetails } from './SearchDetails'; +export { default as Facets } from './Facets'; +export { default as SelectFacet } from './SelectFacet'; +export { default as CheckboxFacet } from './CheckboxFacet'; +export { default as DateRangeFacet } from './DateRangeFacet'; +export { default as SearchInput } from './SearchInput'; +export { default as FilterList } from './FilterList'; +export { default as SortOn } from './SortOn'; +export { default as ToggleFacet } from './ToggleFacet'; +export { default as SelectFacetFilterListEntry } from './SelectFacetFilterListEntry'; +export { default as ToggleFacetFilterListEntry } from './ToggleFacetFilterListEntry'; +export { default as DateRangeFacetFilterListEntry } from './DateRangeFacetFilterListEntry'; +export { default as ViewSwitcher } from './ViewSwitcher'; diff --git a/src/components/manage/Blocks/Search/hocs/index.js b/src/components/manage/Blocks/Search/hocs/index.js index 370c7a9299..6bbb624810 100644 --- a/src/components/manage/Blocks/Search/hocs/index.js +++ b/src/components/manage/Blocks/Search/hocs/index.js @@ -1,2 +1,2 @@ -export withQueryString from './withQueryString'; -export withSearch from './withSearch'; +export { default as withQueryString } from './withQueryString'; +export { default as withSearch } from './withSearch'; diff --git a/src/components/theme/TsTest/TsTest.test.tsx b/src/components/theme/TsTest/TsTest.test.tsx new file mode 100644 index 0000000000..73b97e30b5 --- /dev/null +++ b/src/components/theme/TsTest/TsTest.test.tsx @@ -0,0 +1,11 @@ +import renderer from 'react-test-renderer'; +import TsTest from './TsTest'; + +describe('Ts test component', () => { + test('Renders', () => { + const component = renderer.create(); + const json = component.toJSON(); + + expect(json).toMatchSnapshot(); + }); +}); diff --git a/src/components/theme/TsTest/TsTest.tsx b/src/components/theme/TsTest/TsTest.tsx new file mode 100644 index 0000000000..6da4eddcc3 --- /dev/null +++ b/src/components/theme/TsTest/TsTest.tsx @@ -0,0 +1,15 @@ +/** + * TEST COMPONENT: React TSX component + * Ensure successful implementation of TSX and validate the functionality with Jest tests + * Dependencies: jest (version 26.6.3), ts-jest (version ^26.4.2) + */ + +type TestProps = { + text: string; +}; + +const TsTest = ({ text }: TestProps) => { + return
{text}
; +}; + +export default TsTest; diff --git a/src/components/theme/TsTest/__snapshots__/TsTest.test.tsx.snap b/src/components/theme/TsTest/__snapshots__/TsTest.test.tsx.snap new file mode 100644 index 0000000000..9c75ddc410 --- /dev/null +++ b/src/components/theme/TsTest/__snapshots__/TsTest.test.tsx.snap @@ -0,0 +1,7 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Ts test component Renders 1`] = ` +
+ Test a TS component +
+`; diff --git a/src/helpers/Extensions/index.js b/src/helpers/Extensions/index.js index 1fabfa7452..cc4c042dfb 100644 --- a/src/helpers/Extensions/index.js +++ b/src/helpers/Extensions/index.js @@ -1,5 +1,6 @@ export * from './withBlockSchemaEnhancer'; -export withBlockExtensions, { +export { + default as withBlockExtensions, resolveExtension, resolveBlockExtensions, } from './withBlockExtensions'; diff --git a/src/helpers/index.js b/src/helpers/index.js index faac5f7b43..e9b1c035eb 100644 --- a/src/helpers/index.js +++ b/src/helpers/index.js @@ -5,9 +5,9 @@ */ // export { injectLazyLibs } from './Loadable/Loadable'; -export Api from '@plone/volto/helpers/Api/Api'; +export { default as Api } from '@plone/volto/helpers/Api/Api'; export { getAPIResourceWithAuth } from '@plone/volto/helpers/Api/APIResourceWithAuth'; -export Html from '@plone/volto/helpers/Html/Html'; +export { default as Html } from '@plone/volto/helpers/Html/Html'; export { getAuthToken, persistAuthToken, @@ -58,8 +58,8 @@ export { buildStyleClassNamesExtenders, getPreviousNextBlock, } from '@plone/volto/helpers/Blocks/Blocks'; -export BodyClass from '@plone/volto/helpers/BodyClass/BodyClass'; -export ScrollToTop from '@plone/volto/helpers/ScrollToTop/ScrollToTop'; +export { default as BodyClass } from '@plone/volto/helpers/BodyClass/BodyClass'; +export { default as ScrollToTop } from '@plone/volto/helpers/ScrollToTop/ScrollToTop'; export { getBoolean, getVocabName, @@ -69,9 +69,9 @@ export { getFieldsVocabulary, } from '@plone/volto/helpers/Vocabularies/Vocabularies'; -export langmap from './LanguageMap/LanguageMap'; -export Helmet from './Helmet/Helmet'; -export FormValidation from './FormValidation/FormValidation'; +export { default as langmap } from './LanguageMap/LanguageMap'; +export { default as Helmet } from './Helmet/Helmet'; +export { default as FormValidation } from './FormValidation/FormValidation'; export { difference, getColor, @@ -109,7 +109,7 @@ export { useDetectClickOutside } from './Utils/useDetectClickOutside'; export { useEvent } from './Utils/useEvent'; export { usePrevious } from './Utils/usePrevious'; export { usePagination } from './Utils/usePagination'; -export useUndoManager from './UndoManager/useUndoManager'; +export { default as useUndoManager } from './UndoManager/useUndoManager'; export { getCookieOptions } from './Cookies/cookies'; export { getWidgetView } from './Widget/widget'; export { diff --git a/src/middleware/index.js b/src/middleware/index.js index 5eed62a627..f8f6fae956 100644 --- a/src/middleware/index.js +++ b/src/middleware/index.js @@ -4,8 +4,8 @@ * @example import { api } from 'middleware'; */ -export api from '@plone/volto/middleware/api'; -export blacklistRoutes from './blacklistRoutes'; +export { default as api } from '@plone/volto/middleware/api'; +export { default as blacklistRoutes } from './blacklistRoutes'; export { protectLoadStart, protectLoadEnd, diff --git a/yarn.lock b/yarn.lock index 9ab2ad7606..24407fedae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3370,6 +3370,8 @@ __metadata: terser-webpack-plugin: 5.3.6 tlds: 1.203.1 tmp: 0.2.1 + ts-jest: ^26.4.2 + ts-loader: 9.4.2 typescript: 5.0.3 undoo: 0.5.0 universal-cookie: 4.0.4 @@ -7774,6 +7776,15 @@ __metadata: languageName: node linkType: hard +"bs-logger@npm:0.x": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: 2.x + checksum: d34bdaf68c64bd099ab97c3ea608c9ae7d3f5faa1178b3f3f345acd94e852e608b2d4f9103fb2e503f5e69780e98293df41691b84be909b41cf5045374d54606 + languageName: node + linkType: hard + "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -7797,7 +7808,7 @@ __metadata: languageName: node linkType: hard -"buffer-from@npm:^1.0.0": +"buffer-from@npm:1.x, buffer-from@npm:^1.0.0": version: 1.1.2 resolution: "buffer-from@npm:1.1.2" checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb @@ -10791,6 +10802,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.0.0": + version: 5.14.0 + resolution: "enhanced-resolve@npm:5.14.0" + dependencies: + graceful-fs: ^4.2.4 + tapable: ^2.2.0 + checksum: fff1aaebbf376371e5df4502e111967f6247c37611ad3550e4e7fca657f6dcb29ef7ffe88bf14e5010b78997f1ddd984a8db97af87ee0a5477771398fd326f5b + languageName: node + linkType: hard + "enhanced-resolve@npm:^5.10.0": version: 5.12.0 resolution: "enhanced-resolve@npm:5.12.0" @@ -11935,7 +11956,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:^2.0.0": +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb @@ -15628,7 +15649,7 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^26.6.2": +"jest-util@npm:^26.1.0, jest-util@npm:^26.6.2": version: 26.6.2 resolution: "jest-util@npm:26.6.2" dependencies: @@ -15934,6 +15955,15 @@ __metadata: languageName: node linkType: hard +"json5@npm:2.x, json5@npm:^2.1.2, json5@npm:^2.1.3, json5@npm:^2.2.2": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349 + languageName: node + linkType: hard + "json5@npm:^0.5.0": version: 0.5.1 resolution: "json5@npm:0.5.1" @@ -15954,15 +15984,6 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.2, json5@npm:^2.1.3, json5@npm:^2.2.2": - version: 2.2.3 - resolution: "json5@npm:2.2.3" - bin: - json5: lib/cli.js - checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349 - languageName: node - linkType: hard - "jsonfile@npm:^4.0.0": version: 4.0.0 resolution: "jsonfile@npm:4.0.0" @@ -16538,7 +16559,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:^4.1.1, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.6.1, lodash@npm:^4.7.0": +"lodash@npm:4.17.21, lodash@npm:4.x, lodash@npm:^4.1.1, lodash@npm:^4.17.10, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.6.1, lodash@npm:^4.7.0": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -16683,6 +16704,13 @@ __metadata: languageName: node linkType: hard +"make-error@npm:1.x": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 + languageName: node + linkType: hard + "make-fetch-happen@npm:^10.0.3": version: 10.2.1 resolution: "make-fetch-happen@npm:10.2.1" @@ -17012,7 +17040,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": +"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": version: 4.0.5 resolution: "micromatch@npm:4.0.5" dependencies: @@ -17300,6 +17328,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:1.x, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f + languageName: node + linkType: hard + "mkdirp@npm:^0.5.0, mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:~0.5.1": version: 0.5.6 resolution: "mkdirp@npm:0.5.6" @@ -17311,15 +17348,6 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f - languageName: node - linkType: hard - "moment@npm:2.29.4, moment@npm:2.x, moment@npm:>=1.6.0": version: 2.29.4 resolution: "moment@npm:2.29.4" @@ -22302,6 +22330,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:7.x": + version: 7.5.1 + resolution: "semver@npm:7.5.1" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: d16dbedad53c65b086f79524b9ef766bf38670b2395bdad5c957f824dcc566b624988013564f4812bcace3f9d405355c3635e2007396a39d1bffc71cfec4a2fc + languageName: node + linkType: hard + "semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0": version: 6.3.0 resolution: "semver@npm:6.3.0" @@ -24304,6 +24343,44 @@ __metadata: languageName: node linkType: hard +"ts-jest@npm:^26.4.2": + version: 26.5.6 + resolution: "ts-jest@npm:26.5.6" + dependencies: + bs-logger: 0.x + buffer-from: 1.x + fast-json-stable-stringify: 2.x + jest-util: ^26.1.0 + json5: 2.x + lodash: 4.x + make-error: 1.x + mkdirp: 1.x + semver: 7.x + yargs-parser: 20.x + peerDependencies: + jest: ">=26 <27" + typescript: ">=3.8 <5.0" + bin: + ts-jest: cli.js + checksum: 6f65ad4fe67ab3f0fd4c7f9954acbee863af05b2b3f88dd0f490bbcdc58002960fac908b2cb9f009ec14da6fe13cb00a39e291260d6e555abe72448d1c0a017f + languageName: node + linkType: hard + +"ts-loader@npm:9.4.2": + version: 9.4.2 + resolution: "ts-loader@npm:9.4.2" + dependencies: + chalk: ^4.1.0 + enhanced-resolve: ^5.0.0 + micromatch: ^4.0.0 + semver: ^7.3.4 + peerDependencies: + typescript: "*" + webpack: ^5.0.0 + checksum: 6f306ee4c615c2a159fb177561e3fb86ca2cbd6c641e710d408a64b4978e1ff3f2c9733df07bff27d3f82efbfa7c287523d4306049510c7485ac2669a9c37eb0 + languageName: node + linkType: hard + "ts-pnp@npm:^1.1.6": version: 1.2.0 resolution: "ts-pnp@npm:1.2.0" @@ -26083,6 +26160,13 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:20.x, yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.9": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 + languageName: node + linkType: hard + "yargs-parser@npm:21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -26100,13 +26184,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.9": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 - languageName: node - linkType: hard - "yargs@npm:^15.4.1": version: 15.4.1 resolution: "yargs@npm:15.4.1"