From e498226d82c0b642af7f0f7c42d9dac9a722fd33 Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Thu, 28 Nov 2024 12:56:52 +0000 Subject: [PATCH 01/11] Don't lose the isOperationInProgress state when the user switches tabs --- .../compass-shell/tab-compass-shell.tsx | 76 ++++++++++++------- packages/compass/webpack.config.js | 8 ++ 2 files changed, 57 insertions(+), 27 deletions(-) diff --git a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx index 04f0d9463f0..362cadde1e2 100644 --- a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx +++ b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx @@ -58,25 +58,17 @@ type CompassShellProps = { onHistoryChange: (history: string[]) => void; initialEvaluate?: string | string[]; initialInput?: string; + isOperationInProgress: boolean; + onOperationStarted: () => void; + onOperationEnd: () => void; }; -function useInitialEval(initialEvaluate?: string | string[]) { - const [initialEvalApplied, setInitialEvalApplied] = useTabState( - 'initialEvalApplied', - false - ); - useEffect(() => { - setInitialEvalApplied(true); - }, [setInitialEvalApplied]); - return initialEvalApplied ? undefined : initialEvaluate; -} - const Shell = React.forwardRef(function Shell( - { initialEvaluate: _initialEvaluate, ...props }, + { ...props }, ref ) { const shellRef = useRef(null); - const initialEvaluate = useInitialEval(_initialEvaluate); + const mergeRef = useCallback( (shell: ShellType | null) => { shellRef.current = shell; @@ -93,26 +85,55 @@ const Shell = React.forwardRef(function Shell( shellRef.current?.focusEditor(); }); }, []); + + return <_Shell ref={mergeRef} {...props}>; +}); + +function useInitialEval(initialEvaluate?: string | string[]) { + const [initialEvalApplied, setInitialEvalApplied] = useTabState( + 'initialEvalApplied', + false + ); + useEffect(() => { + setInitialEvalApplied(true); + }, [setInitialEvalApplied]); + return initialEvalApplied ? undefined : initialEvaluate; +} + +const normalizeInitialEvaluate = (initialEvaluate: string | string[]) => { return ( - <_Shell - ref={mergeRef} - initialEvaluate={initialEvaluate} - {...props} - > + Array.isArray(initialEvaluate) ? initialEvaluate : [initialEvaluate] + ).filter((line) => { + // Filter out empty lines if passed by accident + return !!line; + }); +}; + +const isInitialEvaluateEmpty = ( + initialEvaluate?: string | string[] | undefined +) => { + return ( + !initialEvaluate || normalizeInitialEvaluate(initialEvaluate).length === 0 ); -}); +}; const CompassShell: React.FC = ({ runtime, initialHistory, onHistoryChange, - initialEvaluate, + initialEvaluate: _initialEvaluate, initialInput, }) => { + const initialEvaluate = useInitialEval(_initialEvaluate); + + const [isOperationInProgress, setIsOperationInProgress] = useTabState( + 'isOperationInProgress', + !isInitialEvaluateEmpty(initialEvaluate) + ); + const enableShell = usePreference('enableShell'); const shellRef: ShellRef = useRef(null); const [infoModalVisible, setInfoModalVisible] = useState(false); - const [isOperationInProgress, setIsOperationInProgress] = useState(false); const [shellOutput, setShellOutput] = useTabState< readonly ShellOutputEntry[] >('shellOutput', []); @@ -148,13 +169,13 @@ const CompassShell: React.FC = ({ [setShellOutput] ); - const notifyOperationStarted = useCallback(() => { + const onOperationStarted = useCallback(() => { setIsOperationInProgress(true); - }, []); + }, [setIsOperationInProgress]); - const notifyOperationEnd = useCallback(() => { + const onOperationEnd = useCallback(() => { setIsOperationInProgress(false); - }, []); + }, [setIsOperationInProgress]); const canRenderShell = enableShell && initialHistory && runtime; @@ -212,8 +233,9 @@ const CompassShell: React.FC = ({ onHistoryChanged={(history) => { onHistoryChange([...history]); }} - onOperationStarted={notifyOperationStarted} - onOperationEnd={notifyOperationEnd} + onOperationStarted={onOperationStarted} + onOperationEnd={onOperationEnd} + isOperationInProgress={isOperationInProgress} maxOutputLength={1000} maxHistoryLength={1000} /> diff --git a/packages/compass/webpack.config.js b/packages/compass/webpack.config.js index a4e8ca3a7e8..312b5068637 100644 --- a/packages/compass/webpack.config.js +++ b/packages/compass/webpack.config.js @@ -57,6 +57,12 @@ module.exports = (_env, args) => { }, }; + const snapshot = { + unmanagedPaths: [ + path.resolve('..', '..', 'node_modules', '@mongosh', 'browser-repl'), + ], + }; + // Having runtime outside of entries means less rebuilding when dependencies // change (default is runtime is part of the entry and the whole entry needs // a rebuild when dependency tree changes) @@ -121,6 +127,7 @@ module.exports = (_env, args) => { return [ merge(mainConfig, { cache, + snapshot, externals, plugins: [ new webpack.EnvironmentPlugin(hadronEnvConfig), @@ -137,6 +144,7 @@ module.exports = (_env, args) => { }), merge(rendererConfig, { cache, + snapshot, // Chunk splitting makes sense only for renderer processes where the // amount of dependencies is massive and can benefit from them more optimization, From 7e41b553ac4f77ec8156ad5d8e91fc310f149cc6 Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Wed, 4 Dec 2024 11:56:32 +0000 Subject: [PATCH 02/11] initial rather --- .../src/components/compass-shell/tab-compass-shell.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx index 362cadde1e2..df7985daec5 100644 --- a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx +++ b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx @@ -235,7 +235,7 @@ const CompassShell: React.FC = ({ }} onOperationStarted={onOperationStarted} onOperationEnd={onOperationEnd} - isOperationInProgress={isOperationInProgress} + initialIsOperationInProgress={isOperationInProgress} maxOutputLength={1000} maxHistoryLength={1000} /> From c812b2afde483eb8e75575411859ed9bfb998b16 Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Wed, 4 Dec 2024 17:30:34 +0000 Subject: [PATCH 03/11] turn shell into a function component --- .../compass-shell/tab-compass-shell.tsx | 89 ++++++------------- 1 file changed, 29 insertions(+), 60 deletions(-) diff --git a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx index df7985daec5..a5980f6f806 100644 --- a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx +++ b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx @@ -1,9 +1,10 @@ import { connect } from 'react-redux'; -import React, { useCallback, useEffect, useRef, useState } from 'react'; +import React, { useCallback, useEffect, useState } from 'react'; import { useOnTabReplace, useTabState, } from '@mongodb-js/compass-workspaces/provider'; +import type { EditorRef } from '@mongodb-js/compass-editor'; import { Banner, Link, @@ -17,7 +18,7 @@ import type { WorkerRuntime } from '@mongosh/node-runtime-worker-thread'; import ShellInfoModal from '../shell-info-modal'; import ShellHeader from '../shell-header/shell-header'; import { usePreference } from 'compass-preferences-model/provider'; -import { Shell as _Shell } from '@mongosh/browser-repl'; +import { Shell } from '@mongosh/browser-repl'; import type { RootState } from '../../stores/store'; import { selectRuntimeById, saveHistory } from '../../stores/store'; @@ -44,13 +45,9 @@ const compassShellContainerStyles = css({ borderTop: `1px solid ${palette.gray.dark2}`, }); -type ShellProps = React.ComponentProps; +type ShellProps = React.ComponentProps; -type ShellRef = Extract['ref'], { current: any }>; - -type ShellType = ShellRef['current']; - -type ShellOutputEntry = Required['initialOutput'][number]; +type ShellOutputEntry = Required['output'][number]; type CompassShellProps = { runtime: WorkerRuntime | null; @@ -63,32 +60,6 @@ type CompassShellProps = { onOperationEnd: () => void; }; -const Shell = React.forwardRef(function Shell( - { ...props }, - ref -) { - const shellRef = useRef(null); - - const mergeRef = useCallback( - (shell: ShellType | null) => { - shellRef.current = shell; - if (typeof ref === 'function') { - ref(shell); - } else if (ref) { - ref.current = shell; - } - }, - [ref] - ); - useEffect(() => { - return rafraf(() => { - shellRef.current?.focusEditor(); - }); - }, []); - - return <_Shell ref={mergeRef} {...props}>; -}); - function useInitialEval(initialEvaluate?: string | string[]) { const [initialEvalApplied, setInitialEvalApplied] = useTabState( 'initialEvalApplied', @@ -117,7 +88,7 @@ const isInitialEvaluateEmpty = ( ); }; -const CompassShell: React.FC = ({ +export const CompassShell: React.FC = ({ runtime, initialHistory, onHistoryChange, @@ -132,11 +103,12 @@ const CompassShell: React.FC = ({ ); const enableShell = usePreference('enableShell'); - const shellRef: ShellRef = useRef(null); + const [editor, setEditor] = useState(null); const [infoModalVisible, setInfoModalVisible] = useState(false); - const [shellOutput, setShellOutput] = useTabState< - readonly ShellOutputEntry[] - >('shellOutput', []); + const [shellOutput, setShellOutput] = useTabState( + 'shellOutput', + [] + ); const [shellInput, setShellInput] = useTabState( 'shellInput', initialInput ?? '' @@ -157,17 +129,10 @@ const CompassShell: React.FC = ({ }, []); const focusEditor = useCallback(() => { - if (shellRef.current && window.getSelection()?.type !== 'Range') { - shellRef.current.focusEditor(); + if (editor && window.getSelection()?.type !== 'Range') { + editor.focus(); } - }, []); - - const updateShellOutput = useCallback( - (output: readonly ShellOutputEntry[]) => { - setShellOutput(output); - }, - [setShellOutput] - ); + }, [editor]); const onOperationStarted = useCallback(() => { setIsOperationInProgress(true); @@ -179,6 +144,12 @@ const CompassShell: React.FC = ({ const canRenderShell = enableShell && initialHistory && runtime; + useEffect(() => { + return rafraf(() => { + editor?.focus(); + }); + }, [editor]); + if (!enableShell) { return (
@@ -222,22 +193,20 @@ const CompassShell: React.FC = ({ className={compassShellContainerStyles} > { - onHistoryChange([...history]); - }} + output={shellOutput} + onOutputChanged={setShellOutput} + history={initialHistory} + onHistoryChanged={onHistoryChange} onOperationStarted={onOperationStarted} onOperationEnd={onOperationEnd} - initialIsOperationInProgress={isOperationInProgress} - maxOutputLength={1000} - maxHistoryLength={1000} + isOperationInProgress={isOperationInProgress} + onEditorChanged={setEditor} />
From c1ed55c2ad7be122211f478e370725eaa87968c0 Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Wed, 11 Dec 2024 17:28:12 +0000 Subject: [PATCH 04/11] initialText --- .../src/components/compass-shell/tab-compass-shell.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx index a5980f6f806..86eecef07f0 100644 --- a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx +++ b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx @@ -197,7 +197,7 @@ export const CompassShell: React.FC = ({ maxOutputLength={1000} maxHistoryLength={1000} initialEvaluate={initialEvaluate} - inputText={shellInput} + initialText={shellInput} onInputChanged={setShellInput} output={shellOutput} onOutputChanged={setShellOutput} From fec2872a76ed6e513c9f98092ccdf2195509f1c0 Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Thu, 12 Dec 2024 08:29:14 +0000 Subject: [PATCH 05/11] remove the single connection tab component --- .../compass-shell/compass-shell.spec.tsx | 393 ------------------ .../compass-shell/compass-shell.tsx | 237 ----------- .../src/components/compass-shell/index.ts | 4 - .../compass-shell/tab-compass-shell.tsx | 3 - packages/compass-shell/src/plugin.tsx | 8 +- 5 files changed, 1 insertion(+), 644 deletions(-) delete mode 100644 packages/compass-shell/src/components/compass-shell/compass-shell.spec.tsx delete mode 100644 packages/compass-shell/src/components/compass-shell/compass-shell.tsx diff --git a/packages/compass-shell/src/components/compass-shell/compass-shell.spec.tsx b/packages/compass-shell/src/components/compass-shell/compass-shell.spec.tsx deleted file mode 100644 index cc288651977..00000000000 --- a/packages/compass-shell/src/components/compass-shell/compass-shell.spec.tsx +++ /dev/null @@ -1,393 +0,0 @@ -import sinon from 'sinon'; -import React from 'react'; -import { mount, shallow } from 'enzyme'; -import { Shell } from '@mongosh/browser-repl'; -import { ResizeHandle } from '@mongodb-js/compass-components'; -import { expect } from 'chai'; - -import { CompassShell } from './compass-shell'; -import ShellHeader from '../shell-header'; -import ShellInfoModal from '../shell-info-modal'; - -function updateAndWaitAsync(wrapper) { - wrapper.update(); - return new Promise(setImmediate); -} - -const fakeRuntime = { - evaluate: sinon.fake.returns({ printable: 'some result' }), - setEvaluationListener: () => {}, -} as any; - -describe('CompassShell', function () { - context('when rendered', function () { - let wrapper; - - beforeEach(function () { - wrapper = mount( - undefined} - runtime={fakeRuntime} - enableShell - /> - ); - }); - - afterEach(function () { - wrapper.unmount(); - wrapper = null; - }); - - it('has the shell display none', function () { - const shellDomNode = wrapper - .find('[data-testid="shell-content"]') - .getDOMNode(); - const shellDisplayStyle = - getComputedStyle(shellDomNode).getPropertyValue('display'); - expect(shellDisplayStyle).to.equal('none'); - }); - }); - - context('when rendered expanded', function () { - context('when runtime property is not present', function () { - it('does not render a shell if runtime is null', function () { - const wrapper = mount( - undefined} - runtime={null} - enableShell - /> - ); - try { - wrapper.setState({ height: 300 }); - wrapper.update(); - expect(wrapper.find(Shell).exists()).to.equal(false); - } finally { - wrapper?.unmount(); - } - }); - }); - - context('when runtime property is present', function () { - let wrapper; - - beforeEach(function () { - wrapper = mount( - undefined} - runtime={fakeRuntime} - enableShell - /> - ); - - wrapper.find('[data-testid="shell-expand-button"]').simulate('click'); - wrapper.update(); - }); - afterEach(function () { - wrapper.unmount(); - wrapper = null; - }); - - it('renders the Shell', function () { - expect(wrapper.find(Shell).prop('runtime')).to.equal(fakeRuntime); - - const shellDomNode = wrapper - .find('[data-testid="shell-content"]') - .getDOMNode(); - const shellDisplayStyle = - getComputedStyle(shellDomNode).getPropertyValue('display'); - expect(shellDisplayStyle).to.equal('flex'); - }); - - it('renders the ShellHeader component', function () { - expect(wrapper.find(ShellHeader).exists()).to.equal(true); - }); - - it('renders a Resizable component', function () { - expect(wrapper.find(ResizeHandle)).to.exist; - }); - - it('renders the info modal component', function () { - expect(wrapper.find(ShellInfoModal)).to.exist; - }); - - it('renders the Shell with an output change handler', function () { - expect(!!wrapper.find(Shell).prop('onOutputChanged')).to.equal(true); - }); - }); - - context('with a runtime and saved shell output', function () { - it('renders the inital output', function () { - const wrapper = mount( - undefined} - runtime={fakeRuntime} - shellOutput={[ - { - type: 'output', - value: 'pineapple', - format: 'output', - }, - ]} - enableShell - /> - ); - - wrapper.find('[data-testid="shell-expand-button"]').simulate('click'); - wrapper.update(); - - expect(wrapper.find(Shell).prop('initialOutput')).to.deep.equal([ - { - type: 'output', - value: 'pineapple', - format: 'output', - }, - ]); - - wrapper.unmount(); - }); - }); - - context('when historyStorage is not present', function () { - it('passes an empty history to the Shell', function () { - const wrapper = shallow( - undefined} - runtime={fakeRuntime} - enableShell - /> - ); - - expect(wrapper.find(Shell).prop('initialHistory')).to.deep.equal([]); - - wrapper.unmount(); - }); - }); - - context('when it is clicked to collapse', function () { - let wrapper; - - beforeEach(function () { - wrapper = mount( - undefined} - runtime={fakeRuntime} - enableShell - /> - ); - - wrapper.find('[data-testid="shell-expand-button"]').simulate('click'); - wrapper.update(); - - wrapper.find('[data-testid="shell-expand-button"]').simulate('click'); - wrapper.update(); - }); - - afterEach(function () { - wrapper.unmount(); - wrapper = null; - }); - - it('sets the collapsed height to 32', function () { - expect( - wrapper.find('[data-testid="shell-section"]').prop('style').height - ).to.equal(32); - }); - - context('when it is expanded again', function () { - it('resumes its previous height', function () { - wrapper.find('[data-testid="shell-expand-button"]').simulate('click'); - wrapper.update(); - - wrapper.instance().updateHeight(399); - wrapper.update(); - - wrapper.find('[data-testid="shell-expand-button"]').simulate('click'); - wrapper.update(); - - wrapper.find('[data-testid="shell-expand-button"]').simulate('click'); - wrapper.update(); - - expect( - wrapper.find('[data-testid="shell-section"]').prop('style').height - ).to.equal(399); - }); - }); - }); - }); - - context('when historyStorage is present', function () { - const history = ['line1']; - - it('passes the loaded history as initialHistory to Shell', async function () { - const wrapper = shallow( - undefined} - enableShell - /> - ); - - await updateAndWaitAsync(wrapper); - - expect(wrapper.find(Shell).prop('initialHistory')).to.deep.equal([ - 'line1', - ]); - - wrapper.unmount(); - }); - - it('saves the history when history changes', async function () { - const changeSpy = sinon.spy(); - - const wrapper = shallow( - - ); - - await updateAndWaitAsync(wrapper); - - const onHistoryChanged = wrapper.find(Shell).prop('onHistoryChanged'); - onHistoryChanged(['line1']); - - expect(changeSpy).to.have.been.calledOnceWith(['line1']); - - wrapper.unmount(); - }); - }); - - it('sets shellOutput on onShellOutputChanged', function () { - const shell = new CompassShell({} as any); - - shell.onShellOutputChanged([ - { - type: 'output', - value: 'some output', - format: 'output', - }, - ]); - - expect(shell.shellOutput).to.deep.equal([ - { - type: 'output', - value: 'some output', - format: 'output', - }, - ]); - }); - - context('resize actions', function () { - let wrapper; - - beforeEach(function () { - wrapper = mount( - undefined} - runtime={fakeRuntime} - enableShell - /> - ); - }); - afterEach(function () { - wrapper.unmount(); - wrapper = null; - }); - - context('when expanded', function () { - beforeEach(function () { - wrapper.setState({ height: 199 }); - wrapper.update(); - - // make sure it starts off as we expect - const shellDomNode = wrapper - .find('[data-testid="shell-content"]') - .getDOMNode(); - const shellDisplayStyle = - getComputedStyle(shellDomNode).getPropertyValue('display'); - expect(shellDisplayStyle, 'before').to.equal('flex'); - }); - context('when the height is updated', function () { - beforeEach(function () { - wrapper.setState({ height: 131 }); - wrapper.update(); - }); - - it('does not collapse the component', function () { - const shellDomNode = wrapper - .find('[data-testid="shell-content"]') - .getDOMNode(); - const shellDisplayStyle = - getComputedStyle(shellDomNode).getPropertyValue('display'); - expect(shellDisplayStyle, 'after').to.equal('flex'); - }); - - context('when it hits the lower bound', function () { - beforeEach(function () { - wrapper.setState({ height: 1 }); - wrapper.update(); - }); - - it('collapses the shell', function () { - expect( - wrapper.find('[data-testid="shell-section"]').prop('style').height - ).to.equal(32); - expect(wrapper.state('height')).to.equal(1); - }); - }); - }); - }); - - context('when collapsed', function () { - context('when the height is updated', function () { - beforeEach(function () { - wrapper.setState({ height: 55 }); - wrapper.update(); - }); - - it('updates the height', function () { - expect(wrapper.find('[type="range"]').at(0).prop('value')).to.equal( - 55 - ); - expect( - wrapper.find('[data-testid="shell-section"]').prop('style').height - ).to.equal(32); - }); - - it('does not expand the component', function () { - const shellDomNode = wrapper - .find('[data-testid="shell-content"]') - .getDOMNode(); - const shellDisplayStyle = - getComputedStyle(shellDomNode).getPropertyValue('display'); - expect(shellDisplayStyle).to.equal('none'); - }); - - context('when it hits the resize threshold', function () { - beforeEach(function () { - wrapper.setState({ height: 151 }); - wrapper.update(); - }); - - it('expands the shell', function () { - expect( - wrapper.find('[data-testid="shell-section"]').prop('style').height - ).to.equal(151); - expect(wrapper.state('height')).to.equal(151); - }); - }); - }); - }); - }); -}); diff --git a/packages/compass-shell/src/components/compass-shell/compass-shell.tsx b/packages/compass-shell/src/components/compass-shell/compass-shell.tsx deleted file mode 100644 index faac5612b9e..00000000000 --- a/packages/compass-shell/src/components/compass-shell/compass-shell.tsx +++ /dev/null @@ -1,237 +0,0 @@ -import React, { Component, Fragment } from 'react'; -import { connect } from 'react-redux'; -import { withPreferences } from 'compass-preferences-model/provider'; -import { Shell } from '@mongosh/browser-repl'; -import { - ResizeHandle, - ResizeDirection, - css, - cx, - getScrollbarStyles, - palette, -} from '@mongodb-js/compass-components'; -import ShellInfoModal from '../shell-info-modal'; -import ShellHeader from '../shell-header'; -import type { WorkerRuntime } from '@mongosh/node-runtime-worker-thread'; -import type { RootState } from '../../stores/store'; -import { saveHistory, selectRuntimeById } from '../../stores/store'; - -const compassShellStyles = css( - { - backgroundColor: palette.gray.dark4, - display: 'flex', - flexBasis: 'auto', - position: 'relative', - flexDirection: 'column', - width: '100vw', - }, - getScrollbarStyles(true /* Always show dark mode. */) -); - -const compassShellContainerStyles = css({ - flexGrow: 1, - display: 'none', - overflow: 'auto', - borderTop: `1px solid ${palette.gray.dark2}`, -}); - -const compassShellContainerVisibleStyles = css({ - display: 'flex', -}); - -const defaultShellHeightOpened = 240; -const shellHeightClosed = 32; -const shellMinHeightOpened = 100; - -function getMaxShellHeight() { - return Math.max(defaultShellHeightOpened, window.innerHeight - 100); -} - -// Apply bounds to the shell height when resizing to ensure it's always -// visible and usable to the user. -function boundShellHeight(attemptedHeight: number): number { - const maxHeight = getMaxShellHeight(); - - return Math.min(maxHeight, Math.max(shellMinHeightOpened, attemptedHeight)); -} - -export interface CompassShellProps { - runtime: WorkerRuntime | null; - shellOutput?: ShellOutputEntry[]; - enableShell: boolean; - initialHistory: string[] | null; - onHistoryChange: (history: string[]) => void; -} - -interface CompassShellState { - height: number; - prevHeight: number; - isOperationInProgress: boolean; - showInfoModal: boolean; -} - -type ShellProps = React.ComponentProps; - -type ShellRef = Extract['ref'], { current: any }>; - -type ShellOutputEntry = Required['initialOutput'][number]; - -export class CompassShell extends Component< - CompassShellProps, - CompassShellState -> { - shellRef: ShellRef = React.createRef(); - shellOutput: readonly ShellOutputEntry[]; - - static defaultProps = { - runtime: null, - }; - constructor(props: CompassShellProps) { - super(props); - - this.shellOutput = this.props.shellOutput || []; - - this.state = { - height: shellHeightClosed, - prevHeight: defaultShellHeightOpened, - isOperationInProgress: false, - showInfoModal: false, - }; - } - - onShellOutputChanged = (output: readonly ShellOutputEntry[]) => { - this.shellOutput = output; - }; - - onOperationStarted = () => { - this.setState({ - isOperationInProgress: true, - }); - }; - - onOperationEnd = () => { - this.setState({ - isOperationInProgress: false, - }); - }; - - terminateRuntime = () => { - if (this.props.runtime) { - void this.props.runtime.terminate(); - } - }; - - updateHeight(height: number) { - if (height > shellMinHeightOpened) { - this.setState({ - height, - // Store the previous height to use when toggling open/close - // when we resize while the shell is expanded. - prevHeight: height, - }); - } else { - this.setState({ - height, - }); - } - } - - hideInfoModal() { - this.setState({ showInfoModal: false }); - } - - focusEditor() { - if (this.shellRef.current && window.getSelection()?.type !== 'Range') { - this.shellRef.current.focusEditor(); - } - } - - render() { - const { height, prevHeight, isOperationInProgress, showInfoModal } = - this.state; - - if ( - !this.props.enableShell || - !this.props.runtime || - !this.props.initialHistory - ) { - return
; - } - - const isExpanded = height > shellMinHeightOpened; - const renderedHeight = isExpanded - ? boundShellHeight(height) - : shellHeightClosed; - - return ( - - - {/* Clicking on the shell container to focus it is a ux improvement to give - the shell more of a native shell feeling. We disable the jsx-ally rules - as this is a unique ux improvement solely for clicking. */} - {/* eslint-disable jsx-a11y/no-static-element-interactions */} - {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */} -
- {/* eslint-enable jsx-a11y/no-static-element-interactions */} - this.updateHeight(newHeight)} - value={height} - minValue={shellHeightClosed} - maxValue={getMaxShellHeight()} - title="MongoDB Shell" - /> - - isExpanded - ? this.updateHeight(shellHeightClosed) - : this.updateHeight(prevHeight) - } - isOperationInProgress={isOperationInProgress} - showInfoModal={() => this.setState({ showInfoModal: true })} - /> -
- { - this.props.onHistoryChange([...history]); - }} - onOutputChanged={this.onShellOutputChanged} - onOperationStarted={this.onOperationStarted} - onOperationEnd={this.onOperationEnd} - /> -
-
-
- ); - } -} - -export default connect( - (state: RootState) => { - return { - runtime: selectRuntimeById(state), - initialHistory: state.history, - }; - }, - { onHistoryChange: saveHistory } -)(withPreferences(CompassShell, ['enableShell'])); diff --git a/packages/compass-shell/src/components/compass-shell/index.ts b/packages/compass-shell/src/components/compass-shell/index.ts index 26977b0d6c6..e69de29bb2d 100644 --- a/packages/compass-shell/src/components/compass-shell/index.ts +++ b/packages/compass-shell/src/components/compass-shell/index.ts @@ -1,4 +0,0 @@ -import MappedCompassShell, { CompassShell } from './compass-shell'; - -export default MappedCompassShell; -export { CompassShell }; diff --git a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx index 86eecef07f0..ebee2bb7539 100644 --- a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx +++ b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx @@ -55,9 +55,6 @@ type CompassShellProps = { onHistoryChange: (history: string[]) => void; initialEvaluate?: string | string[]; initialInput?: string; - isOperationInProgress: boolean; - onOperationStarted: () => void; - onOperationEnd: () => void; }; function useInitialEval(initialEvaluate?: string | string[]) { diff --git a/packages/compass-shell/src/plugin.tsx b/packages/compass-shell/src/plugin.tsx index 18da16ed490..1d70cf9ddc5 100644 --- a/packages/compass-shell/src/plugin.tsx +++ b/packages/compass-shell/src/plugin.tsx @@ -7,10 +7,8 @@ import type { DataService, } from '@mongodb-js/compass-connections/provider'; import type { PreferencesAccess } from 'compass-preferences-model'; -import { usePreference } from 'compass-preferences-model/provider'; import type { TrackFunction } from '@mongodb-js/compass-telemetry'; import TabShell from './components/compass-shell/tab-compass-shell'; -import Shell from './components/compass-shell/compass-shell'; import { applyMiddleware, createStore } from 'redux'; import reducer, { createAndStoreRuntime, @@ -29,13 +27,9 @@ type ShellPluginProps = { }; export function ShellPlugin(props: ShellPluginProps) { - const multiConnectionsEnabled = usePreference( - 'enableMultipleConnectionSystem' - ); - const ShellComponent = multiConnectionsEnabled ? TabShell : Shell; return ( - + ); } From aec4757e4c93d6a24c43545aaf9e0807f6cc81ad Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Thu, 12 Dec 2024 14:02:02 +0000 Subject: [PATCH 06/11] fix initial in progress --- .../compass-shell/tab-compass-shell.tsx | 36 +++++-------------- 1 file changed, 9 insertions(+), 27 deletions(-) diff --git a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx index ebee2bb7539..d7e7d45c74f 100644 --- a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx +++ b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx @@ -1,5 +1,5 @@ import { connect } from 'react-redux'; -import React, { useCallback, useEffect, useState } from 'react'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; import { useOnTabReplace, useTabState, @@ -68,23 +68,6 @@ function useInitialEval(initialEvaluate?: string | string[]) { return initialEvalApplied ? undefined : initialEvaluate; } -const normalizeInitialEvaluate = (initialEvaluate: string | string[]) => { - return ( - Array.isArray(initialEvaluate) ? initialEvaluate : [initialEvaluate] - ).filter((line) => { - // Filter out empty lines if passed by accident - return !!line; - }); -}; - -const isInitialEvaluateEmpty = ( - initialEvaluate?: string | string[] | undefined -) => { - return ( - !initialEvaluate || normalizeInitialEvaluate(initialEvaluate).length === 0 - ); -}; - export const CompassShell: React.FC = ({ runtime, initialHistory, @@ -92,15 +75,14 @@ export const CompassShell: React.FC = ({ initialEvaluate: _initialEvaluate, initialInput, }) => { + const editorRef = useRef(null); const initialEvaluate = useInitialEval(_initialEvaluate); - const [isOperationInProgress, setIsOperationInProgress] = useTabState( 'isOperationInProgress', - !isInitialEvaluateEmpty(initialEvaluate) + false ); const enableShell = usePreference('enableShell'); - const [editor, setEditor] = useState(null); const [infoModalVisible, setInfoModalVisible] = useState(false); const [shellOutput, setShellOutput] = useTabState( 'shellOutput', @@ -126,10 +108,10 @@ export const CompassShell: React.FC = ({ }, []); const focusEditor = useCallback(() => { - if (editor && window.getSelection()?.type !== 'Range') { - editor.focus(); + if (editorRef.current && window.getSelection()?.type !== 'Range') { + editorRef.current.focus(); } - }, [editor]); + }, []); const onOperationStarted = useCallback(() => { setIsOperationInProgress(true); @@ -143,9 +125,9 @@ export const CompassShell: React.FC = ({ useEffect(() => { return rafraf(() => { - editor?.focus(); + editorRef.current?.focus(); }); - }, [editor]); + }, []); if (!enableShell) { return ( @@ -203,7 +185,7 @@ export const CompassShell: React.FC = ({ onOperationStarted={onOperationStarted} onOperationEnd={onOperationEnd} isOperationInProgress={isOperationInProgress} - onEditorChanged={setEditor} + ref={editorRef} />
From 15b54e922a654bb1e6434eddae0f73d3ce7f9e43 Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Thu, 12 Dec 2024 15:57:49 +0000 Subject: [PATCH 07/11] fix initial evaluate --- .../compass-shell/tab-compass-shell.tsx | 33 ++++++++++++------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx index d7e7d45c74f..fc8d330988f 100644 --- a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx +++ b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx @@ -57,14 +57,20 @@ type CompassShellProps = { initialInput?: string; }; -function useInitialEval(initialEvaluate?: string | string[]) { +function useInitialEval( + initialEvaluate: string | string[] | undefined, + isRender: boolean +) { const [initialEvalApplied, setInitialEvalApplied] = useTabState( 'initialEvalApplied', false ); useEffect(() => { - setInitialEvalApplied(true); - }, [setInitialEvalApplied]); + // as soon as we render the first time, set it to true + if (isRender && !initialEvalApplied) { + setInitialEvalApplied(true); + } + }, [initialEvalApplied, setInitialEvalApplied, isRender]); return initialEvalApplied ? undefined : initialEvaluate; } @@ -75,14 +81,19 @@ export const CompassShell: React.FC = ({ initialEvaluate: _initialEvaluate, initialInput, }) => { + const enableShell = usePreference('enableShell'); + const canRenderShell = !!(enableShell && initialHistory && runtime); + + // initialEvaluate will only be set on the first render + const initialEvaluate = useInitialEval(_initialEvaluate, canRenderShell); + const editorRef = useRef(null); - const initialEvaluate = useInitialEval(_initialEvaluate); + const [isOperationInProgress, setIsOperationInProgress] = useTabState( 'isOperationInProgress', false ); - const enableShell = usePreference('enableShell'); const [infoModalVisible, setInfoModalVisible] = useState(false); const [shellOutput, setShellOutput] = useTabState( 'shellOutput', @@ -121,13 +132,13 @@ export const CompassShell: React.FC = ({ setIsOperationInProgress(false); }, [setIsOperationInProgress]); - const canRenderShell = enableShell && initialHistory && runtime; - useEffect(() => { - return rafraf(() => { - editorRef.current?.focus(); - }); - }, []); + if (canRenderShell) { + return rafraf(() => { + editorRef.current?.focus(); + }); + } + }, [canRenderShell]); if (!enableShell) { return ( From 088fa7e79e51f70ec164a641f6e71376cceca7bb Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Mon, 16 Dec 2024 13:21:00 +0000 Subject: [PATCH 08/11] bump mongosh to 2.3.6 --- package-lock.json | 798 ++++++++++++++-------------- packages/compass-shell/package.json | 6 +- packages/compass/package.json | 2 +- 3 files changed, 414 insertions(+), 392 deletions(-) diff --git a/package-lock.json b/package-lock.json index 77a4d67b834..596d024167a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8560,231 +8560,6 @@ "resolved": "configs/webpack-config-compass", "link": true }, - "node_modules/@mongosh/arg-parser": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.5.tgz", - "integrity": "sha512-4IvPU+dqy8x4eSImyR4qM6IRwwpIrZ5FB7uZUY3bW5sI57OEmckN2T/zYacv/bVqh3ubo2bShufjWKkOcLfc0g==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/errors": "2.3.5", - "@mongosh/i18n": "2.3.5", - "mongodb-connection-string-url": "^3.0.1" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/async-rewriter2": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.5.tgz", - "integrity": "sha512-duup1Uk/lTSXx1N+OH72RGpZOED5DVBMQYYYgIaUzMazr+R4jWSZDbKkxpqVLf6xWoJDs1qQrPpbOhEHZqn7lQ==", - "license": "Apache-2.0", - "dependencies": { - "@babel/core": "^7.22.8", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "bin": { - "async-rewrite": "bin/async-rewrite.js" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/autocomplete": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.5.tgz", - "integrity": "sha512-wCzi/wyc2S+VYYWdqARMcRtcB46fQRqDMpDYUIL7KGkkZHEPDciwlQzQB0G0AKUtWxlbcHpWujsFN09dsD0KzA==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/mongodb-constants": "^0.10.1", - "@mongosh/shell-api": "2.3.5", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/browser-repl": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.5.tgz", - "integrity": "sha512-OYj8GUNC7BuyfGHrzPVUvbXEzMBmwfz2oyS4e9EY0YeMCYTzKbytvTpvZFzgMSQIKNtYzb4II8+pewCEWmXvag==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/browser-runtime-core": "2.3.5", - "@mongosh/errors": "2.3.5", - "@mongosh/history": "2.3.5", - "@mongosh/i18n": "2.3.5", - "@mongosh/node-runtime-worker-thread": "2.3.5", - "@mongosh/service-provider-core": "2.3.5", - "numeral": "^2.0.6", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14.15.1" - }, - "peerDependencies": { - "@mongodb-js/compass-components": "*", - "@mongodb-js/compass-editor": "*", - "prop-types": "^15.7.2", - "react": "^17.0.2", - "react-dom": "^17.0.2" - } - }, - "node_modules/@mongosh/browser-repl/node_modules/numeral": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", - "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/@mongosh/browser-runtime-core": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.5.tgz", - "integrity": "sha512-eQeeA1C5O647AmZ03CyuJUBTwO1SFhLcxM7X9MNeDXmJAwRGqy+ixJhXn7OFH5jQIz2YlrbH2hotxPSE8WfEyQ==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/autocomplete": "2.3.5", - "@mongosh/service-provider-core": "2.3.5", - "@mongosh/shell-api": "2.3.5", - "@mongosh/shell-evaluator": "2.3.5" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/errors": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.5.tgz", - "integrity": "sha512-f6sSK+pLWJd3wKk7v81KqDDe4+q+RE2xSqxGoFvVM7I/8nEZAVsowC23/M4IhI+B5iF+5LFEKMP6NJxikvYAxg==", - "license": "Apache-2.0", - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/history": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.5.tgz", - "integrity": "sha512-BqTapuqx/FBQXyUrbMAc2APLuVu0gkDSmXEa17yYTMcRb3adG/HawZ6HWGZDrVoOVNG7HLoXGa1S1nd98vMyBw==", - "license": "Apache-2.0", - "dependencies": { - "mongodb-connection-string-url": "^3.0.1", - "mongodb-redact": "^1.1.2" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/i18n": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.5.tgz", - "integrity": "sha512-aodEz62l5zCd+TfpBTJSv0eOD1IBNkhXQpD+sYEWMCgdcKdnUufdgUeotoeLS1+0CTUIu33iW4mVoodf863EsQ==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/errors": "2.3.5" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/logging": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.5.tgz", - "integrity": "sha512-aR0r+foJ6cSk0WCyNg9uFO696LhCzmXQzTl2RTmQJxYGwmrsXBZmqe6MAeFQy85iL1uxKmP3B8yTXc7Z3GdZ5A==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/devtools-connect": "^3.3.4", - "@mongosh/errors": "2.3.5", - "@mongosh/history": "2.3.5", - "@mongosh/types": "2.3.5", - "mongodb-log-writer": "^1.4.2", - "mongodb-redact": "^1.1.2" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/node-runtime-worker-thread": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.5.tgz", - "integrity": "sha512-nouWJhGaANiRBvzJTHqHfwwd21rlbrKIfL/P7SUX7Jkh5i4nL7al2JJLerbSsa2ZB5yciGgrW9t+d+zEc+cmgg==", - "license": "Apache-2.0", - "dependencies": { - "interruptor": "^1.0.1", - "system-ca": "^2.0.1", - "web-worker": "^1.3.0" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/service-provider-core": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.5.tgz", - "integrity": "sha512-utlfhyXRSafJEbRZphagleQFHOVakFocnOGy0VOpbEAOVhr0wAu0Rm59XhiqHSuFG6rAcXZWkYW67dUqKX3QEw==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-providers": "^3.525.0", - "@mongosh/errors": "2.3.5", - "bson": "^6.10.1", - "mongodb": "^6.12.0", - "mongodb-build-info": "^1.7.2", - "mongodb-connection-string-url": "^3.0.1" - }, - "engines": { - "node": ">=14.15.1" - }, - "optionalDependencies": { - "mongodb-client-encryption": "^6.1.0" - } - }, - "node_modules/@mongosh/shell-api": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.5.tgz", - "integrity": "sha512-hCZvHOGVitmNV9lAWXVF4mtu7TNDo7QxyP5j4TdI6QaYeK+O0GfGQQu3me2OwvW1YDfQfEgVYeLvbVg68p35uQ==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/arg-parser": "2.3.5", - "@mongosh/errors": "2.3.5", - "@mongosh/history": "2.3.5", - "@mongosh/i18n": "2.3.5", - "@mongosh/service-provider-core": "2.3.5", - "mongodb-redact": "^1.1.2" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/shell-evaluator": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.5.tgz", - "integrity": "sha512-LZWfJQf5d9OPbZ1Zp0rORYTMN6pTHEwlAMBP5KHwJBWdWw863ASxunrbzlzseWOZub+DLVTBCuaTcgf6OTeNDg==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/async-rewriter2": "2.3.5", - "@mongosh/history": "2.3.5", - "@mongosh/shell-api": "2.3.5" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "node_modules/@mongosh/types": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.5.tgz", - "integrity": "sha512-Iu0KjYuz8oUaopk9bb9jH3XwXzx29PCym9aZfHvkJ1ZLF9cLfNzIexkXJpTn+7qR4btbjyaueVA83iNZNrWfcQ==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/devtools-connect": "^3.3.4" - }, - "engines": { - "node": ">=14.15.1" - } - }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -42467,7 +42242,7 @@ "hasInstallScript": true, "license": "SSPL", "dependencies": { - "@mongosh/node-runtime-worker-thread": "^2.3.4", + "@mongosh/node-runtime-worker-thread": "^2.3.6", "clipboard": "^2.0.6", "kerberos": "^2.2.0", "keytar": "^7.9.0", @@ -46061,9 +45836,9 @@ "@mongodb-js/compass-user-data": "^0.3.12", "@mongodb-js/compass-utils": "^0.6.16", "@mongodb-js/compass-workspaces": "^0.29.1", - "@mongosh/browser-repl": "^2.3.5", - "@mongosh/logging": "^2.3.5", - "@mongosh/node-runtime-worker-thread": "^2.3.5", + "@mongosh/browser-repl": "^2.3.6", + "@mongosh/logging": "^2.3.6", + "@mongosh/node-runtime-worker-thread": "^2.3.6", "bson": "^6.10.1", "compass-preferences-model": "^2.31.1", "hadron-app-registry": "^9.2.8", @@ -46092,6 +45867,222 @@ "typescript": "^5.0.4" } }, + "packages/compass-shell/node_modules/@mongosh/arg-parser": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.6.tgz", + "integrity": "sha512-JmJ3pBfed2BEFBWBqvgRLtRmiDMycO6wwI3atMGp19P4RXRa0dLj9gY6qcT7f95Ah1wFXeQUC0LdClZfBivVqg==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/errors": "2.3.6", + "@mongosh/i18n": "2.3.6", + "mongodb-connection-string-url": "^3.0.1" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/async-rewriter2": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.6.tgz", + "integrity": "sha512-Ne6LyIlRkBipKyrd+2+apdtLtyjg4bbCpPVbA1MBurPizVebbbBk/EASEiEOfsoCmQKMqITDYAAhtZJNMxJpYg==", + "license": "Apache-2.0", + "dependencies": { + "@babel/core": "^7.22.8", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "bin": { + "async-rewrite": "bin/async-rewrite.js" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/autocomplete": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.6.tgz", + "integrity": "sha512-bB0nNoX/auX1+hdXGNcSD60XPq3oegEOzCUY/wjlOw0dFm9iSCYkxuiSAqCN/FnYm37Kpk9bVkGvY/l+d6fhJA==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/mongodb-constants": "^0.10.1", + "@mongosh/shell-api": "2.3.6", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/browser-repl": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.6.tgz", + "integrity": "sha512-/3w1QH3/9B2qpi2cPCmqjDWMOMjTQhUOTIVbZzAyxDlYNXcVaoRo2hBu1shRcqHdC4iLSNrP/HvN6zWO62i/JQ==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/browser-runtime-core": "2.3.6", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/i18n": "2.3.6", + "@mongosh/node-runtime-worker-thread": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "numeral": "^2.0.6", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14.15.1" + }, + "peerDependencies": { + "@mongodb-js/compass-components": "*", + "@mongodb-js/compass-editor": "*", + "prop-types": "^15.7.2", + "react": "^17.0.2", + "react-dom": "^17.0.2" + } + }, + "packages/compass-shell/node_modules/@mongosh/browser-runtime-core": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.6.tgz", + "integrity": "sha512-Y89kL4EQkRIZmJYX2ukmtle7coTzsfCK1a6b+fGlU9V38SRemkuF46HB0bju/eVBkXjJYjzVWrrYTFtBT2lW7Q==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/autocomplete": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "@mongosh/shell-api": "2.3.6", + "@mongosh/shell-evaluator": "2.3.6" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/errors": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.6.tgz", + "integrity": "sha512-LF2n9WvwzJPRgaBZM9g3eMTX5TgX/PNtV6rYvpPLchzCBLbBObx2/w4/GZEVO/jy5VKLYwA/Ph8lfi+intdL7Q==", + "license": "Apache-2.0", + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/history": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.6.tgz", + "integrity": "sha512-43z4JHIPgiE1vYs9wyYmXJKyMCbpHFhcBoecJZJNrK6n3N3kk3VRnnYXItSi2rEFhGGQ8dxKWQ4Bq1475i/D6Q==", + "license": "Apache-2.0", + "dependencies": { + "mongodb-connection-string-url": "^3.0.1", + "mongodb-redact": "^1.1.2" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/i18n": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.6.tgz", + "integrity": "sha512-7M0c++OQbrOm5L5nAgQnRzQ3PvfFmFEzWaJsy+Vpka7CtLVh3l+H15UvImUG+0/2tZwtcQr1pXLWiKO24fUW7A==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/errors": "2.3.6" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/logging": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.6.tgz", + "integrity": "sha512-9pubWE6hu7wJfbQHO36lhshduQLagtFyjtWXECIPb+y8fhuc8jOeZ405D/T3F1UrKlQ+bTg+i+Ry0GlgA4itOw==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/devtools-connect": "^3.3.4", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/types": "2.3.6", + "mongodb-log-writer": "^1.4.2", + "mongodb-redact": "^1.1.2" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/node-runtime-worker-thread": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.6.tgz", + "integrity": "sha512-ouGCfthBHKIALa0pDZB8A6A4ajeXWTQr+HSzuiN9zjcztwksYke2SlF0dcOly5EZ3inDP6+EY6egIqxK10qV6w==", + "license": "Apache-2.0", + "dependencies": { + "interruptor": "^1.0.1", + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/service-provider-core": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.6.tgz", + "integrity": "sha512-YEl3bEVfxq9dtooh6QkVuzyUXIUiQppyXuB4pUFktvfz2/sF5K/CJGej0bIM6Uy4NJ01jepGzc+TLTyaZodJgg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-providers": "^3.525.0", + "@mongosh/errors": "2.3.6", + "bson": "^6.10.1", + "mongodb": "^6.12.0", + "mongodb-build-info": "^1.7.2", + "mongodb-connection-string-url": "^3.0.1" + }, + "engines": { + "node": ">=14.15.1" + }, + "optionalDependencies": { + "mongodb-client-encryption": "^6.1.0" + } + }, + "packages/compass-shell/node_modules/@mongosh/shell-api": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.6.tgz", + "integrity": "sha512-Ec+lP/ux7zqoVUDi8EUWXGU2gXsnVj7X5iMr7k3dp6sp19nDJ/GIEOePDktyKvkyNkdS+Zj1fmFjHHfSN023sg==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/arg-parser": "2.3.6", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/i18n": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "mongodb-redact": "^1.1.2" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/shell-evaluator": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.6.tgz", + "integrity": "sha512-khg6mXkHuSO0uowRMiKwIIRQeBc2D0geAF/6yc+h6ovPbM/p6W/VH8uneiQHmotbBRWAm/hWGHBtbrt24gq5rQ==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/async-rewriter2": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/shell-api": "2.3.6" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "packages/compass-shell/node_modules/@mongosh/types": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.6.tgz", + "integrity": "sha512-6pdK0rptAS/lE+/l00JYmXBfqgcYykYAh0wGygTgWdY262e0wQAX5AtwvwoucMWsAjH+npiVyNFw2w4gIJ7sgA==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/devtools-connect": "^3.3.4" + }, + "engines": { + "node": ">=14.15.1" + } + }, "packages/compass-shell/node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -46101,6 +46092,15 @@ "node": ">=0.3.1" } }, + "packages/compass-shell/node_modules/numeral": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", + "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "packages/compass-shell/node_modules/sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -46966,6 +46966,20 @@ "url": "https://opencollective.com/sinon" } }, + "packages/compass/node_modules/@mongosh/node-runtime-worker-thread": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.6.tgz", + "integrity": "sha512-ouGCfthBHKIALa0pDZB8A6A4ajeXWTQr+HSzuiN9zjcztwksYke2SlF0dcOly5EZ3inDP6+EY6egIqxK10qV6w==", + "license": "Apache-2.0", + "dependencies": { + "interruptor": "^1.0.1", + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" + }, + "engines": { + "node": ">=14.15.1" + } + }, "packages/compass/node_modules/debug": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", @@ -57222,9 +57236,9 @@ "@mongodb-js/prettier-config-compass": "^1.0.3", "@mongodb-js/testing-library-compass": "^1.0.3", "@mongodb-js/tsconfig-compass": "^1.0.6", - "@mongosh/browser-repl": "^2.3.5", - "@mongosh/logging": "^2.3.5", - "@mongosh/node-runtime-worker-thread": "^2.3.5", + "@mongosh/browser-repl": "^2.3.6", + "@mongosh/logging": "^2.3.6", + "@mongosh/node-runtime-worker-thread": "^2.3.6", "@types/enzyme": "^3.10.14", "bson": "^6.10.1", "chai": "^4.2.0", @@ -57246,12 +57260,165 @@ "typescript": "^5.0.4" }, "dependencies": { + "@mongosh/arg-parser": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.6.tgz", + "integrity": "sha512-JmJ3pBfed2BEFBWBqvgRLtRmiDMycO6wwI3atMGp19P4RXRa0dLj9gY6qcT7f95Ah1wFXeQUC0LdClZfBivVqg==", + "requires": { + "@mongosh/errors": "2.3.6", + "@mongosh/i18n": "2.3.6", + "mongodb-connection-string-url": "^3.0.1" + } + }, + "@mongosh/async-rewriter2": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.6.tgz", + "integrity": "sha512-Ne6LyIlRkBipKyrd+2+apdtLtyjg4bbCpPVbA1MBurPizVebbbBk/EASEiEOfsoCmQKMqITDYAAhtZJNMxJpYg==", + "requires": { + "@babel/core": "^7.22.8", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@mongosh/autocomplete": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.6.tgz", + "integrity": "sha512-bB0nNoX/auX1+hdXGNcSD60XPq3oegEOzCUY/wjlOw0dFm9iSCYkxuiSAqCN/FnYm37Kpk9bVkGvY/l+d6fhJA==", + "requires": { + "@mongodb-js/mongodb-constants": "^0.10.1", + "@mongosh/shell-api": "2.3.6", + "semver": "^7.5.4" + } + }, + "@mongosh/browser-repl": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.6.tgz", + "integrity": "sha512-/3w1QH3/9B2qpi2cPCmqjDWMOMjTQhUOTIVbZzAyxDlYNXcVaoRo2hBu1shRcqHdC4iLSNrP/HvN6zWO62i/JQ==", + "requires": { + "@mongosh/browser-runtime-core": "2.3.6", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/i18n": "2.3.6", + "@mongosh/node-runtime-worker-thread": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "numeral": "^2.0.6", + "text-table": "^0.2.0" + } + }, + "@mongosh/browser-runtime-core": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.6.tgz", + "integrity": "sha512-Y89kL4EQkRIZmJYX2ukmtle7coTzsfCK1a6b+fGlU9V38SRemkuF46HB0bju/eVBkXjJYjzVWrrYTFtBT2lW7Q==", + "requires": { + "@mongosh/autocomplete": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "@mongosh/shell-api": "2.3.6", + "@mongosh/shell-evaluator": "2.3.6" + } + }, + "@mongosh/errors": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.6.tgz", + "integrity": "sha512-LF2n9WvwzJPRgaBZM9g3eMTX5TgX/PNtV6rYvpPLchzCBLbBObx2/w4/GZEVO/jy5VKLYwA/Ph8lfi+intdL7Q==" + }, + "@mongosh/history": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.6.tgz", + "integrity": "sha512-43z4JHIPgiE1vYs9wyYmXJKyMCbpHFhcBoecJZJNrK6n3N3kk3VRnnYXItSi2rEFhGGQ8dxKWQ4Bq1475i/D6Q==", + "requires": { + "mongodb-connection-string-url": "^3.0.1", + "mongodb-redact": "^1.1.2" + } + }, + "@mongosh/i18n": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.6.tgz", + "integrity": "sha512-7M0c++OQbrOm5L5nAgQnRzQ3PvfFmFEzWaJsy+Vpka7CtLVh3l+H15UvImUG+0/2tZwtcQr1pXLWiKO24fUW7A==", + "requires": { + "@mongosh/errors": "2.3.6" + } + }, + "@mongosh/logging": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.6.tgz", + "integrity": "sha512-9pubWE6hu7wJfbQHO36lhshduQLagtFyjtWXECIPb+y8fhuc8jOeZ405D/T3F1UrKlQ+bTg+i+Ry0GlgA4itOw==", + "requires": { + "@mongodb-js/devtools-connect": "^3.3.4", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/types": "2.3.6", + "mongodb-log-writer": "^1.4.2", + "mongodb-redact": "^1.1.2" + } + }, + "@mongosh/node-runtime-worker-thread": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.6.tgz", + "integrity": "sha512-ouGCfthBHKIALa0pDZB8A6A4ajeXWTQr+HSzuiN9zjcztwksYke2SlF0dcOly5EZ3inDP6+EY6egIqxK10qV6w==", + "requires": { + "interruptor": "^1.0.1", + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" + } + }, + "@mongosh/service-provider-core": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.6.tgz", + "integrity": "sha512-YEl3bEVfxq9dtooh6QkVuzyUXIUiQppyXuB4pUFktvfz2/sF5K/CJGej0bIM6Uy4NJ01jepGzc+TLTyaZodJgg==", + "requires": { + "@aws-sdk/credential-providers": "^3.525.0", + "@mongosh/errors": "2.3.6", + "bson": "^6.10.1", + "mongodb": "^6.12.0", + "mongodb-build-info": "^1.7.2", + "mongodb-client-encryption": "^6.1.0", + "mongodb-connection-string-url": "^3.0.1" + } + }, + "@mongosh/shell-api": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.6.tgz", + "integrity": "sha512-Ec+lP/ux7zqoVUDi8EUWXGU2gXsnVj7X5iMr7k3dp6sp19nDJ/GIEOePDktyKvkyNkdS+Zj1fmFjHHfSN023sg==", + "requires": { + "@mongosh/arg-parser": "2.3.6", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/i18n": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "mongodb-redact": "^1.1.2" + } + }, + "@mongosh/shell-evaluator": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.6.tgz", + "integrity": "sha512-khg6mXkHuSO0uowRMiKwIIRQeBc2D0geAF/6yc+h6ovPbM/p6W/VH8uneiQHmotbBRWAm/hWGHBtbrt24gq5rQ==", + "requires": { + "@mongosh/async-rewriter2": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/shell-api": "2.3.6" + } + }, + "@mongosh/types": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.6.tgz", + "integrity": "sha512-6pdK0rptAS/lE+/l00JYmXBfqgcYykYAh0wGygTgWdY262e0wQAX5AtwvwoucMWsAjH+npiVyNFw2w4gIJ7sgA==", + "requires": { + "@mongodb-js/devtools-connect": "^3.3.4" + } + }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, + "numeral": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", + "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==" + }, "sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -59605,161 +59772,6 @@ } } }, - "@mongosh/arg-parser": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.5.tgz", - "integrity": "sha512-4IvPU+dqy8x4eSImyR4qM6IRwwpIrZ5FB7uZUY3bW5sI57OEmckN2T/zYacv/bVqh3ubo2bShufjWKkOcLfc0g==", - "requires": { - "@mongosh/errors": "2.3.5", - "@mongosh/i18n": "2.3.5", - "mongodb-connection-string-url": "^3.0.1" - } - }, - "@mongosh/async-rewriter2": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.5.tgz", - "integrity": "sha512-duup1Uk/lTSXx1N+OH72RGpZOED5DVBMQYYYgIaUzMazr+R4jWSZDbKkxpqVLf6xWoJDs1qQrPpbOhEHZqn7lQ==", - "requires": { - "@babel/core": "^7.22.8", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@mongosh/autocomplete": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.5.tgz", - "integrity": "sha512-wCzi/wyc2S+VYYWdqARMcRtcB46fQRqDMpDYUIL7KGkkZHEPDciwlQzQB0G0AKUtWxlbcHpWujsFN09dsD0KzA==", - "requires": { - "@mongodb-js/mongodb-constants": "^0.10.1", - "@mongosh/shell-api": "2.3.5", - "semver": "^7.5.4" - } - }, - "@mongosh/browser-repl": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.5.tgz", - "integrity": "sha512-OYj8GUNC7BuyfGHrzPVUvbXEzMBmwfz2oyS4e9EY0YeMCYTzKbytvTpvZFzgMSQIKNtYzb4II8+pewCEWmXvag==", - "requires": { - "@mongosh/browser-runtime-core": "2.3.5", - "@mongosh/errors": "2.3.5", - "@mongosh/history": "2.3.5", - "@mongosh/i18n": "2.3.5", - "@mongosh/node-runtime-worker-thread": "2.3.5", - "@mongosh/service-provider-core": "2.3.5", - "numeral": "^2.0.6", - "text-table": "^0.2.0" - }, - "dependencies": { - "numeral": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", - "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==" - } - } - }, - "@mongosh/browser-runtime-core": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.5.tgz", - "integrity": "sha512-eQeeA1C5O647AmZ03CyuJUBTwO1SFhLcxM7X9MNeDXmJAwRGqy+ixJhXn7OFH5jQIz2YlrbH2hotxPSE8WfEyQ==", - "requires": { - "@mongosh/autocomplete": "2.3.5", - "@mongosh/service-provider-core": "2.3.5", - "@mongosh/shell-api": "2.3.5", - "@mongosh/shell-evaluator": "2.3.5" - } - }, - "@mongosh/errors": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.5.tgz", - "integrity": "sha512-f6sSK+pLWJd3wKk7v81KqDDe4+q+RE2xSqxGoFvVM7I/8nEZAVsowC23/M4IhI+B5iF+5LFEKMP6NJxikvYAxg==" - }, - "@mongosh/history": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.5.tgz", - "integrity": "sha512-BqTapuqx/FBQXyUrbMAc2APLuVu0gkDSmXEa17yYTMcRb3adG/HawZ6HWGZDrVoOVNG7HLoXGa1S1nd98vMyBw==", - "requires": { - "mongodb-connection-string-url": "^3.0.1", - "mongodb-redact": "^1.1.2" - } - }, - "@mongosh/i18n": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.5.tgz", - "integrity": "sha512-aodEz62l5zCd+TfpBTJSv0eOD1IBNkhXQpD+sYEWMCgdcKdnUufdgUeotoeLS1+0CTUIu33iW4mVoodf863EsQ==", - "requires": { - "@mongosh/errors": "2.3.5" - } - }, - "@mongosh/logging": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.5.tgz", - "integrity": "sha512-aR0r+foJ6cSk0WCyNg9uFO696LhCzmXQzTl2RTmQJxYGwmrsXBZmqe6MAeFQy85iL1uxKmP3B8yTXc7Z3GdZ5A==", - "requires": { - "@mongodb-js/devtools-connect": "^3.3.4", - "@mongosh/errors": "2.3.5", - "@mongosh/history": "2.3.5", - "@mongosh/types": "2.3.5", - "mongodb-log-writer": "^1.4.2", - "mongodb-redact": "^1.1.2" - } - }, - "@mongosh/node-runtime-worker-thread": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.5.tgz", - "integrity": "sha512-nouWJhGaANiRBvzJTHqHfwwd21rlbrKIfL/P7SUX7Jkh5i4nL7al2JJLerbSsa2ZB5yciGgrW9t+d+zEc+cmgg==", - "requires": { - "interruptor": "^1.0.1", - "system-ca": "^2.0.1", - "web-worker": "^1.3.0" - } - }, - "@mongosh/service-provider-core": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.5.tgz", - "integrity": "sha512-utlfhyXRSafJEbRZphagleQFHOVakFocnOGy0VOpbEAOVhr0wAu0Rm59XhiqHSuFG6rAcXZWkYW67dUqKX3QEw==", - "requires": { - "@aws-sdk/credential-providers": "^3.525.0", - "@mongosh/errors": "2.3.5", - "bson": "^6.10.1", - "mongodb": "^6.12.0", - "mongodb-build-info": "^1.7.2", - "mongodb-client-encryption": "^6.1.0", - "mongodb-connection-string-url": "^3.0.1" - } - }, - "@mongosh/shell-api": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.5.tgz", - "integrity": "sha512-hCZvHOGVitmNV9lAWXVF4mtu7TNDo7QxyP5j4TdI6QaYeK+O0GfGQQu3me2OwvW1YDfQfEgVYeLvbVg68p35uQ==", - "requires": { - "@mongosh/arg-parser": "2.3.5", - "@mongosh/errors": "2.3.5", - "@mongosh/history": "2.3.5", - "@mongosh/i18n": "2.3.5", - "@mongosh/service-provider-core": "2.3.5", - "mongodb-redact": "^1.1.2" - } - }, - "@mongosh/shell-evaluator": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.5.tgz", - "integrity": "sha512-LZWfJQf5d9OPbZ1Zp0rORYTMN6pTHEwlAMBP5KHwJBWdWw863ASxunrbzlzseWOZub+DLVTBCuaTcgf6OTeNDg==", - "requires": { - "@mongosh/async-rewriter2": "2.3.5", - "@mongosh/history": "2.3.5", - "@mongosh/shell-api": "2.3.5" - } - }, - "@mongosh/types": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.5.tgz", - "integrity": "sha512-Iu0KjYuz8oUaopk9bb9jH3XwXzx29PCym9aZfHvkJ1ZLF9cLfNzIexkXJpTn+7qR4btbjyaueVA83iNZNrWfcQ==", - "requires": { - "@mongodb-js/devtools-connect": "^3.3.4" - } - }, "@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -79017,7 +79029,7 @@ "@mongodb-js/testing-library-compass": "^1.0.3", "@mongodb-js/tsconfig-compass": "^1.0.6", "@mongodb-js/webpack-config-compass": "^1.4.8", - "@mongosh/node-runtime-worker-thread": "^2.3.4", + "@mongosh/node-runtime-worker-thread": "^2.3.6", "@segment/analytics-node": "^1.1.4", "ampersand-view": "^9.0.0", "chai": "^4.3.4", @@ -79067,6 +79079,16 @@ "winreg-ts": "^1.0.4" }, "dependencies": { + "@mongosh/node-runtime-worker-thread": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.6.tgz", + "integrity": "sha512-ouGCfthBHKIALa0pDZB8A6A4ajeXWTQr+HSzuiN9zjcztwksYke2SlF0dcOly5EZ3inDP6+EY6egIqxK10qV6w==", + "requires": { + "interruptor": "^1.0.1", + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" + } + }, "debug": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", diff --git a/packages/compass-shell/package.json b/packages/compass-shell/package.json index 3f9cc389e89..713a9f359dc 100644 --- a/packages/compass-shell/package.json +++ b/packages/compass-shell/package.json @@ -56,9 +56,9 @@ "@mongodb-js/compass-user-data": "^0.3.12", "@mongodb-js/compass-utils": "^0.6.16", "@mongodb-js/compass-workspaces": "^0.29.1", - "@mongosh/browser-repl": "^2.3.5", - "@mongosh/logging": "^2.3.5", - "@mongosh/node-runtime-worker-thread": "^2.3.5", + "@mongosh/browser-repl": "^2.3.6", + "@mongosh/logging": "^2.3.6", + "@mongosh/node-runtime-worker-thread": "^2.3.6", "bson": "^6.10.1", "compass-preferences-model": "^2.31.1", "hadron-app-registry": "^9.2.8", diff --git a/packages/compass/package.json b/packages/compass/package.json index a3e8176e97e..59573839877 100644 --- a/packages/compass/package.json +++ b/packages/compass/package.json @@ -179,7 +179,7 @@ "email": "compass@mongodb.com" }, "dependencies": { - "@mongosh/node-runtime-worker-thread": "^2.3.4", + "@mongosh/node-runtime-worker-thread": "^2.3.6", "clipboard": "^2.0.6", "kerberos": "^2.2.0", "keytar": "^7.9.0", From a58abac85323248357a42b71c100eafb28b5045d Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Mon, 16 Dec 2024 13:36:30 +0000 Subject: [PATCH 09/11] don't unhoist --- package-lock.json | 1007 ++++++++++++++++++++++----------------------- 1 file changed, 493 insertions(+), 514 deletions(-) diff --git a/package-lock.json b/package-lock.json index 596d024167a..9bae06d3247 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1084,17 +1084,17 @@ "license": "0BSD" }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.709.0.tgz", - "integrity": "sha512-I5a8ilF+jKAz6fmOOuHy2UEcod9ikRGBjACcC6ayxs4z4VqTnWynD6ALKvtUR3lk1Ur6nzAG1tTm/qAYKKmyBg==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.712.0.tgz", + "integrity": "sha512-Xb+6S5QzFhKin9gOIKjvFhvP13AffH5oq0v/e0yQO0JckSLuph9+du/CHcobPqkxJpzyreeDltD7+Yu/l9RmIg==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.709.0", - "@aws-sdk/client-sts": "3.709.0", + "@aws-sdk/client-sso-oidc": "3.712.0", + "@aws-sdk/client-sts": "3.712.0", "@aws-sdk/core": "3.709.0", - "@aws-sdk/credential-provider-node": "3.709.0", + "@aws-sdk/credential-provider-node": "3.712.0", "@aws-sdk/middleware-host-header": "3.709.0", "@aws-sdk/middleware-logger": "3.709.0", "@aws-sdk/middleware-recursion-detection": "3.709.0", @@ -1103,7 +1103,7 @@ "@aws-sdk/types": "3.709.0", "@aws-sdk/util-endpoints": "3.709.0", "@aws-sdk/util-user-agent-browser": "3.709.0", - "@aws-sdk/util-user-agent-node": "3.709.0", + "@aws-sdk/util-user-agent-node": "3.712.0", "@smithy/config-resolver": "^3.0.13", "@smithy/core": "^2.5.5", "@smithy/fetch-http-handler": "^4.1.2", @@ -1142,9 +1142,9 @@ "license": "0BSD" }, "node_modules/@aws-sdk/client-sso": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.709.0.tgz", - "integrity": "sha512-Qxeo8cN0jNy6Wnbqq4wucffAGJM6sJjofoTgNtPA6cC7sPYx7aYC6OAAAo6NaMRY+WywOKdS9Wgjx2QYRxKx7w==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.712.0.tgz", + "integrity": "sha512-tBo/eW3YpZ9f3Q1qA7aA8uliNFJJX0OP7R2IUJ8t6rqVTk15wWCEPNmXzUZKgruDnKUfCaF4+r9q/Yy4fBc9PA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -1158,7 +1158,7 @@ "@aws-sdk/types": "3.709.0", "@aws-sdk/util-endpoints": "3.709.0", "@aws-sdk/util-user-agent-browser": "3.709.0", - "@aws-sdk/util-user-agent-node": "3.709.0", + "@aws-sdk/util-user-agent-node": "3.712.0", "@smithy/config-resolver": "^3.0.13", "@smithy/core": "^2.5.5", "@smithy/fetch-http-handler": "^4.1.2", @@ -1191,15 +1191,15 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.709.0.tgz", - "integrity": "sha512-1w6egz17QQy661lNCRmZZlqIANEbD6g2VFAQIJbVwSiu7brg+GUns+mT1eLLLHAMQc1sL0Ds8/ybSK2SrgGgIA==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.712.0.tgz", + "integrity": "sha512-xNFrG9syrG6pxUP7Ld/nu3afQ9+rbJM9qrE+wDNz4VnNZ3vLiJty4fH85zBFhOQ5OF2DIJTWsFzXGi2FYjsCMA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.709.0", - "@aws-sdk/credential-provider-node": "3.709.0", + "@aws-sdk/credential-provider-node": "3.712.0", "@aws-sdk/middleware-host-header": "3.709.0", "@aws-sdk/middleware-logger": "3.709.0", "@aws-sdk/middleware-recursion-detection": "3.709.0", @@ -1208,7 +1208,7 @@ "@aws-sdk/types": "3.709.0", "@aws-sdk/util-endpoints": "3.709.0", "@aws-sdk/util-user-agent-browser": "3.709.0", - "@aws-sdk/util-user-agent-node": "3.709.0", + "@aws-sdk/util-user-agent-node": "3.712.0", "@smithy/config-resolver": "^3.0.13", "@smithy/core": "^2.5.5", "@smithy/fetch-http-handler": "^4.1.2", @@ -1240,7 +1240,7 @@ "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.709.0" + "@aws-sdk/client-sts": "^3.712.0" } }, "node_modules/@aws-sdk/client-sso-oidc/node_modules/tslib": { @@ -1256,16 +1256,16 @@ "license": "0BSD" }, "node_modules/@aws-sdk/client-sts": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.709.0.tgz", - "integrity": "sha512-cBAvlPg6yslXNL385UUGFPw+XY+lA9BzioNdIFkMo3fEUlTShogTtiWz4LsyLHoN6LhKojssP9DSmmWKWjCZIw==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.712.0.tgz", + "integrity": "sha512-gIO6BD+hkEe3GKQhbiFP0zcNQv0EkP1Cl9SOstxS+X9CeudEgVX/xEPUjyoFVkfkntPBJ1g0I1u5xOzzRExl4g==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.709.0", + "@aws-sdk/client-sso-oidc": "3.712.0", "@aws-sdk/core": "3.709.0", - "@aws-sdk/credential-provider-node": "3.709.0", + "@aws-sdk/credential-provider-node": "3.712.0", "@aws-sdk/middleware-host-header": "3.709.0", "@aws-sdk/middleware-logger": "3.709.0", "@aws-sdk/middleware-recursion-detection": "3.709.0", @@ -1274,7 +1274,7 @@ "@aws-sdk/types": "3.709.0", "@aws-sdk/util-endpoints": "3.709.0", "@aws-sdk/util-user-agent-browser": "3.709.0", - "@aws-sdk/util-user-agent-node": "3.709.0", + "@aws-sdk/util-user-agent-node": "3.712.0", "@smithy/config-resolver": "^3.0.13", "@smithy/core": "^2.5.5", "@smithy/fetch-http-handler": "^4.1.2", @@ -1341,12 +1341,12 @@ "license": "0BSD" }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.709.0.tgz", - "integrity": "sha512-WLzDcYo7pob8fPeeOhgVqYuV21uUKWb1RobITQzZhv0ZSToIl1KjuyRQsznC23Sot9CFl+0V2QLFFNwRiIuH7w==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.712.0.tgz", + "integrity": "sha512-sUUaw4PK9LQNGGytVpz659w4rWwdhfsZ4AMns0smnWfNVmmDAOtDMUTzNUxYmXhWt4+iS4cXfQqmUAdKqIhlsw==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-cognito-identity": "3.709.0", + "@aws-sdk/client-cognito-identity": "3.712.0", "@aws-sdk/types": "3.709.0", "@smithy/property-provider": "^3.1.11", "@smithy/types": "^3.7.2", @@ -1412,16 +1412,16 @@ "license": "0BSD" }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.709.0.tgz", - "integrity": "sha512-qCF8IIGcPoUp+Ib3ANhbF5gElxFd+kIrtv2/1tKdvhudMANstQbMiWV0LTH47ZZR6c3as4iSrm09NZnpEoD/pA==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.712.0.tgz", + "integrity": "sha512-sTsdQ/Fm/suqMdpjhMuss/5uKL18vcuWnNTQVrG9iGNRqZLbq65MXquwbUpgzfoUmIcH+4CrY6H2ebpTIECIag==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "3.709.0", "@aws-sdk/credential-provider-env": "3.709.0", "@aws-sdk/credential-provider-http": "3.709.0", "@aws-sdk/credential-provider-process": "3.709.0", - "@aws-sdk/credential-provider-sso": "3.709.0", + "@aws-sdk/credential-provider-sso": "3.712.0", "@aws-sdk/credential-provider-web-identity": "3.709.0", "@aws-sdk/types": "3.709.0", "@smithy/credential-provider-imds": "^3.2.8", @@ -1434,7 +1434,7 @@ "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.709.0" + "@aws-sdk/client-sts": "^3.712.0" } }, "node_modules/@aws-sdk/credential-provider-ini/node_modules/tslib": { @@ -1444,16 +1444,16 @@ "license": "0BSD" }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.709.0.tgz", - "integrity": "sha512-4HRX9KYWPSjO5O/Vg03YAsebKpvTjTvpK1n7zHYBmlLMBLxUrVsL1nNKKC5p2/7OW3RL8XR1ki3QkoV7kGRxUQ==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.712.0.tgz", + "integrity": "sha512-gXrHymW3rMRYORkPVQwL8Gi5Lu92F16SoZR543x03qCi7rm00oL9tRD85ACxkhprS1Wh8lUIUMNoeiwnYWTNuQ==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/credential-provider-env": "3.709.0", "@aws-sdk/credential-provider-http": "3.709.0", - "@aws-sdk/credential-provider-ini": "3.709.0", + "@aws-sdk/credential-provider-ini": "3.712.0", "@aws-sdk/credential-provider-process": "3.709.0", - "@aws-sdk/credential-provider-sso": "3.709.0", + "@aws-sdk/credential-provider-sso": "3.712.0", "@aws-sdk/credential-provider-web-identity": "3.709.0", "@aws-sdk/types": "3.709.0", "@smithy/credential-provider-imds": "^3.2.8", @@ -1496,12 +1496,12 @@ "license": "0BSD" }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.709.0.tgz", - "integrity": "sha512-rYdTDOxazS2GdGScelsRK5CAkktRLCCdRjlwXaxrcW57j749hEqxcF5uTv9RD6WBwInfedcSywErNZB+hylQlg==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.712.0.tgz", + "integrity": "sha512-8lCMxY7Lb9VK9qdlNXRJXE3W1UDVURnJZ3a4XWYNY6yr1TfQaN40mMyXX1oNlXXJtMV0szRvjM8dZj37E/ESAw==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-sso": "3.709.0", + "@aws-sdk/client-sso": "3.712.0", "@aws-sdk/core": "3.709.0", "@aws-sdk/token-providers": "3.709.0", "@aws-sdk/types": "3.709.0", @@ -1546,22 +1546,22 @@ "license": "0BSD" }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.709.0.tgz", - "integrity": "sha512-v1OfAWhYhAz7XPtjWlQ3jDLZHCpuNrLP2bRWTEjRty8yZLN92ANehincULUGvUNszFO8rfpq2g4dmtk8XmqTzA==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.712.0.tgz", + "integrity": "sha512-7U/pIx1T2IjysoskFRglZAThoxewKw6HoZS/SJT3hLusa/uuYuno1Y1nmCr0ojsl9NB7Jm4PIK3yJUZDDgy+Ng==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-cognito-identity": "3.709.0", - "@aws-sdk/client-sso": "3.709.0", - "@aws-sdk/client-sts": "3.709.0", + "@aws-sdk/client-cognito-identity": "3.712.0", + "@aws-sdk/client-sso": "3.712.0", + "@aws-sdk/client-sts": "3.712.0", "@aws-sdk/core": "3.709.0", - "@aws-sdk/credential-provider-cognito-identity": "3.709.0", + "@aws-sdk/credential-provider-cognito-identity": "3.712.0", "@aws-sdk/credential-provider-env": "3.709.0", "@aws-sdk/credential-provider-http": "3.709.0", - "@aws-sdk/credential-provider-ini": "3.709.0", - "@aws-sdk/credential-provider-node": "3.709.0", + "@aws-sdk/credential-provider-ini": "3.712.0", + "@aws-sdk/credential-provider-node": "3.712.0", "@aws-sdk/credential-provider-process": "3.709.0", - "@aws-sdk/credential-provider-sso": "3.709.0", + "@aws-sdk/credential-provider-sso": "3.712.0", "@aws-sdk/credential-provider-web-identity": "3.709.0", "@aws-sdk/types": "3.709.0", "@smithy/credential-provider-imds": "^3.2.8", @@ -1790,9 +1790,9 @@ "license": "0BSD" }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.709.0.tgz", - "integrity": "sha512-trBfzSCVWy7ILgqhEXgiuM7hfRCw4F4a8IK90tjk9YL0jgoJ6eJuOp7+DfCtHJaygoBxD3cdMFkOu+lluFmGBA==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.712.0.tgz", + "integrity": "sha512-26X21bZ4FWsVpqs33uOXiB60TOWQdVlr7T7XONDFL/XN7GEpUJkWuuIB4PTok6VOmh1viYcdxZQqekXPuzXexQ==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/middleware-user-agent": "3.709.0", @@ -8560,6 +8560,231 @@ "resolved": "configs/webpack-config-compass", "link": true }, + "node_modules/@mongosh/arg-parser": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.6.tgz", + "integrity": "sha512-JmJ3pBfed2BEFBWBqvgRLtRmiDMycO6wwI3atMGp19P4RXRa0dLj9gY6qcT7f95Ah1wFXeQUC0LdClZfBivVqg==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/errors": "2.3.6", + "@mongosh/i18n": "2.3.6", + "mongodb-connection-string-url": "^3.0.1" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/async-rewriter2": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.6.tgz", + "integrity": "sha512-Ne6LyIlRkBipKyrd+2+apdtLtyjg4bbCpPVbA1MBurPizVebbbBk/EASEiEOfsoCmQKMqITDYAAhtZJNMxJpYg==", + "license": "Apache-2.0", + "dependencies": { + "@babel/core": "^7.22.8", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "bin": { + "async-rewrite": "bin/async-rewrite.js" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/autocomplete": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.6.tgz", + "integrity": "sha512-bB0nNoX/auX1+hdXGNcSD60XPq3oegEOzCUY/wjlOw0dFm9iSCYkxuiSAqCN/FnYm37Kpk9bVkGvY/l+d6fhJA==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/mongodb-constants": "^0.10.1", + "@mongosh/shell-api": "2.3.6", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/browser-repl": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.6.tgz", + "integrity": "sha512-/3w1QH3/9B2qpi2cPCmqjDWMOMjTQhUOTIVbZzAyxDlYNXcVaoRo2hBu1shRcqHdC4iLSNrP/HvN6zWO62i/JQ==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/browser-runtime-core": "2.3.6", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/i18n": "2.3.6", + "@mongosh/node-runtime-worker-thread": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "numeral": "^2.0.6", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14.15.1" + }, + "peerDependencies": { + "@mongodb-js/compass-components": "*", + "@mongodb-js/compass-editor": "*", + "prop-types": "^15.7.2", + "react": "^17.0.2", + "react-dom": "^17.0.2" + } + }, + "node_modules/@mongosh/browser-repl/node_modules/numeral": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", + "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/@mongosh/browser-runtime-core": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.6.tgz", + "integrity": "sha512-Y89kL4EQkRIZmJYX2ukmtle7coTzsfCK1a6b+fGlU9V38SRemkuF46HB0bju/eVBkXjJYjzVWrrYTFtBT2lW7Q==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/autocomplete": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "@mongosh/shell-api": "2.3.6", + "@mongosh/shell-evaluator": "2.3.6" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/errors": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.6.tgz", + "integrity": "sha512-LF2n9WvwzJPRgaBZM9g3eMTX5TgX/PNtV6rYvpPLchzCBLbBObx2/w4/GZEVO/jy5VKLYwA/Ph8lfi+intdL7Q==", + "license": "Apache-2.0", + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/history": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.6.tgz", + "integrity": "sha512-43z4JHIPgiE1vYs9wyYmXJKyMCbpHFhcBoecJZJNrK6n3N3kk3VRnnYXItSi2rEFhGGQ8dxKWQ4Bq1475i/D6Q==", + "license": "Apache-2.0", + "dependencies": { + "mongodb-connection-string-url": "^3.0.1", + "mongodb-redact": "^1.1.2" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/i18n": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.6.tgz", + "integrity": "sha512-7M0c++OQbrOm5L5nAgQnRzQ3PvfFmFEzWaJsy+Vpka7CtLVh3l+H15UvImUG+0/2tZwtcQr1pXLWiKO24fUW7A==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/errors": "2.3.6" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/logging": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.6.tgz", + "integrity": "sha512-9pubWE6hu7wJfbQHO36lhshduQLagtFyjtWXECIPb+y8fhuc8jOeZ405D/T3F1UrKlQ+bTg+i+Ry0GlgA4itOw==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/devtools-connect": "^3.3.4", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/types": "2.3.6", + "mongodb-log-writer": "^1.4.2", + "mongodb-redact": "^1.1.2" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/node-runtime-worker-thread": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.6.tgz", + "integrity": "sha512-ouGCfthBHKIALa0pDZB8A6A4ajeXWTQr+HSzuiN9zjcztwksYke2SlF0dcOly5EZ3inDP6+EY6egIqxK10qV6w==", + "license": "Apache-2.0", + "dependencies": { + "interruptor": "^1.0.1", + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/service-provider-core": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.6.tgz", + "integrity": "sha512-YEl3bEVfxq9dtooh6QkVuzyUXIUiQppyXuB4pUFktvfz2/sF5K/CJGej0bIM6Uy4NJ01jepGzc+TLTyaZodJgg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-providers": "^3.525.0", + "@mongosh/errors": "2.3.6", + "bson": "^6.10.1", + "mongodb": "^6.12.0", + "mongodb-build-info": "^1.7.2", + "mongodb-connection-string-url": "^3.0.1" + }, + "engines": { + "node": ">=14.15.1" + }, + "optionalDependencies": { + "mongodb-client-encryption": "^6.1.0" + } + }, + "node_modules/@mongosh/shell-api": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.6.tgz", + "integrity": "sha512-Ec+lP/ux7zqoVUDi8EUWXGU2gXsnVj7X5iMr7k3dp6sp19nDJ/GIEOePDktyKvkyNkdS+Zj1fmFjHHfSN023sg==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/arg-parser": "2.3.6", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/i18n": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "mongodb-redact": "^1.1.2" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/shell-evaluator": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.6.tgz", + "integrity": "sha512-khg6mXkHuSO0uowRMiKwIIRQeBc2D0geAF/6yc+h6ovPbM/p6W/VH8uneiQHmotbBRWAm/hWGHBtbrt24gq5rQ==", + "license": "Apache-2.0", + "dependencies": { + "@mongosh/async-rewriter2": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/shell-api": "2.3.6" + }, + "engines": { + "node": ">=14.15.1" + } + }, + "node_modules/@mongosh/types": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.6.tgz", + "integrity": "sha512-6pdK0rptAS/lE+/l00JYmXBfqgcYykYAh0wGygTgWdY262e0wQAX5AtwvwoucMWsAjH+npiVyNFw2w4gIJ7sgA==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/devtools-connect": "^3.3.4" + }, + "engines": { + "node": ">=14.15.1" + } + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -25501,6 +25726,7 @@ "resolved": "https://registry.npmjs.org/interruptor/-/interruptor-1.0.2.tgz", "integrity": "sha512-sn7EmHLEsE0sFn/0xShWiyd7SUDQaZV9MIWpdm2jnnC1vGRAmZeywv2m+AOtZde6zUTZFLaQnlf1SCIGu7kQWA==", "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "bindings": "^1.5.0" }, @@ -31149,9 +31375,9 @@ "link": true }, "node_modules/mongodb-redact": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-1.1.3.tgz", - "integrity": "sha512-rMw3JlgJ1WhTYUlztojIJ+PGO4sQuwQmsbs1YY60Qf+jPHiDfP10YF//BvpVfy5lKRxAYZmgRTL/fLj1bUbIAg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-1.1.4.tgz", + "integrity": "sha512-UZT53VPCYq2W8KwlCBJGZHYo3k9eKhUZGZhhLfDqjiL64PnnR0Wp+LeaqsBdZtnV8BGiBGW8jPn87V1uStFqSg==", "license": "Apache-2.0", "dependencies": { "lodash": "^4.17.21" @@ -45867,222 +46093,6 @@ "typescript": "^5.0.4" } }, - "packages/compass-shell/node_modules/@mongosh/arg-parser": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.6.tgz", - "integrity": "sha512-JmJ3pBfed2BEFBWBqvgRLtRmiDMycO6wwI3atMGp19P4RXRa0dLj9gY6qcT7f95Ah1wFXeQUC0LdClZfBivVqg==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/errors": "2.3.6", - "@mongosh/i18n": "2.3.6", - "mongodb-connection-string-url": "^3.0.1" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/async-rewriter2": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.6.tgz", - "integrity": "sha512-Ne6LyIlRkBipKyrd+2+apdtLtyjg4bbCpPVbA1MBurPizVebbbBk/EASEiEOfsoCmQKMqITDYAAhtZJNMxJpYg==", - "license": "Apache-2.0", - "dependencies": { - "@babel/core": "^7.22.8", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "bin": { - "async-rewrite": "bin/async-rewrite.js" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/autocomplete": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.6.tgz", - "integrity": "sha512-bB0nNoX/auX1+hdXGNcSD60XPq3oegEOzCUY/wjlOw0dFm9iSCYkxuiSAqCN/FnYm37Kpk9bVkGvY/l+d6fhJA==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/mongodb-constants": "^0.10.1", - "@mongosh/shell-api": "2.3.6", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/browser-repl": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.6.tgz", - "integrity": "sha512-/3w1QH3/9B2qpi2cPCmqjDWMOMjTQhUOTIVbZzAyxDlYNXcVaoRo2hBu1shRcqHdC4iLSNrP/HvN6zWO62i/JQ==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/browser-runtime-core": "2.3.6", - "@mongosh/errors": "2.3.6", - "@mongosh/history": "2.3.6", - "@mongosh/i18n": "2.3.6", - "@mongosh/node-runtime-worker-thread": "2.3.6", - "@mongosh/service-provider-core": "2.3.6", - "numeral": "^2.0.6", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14.15.1" - }, - "peerDependencies": { - "@mongodb-js/compass-components": "*", - "@mongodb-js/compass-editor": "*", - "prop-types": "^15.7.2", - "react": "^17.0.2", - "react-dom": "^17.0.2" - } - }, - "packages/compass-shell/node_modules/@mongosh/browser-runtime-core": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.6.tgz", - "integrity": "sha512-Y89kL4EQkRIZmJYX2ukmtle7coTzsfCK1a6b+fGlU9V38SRemkuF46HB0bju/eVBkXjJYjzVWrrYTFtBT2lW7Q==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/autocomplete": "2.3.6", - "@mongosh/service-provider-core": "2.3.6", - "@mongosh/shell-api": "2.3.6", - "@mongosh/shell-evaluator": "2.3.6" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/errors": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.6.tgz", - "integrity": "sha512-LF2n9WvwzJPRgaBZM9g3eMTX5TgX/PNtV6rYvpPLchzCBLbBObx2/w4/GZEVO/jy5VKLYwA/Ph8lfi+intdL7Q==", - "license": "Apache-2.0", - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/history": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.6.tgz", - "integrity": "sha512-43z4JHIPgiE1vYs9wyYmXJKyMCbpHFhcBoecJZJNrK6n3N3kk3VRnnYXItSi2rEFhGGQ8dxKWQ4Bq1475i/D6Q==", - "license": "Apache-2.0", - "dependencies": { - "mongodb-connection-string-url": "^3.0.1", - "mongodb-redact": "^1.1.2" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/i18n": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.6.tgz", - "integrity": "sha512-7M0c++OQbrOm5L5nAgQnRzQ3PvfFmFEzWaJsy+Vpka7CtLVh3l+H15UvImUG+0/2tZwtcQr1pXLWiKO24fUW7A==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/errors": "2.3.6" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/logging": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.6.tgz", - "integrity": "sha512-9pubWE6hu7wJfbQHO36lhshduQLagtFyjtWXECIPb+y8fhuc8jOeZ405D/T3F1UrKlQ+bTg+i+Ry0GlgA4itOw==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/devtools-connect": "^3.3.4", - "@mongosh/errors": "2.3.6", - "@mongosh/history": "2.3.6", - "@mongosh/types": "2.3.6", - "mongodb-log-writer": "^1.4.2", - "mongodb-redact": "^1.1.2" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/node-runtime-worker-thread": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.6.tgz", - "integrity": "sha512-ouGCfthBHKIALa0pDZB8A6A4ajeXWTQr+HSzuiN9zjcztwksYke2SlF0dcOly5EZ3inDP6+EY6egIqxK10qV6w==", - "license": "Apache-2.0", - "dependencies": { - "interruptor": "^1.0.1", - "system-ca": "^2.0.1", - "web-worker": "^1.3.0" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/service-provider-core": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.6.tgz", - "integrity": "sha512-YEl3bEVfxq9dtooh6QkVuzyUXIUiQppyXuB4pUFktvfz2/sF5K/CJGej0bIM6Uy4NJ01jepGzc+TLTyaZodJgg==", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-providers": "^3.525.0", - "@mongosh/errors": "2.3.6", - "bson": "^6.10.1", - "mongodb": "^6.12.0", - "mongodb-build-info": "^1.7.2", - "mongodb-connection-string-url": "^3.0.1" - }, - "engines": { - "node": ">=14.15.1" - }, - "optionalDependencies": { - "mongodb-client-encryption": "^6.1.0" - } - }, - "packages/compass-shell/node_modules/@mongosh/shell-api": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.6.tgz", - "integrity": "sha512-Ec+lP/ux7zqoVUDi8EUWXGU2gXsnVj7X5iMr7k3dp6sp19nDJ/GIEOePDktyKvkyNkdS+Zj1fmFjHHfSN023sg==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/arg-parser": "2.3.6", - "@mongosh/errors": "2.3.6", - "@mongosh/history": "2.3.6", - "@mongosh/i18n": "2.3.6", - "@mongosh/service-provider-core": "2.3.6", - "mongodb-redact": "^1.1.2" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/shell-evaluator": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.6.tgz", - "integrity": "sha512-khg6mXkHuSO0uowRMiKwIIRQeBc2D0geAF/6yc+h6ovPbM/p6W/VH8uneiQHmotbBRWAm/hWGHBtbrt24gq5rQ==", - "license": "Apache-2.0", - "dependencies": { - "@mongosh/async-rewriter2": "2.3.6", - "@mongosh/history": "2.3.6", - "@mongosh/shell-api": "2.3.6" - }, - "engines": { - "node": ">=14.15.1" - } - }, - "packages/compass-shell/node_modules/@mongosh/types": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.6.tgz", - "integrity": "sha512-6pdK0rptAS/lE+/l00JYmXBfqgcYykYAh0wGygTgWdY262e0wQAX5AtwvwoucMWsAjH+npiVyNFw2w4gIJ7sgA==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/devtools-connect": "^3.3.4" - }, - "engines": { - "node": ">=14.15.1" - } - }, "packages/compass-shell/node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -46092,15 +46102,6 @@ "node": ">=0.3.1" } }, - "packages/compass-shell/node_modules/numeral": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", - "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==", - "license": "MIT", - "engines": { - "node": "*" - } - }, "packages/compass-shell/node_modules/sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -46966,20 +46967,6 @@ "url": "https://opencollective.com/sinon" } }, - "packages/compass/node_modules/@mongosh/node-runtime-worker-thread": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.6.tgz", - "integrity": "sha512-ouGCfthBHKIALa0pDZB8A6A4ajeXWTQr+HSzuiN9zjcztwksYke2SlF0dcOly5EZ3inDP6+EY6egIqxK10qV6w==", - "license": "Apache-2.0", - "dependencies": { - "interruptor": "^1.0.1", - "system-ca": "^2.0.1", - "web-worker": "^1.3.0" - }, - "engines": { - "node": ">=14.15.1" - } - }, "packages/compass/node_modules/debug": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", @@ -50024,16 +50011,16 @@ } }, "@aws-sdk/client-cognito-identity": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.709.0.tgz", - "integrity": "sha512-I5a8ilF+jKAz6fmOOuHy2UEcod9ikRGBjACcC6ayxs4z4VqTnWynD6ALKvtUR3lk1Ur6nzAG1tTm/qAYKKmyBg==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.712.0.tgz", + "integrity": "sha512-Xb+6S5QzFhKin9gOIKjvFhvP13AffH5oq0v/e0yQO0JckSLuph9+du/CHcobPqkxJpzyreeDltD7+Yu/l9RmIg==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.709.0", - "@aws-sdk/client-sts": "3.709.0", + "@aws-sdk/client-sso-oidc": "3.712.0", + "@aws-sdk/client-sts": "3.712.0", "@aws-sdk/core": "3.709.0", - "@aws-sdk/credential-provider-node": "3.709.0", + "@aws-sdk/credential-provider-node": "3.712.0", "@aws-sdk/middleware-host-header": "3.709.0", "@aws-sdk/middleware-logger": "3.709.0", "@aws-sdk/middleware-recursion-detection": "3.709.0", @@ -50042,7 +50029,7 @@ "@aws-sdk/types": "3.709.0", "@aws-sdk/util-endpoints": "3.709.0", "@aws-sdk/util-user-agent-browser": "3.709.0", - "@aws-sdk/util-user-agent-node": "3.709.0", + "@aws-sdk/util-user-agent-node": "3.712.0", "@smithy/config-resolver": "^3.0.13", "@smithy/core": "^2.5.5", "@smithy/fetch-http-handler": "^4.1.2", @@ -50079,9 +50066,9 @@ } }, "@aws-sdk/client-sso": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.709.0.tgz", - "integrity": "sha512-Qxeo8cN0jNy6Wnbqq4wucffAGJM6sJjofoTgNtPA6cC7sPYx7aYC6OAAAo6NaMRY+WywOKdS9Wgjx2QYRxKx7w==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.712.0.tgz", + "integrity": "sha512-tBo/eW3YpZ9f3Q1qA7aA8uliNFJJX0OP7R2IUJ8t6rqVTk15wWCEPNmXzUZKgruDnKUfCaF4+r9q/Yy4fBc9PA==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", @@ -50094,7 +50081,7 @@ "@aws-sdk/types": "3.709.0", "@aws-sdk/util-endpoints": "3.709.0", "@aws-sdk/util-user-agent-browser": "3.709.0", - "@aws-sdk/util-user-agent-node": "3.709.0", + "@aws-sdk/util-user-agent-node": "3.712.0", "@smithy/config-resolver": "^3.0.13", "@smithy/core": "^2.5.5", "@smithy/fetch-http-handler": "^4.1.2", @@ -50131,14 +50118,14 @@ } }, "@aws-sdk/client-sso-oidc": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.709.0.tgz", - "integrity": "sha512-1w6egz17QQy661lNCRmZZlqIANEbD6g2VFAQIJbVwSiu7brg+GUns+mT1eLLLHAMQc1sL0Ds8/ybSK2SrgGgIA==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.712.0.tgz", + "integrity": "sha512-xNFrG9syrG6pxUP7Ld/nu3afQ9+rbJM9qrE+wDNz4VnNZ3vLiJty4fH85zBFhOQ5OF2DIJTWsFzXGi2FYjsCMA==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", "@aws-sdk/core": "3.709.0", - "@aws-sdk/credential-provider-node": "3.709.0", + "@aws-sdk/credential-provider-node": "3.712.0", "@aws-sdk/middleware-host-header": "3.709.0", "@aws-sdk/middleware-logger": "3.709.0", "@aws-sdk/middleware-recursion-detection": "3.709.0", @@ -50147,7 +50134,7 @@ "@aws-sdk/types": "3.709.0", "@aws-sdk/util-endpoints": "3.709.0", "@aws-sdk/util-user-agent-browser": "3.709.0", - "@aws-sdk/util-user-agent-node": "3.709.0", + "@aws-sdk/util-user-agent-node": "3.712.0", "@smithy/config-resolver": "^3.0.13", "@smithy/core": "^2.5.5", "@smithy/fetch-http-handler": "^4.1.2", @@ -50184,15 +50171,15 @@ } }, "@aws-sdk/client-sts": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.709.0.tgz", - "integrity": "sha512-cBAvlPg6yslXNL385UUGFPw+XY+lA9BzioNdIFkMo3fEUlTShogTtiWz4LsyLHoN6LhKojssP9DSmmWKWjCZIw==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.712.0.tgz", + "integrity": "sha512-gIO6BD+hkEe3GKQhbiFP0zcNQv0EkP1Cl9SOstxS+X9CeudEgVX/xEPUjyoFVkfkntPBJ1g0I1u5xOzzRExl4g==", "requires": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.709.0", + "@aws-sdk/client-sso-oidc": "3.712.0", "@aws-sdk/core": "3.709.0", - "@aws-sdk/credential-provider-node": "3.709.0", + "@aws-sdk/credential-provider-node": "3.712.0", "@aws-sdk/middleware-host-header": "3.709.0", "@aws-sdk/middleware-logger": "3.709.0", "@aws-sdk/middleware-recursion-detection": "3.709.0", @@ -50201,7 +50188,7 @@ "@aws-sdk/types": "3.709.0", "@aws-sdk/util-endpoints": "3.709.0", "@aws-sdk/util-user-agent-browser": "3.709.0", - "@aws-sdk/util-user-agent-node": "3.709.0", + "@aws-sdk/util-user-agent-node": "3.712.0", "@smithy/config-resolver": "^3.0.13", "@smithy/core": "^2.5.5", "@smithy/fetch-http-handler": "^4.1.2", @@ -50263,11 +50250,11 @@ } }, "@aws-sdk/credential-provider-cognito-identity": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.709.0.tgz", - "integrity": "sha512-WLzDcYo7pob8fPeeOhgVqYuV21uUKWb1RobITQzZhv0ZSToIl1KjuyRQsznC23Sot9CFl+0V2QLFFNwRiIuH7w==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.712.0.tgz", + "integrity": "sha512-sUUaw4PK9LQNGGytVpz659w4rWwdhfsZ4AMns0smnWfNVmmDAOtDMUTzNUxYmXhWt4+iS4cXfQqmUAdKqIhlsw==", "requires": { - "@aws-sdk/client-cognito-identity": "3.709.0", + "@aws-sdk/client-cognito-identity": "3.712.0", "@aws-sdk/types": "3.709.0", "@smithy/property-provider": "^3.1.11", "@smithy/types": "^3.7.2", @@ -50325,15 +50312,15 @@ } }, "@aws-sdk/credential-provider-ini": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.709.0.tgz", - "integrity": "sha512-qCF8IIGcPoUp+Ib3ANhbF5gElxFd+kIrtv2/1tKdvhudMANstQbMiWV0LTH47ZZR6c3as4iSrm09NZnpEoD/pA==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.712.0.tgz", + "integrity": "sha512-sTsdQ/Fm/suqMdpjhMuss/5uKL18vcuWnNTQVrG9iGNRqZLbq65MXquwbUpgzfoUmIcH+4CrY6H2ebpTIECIag==", "requires": { "@aws-sdk/core": "3.709.0", "@aws-sdk/credential-provider-env": "3.709.0", "@aws-sdk/credential-provider-http": "3.709.0", "@aws-sdk/credential-provider-process": "3.709.0", - "@aws-sdk/credential-provider-sso": "3.709.0", + "@aws-sdk/credential-provider-sso": "3.712.0", "@aws-sdk/credential-provider-web-identity": "3.709.0", "@aws-sdk/types": "3.709.0", "@smithy/credential-provider-imds": "^3.2.8", @@ -50351,15 +50338,15 @@ } }, "@aws-sdk/credential-provider-node": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.709.0.tgz", - "integrity": "sha512-4HRX9KYWPSjO5O/Vg03YAsebKpvTjTvpK1n7zHYBmlLMBLxUrVsL1nNKKC5p2/7OW3RL8XR1ki3QkoV7kGRxUQ==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.712.0.tgz", + "integrity": "sha512-gXrHymW3rMRYORkPVQwL8Gi5Lu92F16SoZR543x03qCi7rm00oL9tRD85ACxkhprS1Wh8lUIUMNoeiwnYWTNuQ==", "requires": { "@aws-sdk/credential-provider-env": "3.709.0", "@aws-sdk/credential-provider-http": "3.709.0", - "@aws-sdk/credential-provider-ini": "3.709.0", + "@aws-sdk/credential-provider-ini": "3.712.0", "@aws-sdk/credential-provider-process": "3.709.0", - "@aws-sdk/credential-provider-sso": "3.709.0", + "@aws-sdk/credential-provider-sso": "3.712.0", "@aws-sdk/credential-provider-web-identity": "3.709.0", "@aws-sdk/types": "3.709.0", "@smithy/credential-provider-imds": "^3.2.8", @@ -50397,11 +50384,11 @@ } }, "@aws-sdk/credential-provider-sso": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.709.0.tgz", - "integrity": "sha512-rYdTDOxazS2GdGScelsRK5CAkktRLCCdRjlwXaxrcW57j749hEqxcF5uTv9RD6WBwInfedcSywErNZB+hylQlg==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.712.0.tgz", + "integrity": "sha512-8lCMxY7Lb9VK9qdlNXRJXE3W1UDVURnJZ3a4XWYNY6yr1TfQaN40mMyXX1oNlXXJtMV0szRvjM8dZj37E/ESAw==", "requires": { - "@aws-sdk/client-sso": "3.709.0", + "@aws-sdk/client-sso": "3.712.0", "@aws-sdk/core": "3.709.0", "@aws-sdk/token-providers": "3.709.0", "@aws-sdk/types": "3.709.0", @@ -50438,21 +50425,21 @@ } }, "@aws-sdk/credential-providers": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.709.0.tgz", - "integrity": "sha512-v1OfAWhYhAz7XPtjWlQ3jDLZHCpuNrLP2bRWTEjRty8yZLN92ANehincULUGvUNszFO8rfpq2g4dmtk8XmqTzA==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.712.0.tgz", + "integrity": "sha512-7U/pIx1T2IjysoskFRglZAThoxewKw6HoZS/SJT3hLusa/uuYuno1Y1nmCr0ojsl9NB7Jm4PIK3yJUZDDgy+Ng==", "requires": { - "@aws-sdk/client-cognito-identity": "3.709.0", - "@aws-sdk/client-sso": "3.709.0", - "@aws-sdk/client-sts": "3.709.0", + "@aws-sdk/client-cognito-identity": "3.712.0", + "@aws-sdk/client-sso": "3.712.0", + "@aws-sdk/client-sts": "3.712.0", "@aws-sdk/core": "3.709.0", - "@aws-sdk/credential-provider-cognito-identity": "3.709.0", + "@aws-sdk/credential-provider-cognito-identity": "3.712.0", "@aws-sdk/credential-provider-env": "3.709.0", "@aws-sdk/credential-provider-http": "3.709.0", - "@aws-sdk/credential-provider-ini": "3.709.0", - "@aws-sdk/credential-provider-node": "3.709.0", + "@aws-sdk/credential-provider-ini": "3.712.0", + "@aws-sdk/credential-provider-node": "3.712.0", "@aws-sdk/credential-provider-process": "3.709.0", - "@aws-sdk/credential-provider-sso": "3.709.0", + "@aws-sdk/credential-provider-sso": "3.712.0", "@aws-sdk/credential-provider-web-identity": "3.709.0", "@aws-sdk/types": "3.709.0", "@smithy/credential-provider-imds": "^3.2.8", @@ -50649,9 +50636,9 @@ } }, "@aws-sdk/util-user-agent-node": { - "version": "3.709.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.709.0.tgz", - "integrity": "sha512-trBfzSCVWy7ILgqhEXgiuM7hfRCw4F4a8IK90tjk9YL0jgoJ6eJuOp7+DfCtHJaygoBxD3cdMFkOu+lluFmGBA==", + "version": "3.712.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.712.0.tgz", + "integrity": "sha512-26X21bZ4FWsVpqs33uOXiB60TOWQdVlr7T7XONDFL/XN7GEpUJkWuuIB4PTok6VOmh1viYcdxZQqekXPuzXexQ==", "requires": { "@aws-sdk/middleware-user-agent": "3.709.0", "@aws-sdk/types": "3.709.0", @@ -57260,165 +57247,12 @@ "typescript": "^5.0.4" }, "dependencies": { - "@mongosh/arg-parser": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.6.tgz", - "integrity": "sha512-JmJ3pBfed2BEFBWBqvgRLtRmiDMycO6wwI3atMGp19P4RXRa0dLj9gY6qcT7f95Ah1wFXeQUC0LdClZfBivVqg==", - "requires": { - "@mongosh/errors": "2.3.6", - "@mongosh/i18n": "2.3.6", - "mongodb-connection-string-url": "^3.0.1" - } - }, - "@mongosh/async-rewriter2": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.6.tgz", - "integrity": "sha512-Ne6LyIlRkBipKyrd+2+apdtLtyjg4bbCpPVbA1MBurPizVebbbBk/EASEiEOfsoCmQKMqITDYAAhtZJNMxJpYg==", - "requires": { - "@babel/core": "^7.22.8", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@mongosh/autocomplete": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.6.tgz", - "integrity": "sha512-bB0nNoX/auX1+hdXGNcSD60XPq3oegEOzCUY/wjlOw0dFm9iSCYkxuiSAqCN/FnYm37Kpk9bVkGvY/l+d6fhJA==", - "requires": { - "@mongodb-js/mongodb-constants": "^0.10.1", - "@mongosh/shell-api": "2.3.6", - "semver": "^7.5.4" - } - }, - "@mongosh/browser-repl": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.6.tgz", - "integrity": "sha512-/3w1QH3/9B2qpi2cPCmqjDWMOMjTQhUOTIVbZzAyxDlYNXcVaoRo2hBu1shRcqHdC4iLSNrP/HvN6zWO62i/JQ==", - "requires": { - "@mongosh/browser-runtime-core": "2.3.6", - "@mongosh/errors": "2.3.6", - "@mongosh/history": "2.3.6", - "@mongosh/i18n": "2.3.6", - "@mongosh/node-runtime-worker-thread": "2.3.6", - "@mongosh/service-provider-core": "2.3.6", - "numeral": "^2.0.6", - "text-table": "^0.2.0" - } - }, - "@mongosh/browser-runtime-core": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.6.tgz", - "integrity": "sha512-Y89kL4EQkRIZmJYX2ukmtle7coTzsfCK1a6b+fGlU9V38SRemkuF46HB0bju/eVBkXjJYjzVWrrYTFtBT2lW7Q==", - "requires": { - "@mongosh/autocomplete": "2.3.6", - "@mongosh/service-provider-core": "2.3.6", - "@mongosh/shell-api": "2.3.6", - "@mongosh/shell-evaluator": "2.3.6" - } - }, - "@mongosh/errors": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.6.tgz", - "integrity": "sha512-LF2n9WvwzJPRgaBZM9g3eMTX5TgX/PNtV6rYvpPLchzCBLbBObx2/w4/GZEVO/jy5VKLYwA/Ph8lfi+intdL7Q==" - }, - "@mongosh/history": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.6.tgz", - "integrity": "sha512-43z4JHIPgiE1vYs9wyYmXJKyMCbpHFhcBoecJZJNrK6n3N3kk3VRnnYXItSi2rEFhGGQ8dxKWQ4Bq1475i/D6Q==", - "requires": { - "mongodb-connection-string-url": "^3.0.1", - "mongodb-redact": "^1.1.2" - } - }, - "@mongosh/i18n": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.6.tgz", - "integrity": "sha512-7M0c++OQbrOm5L5nAgQnRzQ3PvfFmFEzWaJsy+Vpka7CtLVh3l+H15UvImUG+0/2tZwtcQr1pXLWiKO24fUW7A==", - "requires": { - "@mongosh/errors": "2.3.6" - } - }, - "@mongosh/logging": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.6.tgz", - "integrity": "sha512-9pubWE6hu7wJfbQHO36lhshduQLagtFyjtWXECIPb+y8fhuc8jOeZ405D/T3F1UrKlQ+bTg+i+Ry0GlgA4itOw==", - "requires": { - "@mongodb-js/devtools-connect": "^3.3.4", - "@mongosh/errors": "2.3.6", - "@mongosh/history": "2.3.6", - "@mongosh/types": "2.3.6", - "mongodb-log-writer": "^1.4.2", - "mongodb-redact": "^1.1.2" - } - }, - "@mongosh/node-runtime-worker-thread": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.6.tgz", - "integrity": "sha512-ouGCfthBHKIALa0pDZB8A6A4ajeXWTQr+HSzuiN9zjcztwksYke2SlF0dcOly5EZ3inDP6+EY6egIqxK10qV6w==", - "requires": { - "interruptor": "^1.0.1", - "system-ca": "^2.0.1", - "web-worker": "^1.3.0" - } - }, - "@mongosh/service-provider-core": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.6.tgz", - "integrity": "sha512-YEl3bEVfxq9dtooh6QkVuzyUXIUiQppyXuB4pUFktvfz2/sF5K/CJGej0bIM6Uy4NJ01jepGzc+TLTyaZodJgg==", - "requires": { - "@aws-sdk/credential-providers": "^3.525.0", - "@mongosh/errors": "2.3.6", - "bson": "^6.10.1", - "mongodb": "^6.12.0", - "mongodb-build-info": "^1.7.2", - "mongodb-client-encryption": "^6.1.0", - "mongodb-connection-string-url": "^3.0.1" - } - }, - "@mongosh/shell-api": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.6.tgz", - "integrity": "sha512-Ec+lP/ux7zqoVUDi8EUWXGU2gXsnVj7X5iMr7k3dp6sp19nDJ/GIEOePDktyKvkyNkdS+Zj1fmFjHHfSN023sg==", - "requires": { - "@mongosh/arg-parser": "2.3.6", - "@mongosh/errors": "2.3.6", - "@mongosh/history": "2.3.6", - "@mongosh/i18n": "2.3.6", - "@mongosh/service-provider-core": "2.3.6", - "mongodb-redact": "^1.1.2" - } - }, - "@mongosh/shell-evaluator": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.6.tgz", - "integrity": "sha512-khg6mXkHuSO0uowRMiKwIIRQeBc2D0geAF/6yc+h6ovPbM/p6W/VH8uneiQHmotbBRWAm/hWGHBtbrt24gq5rQ==", - "requires": { - "@mongosh/async-rewriter2": "2.3.6", - "@mongosh/history": "2.3.6", - "@mongosh/shell-api": "2.3.6" - } - }, - "@mongosh/types": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.6.tgz", - "integrity": "sha512-6pdK0rptAS/lE+/l00JYmXBfqgcYykYAh0wGygTgWdY262e0wQAX5AtwvwoucMWsAjH+npiVyNFw2w4gIJ7sgA==", - "requires": { - "@mongodb-js/devtools-connect": "^3.3.4" - } - }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true }, - "numeral": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", - "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==" - }, "sinon": { "version": "9.2.4", "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.2.4.tgz", @@ -59772,6 +59606,161 @@ } } }, + "@mongosh/arg-parser": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/arg-parser/-/arg-parser-2.3.6.tgz", + "integrity": "sha512-JmJ3pBfed2BEFBWBqvgRLtRmiDMycO6wwI3atMGp19P4RXRa0dLj9gY6qcT7f95Ah1wFXeQUC0LdClZfBivVqg==", + "requires": { + "@mongosh/errors": "2.3.6", + "@mongosh/i18n": "2.3.6", + "mongodb-connection-string-url": "^3.0.1" + } + }, + "@mongosh/async-rewriter2": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/async-rewriter2/-/async-rewriter2-2.3.6.tgz", + "integrity": "sha512-Ne6LyIlRkBipKyrd+2+apdtLtyjg4bbCpPVbA1MBurPizVebbbBk/EASEiEOfsoCmQKMqITDYAAhtZJNMxJpYg==", + "requires": { + "@babel/core": "^7.22.8", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@mongosh/autocomplete": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/autocomplete/-/autocomplete-2.3.6.tgz", + "integrity": "sha512-bB0nNoX/auX1+hdXGNcSD60XPq3oegEOzCUY/wjlOw0dFm9iSCYkxuiSAqCN/FnYm37Kpk9bVkGvY/l+d6fhJA==", + "requires": { + "@mongodb-js/mongodb-constants": "^0.10.1", + "@mongosh/shell-api": "2.3.6", + "semver": "^7.5.4" + } + }, + "@mongosh/browser-repl": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/browser-repl/-/browser-repl-2.3.6.tgz", + "integrity": "sha512-/3w1QH3/9B2qpi2cPCmqjDWMOMjTQhUOTIVbZzAyxDlYNXcVaoRo2hBu1shRcqHdC4iLSNrP/HvN6zWO62i/JQ==", + "requires": { + "@mongosh/browser-runtime-core": "2.3.6", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/i18n": "2.3.6", + "@mongosh/node-runtime-worker-thread": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "numeral": "^2.0.6", + "text-table": "^0.2.0" + }, + "dependencies": { + "numeral": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", + "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==" + } + } + }, + "@mongosh/browser-runtime-core": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/browser-runtime-core/-/browser-runtime-core-2.3.6.tgz", + "integrity": "sha512-Y89kL4EQkRIZmJYX2ukmtle7coTzsfCK1a6b+fGlU9V38SRemkuF46HB0bju/eVBkXjJYjzVWrrYTFtBT2lW7Q==", + "requires": { + "@mongosh/autocomplete": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "@mongosh/shell-api": "2.3.6", + "@mongosh/shell-evaluator": "2.3.6" + } + }, + "@mongosh/errors": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/errors/-/errors-2.3.6.tgz", + "integrity": "sha512-LF2n9WvwzJPRgaBZM9g3eMTX5TgX/PNtV6rYvpPLchzCBLbBObx2/w4/GZEVO/jy5VKLYwA/Ph8lfi+intdL7Q==" + }, + "@mongosh/history": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/history/-/history-2.3.6.tgz", + "integrity": "sha512-43z4JHIPgiE1vYs9wyYmXJKyMCbpHFhcBoecJZJNrK6n3N3kk3VRnnYXItSi2rEFhGGQ8dxKWQ4Bq1475i/D6Q==", + "requires": { + "mongodb-connection-string-url": "^3.0.1", + "mongodb-redact": "^1.1.2" + } + }, + "@mongosh/i18n": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/i18n/-/i18n-2.3.6.tgz", + "integrity": "sha512-7M0c++OQbrOm5L5nAgQnRzQ3PvfFmFEzWaJsy+Vpka7CtLVh3l+H15UvImUG+0/2tZwtcQr1pXLWiKO24fUW7A==", + "requires": { + "@mongosh/errors": "2.3.6" + } + }, + "@mongosh/logging": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/logging/-/logging-2.3.6.tgz", + "integrity": "sha512-9pubWE6hu7wJfbQHO36lhshduQLagtFyjtWXECIPb+y8fhuc8jOeZ405D/T3F1UrKlQ+bTg+i+Ry0GlgA4itOw==", + "requires": { + "@mongodb-js/devtools-connect": "^3.3.4", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/types": "2.3.6", + "mongodb-log-writer": "^1.4.2", + "mongodb-redact": "^1.1.2" + } + }, + "@mongosh/node-runtime-worker-thread": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.6.tgz", + "integrity": "sha512-ouGCfthBHKIALa0pDZB8A6A4ajeXWTQr+HSzuiN9zjcztwksYke2SlF0dcOly5EZ3inDP6+EY6egIqxK10qV6w==", + "requires": { + "interruptor": "^1.0.1", + "system-ca": "^2.0.1", + "web-worker": "^1.3.0" + } + }, + "@mongosh/service-provider-core": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/service-provider-core/-/service-provider-core-2.3.6.tgz", + "integrity": "sha512-YEl3bEVfxq9dtooh6QkVuzyUXIUiQppyXuB4pUFktvfz2/sF5K/CJGej0bIM6Uy4NJ01jepGzc+TLTyaZodJgg==", + "requires": { + "@aws-sdk/credential-providers": "^3.525.0", + "@mongosh/errors": "2.3.6", + "bson": "^6.10.1", + "mongodb": "^6.12.0", + "mongodb-build-info": "^1.7.2", + "mongodb-client-encryption": "^6.1.0", + "mongodb-connection-string-url": "^3.0.1" + } + }, + "@mongosh/shell-api": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/shell-api/-/shell-api-2.3.6.tgz", + "integrity": "sha512-Ec+lP/ux7zqoVUDi8EUWXGU2gXsnVj7X5iMr7k3dp6sp19nDJ/GIEOePDktyKvkyNkdS+Zj1fmFjHHfSN023sg==", + "requires": { + "@mongosh/arg-parser": "2.3.6", + "@mongosh/errors": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/i18n": "2.3.6", + "@mongosh/service-provider-core": "2.3.6", + "mongodb-redact": "^1.1.2" + } + }, + "@mongosh/shell-evaluator": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/shell-evaluator/-/shell-evaluator-2.3.6.tgz", + "integrity": "sha512-khg6mXkHuSO0uowRMiKwIIRQeBc2D0geAF/6yc+h6ovPbM/p6W/VH8uneiQHmotbBRWAm/hWGHBtbrt24gq5rQ==", + "requires": { + "@mongosh/async-rewriter2": "2.3.6", + "@mongosh/history": "2.3.6", + "@mongosh/shell-api": "2.3.6" + } + }, + "@mongosh/types": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@mongosh/types/-/types-2.3.6.tgz", + "integrity": "sha512-6pdK0rptAS/lE+/l00JYmXBfqgcYykYAh0wGygTgWdY262e0wQAX5AtwvwoucMWsAjH+npiVyNFw2w4gIJ7sgA==", + "requires": { + "@mongodb-js/devtools-connect": "^3.3.4" + } + }, "@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -79079,16 +79068,6 @@ "winreg-ts": "^1.0.4" }, "dependencies": { - "@mongosh/node-runtime-worker-thread": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@mongosh/node-runtime-worker-thread/-/node-runtime-worker-thread-2.3.6.tgz", - "integrity": "sha512-ouGCfthBHKIALa0pDZB8A6A4ajeXWTQr+HSzuiN9zjcztwksYke2SlF0dcOly5EZ3inDP6+EY6egIqxK10qV6w==", - "requires": { - "interruptor": "^1.0.1", - "system-ca": "^2.0.1", - "web-worker": "^1.3.0" - } - }, "debug": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", @@ -79653,9 +79632,9 @@ } }, "mongodb-redact": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-1.1.3.tgz", - "integrity": "sha512-rMw3JlgJ1WhTYUlztojIJ+PGO4sQuwQmsbs1YY60Qf+jPHiDfP10YF//BvpVfy5lKRxAYZmgRTL/fLj1bUbIAg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mongodb-redact/-/mongodb-redact-1.1.4.tgz", + "integrity": "sha512-UZT53VPCYq2W8KwlCBJGZHYo3k9eKhUZGZhhLfDqjiL64PnnR0Wp+LeaqsBdZtnV8BGiBGW8jPn87V1uStFqSg==", "requires": { "lodash": "^4.17.21" } From 065b2aea4176537a043fc456dd984359ce45c46d Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Mon, 16 Dec 2024 14:30:21 +0000 Subject: [PATCH 10/11] depcheck --- packages/compass-shell/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/compass-shell/package.json b/packages/compass-shell/package.json index 713a9f359dc..05da5966c17 100644 --- a/packages/compass-shell/package.json +++ b/packages/compass-shell/package.json @@ -51,6 +51,7 @@ "dependencies": { "@mongodb-js/compass-components": "^1.32.1", "@mongodb-js/compass-connections": "^1.48.1", + "@mongodb-js/compass-editor": "^0.34.1", "@mongodb-js/compass-logging": "^1.4.12", "@mongodb-js/compass-telemetry": "^1.2.5", "@mongodb-js/compass-user-data": "^0.3.12", @@ -83,7 +84,6 @@ "mocha": "^10.2.0", "nyc": "^15.1.0", "react-dom": "^17.0.2", - "sinon": "^9.2.3", "typescript": "^5.0.4" }, "is_compass_plugin": true From b144acd045fb5927c9227a802d4499ef2e2e5c79 Mon Sep 17 00:00:00 2001 From: Le Roux Bodenstein Date: Tue, 17 Dec 2024 09:37:40 +0000 Subject: [PATCH 11/11] clarify --- .../src/components/compass-shell/tab-compass-shell.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx index fc8d330988f..645e098ac3b 100644 --- a/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx +++ b/packages/compass-shell/src/components/compass-shell/tab-compass-shell.tsx @@ -84,7 +84,8 @@ export const CompassShell: React.FC = ({ const enableShell = usePreference('enableShell'); const canRenderShell = !!(enableShell && initialHistory && runtime); - // initialEvaluate will only be set on the first render + // initialEvaluate will only be set on the first render of the browser-repl + // component const initialEvaluate = useInitialEval(_initialEvaluate, canRenderShell); const editorRef = useRef(null);