diff --git a/.eslintrc.yaml b/.eslintrc.yaml index a55bab6af3..9e9c880dee 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -16,7 +16,6 @@ plugins: - react - react-hooks - "@typescript-eslint" - - header - file-progress extends: @@ -88,12 +87,7 @@ rules: - error - additionalHooks: "(useAsync(?!AppConfigurationValue))" no-new-func: error - header/header: - - error - - line - - - " This Source Code Form is subject to the terms of the Mozilla Public" - - " License, v2.0. If a copy of the MPL was not distributed with this" - - " file, You can obtain one at http://mozilla.org/MPL/2.0/" + foxglove-license-header: error curly: error "@typescript-eslint/no-unused-vars": diff --git a/.vscode/settings.json b/.vscode/settings.json index 85e66d83e8..f013971d63 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -19,7 +19,8 @@ "typescript.tsdk": "node_modules/typescript/lib", "typescript.preferences.importModuleSpecifier": "non-relative", "eslint.options": { - "reportUnusedDisableDirectives": true + "reportUnusedDisableDirectives": true, + "rulePaths": ["eslint-rules"] }, // enable intellisense in custom snippets (see snippets.code-snippets) "editor.suggest.snippetsPreventQuickSuggestions": false diff --git a/app/PanelAPI/useBlocksByTopic.test.tsx b/app/PanelAPI/useBlocksByTopic.test.tsx index 9385f406dd..39c890c840 100644 --- a/app/PanelAPI/useBlocksByTopic.test.tsx +++ b/app/PanelAPI/useBlocksByTopic.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/PanelAPI/useDataSourceInfo.test.tsx b/app/PanelAPI/useDataSourceInfo.test.tsx index 11961c46bd..d28aea9f17 100644 --- a/app/PanelAPI/useDataSourceInfo.test.tsx +++ b/app/PanelAPI/useDataSourceInfo.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/PanelAPI/useMessageReducer.test.tsx b/app/PanelAPI/useMessageReducer.test.tsx index d915f134c3..e600e20ae4 100644 --- a/app/PanelAPI/useMessageReducer.test.tsx +++ b/app/PanelAPI/useMessageReducer.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/PanelAPI/useMessagesByTopic.test.tsx b/app/PanelAPI/useMessagesByTopic.test.tsx index d7632d8c8c..b7a06bf8a6 100644 --- a/app/PanelAPI/useMessagesByTopic.test.tsx +++ b/app/PanelAPI/useMessagesByTopic.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/ButtonBase.test.tsx b/app/components/ButtonBase.test.tsx index 702b769609..102e4c70dc 100644 --- a/app/components/ButtonBase.test.tsx +++ b/app/components/ButtonBase.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/DocumentDropListener.test.tsx b/app/components/DocumentDropListener.test.tsx index d08bd2c277..9178cfc1ad 100644 --- a/app/components/DocumentDropListener.test.tsx +++ b/app/components/DocumentDropListener.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/ExperimentalFeatureSettings.test.tsx b/app/components/ExperimentalFeatureSettings.test.tsx index ce381041ae..39149bcb3a 100644 --- a/app/components/ExperimentalFeatureSettings.test.tsx +++ b/app/components/ExperimentalFeatureSettings.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/GlobalKeyListener.test.tsx b/app/components/GlobalKeyListener.test.tsx index 4f881c4c62..ed5f66a1b3 100644 --- a/app/components/GlobalKeyListener.test.tsx +++ b/app/components/GlobalKeyListener.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/Icon.test.tsx b/app/components/Icon.test.tsx index f0ad3addb8..35eaf84e13 100644 --- a/app/components/Icon.test.tsx +++ b/app/components/Icon.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/MessagePathSyntax/MessagePathInput.test.ts b/app/components/MessagePathSyntax/MessagePathInput.test.ts index 6554f6f307..8b1ebc3d2c 100644 --- a/app/components/MessagePathSyntax/MessagePathInput.test.ts +++ b/app/components/MessagePathSyntax/MessagePathInput.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/MessagePathSyntax/useCachedGetMessagePathDataItems.test.tsx b/app/components/MessagePathSyntax/useCachedGetMessagePathDataItems.test.tsx index 72ca97dbb3..29f94199aa 100644 --- a/app/components/MessagePathSyntax/useCachedGetMessagePathDataItems.test.tsx +++ b/app/components/MessagePathSyntax/useCachedGetMessagePathDataItems.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/MessagePathSyntax/useLatestMessageDataItem.test.tsx b/app/components/MessagePathSyntax/useLatestMessageDataItem.test.tsx index a30f2d2abf..dd38b42859 100644 --- a/app/components/MessagePathSyntax/useLatestMessageDataItem.test.tsx +++ b/app/components/MessagePathSyntax/useLatestMessageDataItem.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/MessagePathSyntax/useMessagesByPath.test.tsx b/app/components/MessagePathSyntax/useMessagesByPath.test.tsx index 77888702bf..9be843eee0 100644 --- a/app/components/MessagePathSyntax/useMessagesByPath.test.tsx +++ b/app/components/MessagePathSyntax/useMessagesByPath.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/MessagePipeline/index.test.tsx b/app/components/MessagePipeline/index.test.tsx index a17cf2fb07..b566c7ccd1 100644 --- a/app/components/MessagePipeline/index.test.tsx +++ b/app/components/MessagePipeline/index.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ @@ -164,26 +165,27 @@ describe("MessagePipelineProvider/useMessagePipeline", () => { it("waits for the previous frame to finish before calling setGlobalVariables again", async () => { const player = new FakePlayer(); - jest.spyOn(player, "setGlobalVariables"); + const mockSetGlobalVariables = jest.spyOn(player, "setGlobalVariables"); const { result, rerender } = renderHook(Hook, { wrapper: Wrapper, initialProps: { maybePlayer: { player }, globalVariables: {} }, }); await tick(); + await tick(); - expect(player.setGlobalVariables).toHaveBeenCalledWith({}); - expect(player.setGlobalVariables).toHaveBeenCalledTimes(1); + expect(mockSetGlobalVariables.mock.calls).toEqual([[{}]]); const onFrameRendered = result.current.pauseFrame("Wait"); // Pass in new globalVariables and make sure they aren't used until the frame is done rerender({ maybePlayer: { player }, globalVariables: { futureTime: 1 } }); await tick(); - expect(player.setGlobalVariables).toHaveBeenCalledTimes(1); + expect(mockSetGlobalVariables.mock.calls).toEqual([[{}]]); // Once the frame is done, setGlobalVariables will be called with the new value onFrameRendered(); await tick(); - expect(player.setGlobalVariables).toHaveBeenCalledWith({ futureTime: 1 }); + await tick(); + expect(mockSetGlobalVariables.mock.calls).toEqual([[{}], [{ futureTime: 1 }]]); }); it("sets subscriptions", () => { diff --git a/app/components/Panel.test.tsx b/app/components/Panel.test.tsx index 720bace62b..fd1f672b12 100644 --- a/app/components/Panel.test.tsx +++ b/app/components/Panel.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/ShareJsonModal.test.tsx b/app/components/ShareJsonModal.test.tsx index 896568fbcc..d13377b462 100644 --- a/app/components/ShareJsonModal.test.tsx +++ b/app/components/ShareJsonModal.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/components/Tree/index.stories.tsx b/app/components/Tree/index.stories.tsx index 3d079517bf..6dd522f314 100644 --- a/app/components/Tree/index.stories.tsx +++ b/app/components/Tree/index.stories.tsx @@ -17,7 +17,8 @@ import { storiesOf } from "@storybook/react"; import { useState } from "react"; import Menu from "@foxglove-studio/app/components/Menu"; -import Tree, { Node } from "@foxglove-studio/app/components/Tree"; +import Tree from "@foxglove-studio/app/components/Tree"; +import { Node } from "@foxglove-studio/app/components/Tree/Node"; function getInitialState() { const root = { diff --git a/app/components/Tree/index.tsx b/app/components/Tree/index.tsx index 5c1ea5932d..385fd210f9 100644 --- a/app/components/Tree/index.tsx +++ b/app/components/Tree/index.tsx @@ -16,9 +16,6 @@ import React, { PureComponent } from "react"; import { Node } from "./Node"; import TreeNode from "./TreeNode"; -// export the node flow type -export { Node } from "./Node"; - type Props = { disableCheckbox?: boolean; enableVisibilityToggle?: boolean; diff --git a/app/dataProviders/CombinedDataProvider.test.ts b/app/dataProviders/CombinedDataProvider.test.ts index 201486f7fa..5d63713f8e 100644 --- a/app/dataProviders/CombinedDataProvider.test.ts +++ b/app/dataProviders/CombinedDataProvider.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/dataProviders/ParseMessagesDataProvider.test.ts b/app/dataProviders/ParseMessagesDataProvider.test.ts index 9c8e93317a..62e5e1804b 100644 --- a/app/dataProviders/ParseMessagesDataProvider.test.ts +++ b/app/dataProviders/ParseMessagesDataProvider.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/dataProviders/RpcDataProvider.test.ts b/app/dataProviders/RpcDataProvider.test.ts index bc4ab4140c..343116dc79 100644 --- a/app/dataProviders/RpcDataProvider.test.ts +++ b/app/dataProviders/RpcDataProvider.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/dataProviders/getRemoteBagGuid.test.ts b/app/dataProviders/getRemoteBagGuid.test.ts index 49c2f9525c..f5fb60d2fa 100644 --- a/app/dataProviders/getRemoteBagGuid.test.ts +++ b/app/dataProviders/getRemoteBagGuid.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/hooks/useContextSelector.test.tsx b/app/hooks/useContextSelector.test.tsx index 9b6ffc46be..b1037792ad 100644 --- a/app/hooks/useContextSelector.test.tsx +++ b/app/hooks/useContextSelector.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/hooks/usePrompt.test.tsx b/app/hooks/usePrompt.test.tsx index 16ed8a3958..47c75f4ca1 100644 --- a/app/hooks/usePrompt.test.tsx +++ b/app/hooks/usePrompt.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/jest.config.json b/app/jest.config.json new file mode 100644 index 0000000000..7a3d8a582f --- /dev/null +++ b/app/jest.config.json @@ -0,0 +1,23 @@ +{ + "//": "Note: we use babel-jest rather than ts-jest for performance reasons.", + "transform": { + "\\.tsx?$": "/test/transformers/typescriptTransformerWithRawImports.js", + "\\.ne$": "/test/transformers/neTransformer.js", + "\\.(bin|template|wasm)$": "/test/transformers/rawTransformer.js" + }, + "globals": { + "ReactNull": null + }, + "setupFiles": ["/test/setup.ts", "/test/setupEnzyme.ts", "jest-canvas-mock"], + "setupFilesAfterEnv": ["/test/setupTestFramework.ts"], + "restoreMocks": true, + "moduleNameMapper": { + "\\.svg$": "/test/mocks/MockSvg.tsx", + "react-monaco-editor": "/test/stubs/MonacoEditor.tsx", + "\\.(glb|md|png)$": "/test/mocks/fileMock.ts", + "\\.(css|scss)$": "/test/mocks/styleMock.ts" + }, + "testRunner": "jest-circus/runner", + "//": "Native find is slow because it does not exclude files: https://github.com/facebook/jest/pull/11264#issuecomment-825377579", + "haste": { "forceNodeFilesystemAPI": true } +} diff --git a/app/jest.config.ts b/app/jest.config.ts deleted file mode 100644 index e6b8eda624..0000000000 --- a/app/jest.config.ts +++ /dev/null @@ -1,30 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ - -export default { - preset: "ts-jest", - transform: { - "\\.tsx?$": "/test/transformers/rawImportPreprocessor.ts", - "\\.ne$": "/test/transformers/neTransformer.js", - "\\.(bin|template|wasm)$": "/test/transformers/rawTransformer.js", - }, - globals: { - ReactNull: null, // eslint-disable-line no-restricted-syntax - "ts-jest": { - babelConfig: { - plugins: ["babel-plugin-transform-import-meta", "@babel/plugin-transform-modules-commonjs"], - }, - }, - }, - setupFiles: ["/test/setup.ts", "/test/setupEnzyme.ts", "jest-canvas-mock"], - setupFilesAfterEnv: ["/test/setupTestFramework.ts"], - restoreMocks: true, - moduleNameMapper: { - "\\.svg$": "/test/mocks/MockSvg.tsx", - "react-monaco-editor": "/test/stubs/MonacoEditor.tsx", - "\\.(glb|md|png)$": "/test/mocks/fileMock.ts", - "\\.(css|scss)$": "/test/mocks/styleMock.ts", - }, - testRunner: "jest-circus/runner", -}; diff --git a/app/package.json b/app/package.json index d60b6124c2..48c862ba60 100644 --- a/app/package.json +++ b/app/package.json @@ -89,6 +89,7 @@ "@storybook/addon-essentials": "6.2.5", "@storybook/builder-webpack5": "6.2.5", "@storybook/react": "6.2.5", + "@testing-library/dom": "7.30.1", "@testing-library/react": "11.2.6", "@testing-library/react-hooks": "5.1.1", "@types/argparse": "^2.0.5", diff --git a/app/panels/Internals.test.tsx b/app/panels/Internals.test.tsx index 9deb70e9cc..c32d1c5e5f 100644 --- a/app/panels/Internals.test.tsx +++ b/app/panels/Internals.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/panels/Plot/PlotMenu.test.ts b/app/panels/Plot/PlotMenu.test.ts index 1d7d34f41e..0818877c3d 100644 --- a/app/panels/Plot/PlotMenu.test.ts +++ b/app/panels/Plot/PlotMenu.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/panels/Publish/index.test.tsx b/app/panels/Publish/index.test.tsx index c054feb1cf..3d45b762dc 100644 --- a/app/panels/Publish/index.test.tsx +++ b/app/panels/Publish/index.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/panels/ThreeDimensionalViz/FrameCompatibility.test.tsx b/app/panels/ThreeDimensionalViz/FrameCompatibility.test.tsx index 77ed2d58eb..b15751e9c2 100644 --- a/app/panels/ThreeDimensionalViz/FrameCompatibility.test.tsx +++ b/app/panels/ThreeDimensionalViz/FrameCompatibility.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/panels/ThreeDimensionalViz/SearchText.test.tsx b/app/panels/ThreeDimensionalViz/SearchText.test.tsx index 8127a95a00..e7302a7b6d 100644 --- a/app/panels/ThreeDimensionalViz/SearchText.test.tsx +++ b/app/panels/ThreeDimensionalViz/SearchText.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/panels/ThreeDimensionalViz/TopicTree/useSceneBuilderAndTransformsData.test.tsx b/app/panels/ThreeDimensionalViz/TopicTree/useSceneBuilderAndTransformsData.test.tsx index d3b1f57ad9..dc2a58a379 100644 --- a/app/panels/ThreeDimensionalViz/TopicTree/useSceneBuilderAndTransformsData.test.tsx +++ b/app/panels/ThreeDimensionalViz/TopicTree/useSceneBuilderAndTransformsData.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/panels/ThreeDimensionalViz/TopicTree/useTopicTree.test.tsx b/app/panels/ThreeDimensionalViz/TopicTree/useTopicTree.test.tsx index 0cc0d41bfa..b6462758e9 100644 --- a/app/panels/ThreeDimensionalViz/TopicTree/useTopicTree.test.tsx +++ b/app/panels/ThreeDimensionalViz/TopicTree/useTopicTree.test.tsx @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/panels/diagnostics/DiagnosticsHistory.test.ts b/app/panels/diagnostics/DiagnosticsHistory.test.ts index ab09ee4c3b..513470f07b 100644 --- a/app/panels/diagnostics/DiagnosticsHistory.test.ts +++ b/app/panels/diagnostics/DiagnosticsHistory.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/players/RandomAccessPlayer.test.ts b/app/players/RandomAccessPlayer.test.ts index 2df4241020..3059c98916 100644 --- a/app/players/RandomAccessPlayer.test.ts +++ b/app/players/RandomAccessPlayer.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/players/UserNodePlayer/index.test.ts b/app/players/UserNodePlayer/index.test.ts index 57b3602a02..e9ad639ee6 100644 --- a/app/players/UserNodePlayer/index.test.ts +++ b/app/players/UserNodePlayer/index.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/players/UserNodePlayer/nodeTransformerWorker/typescript/userUtils/.eslintrc.yaml b/app/players/UserNodePlayer/nodeTransformerWorker/typescript/userUtils/.eslintrc.yaml index 9977a24350..b8ca1aae6b 100644 --- a/app/players/UserNodePlayer/nodeTransformerWorker/typescript/userUtils/.eslintrc.yaml +++ b/app/players/UserNodePlayer/nodeTransformerWorker/typescript/userUtils/.eslintrc.yaml @@ -1,3 +1,3 @@ rules: # do not require license header for userUtils - "header/header": off + foxglove-license-header: off diff --git a/app/players/automatedRun/AutomatedRunPlayer.test.ts b/app/players/automatedRun/AutomatedRunPlayer.test.ts index 85779f8810..f71a6e9a64 100644 --- a/app/players/automatedRun/AutomatedRunPlayer.test.ts +++ b/app/players/automatedRun/AutomatedRunPlayer.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/players/automatedRun/performanceMeasuringClient.test.ts b/app/players/automatedRun/performanceMeasuringClient.test.ts index 4a4ce17fbb..3cf6cb3db9 100644 --- a/app/players/automatedRun/performanceMeasuringClient.test.ts +++ b/app/players/automatedRun/performanceMeasuringClient.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/players/types.ts b/app/players/types.ts index 729c3e1bc2..fdcbb928b1 100644 --- a/app/players/types.ts +++ b/app/players/types.ts @@ -87,7 +87,7 @@ export interface Player { setGlobalVariables(globalVariables: GlobalVariables): void; } -export const enum PlayerPresence { +export enum PlayerPresence { NOT_PRESENT = "NOT_PRESENT", CONSTRUCTING = "CONSTRUCTING", INITIALIZING = "INITIALIZING", diff --git a/app/reducers/layoutHistory.test.ts b/app/reducers/layoutHistory.test.ts index 623ce71aff..4f0d04430d 100644 --- a/app/reducers/layoutHistory.test.ts +++ b/app/reducers/layoutHistory.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/reducers/panels.test.ts b/app/reducers/panels.test.ts index 6f64a6bc04..64435aaa21 100644 --- a/app/reducers/panels.test.ts +++ b/app/reducers/panels.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/reducers/recentLayouts.test.ts b/app/reducers/recentLayouts.test.ts index 26795b5642..64a5c13991 100644 --- a/app/reducers/recentLayouts.test.ts +++ b/app/reducers/recentLayouts.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/test/mocks/fileMock.ts b/app/test/mocks/fileMock.ts index 90e74e471f..cb86b4c2b8 100644 --- a/app/test/mocks/fileMock.ts +++ b/app/test/mocks/fileMock.ts @@ -2,4 +2,4 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ -module.exports = "test-file-stub"; +export default "test-file-stub"; diff --git a/app/test/mocks/styleMock.ts b/app/test/mocks/styleMock.ts index b54be0e0cc..3848c9fa2b 100644 --- a/app/test/mocks/styleMock.ts +++ b/app/test/mocks/styleMock.ts @@ -2,4 +2,4 @@ // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ -module.exports = {}; +export default {}; diff --git a/app/test/sentry-stub.ts b/app/test/sentry-stub.ts deleted file mode 100644 index f049fc53f8..0000000000 --- a/app/test/sentry-stub.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ -// -// This file incorporates work covered by the following copyright and -// permission notice: -// -// Copyright 2018-2021 Cruise LLC -// -// This source code is licensed under the Apache License, Version 2.0, -// found at http://www.apache.org/licenses/LICENSE-2.0 -// You may not use this file except in compliance with the License. diff --git a/app/test/setup.ts b/app/test/setup.ts index a16f4311c2..bc13394f1a 100644 --- a/app/test/setup.ts +++ b/app/test/setup.ts @@ -15,6 +15,7 @@ import UrlSearchParams from "url-search-params"; import util from "util"; import { resetLogEventForTests } from "@foxglove-studio/app/util/logEvent"; +import setImmediate from "@foxglove-studio/app/util/setImmediate"; process.env.WASM_LZ4_ENVIRONMENT = "NODE"; @@ -22,14 +23,18 @@ function noOp() { // no-op } -if (typeof window.URL.createObjectURL === "undefined") { - Object.defineProperty(window.URL, "createObjectURL", { value: noOp }); -} - if (typeof window !== "undefined") { global.TextDecoder = util.TextDecoder as typeof TextDecoder; // polyfill URLSearchParams in jsdom window.URLSearchParams = UrlSearchParams; + + if (typeof window.URL.createObjectURL === "undefined") { + Object.defineProperty(window.URL, "createObjectURL", { value: noOp }); + } + + // jsdom removes Node's setImmediate from global, but we have tests & app code that use it + // https://github.com/facebook/jest/pull/11222 + (window as any).setImmediate ??= setImmediate; } global.TextEncoder = util.TextEncoder; diff --git a/app/test/setupTestFramework.test.ts b/app/test/setupTestFramework.test.ts index 1b0bb0dee3..058192fef4 100644 --- a/app/test/setupTestFramework.test.ts +++ b/app/test/setupTestFramework.test.ts @@ -44,3 +44,5 @@ describe("custom expectations", () => { }); }); }); + +export {}; // for isolatedModules diff --git a/app/test/transformers/rawImportPreprocessor.ts b/app/test/transformers/rawImportPreprocessor.ts deleted file mode 100644 index 522dbc2e89..0000000000 --- a/app/test/transformers/rawImportPreprocessor.ts +++ /dev/null @@ -1,37 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ - -import type { CacheKeyOptions, TransformOptions } from "@jest/transform"; -import type { Config } from "@jest/types"; -import fs from "fs"; -import { createTransformer } from "ts-jest"; - -const transformer = createTransformer(); - -// look for `?raw` import statements -// re-write these into `const variable = "string source";`; -const importRegEx = /^import (.*) from "(.*)\?raw";$/gm; -const importReplacer = (_: unknown, p1: string, p2: string) => { - const resolved = require.resolve(p2); - const rawFile = fs.readFileSync(resolved, { encoding: "utf-8" }); - return `const ${p1} = ${JSON.stringify(rawFile.toString())};`; -}; - -function rewriteSource(source: string) { - return source.replace(importRegEx, importReplacer); -} - -module.exports = { - process( - source: string, - filePath: string, - config: Config.ProjectConfig, - options?: TransformOptions, - ) { - return transformer.process(rewriteSource(source), filePath, config, options); - }, - getCacheKey(source: string, filePath: string, config: string, options: CacheKeyOptions) { - return transformer.getCacheKey(rewriteSource(source), filePath, config, options); - }, -}; diff --git a/app/test/transformers/typescriptTransformerWithRawImports.js b/app/test/transformers/typescriptTransformerWithRawImports.js new file mode 100644 index 0000000000..01e805ae33 --- /dev/null +++ b/app/test/transformers/typescriptTransformerWithRawImports.js @@ -0,0 +1,29 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/ + +/* eslint-disable @typescript-eslint/no-var-requires */ +const babelJest = require("babel-jest").default; +const fs = require("fs"); + +// look for `?raw` import statements +// re-write these into `const variable = "string source";`; +const importRegEx = /^import (.*) from "(.*)\?raw";$/gm; +const importReplacer = (_, p1, p2) => { + const resolved = require.resolve(p2); + const rawFile = fs.readFileSync(resolved, { encoding: "utf-8" }); + return `const ${p1} = ${JSON.stringify(rawFile.toString())};`; +}; + +function rewriteSource(source) { + return source.replace(importRegEx, importReplacer); +} + +module.exports = { + process(sourceText, ...args) { + return babelJest.process(rewriteSource(sourceText), ...args); + }, + getCacheKey(sourceText, ...args) { + return babelJest.getCacheKey(rewriteSource(sourceText), ...args); + }, +}; diff --git a/app/util/Rpc.test.ts b/app/util/Rpc.test.ts index dc703dd869..d83b33a7af 100644 --- a/app/util/Rpc.test.ts +++ b/app/util/Rpc.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/util/RpcUtils.test.ts b/app/util/RpcUtils.test.ts index 86fdcebac5..5bb6f14ad7 100644 --- a/app/util/RpcUtils.test.ts +++ b/app/util/RpcUtils.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/util/Storage.test.ts b/app/util/Storage.test.ts index f84879141e..db38fcb073 100644 --- a/app/util/Storage.test.ts +++ b/app/util/Storage.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/util/layout.test.ts b/app/util/layout.test.ts index d5ac546c30..f184e52d66 100644 --- a/app/util/layout.test.ts +++ b/app/util/layout.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/app/util/parseMessageDefinitionsCache.test.ts b/app/util/parseMessageDefinitionsCache.test.ts index 33d804d7ef..d6c020115c 100644 --- a/app/util/parseMessageDefinitionsCache.test.ts +++ b/app/util/parseMessageDefinitionsCache.test.ts @@ -1,3 +1,4 @@ +/** @jest-environment jsdom */ // This Source Code Form is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/ diff --git a/babel.config.json b/babel.config.json new file mode 100644 index 0000000000..0749c0ba83 --- /dev/null +++ b/babel.config.json @@ -0,0 +1,8 @@ +{ + "presets": [ + ["@babel/preset-env", { "targets": { "node": "14" } }], + "@babel/preset-typescript", + "@babel/preset-react" + ], + "plugins": ["babel-plugin-transform-import-meta", "@babel/plugin-transform-modules-commonjs"] +} diff --git a/ci/jest.config.json b/ci/jest.config.json new file mode 100644 index 0000000000..587c5f884e --- /dev/null +++ b/ci/jest.config.json @@ -0,0 +1,5 @@ +{ + "testRunner": "jest-circus/runner", + "//": "Native find is slow because it does not exclude files: https://github.com/facebook/jest/pull/11264#issuecomment-825377579", + "haste": { "forceNodeFilesystemAPI": true } +} diff --git a/ci/jest.config.ts b/ci/jest.config.ts deleted file mode 100644 index 75c5e7ed8f..0000000000 --- a/ci/jest.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ - -export default { - preset: "ts-jest", - testRunner: "jest-circus/runner", -}; diff --git a/eslint-rules/foxglove-license-header.js b/eslint-rules/foxglove-license-header.js new file mode 100644 index 0000000000..6b5974de90 --- /dev/null +++ b/eslint-rules/foxglove-license-header.js @@ -0,0 +1,37 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/ + +// A custom eslint rule checking for the existence of a license header comment, while allowing +// certain prefixes that cannot be moved below the license header. + +const ALLOWED_PREFIX_LINES = ["/** @jest-environment jsdom */"]; +const LICENSE_HEADER = ` +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/ +`.trim(); + +module.exports = { + create: (context) => { + return { + Program: () => { + const source = context.getSourceCode().getText(); + const headerIndex = source.indexOf(LICENSE_HEADER); + const prefixLines = source.substring(0, headerIndex).trim().split("\n"); + const prefixLinesAreValid = prefixLines.every( + (line) => line === "" || ALLOWED_PREFIX_LINES.includes(line), + ); + if (headerIndex === -1 || !prefixLinesAreValid) { + context.report({ + message: "Missing license header", + loc: { start: 0, end: +source.indexOf("\n") + 1 }, + fix: () => { + return { range: [0, 0], text: LICENSE_HEADER + "\n" }; + }, + }); + } + }, + }; + }, +}; diff --git a/jest.config.json b/jest.config.json new file mode 100644 index 0000000000..d8b09e1f4d --- /dev/null +++ b/jest.config.json @@ -0,0 +1,8 @@ +{ + "//": "Our top level jest config to reference all the projects under our monorepo. We exclude the integration test since it involves performing a webpack build and doesn't support 'watch' or 'debug' in the same way", + "projects": [ + "/app/jest.config.json", + "/ci/jest.config.json", + "/packages/*/jest.config.json" + ] +} diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index fd0dbdbfbe..0000000000 --- a/jest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ - -// Or top level jest config to reference all the projects under our monorepo -export default { - // We exclude the integration test since it involves performing a webpack build and - // doesn't support "watch" or "debug" in the same way - projects: [ - "/app/jest.config.ts", - "/ci/jest.config.ts", - "/packages/*/jest.config.ts", - ], -}; diff --git a/package.json b/package.json index 3b7d354dcf..5ce45357cf 100644 --- a/package.json +++ b/package.json @@ -23,11 +23,11 @@ "build:prod": "webpack --mode production --progress", "build:dev": "webpack --mode development --progress", "serve": "webpack serve --mode development --progress", - "lint": "TIMING=1 eslint --report-unused-disable-directives --fix .", - "lint:ci": "TIMING=1 NODE_OPTIONS='--max-old-space-size=4096' eslint --report-unused-disable-directives --config .eslintrc.ci.yaml .", - "test": "NODE_OPTIONS='-r ts-node/register' jest", - "test:debug": "NODE_OPTIONS='-r ts-node/register --inspect-brk' jest", - "test:watch": "NODE_OPTIONS='-r ts-node/register' jest --watch", + "lint": "TIMING=1 eslint --rulesdir eslint-rules --report-unused-disable-directives --fix .", + "lint:ci": "TIMING=1 NODE_OPTIONS='--max-old-space-size=4096' eslint --rulesdir eslint-rules --report-unused-disable-directives --config .eslintrc.ci.yaml .", + "test": "jest", + "test:debug": "NODE_OPTIONS='--inspect-brk' jest", + "test:watch": "jest --watch", "test:integration": "jest --forceExit --projects test", "package:win": "yarn package --win", "package:darwin": "yarn package --mac", @@ -47,15 +47,21 @@ }, "devDependencies": { "@actions/exec": "1.0.4", + "@babel/core": "7.13.16", + "@babel/preset-env": "7.13.15", + "@babel/preset-typescript": "7.13.0", "@foxglove/electron-socket": "workspace:packages/electron-socket", "@foxglove/velodyne-cloud": "workspace:packages/velodyne-cloud", "@jest/types": "26.6.2", "@pmmmwh/react-refresh-webpack-plugin": "0.5.0-beta.1", "@sentry/electron": "2.4.0", "@types/amplitude-js": "7.0.1", + "@types/babel__core": "^7", + "@types/babel__preset-env": "^7", "@types/case-sensitive-paths-webpack-plugin": "2.1.5", "@types/circular-dependency-plugin": "^5.0.2", "@types/electron-devtools-installer": "2.2.0", + "@types/jest": "26.0.22", "@types/license-checker": "^25.0.1", "@types/nearley": "2.11.1", "@types/pngjs": "^6", @@ -67,6 +73,7 @@ "@typescript-eslint/eslint-plugin": "4.21.0", "@typescript-eslint/parser": "4.21.0", "amplitude-js": "8.1.0", + "babel-jest": "27.0.0-next.8", "babel-plugin-transform-import-meta": "1.0.1", "browserify-zlib": "0.2.0", "circular-dependency-plugin": "5.2.2", @@ -84,16 +91,15 @@ "eslint-config-prettier": "8.1.0", "eslint-import-resolver-webpack": "0.13.0", "eslint-plugin-file-progress": "1.1.1", - "eslint-plugin-header": "github:amacneil/eslint-plugin-header#notemplate", "eslint-plugin-import": "2.22.1", "eslint-plugin-prettier": "3.3.1", "eslint-plugin-react": "7.23.1", "eslint-plugin-react-hooks": "4.2.0", "fork-ts-checker-webpack-plugin": "6.2.1", "html-webpack-plugin": "5.3.1", - "jest": "26.6.3", + "jest": "27.0.0-next.8", "jest-canvas-mock": "2.3.1", - "jest-circus": "26.6.3", + "jest-circus": "27.0.0-next.8", "license-checker": "25.0.1", "monaco-editor-webpack-plugin": "3.0.1", "nearley": "2.20.1", @@ -112,7 +118,6 @@ "spectron": "https://github.com/foxglove/spectron.git#commit=7f88e8fe148ee14b3efc14c3646c08c4ed0a6747", "string-replace-loader": "3.0.1", "style-loader": "2.0.0", - "ts-jest": "26.5.2", "ts-loader": "8.1.0", "ts-node": "9.1.1", "typescript": "4.2.2", diff --git a/packages/electron-socket/package.json b/packages/electron-socket/package.json index a340779dbc..624fdadff8 100644 --- a/packages/electron-socket/package.json +++ b/packages/electron-socket/package.json @@ -23,7 +23,7 @@ "scripts": {}, "devDependencies": { "@jest/types": "26.6.2", - "jest": "26.6.3", + "jest": "27.0.0-next.8", "tslib": "2.2.0", "typescript": "4.2.2" }, diff --git a/packages/ros1/jest.config.json b/packages/ros1/jest.config.json new file mode 100644 index 0000000000..044d520cd2 --- /dev/null +++ b/packages/ros1/jest.config.json @@ -0,0 +1,6 @@ +{ + "testRunner": "jest-circus/runner", + "testMatch": ["/src/**/*.test.ts"], + "//": "Native find is slow because it does not exclude files: https://github.com/facebook/jest/pull/11264#issuecomment-825377579", + "haste": { "forceNodeFilesystemAPI": true } +} diff --git a/packages/ros1/jest.config.ts b/packages/ros1/jest.config.ts deleted file mode 100644 index bb5377397f..0000000000 --- a/packages/ros1/jest.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ - -export default { - preset: "ts-jest", - testRunner: "jest-circus/runner", - testMatch: ["/src/**/*.test.ts"], -}; diff --git a/packages/ros1/package.json b/packages/ros1/package.json index 1c7beab883..5da1347148 100644 --- a/packages/ros1/package.json +++ b/packages/ros1/package.json @@ -25,8 +25,8 @@ }, "devDependencies": { "@jest/types": "26.6.2", - "jest": "26.6.3", - "jest-circus": "26.6.3", + "jest": "27.0.0-next.8", + "jest-circus": "27.0.0-next.8", "tslib": "2.2.0", "typescript": "4.2.2" }, diff --git a/packages/rosmsg-deser/jest.config.json b/packages/rosmsg-deser/jest.config.json new file mode 100644 index 0000000000..587c5f884e --- /dev/null +++ b/packages/rosmsg-deser/jest.config.json @@ -0,0 +1,5 @@ +{ + "testRunner": "jest-circus/runner", + "//": "Native find is slow because it does not exclude files: https://github.com/facebook/jest/pull/11264#issuecomment-825377579", + "haste": { "forceNodeFilesystemAPI": true } +} diff --git a/packages/rosmsg-deser/jest.config.ts b/packages/rosmsg-deser/jest.config.ts deleted file mode 100644 index 75c5e7ed8f..0000000000 --- a/packages/rosmsg-deser/jest.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ - -export default { - preset: "ts-jest", - testRunner: "jest-circus/runner", -}; diff --git a/packages/rosmsg-deser/package.json b/packages/rosmsg-deser/package.json index 5a97d7684e..e2bd22fe24 100644 --- a/packages/rosmsg-deser/package.json +++ b/packages/rosmsg-deser/package.json @@ -5,7 +5,7 @@ "main": "src/index.ts", "module": "src/index.ts", "devDependencies": { - "jest": "26.6.3", + "jest": "27.0.0-next.8", "typescript": "4.2.2" } } diff --git a/packages/velodyne-cloud/jest.config.json b/packages/velodyne-cloud/jest.config.json new file mode 100644 index 0000000000..044d520cd2 --- /dev/null +++ b/packages/velodyne-cloud/jest.config.json @@ -0,0 +1,6 @@ +{ + "testRunner": "jest-circus/runner", + "testMatch": ["/src/**/*.test.ts"], + "//": "Native find is slow because it does not exclude files: https://github.com/facebook/jest/pull/11264#issuecomment-825377579", + "haste": { "forceNodeFilesystemAPI": true } +} diff --git a/packages/velodyne-cloud/jest.config.ts b/packages/velodyne-cloud/jest.config.ts deleted file mode 100644 index bb5377397f..0000000000 --- a/packages/velodyne-cloud/jest.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ - -export default { - preset: "ts-jest", - testRunner: "jest-circus/runner", - testMatch: ["/src/**/*.test.ts"], -}; diff --git a/packages/velodyne-cloud/package.json b/packages/velodyne-cloud/package.json index 08829ef9cb..0367b06721 100644 --- a/packages/velodyne-cloud/package.json +++ b/packages/velodyne-cloud/package.json @@ -25,8 +25,8 @@ }, "devDependencies": { "@jest/types": "26.6.2", - "jest": "26.6.3", - "jest-circus": "26.6.3", + "jest": "27.0.0-next.8", + "jest-circus": "27.0.0-next.8", "kelonio": "0.6.0", "rosbag": "github:foxglove/rosbag.js#fc61125fbc01ff55698c5ed48987b2d9e7599572", "tslib": "2.2.0", diff --git a/packages/wasm-bz2/jest.config.json b/packages/wasm-bz2/jest.config.json new file mode 100644 index 0000000000..044d520cd2 --- /dev/null +++ b/packages/wasm-bz2/jest.config.json @@ -0,0 +1,6 @@ +{ + "testRunner": "jest-circus/runner", + "testMatch": ["/src/**/*.test.ts"], + "//": "Native find is slow because it does not exclude files: https://github.com/facebook/jest/pull/11264#issuecomment-825377579", + "haste": { "forceNodeFilesystemAPI": true } +} diff --git a/packages/wasm-bz2/jest.config.ts b/packages/wasm-bz2/jest.config.ts deleted file mode 100644 index 856392fb30..0000000000 --- a/packages/wasm-bz2/jest.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ - -export default { - preset: "ts-jest", - globals: { - "ts-jest": { - babelConfig: { - plugins: ["babel-plugin-transform-import-meta", "@babel/plugin-transform-modules-commonjs"], - }, - }, - }, - testRunner: "jest-circus/runner", - testMatch: ["/src/**/*.test.ts"], -}; diff --git a/packages/wasm-bz2/package.json b/packages/wasm-bz2/package.json index 52d7c9fe82..f09180bb64 100644 --- a/packages/wasm-bz2/package.json +++ b/packages/wasm-bz2/package.json @@ -17,6 +17,6 @@ "module": "src/index.ts", "devDependencies": { "@types/emscripten": "1.39.4", - "jest": "26.6.3" + "jest": "27.0.0-next.8" } } diff --git a/packages/xmlrpc/jest.config.json b/packages/xmlrpc/jest.config.json new file mode 100644 index 0000000000..044d520cd2 --- /dev/null +++ b/packages/xmlrpc/jest.config.json @@ -0,0 +1,6 @@ +{ + "testRunner": "jest-circus/runner", + "testMatch": ["/src/**/*.test.ts"], + "//": "Native find is slow because it does not exclude files: https://github.com/facebook/jest/pull/11264#issuecomment-825377579", + "haste": { "forceNodeFilesystemAPI": true } +} diff --git a/packages/xmlrpc/jest.config.ts b/packages/xmlrpc/jest.config.ts deleted file mode 100644 index bb5377397f..0000000000 --- a/packages/xmlrpc/jest.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ - -export default { - preset: "ts-jest", - testRunner: "jest-circus/runner", - testMatch: ["/src/**/*.test.ts"], -}; diff --git a/packages/xmlrpc/package.json b/packages/xmlrpc/package.json index aa7ced5e27..8a342b5fe1 100644 --- a/packages/xmlrpc/package.json +++ b/packages/xmlrpc/package.json @@ -33,8 +33,8 @@ "devDependencies": { "@jest/types": "26.6.2", "@types/sax": "^1.2.1", - "jest": "26.6.3", - "jest-circus": "26.6.3", + "jest": "27.0.0-next.8", + "jest-circus": "27.0.0-next.8", "tslib": "2.2.0", "typescript": "4.2.2" } diff --git a/test/jest.config.json b/test/jest.config.json new file mode 100644 index 0000000000..2dfb2d6e37 --- /dev/null +++ b/test/jest.config.json @@ -0,0 +1,6 @@ +{ + "globalSetup": "/globalSetup.ts", + "testRunner": "jest-circus/runner", + "//": "Native find is slow because it does not exclude files: https://github.com/facebook/jest/pull/11264#issuecomment-825377579", + "haste": { "forceNodeFilesystemAPI": true } +} diff --git a/test/jest.config.ts b/test/jest.config.ts deleted file mode 100644 index 7bc41f27d1..0000000000 --- a/test/jest.config.ts +++ /dev/null @@ -1,14 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/ - -export default { - preset: "ts-jest", - globals: { - "ts-jest": { - tsconfig: "/../tsconfig.json", - }, - }, - globalSetup: "/globalSetup.ts", - testRunner: "jest-circus/runner", -}; diff --git a/tsconfig.base.json b/tsconfig.base.json index 5fb65252e7..fd945c5c64 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -11,6 +11,9 @@ "esModuleInterop": true, "importHelpers": false, + // required for testing with babel-jest + babel-plugin-transform-typescript + "isolatedModules": true, + // webpack handles JS imports for us "allowJs": false, diff --git a/tsconfig.json b/tsconfig.json index f0fbf51ed1..c68c33b866 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,6 +8,7 @@ "./*.js", "./**/jest.config.ts", "./ci/**/*.ts", + "./eslint-rules/*.js", "./test/**/*.ts", "./resources/notarize.ts" ], diff --git a/yarn.lock b/yarn.lock index 7aa5ef252c..459395449a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -107,10 +107,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.13.0, @babel/compat-data@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/compat-data@npm:7.13.8" - checksum: e07e24737973206dd17439224945a354352ce0896d5a0bdd22fc637464eb650bdf6651a42352dc35fa8d55842ce1b66e545a1e3c096ee8f45947dcc32a44be44 +"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.13.15, @babel/compat-data@npm:^7.13.8": + version: 7.13.15 + resolution: "@babel/compat-data@npm:7.13.15" + checksum: 6abe95cbd36e54217cdcc51829e377cf31451ed0a64ff43cc82e0ce728d9e265990c5e079d5c3f9ee0afd49e20d6c90112fe2093ed0699c2ffc62f5172df24fa languageName: node linkType: hard @@ -138,38 +138,37 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:7.13.8, @babel/core@npm:^7.0.0, @babel/core@npm:^7.1.0, @babel/core@npm:^7.12.10, @babel/core@npm:^7.4.5, @babel/core@npm:^7.7.5": - version: 7.13.8 - resolution: "@babel/core@npm:7.13.8" +"@babel/core@npm:7.13.16, @babel/core@npm:^7.0.0, @babel/core@npm:^7.1.0, @babel/core@npm:^7.12.10, @babel/core@npm:^7.4.5, @babel/core@npm:^7.7.5": + version: 7.13.16 + resolution: "@babel/core@npm:7.13.16" dependencies: "@babel/code-frame": ^7.12.13 - "@babel/generator": ^7.13.0 - "@babel/helper-compilation-targets": ^7.13.8 - "@babel/helper-module-transforms": ^7.13.0 - "@babel/helpers": ^7.13.0 - "@babel/parser": ^7.13.4 + "@babel/generator": ^7.13.16 + "@babel/helper-compilation-targets": ^7.13.16 + "@babel/helper-module-transforms": ^7.13.14 + "@babel/helpers": ^7.13.16 + "@babel/parser": ^7.13.16 "@babel/template": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 + "@babel/traverse": ^7.13.15 + "@babel/types": ^7.13.16 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.1.2 - lodash: ^4.17.19 semver: ^6.3.0 source-map: ^0.5.0 - checksum: f3c61e635aa41e127775d1191a65aedd4cf90008625eb93ddbd86214ebae6b0793cefd10503b2a4df8aa510d0e1108dfd15e29bde9bbffc899a50015f56f49c4 + checksum: 1a53b70629fae3c5b714af1c582a92ffbb1a87d0f8fe705292faed6281476bf0a35ffa19d9d28ad791610d203fdbb8928e28aedb52a02023a561caaa44a9ee61 languageName: node linkType: hard -"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.12.5, @babel/generator@npm:^7.13.0": - version: 7.13.9 - resolution: "@babel/generator@npm:7.13.9" +"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.12.5, @babel/generator@npm:^7.13.16, @babel/generator@npm:^7.7.2": + version: 7.13.16 + resolution: "@babel/generator@npm:7.13.16" dependencies: - "@babel/types": ^7.13.0 + "@babel/types": ^7.13.16 jsesc: ^2.5.1 source-map: ^0.5.0 - checksum: d9cf7db910dd703a55c3ba147a8024564d51de06f5e3e61aef6ca197bcd80a6cb0a633fe4688c8c9f6226c70ee6f32a747050a8e420972b45cc98a6b3fc5ae66 + checksum: 299bf875ea550f52d157260804bf5b1acdc27269ae7287e53a1a5a602ff6052a466f4a4c03dc7377b3f2d5240eea5ee92162e2a943acb4d28e017ac89ab89e9d languageName: node linkType: hard @@ -192,17 +191,17 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/helper-compilation-targets@npm:7.13.8" +"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.13.13, @babel/helper-compilation-targets@npm:^7.13.16, @babel/helper-compilation-targets@npm:^7.13.8": + version: 7.13.16 + resolution: "@babel/helper-compilation-targets@npm:7.13.16" dependencies: - "@babel/compat-data": ^7.13.8 + "@babel/compat-data": ^7.13.15 "@babel/helper-validator-option": ^7.12.17 browserslist: ^4.14.5 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: dbee371e5ff226bb03a036d1af858f038ab6e71fac1ff5014bf69411b71af187bcdb0e49d5352ec5ef5e83186c9b88ee83b74295ba900691095b31017ec59f89 + checksum: baa1e4cdd562996c6af0a8cedb097cd72f67c44577faf4b657015f477d4930ebcc40ca21dc1e5fcffe91a1517de6e4114bc21f805ca701dfac2ddd2e9b006228 languageName: node linkType: hard @@ -251,6 +250,24 @@ __metadata: languageName: node linkType: hard +"@babel/helper-define-polyfill-provider@npm:^0.2.0": + version: 0.2.0 + resolution: "@babel/helper-define-polyfill-provider@npm:0.2.0" + dependencies: + "@babel/helper-compilation-targets": ^7.13.0 + "@babel/helper-module-imports": ^7.12.13 + "@babel/helper-plugin-utils": ^7.13.0 + "@babel/traverse": ^7.13.0 + debug: ^4.1.1 + lodash.debounce: ^4.0.8 + resolve: ^1.14.2 + semver: ^6.1.2 + peerDependencies: + "@babel/core": ^7.4.0-0 + checksum: 575785f62b10ee5cd9d8c092b6077f8bad8eed42ac50a8d55b82430c6958f94da11f5b20de650e31b400f7c7a0af08b6e4476669fd2a3b24414d1a9db89d531f + languageName: node + linkType: hard + "@babel/helper-explode-assignable-expression@npm:^7.12.13": version: 7.13.0 resolution: "@babel/helper-explode-assignable-expression@npm:7.13.0" @@ -290,38 +307,37 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-member-expression-to-functions@npm:7.13.0" +"@babel/helper-member-expression-to-functions@npm:^7.13.0, @babel/helper-member-expression-to-functions@npm:^7.13.12": + version: 7.13.12 + resolution: "@babel/helper-member-expression-to-functions@npm:7.13.12" dependencies: - "@babel/types": ^7.13.0 - checksum: 9baaab9910a96c0f201b71c6cc39037dce5d32a321f61347ac489ddbef2bcbd232adcadeaa8e44d8c9a7216226c009b57f9d65697d90d7a8ed2c27682932d959 + "@babel/types": ^7.13.12 + checksum: 2c075f72e5bda1432c74484548272577485d45c4d6c7cc9e84c5d053eaa6e0890e93c9b018bab97f65cbb81ac04dd9cdca73d5ae0e94b03cfc00d10972b99185 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-module-imports@npm:7.12.13" +"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.13.12": + version: 7.13.12 + resolution: "@babel/helper-module-imports@npm:7.13.12" dependencies: - "@babel/types": ^7.12.13 - checksum: 9832436fb44361b2d7a0b7d99f18b7c0529afb94202ab92b578147aba062447e9a1cff33bc95db33189686fa922c62f23da296870958eee2f862b3aa89809159 + "@babel/types": ^7.13.12 + checksum: 4d1d3364bec0820e50c782b5a5c81e7987c260c14772bc594ca8dbfdb3b6e43bd9b4e5071fd2a5f777c822dc7440781fa904f643e2069755db9ba5033cb2beac languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-module-transforms@npm:7.13.0" +"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.13.0, @babel/helper-module-transforms@npm:^7.13.14": + version: 7.13.14 + resolution: "@babel/helper-module-transforms@npm:7.13.14" dependencies: - "@babel/helper-module-imports": ^7.12.13 - "@babel/helper-replace-supers": ^7.13.0 - "@babel/helper-simple-access": ^7.12.13 + "@babel/helper-module-imports": ^7.13.12 + "@babel/helper-replace-supers": ^7.13.12 + "@babel/helper-simple-access": ^7.13.12 "@babel/helper-split-export-declaration": ^7.12.13 "@babel/helper-validator-identifier": ^7.12.11 "@babel/template": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - lodash: ^4.17.19 - checksum: b7e45c67eeaca488fa7a7bb0afebaec25b91f94cb04d32229ef799bd3a31ef5b566737fefd139b20c6525817528816e43bf492372c77e352e2a0e4d03b1fe21b + "@babel/traverse": ^7.13.13 + "@babel/types": ^7.13.14 + checksum: 576e86d0d41674e01703754a16e94495e424c7972f932e1eedb30206092b410b3659c0d0a7a06c61e024cee9b6020215db4732903ae49ebbd19d813feb0a90da languageName: node linkType: hard @@ -359,24 +375,24 @@ __metadata: languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.12.13, @babel/helper-replace-supers@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helper-replace-supers@npm:7.13.0" +"@babel/helper-replace-supers@npm:^7.12.13, @babel/helper-replace-supers@npm:^7.13.0, @babel/helper-replace-supers@npm:^7.13.12": + version: 7.13.12 + resolution: "@babel/helper-replace-supers@npm:7.13.12" dependencies: - "@babel/helper-member-expression-to-functions": ^7.13.0 + "@babel/helper-member-expression-to-functions": ^7.13.12 "@babel/helper-optimise-call-expression": ^7.12.13 "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: b32ab3f4d6a4e7f80c361eb9c0a001c2ae498f885248cb567c8de2475fb3dcbdf7ddd32a9e9a926abf55cf4f46faad7ceebfd3d035dea5508c3d9ba55d4083cc + "@babel/types": ^7.13.12 + checksum: 38b79cb56a9a5324e32567660fcafbac4efae6f2c2c2ef048deb2d022476fc1c7acfda5ab841f7135d07b4f39e62142f9d253cfe824232030432c86f94d226f1 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/helper-simple-access@npm:7.12.13" +"@babel/helper-simple-access@npm:^7.12.13, @babel/helper-simple-access@npm:^7.13.12": + version: 7.13.12 + resolution: "@babel/helper-simple-access@npm:7.13.12" dependencies: - "@babel/types": ^7.12.13 - checksum: 34f19da4b8129006d660ff6d704d493a447852268a1360727a7de32087c7cead4c2548a3bb73c8fee7afa2dcad85087d53f9b0cabe071f3bf5cc27f35de9e7c8 + "@babel/types": ^7.13.12 + checksum: eff532a1572a4ac562c5918a409871ddf9baee9ece197b98a54622184d3b9e01bdd465597f27ca3d452e71638c913a14819cf261dc095a466032dfd92a88bc73 languageName: node linkType: hard @@ -424,14 +440,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.12.5, @babel/helpers@npm:^7.13.0": - version: 7.13.0 - resolution: "@babel/helpers@npm:7.13.0" +"@babel/helpers@npm:^7.12.5, @babel/helpers@npm:^7.13.16": + version: 7.13.17 + resolution: "@babel/helpers@npm:7.13.17" dependencies: "@babel/template": ^7.12.13 - "@babel/traverse": ^7.13.0 - "@babel/types": ^7.13.0 - checksum: 6c435aefe108e85b999570eed9fc2ec10944cb1ed4c3ff6656936c90a6f986174bd5c80ec48ecbbb7042e5eca5761364f484d7e0238a3aa77c2f5099dcac8df0 + "@babel/traverse": ^7.13.17 + "@babel/types": ^7.13.17 + checksum: 3e2b18d6bad7e7fa4e268a4e28f7ba5a15893efd39a57af9ae38613fe11bf4cff03cb2a56d4e6e18eeabe0934bfa689432ce3578bf59bb43bf926c956771b4b4 languageName: node linkType: hard @@ -446,25 +462,38 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.11, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.12.7, @babel/parser@npm:^7.13.0, @babel/parser@npm:^7.13.4": - version: 7.13.9 - resolution: "@babel/parser@npm:7.13.9" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.11, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.12.7, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.7.2": + version: 7.13.16 + resolution: "@babel/parser@npm:7.13.16" bin: parser: ./bin/babel-parser.js - checksum: de61d40db87a09a2bf230b06cd33121e25a650cf82efb3af7d348e9e5d5ca9426fa76f264eb7c9c5f16a11d17cf66adbe2f807d5a6126c370017ea4ca506fcea + checksum: 4f02b226686ad98684128d64082388c8af3a2cd0bb986e8eb0339235d99f9a6bb55ba225da953291d975f341fe6d5d5dc006706d515f999be5ad49dd99f815e3 languageName: node linkType: hard -"@babel/plugin-proposal-async-generator-functions@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.13.8" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.13.12": + version: 7.13.12 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.13.12" + dependencies: + "@babel/helper-plugin-utils": ^7.13.0 + "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 + "@babel/plugin-proposal-optional-chaining": ^7.13.12 + peerDependencies: + "@babel/core": ^7.13.0 + checksum: ad0b508a5c3f3436ff0ff598b7aad63686bfe7f846b19c862c09397bc987ab9244b866204440496cf6d1b7ec07ea01a6fe95fd3067dbdf58ec48d9d4d4d9a440 + languageName: node + linkType: hard + +"@babel/plugin-proposal-async-generator-functions@npm:^7.13.15": + version: 7.13.15 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.13.15" dependencies: "@babel/helper-plugin-utils": ^7.13.0 "@babel/helper-remap-async-to-generator": ^7.13.0 "@babel/plugin-syntax-async-generators": ^7.8.4 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 56610a31dcd26e8613a715dfd7ed2308ce6e3a8357325e3562996468104aae45c4780db373d8b12b659b56175e9ace2e078420838ae3246573499a5ab74b1632 + checksum: cfef2d2d97f4dee2930278ff8596940d3fef07522cf88b6635dd671cee055d23bd196eeba731600f7edb950e65ba915e363e5555982598087561e276a4fe6fce languageName: node linkType: hard @@ -617,16 +646,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-chaining@npm:^7.12.7, @babel/plugin-proposal-optional-chaining@npm:^7.13.8": - version: 7.13.8 - resolution: "@babel/plugin-proposal-optional-chaining@npm:7.13.8" +"@babel/plugin-proposal-optional-chaining@npm:^7.12.7, @babel/plugin-proposal-optional-chaining@npm:^7.13.12": + version: 7.13.12 + resolution: "@babel/plugin-proposal-optional-chaining@npm:7.13.12" dependencies: "@babel/helper-plugin-utils": ^7.13.0 "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 "@babel/plugin-syntax-optional-chaining": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8295f1ceda1bc40eb281b611eeebc087db843de318bbffeecd245b0a0ffe7df723ec99c39579d2e1089af2694abde938f30defb16c5f909423fa6d57a7155598 + checksum: 8663cfbf5cdfe41f8765976b94de9525c223085d53bb48bd481a03539a7680f2aa3b3fd525d80144e1c1c646cbad817fea7ef8da573bbf0600ddde32fab7420b languageName: node linkType: hard @@ -863,7 +892,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.12.13": +"@babel/plugin-syntax-typescript@npm:^7.12.13, @babel/plugin-syntax-typescript@npm:^7.7.2": version: 7.12.13 resolution: "@babel/plugin-syntax-typescript@npm:7.12.13" dependencies: @@ -1210,14 +1239,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-transform-regenerator@npm:7.12.13" +"@babel/plugin-transform-regenerator@npm:^7.13.15": + version: 7.13.15 + resolution: "@babel/plugin-transform-regenerator@npm:7.13.15" dependencies: regenerator-transform: ^0.14.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4ee616942c712a94720b8613fa027db98bd08cfc677bc2d9bf444a40989571db269d502fcb4851d2959c34c2819e767ecd48fa61c572b3814cfe65c8a46ad0dd + checksum: ac1f6bda7e72c073b0957c543cba8a29a40d561582c17d938d4cd36ff0c441adfa2caa21dd80cf3be1674f18cca4cd936be29f8df659fbfb020b58f45c7787fa languageName: node linkType: hard @@ -1324,15 +1353,16 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.12.11": - version: 7.13.9 - resolution: "@babel/preset-env@npm:7.13.9" +"@babel/preset-env@npm:7.13.15, @babel/preset-env@npm:^7.12.11": + version: 7.13.15 + resolution: "@babel/preset-env@npm:7.13.15" dependencies: - "@babel/compat-data": ^7.13.8 - "@babel/helper-compilation-targets": ^7.13.8 + "@babel/compat-data": ^7.13.15 + "@babel/helper-compilation-targets": ^7.13.13 "@babel/helper-plugin-utils": ^7.13.0 "@babel/helper-validator-option": ^7.12.17 - "@babel/plugin-proposal-async-generator-functions": ^7.13.8 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.13.12 + "@babel/plugin-proposal-async-generator-functions": ^7.13.15 "@babel/plugin-proposal-class-properties": ^7.13.0 "@babel/plugin-proposal-dynamic-import": ^7.13.8 "@babel/plugin-proposal-export-namespace-from": ^7.12.13 @@ -1342,7 +1372,7 @@ __metadata: "@babel/plugin-proposal-numeric-separator": ^7.12.13 "@babel/plugin-proposal-object-rest-spread": ^7.13.8 "@babel/plugin-proposal-optional-catch-binding": ^7.13.8 - "@babel/plugin-proposal-optional-chaining": ^7.13.8 + "@babel/plugin-proposal-optional-chaining": ^7.13.12 "@babel/plugin-proposal-private-methods": ^7.13.0 "@babel/plugin-proposal-unicode-property-regex": ^7.12.13 "@babel/plugin-syntax-async-generators": ^7.8.4 @@ -1380,7 +1410,7 @@ __metadata: "@babel/plugin-transform-object-super": ^7.12.13 "@babel/plugin-transform-parameters": ^7.13.0 "@babel/plugin-transform-property-literals": ^7.12.13 - "@babel/plugin-transform-regenerator": ^7.12.13 + "@babel/plugin-transform-regenerator": ^7.13.15 "@babel/plugin-transform-reserved-words": ^7.12.13 "@babel/plugin-transform-shorthand-properties": ^7.12.13 "@babel/plugin-transform-spread": ^7.13.0 @@ -1390,15 +1420,15 @@ __metadata: "@babel/plugin-transform-unicode-escapes": ^7.12.13 "@babel/plugin-transform-unicode-regex": ^7.12.13 "@babel/preset-modules": ^0.1.4 - "@babel/types": ^7.13.0 - babel-plugin-polyfill-corejs2: ^0.1.4 - babel-plugin-polyfill-corejs3: ^0.1.3 - babel-plugin-polyfill-regenerator: ^0.1.2 + "@babel/types": ^7.13.14 + babel-plugin-polyfill-corejs2: ^0.2.0 + babel-plugin-polyfill-corejs3: ^0.2.0 + babel-plugin-polyfill-regenerator: ^0.2.0 core-js-compat: ^3.9.0 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 55ef45c648da2cf98d703a3f5128eeb883285580f02717059c1ac708ac8cb291e40705838dfdd4f4c59da3c96b816c13e2d2d0d9a7490e3bace4cf41ec8ba151 + checksum: bcab2e9ce31ba4c6d0d56ff4afc1f6a6365952f2ab1001bad91dec4ad72b2b7578cdecc214b173caf0a7bf19bd075844294786432d56113aefa0e14b61d67d79 languageName: node linkType: hard @@ -1444,7 +1474,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.12.7": +"@babel/preset-typescript@npm:7.13.0, @babel/preset-typescript@npm:^7.12.7": version: 7.13.0 resolution: "@babel/preset-typescript@npm:7.13.0" dependencies: @@ -1502,31 +1532,29 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.4.5": - version: 7.13.0 - resolution: "@babel/traverse@npm:7.13.0" +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.13.13, @babel/traverse@npm:^7.13.15, @babel/traverse@npm:^7.13.17, @babel/traverse@npm:^7.4.5, @babel/traverse@npm:^7.7.2": + version: 7.13.17 + resolution: "@babel/traverse@npm:7.13.17" dependencies: "@babel/code-frame": ^7.12.13 - "@babel/generator": ^7.13.0 + "@babel/generator": ^7.13.16 "@babel/helper-function-name": ^7.12.13 "@babel/helper-split-export-declaration": ^7.12.13 - "@babel/parser": ^7.13.0 - "@babel/types": ^7.13.0 + "@babel/parser": ^7.13.16 + "@babel/types": ^7.13.17 debug: ^4.1.0 globals: ^11.1.0 - lodash: ^4.17.19 - checksum: e5d1b690157da325b5bea98e472f4df0fff16048242a70880e2da7939b005ccd5b63d2b4527e203cfc71a422da0fa513c0ad84114bff002d583ebd7dbd2c8576 + checksum: e50e3a97a5704ed76558c00a632fbbee888a864054772361323075f436b3e767b7441c53fec34333a0c5ed2a88b856c76de8770932a050bb6a1553ece998b0c1 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.12.17, @babel/types@npm:^7.12.7, @babel/types@npm:^7.13.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.13.0 - resolution: "@babel/types@npm:7.13.0" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.1, @babel/types@npm:^7.12.13, @babel/types@npm:^7.12.17, @babel/types@npm:^7.12.7, @babel/types@npm:^7.13.0, @babel/types@npm:^7.13.12, @babel/types@npm:^7.13.14, @babel/types@npm:^7.13.16, @babel/types@npm:^7.13.17, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.13.17 + resolution: "@babel/types@npm:7.13.17" dependencies: "@babel/helper-validator-identifier": ^7.12.11 - lodash: ^4.17.19 to-fast-properties: ^2.0.0 - checksum: a47357647a92c08ee2f5059210d37fd7fe190e8d4ef71dd97ba61c6ca7b7e979660bc8ba00fdc51249c037199b634dd984fde8d7a622fdd5e3e2161fe65e94c3 + checksum: d75193ea37008a039b2383f8ba3cbe492a092550c6656721f6aa76bd8565a9286b56165a0c82ea5a8423d6f65bd803eb2c73561a5fc7a098b97d19f692bc79a6 languageName: node linkType: hard @@ -2018,6 +2046,7 @@ __metadata: "@storybook/addon-essentials": 6.2.5 "@storybook/builder-webpack5": 6.2.5 "@storybook/react": 6.2.5 + "@testing-library/dom": 7.30.1 "@testing-library/react": 11.2.6 "@testing-library/react-hooks": 5.1.1 "@types/argparse": ^2.0.5 @@ -2148,7 +2177,7 @@ __metadata: dependencies: "@jest/types": 26.6.2 eventemitter3: 4.0.7 - jest: 26.6.3 + jest: 27.0.0-next.8 multicast-dns: 7.2.2 tslib: 2.2.0 typescript: 4.2.2 @@ -2193,8 +2222,8 @@ __metadata: "@foxglove/xmlrpc": "workspace:packages/xmlrpc" "@jest/types": 26.6.2 eventemitter3: 4.0.7 - jest: 26.6.3 - jest-circus: 26.6.3 + jest: 27.0.0-next.8 + jest-circus: 27.0.0-next.8 rosbag: "github:foxglove/rosbag.js#fc61125fbc01ff55698c5ed48987b2d9e7599572" tslib: 2.2.0 typescript: 4.2.2 @@ -2206,7 +2235,7 @@ __metadata: version: 0.0.0-use.local resolution: "@foxglove/rosmsg-deser@workspace:packages/rosmsg-deser" dependencies: - jest: 26.6.3 + jest: 27.0.0-next.8 typescript: 4.2.2 languageName: unknown linkType: soft @@ -2216,8 +2245,8 @@ __metadata: resolution: "@foxglove/velodyne-cloud@workspace:packages/velodyne-cloud" dependencies: "@jest/types": 26.6.2 - jest: 26.6.3 - jest-circus: 26.6.3 + jest: 27.0.0-next.8 + jest-circus: 27.0.0-next.8 kelonio: 0.6.0 rosbag: "github:foxglove/rosbag.js#fc61125fbc01ff55698c5ed48987b2d9e7599572" tslib: 2.2.0 @@ -2230,7 +2259,7 @@ __metadata: resolution: "@foxglove/wasm-bz2@workspace:packages/wasm-bz2" dependencies: "@types/emscripten": 1.39.4 - jest: 26.6.3 + jest: 27.0.0-next.8 languageName: unknown linkType: soft @@ -2242,8 +2271,8 @@ __metadata: "@jest/types": 26.6.2 "@types/sax": ^1.2.1 byte-base64: 1.1.0 - jest: 26.6.3 - jest-circus: 26.6.3 + jest: 27.0.0-next.8 + jest-circus: 27.0.0-next.8 sax: 1.2.4 tslib: 2.2.0 typescript: 4.2.2 @@ -2272,102 +2301,108 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/console@npm:26.6.2" +"@jest/console@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "@jest/console@npm:27.0.0-next.8" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^27.0.0-next.8 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^26.6.2 - jest-util: ^26.6.2 + jest-message-util: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 slash: ^3.0.0 - checksum: 72920a893e4a622ce96786eb1d3f6ef0c88c9d1ec32fffbde4e25f582b5f1ccd5f5b7a370c0b1a4917fb74c046467f43422c0039c497df4b307527910759e0a5 + checksum: 21362d8f9f27822b3c3aa5407b4f0e38b73a3d1cce8d16d9ca5d15c53deb2a47d35cbbfc7993f1bd2ad06e90b67ad50b16032ff6ef86929b0b50970e24f0e7b1 languageName: node linkType: hard -"@jest/core@npm:^26.6.3": - version: 26.6.3 - resolution: "@jest/core@npm:26.6.3" +"@jest/core@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "@jest/core@npm:27.0.0-next.8" dependencies: - "@jest/console": ^26.6.2 - "@jest/reporters": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^27.0.0-next.8 + "@jest/reporters": ^27.0.0-next.8 + "@jest/test-result": ^27.0.0-next.8 + "@jest/transform": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 + emittery: ^0.8.1 exit: ^0.1.2 graceful-fs: ^4.2.4 - jest-changed-files: ^26.6.2 - jest-config: ^26.6.3 - jest-haste-map: ^26.6.2 - jest-message-util: ^26.6.2 - jest-regex-util: ^26.0.0 - jest-resolve: ^26.6.2 - jest-resolve-dependencies: ^26.6.3 - jest-runner: ^26.6.3 - jest-runtime: ^26.6.3 - jest-snapshot: ^26.6.2 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 - jest-watcher: ^26.6.2 - micromatch: ^4.0.2 + jest-changed-files: ^27.0.0-next.8 + jest-config: ^27.0.0-next.8 + jest-haste-map: ^27.0.0-next.8 + jest-message-util: ^27.0.0-next.8 + jest-regex-util: ^27.0.0-next.0 + jest-resolve: ^27.0.0-next.8 + jest-resolve-dependencies: ^27.0.0-next.8 + jest-runner: ^27.0.0-next.8 + jest-runtime: ^27.0.0-next.8 + jest-snapshot: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 + jest-validate: ^27.0.0-next.8 + jest-watcher: ^27.0.0-next.8 + micromatch: ^4.0.4 p-each-series: ^2.1.0 rimraf: ^3.0.0 slash: ^3.0.0 strip-ansi: ^6.0.0 - checksum: e0d35e40fcbda21997dbc126722db92f8d534926c9bcf4a30ee79aa772e40ead2fefd405866e3364bff7ee50b12f03705c3fea5491b77807091961b2c3a0d65e + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 8efa2817bc345c2164d5f61403b4fd2d26ed61c3e78f374a1b8404169ae83734f4584a73ba6eb523b1b1c4a1cf59a8fcf946e2fcefc093dd226952e292241709 languageName: node linkType: hard -"@jest/environment@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/environment@npm:26.6.2" +"@jest/environment@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "@jest/environment@npm:27.0.0-next.8" dependencies: - "@jest/fake-timers": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/fake-timers": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 "@types/node": "*" - jest-mock: ^26.6.2 - checksum: a4f426546801e79d2f5d1a516d80c330ccbe1638f7a7705f65110ac33f8a3ded08ccef75ad648610618122f2bfeba34e0c1e616eccc219a315956d63ff30d8fc + jest-mock: ^27.0.0-next.8 + checksum: dde346f855618187dbd7682c52014e150973223bff31ec6fbf679319c812bbeae356d5e61b80bbc47576612be7a6367e32623268b1bf8be82118b4019f778b9f languageName: node linkType: hard -"@jest/fake-timers@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/fake-timers@npm:26.6.2" +"@jest/fake-timers@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "@jest/fake-timers@npm:27.0.0-next.8" dependencies: - "@jest/types": ^26.6.2 - "@sinonjs/fake-timers": ^6.0.1 + "@jest/types": ^27.0.0-next.8 + "@sinonjs/fake-timers": ^7.0.2 "@types/node": "*" - jest-message-util: ^26.6.2 - jest-mock: ^26.6.2 - jest-util: ^26.6.2 - checksum: a82aa6d2f31d5e9958484b32e4714cb2ebca6ce6baf590c29505c8eea638663bf27f27b98a30ab574023cb15ecffbe70dc75d14694d76c4ccc78bee37d2ec1d1 + jest-message-util: ^27.0.0-next.8 + jest-mock: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 + checksum: 3163daa842e3f4d0c5150062a34ecacfbc3e23d53752f957c1986845db3be3ada22144c413cfdf8528309dff29960c33791accf837f7000d71a408e5efdec39f languageName: node linkType: hard -"@jest/globals@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/globals@npm:26.6.2" +"@jest/globals@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "@jest/globals@npm:27.0.0-next.8" dependencies: - "@jest/environment": ^26.6.2 - "@jest/types": ^26.6.2 - expect: ^26.6.2 - checksum: d8f68a24adf87f6e32ba34ec884502ec067ed79a2855852ed64daa50383a53daf2b97487dd049e77c6fd6cade28b32f8cad4f0a2d02ce6b8aa23f95a136db8a7 + "@jest/environment": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 + expect: ^27.0.0-next.8 + checksum: 365886e38e7edccd11ed74580a0cecf3dda9601dfa8756a5018b473fe4bd7abc30564c92523870c77582eec0e1886083597a4666194259fba2b91844078e77e3 languageName: node linkType: hard -"@jest/reporters@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/reporters@npm:26.6.2" +"@jest/reporters@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "@jest/reporters@npm:27.0.0-next.8" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^27.0.0-next.8 + "@jest/test-result": ^27.0.0-next.8 + "@jest/transform": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 chalk: ^4.0.0 collect-v8-coverage: ^1.0.0 exit: ^0.1.2 @@ -2378,56 +2413,57 @@ __metadata: istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.0.2 - jest-haste-map: ^26.6.2 - jest-resolve: ^26.6.2 - jest-util: ^26.6.2 - jest-worker: ^26.6.2 - node-notifier: ^8.0.0 + jest-haste-map: ^27.0.0-next.8 + jest-resolve: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 + jest-worker: ^27.0.0-next.8 slash: ^3.0.0 source-map: ^0.6.0 string-length: ^4.0.1 terminal-link: ^2.0.0 v8-to-istanbul: ^7.0.0 - dependenciesMeta: + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 + peerDependenciesMeta: node-notifier: optional: true - checksum: 86ed8563dd4862de79c1b4f2e529a9a471d856b44aa66069c91b406d4c32ea70d909757797f99fc8d14a7eb2bd95286bd716346e289a92dba243e4b9eddef537 + checksum: 9b12d5f6fc0b19c7c98e61a8bd208ac44d8f54351437f0fe3b5296db6a176cb7db1f0c340684d75959501adb57f890d5f8c52bbea6f7cf0d0a93fec4265a2f0c languageName: node linkType: hard -"@jest/source-map@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/source-map@npm:26.6.2" +"@jest/source-map@npm:^27.0.0-next.3": + version: 27.0.0-next.3 + resolution: "@jest/source-map@npm:27.0.0-next.3" dependencies: callsites: ^3.0.0 graceful-fs: ^4.2.4 source-map: ^0.6.0 - checksum: 9a6d3e650660229fadfcf4d9789cdf99d645d3827b05cbce7676f39d19af2ab00cca728420ef188cf44b92289e06e2a5f3e5299085e3ae080cc0472ea1fa4cc9 + checksum: 359598f7458d13182c42d72a54c5eeefee7f6793cfe0319a5c802b7cc8036e0b7e8aeac2bb901bb7af4de5df891beaf6c432fb21152f004fd4d53b1850bf7dd1 languageName: node linkType: hard -"@jest/test-result@npm:^26.6.2": - version: 26.6.2 - resolution: "@jest/test-result@npm:26.6.2" +"@jest/test-result@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "@jest/test-result@npm:27.0.0-next.8" dependencies: - "@jest/console": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: 0ecd35212bb19f2dee97d795193897780729c446739715a52cb37ed248020ad6a32bc2e9563812f56028be19c651237403c7dfec9ed967f443d9afcc385dd9dc + checksum: 58c1be413c217708e002ba1229cb20121f8197134eb0da7fa9439efaa854af5d1de35eb09b623ac50f63629712c769b8bb907f82a4e8d5a65ae072dcc7322c53 languageName: node linkType: hard -"@jest/test-sequencer@npm:^26.6.3": - version: 26.6.3 - resolution: "@jest/test-sequencer@npm:26.6.3" +"@jest/test-sequencer@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "@jest/test-sequencer@npm:27.0.0-next.8" dependencies: - "@jest/test-result": ^26.6.2 + "@jest/test-result": ^27.0.0-next.8 graceful-fs: ^4.2.4 - jest-haste-map: ^26.6.2 - jest-runner: ^26.6.3 - jest-runtime: ^26.6.3 - checksum: c0c2c7917a0b6e25414b0ed570701c9cd5b2ba18fe0c55ac3a2d53ccf6aeeaf7ec388c14c78d13c27c4a7e7ee87bdca52d09d820c0ebf80a3e7d47f3fc52e9ef + jest-haste-map: ^27.0.0-next.8 + jest-runner: ^27.0.0-next.8 + jest-runtime: ^27.0.0-next.8 + checksum: b1800a127f081a148ac52da1e7cf8a4feb0d22ba87015996ca787c78c2b02c63251e94a66f0de27bce4ad75a422f56725d845a1e89015d59c19a74be2a30e9f0 languageName: node linkType: hard @@ -2454,6 +2490,29 @@ __metadata: languageName: node linkType: hard +"@jest/transform@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "@jest/transform@npm:27.0.0-next.8" + dependencies: + "@babel/core": ^7.1.0 + "@jest/types": ^27.0.0-next.8 + babel-plugin-istanbul: ^6.0.0 + chalk: ^4.0.0 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.2.4 + jest-haste-map: ^27.0.0-next.8 + jest-regex-util: ^27.0.0-next.0 + jest-util: ^27.0.0-next.8 + micromatch: ^4.0.4 + pirates: ^4.0.1 + slash: ^3.0.0 + source-map: ^0.6.1 + write-file-atomic: ^3.0.0 + checksum: c54589f4c2fbac74af62b534549b60a401d5799e9cafa0d37cac7c8d1ff3e6cadb61e084ee6eb8cd2aa72536c62c4591e126784a546baf4eb67104b114389acd + languageName: node + linkType: hard + "@jest/types@npm:26.6.2, @jest/types@npm:^26.6.2": version: 26.6.2 resolution: "@jest/types@npm:26.6.2" @@ -2467,6 +2526,19 @@ __metadata: languageName: node linkType: hard +"@jest/types@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "@jest/types@npm:27.0.0-next.8" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^16.0.0 + chalk: ^4.0.0 + checksum: 4c9a6b4cb4863d12ad70f4fd4528cce2d7f7e5cd628a2c589504f85c6185047440dbc857b95a0ad02a4971ef8097e81e449656e6fa2037fbd5ebe89348a1ad75 + languageName: node + linkType: hard + "@malept/cross-spawn-promise@npm:^1.1.0": version: 1.1.1 resolution: "@malept/cross-spawn-promise@npm:1.1.1" @@ -3055,12 +3127,12 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^6.0.1": - version: 6.0.1 - resolution: "@sinonjs/fake-timers@npm:6.0.1" +"@sinonjs/fake-timers@npm:^7.0.2": + version: 7.0.5 + resolution: "@sinonjs/fake-timers@npm:7.0.5" dependencies: "@sinonjs/commons": ^1.7.0 - checksum: 64458b908773638dda08b555a00e6fbbbc679735348291dc1b7f437ada2f60242537fdc48e4ee82d2573d86984ec87e755b66a96c0ed9ebf0f46b4c6687ccde2 + checksum: 5cc43301d3d46affdace077854ecffd299b80ab3a438bf34f21b6d6d27e0be636ba475397d12fd5b8561bd30679d0597f9d7e8b5e0c82ad57a6c9b49e366e9b4 languageName: node linkType: hard @@ -4024,9 +4096,9 @@ __metadata: languageName: node linkType: hard -"@testing-library/dom@npm:^7.28.1": - version: 7.30.0 - resolution: "@testing-library/dom@npm:7.30.0" +"@testing-library/dom@npm:7.30.1, @testing-library/dom@npm:^7.28.1": + version: 7.30.1 + resolution: "@testing-library/dom@npm:7.30.1" dependencies: "@babel/code-frame": ^7.10.4 "@babel/runtime": ^7.12.5 @@ -4036,7 +4108,7 @@ __metadata: dom-accessibility-api: ^0.5.4 lz-string: ^1.4.4 pretty-format: ^26.6.2 - checksum: 5af9f762ff43265cf9c36bb62bba37d73da2858a6149a2f11f159c61bfb46d60f66d9c7c10ab9f201cf0749c9e0039494005379355b0a0d494c60f6b759cea34 + checksum: a886bdb20955e5f029fa10932184128dd701dac866dc8016e66f339d89ab5b63185c3584ea5eb2a5ffbcb779bad6952f1f0933cc47f6772450211cd85b55861e languageName: node linkType: hard @@ -4104,16 +4176,16 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.7": - version: 7.1.12 - resolution: "@types/babel__core@npm:7.1.12" +"@types/babel__core@npm:^7, @types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14": + version: 7.1.14 + resolution: "@types/babel__core@npm:7.1.14" dependencies: "@babel/parser": ^7.1.0 "@babel/types": ^7.0.0 "@types/babel__generator": "*" "@types/babel__template": "*" "@types/babel__traverse": "*" - checksum: e2642b77b89af41254a19d85b6cc5b1096f9825aa2b6534d5426cee7fbf6d90cfeceb5c1621f233d32dc1925a9fe88c317e412f81a061cf7239dbd4e2dd413e4 + checksum: e0212770e1cd520b8ad241642e9f99ef20b5c609c157ffe154c42e136c85f3c3f598ad7bfd452fda8abb304c483d6bce92de0b8ed0612f9f1c57b6c4a18da7b3 languageName: node linkType: hard @@ -4126,6 +4198,13 @@ __metadata: languageName: node linkType: hard +"@types/babel__preset-env@npm:^7": + version: 7.9.1 + resolution: "@types/babel__preset-env@npm:7.9.1" + checksum: bb76f246000f396b1542a331bcdb62d60f49d2cf78208d44b156cbfd567f9c941614f0ed1aee8d494091455580dc3629dfddf08e73e13661339603c11822145f + languageName: node + linkType: hard + "@types/babel__template@npm:*": version: 7.4.0 resolution: "@types/babel__template@npm:7.4.0" @@ -4502,13 +4581,13 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:26.x": - version: 26.0.20 - resolution: "@types/jest@npm:26.0.20" +"@types/jest@npm:26.0.22": + version: 26.0.22 + resolution: "@types/jest@npm:26.0.22" dependencies: jest-diff: ^26.0.0 pretty-format: ^26.0.0 - checksum: 221e39c7c9ce8d71ae4b2ba6abeef1a5b04f1cd96419b9fbbb65534bef4c4215b650561183073dcf47584ff1888d1f4fa7d2af2a38492b7feb9a3bfdcd24c44f + checksum: 4c98ed058522f6cc74bcb47b8b7b104b77b2d4e42e087171f3d2d3ae5338c21f43ec26f2a186bc229c1bd72c3f776ad07faba837f0ec27f22cf94e154516c0b3 languageName: node linkType: hard @@ -4716,7 +4795,7 @@ __metadata: languageName: node linkType: hard -"@types/prettier@npm:2.2.3, @types/prettier@npm:^2.0.0": +"@types/prettier@npm:2.2.3, @types/prettier@npm:^2.1.5": version: 2.2.3 resolution: "@types/prettier@npm:2.2.3" checksum: b7e80288f9f776caca84391a7a217b8baac6b4fce00bb9701af69299d465cb8faf17466f0af0803970c74d2c191767ca729a6d21a2f7e2ce552d1ef6cc0d653a @@ -5196,6 +5275,15 @@ __metadata: languageName: node linkType: hard +"@types/yargs@npm:^16.0.0": + version: 16.0.1 + resolution: "@types/yargs@npm:16.0.1" + dependencies: + "@types/yargs-parser": "*" + checksum: 7b141b6a9efe2da5af054b022f2fbfa3a34d664f1db384babc567b20e9935ac18924c8075780ea22f5e0da4f5714f24dc27b05b6475cd060031648f154183a45 + languageName: node + linkType: hard + "@types/yauzl@npm:^2.9.1": version: 2.9.1 resolution: "@types/yauzl@npm:2.9.1" @@ -6108,6 +6196,13 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10b01465c7a49cbfcc055188e3b79b00db6283319bb53c0d20ca9ad114d1477d6f48c1d01a3ed9678f616566ec33f11116926dfaa162fa7be9ee7d5d2c2ea7e1 + languageName: node + linkType: hard + "ansi-to-html@npm:^0.6.11": version: 0.6.14 resolution: "ansi-to-html@npm:0.6.14" @@ -6660,21 +6755,21 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^26.6.3": - version: 26.6.3 - resolution: "babel-jest@npm:26.6.3" +"babel-jest@npm:27.0.0-next.8, babel-jest@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "babel-jest@npm:27.0.0-next.8" dependencies: - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 - "@types/babel__core": ^7.1.7 + "@jest/transform": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 + "@types/babel__core": ^7.1.14 babel-plugin-istanbul: ^6.0.0 - babel-preset-jest: ^26.6.2 + babel-preset-jest: ^27.0.0-next.3 chalk: ^4.0.0 graceful-fs: ^4.2.4 slash: ^3.0.0 peerDependencies: - "@babel/core": ^7.0.0 - checksum: 89231d00e6b73e1dc6f009cb97a74edb1af4426f2cfa5d9b71684d1382526651820f8dd301857b9007a44c6b7d1fb77242b201bdea3cff98488b893e9c7d7182 + "@babel/core": ^7.8.0 + checksum: 7080a47fd8d79f1018ebf64b28bfae99a286ed9d4c5db6586595444846b379c1b82fce0379565ad8c50550416a69f17a53c99a3c75bf7d878933503ee833f581 languageName: node linkType: hard @@ -6761,15 +6856,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^26.6.2": - version: 26.6.2 - resolution: "babel-plugin-jest-hoist@npm:26.6.2" +"babel-plugin-jest-hoist@npm:^27.0.0-next.3": + version: 27.0.0-next.3 + resolution: "babel-plugin-jest-hoist@npm:27.0.0-next.3" dependencies: "@babel/template": ^7.3.3 "@babel/types": ^7.3.3 "@types/babel__core": ^7.0.0 "@types/babel__traverse": ^7.0.6 - checksum: e9c1de0fced1c8220590a0d6f37631f5b975964a8e876f0426fc7fd224f4c154b01f156e87401de47556b873bf4414eb2a9632fb56765f35fc07fe69e5b76d31 + checksum: c419256eeb20541b73dafbcc8f9fc31cbcab2e58f303a893c211d0cff11759d8452b0ecf21e3ed67f826313fc40d736b86ab9d1942704fc0387f43832ba44bd5 languageName: node linkType: hard @@ -6804,20 +6899,20 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.1.4": - version: 0.1.10 - resolution: "babel-plugin-polyfill-corejs2@npm:0.1.10" +"babel-plugin-polyfill-corejs2@npm:^0.2.0": + version: 0.2.0 + resolution: "babel-plugin-polyfill-corejs2@npm:0.2.0" dependencies: - "@babel/compat-data": ^7.13.0 - "@babel/helper-define-polyfill-provider": ^0.1.5 + "@babel/compat-data": ^7.13.11 + "@babel/helper-define-polyfill-provider": ^0.2.0 semver: ^6.1.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b11a01d9d3a078de5f26eeef8216f29b104239eee3ae93767dccdff9df558d07d159a35941ce5d77d6c658b9017475922831a232f8e60d94056412ba6ef2692b + checksum: 5d2825a9f28b322956da8941b069c3e4130478bc3620ab20e4b680671b31ad95d1c69514c58df9d5e2d54c87aba9ca92df5a7dbad54005b25ac9587af252db07 languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.1.0, babel-plugin-polyfill-corejs3@npm:^0.1.3": +"babel-plugin-polyfill-corejs3@npm:^0.1.0": version: 0.1.7 resolution: "babel-plugin-polyfill-corejs3@npm:0.1.7" dependencies: @@ -6829,14 +6924,26 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.1.2": - version: 0.1.6 - resolution: "babel-plugin-polyfill-regenerator@npm:0.1.6" +"babel-plugin-polyfill-corejs3@npm:^0.2.0": + version: 0.2.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.2.0" dependencies: - "@babel/helper-define-polyfill-provider": ^0.1.5 + "@babel/helper-define-polyfill-provider": ^0.2.0 + core-js-compat: ^3.9.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: ae25400dd8764f737ecbd02f9aa3f35df62d3d239ad269edebab195551686b020d4b9b957cc303c6fbf9497c214e7b2f7fa3eee460d00b569d0d6f634ef3d5aa + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.2.0": + version: 0.2.0 + resolution: "babel-plugin-polyfill-regenerator@npm:0.2.0" + dependencies: + "@babel/helper-define-polyfill-provider": ^0.2.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 49b98a19015074d3466e8b020928b7dc09ff2c1a62d8d8ba2f02f6e7e0cc99e3ac5e7624a7611acf0a8073d363c2d6aa6a0a6e7508b85f63982150164f1d7e25 + checksum: 538ab98e3062fb4ef4eae09587292513c03917902fe6d8c90b49001b26d41ffc3cd2da34b3b999b12e501cde1233e356af9f33f898c623720c94c6d9022d998c languageName: node linkType: hard @@ -6915,15 +7022,15 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^26.6.2": - version: 26.6.2 - resolution: "babel-preset-jest@npm:26.6.2" +"babel-preset-jest@npm:^27.0.0-next.3": + version: 27.0.0-next.3 + resolution: "babel-preset-jest@npm:27.0.0-next.3" dependencies: - babel-plugin-jest-hoist: ^26.6.2 + babel-plugin-jest-hoist: ^27.0.0-next.3 babel-preset-current-node-syntax: ^1.0.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 466ca17bba2638cadda5c25f3108dab1867b30e5d728366d0d2309be5d6555db8738a6cacd2c43284bee2ce7917e3285194c223a22b3d9817794f00c2775fdb2 + checksum: 7476a0ac7320af3f42dacb33af5b8ed604bd2d97ae765d88ac21a96120f25ffca884494540e288b0fcd460639e0def8ceb21c561b6e8c7c2ab411174bb6da17f languageName: node linkType: hard @@ -7378,27 +7485,18 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.12.0, browserslist@npm:^4.14.5, browserslist@npm:^4.16.3": - version: 4.16.3 - resolution: "browserslist@npm:4.16.3" +"browserslist@npm:^4.12.0, browserslist@npm:^4.14.5, browserslist@npm:^4.16.4": + version: 4.16.5 + resolution: "browserslist@npm:4.16.5" dependencies: - caniuse-lite: ^1.0.30001181 - colorette: ^1.2.1 - electron-to-chromium: ^1.3.649 + caniuse-lite: ^1.0.30001214 + colorette: ^1.2.2 + electron-to-chromium: ^1.3.719 escalade: ^3.1.1 - node-releases: ^1.1.70 + node-releases: ^1.1.71 bin: browserslist: cli.js - checksum: dfab0d3c3d9a3517cf3f8a274bc4e8245f3a02c1a5ae2a0e01498273d363952d11ee09fdce3b0ce551f6cab9d619ed2d9facf7b6471c9190df949a5ad39665c5 - 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: f5f2f1315d6ceac655c3945d149086a5f5a90b3c908780757e12e938aad0125a7aa563cae2f7153ccf43443adb1b88a44960a61063903c3973e1dfdda6fc2d8c + checksum: ea06cb8262a69d1479ab2c288eb939250ea0a6b172a181ce7ce9410f1ee29701095c8c13bd575b70baead87743866471814f8c0247c9785b229b04bef399e4c8 languageName: node linkType: hard @@ -7425,7 +7523,7 @@ __metadata: languageName: node linkType: hard -"buffer-from@npm:1.x, buffer-from@npm:^1.0.0": +"buffer-from@npm:^1.0.0": version: 1.1.1 resolution: "buffer-from@npm:1.1.1" checksum: 540ceb79c4f5bfcadaabbc18324fa84c50dc52905084be7c03596a339cf5a88513bee6831ce9b36ddd046fab09257a7c80686e129d0559a0cfd141da196ad956 @@ -7751,10 +7849,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001125, caniuse-lite@npm:^1.0.30001181": - version: 1.0.30001194 - resolution: "caniuse-lite@npm:1.0.30001194" - checksum: e2a47728f3fef1ac54ab0b6efb6f87943a99b8a4a402a567708b5c9a3a0ca0b6f56c436972b6dafd4268304fc1685e58aec3dc7fd5826a5081a76a60dd17f12e +"caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001125, caniuse-lite@npm:^1.0.30001214": + version: 1.0.30001214 + resolution: "caniuse-lite@npm:1.0.30001214" + checksum: 96c09af8989fe03e6aa0cc0130be3392c4a871093f0ae7190cb1185862a63b54de14483561578564d034cf993c315d4939727badee39ed76144e94ae4ab2a0f7 languageName: node linkType: hard @@ -8071,6 +8169,13 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^3.1.1": + version: 3.1.1 + resolution: "ci-info@npm:3.1.1" + checksum: 417d2bf17c320d477bc32997d3831bcc1b174d6b48616c2f0463765f042f073bfbfb15e06abdeea55b05ca9c8e054057eb9e0672e4e6031457e87216b2faddda + languageName: node + linkType: hard + "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": version: 1.0.4 resolution: "cipher-base@npm:1.0.4" @@ -8090,10 +8195,10 @@ __metadata: languageName: node linkType: hard -"cjs-module-lexer@npm:^0.6.0": - version: 0.6.0 - resolution: "cjs-module-lexer@npm:0.6.0" - checksum: 333671db7fb916d9c569a52fba714a86051881c69a4df784a07cb1dfec2a1796c7bcd7ba46ff9035cccb6e7aaff612a83f6505437c01a5ae14c4ebc6c36f762c +"cjs-module-lexer@npm:^1.0.0": + version: 1.1.1 + resolution: "cjs-module-lexer@npm:1.1.1" + checksum: d70f88eb7add9cb51b9634a4bea6ebcfb68aedb877312d7e7fbc7c786ed74ed0838eb05450a2acec68c70419d6f0481cb95d9b61bedf86a477e2bdbaaae6922c languageName: node linkType: hard @@ -8231,17 +8336,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^6.0.0": - version: 6.0.0 - resolution: "cliui@npm:6.0.0" - dependencies: - string-width: ^4.2.0 - strip-ansi: ^6.0.0 - wrap-ansi: ^6.2.0 - checksum: e59d0642946dd300b1b002e69f43b32d55e682c84f6f2073705ffe77477b400aeabd4f4795467db0771a21d35ee070071f6a31925e4f83b52a7fe1f5c8e6e860 - languageName: node - linkType: hard - "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -8747,13 +8841,13 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.8.1, core-js-compat@npm:^3.9.0": - version: 3.9.1 - resolution: "core-js-compat@npm:3.9.1" +"core-js-compat@npm:^3.8.1, core-js-compat@npm:^3.9.0, core-js-compat@npm:^3.9.1": + version: 3.11.0 + resolution: "core-js-compat@npm:3.11.0" dependencies: - browserslist: ^4.16.3 + browserslist: ^4.16.4 semver: 7.0.0 - checksum: 46c8bf3b40b1f5124527e969c41de6419da21399630230a3ba1679c7ad6c43469a67a8fcf9123b11eb13ec76a39229d48025c1f5d23e3dd5453056644d7fc0bd + checksum: 608d11356728f6c0df98b41c50cad9b3d54de600423e141fe964d6ae5ede1d2479398b4bbe1e4cd4dfbb9a2a721cfd88987aae6dd68131557efb2bb3f7f1896a languageName: node linkType: hard @@ -9806,6 +9900,13 @@ __metadata: languageName: node linkType: hard +"diff-sequences@npm:^27.0.0-next.0": + version: 27.0.0-next.0 + resolution: "diff-sequences@npm:27.0.0-next.0" + checksum: d0e0791a401993469a56c9ef6f9daca0c635979c428ffcfddf40aac8567f1db8e4830388328f63ddbab888b9ffd1ea5dd1b70cf8fd6906bc345c6a8c176fb938 + languageName: node + linkType: hard + "diff@npm:^4.0.1": version: 4.0.2 resolution: "diff@npm:4.0.2" @@ -10416,10 +10517,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.3.564, electron-to-chromium@npm:^1.3.649": - version: 1.3.678 - resolution: "electron-to-chromium@npm:1.3.678" - checksum: 61ee1c1359f650fdbd09ac7977c82c39587a17fd0aca6e37565b40ff7e3b7ab5a7dead0f22615a964524bb858f6d2ec84aeb4beeb67e268df5c1abd2eaa64506 +"electron-to-chromium@npm:^1.3.564, electron-to-chromium@npm:^1.3.719": + version: 1.3.720 + resolution: "electron-to-chromium@npm:1.3.720" + checksum: 51bb3720af1ffe2ac04e0760f4cdcf319c2e371625e7ed9e433ee962c1c7ae09e65b44afbe7ddf5c71dc9a01583c8e0015ff04b86f0222ed7cc5b5871494078d languageName: node linkType: hard @@ -10482,10 +10583,10 @@ __metadata: languageName: node linkType: hard -"emittery@npm:^0.7.1": - version: 0.7.2 - resolution: "emittery@npm:0.7.2" - checksum: 34acfef51922a1b73d75cb658bf43ecb279633b263ffa831fb87697abbbd3aa4241ef15d204eeaa6a3c62656bd7563de7145c416a2bb18c4805e54ce6d7cdac6 +"emittery@npm:^0.8.1": + version: 0.8.1 + resolution: "emittery@npm:0.8.1" + checksum: 1c9cd9a1045ce8e50e41b4433a6d3adf109cbb7585fe5d504399f2a035f423adb9b9bc6735aad672368575532007948d4483645e188fe99759c302a39542479d languageName: node linkType: hard @@ -11031,15 +11132,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-header@github:amacneil/eslint-plugin-header#notemplate": - version: 3.1.1 - resolution: "eslint-plugin-header@https://github.com/amacneil/eslint-plugin-header.git#commit=073d5559b1d83e4e6d3a390d37eb6ad392b21ba0" - peerDependencies: - eslint: ">=7.7.0" - checksum: fae4b7b87ee1b9ea82f53418ab2a7462b5b4e64dc32223b546fd833b2b247c20bd4a84fb8dc240a81e5a968d7a62cac63931e384873d09a7f96a86d5ec4579b5 - languageName: node - linkType: hard - "eslint-plugin-import@npm:2.22.1": version: 2.22.1 resolution: "eslint-plugin-import@npm:2.22.1" @@ -11406,17 +11498,17 @@ __metadata: languageName: node linkType: hard -"expect@npm:^26.6.2": - version: 26.6.2 - resolution: "expect@npm:26.6.2" +"expect@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "expect@npm:27.0.0-next.8" dependencies: - "@jest/types": ^26.6.2 - ansi-styles: ^4.0.0 - jest-get-type: ^26.3.0 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 - jest-regex-util: ^26.0.0 - checksum: a4ec4cbafac8b05eb02a8af5f086dede84a3a701abbfdafeadca24a1d286bd07035b32b2864a6ff012a733009beb0b96c10469b40832c5ee0d2dd0bb6b50a5b0 + "@jest/types": ^27.0.0-next.8 + ansi-styles: ^5.0.0 + jest-get-type: ^27.0.0-next.0 + jest-matcher-utils: ^27.0.0-next.8 + jest-message-util: ^27.0.0-next.8 + jest-regex-util: ^27.0.0-next.0 + checksum: 2abec19388801c7c2a88858a745fe4171b4cb4d9bd70f8c93009e11749aa3874cce7e29db43cbb1d6b4e938b3dca0df3c2bd1352a6f0c67e61ac2b798f661f4b languageName: node linkType: hard @@ -11615,7 +11707,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": +"fast-json-stable-stringify@npm:^2.0.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: 7df3fabfe445d65953b2d9d9d3958bd895438b215a40fb87dae8b2165c5169a897785eb5d51e6cf0eb03523af756e3d82ea01083f6ac6341fe16db532fee3016 @@ -12059,15 +12151,21 @@ __metadata: resolution: "foxglove-studio@workspace:." dependencies: "@actions/exec": 1.0.4 + "@babel/core": 7.13.16 + "@babel/preset-env": 7.13.15 + "@babel/preset-typescript": 7.13.0 "@foxglove/electron-socket": "workspace:packages/electron-socket" "@foxglove/velodyne-cloud": "workspace:packages/velodyne-cloud" "@jest/types": 26.6.2 "@pmmmwh/react-refresh-webpack-plugin": 0.5.0-beta.1 "@sentry/electron": 2.4.0 "@types/amplitude-js": 7.0.1 + "@types/babel__core": ^7 + "@types/babel__preset-env": ^7 "@types/case-sensitive-paths-webpack-plugin": 2.1.5 "@types/circular-dependency-plugin": ^5.0.2 "@types/electron-devtools-installer": 2.2.0 + "@types/jest": 26.0.22 "@types/license-checker": ^25.0.1 "@types/nearley": 2.11.1 "@types/pngjs": ^6 @@ -12079,6 +12177,7 @@ __metadata: "@typescript-eslint/eslint-plugin": 4.21.0 "@typescript-eslint/parser": 4.21.0 amplitude-js: 8.1.0 + babel-jest: 27.0.0-next.8 babel-plugin-transform-import-meta: 1.0.1 browserify-zlib: 0.2.0 circular-dependency-plugin: 5.2.2 @@ -12096,16 +12195,15 @@ __metadata: eslint-config-prettier: 8.1.0 eslint-import-resolver-webpack: 0.13.0 eslint-plugin-file-progress: 1.1.1 - eslint-plugin-header: "github:amacneil/eslint-plugin-header#notemplate" eslint-plugin-import: 2.22.1 eslint-plugin-prettier: 3.3.1 eslint-plugin-react: 7.23.1 eslint-plugin-react-hooks: 4.2.0 fork-ts-checker-webpack-plugin: 6.2.1 html-webpack-plugin: 5.3.1 - jest: 26.6.3 + jest: 27.0.0-next.8 jest-canvas-mock: 2.3.1 - jest-circus: 26.6.3 + jest-circus: 27.0.0-next.8 license-checker: 25.0.1 monaco-editor-webpack-plugin: 3.0.1 nearley: 2.20.1 @@ -12124,7 +12222,6 @@ __metadata: spectron: "https://github.com/foxglove/spectron.git#commit=7f88e8fe148ee14b3efc14c3646c08c4ed0a6747" string-replace-loader: 3.0.1 style-loader: 2.0.0 - ts-jest: 26.5.2 ts-loader: 8.1.0 ts-node: 9.1.1 typescript: 4.2.2 @@ -12261,7 +12358,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"fsevents@^2.1.2, fsevents@~2.3.1": +"fsevents@^2.1.2, fsevents@^2.2.1, fsevents@~2.3.1": version: 2.3.2 resolution: "fsevents@npm:2.3.2" dependencies: @@ -12280,7 +12377,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"fsevents@patch:fsevents@^2.1.2#builtin, fsevents@patch:fsevents@~2.3.1#builtin": +"fsevents@patch:fsevents@^2.1.2#builtin, fsevents@patch:fsevents@^2.2.1#builtin, fsevents@patch:fsevents@~2.3.1#builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#builtin::version=2.3.2&hash=11e9ea" dependencies: @@ -12784,13 +12881,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"growly@npm:^1.3.0": - version: 1.3.0 - resolution: "growly@npm:1.3.0" - checksum: c87f7e8c785cac6ee60719c9d62f7d790a85dafa13d62c4667664e3a21ee771f5fd19df3f374d2f7bdf297b8f687cf70e19bb066aba4832e6f6caa5190812578 - languageName: node - linkType: hard - "gud@npm:^1.0.0": version: 1.0.0 resolution: "gud@npm:1.0.0" @@ -14002,6 +14092,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-ci@npm:^3.0.0": + version: 3.0.0 + resolution: "is-ci@npm:3.0.0" + dependencies: + ci-info: ^3.1.1 + bin: + is-ci: bin.js + checksum: 1e26d3ba6634ebee83f9d22f260354c5d950eada4d609c30cc2642069f8ba52f3aeb4c9bbf8099aaf04a2f44a1ed7beef2a24485f988753c8c078a57e9b3a2fd + languageName: node + linkType: hard + "is-core-module@npm:^2.2.0": version: 2.2.0 resolution: "is-core-module@npm:2.2.0" @@ -14694,101 +14795,105 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-changed-files@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-changed-files@npm:26.6.2" +"jest-changed-files@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-changed-files@npm:27.0.0-next.8" dependencies: - "@jest/types": ^26.6.2 - execa: ^4.0.0 - throat: ^5.0.0 - checksum: b15a1c524b32b16694aaa4b2823266b89b54dddbb7c37ed0fdea605ea79ee784ce1003dc6163aa041d47453dfa32e21a4ade56b464d58459cdaa8e2291c83d12 + "@jest/types": ^27.0.0-next.8 + execa: ^5.0.0 + throat: ^6.0.1 + checksum: 8f6bb05d2ac69798404a81ccdfe2a3f0a7ce35d6ce7efeaf43ad02833a17386174ef2cc6248e6253e6afaeca6a7a683d4cc3b737316c049c2b0e86144fa5f979 languageName: node linkType: hard -"jest-circus@npm:26.6.3": - version: 26.6.3 - resolution: "jest-circus@npm:26.6.3" +"jest-circus@npm:27.0.0-next.8, jest-circus@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-circus@npm:27.0.0-next.8" dependencies: - "@babel/traverse": ^7.1.0 - "@jest/environment": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 - "@types/babel__traverse": ^7.0.4 + "@jest/environment": ^27.0.0-next.8 + "@jest/test-result": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 - expect: ^26.6.2 + expect: ^27.0.0-next.8 is-generator-fn: ^2.0.0 - jest-each: ^26.6.2 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 - jest-runner: ^26.6.3 - jest-runtime: ^26.6.3 - jest-snapshot: ^26.6.2 - jest-util: ^26.6.2 - pretty-format: ^26.6.2 - stack-utils: ^2.0.2 - throat: ^5.0.0 - checksum: 8ef70b1ccd0837d19131889fcf4e7ed4d6f051a9140be71eb3536dd98d80ab4ab31dd5d445300f08f6e8d0bd6588e77159d53ea4fda808c5e55eb464755d1837 - languageName: node - linkType: hard - -"jest-cli@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-cli@npm:26.6.3" - dependencies: - "@jest/core": ^26.6.3 - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + jest-each: ^27.0.0-next.8 + jest-matcher-utils: ^27.0.0-next.8 + jest-message-util: ^27.0.0-next.8 + jest-runner: ^27.0.0-next.8 + jest-runtime: ^27.0.0-next.8 + jest-snapshot: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 + pretty-format: ^27.0.0-next.8 + stack-utils: ^2.0.3 + throat: ^6.0.1 + checksum: a7e64ec4067713110f756d7a887e4edcde31bb979c3472735847cdb7efa178e9c055cacf15ad7feed98cffb9f2b04d4a8351139b1904de713fa367ecac9e80cb + languageName: node + linkType: hard + +"jest-cli@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-cli@npm:27.0.0-next.8" + dependencies: + "@jest/core": ^27.0.0-next.8 + "@jest/test-result": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.4 import-local: ^3.0.2 - is-ci: ^2.0.0 - jest-config: ^26.6.3 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 + is-ci: ^3.0.0 + jest-config: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 + jest-validate: ^27.0.0-next.8 prompts: ^2.0.1 - yargs: ^15.4.1 + yargs: ^16.0.3 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 + peerDependenciesMeta: + node-notifier: + optional: true bin: jest: bin/jest.js - checksum: 2d32e7e4b2802d230625cb041630abe25a8764fcea6a8ecf46a5ad68f23bd1498e5297bc43d1ba714832d433de6676d2bd3ac93d0fecec230665fe8421f23863 + checksum: a9e02c425d6c04a55e5459ebdc1a4e1192c713e6c7cbd601266b093b3b3b2ff6e385eb58304cc768bee77b169bad46f7e816c67d33646b963a5ff02af68afcad languageName: node linkType: hard -"jest-config@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-config@npm:26.6.3" +"jest-config@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-config@npm:27.0.0-next.8" dependencies: "@babel/core": ^7.1.0 - "@jest/test-sequencer": ^26.6.3 - "@jest/types": ^26.6.2 - babel-jest: ^26.6.3 + "@jest/test-sequencer": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 + babel-jest: ^27.0.0-next.8 chalk: ^4.0.0 deepmerge: ^4.2.2 glob: ^7.1.1 graceful-fs: ^4.2.4 - jest-environment-jsdom: ^26.6.2 - jest-environment-node: ^26.6.2 - jest-get-type: ^26.3.0 - jest-jasmine2: ^26.6.3 - jest-regex-util: ^26.0.0 - jest-resolve: ^26.6.2 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 - micromatch: ^4.0.2 - pretty-format: ^26.6.2 + jest-circus: ^27.0.0-next.8 + jest-environment-jsdom: ^27.0.0-next.8 + jest-environment-node: ^27.0.0-next.8 + jest-get-type: ^27.0.0-next.0 + jest-jasmine2: ^27.0.0-next.8 + jest-regex-util: ^27.0.0-next.0 + jest-resolve: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 + jest-validate: ^27.0.0-next.8 + micromatch: ^4.0.4 + pretty-format: ^27.0.0-next.8 peerDependencies: ts-node: ">=9.0.0" peerDependenciesMeta: ts-node: optional: true - checksum: 974e7690bab003cc204906802107b6a38a32bcb2033bf738bdecc6d8ee5b536b4ca11d65c8a511ad0e730ec631651d666787ffcaf86365869dcceacb06d4e875 + checksum: 3c8719b1e6aa0c7154cdfc5f52ed88e17a7928c789deaffc45331f9d886774af407899e734fdff9fa5320e437f8c3261874876ec62e71a61fa38bd5ba048cccc languageName: node linkType: hard -"jest-diff@npm:^26.0.0, jest-diff@npm:^26.6.2": +"jest-diff@npm:^26.0.0": version: 26.6.2 resolution: "jest-diff@npm:26.6.2" dependencies: @@ -14800,54 +14905,66 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-docblock@npm:^26.0.0": - version: 26.0.0 - resolution: "jest-docblock@npm:26.0.0" +"jest-diff@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-diff@npm:27.0.0-next.8" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^27.0.0-next.0 + jest-get-type: ^27.0.0-next.0 + pretty-format: ^27.0.0-next.8 + checksum: 7b2e1da8cdf8c85b7fd94bc0f20bb0d7d777d7aae64992bc9c3391a30b78888fd6e182e40d2d5b13f3502ec65bb0c7416e807a71ccbf86a6401c1ebe0f260f73 + languageName: node + linkType: hard + +"jest-docblock@npm:^27.0.0-next.0": + version: 27.0.0-next.0 + resolution: "jest-docblock@npm:27.0.0-next.0" dependencies: detect-newline: ^3.0.0 - checksum: 54b8ea1c8445a4b15e9ee5035f1bd60b0d492b87258995133a1b5df43a07803c93b54e8adaa45eae05778bd61ad57745491c625e7aa65198a9aa4f0c79030b56 + checksum: 37bf56632a5ce39f1c90ed8920b9cc4c449aafb6166d1bdaf37474ffc3da79708b9c9b954731e0181005aacddbe446ca0444b3c620f3973f72ad4e270c9fa634 languageName: node linkType: hard -"jest-each@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-each@npm:26.6.2" +"jest-each@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-each@npm:27.0.0-next.8" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^27.0.0-next.8 chalk: ^4.0.0 - jest-get-type: ^26.3.0 - jest-util: ^26.6.2 - pretty-format: ^26.6.2 - checksum: 628eaeca647adb4d6cf75bdc17c9ceb8cbcbb6921d838a583cd4de3db188e3e49b62209e3a0703f1281db379d1b2c07254900e5d97e85d61dd193d7b40361d3a + jest-get-type: ^27.0.0-next.0 + jest-util: ^27.0.0-next.8 + pretty-format: ^27.0.0-next.8 + checksum: d6215138c7f312ee0d092d552f5a0b82290f109a6653587626f7e0cfb05c24932a8754f6bf4c22a13f6d260473899f01b7587d9d7f15006a32f92afc130cbdb7 languageName: node linkType: hard -"jest-environment-jsdom@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-environment-jsdom@npm:26.6.2" +"jest-environment-jsdom@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-environment-jsdom@npm:27.0.0-next.8" dependencies: - "@jest/environment": ^26.6.2 - "@jest/fake-timers": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/environment": ^27.0.0-next.8 + "@jest/fake-timers": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 "@types/node": "*" - jest-mock: ^26.6.2 - jest-util: ^26.6.2 + jest-mock: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 jsdom: ^16.4.0 - checksum: 70af4860b71237274619cb93ebebf7da978ef086df2b6ad39ab23aba427b039e01e9c565afeee05f025d112d975252eee342a615416029b9b9a71ca7810b2a7d + checksum: 809216ce72f5809749c4cb5bba8feef7892e2c788e6770677893acd17c6a2f01f33437d72dd76211c36ebaee000a238728e86a15835117399513287a7d3de0d4 languageName: node linkType: hard -"jest-environment-node@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-environment-node@npm:26.6.2" +"jest-environment-node@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-environment-node@npm:27.0.0-next.8" dependencies: - "@jest/environment": ^26.6.2 - "@jest/fake-timers": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/environment": ^27.0.0-next.8 + "@jest/fake-timers": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 "@types/node": "*" - jest-mock: ^26.6.2 - jest-util: ^26.6.2 - checksum: 68ea035d62b35faf1991c0a0a432c1d9547ce93949e9460761071748cbf4b1d818e47421df1eb7b15a3eda7c0846e284b4a5ece5d99122307a0ad742ea765a57 + jest-mock: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 + checksum: 71edab6c93c809a9c654d0ad1604b352c50b378ed5a8c70594a50cd677f94f1d424e84f1cb194892b12d1d103cc75e61162c2096bfea002fee798c8d0ede4018 languageName: node linkType: hard @@ -14858,6 +14975,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"jest-get-type@npm:^27.0.0-next.0": + version: 27.0.0-next.0 + resolution: "jest-get-type@npm:27.0.0-next.0" + checksum: 0d5463b49dec78d7199056fd4456ce304a7ab7fc50b8f8b5e475025da7ee5d654b0967061555d33d8c42c3048962464ab73e7468f5a40bba6e59206e0a51bfcd + languageName: node + linkType: hard + "jest-haste-map@npm:^26.6.2": version: 26.6.2 resolution: "jest-haste-map@npm:26.6.2" @@ -14883,78 +15007,102 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-jasmine2@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-jasmine2@npm:26.6.3" +"jest-haste-map@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-haste-map@npm:27.0.0-next.8" + dependencies: + "@jest/types": ^27.0.0-next.8 + "@types/graceful-fs": ^4.1.2 + "@types/node": "*" + anymatch: ^3.0.3 + fb-watchman: ^2.0.0 + fsevents: ^2.2.1 + graceful-fs: ^4.2.4 + jest-regex-util: ^27.0.0-next.0 + jest-serializer: ^27.0.0-next.0 + jest-util: ^27.0.0-next.8 + jest-worker: ^27.0.0-next.8 + micromatch: ^4.0.4 + walker: ^1.0.7 + dependenciesMeta: + fsevents: + optional: true + checksum: 9976db79cfaec1da46f91d417c26d60100be33d2b0e8fecb82310ebc5109aec74c45a5f6b23e26a9a976028a85d8a0f866896bdc24645e6b68fbb44508c67ba0 + languageName: node + linkType: hard + +"jest-jasmine2@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-jasmine2@npm:27.0.0-next.8" dependencies: "@babel/traverse": ^7.1.0 - "@jest/environment": ^26.6.2 - "@jest/source-map": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/environment": ^27.0.0-next.8 + "@jest/source-map": ^27.0.0-next.3 + "@jest/test-result": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 - expect: ^26.6.2 + expect: ^27.0.0-next.8 is-generator-fn: ^2.0.0 - jest-each: ^26.6.2 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 - jest-runtime: ^26.6.3 - jest-snapshot: ^26.6.2 - jest-util: ^26.6.2 - pretty-format: ^26.6.2 - throat: ^5.0.0 - checksum: 18b15901f8eea23cb77b45dab7bbd9c9c15f6329516c4e5ccc36dff82153b9f992f7de264db45390a1a06b5cf730f073a9c49ed7b8905f7289c6f8055e8f7459 + jest-each: ^27.0.0-next.8 + jest-matcher-utils: ^27.0.0-next.8 + jest-message-util: ^27.0.0-next.8 + jest-runtime: ^27.0.0-next.8 + jest-snapshot: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 + pretty-format: ^27.0.0-next.8 + throat: ^6.0.1 + checksum: af97b14e54eea20f5c19fbac3b1e44a5df6b3e9fd5ec00918f6457c27afbc0db328e39e572ab3c5e4e00a3a6e362d0427576bd70703c942a3609c002fcb24bd6 languageName: node linkType: hard -"jest-leak-detector@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-leak-detector@npm:26.6.2" +"jest-leak-detector@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-leak-detector@npm:27.0.0-next.8" dependencies: - jest-get-type: ^26.3.0 - pretty-format: ^26.6.2 - checksum: 08c1bbb628c46d22bead4de7bcbe6a4c9d5761d55f15a1d938b9409473eeb6175545ebade44318f9ae950fcdf484e1cbffbbcdcce8600b946e21300d7d1ed206 + jest-get-type: ^27.0.0-next.0 + pretty-format: ^27.0.0-next.8 + checksum: 149b3950a48b22f07df227a593a6e20a8bb3037a1c7342b26f4ea83ebaf4fff913ec2b1a098eb7b596e7fe6566de744d677897917160e198688e99c824d3e081 languageName: node linkType: hard -"jest-matcher-utils@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-matcher-utils@npm:26.6.2" +"jest-matcher-utils@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-matcher-utils@npm:27.0.0-next.8" dependencies: chalk: ^4.0.0 - jest-diff: ^26.6.2 - jest-get-type: ^26.3.0 - pretty-format: ^26.6.2 - checksum: c6db72f19e90d8c3b3f949bc174e4a1b95db5973080eaf716b69df0069faa9b9da2de4502cf9b5c1376387b49705611259f45f04efb7dfc3deb72bcf3602a6a1 + jest-diff: ^27.0.0-next.8 + jest-get-type: ^27.0.0-next.0 + pretty-format: ^27.0.0-next.8 + checksum: e81cf62924a2160aea53da65847c3524321565762e0a0bdbd7c9978dc15e7b23a2809eee063790d75699fb92049488293873e10fe323135b023219645851b42f languageName: node linkType: hard -"jest-message-util@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-message-util@npm:26.6.2" +"jest-message-util@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-message-util@npm:27.0.0-next.8" dependencies: - "@babel/code-frame": ^7.0.0 - "@jest/types": ^26.6.2 + "@babel/code-frame": ^7.12.13 + "@jest/types": ^27.0.0-next.8 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.4 - micromatch: ^4.0.2 - pretty-format: ^26.6.2 + micromatch: ^4.0.4 + pretty-format: ^27.0.0-next.8 slash: ^3.0.0 - stack-utils: ^2.0.2 - checksum: 7a47773259e5bb431e3dba44321fd75d9e3264b12fc4fe584378053a8b065c61d1c7d07625c8e2c432ccf2d7f0dc68a9f6547bc62d0d558b8e5da0e82f824ecd + stack-utils: ^2.0.3 + checksum: f696f43b95cbe380de25f5c47ed67a2f15004920a28829f52032a205eccb31744051358f95e052e89750cc2d80f3400690b5e97ff4d80fd43f6b028a45d889db languageName: node linkType: hard -"jest-mock@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-mock@npm:26.6.2" +"jest-mock@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-mock@npm:27.0.0-next.8" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^27.0.0-next.8 "@types/node": "*" - checksum: 98e658beca866a5391fd5c0503a985a928231fd0652dea31809efa706a043ac4c4559769215ba8c8d0cde758f5c5463fbf99f233441e82641cace68023308fb6 + checksum: 628e50998cc14d86d8107d4024dc92bad52742e5afd4d61b564ff703dd049c16e99d816312b48daffbd4f6a022ea5210846ec8e2a61fa2d90597aa48095fd931 languageName: node linkType: hard @@ -14977,95 +15125,100 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-resolve-dependencies@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-resolve-dependencies@npm:26.6.3" +"jest-regex-util@npm:^27.0.0-next.0": + version: 27.0.0-next.0 + resolution: "jest-regex-util@npm:27.0.0-next.0" + checksum: 86681c00ba385e0050a48bf0f3a0606713cb5b9b71628d17529437bc258f3675ac70617bf3aec1da05956652ba67d654b985699bdbad88737a47a834b3a1985a + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-resolve-dependencies@npm:27.0.0-next.8" dependencies: - "@jest/types": ^26.6.2 - jest-regex-util: ^26.0.0 - jest-snapshot: ^26.6.2 - checksum: 72e7a200c404197f1c06aff7faa77de13e12c2bfdc1a0a6bd9f8b96cd23317b64e2b614a26b67beece86d51249c3ec7dbeb3dfe17d284930307cd769712ace25 + "@jest/types": ^27.0.0-next.8 + jest-regex-util: ^27.0.0-next.0 + jest-snapshot: ^27.0.0-next.8 + checksum: 52fa1735f874166f3f8bf0b6c39708e4b65f45296641c5f039eb764fe5454c67d090660f19a61bcb336edeb04c717226bc13e6969730542d135f6d635ca4dd1a languageName: node linkType: hard -"jest-resolve@npm:26.6.2, jest-resolve@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-resolve@npm:26.6.2" +"jest-resolve@npm:27.0.0-next.8, jest-resolve@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-resolve@npm:27.0.0-next.8" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^27.0.0-next.8 chalk: ^4.0.0 + escalade: ^3.1.1 graceful-fs: ^4.2.4 jest-pnp-resolver: ^1.2.2 - jest-util: ^26.6.2 - read-pkg-up: ^7.0.1 - resolve: ^1.18.1 + jest-util: ^27.0.0-next.8 + resolve: ^1.20.0 slash: ^3.0.0 - checksum: 61e8884462b4bcdaa26dc8544b497f2e2dae0b0701c363d433afb482c7f2faa6d0ce691250ad64eddb7fff552dc025315c388e0449411c1522a4dd013cbe49ae + checksum: 7da5990797461dad2283e5f6f16d7dd9985b7ad5dca17b5a490a7cecba21680963474637f8e745d35478f2b0aa93ddd75da0f696196456fa791ded860eb32401 languageName: node linkType: hard -"jest-runner@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-runner@npm:26.6.3" +"jest-runner@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-runner@npm:27.0.0-next.8" dependencies: - "@jest/console": ^26.6.2 - "@jest/environment": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/console": ^27.0.0-next.8 + "@jest/environment": ^27.0.0-next.8 + "@jest/test-result": ^27.0.0-next.8 + "@jest/transform": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 "@types/node": "*" chalk: ^4.0.0 - emittery: ^0.7.1 + emittery: ^0.8.1 exit: ^0.1.2 graceful-fs: ^4.2.4 - jest-config: ^26.6.3 - jest-docblock: ^26.0.0 - jest-haste-map: ^26.6.2 - jest-leak-detector: ^26.6.2 - jest-message-util: ^26.6.2 - jest-resolve: ^26.6.2 - jest-runtime: ^26.6.3 - jest-util: ^26.6.2 - jest-worker: ^26.6.2 + jest-config: ^27.0.0-next.8 + jest-docblock: ^27.0.0-next.0 + jest-haste-map: ^27.0.0-next.8 + jest-leak-detector: ^27.0.0-next.8 + jest-message-util: ^27.0.0-next.8 + jest-resolve: ^27.0.0-next.8 + jest-runtime: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 + jest-worker: ^27.0.0-next.8 source-map-support: ^0.5.6 - throat: ^5.0.0 - checksum: 7cac133ccfb4df461d32f536e7593c21e03b9b01fc97582f51b8487e673648444fe59ea3a96f1f6afddddecf62be86b1d8249723e3a3575cc04fa95f07a163c7 + throat: ^6.0.1 + checksum: 2ceef45e1951dbb90959fec456ef1bb82065c6789aebc0a93db1efd757d8cc9620f8e0304073ef8a1298d7c72c23486537d8dd39de9803dff7cae9834adfc9a9 languageName: node linkType: hard -"jest-runtime@npm:^26.6.3": - version: 26.6.3 - resolution: "jest-runtime@npm:26.6.3" +"jest-runtime@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-runtime@npm:27.0.0-next.8" dependencies: - "@jest/console": ^26.6.2 - "@jest/environment": ^26.6.2 - "@jest/fake-timers": ^26.6.2 - "@jest/globals": ^26.6.2 - "@jest/source-map": ^26.6.2 - "@jest/test-result": ^26.6.2 - "@jest/transform": ^26.6.2 - "@jest/types": ^26.6.2 - "@types/yargs": ^15.0.0 + "@jest/console": ^27.0.0-next.8 + "@jest/environment": ^27.0.0-next.8 + "@jest/fake-timers": ^27.0.0-next.8 + "@jest/globals": ^27.0.0-next.8 + "@jest/source-map": ^27.0.0-next.3 + "@jest/test-result": ^27.0.0-next.8 + "@jest/transform": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 + "@types/yargs": ^16.0.0 chalk: ^4.0.0 - cjs-module-lexer: ^0.6.0 + cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 exit: ^0.1.2 glob: ^7.1.3 graceful-fs: ^4.2.4 - jest-config: ^26.6.3 - jest-haste-map: ^26.6.2 - jest-message-util: ^26.6.2 - jest-mock: ^26.6.2 - jest-regex-util: ^26.0.0 - jest-resolve: ^26.6.2 - jest-snapshot: ^26.6.2 - jest-util: ^26.6.2 - jest-validate: ^26.6.2 + jest-haste-map: ^27.0.0-next.8 + jest-message-util: ^27.0.0-next.8 + jest-mock: ^27.0.0-next.8 + jest-regex-util: ^27.0.0-next.0 + jest-resolve: ^27.0.0-next.8 + jest-snapshot: ^27.0.0-next.8 + jest-util: ^27.0.0-next.8 + jest-validate: ^27.0.0-next.8 slash: ^3.0.0 strip-bom: ^4.0.0 - yargs: ^15.4.1 - bin: - jest-runtime: bin/jest-runtime.js - checksum: 5ef4ceaefb0cd8c140d58d2d4f660467cb6581d17622789d1c0bf1576fded6a9e0e831c3bb8b3f528ec81279f3fb38a6fb71e1d1a8960d7cdc8e048d33b71c32 + yargs: ^16.0.3 + checksum: bb2b5c441bdcd796d04a28484497cd5310aecef080ac381d86e6bd2a3a6bf7a7d3f0678eb0a37d41afd0950417a23a23f8ccfb81867ebf6265b63ef9f5541744 languageName: node linkType: hard @@ -15079,31 +15232,51 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-snapshot@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-snapshot@npm:26.6.2" +"jest-serializer@npm:^27.0.0-next.0": + version: 27.0.0-next.0 + resolution: "jest-serializer@npm:27.0.0-next.0" dependencies: + "@types/node": "*" + graceful-fs: ^4.2.4 + checksum: 6212465e75292bfa2e964a42a21ba204b310fdb13f5e32ea9db614765f82e9f6f00e339ade0a35eaea17f8f6f163fe98089b3d87db761435a9153a7151645d10 + languageName: node + linkType: hard + +"jest-snapshot@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-snapshot@npm:27.0.0-next.8" + dependencies: + "@babel/generator": ^7.7.2 + "@babel/parser": ^7.7.2 + "@babel/plugin-syntax-typescript": ^7.7.2 + "@babel/traverse": ^7.7.2 "@babel/types": ^7.0.0 - "@jest/types": ^26.6.2 + "@jest/types": ^27.0.0-next.8 "@types/babel__traverse": ^7.0.4 - "@types/prettier": ^2.0.0 + "@types/prettier": ^2.1.5 + babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^26.6.2 + expect: ^27.0.0-next.8 graceful-fs: ^4.2.4 - jest-diff: ^26.6.2 - jest-get-type: ^26.3.0 - jest-haste-map: ^26.6.2 - jest-matcher-utils: ^26.6.2 - jest-message-util: ^26.6.2 - jest-resolve: ^26.6.2 + jest-diff: ^27.0.0-next.8 + jest-get-type: ^27.0.0-next.0 + jest-haste-map: ^27.0.0-next.8 + jest-matcher-utils: ^27.0.0-next.8 + jest-message-util: ^27.0.0-next.8 + jest-resolve: ^27.0.0-next.8 natural-compare: ^1.4.0 - pretty-format: ^26.6.2 + pretty-format: ^27.0.0-next.8 semver: ^7.3.2 - checksum: 9cf50bd7b7b31736f914ea71f8049ddf8a9ebcfdbb663d262ad55045f1dd74cb599152946844193503363b9fbb32ee84f882ceae5067181e1dac537846801ae7 + peerDependencies: + "@babel/core": ^7.7.2 + peerDependenciesMeta: + "@babel/core": + optional: true + checksum: 101bba8985a112c2fb50bc2714230270b08b94d73114eac9f9358825fcc2fc25d4dd7d278301d9c0bdd74ed2467677db49cf5bce7147f60c6caad7fe14842e60 languageName: node linkType: hard -"jest-util@npm:^26.1.0, jest-util@npm:^26.6.2": +"jest-util@npm:^26.6.2": version: 26.6.2 resolution: "jest-util@npm:26.6.2" dependencies: @@ -15117,32 +15290,46 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-validate@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-validate@npm:26.6.2" +"jest-util@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-util@npm:27.0.0-next.8" dependencies: - "@jest/types": ^26.6.2 + "@jest/types": ^27.0.0-next.8 + "@types/node": "*" + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + is-ci: ^3.0.0 + picomatch: ^2.2.3 + checksum: 291328109086f48132bf5d4fa0e63d739458586589a5b6edb65a1fdcdb7d56a99bbbbe210821c6c12e3d2974107c3008a33a9db4aa9a9ce80b79d3202599d204 + languageName: node + linkType: hard + +"jest-validate@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-validate@npm:27.0.0-next.8" + dependencies: + "@jest/types": ^27.0.0-next.8 camelcase: ^6.0.0 chalk: ^4.0.0 - jest-get-type: ^26.3.0 + jest-get-type: ^27.0.0-next.0 leven: ^3.1.0 - pretty-format: ^26.6.2 - checksum: b19fd33b8667a45fea08a56353189b70532ebe360a6ac2e2320eac5e047be410053dcb3a6bcfe99d5e580e03580710af722119268d26ad5185871f5bfa0f6ca2 + pretty-format: ^27.0.0-next.8 + checksum: abceb144ce803a5365b4a354923a88f3b341b0806068cdef858c4315212f6b59dbb9aed93dec0c490f4e726d781afa11eb9a304000810128c303878bfa67d52e languageName: node linkType: hard -"jest-watcher@npm:^26.6.2": - version: 26.6.2 - resolution: "jest-watcher@npm:26.6.2" +"jest-watcher@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-watcher@npm:27.0.0-next.8" dependencies: - "@jest/test-result": ^26.6.2 - "@jest/types": ^26.6.2 + "@jest/test-result": ^27.0.0-next.8 + "@jest/types": ^27.0.0-next.8 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 - jest-util: ^26.6.2 + jest-util: ^27.0.0-next.8 string-length: ^4.0.1 - checksum: d4a13c17c7b9bd98616d7a4ff087c0c16346038ba6b6db6f4a15acbce2ea9a9c7b8b873d174ade3f458c9ad5607f7cadd29309aa13f03a844f984d3711b57805 + checksum: 4d7e0adde45d65548c31a1ecda75a5bfc7fcf749597b502adb0ea5f1316bd2d249260e9b9f47f1ee84b6b69e3c64238a60661191f42473374d69c71ea905fa3c languageName: node linkType: hard @@ -15157,16 +15344,32 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest@npm:26.6.3": - version: 26.6.3 - resolution: "jest@npm:26.6.3" +"jest-worker@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest-worker@npm:27.0.0-next.8" dependencies: - "@jest/core": ^26.6.3 + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: a16fe0e56c8c2f0fe36db3d7e1b39383f61aaa104922a3247b8c4546cd4fa60298cd4d0fba1b1c2c7837d088f81b247acf5a93a4388f53c561df1bdf1caaee11 + languageName: node + linkType: hard + +"jest@npm:27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "jest@npm:27.0.0-next.8" + dependencies: + "@jest/core": ^27.0.0-next.8 import-local: ^3.0.2 - jest-cli: ^26.6.3 + jest-cli: ^27.0.0-next.8 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 + peerDependenciesMeta: + node-notifier: + optional: true bin: jest: bin/jest.js - checksum: 4ffcfefa2b30999a71c205e1aacf2b3d7af10f36c17ba1baf45677684116ad5aa6a5bb162ad2dd418f9ea99d18f24b70d8c83fb317b765a3acac361a50e9db9f + checksum: a15195d4f15195d75cbf7bd046ecaf51d2a57948d8283783d3d820a44788ac09e617646a49b46279ed8df28dad1ad68ebd42fc0caa23655dbc71713767d00f05 languageName: node linkType: hard @@ -15360,17 +15563,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"json5@npm:2.x, json5@npm:^2.1.2, json5@npm:^2.1.3": - version: 2.2.0 - resolution: "json5@npm:2.2.0" - dependencies: - minimist: ^1.2.5 - bin: - json5: lib/cli.js - checksum: 07b1f90c2801dc52df2b0ac8d606cc400a85cda79130e754780fa2ab9805d0fb85a0e61b6a5cdd68e88e5d0c8f9109ec415af08283175556cdccaa8563853908 - languageName: node - linkType: hard - "json5@npm:^0.5.0": version: 0.5.1 resolution: "json5@npm:0.5.1" @@ -15391,6 +15583,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"json5@npm:^2.1.2, json5@npm:^2.1.3": + version: 2.2.0 + resolution: "json5@npm:2.2.0" + dependencies: + minimist: ^1.2.5 + bin: + json5: lib/cli.js + checksum: 07b1f90c2801dc52df2b0ac8d606cc400a85cda79130e754780fa2ab9805d0fb85a0e61b6a5cdd68e88e5d0c8f9109ec415af08283175556cdccaa8563853908 + languageName: node + linkType: hard + "jsondiffpatch@npm:0.4.1": version: 0.4.1 resolution: "jsondiffpatch@npm:0.4.1" @@ -16016,7 +16219,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:4.x, 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.17.21, 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": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: 4983720b9abca930a4a46f18db163d7dad8dd00dbed6db0cc7b499b33b717cce69f80928b27bbb1ff2cbd3b19d251ee90669a8b5ea466072ca81c2ebe91e7468 @@ -16172,7 +16375,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"make-error@npm:1.x, make-error@npm:^1.1.1": +"make-error@npm:^1.1.1": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: 2c780bab8409b865e8ee86697c599a2bf2765ec64d21eb67ccda27050e039f983feacad05a0d43aba3c966ea03d305d2612e94fec45474bcbc61181f57c5bb88 @@ -16573,13 +16776,13 @@ fsevents@^1.2.7: languageName: node linkType: hard -"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2": - version: 4.0.2 - resolution: "micromatch@npm:4.0.2" +"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": + version: 4.0.4 + resolution: "micromatch@npm:4.0.4" dependencies: braces: ^3.0.1 - picomatch: ^2.0.5 - checksum: 0cb0e11d647cbb65e398a0a8a1340a7fb751ae2722346219c435704cfac8b3275a94a6464236fe867f52ad46a24046d3bc4ac11b3d21ddb73bc44e27cf1e4904 + picomatch: ^2.2.3 + checksum: bc522ad93c086aa176f50fea2dc8060a8f7d7a621c811cf9ba02a1912577cc100190508166d721231465f10a575a40ec8a1bffc23bbc2c0108fcbf02e4be04ed languageName: node linkType: hard @@ -16815,15 +17018,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"mkdirp@npm:1.x, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4, mkdirp@npm:~1.0.4": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 1aa3a6a2d7514f094a91329ec09994f5d32d2955a4985ecbb3d86f2aaeafc4aa11521f98d606144c1d49cd9835004d9a73342709b8c692c92e59eacf37412468 - languageName: node - linkType: hard - "mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:^0.5.4, mkdirp@npm:^0.5.5, mkdirp@npm:~0.5.1": version: 0.5.5 resolution: "mkdirp@npm:0.5.5" @@ -16835,6 +17029,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4, mkdirp@npm:~1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 1aa3a6a2d7514f094a91329ec09994f5d32d2955a4985ecbb3d86f2aaeafc4aa11521f98d606144c1d49cd9835004d9a73342709b8c692c92e59eacf37412468 + languageName: node + linkType: hard + "moment-duration-format@npm:2.3.2": version: 2.3.2 resolution: "moment-duration-format@npm:2.3.2" @@ -17264,21 +17467,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"node-notifier@npm:^8.0.0": - version: 8.0.1 - resolution: "node-notifier@npm:8.0.1" - dependencies: - growly: ^1.3.0 - is-wsl: ^2.2.0 - semver: ^7.3.2 - shellwords: ^0.1.1 - uuid: ^8.3.0 - which: ^2.0.2 - checksum: ce9611cfd8a6021b9aed5b9ad36e4717b9e151b46fe2f434408791291d261e695f3f397000e61edf23f2d1e5d2b73390abeb04b81754a9cfa95f68cfb2954cf1 - languageName: node - linkType: hard - -"node-releases@npm:^1.1.61, node-releases@npm:^1.1.70": +"node-releases@npm:^1.1.61, node-releases@npm:^1.1.71": version: 1.1.71 resolution: "node-releases@npm:1.1.71" checksum: 9e283003f1deafd0ca7f9bbde9c4b5b05d880ca165217f5227b37406626d6689a246a5c4c72f9a8512be65cd51b13cc7d0f5d8bc68ad36089b620f1810292340 @@ -18295,7 +18484,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.0.5, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.2.3": version: 2.2.3 resolution: "picomatch@npm:2.2.3" checksum: f8c9323bc3b21ff448e81dd32277135d781abae5d53a1415d69a4ce6317a2c11404d449c550110b8fa402c07d5e80ff0e2657f263a312517cc809e9010d25791 @@ -18743,6 +18932,18 @@ fsevents@^1.2.7: languageName: node linkType: hard +"pretty-format@npm:^27.0.0-next.8": + version: 27.0.0-next.8 + resolution: "pretty-format@npm:27.0.0-next.8" + dependencies: + "@jest/types": ^27.0.0-next.8 + ansi-regex: ^5.0.0 + ansi-styles: ^5.0.0 + react-is: ^17.0.1 + checksum: fe1d639d282853b68259c4fcc1030906e9a0fa2095c82ae94d5ce8cfb62f24290d8358c9e83bde18c0143ed47a3e212cce31ec9115337c0764dcba91ecafc06b + languageName: node + linkType: hard + "pretty-hrtime@npm:^1.0.3": version: 1.0.3 resolution: "pretty-hrtime@npm:1.0.3" @@ -20816,7 +21017,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.3.2, resolve@^1.9.0": +"resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.9.0": version: 1.20.0 resolution: "resolve@npm:1.20.0" dependencies: @@ -20836,7 +21037,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"resolve@patch:resolve@^1.10.0#builtin, resolve@patch:resolve@^1.12.0#builtin, resolve@patch:resolve@^1.13.1#builtin, resolve@patch:resolve@^1.14.2#builtin, resolve@patch:resolve@^1.17.0#builtin, resolve@patch:resolve@^1.18.1#builtin, resolve@patch:resolve@^1.19.0#builtin, resolve@patch:resolve@^1.3.2#builtin, resolve@patch:resolve@^1.9.0#builtin": +"resolve@patch:resolve@^1.10.0#builtin, resolve@patch:resolve@^1.12.0#builtin, resolve@patch:resolve@^1.13.1#builtin, resolve@patch:resolve@^1.14.2#builtin, resolve@patch:resolve@^1.17.0#builtin, resolve@patch:resolve@^1.19.0#builtin, resolve@patch:resolve@^1.20.0#builtin, resolve@patch:resolve@^1.3.2#builtin, resolve@patch:resolve@^1.9.0#builtin": version: 1.20.0 resolution: "resolve@patch:resolve@npm%3A1.20.0#builtin::version=1.20.0&hash=3388aa" dependencies: @@ -21325,7 +21526,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"semver@npm:7.3.5, semver@npm:7.x, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4": +"semver@npm:7.3.5, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4": version: 7.3.5 resolution: "semver@npm:7.3.5" dependencies: @@ -21563,13 +21764,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"shellwords@npm:^0.1.1": - version: 0.1.1 - resolution: "shellwords@npm:0.1.1" - checksum: 3559ff550917ece921d252edf42eb54827540e9676e537137ace236df8f9b78e48c542ae0b3f8876fea0faf5826c97629d5b8cb9ac7dee287260e9804fb8132c - languageName: node - linkType: hard - "side-channel@npm:^1.0.4": version: 1.0.4 resolution: "side-channel@npm:1.0.4" @@ -22054,7 +22248,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"stack-utils@npm:^2.0.2": +"stack-utils@npm:^2.0.3": version: 2.0.3 resolution: "stack-utils@npm:2.0.3" dependencies: @@ -22551,6 +22745,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: ^4.0.0 + checksum: 0219f5c91753fea8dc8046cd4b18d39458b5dc0c6421c67c1072209faae9ba93b89283252e3b05d5c18901fd9f8b95001e3247fb93e2265f66d584a676522c75 + languageName: node + linkType: hard + "supports-hyperlinks@npm:^2.0.0": version: 2.1.0 resolution: "supports-hyperlinks@npm:2.1.0" @@ -22846,10 +23049,10 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"throat@npm:^5.0.0": - version: 5.0.0 - resolution: "throat@npm:5.0.0" - checksum: 2fa41c09ccd97982cd6601eca704913f5d8ef5cc4070fcd71c67e7240da7c0df86f65f5cb23f5c3132ab5567154740114cc92379663aa098b6076a39481b0f5f +"throat@npm:^6.0.1": + version: 6.0.1 + resolution: "throat@npm:6.0.1" + checksum: c984a40b4725bbd6e8c49d57b2bd36ab36c5534e8a1bed0d278d480171fdf908f16ba343d61c3e9c2e3ed4b327a59c28432cfa44594453b756ec219a772395a8 languageName: node linkType: hard @@ -23134,30 +23337,6 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"ts-jest@npm:26.5.2": - version: 26.5.2 - resolution: "ts-jest@npm:26.5.2" - dependencies: - "@types/jest": 26.x - 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: f9466241291bde18c6f6c5d61875d861983fa2a1b9b1a2164141418c129b874df2bc15bbc4fbde7fc2cb1fa9cae972d5fb292c79b4777afbe19f7ccf035e5d70 - languageName: node - linkType: hard - "ts-loader@npm:8.1.0": version: 8.1.0 resolution: "ts-loader@npm:8.1.0" @@ -24005,7 +24184,7 @@ typescript@4.2.2: languageName: node linkType: hard -"uuid@npm:8.3.2, uuid@npm:^8.0.0, uuid@npm:^8.3.0, uuid@npm:^8.3.2": +"uuid@npm:8.3.2, uuid@npm:^8.0.0, uuid@npm:^8.3.2": version: 8.3.2 resolution: "uuid@npm:8.3.2" bin: @@ -24790,17 +24969,6 @@ typescript@4.2.2: languageName: node linkType: hard -"wrap-ansi@npm:^6.2.0": - version: 6.2.0 - resolution: "wrap-ansi@npm:6.2.0" - dependencies: - ansi-styles: ^4.0.0 - string-width: ^4.1.0 - strip-ansi: ^6.0.0 - checksum: ee4ed8b2994cfbdcd571f4eadde9d8ba00b8a74113483fe5d0c5f9e84054e43df8e9092d7da35c5b051faeca8fe32bd6cea8bf5ae8ad4896d6ea676a347e90af - languageName: node - linkType: hard - "wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -24999,13 +25167,6 @@ typescript@4.2.2: languageName: node linkType: hard -"yargs-parser@npm:20.x, yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": - version: 20.2.7 - resolution: "yargs-parser@npm:20.2.7" - checksum: 124e7f1c24c9609d5d1c343f14b83289634e19bb43770708ebb6a19852647aaa0f89edcbf0e5b18a21bee77f54513ab5051518b2950cda69eb607a7c6251aa4f - languageName: node - linkType: hard - "yargs-parser@npm:^13.1.2": version: 13.1.2 resolution: "yargs-parser@npm:13.1.2" @@ -25016,17 +25177,14 @@ typescript@4.2.2: languageName: node linkType: hard -"yargs-parser@npm:^18.1.2": - version: 18.1.3 - resolution: "yargs-parser@npm:18.1.3" - dependencies: - camelcase: ^5.0.0 - decamelize: ^1.2.0 - checksum: 33871721679053cc38165afc6356c06c3e820459589b5db78f315886105070eb90cbb583cd6515fa4231937d60c80262ca2b7c486d5942576802446318a39597 +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": + version: 20.2.7 + resolution: "yargs-parser@npm:20.2.7" + checksum: 124e7f1c24c9609d5d1c343f14b83289634e19bb43770708ebb6a19852647aaa0f89edcbf0e5b18a21bee77f54513ab5051518b2950cda69eb607a7c6251aa4f languageName: node linkType: hard -"yargs@npm:16.2.0, yargs@npm:^16.2.0": +"yargs@npm:16.2.0, yargs@npm:^16.0.3, yargs@npm:^16.2.0": version: 16.2.0 resolution: "yargs@npm:16.2.0" dependencies: @@ -25059,25 +25217,6 @@ typescript@4.2.2: languageName: node linkType: hard -"yargs@npm:^15.4.1": - version: 15.4.1 - resolution: "yargs@npm:15.4.1" - dependencies: - cliui: ^6.0.0 - decamelize: ^1.2.0 - find-up: ^4.1.0 - get-caller-file: ^2.0.1 - require-directory: ^2.1.1 - require-main-filename: ^2.0.0 - set-blocking: ^2.0.0 - string-width: ^4.2.0 - which-module: ^2.0.0 - y18n: ^4.0.0 - yargs-parser: ^18.1.2 - checksum: dbf687d6b938f01bbf11e158dde6df906282b70cd9295af0217ee8cefbd83ad09d49fa9458d0d5325b0e66f03df954a38986db96f91e5b46ccdbbaf9a0157b23 - languageName: node - linkType: hard - "yarn-or-npm@npm:^3.0.1": version: 3.0.1 resolution: "yarn-or-npm@npm:3.0.1"