├── .depalignrc.json ├── .depcheckrc ├── .dockerignore ├── .evergreen.yml ├── .evergreen ├── build-dev-release-info.sh ├── buildvariants-and-tasks.in.yml ├── buildvariants-and-tasks.yml ├── compass_package.sh ├── connectivity-tests │ ├── Dockerfile │ ├── entrypoint.sh │ ├── krb5.conf │ └── run.sh ├── create-sbom.sh ├── create-static-analysis-report.sh ├── docker-config │ ├── bin │ │ └── docker-credential-from-env │ └── config.json ├── functions.yml ├── npm_ci.sh ├── preinstall.sh ├── print-compass-env.js ├── print-compass-env.sh ├── retry-with-backoff.sh ├── setup-ssh-key.sh ├── start-atlas-cloud-cluster.sh ├── start-atlas-local.sh ├── start-docker-envs.sh ├── template-yml.js ├── verify-artifacts.sh └── xvfb-service.sh ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml ├── release.yml └── workflows │ ├── authors-and-third-party-notices.yaml │ ├── bump-packages.yaml │ ├── check-pr-title.yml │ ├── codeql.yml │ ├── merge-bump-packages-pr.yaml │ ├── publish-compass.yaml │ ├── publish-packages.yaml │ ├── release-notes-cleanup.yaml │ ├── release-notes-labels.yaml │ ├── start-beta.yml │ ├── start-ga.yaml │ ├── test-installers.yml │ ├── update-electron.yaml │ └── update-eslint.yaml ├── .gitignore ├── .husky └── pre-commit ├── .mailmap ├── .npmrc ├── .prettierignore ├── .prettierrc.json ├── .snyk ├── .tool-versions ├── .vscode └── extensions.json ├── AUTHORS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── THIRD-PARTY-NOTICES.md ├── configs ├── eslint-config-compass │ ├── .gitignore │ ├── README.md │ ├── bin │ │ └── eslint.js │ ├── index.js │ ├── package.json │ └── plugin.js ├── eslint-plugin-compass │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── index.js │ ├── package.json │ ├── rules │ │ ├── no-leafygreen-outside-compass-components.js │ │ ├── no-leafygreen-outside-compass-components.test.js │ │ ├── unique-mongodb-log-id.js │ │ └── unique-mongodb-log-id.test.js │ └── test │ │ └── __fixtures__ │ │ └── index.js ├── mocha-config-compass │ ├── .gitignore │ ├── README.md │ ├── compass-plugin.js │ ├── index.js │ ├── main-process.js │ ├── package.json │ ├── react.js │ ├── register │ │ ├── compass-preferences-register.js │ │ ├── electron-renderer-register.js │ │ ├── jsdom-extra-mocks-register.js │ │ ├── leaflet-register.js │ │ ├── mute-console-warnings-register.js │ │ ├── node-env-register.js │ │ └── resolve-from-source-register.js │ ├── reporter.js │ └── window-config.json ├── prettier-config-compass │ ├── .gitignore │ ├── .prettierignore-default │ ├── README.md │ ├── bin │ │ └── prettier.js │ ├── index.js │ └── package.json ├── testing-library-compass │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── index.spec.tsx │ │ └── index.tsx │ ├── tsconfig-lint.json │ └── tsconfig.json ├── tsconfig-compass │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── tsconfig.common.json │ └── tsconfig.react.json └── webpack-config-compass │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── bin │ └── webpack.js │ ├── package.json │ ├── polyfills │ └── @emotion │ │ └── server │ │ └── create-instance │ │ └── index.js │ ├── src │ ├── args.ts │ ├── externals.ts │ ├── index.ts │ ├── loaders.ts │ ├── util.ts │ ├── webpack-plugin-multicompiler-progress.ts │ └── webpack-plugin-start-electron.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── docs ├── security-test-summary.md └── tracking-plan.md ├── lerna.json ├── package-lock.json ├── package.json ├── packages ├── atlas-service │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── main.d.ts │ ├── main.js │ ├── package.json │ ├── provider.d.ts │ ├── renderer.d.ts │ ├── renderer.js │ ├── src │ │ ├── atlas-auth-service.ts │ │ ├── atlas-service.spec.ts │ │ ├── atlas-service.ts │ │ ├── compass-atlas-auth-service.spec.ts │ │ ├── compass-atlas-auth-service.ts │ │ ├── main.spec.ts │ │ ├── main.ts │ │ ├── oidc-plugin-logger.ts │ │ ├── provider.tsx │ │ ├── renderer.ts │ │ ├── secret-store.ts │ │ ├── store │ │ │ ├── atlas-signin-reducer.spec.ts │ │ │ ├── atlas-signin-reducer.ts │ │ │ ├── atlas-signin-store.spec.ts │ │ │ └── atlas-signin-store.ts │ │ ├── util.spec.ts │ │ └── util.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── bson-transpilers │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc │ ├── .gitignore │ ├── .jsfmtrc │ ├── .npmignore │ ├── .prettierignore │ ├── CONTRIBUTING.md │ ├── README.md │ ├── codegeneration │ │ ├── CodeGenerationVisitor.js │ │ ├── DeclarationStore.js │ │ ├── ErrorListener.js │ │ ├── csharp │ │ │ └── Generator.js │ │ ├── go │ │ │ └── Generator.js │ │ ├── java │ │ │ └── Generator.js │ │ ├── javascript │ │ │ ├── Generator.js │ │ │ └── Visitor.js │ │ ├── object │ │ │ └── Generator.js │ │ ├── php │ │ │ ├── Generator.js │ │ │ └── PHPUtils.js │ │ ├── python │ │ │ ├── Generator.js │ │ │ └── Visitor.js │ │ ├── ruby │ │ │ └── Generator.js │ │ ├── rust │ │ │ └── Generator.js │ │ └── shell │ │ │ ├── Generator.js │ │ │ └── Visitor.js │ ├── compile-symbol-table.js │ ├── config │ │ └── error.json │ ├── download-antlr.js │ ├── grammars │ │ └── ECMAScript.g4 │ ├── helper │ │ ├── error.js │ │ └── format.js │ ├── img-docs │ │ ├── indexjs.jpg │ │ └── visiting-tree.png │ ├── index.js │ ├── lib │ │ ├── antlr │ │ │ ├── ECMAScript.interp │ │ │ ├── ECMAScript.tokens │ │ │ ├── ECMAScriptLexer.interp │ │ │ ├── ECMAScriptLexer.js │ │ │ ├── ECMAScriptLexer.tokens │ │ │ ├── ECMAScriptListener.js │ │ │ ├── ECMAScriptParser.js │ │ │ └── ECMAScriptVisitor.js │ │ └── symbol-table │ │ │ ├── shelltocsharp.js │ │ │ ├── shelltogo.js │ │ │ ├── shelltojava.js │ │ │ ├── shelltojavascript.js │ │ │ ├── shelltoobject.js │ │ │ ├── shelltophp.js │ │ │ ├── shelltopython.js │ │ │ ├── shelltoruby.js │ │ │ └── shelltorust.js │ ├── package.json │ ├── printers │ │ └── ECMAScriptListener.js │ ├── symbols │ │ ├── basic_types.yaml │ │ ├── csharp │ │ │ └── templates.yaml │ │ ├── go │ │ │ └── templates.yaml │ │ ├── import_templates.yaml │ │ ├── java │ │ │ └── templates.yaml │ │ ├── javascript │ │ │ └── templates.yaml │ │ ├── main.yaml │ │ ├── object │ │ │ └── templates.yaml │ │ ├── php │ │ │ └── templates.yaml │ │ ├── python │ │ │ ├── symbols.yaml │ │ │ ├── templates.yaml │ │ │ └── types.yaml │ │ ├── ruby │ │ │ └── templates.yaml │ │ ├── rust │ │ │ └── templates.yaml │ │ ├── sample_template.yaml │ │ ├── shell │ │ │ ├── symbols.yaml │ │ │ └── types.yaml │ │ └── syntax_templates.yaml │ └── test │ │ ├── casting.test.js │ │ ├── declaration-store.test.js │ │ ├── functions.test.js │ │ ├── index.test.js │ │ ├── run-yaml.test.js │ │ └── yaml │ │ ├── bson-methods.yaml │ │ ├── bson.yaml │ │ ├── builders.yaml │ │ ├── driver-syntax.yaml │ │ ├── edge-cases │ │ └── casting.yaml │ │ ├── error-argument.yaml │ │ ├── error-builders.yaml │ │ ├── error-misc.yaml │ │ ├── error-syntax.yaml │ │ ├── error-unimplemented.yaml │ │ ├── imports.yaml │ │ ├── native.yaml │ │ ├── non-idiomatic.yaml │ │ ├── partial.yaml │ │ └── syntax.yaml ├── collection-model │ ├── .depcheckrc │ ├── .eslintrc.js │ ├── .gitignore │ ├── .npmignore │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── lib │ │ ├── collection-properties.js │ │ └── model.js │ ├── package.json │ └── test │ │ └── index.test.js ├── compass-aggregations │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .mocharc.js │ ├── .npmignore │ ├── README.md │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── add-stage │ │ │ │ ├── add-stage.spec.tsx │ │ │ │ ├── add-stage.tsx │ │ │ │ └── index.ts │ │ │ ├── aggregation-side-panel │ │ │ │ ├── feedback-link.tsx │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── stage-wizard-use-cases │ │ │ │ │ ├── field-combobox.spec.tsx │ │ │ │ │ ├── field-combobox.tsx │ │ │ │ │ ├── group │ │ │ │ │ ├── basic-group.spec.tsx │ │ │ │ │ ├── basic-group.tsx │ │ │ │ │ ├── group-with-statistics.spec.tsx │ │ │ │ │ ├── group-with-statistics.tsx │ │ │ │ │ ├── group-with-subset.spec.tsx │ │ │ │ │ └── group-with-subset.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── lookup │ │ │ │ │ ├── lookup.spec.tsx │ │ │ │ │ └── lookup.tsx │ │ │ │ │ ├── match │ │ │ │ │ ├── match-condition-form.spec.tsx │ │ │ │ │ ├── match-condition-form.tsx │ │ │ │ │ ├── match-group-form.spec.tsx │ │ │ │ │ ├── match-group-form.tsx │ │ │ │ │ ├── match.spec.tsx │ │ │ │ │ └── match.tsx │ │ │ │ │ ├── project │ │ │ │ │ ├── project.spec.tsx │ │ │ │ │ └── project.tsx │ │ │ │ │ ├── search │ │ │ │ │ ├── text-search.spec.tsx │ │ │ │ │ └── text-search.tsx │ │ │ │ │ ├── sort │ │ │ │ │ ├── sort.spec.tsx │ │ │ │ │ └── sort.tsx │ │ │ │ │ ├── use-case-card.spec.tsx │ │ │ │ │ ├── use-case-card.tsx │ │ │ │ │ ├── utils.spec.ts │ │ │ │ │ └── utils.ts │ │ │ ├── aggregations │ │ │ │ ├── aggregations.spec.tsx │ │ │ │ ├── aggregations.tsx │ │ │ │ └── index.ts │ │ │ ├── create-view-modal │ │ │ │ ├── create-view-modal.tsx │ │ │ │ └── index.ts │ │ │ ├── focus-mode │ │ │ │ ├── focus-mode-modal-header.spec.tsx │ │ │ │ ├── focus-mode-modal-header.tsx │ │ │ │ ├── focus-mode-stage-editor.spec.tsx │ │ │ │ ├── focus-mode-stage-editor.tsx │ │ │ │ ├── focus-mode-stage-preview.spec.tsx │ │ │ │ ├── focus-mode-stage-preview.tsx │ │ │ │ ├── focus-mode.spec.tsx │ │ │ │ └── focus-mode.tsx │ │ │ ├── loading-overlay │ │ │ │ ├── index.ts │ │ │ │ └── loading-overlay.tsx │ │ │ ├── modify-source-banner │ │ │ │ ├── index.ts │ │ │ │ └── modify-source-banner.tsx │ │ │ ├── pipeline-builder-input-documents.tsx │ │ │ ├── pipeline-builder-workspace │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── pipeline-as-text-workspace │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── pipeline-editor.spec.tsx │ │ │ │ │ ├── pipeline-editor.tsx │ │ │ │ │ ├── pipeline-preview.spec.tsx │ │ │ │ │ ├── pipeline-preview.tsx │ │ │ │ │ ├── pipeline-stages-preview.spec.tsx │ │ │ │ │ └── pipeline-stages-preview.tsx │ │ │ │ └── pipeline-builder-ui-workspace │ │ │ │ │ ├── dnd-wrapper.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── sortable-list.tsx │ │ │ ├── pipeline-output-options-menu.tsx │ │ │ ├── pipeline-results-workspace │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── pipeline-empty-results.tsx │ │ │ │ ├── pipeline-pagination-count.spec.tsx │ │ │ │ ├── pipeline-pagination-count.tsx │ │ │ │ ├── pipeline-pagination.spec.tsx │ │ │ │ ├── pipeline-pagination.tsx │ │ │ │ ├── pipeline-results-header.tsx │ │ │ │ ├── pipeline-results-list.spec.tsx │ │ │ │ ├── pipeline-results-list.tsx │ │ │ │ ├── pipeline-results-view-controls.spec.tsx │ │ │ │ └── pipeline-results-view-controls.tsx │ │ │ ├── pipeline-toolbar │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── pipeline-ai.spec.tsx │ │ │ │ ├── pipeline-ai.tsx │ │ │ │ ├── pipeline-header │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── pipeline-actions.spec.tsx │ │ │ │ │ ├── pipeline-actions.tsx │ │ │ │ │ ├── pipeline-stages.spec.tsx │ │ │ │ │ └── pipeline-stages.tsx │ │ │ │ ├── pipeline-options │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── pipeline-collation.spec.tsx │ │ │ │ │ └── pipeline-collation.tsx │ │ │ │ ├── pipeline-settings │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── pipeline-extra-settings.spec.tsx │ │ │ │ │ ├── pipeline-extra-settings.tsx │ │ │ │ │ ├── pipeline-menus.spec.tsx │ │ │ │ │ ├── pipeline-menus.tsx │ │ │ │ │ ├── pipeline-name.spec.tsx │ │ │ │ │ └── pipeline-name.tsx │ │ │ │ └── pipeline-toolbar-container.tsx │ │ │ ├── pipeline │ │ │ │ ├── index.ts │ │ │ │ └── pipeline.tsx │ │ │ ├── resize-handle.tsx │ │ │ ├── saved-pipelines │ │ │ │ ├── saved-pipeline-card.tsx │ │ │ │ ├── saved-pipelines.spec.tsx │ │ │ │ └── saved-pipelines.tsx │ │ │ ├── saving-pipeline-modal │ │ │ │ ├── index.ts │ │ │ │ └── saving-pipeline-modal.tsx │ │ │ ├── search-no-results.tsx │ │ │ ├── settings │ │ │ │ ├── index.ts │ │ │ │ ├── settings.spec.tsx │ │ │ │ └── settings.tsx │ │ │ ├── stage-editor │ │ │ │ ├── index.ts │ │ │ │ ├── stage-editor.spec.tsx │ │ │ │ └── stage-editor.tsx │ │ │ ├── stage-preview │ │ │ │ ├── atlas-stage-preview.tsx │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── output-stage-preview.spec.tsx │ │ │ │ ├── output-stage-preview.tsx │ │ │ │ └── stage-preview-header.tsx │ │ │ ├── stage-toolbar │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── option-menu-item.tsx │ │ │ │ ├── option-menu.spec.tsx │ │ │ │ ├── option-menu.tsx │ │ │ │ ├── stage-collapser.tsx │ │ │ │ ├── stage-operator-select.tsx │ │ │ │ └── toggle-stage.tsx │ │ │ ├── stage-wizard │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── stage.tsx │ │ │ └── use-case-droppable-area │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ ├── constants.ts │ │ ├── index.ts │ │ ├── modules │ │ │ ├── aggregation-workspace-id.ts │ │ │ ├── aggregation.spec.ts │ │ │ ├── aggregation.ts │ │ │ ├── auto-preview.spec.ts │ │ │ ├── auto-preview.ts │ │ │ ├── clone-pipeline.ts │ │ │ ├── collation-string.spec.ts │ │ │ ├── collation-string.ts │ │ │ ├── collection-stats.ts │ │ │ ├── collections-fields.spec.ts │ │ │ ├── collections-fields.ts │ │ │ ├── comments.spec.ts │ │ │ ├── comments.ts │ │ │ ├── count-documents.ts │ │ │ ├── create-view │ │ │ │ ├── index.spec.ts │ │ │ │ └── index.ts │ │ │ ├── data-service.ts │ │ │ ├── edit-view-name.ts │ │ │ ├── env.ts │ │ │ ├── explain.ts │ │ │ ├── export-to-language.spec.ts │ │ │ ├── export-to-language.ts │ │ │ ├── focus-mode.ts │ │ │ ├── id.spec.ts │ │ │ ├── id.ts │ │ │ ├── index.ts │ │ │ ├── input-documents.spec.ts │ │ │ ├── input-documents.ts │ │ │ ├── insights.spec.ts │ │ │ ├── insights.ts │ │ │ ├── is-datalake.ts │ │ │ ├── is-modified.spec.ts │ │ │ ├── is-modified.ts │ │ │ ├── is-new-pipeline-confirm.ts │ │ │ ├── is-time-series.ts │ │ │ ├── large-limit.spec.ts │ │ │ ├── large-limit.ts │ │ │ ├── limit.spec.ts │ │ │ ├── limit.ts │ │ │ ├── max-time-ms.spec.ts │ │ │ ├── max-time-ms.ts │ │ │ ├── name.spec.ts │ │ │ ├── name.ts │ │ │ ├── namespace.ts │ │ │ ├── out-results-fn.ts │ │ │ ├── pipeline-builder │ │ │ │ ├── builder-helpers.spec.ts │ │ │ │ ├── builder-helpers.ts │ │ │ │ ├── index.spec.ts │ │ │ │ ├── index.ts │ │ │ │ ├── pipeline-ai.spec.ts │ │ │ │ ├── pipeline-ai.ts │ │ │ │ ├── pipeline-builder.spec.ts │ │ │ │ ├── pipeline-builder.ts │ │ │ │ ├── pipeline-mode.ts │ │ │ │ ├── pipeline-parser │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── pipeline-parser.spec.ts │ │ │ │ │ ├── pipeline-parser.ts │ │ │ │ │ ├── stage-parser.spec.ts │ │ │ │ │ ├── stage-parser.ts │ │ │ │ │ ├── utils.spec.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── pipeline-preview-manager.spec.ts │ │ │ │ ├── pipeline-preview-manager.ts │ │ │ │ ├── stage-editor.spec.ts │ │ │ │ ├── stage-editor.ts │ │ │ │ ├── stage-ids.ts │ │ │ │ ├── stage.spec.ts │ │ │ │ ├── stage.ts │ │ │ │ ├── text-editor-output-stage.ts │ │ │ │ ├── text-editor-pipeline.spec.ts │ │ │ │ └── text-editor-pipeline.ts │ │ │ ├── saved-pipeline.spec.ts │ │ │ ├── saved-pipeline.ts │ │ │ ├── saving-pipeline.spec.ts │ │ │ ├── saving-pipeline.ts │ │ │ ├── search-indexes.spec.ts │ │ │ ├── search-indexes.ts │ │ │ ├── server-version.ts │ │ │ ├── settings.spec.ts │ │ │ ├── settings.ts │ │ │ ├── side-panel.spec.ts │ │ │ ├── side-panel.ts │ │ │ ├── source-name.ts │ │ │ ├── update-view.spec.ts │ │ │ ├── update-view.ts │ │ │ └── workspace.ts │ │ ├── plugin-title.tsx │ │ ├── plugin.spec.tsx │ │ ├── plugin.tsx │ │ ├── stores │ │ │ ├── create-view.spec.ts │ │ │ ├── create-view.ts │ │ │ ├── store.spec.ts │ │ │ └── store.ts │ │ ├── typings.d.ts │ │ └── utils │ │ │ ├── cancellable-aggregation.ts │ │ │ ├── get-schema.spec.ts │ │ │ ├── get-schema.ts │ │ │ ├── insights.ts │ │ │ ├── is-action.ts │ │ │ ├── modal-descriptions.tsx │ │ │ ├── stage.spec.ts │ │ │ └── stage.ts │ ├── test │ │ ├── configure-store.ts │ │ ├── form-helper.ts │ │ ├── mocks │ │ │ └── data-service.ts │ │ └── sample-fields.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-app-stores │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── provider.d.ts │ ├── provider.js │ ├── src │ │ ├── index.ts │ │ ├── instances-manager.spec.ts │ │ ├── instances-manager.ts │ │ ├── plugin.tsx │ │ ├── provider.spec.tsx │ │ ├── provider.tsx │ │ └── stores │ │ │ ├── index.ts │ │ │ ├── instance-store.spec.ts │ │ │ └── instance-store.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-collection │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── collection-header-actions │ │ │ │ ├── collection-header-actions.spec.tsx │ │ │ │ ├── collection-header-actions.tsx │ │ │ │ └── index.ts │ │ │ ├── collection-header │ │ │ │ ├── badges.tsx │ │ │ │ ├── collection-header.spec.tsx │ │ │ │ ├── collection-header.tsx │ │ │ │ └── index.ts │ │ │ ├── collection-tab-provider.tsx │ │ │ └── collection-tab.tsx │ │ ├── index.ts │ │ ├── modules │ │ │ └── collection-tab.ts │ │ └── stores │ │ │ ├── collection-tab.spec.ts │ │ │ └── collection-tab.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-components │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .mocharc.js │ ├── .prettierignore │ ├── README.md │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── accordion.spec.tsx │ │ │ ├── accordion.tsx │ │ │ ├── actions │ │ │ │ ├── action-glyph.tsx │ │ │ │ ├── constants.tsx │ │ │ │ ├── dropdown-menu-button.tsx │ │ │ │ ├── item-action-button.tsx │ │ │ │ ├── item-action-controls.spec.tsx │ │ │ │ ├── item-action-controls.tsx │ │ │ │ ├── item-action-group.tsx │ │ │ │ ├── item-action-menu.tsx │ │ │ │ ├── small-icon-button.tsx │ │ │ │ ├── types.ts │ │ │ │ └── utils.ts │ │ │ ├── breadcrumb.spec.tsx │ │ │ ├── breadcrumb.tsx │ │ │ ├── bson-value.spec.tsx │ │ │ ├── bson-value.tsx │ │ │ ├── chevron-collapse-icon.tsx │ │ │ ├── collapsible-field-set.spec.tsx │ │ │ ├── collapsible-field-set.tsx │ │ │ ├── combobox-with-custom-option.tsx │ │ │ ├── combobox-with-custom-options.spec.tsx │ │ │ ├── compass-components-provider.tsx │ │ │ ├── content-with-fallback.spec.tsx │ │ │ ├── content-with-fallback.tsx │ │ │ ├── document-list │ │ │ │ ├── auto-focus-context.tsx │ │ │ │ ├── document-actions-group.spec.tsx │ │ │ │ ├── document-actions-group.tsx │ │ │ │ ├── document-edit-actions-footer.tsx │ │ │ │ ├── document.spec.tsx │ │ │ │ ├── document.tsx │ │ │ │ ├── element-actions.tsx │ │ │ │ ├── element-editors.tsx │ │ │ │ ├── element.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── typography.ts │ │ │ │ ├── use-force-update.tsx │ │ │ │ ├── use-previous.tsx │ │ │ │ ├── visible-field-toggle.tsx │ │ │ │ └── visible-fields-toggle.spec.tsx │ │ │ ├── empty-content.spec.tsx │ │ │ ├── empty-content.tsx │ │ │ ├── error-boundary.spec.tsx │ │ │ ├── error-boundary.tsx │ │ │ ├── error-warning-summary.spec.tsx │ │ │ ├── error-warning-summary.tsx │ │ │ ├── feedback-popover.spec.tsx │ │ │ ├── feedback-popover.tsx │ │ │ ├── file-input.spec.tsx │ │ │ ├── file-input.tsx │ │ │ ├── form-field-container.tsx │ │ │ ├── guide-cue │ │ │ │ ├── guide-cue-exceptions.ts │ │ │ │ ├── guide-cue-groups.ts │ │ │ │ ├── guide-cue-service.spec.ts │ │ │ │ ├── guide-cue-service.ts │ │ │ │ ├── guide-cue-storage.ts │ │ │ │ ├── guide-cue.spec.tsx │ │ │ │ └── guide-cue.tsx │ │ │ ├── horizontal-rule.tsx │ │ │ ├── icons │ │ │ │ ├── document-icon.tsx │ │ │ │ ├── favorite-icon.tsx │ │ │ │ ├── logo-icon.tsx │ │ │ │ ├── no-saved-items-icon.tsx │ │ │ │ └── server-icon.tsx │ │ │ ├── index-icon.spec.tsx │ │ │ ├── index-icon.tsx │ │ │ ├── index-keys-badge.spec.tsx │ │ │ ├── index-keys-badge.tsx │ │ │ ├── inline-definition.tsx │ │ │ ├── inline-info-link.spec.tsx │ │ │ ├── inline-info-link.tsx │ │ │ ├── insights-chip.tsx │ │ │ ├── interactive-popover.spec.tsx │ │ │ ├── interactive-popover.tsx │ │ │ ├── keyline-card.tsx │ │ │ ├── leafygreen.tsx │ │ │ ├── links │ │ │ │ ├── link.spec.ts │ │ │ │ └── link.tsx │ │ │ ├── list-editor.spec.tsx │ │ │ ├── list-editor.tsx │ │ │ ├── loader.spec.tsx │ │ │ ├── loader.tsx │ │ │ ├── modals │ │ │ │ ├── confirmation-modal.spec.tsx │ │ │ │ ├── confirmation-modal.tsx │ │ │ │ ├── form-modal.tsx │ │ │ │ ├── info-modal.tsx │ │ │ │ ├── modal-body.tsx │ │ │ │ ├── modal-footer-button.tsx │ │ │ │ ├── modal-header.tsx │ │ │ │ └── modal.tsx │ │ │ ├── options-toggle.spec.tsx │ │ │ ├── options-toggle.tsx │ │ │ ├── placeholder.tsx │ │ │ ├── radio-box-group.tsx │ │ │ ├── resize-handle.spec.tsx │ │ │ ├── resize-handle.tsx │ │ │ ├── resizeable-sidebar.tsx │ │ │ ├── select-list.spec.tsx │ │ │ ├── select-list.tsx │ │ │ ├── signal-popover.spec.tsx │ │ │ ├── signal-popover.tsx │ │ │ ├── signals.tsx │ │ │ ├── tab-nav-bar.spec.tsx │ │ │ ├── tab-nav-bar.tsx │ │ │ ├── toast-body.tsx │ │ │ ├── virtual-grid.tsx │ │ │ ├── virtual-list.spec.tsx │ │ │ ├── virtual-list.tsx │ │ │ ├── workspace-container.tsx │ │ │ └── workspace-tabs │ │ │ │ ├── tab.spec.tsx │ │ │ │ ├── tab.tsx │ │ │ │ ├── workspace-tabs.spec.tsx │ │ │ │ └── workspace-tabs.tsx │ │ ├── hooks │ │ │ ├── use-confirmation.spec.tsx │ │ │ ├── use-confirmation.tsx │ │ │ ├── use-default-action.ts │ │ │ ├── use-dom-rect.ts │ │ │ ├── use-effect-on-change.ts │ │ │ ├── use-error-details.tsx │ │ │ ├── use-focus-hover.ts │ │ │ ├── use-focus-ring.ts │ │ │ ├── use-formatted-date.tsx │ │ │ ├── use-hotkeys.spec.tsx │ │ │ ├── use-hotkeys.tsx │ │ │ ├── use-persisted-state.tsx │ │ │ ├── use-scrollbars.tsx │ │ │ ├── use-sort.spec.ts │ │ │ ├── use-sort.tsx │ │ │ ├── use-stacked-component.spec.tsx │ │ │ ├── use-stacked-component.tsx │ │ │ ├── use-theme.tsx │ │ │ ├── use-toast.spec.tsx │ │ │ ├── use-toast.tsx │ │ │ ├── use-virtual-grid.test.tsx │ │ │ ├── use-virtual-grid.ts │ │ │ └── use-virtual-list-item-observer.ts │ │ ├── index.ts │ │ ├── is-electron-renderer.d.ts │ │ └── utils │ │ │ ├── format-date.ts │ │ │ ├── merge-props.ts │ │ │ ├── rafraf.ts │ │ │ └── reset-global-css.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-connection-import-export │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── export-modal.tsx │ │ │ ├── file-input.tsx │ │ │ ├── import-modal.tsx │ │ │ └── passphrase.tsx │ │ ├── context.tsx │ │ ├── hooks │ │ │ ├── common.spec.ts │ │ │ ├── common.ts │ │ │ ├── use-export-connections.spec.tsx │ │ │ ├── use-export-connections.ts │ │ │ ├── use-import-connections.spec.tsx │ │ │ └── use-import-connections.ts │ │ └── index.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-connections-navigation │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── base-navigation-item.tsx │ │ ├── connect-button-with-menu.tsx │ │ ├── connect-button.tsx │ │ ├── connections-navigation-tree.spec.tsx │ │ ├── connections-navigation-tree.tsx │ │ ├── constants.tsx │ │ ├── index.ts │ │ ├── item-actions.ts │ │ ├── navigation-item-icon.tsx │ │ ├── navigation-item.tsx │ │ ├── placeholder.tsx │ │ ├── styled-navigation-item.tsx │ │ ├── tree-data.ts │ │ ├── tree-item.tsx │ │ ├── utils.ts │ │ ├── virtual-list │ │ │ ├── use-virtual-navigation-tree.tsx │ │ │ ├── virtual-list.spec.tsx │ │ │ └── virtual-list.tsx │ │ └── with-status-marker.tsx │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-connections │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .mocharc.js │ ├── package.json │ ├── provider.d.ts │ ├── provider.js │ ├── src │ │ ├── components │ │ │ ├── connection-modal.tsx │ │ │ ├── connection-status-notifications.tsx │ │ │ ├── end-of-life-connection-modal.tsx │ │ │ ├── legacy-connections-modal.tsx │ │ │ └── non-genuine-connection-modal.tsx │ │ ├── connection-info-provider.tsx │ │ ├── connection-scoped-app-registry.spec.ts │ │ ├── connection-scoped-app-registry.ts │ │ ├── hooks │ │ │ ├── use-active-connections.spec.ts │ │ │ ├── use-active-connections.ts │ │ │ ├── use-connectable.ts │ │ │ ├── use-connection-form-preferences.tsx │ │ │ ├── use-connection-supports.spec.ts │ │ │ ├── use-connection-supports.ts │ │ │ ├── use-connections-with-status.spec.tsx │ │ │ ├── use-connections-with-status.ts │ │ │ ├── use-tab-connection-theme.spec.ts │ │ │ └── use-tab-connection-theme.ts │ │ ├── index.spec.tsx │ │ ├── index.tsx │ │ ├── provider.ts │ │ ├── stores │ │ │ ├── connections-store-redux.spec.tsx │ │ │ ├── connections-store-redux.ts │ │ │ └── store-context.tsx │ │ └── utils │ │ │ ├── connection-supports.spec.ts │ │ │ ├── connection-supports.ts │ │ │ ├── end-of-life-server.spec.ts │ │ │ ├── end-of-life-server.ts │ │ │ ├── telemetry.spec.tsx │ │ │ └── telemetry.tsx │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-crud │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── .nycrc │ ├── README.md │ ├── compass-crud.png │ ├── package.json │ ├── src │ │ ├── actions │ │ │ └── index.ts │ │ ├── components │ │ │ ├── add-data-menu.tsx │ │ │ ├── bulk-actions-toasts.spec.tsx │ │ │ ├── bulk-actions-toasts.tsx │ │ │ ├── bulk-delete-modal.spec.tsx │ │ │ ├── bulk-delete-modal.tsx │ │ │ ├── bulk-update-modal.spec.tsx │ │ │ ├── bulk-update-modal.tsx │ │ │ ├── change-view │ │ │ │ ├── bson-utils.ts │ │ │ │ ├── change-view.spec.tsx │ │ │ │ ├── change-view.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── shape-utils.ts │ │ │ │ ├── unified-document.spec.ts │ │ │ │ └── unified-document.ts │ │ │ ├── crud-toolbar.spec.tsx │ │ │ ├── crud-toolbar.tsx │ │ │ ├── delete-data-menu.tsx │ │ │ ├── document-json-view.tsx │ │ │ ├── document-list-view.spec.tsx │ │ │ ├── document-list-view.tsx │ │ │ ├── document-list.tsx │ │ │ ├── document.tsx │ │ │ ├── editable-document.spec.tsx │ │ │ ├── editable-document.tsx │ │ │ ├── insert-csfle-warning-banner.tsx │ │ │ ├── insert-document-dialog.tsx │ │ │ ├── insert-document.tsx │ │ │ ├── insert-json-document.tsx │ │ │ ├── json-editor.tsx │ │ │ ├── readonly-document.tsx │ │ │ ├── readonly-filter.tsx │ │ │ ├── table-view │ │ │ │ ├── add-field-button.spec.tsx │ │ │ │ ├── add-field-button.tsx │ │ │ │ ├── ag-grid-dist.css │ │ │ │ ├── breadcrumb.spec.tsx │ │ │ │ ├── breadcrumb.tsx │ │ │ │ ├── cell-editor.spec.tsx │ │ │ │ ├── cell-editor.tsx │ │ │ │ ├── cell-renderer.spec.tsx │ │ │ │ ├── cell-renderer.tsx │ │ │ │ ├── document-table-view.less │ │ │ │ ├── document-table-view.tsx │ │ │ │ ├── full-width-cell-renderer.spec.tsx │ │ │ │ ├── full-width-cell-renderer.tsx │ │ │ │ ├── header-cell-renderer.tsx │ │ │ │ ├── row-actions-renderer.spec.tsx │ │ │ │ ├── row-actions-renderer.tsx │ │ │ │ ├── row-number-renderer.tsx │ │ │ │ ├── types-dropdown.spec.tsx │ │ │ │ └── types-dropdown.tsx │ │ │ ├── update-data-menu.tsx │ │ │ ├── view-switcher.tsx │ │ │ ├── virtualized-document-json-view.spec.tsx │ │ │ ├── virtualized-document-json-view.tsx │ │ │ ├── virtualized-document-list-view.spec.tsx │ │ │ └── virtualized-document-list-view.tsx │ │ ├── constants │ │ │ └── documents-statuses.ts │ │ ├── index.ts │ │ ├── plugin-title.tsx │ │ ├── stores │ │ │ ├── base-reflux-store.ts │ │ │ ├── crud-store.spec.ts │ │ │ ├── crud-store.ts │ │ │ ├── grid-store.spec.ts │ │ │ └── grid-store.ts │ │ ├── typings.d.ts │ │ └── utils │ │ │ ├── cancellable-queries.spec.ts │ │ │ ├── cancellable-queries.ts │ │ │ ├── data-service.ts │ │ │ ├── index.spec.ts │ │ │ ├── index.ts │ │ │ └── toolbar-signal.ts │ ├── test │ │ ├── aggrid-helper.ts │ │ ├── before-after-fixtures.ts │ │ └── fixture-results │ │ │ ├── all_types_all_types_add.json │ │ │ ├── all_types_all_types_changed.json │ │ │ ├── all_types_all_types_identical.json │ │ │ ├── all_types_all_types_remove.json │ │ │ ├── all_types_small_change.json │ │ │ ├── array_changes_add_array_to_array.json │ │ │ ├── array_changes_add_object_to_array.json │ │ │ ├── array_changes_add_simple_value_to_array.json │ │ │ ├── array_changes_remove_array_from_array.json │ │ │ ├── array_changes_remove_object_from_array.json │ │ │ ├── array_changes_remove_simple_value_from_array.json │ │ │ ├── array_changes_simple_array.json │ │ │ ├── bson_type_change.json │ │ │ ├── nested_object_changes_nested_object_array_array_simple.json │ │ │ ├── nested_object_changes_nested_object_array_simple.json │ │ │ ├── nested_object_changes_nested_object_simple.json │ │ │ ├── objects_in_arrays_add_number_next_to_object_in_array.json │ │ │ ├── objects_in_arrays_many_items.json │ │ │ ├── objects_in_arrays_object_inside_array_changed.json │ │ │ ├── objects_in_arrays_object_value_nested_in_an_array.json │ │ │ ├── objects_in_arrays_remove_number_next_to_object_in_array.json │ │ │ ├── shape_changes_array_to_object.json │ │ │ ├── shape_changes_array_to_simple.json │ │ │ ├── shape_changes_object_to_array.json │ │ │ ├── shape_changes_object_to_simple.json │ │ │ ├── shape_changes_simple_to_array.json │ │ │ ├── shape_changes_simple_to_object.json │ │ │ ├── simple_add_field.json │ │ │ ├── simple_different_simple_types.json │ │ │ ├── simple_remove_field.json │ │ │ ├── simple_same_simple_type.json │ │ │ ├── simple_simple_add.json │ │ │ ├── simple_simple_remove.json │ │ │ └── stress_tests_airbnb.json │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-data-modeling │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── provider.d.ts │ ├── provider.js │ ├── renderer.d.ts │ ├── renderer.js │ ├── src │ │ ├── components │ │ │ ├── data-modeling.tsx │ │ │ ├── diagram-card.spec.tsx │ │ │ ├── diagram-card.tsx │ │ │ ├── diagram-editor.tsx │ │ │ ├── diagram-list-toolbar.tsx │ │ │ ├── icons │ │ │ │ ├── collaborate.tsx │ │ │ │ ├── flexibility.tsx │ │ │ │ └── schema-visualization.tsx │ │ │ ├── new-diagram-form.spec.tsx │ │ │ ├── new-diagram-form.tsx │ │ │ ├── saved-diagrams-list.spec.tsx │ │ │ └── saved-diagrams-list.tsx │ │ ├── index.spec.tsx │ │ ├── index.ts │ │ ├── provider │ │ │ └── index.tsx │ │ ├── services │ │ │ ├── data-model-storage-electron.tsx │ │ │ ├── data-model-storage-in-memory.tsx │ │ │ └── data-model-storage.ts │ │ └── store │ │ │ ├── analysis-process.ts │ │ │ ├── diagram.spec.ts │ │ │ ├── diagram.ts │ │ │ ├── generate-diagram-wizard.ts │ │ │ ├── index.ts │ │ │ ├── reducer.ts │ │ │ ├── step.ts │ │ │ └── util.ts │ ├── test │ │ └── setup-store.tsx │ ├── tsconfig-lint.json │ ├── tsconfig.json │ ├── web.d.ts │ └── web.js ├── compass-e2e-tests │ ├── .depcheckrc │ ├── .eslintrc.js │ ├── .gitignore │ ├── .prettierignore │ ├── README.md │ ├── fixtures │ │ ├── array-documents.csv.gz │ │ ├── broken-json.json.gz │ │ ├── ca.pem │ │ ├── client.pem │ │ ├── curl.js │ │ ├── extended-json.json.gz │ │ ├── latin1.csv.gz │ │ ├── listings.csv.gz │ │ ├── listings.json.gz │ │ ├── source-with-bom.csv.gz │ │ └── three-documents.json.gz │ ├── helpers │ │ ├── atlas-service.ts │ │ ├── chrome-startup-flags.ts │ │ ├── commands │ │ │ ├── add-collection.ts │ │ │ ├── add-database.ts │ │ │ ├── add-wizard.ts │ │ │ ├── click-confirmation-action.ts │ │ │ ├── click-parent.ts │ │ │ ├── click-visible.ts │ │ │ ├── close-settings-modal.ts │ │ │ ├── close-shell.ts │ │ │ ├── close-welcome-modal.ts │ │ │ ├── codemirror.ts │ │ │ ├── collection-workspaces.ts │ │ │ ├── connect-form.ts │ │ │ ├── connect.ts │ │ │ ├── connection-workspaces.ts │ │ │ ├── create-index.ts │ │ │ ├── database-workspaces.ts │ │ │ ├── disconnect.ts │ │ │ ├── drop-collection-from-sidebar.ts │ │ │ ├── drop-database-from-sidebar.ts │ │ │ ├── drop-index.ts │ │ │ ├── drop-namespace.ts │ │ │ ├── exists-eventually.ts │ │ │ ├── expand-accordion.ts │ │ │ ├── export-to-language.ts │ │ │ ├── focus-stage-operator.ts │ │ │ ├── get-feature.ts │ │ │ ├── get-query-id.ts │ │ │ ├── hide-index.ts │ │ │ ├── hide-visible-modal.ts │ │ │ ├── hide-visible-toasts.ts │ │ │ ├── hover.ts │ │ │ ├── index.ts │ │ │ ├── listen-for-telemetry-events.ts │ │ │ ├── navigate-to-connect-tab.ts │ │ │ ├── open-settings-modal.ts │ │ │ ├── open-shell.ts │ │ │ ├── read-first-document-content.ts │ │ │ ├── read-stage-operators.ts │ │ │ ├── remove-connections.ts │ │ │ ├── run-find-operation.ts │ │ │ ├── run-find.ts │ │ │ ├── save-aggregation-pipeline.ts │ │ │ ├── save-connection-string-as-favorite.ts │ │ │ ├── save-favorite.ts │ │ │ ├── screenshot.ts │ │ │ ├── scroll-to-virtual-item.ts │ │ │ ├── select-connections-menu-item.ts │ │ │ ├── select-file.ts │ │ │ ├── select-focus-mode-stage-output-option.ts │ │ │ ├── select-option.ts │ │ │ ├── select-pipeline-results-output-option.ts │ │ │ ├── select-stage-menu-option.ts │ │ │ ├── select-stage-operator.ts │ │ │ ├── select-text-pipeline-output-option.ts │ │ │ ├── set-combo-box-value.ts │ │ │ ├── set-export-filename.ts │ │ │ ├── set-feature.ts │ │ │ ├── set-validation.ts │ │ │ ├── set-value-visible.ts │ │ │ ├── shell-eval.ts │ │ │ ├── sidebar-collection.ts │ │ │ ├── sidebar-connection.ts │ │ │ ├── switch-pipeline-mode.ts │ │ │ ├── toggle-aggregation-side-panel.ts │ │ │ ├── try-to-insert-document.ts │ │ │ ├── unhide-index.ts │ │ │ ├── wait-for-animations.ts │ │ │ ├── wait-for-aria-disabled.ts │ │ │ ├── wait-for-export-to-finish.ts │ │ │ └── workspace-tabs.ts │ │ ├── compass-browser.ts │ │ ├── compass-web-sandbox.ts │ │ ├── compass.ts │ │ ├── connect-form-state.ts │ │ ├── delay.ts │ │ ├── downloads.ts │ │ ├── gunzip.ts │ │ ├── insert-data.ts │ │ ├── proxy.ts │ │ ├── retry-with-backoff.ts │ │ ├── selectors.ts │ │ ├── telemetry.ts │ │ ├── test-runner-context.ts │ │ ├── test-runner-global-fixtures.ts │ │ └── test-runner-paths.ts │ ├── index.ts │ ├── nyc.config.js │ ├── package.json │ ├── positional-args │ │ ├── build.sh │ │ ├── go.mod │ │ ├── positional-args.exe │ │ └── positional-args.go │ ├── scripts │ │ └── positional-args.sh │ ├── tests │ │ ├── README.md │ │ ├── atlas-cloud │ │ │ ├── collection-ai-query.test.ts │ │ │ ├── global-writes.test.ts │ │ │ └── rolling-indexes.test.ts │ │ ├── atlas-login.test.ts │ │ ├── auto-connect.test.ts │ │ ├── auto-update.test.ts │ │ ├── collection-aggregations-tab.test.ts │ │ ├── collection-ai-query.test.ts │ │ ├── collection-bulk-delete.test.ts │ │ ├── collection-bulk-update.test.ts │ │ ├── collection-documents-tab.test.ts │ │ ├── collection-export.test.ts │ │ ├── collection-heading.test.ts │ │ ├── collection-import.test.ts │ │ ├── collection-indexes-tab.test.ts │ │ ├── collection-rename.test.ts │ │ ├── collection-schema-tab.test.ts │ │ ├── collection-validation-tab.test.ts │ │ ├── connection-form.test.ts │ │ ├── connection.test.ts │ │ ├── data-modeling-tab.test.ts │ │ ├── database-collections-tab.test.ts │ │ ├── force-connection-options.test.ts │ │ ├── global-preferences.test.ts │ │ ├── import-export-connections.test.ts │ │ ├── in-use-encryption.test.ts │ │ ├── instance-databases-tab.test.ts │ │ ├── instance-performance-tab.test.ts │ │ ├── instance-sidebar.test.ts │ │ ├── intercom.test.ts │ │ ├── logging.test.ts │ │ ├── my-queries-tab.test.ts │ │ ├── no-network-traffic.test.ts │ │ ├── oidc.test.ts │ │ ├── protect-connection-strings.test.ts │ │ ├── proxy.test.ts │ │ ├── read-only.test.ts │ │ ├── search-indexes.test.ts │ │ ├── shell.test.ts │ │ ├── show-kerberos-password-field.test.ts │ │ ├── tabs.test.ts │ │ └── time-to-first-query.test.ts │ └── tsconfig.json ├── compass-editor │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── action-button.tsx │ │ ├── actions-container.tsx │ │ ├── autocompleter.test.ts │ │ ├── autocompleter.ts │ │ ├── codemirror │ │ │ ├── ace-compat-autocompleter.ts │ │ │ ├── aggregation-autocompleter.test.ts │ │ │ ├── aggregation-autocompleter.ts │ │ │ ├── document-autocompleter.ts │ │ │ ├── query-autocompleter-with-history.test.ts │ │ │ ├── query-autocompleter-with-history.ts │ │ │ ├── query-autocompleter.test.ts │ │ │ ├── query-autocompleter.ts │ │ │ ├── query-history-autocompleter.test.ts │ │ │ ├── query-history-autocompleter.ts │ │ │ ├── search-index-autocompleter.test.ts │ │ │ ├── search-index-autocompleter.ts │ │ │ ├── stage-autocompleter.test.ts │ │ │ ├── stage-autocompleter.ts │ │ │ ├── utils.test.ts │ │ │ ├── utils.ts │ │ │ ├── validation-autocompleter.test.ts │ │ │ └── validation-autocompleter.ts │ │ ├── editor.tsx │ │ ├── index.ts │ │ ├── prettify.ts │ │ └── types.ts │ ├── test │ │ └── completer.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-explain-plan │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── explain-cannot-visualize-banner │ │ │ │ ├── explain-cannot-visualize-banner.tsx │ │ │ │ └── index.ts │ │ │ ├── explain-plan-modal.spec.tsx │ │ │ ├── explain-plan-modal.tsx │ │ │ ├── explain-plan-side-summary.tsx │ │ │ ├── explain-plan-view.spec.tsx │ │ │ ├── explain-plan-view.tsx │ │ │ ├── explain-tree │ │ │ │ ├── clock.tsx │ │ │ │ ├── explain-tree-data.spec.ts │ │ │ │ ├── explain-tree-data.ts │ │ │ │ ├── explain-tree-stage.spec.tsx │ │ │ │ ├── explain-tree-stage.tsx │ │ │ │ ├── explain-tree.spec.tsx │ │ │ │ ├── explain-tree.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── tree-layout.tsx │ │ │ ├── zero-graphic.tsx │ │ │ └── zoom-control.tsx │ │ ├── index.ts │ │ └── stores │ │ │ ├── explain-plan-modal-store.spec.ts │ │ │ ├── explain-plan-modal-store.ts │ │ │ └── index.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-export-to-language │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── components │ │ │ └── modal.tsx │ │ ├── index.spec.tsx │ │ ├── index.ts │ │ ├── modules │ │ │ ├── count-aggregation-stages-in-string.ts │ │ │ ├── languages.spec.ts │ │ │ ├── languages.ts │ │ │ ├── transpiler.spec.ts │ │ │ └── transpiler.ts │ │ ├── stores │ │ │ └── index.ts │ │ └── typings.d.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-field-store │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── index.spec.ts │ │ ├── index.tsx │ │ ├── modules │ │ │ ├── fields.ts │ │ │ └── index.ts │ │ └── stores │ │ │ ├── context.ts │ │ │ ├── field-store-service.ts │ │ │ ├── hooks.ts │ │ │ ├── store.spec.ts │ │ │ └── store.ts │ ├── test │ │ └── fixtures │ │ │ ├── array_of_docs.fixture.json │ │ │ └── fields.fixture.json │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-find-in-page │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── compass-find-in-page.tsx │ │ │ ├── find-in-page-input.spec.tsx │ │ │ └── find-in-page-input.tsx │ │ ├── index.ts │ │ ├── modules │ │ │ ├── index.spec.ts │ │ │ └── index.ts │ │ └── stores │ │ │ ├── store.spec.ts │ │ │ └── store.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-generative-ai │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── provider.d.ts │ ├── src │ │ ├── atlas-ai-service.spec.ts │ │ ├── atlas-ai-service.ts │ │ ├── components │ │ │ ├── ai-entry-svg.tsx │ │ │ ├── ai-experience-entry.tsx │ │ │ ├── ai-feedback.tsx │ │ │ ├── ai-guide-cue.tsx │ │ │ ├── ai-image-banner.tsx │ │ │ ├── ai-optin-modal.spec.tsx │ │ │ ├── ai-optin-modal.tsx │ │ │ ├── ai-signin-modal.tsx │ │ │ ├── generative-ai-input.spec.tsx │ │ │ ├── generative-ai-input.tsx │ │ │ ├── index.ts │ │ │ └── plugin.tsx │ │ ├── index.ts │ │ ├── provider.tsx │ │ ├── store │ │ │ ├── atlas-ai-store.ts │ │ │ ├── atlas-optin-reducer.spec.ts │ │ │ ├── atlas-optin-reducer.ts │ │ │ ├── atlas-signin-reducer.spec.ts │ │ │ └── atlas-signin-reducer.ts │ │ └── utils │ │ │ └── util.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-global-writes │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── common-styles.ts │ │ │ ├── create-shard-key-form.spec.tsx │ │ │ ├── create-shard-key-form.tsx │ │ │ ├── example-commands-markup.spec.tsx │ │ │ ├── example-commands-markup.tsx │ │ │ ├── index.spec.tsx │ │ │ ├── index.tsx │ │ │ ├── shard-key-markup.tsx │ │ │ ├── shard-zones-description.tsx │ │ │ ├── shard-zones-descripton.spec.tsx │ │ │ ├── shard-zones-table.spec.tsx │ │ │ ├── shard-zones-table.tsx │ │ │ └── states │ │ │ │ ├── incomplete-sharding-setup.spec.tsx │ │ │ │ ├── incomplete-sharding-setup.tsx │ │ │ │ ├── loading-error.spec.tsx │ │ │ │ ├── loading-error.tsx │ │ │ │ ├── shard-key-correct.spec.tsx │ │ │ │ ├── shard-key-correct.tsx │ │ │ │ ├── shard-key-invalid.spec.tsx │ │ │ │ ├── shard-key-invalid.tsx │ │ │ │ ├── shard-key-mismatch.spec.tsx │ │ │ │ ├── shard-key-mismatch.tsx │ │ │ │ ├── sharding-error.spec.tsx │ │ │ │ ├── sharding-error.tsx │ │ │ │ ├── sharding.spec.tsx │ │ │ │ ├── sharding.tsx │ │ │ │ ├── unsharded.tsx │ │ │ │ └── usharded.spec.tsx │ │ ├── index.ts │ │ ├── plugin-title.spec.tsx │ │ ├── plugin-title.tsx │ │ ├── services │ │ │ └── atlas-global-writes-service.ts │ │ └── store │ │ │ ├── index.spec.ts │ │ │ ├── index.ts │ │ │ └── reducer.ts │ ├── tests │ │ ├── cluster-api-response.json │ │ └── create-store.tsx │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-import-export │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── scripts │ │ └── analyze-csv.ts │ ├── src │ │ ├── components │ │ │ ├── export-code-view.spec.tsx │ │ │ ├── export-code-view.tsx │ │ │ ├── export-field-options.tsx │ │ │ ├── export-in-progress-modal.tsx │ │ │ ├── export-json-format-options.tsx │ │ │ ├── export-modal.spec.tsx │ │ │ ├── export-modal.tsx │ │ │ ├── export-select-fields.spec.tsx │ │ │ ├── export-select-fields.tsx │ │ │ ├── export-toast.tsx │ │ │ ├── import-file-input.tsx │ │ │ ├── import-in-progress-modal.tsx │ │ │ ├── import-modal.tsx │ │ │ ├── import-options.tsx │ │ │ ├── import-preview-loader.tsx │ │ │ ├── import-preview.spec.tsx │ │ │ ├── import-preview.tsx │ │ │ ├── import-toast.tsx │ │ │ └── select-file-type.tsx │ │ ├── constants │ │ │ ├── export-step.ts │ │ │ ├── file-types.ts │ │ │ └── process-status.ts │ │ ├── csv │ │ │ ├── csv-types.ts │ │ │ ├── csv-utils.spec.ts │ │ │ └── csv-utils.ts │ │ ├── export-plugin.tsx │ │ ├── export │ │ │ ├── export-csv.spec.ts │ │ │ ├── export-csv.ts │ │ │ ├── export-cursor.ts │ │ │ ├── export-json.spec.ts │ │ │ ├── export-json.ts │ │ │ ├── export-types.ts │ │ │ ├── export-utils.spec.ts │ │ │ ├── export-utils.ts │ │ │ ├── gather-fields.spec.ts │ │ │ └── gather-fields.ts │ │ ├── import-plugin.tsx │ │ ├── import │ │ │ ├── analyze-csv-fields.spec.ts │ │ │ ├── analyze-csv-fields.ts │ │ │ ├── guess-filetype.spec.ts │ │ │ ├── guess-filetype.ts │ │ │ ├── import-csv.spec.ts │ │ │ ├── import-csv.ts │ │ │ ├── import-json.spec.ts │ │ │ ├── import-json.ts │ │ │ ├── import-types.ts │ │ │ ├── import-utils.spec.ts │ │ │ ├── import-utils.ts │ │ │ ├── import-writer.spec.ts │ │ │ ├── import-writer.ts │ │ │ ├── list-csv-fields.spec.ts │ │ │ └── list-csv-fields.ts │ │ ├── index.ts │ │ ├── modules │ │ │ ├── export.spec.ts │ │ │ ├── export.ts │ │ │ ├── import.spec.ts │ │ │ └── import.ts │ │ ├── stores │ │ │ ├── export-store.spec.tsx │ │ │ ├── export-store.ts │ │ │ ├── import-store.spec.tsx │ │ │ └── import-store.ts │ │ └── utils │ │ │ ├── byte-counter.ts │ │ │ ├── get-shell-js-string.spec.ts │ │ │ ├── get-shell-js-string.ts │ │ │ ├── get-user-data-file-path.ts │ │ │ ├── logger.ts │ │ │ ├── open-file.ts │ │ │ ├── query-has-projection.spec.ts │ │ │ ├── query-has-projection.ts │ │ │ ├── reveal-file.ts │ │ │ └── utf8-validator.ts │ ├── test │ │ ├── csv │ │ │ ├── array.analyzed.json │ │ │ ├── array.csv │ │ │ ├── array.exported.csv │ │ │ ├── array.gathered.json │ │ │ ├── array.imported.ejson │ │ │ ├── array.preview.json │ │ │ ├── bad.analyzed.json │ │ │ ├── bad.csv │ │ │ ├── bad.gathered.json │ │ │ ├── bad.imported.ejson │ │ │ ├── bad.preview.json │ │ │ ├── complex.analyzed.json │ │ │ ├── complex.csv │ │ │ ├── complex.exported.csv │ │ │ ├── complex.gathered.json │ │ │ ├── complex.imported.ejson │ │ │ ├── complex.preview.json │ │ │ ├── good-commas.analyzed.json │ │ │ ├── good-commas.csv │ │ │ ├── good-commas.exported.csv │ │ │ ├── good-commas.gathered.json │ │ │ ├── good-commas.imported.ejson │ │ │ ├── good-commas.preview.json │ │ │ ├── good-tabs.analyzed.json │ │ │ ├── good-tabs.csv │ │ │ ├── good-tabs.exported.csv │ │ │ ├── good-tabs.gathered.json │ │ │ ├── good-tabs.imported.ejson │ │ │ ├── good-tabs.preview.json │ │ │ ├── linebreaks.analyzed.json │ │ │ ├── linebreaks.csv │ │ │ ├── linebreaks.exported.csv │ │ │ ├── linebreaks.gathered.json │ │ │ ├── linebreaks.imported.ejson │ │ │ ├── linebreaks.preview.json │ │ │ ├── many-columns.analyzed.json │ │ │ ├── many-columns.csv │ │ │ ├── many-columns.exported.csv │ │ │ ├── many-columns.gathered.json │ │ │ ├── many-columns.imported.ejson │ │ │ ├── many-columns.preview.json │ │ │ ├── number-transform.analyzed.json │ │ │ ├── number-transform.csv │ │ │ ├── number-transform.exported.csv │ │ │ ├── number-transform.gathered.json │ │ │ ├── number-transform.imported.ejson │ │ │ ├── number-transform.preview.json │ │ │ ├── object.analyzed.json │ │ │ ├── object.csv │ │ │ ├── object.exported.csv │ │ │ ├── object.gathered.json │ │ │ ├── object.imported.ejson │ │ │ ├── object.preview.json │ │ │ ├── objectarray.analyzed.json │ │ │ ├── objectarray.csv │ │ │ ├── semicolons.analyzed.json │ │ │ ├── semicolons.csv │ │ │ ├── semicolons.exported.csv │ │ │ ├── semicolons.gathered.json │ │ │ ├── semicolons.imported.ejson │ │ │ ├── semicolons.preview.json │ │ │ ├── spaces.analyzed.json │ │ │ ├── spaces.csv │ │ │ ├── spaces.exported.csv │ │ │ ├── spaces.gathered.json │ │ │ ├── spaces.imported.ejson │ │ │ ├── spaces.preview.json │ │ │ ├── sparse.analyzed.json │ │ │ ├── sparse.csv │ │ │ ├── sparse.exported.csv │ │ │ ├── sparse.gathered.json │ │ │ ├── sparse.imported.ejson │ │ │ ├── sparse.preview.json │ │ │ └── types │ │ │ │ ├── array.csv │ │ │ │ ├── binData.csv │ │ │ │ ├── binData.exported.csv │ │ │ │ ├── boolean.csv │ │ │ │ ├── boolean.exported.csv │ │ │ │ ├── date.csv │ │ │ │ ├── date.exported.csv │ │ │ │ ├── decimal.csv │ │ │ │ ├── decimal.exported.csv │ │ │ │ ├── double.csv │ │ │ │ ├── double.exported.csv │ │ │ │ ├── ejson.csv │ │ │ │ ├── ejson.exported.csv │ │ │ │ ├── int.csv │ │ │ │ ├── int.exported.csv │ │ │ │ ├── long.csv │ │ │ │ ├── long.exported.csv │ │ │ │ ├── maxKey.csv │ │ │ │ ├── maxKey.exported.csv │ │ │ │ ├── md5.csv │ │ │ │ ├── md5.exported.csv │ │ │ │ ├── minKey.csv │ │ │ │ ├── minKey.exported.csv │ │ │ │ ├── mixed.csv │ │ │ │ ├── mixed.exported.csv │ │ │ │ ├── null.csv │ │ │ │ ├── null.exported.csv │ │ │ │ ├── number.csv │ │ │ │ ├── number.exported.csv │ │ │ │ ├── object.csv │ │ │ │ ├── objectId.csv │ │ │ │ ├── objectId.exported.csv │ │ │ │ ├── regex.csv │ │ │ │ ├── regex.exported.csv │ │ │ │ ├── string.csv │ │ │ │ ├── string.exported.csv │ │ │ │ ├── timestamp.csv │ │ │ │ ├── timestamp.exported.csv │ │ │ │ ├── uuid.csv │ │ │ │ └── uuid.exported.csv │ │ ├── docs │ │ │ ├── all-bson-types.exported.canonical.ejson │ │ │ ├── all-bson-types.exported.csv │ │ │ ├── all-bson-types.exported.default.ejson │ │ │ ├── all-bson-types.exported.relaxed.ejson │ │ │ ├── all-bson-types.gathered.json │ │ │ ├── all-bson-types.js │ │ │ └── inconsistent.js │ │ ├── fixtures.ts │ │ ├── json │ │ │ ├── complex.exported.csv │ │ │ ├── complex.exported.ejson │ │ │ ├── complex.gathered.json │ │ │ ├── complex.imported.ejson │ │ │ ├── complex.json │ │ │ ├── good.exported.csv │ │ │ ├── good.exported.ejson │ │ │ ├── good.gathered.json │ │ │ ├── good.imported.ejson │ │ │ ├── good.json │ │ │ ├── promotable.exported.csv │ │ │ ├── promotable.exported.ejson │ │ │ ├── promotable.gathered.json │ │ │ ├── promotable.imported.ejson │ │ │ └── promotable.json │ │ ├── jsonl │ │ │ ├── extra-line.exported.csv │ │ │ ├── extra-line.exported.ejson │ │ │ ├── extra-line.gathered.json │ │ │ ├── extra-line.imported.ejson │ │ │ ├── extra-line.jsonl │ │ │ ├── good.exported.csv │ │ │ ├── good.exported.ejson │ │ │ ├── good.gathered.json │ │ │ ├── good.imported.ejson │ │ │ ├── good.jsonl │ │ │ ├── jsonl-with-csv-fileext.csv │ │ │ ├── jsonl-with-csv-fileext.exported.csv │ │ │ ├── jsonl-with-csv-fileext.exported.ejson │ │ │ ├── jsonl-with-csv-fileext.gathered.json │ │ │ ├── jsonl-with-csv-fileext.imported.ejson │ │ │ ├── single-doc.exported.csv │ │ │ ├── single-doc.exported.ejson │ │ │ ├── single-doc.gathered.json │ │ │ ├── single-doc.imported.ejson │ │ │ └── single-doc.json │ │ └── other │ │ │ ├── empty │ │ │ ├── hello.txt │ │ │ └── javascript │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-indexes │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── create-index-actions │ │ │ │ ├── create-index-actions.spec.tsx │ │ │ │ ├── create-index-actions.tsx │ │ │ │ └── index.ts │ │ │ ├── create-index-fields.spec.tsx │ │ │ ├── create-index-fields.tsx │ │ │ ├── create-index-form │ │ │ │ ├── checkbox-input.tsx │ │ │ │ ├── collapsible-input.tsx │ │ │ │ ├── create-index-form.spec.tsx │ │ │ │ ├── create-index-form.tsx │ │ │ │ ├── index-flow-section.spec.tsx │ │ │ │ ├── index-flow-section.tsx │ │ │ │ ├── mdb-code-viewer.spec.tsx │ │ │ │ ├── mdb-code-viewer.tsx │ │ │ │ ├── query-flow-section.spec.tsx │ │ │ │ └── query-flow-section.tsx │ │ │ ├── create-index-modal │ │ │ │ ├── create-index-modal-header.spec.tsx │ │ │ │ ├── create-index-modal-header.tsx │ │ │ │ ├── create-index-modal.tsx │ │ │ │ └── index.ts │ │ │ ├── indexes-table │ │ │ │ ├── badge-with-icon-link.spec.tsx │ │ │ │ ├── badge-with-icon-link.tsx │ │ │ │ ├── index.ts │ │ │ │ └── indexes-table.tsx │ │ │ ├── indexes-toolbar │ │ │ │ ├── indexes-toolbar.spec.tsx │ │ │ │ └── indexes-toolbar.tsx │ │ │ ├── indexes │ │ │ │ ├── indexes.spec.tsx │ │ │ │ └── indexes.tsx │ │ │ ├── regular-indexes-table │ │ │ │ ├── in-progress-index-actions.spec.tsx │ │ │ │ ├── in-progress-index-actions.tsx │ │ │ │ ├── property-field.spec.tsx │ │ │ │ ├── property-field.tsx │ │ │ │ ├── regular-index-actions.spec.tsx │ │ │ │ ├── regular-index-actions.tsx │ │ │ │ ├── regular-indexes-table.spec.tsx │ │ │ │ ├── regular-indexes-table.tsx │ │ │ │ ├── size-field.spec.tsx │ │ │ │ ├── size-field.tsx │ │ │ │ ├── status-field.tsx │ │ │ │ ├── type-field.spec.tsx │ │ │ │ ├── type-field.tsx │ │ │ │ ├── usage-field.spec.tsx │ │ │ │ └── usage-field.tsx │ │ │ ├── search-index-template-dropdown │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── search-indexes-modals │ │ │ │ ├── base-search-index-modal.spec.tsx │ │ │ │ ├── base-search-index-modal.tsx │ │ │ │ ├── create-search-index-modal.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── update-search-index-modal.spec.tsx │ │ │ │ └── update-search-index-modal.tsx │ │ │ └── search-indexes-table │ │ │ │ ├── search-index-actions.spec.tsx │ │ │ │ ├── search-index-actions.tsx │ │ │ │ ├── search-indexes-table.spec.tsx │ │ │ │ ├── search-indexes-table.tsx │ │ │ │ └── zero-graphic.tsx │ │ ├── index.spec.tsx │ │ ├── index.ts │ │ ├── modules │ │ │ ├── collection-stats.ts │ │ │ ├── create-index.spec.ts │ │ │ ├── create-index.tsx │ │ │ ├── description.spec.ts │ │ │ ├── description.ts │ │ │ ├── index-view.spec.ts │ │ │ ├── index-view.ts │ │ │ ├── index.ts │ │ │ ├── is-readonly-view.spec.ts │ │ │ ├── is-readonly-view.ts │ │ │ ├── is-search-indexes-supported.ts │ │ │ ├── is-writable.spec.ts │ │ │ ├── is-writable.ts │ │ │ ├── namespace.spec.ts │ │ │ ├── namespace.ts │ │ │ ├── regular-indexes.spec.ts │ │ │ ├── regular-indexes.ts │ │ │ ├── rolling-indexes-service.spec.ts │ │ │ ├── rolling-indexes-service.ts │ │ │ ├── search-indexes.spec.ts │ │ │ ├── search-indexes.ts │ │ │ └── server-version.ts │ │ ├── plugin-title.tsx │ │ ├── stores │ │ │ ├── store.spec.ts │ │ │ └── store.ts │ │ └── utils │ │ │ ├── atlas-search-indexes-link.spec.ts │ │ │ ├── atlas-search-indexes-link.ts │ │ │ ├── columnstore-indexes.spec.ts │ │ │ ├── columnstore-indexes.ts │ │ │ ├── create-index-modal-validation.ts │ │ │ ├── fetch-reason.ts │ │ │ ├── fetch-status.ts │ │ │ ├── index-link-helper.ts │ │ │ ├── is-action.ts │ │ │ ├── modal-descriptions.tsx │ │ │ ├── vector-search-indexes.spec.ts │ │ │ └── vector-search-indexes.ts │ ├── test │ │ ├── fixtures │ │ │ ├── regular-indexes.ts │ │ │ └── search-indexes.ts │ │ ├── helpers.ts │ │ └── setup-store.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-intercom │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── intercom-script.ts │ │ ├── intercom-track.ts │ │ ├── setup-intercom.spec.ts │ │ └── setup-intercom.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-logging │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── provider.d.ts │ ├── src │ │ ├── index.spec.ts │ │ ├── index.ts │ │ ├── ipc-logger.ts │ │ ├── is-electron-renderer.d.ts │ │ ├── logger.ts │ │ └── provider.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-maybe-protect-connection-string │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── index.spec.ts │ │ └── index.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-preferences-model │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .mocharc.js │ ├── .npmignore │ ├── README.md │ ├── package.json │ ├── provider.d.ts │ ├── provider.js │ ├── src │ │ ├── compass-utils.ts │ │ ├── compass-web-preferences-access.ts │ │ ├── feature-flags.ts │ │ ├── global-config.spec.ts │ │ ├── global-config.ts │ │ ├── index.ts │ │ ├── maxtimems.ts │ │ ├── parse-record.spec.ts │ │ ├── parse-record.ts │ │ ├── preferences-in-memory-storage.ts │ │ ├── preferences-persistent-storage.spec.ts │ │ ├── preferences-persistent-storage.ts │ │ ├── preferences-schema.tsx │ │ ├── preferences-storage.ts │ │ ├── preferences.spec.ts │ │ ├── preferences.ts │ │ ├── provider.ts │ │ ├── react.spec.tsx │ │ ├── react.ts │ │ ├── read-only-preferences-access.ts │ │ ├── renderer-ipc.spec.ts │ │ ├── renderer-ipc.ts │ │ ├── setup-preferences.ts │ │ ├── user-storage.spec.ts │ │ ├── user-storage.ts │ │ └── utils.ts │ ├── test │ │ └── fixtures │ │ │ ├── index.ts │ │ │ ├── user_1.27.0.json │ │ │ ├── user_1.31.0.json │ │ │ └── user_1.38.0.json │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-query-bar │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── hooks.spec.tsx │ │ │ ├── hooks.tsx │ │ │ ├── option-editor.spec.tsx │ │ │ ├── option-editor.tsx │ │ │ ├── query-ai.spec.tsx │ │ │ ├── query-ai.tsx │ │ │ ├── query-bar-row.tsx │ │ │ ├── query-bar.spec.tsx │ │ │ ├── query-bar.tsx │ │ │ ├── query-history-button-popover.tsx │ │ │ ├── query-history │ │ │ │ ├── favorite-list.spec.tsx │ │ │ │ ├── favorite-list.tsx │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── query-item │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── query-item-action-buttons.tsx │ │ │ │ │ ├── query-item-card.tsx │ │ │ │ │ ├── query-item-content.tsx │ │ │ │ │ └── query-item-heading.tsx │ │ │ │ ├── recent-list.spec.tsx │ │ │ │ ├── recent-list.tsx │ │ │ │ ├── save-query-form.tsx │ │ │ │ ├── toolbar │ │ │ │ │ ├── toolbar.spec.tsx │ │ │ │ │ └── toolbar.tsx │ │ │ │ └── zero-graphic.tsx │ │ │ └── query-option.tsx │ │ ├── constants │ │ │ ├── query-bar-store.ts │ │ │ ├── query-option-definition.ts │ │ │ └── query-properties.ts │ │ ├── index.tsx │ │ ├── modules │ │ │ ├── change-filter.spec.ts │ │ │ ├── change-filter.ts │ │ │ ├── merge-geo-filter.js │ │ │ └── merge-geo-filter.spec.js │ │ ├── query │ │ │ ├── leniently-fix-query.spec.ts │ │ │ └── leniently-fix-query.ts │ │ ├── stores │ │ │ ├── ai-query-reducer.spec.ts │ │ │ ├── ai-query-reducer.ts │ │ │ ├── context.tsx │ │ │ ├── query-bar-reducer.spec.ts │ │ │ ├── query-bar-reducer.ts │ │ │ ├── query-bar-store.spec.ts │ │ │ └── query-bar-store.ts │ │ ├── types.d.ts │ │ └── utils │ │ │ ├── copy-to-clipboard.ts │ │ │ ├── format-query.spec.js │ │ │ ├── format-query.ts │ │ │ ├── get-query-attributes.spec.ts │ │ │ ├── get-query-attributes.ts │ │ │ ├── index.spec.ts │ │ │ ├── index.ts │ │ │ ├── query.spec.ts │ │ │ └── query.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-saved-aggregations-queries │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── aggregations-queries-list.tsx │ │ │ ├── edit-item-modal.tsx │ │ │ ├── empty-list-items.tsx │ │ │ ├── no-active-connections-modal.tsx │ │ │ ├── saved-item-card.test.tsx │ │ │ ├── saved-item-card.tsx │ │ │ ├── select-connection-and-namespace-modal.tsx │ │ │ └── select-connection-modal.tsx │ │ ├── hooks │ │ │ ├── use-grid-filters.spec.tsx │ │ │ └── use-grid-filters.tsx │ │ ├── index.spec.tsx │ │ ├── index.ts │ │ └── stores │ │ │ ├── aggregations-queries-items.ts │ │ │ ├── copy-to-clipboard.ts │ │ │ ├── delete-item.ts │ │ │ ├── edit-item.ts │ │ │ ├── index.ts │ │ │ └── open-item.ts │ ├── test │ │ └── fixtures.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-schema-validation │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── compass-schema-validation.spec.tsx │ │ │ ├── compass-schema-validation.tsx │ │ │ ├── document-preview.spec.tsx │ │ │ ├── document-preview.tsx │ │ │ ├── loading-overlay.tsx │ │ │ ├── sample-documents.spec.tsx │ │ │ ├── sample-documents.tsx │ │ │ ├── validation-editor.spec.tsx │ │ │ ├── validation-editor.tsx │ │ │ ├── validation-selectors.tsx │ │ │ ├── validation-states.spec.tsx │ │ │ ├── validation-states.tsx │ │ │ └── zero-graphic.tsx │ │ ├── index.ts │ │ ├── modules │ │ │ ├── edit-mode.spec.ts │ │ │ ├── edit-mode.ts │ │ │ ├── index.ts │ │ │ ├── is-loaded.spec.ts │ │ │ ├── is-loaded.ts │ │ │ ├── namespace.spec.ts │ │ │ ├── namespace.ts │ │ │ ├── rules-generation.ts │ │ │ ├── sample-documents.spec.ts │ │ │ ├── sample-documents.ts │ │ │ ├── server-version.spec.ts │ │ │ ├── server-version.ts │ │ │ ├── validation.spec.ts │ │ │ ├── validation.ts │ │ │ ├── zero-state.spec.ts │ │ │ └── zero-state.ts │ │ ├── plugin-title.tsx │ │ ├── stores │ │ │ ├── index.ts │ │ │ ├── store.spec.ts │ │ │ └── store.ts │ │ └── util.ts │ ├── test │ │ └── mocha-plugins.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-schema │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── array-minichart.tsx │ │ │ ├── compass-schema.tsx │ │ │ ├── coordinates-minichart │ │ │ │ ├── constants.js │ │ │ │ ├── coordinates-minichart.css │ │ │ │ ├── coordinates-minichart.jsx │ │ │ │ ├── coordinates-minichart.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── marker-popup.jsx │ │ │ │ ├── marker-popup.module.less │ │ │ │ ├── marker.jsx │ │ │ │ ├── utils.js │ │ │ │ └── utils.spec.js │ │ │ ├── d3-component │ │ │ │ ├── d3-component.jsx │ │ │ │ └── index.js │ │ │ ├── document-minichart.tsx │ │ │ ├── export-schema-legacy-modal.tsx │ │ │ ├── export-schema-modal.tsx │ │ │ ├── field.spec.tsx │ │ │ ├── field.tsx │ │ │ ├── minichart │ │ │ │ ├── index.js │ │ │ │ └── minichart.jsx │ │ │ ├── schema-toolbar.spec.tsx │ │ │ ├── schema-toolbar.tsx │ │ │ ├── type.tsx │ │ │ ├── unique-minichart │ │ │ │ ├── index.js │ │ │ │ └── unique-minichart.jsx │ │ │ ├── value-bubble.tsx │ │ │ └── zero-graphic.tsx │ │ ├── constants │ │ │ ├── analysis-states.ts │ │ │ └── schema.ts │ │ ├── index.ts │ │ ├── modules │ │ │ ├── boolean.js │ │ │ ├── create-d3-tip.js │ │ │ ├── d3-tip.js │ │ │ ├── date.js │ │ │ ├── detect-coordinates.js │ │ │ ├── detect-coordinates.spec.js │ │ │ ├── few.js │ │ │ ├── geo.spec.ts │ │ │ ├── geo.ts │ │ │ ├── index.ts │ │ │ ├── many.js │ │ │ ├── number.js │ │ │ ├── schema-analysis.spec.ts │ │ │ ├── schema-analysis.ts │ │ │ ├── shared.js │ │ │ └── string.js │ │ ├── plugin-title.tsx │ │ ├── stores │ │ │ ├── schema-analysis-reducer.ts │ │ │ ├── schema-export-reducer.ts │ │ │ ├── store.spec.ts │ │ │ └── store.ts │ │ ├── utils.spec.ts │ │ └── utils.ts │ ├── test │ │ ├── fixtures │ │ │ ├── geo_json.json │ │ │ ├── legacy_pairs.json │ │ │ └── unpromoted_doubles.json │ │ └── setup.js │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-serverstats │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── .npmignore │ ├── README.md │ ├── demo │ │ ├── rtss_demo.py │ │ ├── rtss_demo2.py │ │ └── rtss_demo3.py │ ├── package.json │ ├── src │ │ ├── actions │ │ │ └── index.js │ │ ├── components │ │ │ ├── chart-component.jsx │ │ │ ├── current-op-component.tsx │ │ │ ├── dberror-component.tsx │ │ │ ├── detailview-component.tsx │ │ │ ├── index.less │ │ │ ├── index.tsx │ │ │ ├── rtss-charts.less │ │ │ ├── rtss-db.less │ │ │ ├── rtss-lists.less │ │ │ ├── server-stats-graphs-component.jsx │ │ │ ├── server-stats-lists-component.jsx │ │ │ ├── server-stats-toolbar.tsx │ │ │ └── top-component.jsx │ │ ├── d3 │ │ │ ├── index.js │ │ │ ├── real-time-chart-lines.js │ │ │ ├── real-time-dispatcher.js │ │ │ ├── real-time-legend.js │ │ │ ├── real-time-line-chart.js │ │ │ └── real-time-mouse-overlay.js │ │ ├── index.ts │ │ └── stores │ │ │ ├── current-op-store.js │ │ │ ├── dberror-store.js │ │ │ ├── globallock-store.js │ │ │ ├── mem-store.js │ │ │ ├── network-store.js │ │ │ ├── opcounters-store.js │ │ │ ├── server-stats-graphs-store.js │ │ │ └── top-store.js │ ├── test │ │ ├── .eslintrc │ │ └── enzyme │ │ │ ├── chart-component.test.js │ │ │ ├── performance-component.test.jsx │ │ │ └── server-stats-toolbar.test.tsx │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-settings │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── index.tsx │ │ │ ├── modal.spec.tsx │ │ │ ├── modal.tsx │ │ │ ├── settings │ │ │ │ ├── atlas-login.spec.tsx │ │ │ │ ├── atlas-login.tsx │ │ │ │ ├── feature-preview.tsx │ │ │ │ ├── gen-ai-settings.spec.tsx │ │ │ │ ├── gen-ai-settings.tsx │ │ │ │ ├── general.spec.tsx │ │ │ │ ├── general.tsx │ │ │ │ ├── oidc-settings.spec.tsx │ │ │ │ ├── oidc-settings.tsx │ │ │ │ ├── privacy.spec.tsx │ │ │ │ ├── privacy.tsx │ │ │ │ ├── proxy-settings-custom.spec.tsx │ │ │ │ ├── proxy-settings-custom.tsx │ │ │ │ ├── proxy-settings.spec.tsx │ │ │ │ ├── proxy-settings.tsx │ │ │ │ ├── settings-list.tsx │ │ │ │ ├── state-labels.tsx │ │ │ │ ├── theme.spec.tsx │ │ │ │ └── theme.tsx │ │ │ ├── sidebar.spec.tsx │ │ │ └── sidebar.tsx │ │ ├── index.ts │ │ ├── stores │ │ │ ├── atlas-login.ts │ │ │ ├── index.ts │ │ │ ├── preferences-sandbox.spec.ts │ │ │ ├── preferences-sandbox.ts │ │ │ ├── settings.spec.ts │ │ │ ├── settings.ts │ │ │ └── utils.ts │ │ └── utils │ │ │ └── pick.ts │ ├── test │ │ └── configure-store.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-shell │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── compass-shell │ │ │ │ ├── index.ts │ │ │ │ └── tab-compass-shell.tsx │ │ │ ├── shell-header │ │ │ │ ├── index.ts │ │ │ │ ├── shell-header.spec.tsx │ │ │ │ └── shell-header.tsx │ │ │ └── shell-info-modal │ │ │ │ ├── index.ts │ │ │ │ ├── keyboard-shortcuts-table.tsx │ │ │ │ ├── shell-info-modal.spec.tsx │ │ │ │ └── shell-info-modal.tsx │ │ ├── index.ts │ │ ├── modules │ │ │ ├── history-storage.spec.ts │ │ │ ├── history-storage.ts │ │ │ └── worker-runtime.ts │ │ ├── plugin.spec.tsx │ │ ├── plugin.tsx │ │ └── stores │ │ │ └── store.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-sidebar │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── connection-info-modal.tsx │ │ │ ├── connections-filter-popover.tsx │ │ │ ├── csfle-connection-modal.tsx │ │ │ ├── csfle-marker.tsx │ │ │ ├── db-stats.tsx │ │ │ ├── multiple-connections │ │ │ │ ├── connections-navigation.tsx │ │ │ │ ├── header │ │ │ │ │ └── sidebar-header.tsx │ │ │ │ ├── navigation │ │ │ │ │ └── navigation.tsx │ │ │ │ ├── sidebar.spec.tsx │ │ │ │ └── sidebar.tsx │ │ │ ├── navigation-items-filter.tsx │ │ │ ├── non-genuine-marker.tsx │ │ │ ├── use-filtered-connections.spec.ts │ │ │ └── use-filtered-connections.ts │ │ ├── empty.ts │ │ ├── helpers │ │ │ └── find-collection.ts │ │ ├── index.ts │ │ ├── modules │ │ │ ├── connection-options.spec.ts │ │ │ ├── connection-options.ts │ │ │ ├── data-service.ts │ │ │ ├── databases.spec.ts │ │ │ ├── databases.ts │ │ │ ├── index.ts │ │ │ ├── instance.spec.ts │ │ │ ├── instance.ts │ │ │ └── is-performance-tab-supported.ts │ │ ├── plugin.tsx │ │ └── stores │ │ │ ├── index.ts │ │ │ ├── store.spec.ts │ │ │ └── store.ts │ ├── test │ │ └── helpers.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-smoke-tests │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .prettierignore │ ├── package.json │ ├── src │ │ ├── build-info.ts │ │ ├── cli.ts │ │ ├── compass-mongodb-com.d.ts │ │ ├── context.ts │ │ ├── directories.ts │ │ ├── dispatch.ts │ │ ├── downloads.ts │ │ ├── execute.ts │ │ ├── installers │ │ │ ├── apt.ts │ │ │ ├── index.ts │ │ │ ├── linux-deb.ts │ │ │ ├── linux-rpm.ts │ │ │ ├── linux-tar.ts │ │ │ ├── mac-dmg.ts │ │ │ ├── mac-utils.ts │ │ │ ├── mac-zip.ts │ │ │ ├── types.ts │ │ │ ├── windows-msi.ts │ │ │ ├── windows-registry.ts │ │ │ ├── windows-setup.ts │ │ │ └── windows-zip.ts │ │ ├── packages.ts │ │ ├── releases.ts │ │ ├── test-subject.ts │ │ └── tests │ │ │ ├── auto-update-from.ts │ │ │ ├── auto-update-to.ts │ │ │ ├── time-to-first-query.ts │ │ │ ├── types.ts │ │ │ └── update-server.ts │ └── tsconfig.json ├── compass-telemetry │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── provider.d.ts │ ├── src │ │ ├── generic-track.ts │ │ ├── growth-experiments.ts │ │ ├── index.spec.tsx │ │ ├── index.ts │ │ ├── ipc-track.ts │ │ ├── provider.tsx │ │ ├── telemetry-events.ts │ │ └── types.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-test-server │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── index.spec.ts │ │ └── index.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-user-data │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── index.ts │ │ ├── semaphore.spec.ts │ │ ├── semaphore.ts │ │ ├── user-data.spec.ts │ │ └── user-data.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-utils │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── cancellable-promise.ts │ │ ├── electron.ts │ │ ├── index.spec.ts │ │ ├── index.ts │ │ └── promisify-ampersand-method.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-web │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── polyfills │ │ ├── @mongodb-js │ │ │ ├── connection-form │ │ │ │ └── index.ts │ │ │ ├── devtools-connect │ │ │ │ └── index.ts │ │ │ ├── devtools-proxy-support │ │ │ │ └── index.ts │ │ │ └── saslprep │ │ │ │ └── index.ts │ │ ├── dns │ │ │ └── index.ts │ │ ├── fs │ │ │ ├── index.ts │ │ │ └── promises │ │ │ │ └── index.ts │ │ ├── net │ │ │ └── index.ts │ │ ├── process │ │ │ └── index.ts │ │ ├── throwError │ │ │ └── index.ts │ │ ├── tls │ │ │ └── index.ts │ │ ├── tr46 │ │ │ ├── index.spec.ts │ │ │ └── index.ts │ │ ├── util │ │ │ └── types │ │ │ │ └── index.ts │ │ └── zlib │ │ │ └── index.ts │ ├── sandbox │ │ ├── index.html │ │ ├── index.tsx │ │ ├── sandbox-atlas-sign-in.tsx │ │ ├── sandbox-connection-storage.tsx │ │ ├── sandbox-logger.ts │ │ ├── sandbox-telemetry.ts │ │ └── sandbox-workspace-tab-router.tsx │ ├── scripts │ │ ├── electron-proxy.js │ │ ├── sync-dist-to-mms.js │ │ └── ws-proxy.js │ ├── src │ │ ├── atlas-auth-service.tsx │ │ ├── connection-storage.spec.ts │ │ ├── connection-storage.tsx │ │ ├── entrypoint.spec.tsx │ │ ├── entrypoint.tsx │ │ ├── index.tsx │ │ ├── logger-and-telemetry.spec.tsx │ │ ├── logger-and-telemetry.tsx │ │ ├── preferences.tsx │ │ ├── types.d.ts │ │ ├── url-builder.spec.ts │ │ └── url-builder.ts │ ├── tsconfig-build.json │ ├── tsconfig-lint.json │ ├── tsconfig.json │ └── webpack.config.js ├── compass-welcome │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── desktop-welcome-tab.spec.tsx │ │ │ ├── desktop-welcome-tab.tsx │ │ │ ├── index.ts │ │ │ ├── modal.spec.tsx │ │ │ ├── modal.tsx │ │ │ ├── web-welcome-tab.spec.tsx │ │ │ ├── web-welcome-tab.tsx │ │ │ └── welcome-image.tsx │ │ ├── index.ts │ │ └── stores │ │ │ └── index.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass-workspaces │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── provider.d.ts │ ├── provider.js │ ├── src │ │ ├── components │ │ │ ├── index.tsx │ │ │ ├── workspace-close-handler.tsx │ │ │ ├── workspace-tab-context-provider.tsx │ │ │ ├── workspace-tab-state-provider.spec.tsx │ │ │ ├── workspace-tab-state-provider.tsx │ │ │ ├── workspaces-provider.tsx │ │ │ └── workspaces.tsx │ │ ├── index.spec.tsx │ │ ├── index.ts │ │ ├── provider.tsx │ │ ├── stores │ │ │ ├── context.ts │ │ │ ├── workspaces.spec.ts │ │ │ └── workspaces.ts │ │ └── types.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── compass │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .mocharc.js │ ├── .mocharc.renderer.js │ ├── .prettierignore │ ├── LICENSE │ ├── README.md │ ├── app-icons │ │ ├── README.md │ │ ├── darwin │ │ │ ├── background.png │ │ │ ├── background@2x.png │ │ │ ├── mongodb-compass-logo-beta.icns │ │ │ ├── mongodb-compass-logo-dev.icns │ │ │ └── mongodb-compass-logo-stable.icns │ │ ├── linux │ │ │ ├── mongodb-compass-logo-beta.png │ │ │ ├── mongodb-compass-logo-dev.png │ │ │ └── mongodb-compass-logo-stable.png │ │ └── win32 │ │ │ ├── background.jpg │ │ │ ├── banner.jpg │ │ │ ├── mongodb-compass-installer-loading.gif │ │ │ ├── mongodb-compass-logo-beta.ico │ │ │ ├── mongodb-compass-logo-dev.ico │ │ │ └── mongodb-compass-logo-stable.ico │ ├── compass-screenshot.png │ ├── licenses.json │ ├── package.json │ ├── scripts │ │ ├── check-bundled-app-size.ts │ │ ├── download-csfle.js │ │ ├── download-fonts.js │ │ ├── electron-rebuild.js │ │ ├── macos-entitlements.xml │ │ ├── patterns │ │ │ ├── linux_tar-patterns.json │ │ │ ├── osx_zip-patterns.json │ │ │ └── windows_zip-patterns.json │ │ └── verify-package-contents.ts │ ├── src │ │ ├── app │ │ │ ├── application.tsx │ │ │ ├── components │ │ │ │ ├── entrypoint.tsx │ │ │ │ ├── home.spec.tsx │ │ │ │ ├── home.tsx │ │ │ │ ├── update-toasts.tsx │ │ │ │ └── workspace.tsx │ │ │ ├── fonts │ │ │ │ └── .gitkeep │ │ │ ├── images │ │ │ │ ├── compass-dialog-icon.png │ │ │ │ └── explain-card-clockface.png │ │ │ ├── index.html │ │ │ ├── index.less │ │ │ ├── index.ts │ │ │ ├── styles │ │ │ │ ├── fonts.less │ │ │ │ ├── index.less │ │ │ │ └── palette.less │ │ │ └── utils │ │ │ │ ├── csp.ts │ │ │ │ ├── telemetry.spec.ts │ │ │ │ ├── telemetry.ts │ │ │ │ └── update-title.ts │ │ ├── deps │ │ │ └── csfle │ │ │ │ └── .gitignore │ │ ├── index.d.ts │ │ ├── main │ │ │ ├── README.md │ │ │ ├── application.ts │ │ │ ├── auto-connect.spec.ts │ │ │ ├── auto-connect.ts │ │ │ ├── auto-update-manager.spec.ts │ │ │ ├── auto-update-manager.ts │ │ │ ├── disable-node-deprecations.ts │ │ │ ├── handle-error.ts │ │ │ ├── handle-uncaught-exception.ts │ │ │ ├── handle-unhandled-rejection.ts │ │ │ ├── icon.spec.ts │ │ │ ├── icon.ts │ │ │ ├── import-export-connections.ts │ │ │ ├── index.ts │ │ │ ├── logging.spec.ts │ │ │ ├── logging.ts │ │ │ ├── menu.spec.ts │ │ │ ├── menu.ts │ │ │ ├── optional-deps.ts │ │ │ ├── protocol-handling.spec.ts │ │ │ ├── protocol-handling.ts │ │ │ ├── setup-csfle-library.ts │ │ │ ├── squirrel-startup.ts │ │ │ ├── telemetry.ts │ │ │ ├── theme.ts │ │ │ ├── validate-connection-string.ts │ │ │ └── window-manager.ts │ │ └── setup-hadron-distribution.ts │ ├── tsconfig-lint.json │ ├── tsconfig.json │ └── webpack.config.js ├── connection-form │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── components │ │ │ ├── advanced-connection-options.tsx │ │ │ ├── advanced-options-tabs │ │ │ │ ├── advanced-options-tabs.spec.tsx │ │ │ │ ├── advanced-options-tabs.tsx │ │ │ │ ├── advanced-tab │ │ │ │ │ ├── advanced-tab.spec.tsx │ │ │ │ │ ├── advanced-tab.tsx │ │ │ │ │ ├── url-options-list-editor.spec.tsx │ │ │ │ │ ├── url-options-list-editor.tsx │ │ │ │ │ └── url-options.tsx │ │ │ │ ├── authentication-tab │ │ │ │ │ ├── authentication-aws.spec.tsx │ │ │ │ │ ├── authentication-aws.tsx │ │ │ │ │ ├── authentication-default.spec.tsx │ │ │ │ │ ├── authentication-default.tsx │ │ │ │ │ ├── authentication-gssapi.spec.tsx │ │ │ │ │ ├── authentication-gssapi.tsx │ │ │ │ │ ├── authentication-oidc.spec.tsx │ │ │ │ │ ├── authentication-oidc.tsx │ │ │ │ │ ├── authentication-plain.spec.tsx │ │ │ │ │ ├── authentication-plain.tsx │ │ │ │ │ ├── authentication-tab.spec.tsx │ │ │ │ │ ├── authentication-tab.tsx │ │ │ │ │ └── authentication-x509.tsx │ │ │ │ ├── csfle-tab │ │ │ │ │ ├── csfle-tab.spec.tsx │ │ │ │ │ ├── csfle-tab.tsx │ │ │ │ │ ├── encrypted-field-config-input.tsx │ │ │ │ │ ├── kms-local-key-generator.tsx │ │ │ │ │ ├── kms-provider-card.tsx │ │ │ │ │ ├── kms-provider-content.tsx │ │ │ │ │ ├── kms-provider-fields.tsx │ │ │ │ │ ├── kms-provider-status-indicator.tsx │ │ │ │ │ └── kms-tls-options.tsx │ │ │ │ ├── general-tab │ │ │ │ │ ├── direct-connection-input.spec.tsx │ │ │ │ │ ├── direct-connection-input.tsx │ │ │ │ │ ├── general-tab.spec.tsx │ │ │ │ │ ├── general-tab.tsx │ │ │ │ │ ├── host-input.spec.tsx │ │ │ │ │ ├── host-input.tsx │ │ │ │ │ ├── scheme-input.spec.tsx │ │ │ │ │ └── scheme-input.tsx │ │ │ │ ├── ssh-tunnel-tab │ │ │ │ │ ├── app-proxy.tsx │ │ │ │ │ ├── proxy-and-ssh-tunnel-tab.spec.tsx │ │ │ │ │ ├── proxy-and-ssh-tunnel-tab.tsx │ │ │ │ │ ├── socks.spec.tsx │ │ │ │ │ ├── socks.tsx │ │ │ │ │ ├── ssh-tunnel-identity.spec.tsx │ │ │ │ │ ├── ssh-tunnel-identity.tsx │ │ │ │ │ ├── ssh-tunnel-password.spec.tsx │ │ │ │ │ └── ssh-tunnel-password.tsx │ │ │ │ └── tls-ssl-tab │ │ │ │ │ ├── tls-certificate-authority.tsx │ │ │ │ │ ├── tls-client-certificate.tsx │ │ │ │ │ ├── tls-ssl-tab.spec.tsx │ │ │ │ │ └── tls-ssl-tab.tsx │ │ │ ├── connection-form-modal-actions.spec.tsx │ │ │ ├── connection-form-modal-actions.tsx │ │ │ ├── connection-form-modal.tsx │ │ │ ├── connection-form.spec.tsx │ │ │ ├── connection-form.tsx │ │ │ ├── connection-string-input.spec.tsx │ │ │ ├── connection-string-input.tsx │ │ │ └── form-help │ │ │ │ └── form-help.tsx │ │ ├── constants │ │ │ └── default-connection.ts │ │ ├── hooks │ │ │ ├── use-connect-form-settings.tsx │ │ │ ├── use-connect-form.spec.ts │ │ │ ├── use-connect-form.ts │ │ │ ├── use-connection-color.spec.tsx │ │ │ └── use-connection-color.ts │ │ ├── index.ts │ │ └── utils │ │ │ ├── authentication-handler.spec.ts │ │ │ ├── authentication-handler.ts │ │ │ ├── check-for-invalid-character-in-host.spec.ts │ │ │ ├── check-for-invalid-character-in-host.ts │ │ │ ├── connection-ssh-handler.spec.ts │ │ │ ├── connection-ssh-handler.ts │ │ │ ├── connection-string-helpers.spec.ts │ │ │ ├── connection-string-helpers.ts │ │ │ ├── connection-string-schema.spec.ts │ │ │ ├── connection-string-schema.ts │ │ │ ├── csfle-handler.spec.ts │ │ │ ├── csfle-handler.ts │ │ │ ├── csfle-kms-fields.ts │ │ │ ├── force-connection-options.spec.ts │ │ │ ├── force-connection-options.ts │ │ │ ├── get-next-host.spec.ts │ │ │ ├── get-next-host.ts │ │ │ ├── oidc-handler.spec.ts │ │ │ ├── oidc-handler.ts │ │ │ ├── set-app-name-if-missing.spec.ts │ │ │ ├── set-app-name-if-missing.ts │ │ │ ├── tls-handler.spec.ts │ │ │ ├── tls-handler.ts │ │ │ ├── url-options.ts │ │ │ ├── validation.spec.ts │ │ │ └── validation.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── connection-info │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── connection-info.ts │ │ ├── connection-secrets.spec.ts │ │ ├── connection-secrets.ts │ │ ├── connection-title.spec.ts │ │ ├── connection-title.ts │ │ └── index.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── connection-storage │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── main.d.ts │ ├── main.js │ ├── package.json │ ├── provider.d.ts │ ├── provider.js │ ├── renderer.d.ts │ ├── renderer.js │ ├── src │ │ ├── auto-connect.spec.ts │ │ ├── compass-main-connection-storage.spec.ts │ │ ├── compass-main-connection-storage.ts │ │ ├── compass-renderer-connection-storage.ts │ │ ├── connection-storage.ts │ │ ├── encrypt.spec.ts │ │ ├── encrypt.ts │ │ ├── import-export-connection.spec.ts │ │ ├── import-export-connection.ts │ │ ├── in-memory-connection-storage.ts │ │ ├── main.ts │ │ ├── provider.ts │ │ ├── renderer.ts │ │ └── utils.ts │ ├── test │ │ └── fixtures │ │ │ ├── compass-connections.ts │ │ │ ├── favorite_connection_1.27.0.json │ │ │ ├── favorite_connection_1.31.0.json │ │ │ └── favorite_connection_1.38.0.json │ ├── tsconfig-lint.json │ └── tsconfig.json ├── data-service │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .mocharc.js │ ├── .npmignore │ ├── .prettierignore │ ├── README.md │ ├── package.json │ ├── src │ │ ├── connect-mongo-client.spec.ts │ │ ├── connect-mongo-client.ts │ │ ├── connect.spec.ts │ │ ├── connect.ts │ │ ├── connection-attempt.spec.ts │ │ ├── connection-attempt.ts │ │ ├── connection-options.ts │ │ ├── csfle-collection-tracker.spec.ts │ │ ├── csfle-collection-tracker.ts │ │ ├── data-service.spec.ts │ │ ├── data-service.ts │ │ ├── index-detail-helper.spec.ts │ │ ├── index-detail-helper.ts │ │ ├── index.ts │ │ ├── instance-detail-helper.spec.ts │ │ ├── instance-detail-helper.ts │ │ ├── logger.ts │ │ ├── redact.ts │ │ ├── run-command.ts │ │ ├── search-index-detail-helper.ts │ │ ├── ssh-tunnel-helpers.ts │ │ └── types.ts │ ├── test │ │ ├── fixtures.ts │ │ ├── helpers.ts │ │ └── mocks.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── database-model │ ├── .depcheckrc │ ├── .eslintrc.js │ ├── .gitignore │ ├── .npmignore │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── lib │ │ └── model.js │ ├── package.json │ └── test │ │ └── index.test.js ├── databases-collections-list │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── collections.tsx │ │ ├── databases.tsx │ │ ├── format.ts │ │ ├── index.spec.tsx │ │ ├── index.ts │ │ ├── items-grid.tsx │ │ ├── namespace-card.tsx │ │ ├── namespace-param.tsx │ │ └── use-view-type.tsx │ ├── tsconfig-lint.json │ └── tsconfig.json ├── databases-collections │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── collections-plugin.spec.tsx │ │ ├── collections-plugin.tsx │ │ ├── components │ │ │ ├── collation-fields │ │ │ │ ├── collation-fields.jsx │ │ │ │ ├── collation-fields.spec.jsx │ │ │ │ └── index.js │ │ │ ├── collection-fields │ │ │ │ ├── clustered-collection-fields.jsx │ │ │ │ ├── clustered-collection-fields.spec.jsx │ │ │ │ ├── collation.jsx │ │ │ │ ├── collection-fields.jsx │ │ │ │ ├── collection-fields.spec.jsx │ │ │ │ ├── collection-name.jsx │ │ │ │ ├── database-name.jsx │ │ │ │ ├── fle2-fields.jsx │ │ │ │ ├── fle2-fields.spec.jsx │ │ │ │ ├── has-clustered-collection-support.js │ │ │ │ ├── has-clustered-collection-support.spec.js │ │ │ │ ├── has-fle2-support.js │ │ │ │ ├── has-fle2-support.spec.js │ │ │ │ ├── has-flexible-bucket-config-support.spec.ts │ │ │ │ ├── has-flexible-bucket-config-support.ts │ │ │ │ ├── has-time-series-support.js │ │ │ │ ├── has-time-series-support.spec.js │ │ │ │ ├── index.js │ │ │ │ ├── time-series-fields.jsx │ │ │ │ └── time-series-fields.spec.jsx │ │ │ ├── collections.tsx │ │ │ ├── create-namespace-modal.spec.tsx │ │ │ ├── create-namespace-modal.tsx │ │ │ ├── databases.tsx │ │ │ ├── load-sample-data.tsx │ │ │ ├── rename-collection-modal │ │ │ │ ├── rename-collection-modal.spec.tsx │ │ │ │ └── rename-collection-modal.tsx │ │ │ └── zero-graphic.tsx │ │ ├── constants │ │ │ └── collation.js │ │ ├── databases-plugin.spec.tsx │ │ ├── databases-plugin.tsx │ │ ├── index.ts │ │ ├── modules │ │ │ ├── collections.ts │ │ │ ├── create-namespace.spec.ts │ │ │ ├── create-namespace.ts │ │ │ ├── databases.ts │ │ │ ├── index.ts │ │ │ └── rename-collection │ │ │ │ ├── rename-collection.spec.ts │ │ │ │ └── rename-collection.ts │ │ └── stores │ │ │ ├── collections-store.ts │ │ │ ├── create-namespace.spec.tsx │ │ │ ├── create-namespace.ts │ │ │ ├── databases-store.ts │ │ │ ├── drop-namespace.spec.tsx │ │ │ ├── drop-namespace.tsx │ │ │ ├── rename-collection.spec.tsx │ │ │ └── rename-collection.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── explain-plan-helper │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── get-execution-stats.ts │ │ ├── get-planner-info.ts │ │ ├── index.spec.ts │ │ ├── index.ts │ │ ├── utils.spec.ts │ │ └── utils.ts │ ├── test │ │ └── fixtures │ │ │ ├── aggregate_$cursor_sbe.json │ │ │ ├── aggregate_$geonearcursor.json │ │ │ ├── aggregate_$lookup_with_indexes.json │ │ │ ├── aggregate_$out.json │ │ │ ├── aggregate_collscan.json │ │ │ ├── aggregate_stages_with_no_time.json │ │ │ ├── clustered_scan.json │ │ │ ├── count_scan.json │ │ │ ├── covered_index_3.2.json │ │ │ ├── express_clustered_scan.json │ │ │ ├── express_index_scan.json │ │ │ ├── idhack_stage_3.2.json │ │ │ ├── multi-shard-aggregate-with-stages.json │ │ │ ├── multi-shard-aggregate-without-stages.json │ │ │ ├── sharded_aggregate_$lookup_with_indexes.json │ │ │ ├── sharded_geo_query_3.2.json │ │ │ ├── sharded_mixed_index_3.2.json │ │ │ ├── sharded_single_index_3.2.json │ │ │ ├── simple_collscan_3.2.json │ │ │ ├── simple_index_3.2.json │ │ │ ├── single-shard-aggregate-with-stages.json │ │ │ ├── single-shard-aggregate-without-stages.json │ │ │ └── sort_skip_limit_index_3.2.json │ ├── tsconfig-lint.json │ └── tsconfig.json ├── hadron-app-registry │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .mocharc.js │ ├── .npmignore │ ├── README.md │ ├── package.json │ ├── src │ │ ├── app-registry.spec.ts │ │ ├── app-registry.ts │ │ ├── index.ts │ │ ├── react-context.tsx │ │ ├── register-plugin.spec.tsx │ │ └── register-plugin.tsx │ ├── tsconfig-lint.json │ └── tsconfig.json ├── hadron-build │ ├── .depcheckrc │ ├── .eslintrc │ ├── .gitignore │ ├── .npmignore │ ├── .prettierignore │ ├── README.md │ ├── cli.js │ ├── commands │ │ ├── download.d.ts │ │ ├── download.js │ │ ├── info.d.ts │ │ ├── info.js │ │ ├── release.d.ts │ │ ├── release.js │ │ └── upload.js │ ├── index.js │ ├── lib │ │ ├── download-center.js │ │ ├── entitlements.xml │ │ ├── mac-notary-service.js │ │ ├── run.js │ │ ├── signtool.js │ │ ├── tar-gz.js │ │ ├── target.js │ │ ├── validate-build-config.js │ │ ├── windows-installer-version.js │ │ └── zip.js │ ├── package.json │ ├── signtool │ │ ├── build.sh │ │ ├── go.mod │ │ ├── go.sum │ │ ├── install.js │ │ ├── signtool.exe │ │ └── signtool.go │ └── test │ │ ├── config.test.js │ │ ├── download-center.test.js │ │ ├── fixtures │ │ └── hadron-app │ │ │ ├── LICENSE │ │ │ ├── background.png │ │ │ ├── hadron-app.icns │ │ │ ├── hadron-app.png │ │ │ ├── main.js │ │ │ ├── package.json │ │ │ ├── resources │ │ │ ├── darwin │ │ │ │ ├── background.png │ │ │ │ └── hadron-app.icns │ │ │ ├── linux │ │ │ │ ├── Icon.png │ │ │ │ ├── Icon128.png │ │ │ │ ├── Icon16.png │ │ │ │ ├── Icon24.png │ │ │ │ ├── Icon256.png │ │ │ │ ├── Icon32.png │ │ │ │ ├── Icon48.png │ │ │ │ ├── Icon512.png │ │ │ │ ├── Icon64.png │ │ │ │ └── Icon96.png │ │ │ └── win32 │ │ │ │ └── hadron-app.ico │ │ │ ├── src │ │ │ ├── app │ │ │ │ ├── index.html │ │ │ │ └── index.less │ │ │ └── internal-plugins │ │ │ │ └── index.js │ │ │ └── test │ │ │ ├── enzyme │ │ │ └── index.test.js │ │ │ ├── functional │ │ │ └── index.test.js │ │ │ ├── main │ │ │ └── index.test.js │ │ │ ├── renderer │ │ │ └── index.test.js │ │ │ └── unit │ │ │ └── index.test.js │ │ ├── helpers.js │ │ ├── index.test.js │ │ ├── release.test.js │ │ ├── signtool.test.js │ │ ├── tar-gz.test.js │ │ ├── target.test.js │ │ ├── upload.test.js │ │ ├── windows-installer-version.test.js │ │ └── zip.test.js ├── hadron-document │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── .mocharc.js │ ├── .npmignore │ ├── README.md │ ├── package.json │ ├── src │ │ ├── document.ts │ │ ├── editor │ │ │ ├── date.ts │ │ │ ├── decimal128.ts │ │ │ ├── double.ts │ │ │ ├── index.ts │ │ │ ├── int32.ts │ │ │ ├── int64.ts │ │ │ ├── null.ts │ │ │ ├── objectid.ts │ │ │ ├── standard.ts │ │ │ ├── string.ts │ │ │ └── undefined.ts │ │ ├── element-events.ts │ │ ├── element.ts │ │ ├── index.ts │ │ ├── object-generator.ts │ │ └── utils.ts │ ├── test │ │ ├── document.test.ts │ │ ├── editor │ │ │ ├── date.spec.ts │ │ │ ├── decimal128.spec.ts │ │ │ ├── double.spec.ts │ │ │ ├── int32.spec.ts │ │ │ ├── int64.spec.ts │ │ │ ├── null.spec.ts │ │ │ ├── objectid.spec.ts │ │ │ ├── standard.spec.ts │ │ │ ├── string.spec.ts │ │ │ └── undefined.spec.ts │ │ ├── element.test.ts │ │ ├── object-generator.test.ts │ │ └── shared-examples.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── hadron-ipc │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── README.md │ ├── package.json │ ├── src │ │ ├── common.ts │ │ ├── index.spec.ts │ │ ├── index.ts │ │ ├── main.ts │ │ ├── renderer.ts │ │ ├── serialized-error.ts │ │ └── types.d.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── hadron-type-checker │ ├── .depcheckrc │ ├── .eslintrc │ ├── .gitignore │ ├── .npmignore │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ ├── src │ │ └── type-checker.js │ └── test │ │ └── type-checker.test.js ├── instance-model │ ├── .depcheckrc │ ├── .eslintrc.js │ ├── .gitignore │ ├── .npmignore │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── lib │ │ ├── environment.js │ │ ├── model.js │ │ ├── server-type.js │ │ ├── server-type.spec.js │ │ ├── topology-description.js │ │ └── topology-type.js │ ├── package.json │ └── test │ │ └── index.test.js ├── mongodb-explain-compat │ ├── .depcheckrc │ ├── .eslintrc │ ├── .gitignore │ ├── README.md │ ├── index.d.ts │ ├── lib │ │ └── index.js │ ├── package.json │ └── test │ │ ├── fixtures │ │ ├── in1.json │ │ ├── in2.json │ │ ├── in4.json │ │ ├── out1.json │ │ ├── out2.json │ │ ├── query-planner-only.json │ │ ├── sharded-aggregate-with-stages.classic.in.json │ │ ├── sharded-aggregate-with-stages.classic.out.json │ │ ├── sharded-aggregate-with-stages.sbe.in.json │ │ ├── sharded-aggregate-with-stages.sbe.out.json │ │ ├── sharded-aggregate-without-stages.classic.in.json │ │ ├── sharded-aggregate-without-stages.classic.out.json │ │ ├── sharded-aggregate-without-stages.sbe.in.json │ │ ├── sharded-aggregate-without-stages.sbe.out.json │ │ ├── sharded-find.classic.in.json │ │ ├── sharded-find.classic.out.json │ │ ├── sharded-find.sbe.in.json │ │ ├── sharded-find.sbe.out.json │ │ ├── unsharded-aggregate-on-mongos.7.2.in.json │ │ ├── unsharded-aggregate-on-mongos.7.2.out.json │ │ ├── unsharded-aggregate.classic.in.json │ │ ├── unsharded-aggregate.classic.out.json │ │ ├── unsharded-aggregate.sbe.in.json │ │ ├── unsharded-aggregate.sbe.out.json │ │ ├── unsharded-find.classic.in.json │ │ ├── unsharded-find.classic.out.json │ │ ├── unsharded-find.sbe.in.json │ │ └── unsharded-find.sbe.out.json │ │ └── index.js ├── mongodb-query-util │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── src │ │ ├── bson-equal.spec.ts │ │ ├── bson-equal.ts │ │ ├── get-distinct-values.spec.ts │ │ ├── get-distinct-values.ts │ │ ├── has-distinct-value.spec.ts │ │ ├── has-distinct-value.ts │ │ ├── in-value-range.spec.ts │ │ ├── in-value-range.ts │ │ └── index.ts │ ├── tsconfig-lint.json │ └── tsconfig.json ├── my-queries-storage │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── package.json │ ├── provider.d.ts │ ├── provider.js │ ├── src │ │ ├── compass-pipeline-storage.spec.ts │ │ ├── compass-pipeline-storage.ts │ │ ├── compass-query-storage.spec.ts │ │ ├── compass-query-storage.ts │ │ ├── index.ts │ │ ├── pipeline-storage-schema.ts │ │ ├── pipeline-storage.ts │ │ ├── provider.ts │ │ ├── query-storage-schema.ts │ │ └── query-storage.ts │ ├── test │ │ └── fixtures │ │ │ ├── favorite_query_1.27.0.json │ │ │ ├── favorite_query_1.31.0.json │ │ │ ├── favorite_query_1.38.0.json │ │ │ ├── index.ts │ │ │ ├── pipeline_1.27.0.json │ │ │ ├── pipeline_1.31.0.json │ │ │ ├── pipeline_1.38.0.json │ │ │ ├── recent_query_1.27.0.json │ │ │ ├── recent_query_1.31.0.json │ │ │ └── recent_query_1.38.0.json │ ├── tsconfig-lint.json │ └── tsconfig.json └── reflux-state-mixin │ ├── .depcheckrc │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .mocharc.js │ ├── LICENSE │ ├── README.md │ ├── old_readme.md │ ├── package.json │ ├── src │ ├── index.spec.tsx │ ├── index.ts │ └── store-mixin.ts │ ├── tsconfig-lint.json │ └── tsconfig.json └── scripts ├── .depcheckrc ├── .eslintignore ├── .eslintrc.js ├── .prettierignore ├── .prettierrc.json ├── align-monorepo-dependencies.js ├── changed.js ├── check-docs-link.js ├── check-exports-exist.js ├── check-leafygreen-dep-usage.js ├── check-logids.js ├── check-peer-deps.js ├── cli.js ├── convert-package.js ├── create-workspace.js ├── find-packages-on-old-config.js ├── generate-authors.js ├── generate-readme-packages-overview.js ├── generate-security-test-summary.ts ├── generate-tracking-plan.ts ├── logserver.js ├── package.json ├── rebuild.js ├── release.js ├── run-in-dir.js ├── security-test-summary-template.md ├── semver-helpers.js ├── snyk-test.js ├── tsconfig-lint.json ├── update-electron.js └── workspace-dependencies.js /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | **/node_modules -------------------------------------------------------------------------------- /.evergreen/create-static-analysis-report.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | set -x 4 | 5 | npm run create-static-analysis-report -- --first-party-deps-list-files="${FIRST_PARTY_DEPENDENCY_FILENAMES}" 6 | (cd .sbom && tar czvf ../static-analysis-report.tgz codeql.md codeql.sarif.json) 7 | -------------------------------------------------------------------------------- /.evergreen/docker-config/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "auths": { 3 | "https://index.docker.io/v1/": {} 4 | }, 5 | "credsStore": "from-env" 6 | } 7 | -------------------------------------------------------------------------------- /.evergreen/setup-ssh-key.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | 3 | set -e 4 | set +x 5 | echo "${__project_aws_ssh_key_value}" > ~/.ssh/mcipacker.pem 6 | chmod 0600 ~/.ssh/mcipacker.pem -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | *.gz binary 3 | *.png binary 4 | *.jpg binary 5 | *.gif binary 6 | *.exe binary 7 | *.ico binary 8 | *.icns binary 9 | /packages/bson-transpilers/lib/**/* linguist-generated=true 10 | packages/compass-crud/test/fixture-results/* linguist-generated=true 11 | -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- 1 | changelog: 2 | exclude: 3 | labels: 4 | - feature flagged 5 | - no release notes 6 | categories: 7 | - title: New Features 8 | labels: 9 | - feat 10 | - title: Bug Fixes 11 | labels: 12 | - fix -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | registry=https://registry.npmjs.org/ 3 | napi-build-version=7 4 | foreground-scripts=true 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignoring templates for .yml files as they contain non-yaml syntax 2 | *.in.yml 3 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | "@mongodb-js/prettier-config-compass" 2 | -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- 1 | # This file is for the version management tool "asdf". 2 | # mms uses it as well. 3 | 4 | # This Node.js version matches the one required in 5 | # the "engines" in the package.json. 6 | nodejs 22.15.1 7 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "dbaeumer.vscode-eslint", 4 | "esbenp.prettier-vscode", 5 | "mike-lischke.vscode-antlr4", 6 | "ryanluker.vscode-coverage-gutters" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /configs/eslint-config-compass/.gitignore: -------------------------------------------------------------------------------- 1 | .nyc_output 2 | node_modules 3 | package-lock.json 4 | coverage 5 | lib 6 | .DS_Store 7 | -------------------------------------------------------------------------------- /configs/eslint-config-compass/README.md: -------------------------------------------------------------------------------- 1 | # @mongodb-js/eslint-config-compass 2 | 3 | > Shared [eslint][eslint] configuration for Compass packages. 4 | 5 | [eslint]: https://eslint.org/ 6 | -------------------------------------------------------------------------------- /configs/eslint-plugin-compass/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | # To avoid cyclic dependency 4 | - '@mongodb-js/eslint-config-compass' 5 | -------------------------------------------------------------------------------- /configs/eslint-plugin-compass/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /configs/eslint-plugin-compass/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /configs/eslint-plugin-compass/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | ...require('@mongodb-js/mocha-config-compass'), 4 | spec: ['rules/**/*.test.js'], 5 | watchFiles: ['rules/**/*.js'], 6 | }; 7 | -------------------------------------------------------------------------------- /configs/eslint-plugin-compass/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | rules: { 4 | 'no-leafygreen-outside-compass-components': require('./rules/no-leafygreen-outside-compass-components'), 5 | 'unique-mongodb-log-id': require('./rules/unique-mongodb-log-id'), 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /configs/eslint-plugin-compass/test/__fixtures__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | /* eslint-disable @mongodb-js/compass/unique-mongodb-log-id */ 3 | /* global mongoLogId */ 4 | mongoLogId(1); 5 | mongoLogId(2); 6 | mongoLogId(3); 7 | mongoLogId(3); // !dupedLogId 8 | -------------------------------------------------------------------------------- /configs/mocha-config-compass/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/configs/mocha-config-compass/.gitignore -------------------------------------------------------------------------------- /configs/mocha-config-compass/register/node-env-register.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | process.env.NODE_ENV = 'test'; 3 | -------------------------------------------------------------------------------- /configs/mocha-config-compass/window-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "webPreferences": { 3 | "subpixel-font-scaling": true, 4 | "direct-write": true, 5 | "nodeIntegration": true, 6 | "contextIsolation": false, 7 | "enableRemoteModule": true, 8 | "nodeIntegrationInWorker": true 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /configs/prettier-config-compass/.gitignore: -------------------------------------------------------------------------------- 1 | .nyc_output 2 | node_modules 3 | package-lock.json 4 | coverage 5 | lib 6 | .DS_Store 7 | -------------------------------------------------------------------------------- /configs/prettier-config-compass/.prettierignore-default: -------------------------------------------------------------------------------- 1 | .nyc_output 2 | .nyc-output 3 | dist 4 | coverage -------------------------------------------------------------------------------- /configs/prettier-config-compass/README.md: -------------------------------------------------------------------------------- 1 | # @mongodb-js/prettier-config-compass 2 | 3 | > Shared [prettier][prettier] configuration for Compass packages. 4 | 5 | [prettier]: https://prettier.io/ 6 | -------------------------------------------------------------------------------- /configs/prettier-config-compass/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | ...require('@mongodb-js/prettier-config-devtools'), 4 | }; 5 | -------------------------------------------------------------------------------- /configs/testing-library-compass/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /configs/testing-library-compass/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: ['@mongodb-js/eslint-config-compass'], 4 | parserOptions: { 5 | tsconfigRootDir: __dirname, 6 | project: ['./tsconfig-lint.json'], 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /configs/testing-library-compass/.mocharc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@mongodb-js/mocha-config-compass'); 2 | -------------------------------------------------------------------------------- /configs/testing-library-compass/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /configs/tsconfig-compass/.gitignore: -------------------------------------------------------------------------------- 1 | .nyc_output 2 | node_modules 3 | package-lock.json 4 | coverage 5 | lib 6 | .DS_Store 7 | -------------------------------------------------------------------------------- /configs/tsconfig-compass/README.md: -------------------------------------------------------------------------------- 1 | # @mongodb-js/tsconfig-compass 2 | 3 | > Shared TypeScript base configurations for Compass packages. 4 | -------------------------------------------------------------------------------- /configs/tsconfig-compass/tsconfig.common.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-devtools/tsconfig.common.json", 3 | "compilerOptions": { 4 | "removeComments": false, 5 | "moduleResolution": "node16" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /configs/tsconfig-compass/tsconfig.react.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-devtools/tsconfig.react.json", 3 | "compilerOptions": { 4 | "removeComments": false 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /configs/webpack-config-compass/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /configs/webpack-config-compass/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /configs/webpack-config-compass/polyfills/@emotion/server/create-instance/index.js: -------------------------------------------------------------------------------- 1 | export default function createEmotionServer() { 2 | return {}; 3 | } 4 | -------------------------------------------------------------------------------- /configs/webpack-config-compass/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /configs/webpack-config-compass/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "lib": ["ES2020"] 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "packages": ["packages/*", "configs/*", "scripts"], 3 | "version": "independent" 4 | } 5 | -------------------------------------------------------------------------------- /packages/atlas-service/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/atlas-service/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/atlas-service/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/atlas-service/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/atlas-service/main.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/main.d'; 2 | -------------------------------------------------------------------------------- /packages/atlas-service/main.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/main'); 3 | -------------------------------------------------------------------------------- /packages/atlas-service/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider.d'; 2 | -------------------------------------------------------------------------------- /packages/atlas-service/renderer.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/renderer.d'; 2 | -------------------------------------------------------------------------------- /packages/atlas-service/renderer.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/renderer'); 3 | -------------------------------------------------------------------------------- /packages/atlas-service/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/atlas-service/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/bson-transpilers/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: [] -------------------------------------------------------------------------------- /packages/bson-transpilers/.eslintignore: -------------------------------------------------------------------------------- 1 | lib/symbol-table 2 | lib/antlr 3 | -------------------------------------------------------------------------------- /packages/bson-transpilers/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "mocha": true, 4 | "node": true, 5 | "es6": true 6 | }, 7 | "rules": { 8 | "camelcase": 1, 9 | "filename-rules/match": 0 10 | }, 11 | "extends": ["@mongodb-js/eslint-config-compass/plugin"] 12 | } 13 | -------------------------------------------------------------------------------- /packages/bson-transpilers/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | grammars/.antlr/ 3 | npm-debug.log 4 | node_modules/ 5 | lib-cov 6 | coverage 7 | .lock-wscript 8 | .idea/ 9 | *.iml 10 | .nvmrc 11 | .vscode 12 | .swp 13 | *.jar 14 | *.tgz 15 | -------------------------------------------------------------------------------- /packages/bson-transpilers/.npmignore: -------------------------------------------------------------------------------- 1 | .jshintrc 2 | .jsfmtrc 3 | .travis.yml 4 | .zuul.yml 5 | test/ 6 | grammars/ 7 | img-docs/ 8 | printers/ 9 | symbols/ 10 | *.jar 11 | *.pdf 12 | *.tgz 13 | -------------------------------------------------------------------------------- /packages/bson-transpilers/codegeneration/csharp/Generator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | /* 3 | * Class for handling edge cases for csharp code generation. Defines "emit" methods. 4 | */ 5 | module.exports = (Visitor) => 6 | class Generator extends Visitor { 7 | constructor() { 8 | super(); 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /packages/bson-transpilers/codegeneration/go/Generator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | /* 3 | * Class for handling edge cases for Go code generation. Defines "emit" methods. 4 | */ 5 | module.exports = (Visitor) => 6 | class Generator extends Visitor { 7 | constructor() { 8 | super(); 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /packages/bson-transpilers/codegeneration/python/Generator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | /* 3 | * Class for handling edge cases for python code generation. Defines "emit" methods. 4 | */ 5 | module.exports = (Visitor) => 6 | class Generator extends Visitor { 7 | constructor() { 8 | super(); 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /packages/bson-transpilers/codegeneration/ruby/Generator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | /* 3 | * Class for handling edge cases for ruby code generation. Defines "emit" methods. 4 | */ 5 | module.exports = (Visitor) => 6 | class Generator extends Visitor { 7 | constructor() { 8 | super(); 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /packages/bson-transpilers/codegeneration/rust/Generator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | /* 3 | * Class for handling edge cases for rust code generation. Defines "emit" methods. 4 | */ 5 | module.exports = (Visitor) => 6 | class Generator extends Visitor { 7 | constructor() { 8 | super(); 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /packages/bson-transpilers/codegeneration/shell/Generator.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | /* 3 | * Class for handling edge cases for shell code generation. Defines "emit" methods. 4 | */ 5 | module.exports = (Visitor) => 6 | class Generator extends Visitor { 7 | constructor() { 8 | super(); 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /packages/bson-transpilers/img-docs/indexjs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/bson-transpilers/img-docs/indexjs.jpg -------------------------------------------------------------------------------- /packages/bson-transpilers/img-docs/visiting-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/bson-transpilers/img-docs/visiting-tree.png -------------------------------------------------------------------------------- /packages/collection-model/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: ['@mongodb-js/prettier-config-compass'] 2 | -------------------------------------------------------------------------------- /packages/collection-model/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'] 5 | }; 6 | -------------------------------------------------------------------------------- /packages/collection-model/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | node_modules/ 4 | lib-cov 5 | coverage 6 | .lock-wscript 7 | .idea/ 8 | *.iml 9 | -------------------------------------------------------------------------------- /packages/collection-model/.npmignore: -------------------------------------------------------------------------------- 1 | .eslintrc 2 | .travis.yml 3 | examples/ 4 | test/ 5 | -------------------------------------------------------------------------------- /packages/collection-model/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var ExtendedCollectionModel = require('./lib/model'); 3 | var ExtendedCollectionModelCollection = require('./lib/model').Collection; 4 | 5 | module.exports = ExtendedCollectionModel; 6 | module.exports.Collection = ExtendedCollectionModelCollection; 7 | -------------------------------------------------------------------------------- /packages/compass-aggregations/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@mongodb-js/tsconfig-compass' 5 | ignore-patterns: 6 | - 'dist' 7 | -------------------------------------------------------------------------------- /packages/compass-aggregations/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-aggregations/.gitignore: -------------------------------------------------------------------------------- 1 | src/assets/fonts/akzid* 2 | -------------------------------------------------------------------------------- /packages/compass-aggregations/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/components/add-stage/index.ts: -------------------------------------------------------------------------------- 1 | import AddStage from './add-stage'; 2 | export default AddStage; 3 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/components/aggregations/index.ts: -------------------------------------------------------------------------------- 1 | import MappedAggregations, { Aggregations } from './aggregations'; 2 | export default MappedAggregations; 3 | export { Aggregations }; 4 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/components/create-view-modal/index.ts: -------------------------------------------------------------------------------- 1 | import MappedCreateViewModal, { CreateViewModal } from './create-view-modal'; 2 | export default MappedCreateViewModal; 3 | export { CreateViewModal }; 4 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/components/loading-overlay/index.ts: -------------------------------------------------------------------------------- 1 | import { LoadingOverlay } from './loading-overlay'; 2 | export default LoadingOverlay; 3 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/components/modify-source-banner/index.ts: -------------------------------------------------------------------------------- 1 | import ModifySourceBanner from './modify-source-banner'; 2 | export default ModifySourceBanner; 3 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/components/pipeline/index.ts: -------------------------------------------------------------------------------- 1 | import Pipeline from './pipeline'; 2 | export default Pipeline; 3 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/components/saving-pipeline-modal/index.ts: -------------------------------------------------------------------------------- 1 | import SavingPipelineModal from './saving-pipeline-modal'; 2 | export default SavingPipelineModal; 3 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/components/settings/index.ts: -------------------------------------------------------------------------------- 1 | import Settings from './settings'; 2 | export default Settings; 3 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/components/stage-editor/index.ts: -------------------------------------------------------------------------------- 1 | import StageEditor from './stage-editor'; 2 | export default StageEditor; 3 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/modules/edit-view-name.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * The initial state. 3 | */ 4 | export const INITIAL_STATE: string | null = null; 5 | 6 | /** 7 | * Reducer function for handle state changes to name. 8 | */ 9 | export default function reducer(state = INITIAL_STATE) { 10 | return state; 11 | } 12 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/modules/namespace.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * The initial state. 3 | */ 4 | export const INITIAL_STATE = ''; 5 | 6 | /** 7 | * Reducer function for handle state changes to namespace. 8 | */ 9 | export default function reducer(state: string = INITIAL_STATE): string { 10 | return state; 11 | } 12 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/modules/pipeline-builder/pipeline-parser/index.ts: -------------------------------------------------------------------------------- 1 | import PipelineParser from './pipeline-parser'; 2 | 3 | export { PipelineParser }; 4 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/modules/pipeline-builder/stage-ids.ts: -------------------------------------------------------------------------------- 1 | let id = 0; 2 | 3 | export function getId() { 4 | return id++; 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/modules/source-name.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * The initial state. 3 | */ 4 | export const INITIAL_STATE: string | null = null; 5 | 6 | /** 7 | * Reducer function for handle state changes to source name. 8 | */ 9 | export default function reducer(state = INITIAL_STATE) { 10 | return state; 11 | } 12 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/plugin-title.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export function AggregationsTabTitle() { 4 | return
Aggregations
; 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.module.less' { 2 | const styles = Record; 3 | export default styles; 4 | } 5 | -------------------------------------------------------------------------------- /packages/compass-aggregations/src/utils/is-action.ts: -------------------------------------------------------------------------------- 1 | import type { AnyAction } from 'redux'; 2 | 3 | export function isAction( 4 | action: AnyAction, 5 | type: A['type'] 6 | ): action is A { 7 | return action.type === type; 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-aggregations/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-aggregations/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-app-stores/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/compass-app-stores/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-app-stores/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-app-stores/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-app-stores/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider.d'; 2 | -------------------------------------------------------------------------------- /packages/compass-app-stores/provider.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/provider'); 3 | -------------------------------------------------------------------------------- /packages/compass-app-stores/src/index.ts: -------------------------------------------------------------------------------- 1 | export { CompassInstanceStorePlugin } from './plugin'; 2 | -------------------------------------------------------------------------------- /packages/compass-app-stores/src/stores/index.ts: -------------------------------------------------------------------------------- 1 | export { createInstancesStore } from './instance-store'; 2 | -------------------------------------------------------------------------------- /packages/compass-app-stores/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-app-stores/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-collection/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-collection/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-collection/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-collection/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-collection/src/components/collection-header-actions/index.ts: -------------------------------------------------------------------------------- 1 | import CollectionHeaderActions from './collection-header-actions'; 2 | export default CollectionHeaderActions; 3 | -------------------------------------------------------------------------------- /packages/compass-collection/src/components/collection-header/index.ts: -------------------------------------------------------------------------------- 1 | import { CollectionHeader } from './collection-header'; 2 | export default CollectionHeader; 3 | -------------------------------------------------------------------------------- /packages/compass-collection/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-collection/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-components/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: [ 2 | '@mongodb-js/prettier-config-compass', 3 | '@mongodb-js/tsconfig-compass', 4 | '@types/chai-dom', 5 | '@emotion/css', 6 | ] 7 | -------------------------------------------------------------------------------- /packages/compass-components/.eslintignore: -------------------------------------------------------------------------------- 1 | lib/ 2 | # Ignore LG combobox clone. 3 | src/components/combobox -------------------------------------------------------------------------------- /packages/compass-components/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-components/.gitignore: -------------------------------------------------------------------------------- 1 | lib -------------------------------------------------------------------------------- /packages/compass-components/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/react'); 3 | -------------------------------------------------------------------------------- /packages/compass-components/.prettierignore: -------------------------------------------------------------------------------- 1 | lib 2 | .nyc_output 3 | coverage 4 | -------------------------------------------------------------------------------- /packages/compass-components/src/components/actions/constants.tsx: -------------------------------------------------------------------------------- 1 | export const ItemActionButtonSize = { 2 | XSmall: 'xsmall', 3 | Small: 'small', 4 | Default: 'default', 5 | } as const; 6 | 7 | export type ItemActionButtonSize = 8 | typeof ItemActionButtonSize[keyof typeof ItemActionButtonSize]; 9 | -------------------------------------------------------------------------------- /packages/compass-components/src/components/actions/utils.ts: -------------------------------------------------------------------------------- 1 | export function actionTestId(dataTestId: string | undefined, action: string) { 2 | return dataTestId ? `${dataTestId}-${action}-action` : undefined; 3 | } 4 | -------------------------------------------------------------------------------- /packages/compass-components/src/components/document-list/typography.ts: -------------------------------------------------------------------------------- 1 | import { fontFamilies } from '@leafygreen-ui/tokens'; 2 | 3 | export const documentTypography = { 4 | fontFamily: fontFamilies.code, 5 | fontSize: 12, 6 | lineHeight: 16, 7 | }; 8 | -------------------------------------------------------------------------------- /packages/compass-components/src/is-electron-renderer.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'is-electron-renderer' { 2 | const isElectronRenderer: boolean; 3 | export = isElectronRenderer; 4 | } 5 | -------------------------------------------------------------------------------- /packages/compass-components/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "lib"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-components/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "lib" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*", "./src/**/*.test.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-connection-import-export/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-connection-import-export/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-connection-import-export/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-connection-import-export/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/react'); 3 | -------------------------------------------------------------------------------- /packages/compass-connection-import-export/src/index.ts: -------------------------------------------------------------------------------- 1 | export { 2 | ConnectionImportExportProvider, 3 | useOpenConnectionImportExportModal, 4 | type ConnectionImportExportAction, 5 | } from './context'; 6 | -------------------------------------------------------------------------------- /packages/compass-connection-import-export/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-connection-import-export/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-connections-navigation/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - "@mongodb-js/prettier-config-compass" 3 | - "@mongodb-js/tsconfig-compass" 4 | - "@types/chai" 5 | - "@types/sinon-chai" 6 | - "sinon" 7 | - "@types/chai-dom" 8 | - "@types/react" 9 | - "@types/react-dom" 10 | -------------------------------------------------------------------------------- /packages/compass-connections-navigation/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-connections-navigation/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-connections-navigation/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/react'); 3 | -------------------------------------------------------------------------------- /packages/compass-connections-navigation/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-connections-navigation/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-connections/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - "@mongodb-js/prettier-config-compass" 3 | - "@mongodb-js/tsconfig-compass" 4 | - "@types/chai-dom" 5 | - "@types/react-dom" 6 | - "@types/sinon-chai" -------------------------------------------------------------------------------- /packages/compass-connections/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-connections/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-connections/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /packages/compass-connections/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-connections/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider.d'; 2 | -------------------------------------------------------------------------------- /packages/compass-connections/provider.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/provider'); 3 | -------------------------------------------------------------------------------- /packages/compass-connections/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-connections/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-crud/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'electron' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-crud/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-crud/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-crud/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-crud/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "exclude": ["config", ".tmp", "test"], 3 | "reporter": ["text", "html"], 4 | "sourceMap": false, 5 | "instrument": false 6 | } 7 | -------------------------------------------------------------------------------- /packages/compass-crud/compass-crud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-crud/compass-crud.png -------------------------------------------------------------------------------- /packages/compass-crud/src/components/change-view/index.ts: -------------------------------------------------------------------------------- 1 | export { ChangeView } from './change-view'; 2 | -------------------------------------------------------------------------------- /packages/compass-crud/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.module.less' { 2 | const styles = Record; 3 | export default styles; 4 | } 5 | -------------------------------------------------------------------------------- /packages/compass-crud/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-crud/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 4 | parserOptions: { 5 | tsconfigRootDir: __dirname, 6 | project: ['./tsconfig-lint.json'], 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/.mocharc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 2 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider/index'; 2 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/provider.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/provider/index'); 3 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/renderer.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/services/data-model-storage-electron.d'; 2 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/renderer.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/services/data-model-storage-electron'); 3 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/web.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/services/data-model-storage-in-memory.d'; 2 | -------------------------------------------------------------------------------- /packages/compass-data-modeling/web.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/services/data-model-storage-in-memory'); 3 | -------------------------------------------------------------------------------- /packages/compass-e2e-tests/.gitignore: -------------------------------------------------------------------------------- 1 | .mongodb 2 | .log 3 | fixtures/*.csv 4 | fixtures/*.json 5 | hadron-build-info.json 6 | 7 | -------------------------------------------------------------------------------- /packages/compass-e2e-tests/.prettierignore: -------------------------------------------------------------------------------- 1 | .log 2 | .mongodb 3 | fixtures 4 | .nyc_output 5 | coverage 6 | hadron-build-info.json 7 | -------------------------------------------------------------------------------- /packages/compass-e2e-tests/fixtures/array-documents.csv.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-e2e-tests/fixtures/array-documents.csv.gz -------------------------------------------------------------------------------- /packages/compass-e2e-tests/fixtures/broken-json.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-e2e-tests/fixtures/broken-json.json.gz -------------------------------------------------------------------------------- /packages/compass-e2e-tests/fixtures/extended-json.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-e2e-tests/fixtures/extended-json.json.gz -------------------------------------------------------------------------------- /packages/compass-e2e-tests/fixtures/latin1.csv.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-e2e-tests/fixtures/latin1.csv.gz -------------------------------------------------------------------------------- /packages/compass-e2e-tests/fixtures/listings.csv.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-e2e-tests/fixtures/listings.csv.gz -------------------------------------------------------------------------------- /packages/compass-e2e-tests/fixtures/listings.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-e2e-tests/fixtures/listings.json.gz -------------------------------------------------------------------------------- /packages/compass-e2e-tests/fixtures/source-with-bom.csv.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-e2e-tests/fixtures/source-with-bom.csv.gz -------------------------------------------------------------------------------- /packages/compass-e2e-tests/fixtures/three-documents.json.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-e2e-tests/fixtures/three-documents.json.gz -------------------------------------------------------------------------------- /packages/compass-e2e-tests/helpers/commands/hover.ts: -------------------------------------------------------------------------------- 1 | import type { CompassBrowser } from '../compass-browser'; 2 | 3 | export async function hover( 4 | browser: CompassBrowser, 5 | selector: string 6 | ): Promise { 7 | await browser.$(selector).moveTo(); 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-e2e-tests/helpers/delay.ts: -------------------------------------------------------------------------------- 1 | export default function delay(ms = 1000): Promise { 2 | return new Promise((resolve) => setTimeout(resolve, ms)); 3 | } 4 | -------------------------------------------------------------------------------- /packages/compass-e2e-tests/positional-args/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | # https://stackoverflow.com/questions/36727740/how-to-hide-console-window-of-a-go-program-on-windows 6 | GOOS=windows GOARCH=amd64 go build -ldflags -H=windowsgui -o positional-args.exe 7 | -------------------------------------------------------------------------------- /packages/compass-e2e-tests/positional-args/go.mod: -------------------------------------------------------------------------------- 1 | module positional-args 2 | 3 | go 1.22.0 4 | -------------------------------------------------------------------------------- /packages/compass-e2e-tests/positional-args/positional-args.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-e2e-tests/positional-args/positional-args.exe -------------------------------------------------------------------------------- /packages/compass-e2e-tests/scripts/positional-args.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | "${BINARY}" "$@" ${POSITIONAL_ARGS} -------------------------------------------------------------------------------- /packages/compass-e2e-tests/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "noEmit": true, 5 | "moduleResolution": "node10" 6 | }, 7 | "include": ["helpers", "installers", "tests", "*.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-editor/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/compass-editor/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-editor/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-editor/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/react'); 3 | -------------------------------------------------------------------------------- /packages/compass-editor/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-editor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*", "./src/**/*.test.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-explain-plan/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-explain-plan/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-explain-plan/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-explain-plan/README.md: -------------------------------------------------------------------------------- 1 | # compass-explain-plan 2 | 3 | > Compass plugin for Explain Plan 4 | 5 | The Explain Plan tab displays the execution plan for a query. 6 | -------------------------------------------------------------------------------- /packages/compass-explain-plan/src/components/explain-cannot-visualize-banner/index.ts: -------------------------------------------------------------------------------- 1 | import ExplainCannotVisualizeBanner from './explain-cannot-visualize-banner'; 2 | 3 | export default ExplainCannotVisualizeBanner; 4 | export { ExplainCannotVisualizeBanner }; 5 | -------------------------------------------------------------------------------- /packages/compass-explain-plan/src/components/explain-tree/index.tsx: -------------------------------------------------------------------------------- 1 | import ExplainTree from './explain-tree'; 2 | 3 | export default ExplainTree; 4 | export { ExplainTree }; 5 | -------------------------------------------------------------------------------- /packages/compass-explain-plan/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-explain-plan/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-export-to-language/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-export-to-language/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-export-to-language/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-export-to-language/src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'bson-transpilers'; 2 | -------------------------------------------------------------------------------- /packages/compass-export-to-language/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-export-to-language/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-field-store/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/compass-field-store/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-field-store/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-field-store/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-field-store/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { "allowJs": true }, 3 | "extends": "./tsconfig.json", 4 | "include": ["**/*"], 5 | "exclude": ["node_modules", "dist"] 6 | } 7 | -------------------------------------------------------------------------------- /packages/compass-field-store/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-find-in-page/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'electron' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | -------------------------------------------------------------------------------- /packages/compass-find-in-page/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-find-in-page/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-find-in-page/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-find-in-page/README.md: -------------------------------------------------------------------------------- 1 | # @mongodb-js/compass-find-in-page 2 | 3 | > cmd-f UI for compass 4 | -------------------------------------------------------------------------------- /packages/compass-find-in-page/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-find-in-page/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "lib": ["ES2020", "DOM"] 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-generative-ai/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-generative-ai/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-generative-ai/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-generative-ai/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider.d'; 2 | -------------------------------------------------------------------------------- /packages/compass-generative-ai/src/components/index.ts: -------------------------------------------------------------------------------- 1 | export { GenerativeAIInput } from './generative-ai-input'; 2 | export { 3 | AIExperienceEntry, 4 | createAIPlaceholderHTMLPlaceholder, 5 | } from './ai-experience-entry'; 6 | export { AtlasAiPlugin } from './plugin'; 7 | -------------------------------------------------------------------------------- /packages/compass-generative-ai/src/utils/util.ts: -------------------------------------------------------------------------------- 1 | import type { AnyAction } from 'redux'; 2 | 3 | export function isAction( 4 | action: AnyAction, 5 | type: A['type'] 6 | ): action is A { 7 | return action.type === type; 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-generative-ai/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-generative-ai/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-global-writes/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-global-writes/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-global-writes/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 4 | parserOptions: { 5 | tsconfigRootDir: __dirname, 6 | project: ['./tsconfig-lint.json'], 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /packages/compass-global-writes/.mocharc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 2 | -------------------------------------------------------------------------------- /packages/compass-global-writes/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-global-writes/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-import-export/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-import-export/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/src/constants/file-types.ts: -------------------------------------------------------------------------------- 1 | export type AcceptedFileType = 'csv' | 'json'; 2 | 3 | const FILE_TYPES: { 4 | [fileType: string]: AcceptedFileType; 5 | } = { 6 | CSV: 'csv', 7 | JSON: 'json', 8 | } as const; 9 | 10 | export default FILE_TYPES; 11 | -------------------------------------------------------------------------------- /packages/compass-import-export/src/utils/open-file.ts: -------------------------------------------------------------------------------- 1 | export async function openFile(fileName: string) { 2 | // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/consistent-type-imports 3 | const { shell }: typeof import('electron') = require('electron'); 4 | return shell.openPath(fileName); 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-import-export/src/utils/query-has-projection.ts: -------------------------------------------------------------------------------- 1 | import type { ExportQuery } from '../export/export-types'; 2 | 3 | export function queryHasProjection(query: ExportQuery): boolean { 4 | return Object.keys(query?.projection || {}).length > 0; 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/array.csv: -------------------------------------------------------------------------------- 1 | a,foo[0],foo[1],foo[2],bar[0][0],bar[0][1],z,notes 2 | a,1,2,3,,,z,foo is an array of simple values 3 | a,1,,,,,z,foo is not always of the same length 4 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/array.exported.csv: -------------------------------------------------------------------------------- 1 | _id,a,foo[0],foo[1],foo[2],z,notes 2 | 1,a,1,2,3,z,foo is an array of simple values 3 | 2,a,1,,,z,foo is not always of the same length 4 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/array.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["a"], ["foo"], ["notes"], ["z"]], 3 | "docsProcessed": 2, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1, 7 | "a": 1, 8 | "foo": 1, 9 | "notes": 1, 10 | "z": 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/bad.csv: -------------------------------------------------------------------------------- 1 | 1,2,3 2 | 3,5".4,string 3 | 5,6,6 4 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/bad.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["1"], ["2"], ["3"]], 3 | "docsProcessed": 2, 4 | "aborted": false, 5 | "projection": { 6 | "1": 1, 7 | "2": 1, 8 | "3": 1, 9 | "_id": 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/bad.preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "uniqueFields": ["1", "2", "3"], 3 | "headerFields": ["1", "2", "3"], 4 | "preview": [ 5 | ["3", "5\".4", "string"], 6 | ["5", "6", "6"] 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/complex.csv: -------------------------------------------------------------------------------- 1 | foo,foo[0],foo[1].bar,foo[2].bar.baz,notes 2 | 1,,,,simple value 3 | ,1,,,single element array 4 | ,1,1,1,three element array where first value is simple; second value is object with one field; third value is object with object with one field -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/complex.exported.csv: -------------------------------------------------------------------------------- 1 | _id,foo,notes,foo[0],foo[1].bar,foo[2].bar.baz 2 | 1,1,simple value,,, 3 | 2,,single element array,1,, 4 | 3,,three element array where first value is simple; second value is object with one field; third value is object with object with one field,1,1,1 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/complex.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["foo"], ["foo", "bar"], ["foo", "bar", "baz"], ["notes"]], 3 | "docsProcessed": 3, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1, 7 | "foo": 1, 8 | "notes": 1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/good-commas.csv: -------------------------------------------------------------------------------- 1 | _id,value 2 | 1,some string 3 | 2,1234 4 | 3, 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/good-commas.exported.csv: -------------------------------------------------------------------------------- 1 | _id,value 2 | 1,some string 3 | 2,1234 4 | 3, 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/good-commas.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["value"]], 3 | "docsProcessed": 3, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1, 7 | "value": 1 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/good-commas.preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "uniqueFields": ["_id", "value"], 3 | "headerFields": ["_id", "value"], 4 | "preview": [ 5 | ["1", "some string"], 6 | ["2", "1234"], 7 | ["3", ""] 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/good-tabs.csv: -------------------------------------------------------------------------------- 1 | _id value 2 | 1 some string 3 | 2 1234 4 | 3 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/good-tabs.exported.csv: -------------------------------------------------------------------------------- 1 | _id,value 2 | 1,some string 3 | 2,1234 4 | 3, 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/good-tabs.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["value"]], 3 | "docsProcessed": 3, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1, 7 | "value": 1 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/good-tabs.preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "uniqueFields": ["_id", "value"], 3 | "headerFields": ["_id", "value"], 4 | "preview": [ 5 | ["1", "some string"], 6 | ["2", "1234"], 7 | ["3", ""] 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/linebreaks.csv: -------------------------------------------------------------------------------- 1 | Order,Title,Description,Grouping,Icon,Link,Maintainer,SubGrouping,MaterialIcon 2 | 1,a,"b",c,d,e,,,person -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/linebreaks.exported.csv: -------------------------------------------------------------------------------- 1 | _id,Order,Title,Description,Grouping,Icon,Link,MaterialIcon 2 | 1,1,a,b,c,d,e,person 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/linebreaks.imported.ejson: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "Order": { 4 | "$numberInt": "1" 5 | }, 6 | "Title": "a", 7 | "Description": "b", 8 | "Grouping": "c", 9 | "Icon": "d", 10 | "Link": "e", 11 | "MaterialIcon": "person" 12 | } 13 | ] -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/object.csv: -------------------------------------------------------------------------------- 1 | a,foo.bar,foo.baz.qux,foo.baz.quux,z,notes 2 | a,1.1,1.2.1,1.2.1,1.2.2,z,foo is a sparse object 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/object.exported.csv: -------------------------------------------------------------------------------- 1 | _id,a,foo.bar,foo.baz.qux,foo.baz.quux,z,notes 2 | 1,a,1.1,1.2.1,1.2.1,1.2.2,z 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/objectarray.analyzed.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-import-export/test/csv/objectarray.analyzed.json -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/objectarray.csv: -------------------------------------------------------------------------------- 1 | a,foo[0].bar,foo[1].bar,foo[2].baz,z,notes 2 | a,1,2,3,z,foo is a sparse object array 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/semicolons.csv: -------------------------------------------------------------------------------- 1 | a;b;c;d 2 | 1;2;3;4 -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/semicolons.exported.csv: -------------------------------------------------------------------------------- 1 | _id,a,b,c,d 2 | 1,1,2,3,4 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/semicolons.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["a"], ["b"], ["c"], ["d"]], 3 | "docsProcessed": 1, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1, 7 | "a": 1, 8 | "b": 1, 9 | "c": 1, 10 | "d": 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/semicolons.imported.ejson: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "a": { 4 | "$numberInt": "1" 5 | }, 6 | "b": { 7 | "$numberInt": "2" 8 | }, 9 | "c": { 10 | "$numberInt": "3" 11 | }, 12 | "d": { 13 | "$numberInt": "4" 14 | } 15 | } 16 | ] -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/semicolons.preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "uniqueFields": ["a", "b", "c", "d"], 3 | "headerFields": ["a", "b", "c", "d"], 4 | "preview": [["1", "2", "3", "4"]] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/spaces.csv: -------------------------------------------------------------------------------- 1 | a b c d 2 | 1 2 3 4 -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/spaces.exported.csv: -------------------------------------------------------------------------------- 1 | _id,a,b,c,d 2 | 1,1,2,3,4 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/spaces.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["a"], ["b"], ["c"], ["d"]], 3 | "docsProcessed": 1, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1, 7 | "a": 1, 8 | "b": 1, 9 | "c": 1, 10 | "d": 1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/spaces.imported.ejson: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "a": { 4 | "$numberInt": "1" 5 | }, 6 | "b": { 7 | "$numberInt": "2" 8 | }, 9 | "c": { 10 | "$numberInt": "3" 11 | }, 12 | "d": { 13 | "$numberInt": "4" 14 | } 15 | } 16 | ] -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/spaces.preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "uniqueFields": ["a", "b", "c", "d"], 3 | "headerFields": ["a", "b", "c", "d"], 4 | "preview": [["1", "2", "3", "4"]] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/sparse.csv: -------------------------------------------------------------------------------- 1 | foo,bar,baz 2 | 1, 3 | 1,2 4 | 1,2,3 5 | ,,3 6 | 7 | ,2, 8 | ,,3 9 | ,2 10 | 1,2,3,4 -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/sparse.exported.csv: -------------------------------------------------------------------------------- 1 | _id,foo,bar,baz 2 | 1,1,, 3 | 2,1,2, 4 | 3,1,2,3 5 | 4,,,3 6 | 5,,, 7 | 6,,2, 8 | 7,,,3 9 | 8,,2, 10 | 9,1,2,3 11 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/sparse.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["bar"], ["baz"], ["foo"]], 3 | "docsProcessed": 9, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1, 7 | "bar": 1, 8 | "baz": 1, 9 | "foo": 1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/array.csv: -------------------------------------------------------------------------------- 1 | something,numbers[0],numbers[1],numbers[3],something_else,notes 2 | foo,1,2,3,bar,longest array 3 | a,1,,,b,just one element 4 | a,,,,b,empty array 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/binData.csv: -------------------------------------------------------------------------------- 1 | binData,notes 2 | NjMyRjJGNTM1QTQ1NTM3QTU0NDc2RDUxMzY0RjY2NTIzMzM4NDEzMTMxNDEzRDNE,632F2F535A45537A54476D51364F66523338413131413D3D 3 | QUFBQUFBQUFBQUFBNEFBQUFBQUFBQUFBQUFBQUFBQUE,AAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAA 4 | RjJGMzgzRA==,F2F383D 5 | MDEwMjAz,010203 6 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/boolean.csv: -------------------------------------------------------------------------------- 1 | boolean,notes 2 | TRUE,all caps like compass and mongoexport 3 | FALSE 4 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/boolean.exported.csv: -------------------------------------------------------------------------------- 1 | _id,boolean,notes 2 | 1,true,all caps like compass and mongoexport 3 | 2,false, 4 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/date.csv: -------------------------------------------------------------------------------- 1 | date 2 | 2023-01-04T16:22:59.453Z 3 | 1648425600000 4 | 2023-01-04 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/date.exported.csv: -------------------------------------------------------------------------------- 1 | _id,date 2 | 1,2023-01-04T16:22:59.453Z 3 | 2,2022-03-28T00:00:00.000Z 4 | 3,2023-01-04T00:00:00.000Z 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/decimal.csv: -------------------------------------------------------------------------------- 1 | decimal,notes 2 | 5.477284286264328586719275128128001E-4088,maybe? 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/decimal.exported.csv: -------------------------------------------------------------------------------- 1 | _id,decimal,notes 2 | 1,5.477284286264328586719275128128001E-4088,maybe? 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/int.csv: -------------------------------------------------------------------------------- 1 | int,notes 2 | 1 3 | 0 4 | 12345 5 | -1 6 | -12345 7 | "1" 8 | "0" 9 | "12345" 10 | 2147483647,max int32 11 | -2147483648,min int32 -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/int.exported.csv: -------------------------------------------------------------------------------- 1 | _id,int,notes 2 | 1,1, 3 | 2,0, 4 | 3,12345, 5 | 4,-1, 6 | 5,-12345, 7 | 6,1, 8 | 7,0, 9 | 8,12345, 10 | 9,2147483647,max int32 11 | 10,-2147483648,min int32 12 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/maxKey.csv: -------------------------------------------------------------------------------- 1 | maxKey,notes 2 | $MaxKey,matches mongoexport 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/maxKey.exported.csv: -------------------------------------------------------------------------------- 1 | _id,maxKey,notes 2 | 1,$MaxKey,matches mongoexport 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/md5.csv: -------------------------------------------------------------------------------- 1 | md5,notes 2 | NjMyRjJGNTM1QTQ1NTM3QTU0NDc2RDUxMzY0RjY2NTIzMzM4NDEzMTMxNDEzRDNE,632F2F535A45537A54476D51364F66523338413131413D3D 3 | QUFBQUFBQUFBQUFBNEFBQUFBQUFBQUFBQUFBQUFBQUE,AAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAA 4 | RjJGMzgzRA==,F2F383D 5 | MDEwMjAz,010203 6 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/minKey.csv: -------------------------------------------------------------------------------- 1 | minKey,notes 2 | $MinKey,matches mongoexport 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/minKey.exported.csv: -------------------------------------------------------------------------------- 1 | _id,minKey,notes 2 | 1,$MinKey,matches mongoexport 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/null.csv: -------------------------------------------------------------------------------- 1 | null,notes 2 | Null,old compass export writes the string Null 3 | ,mongoexport writes a blank string 4 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/null.exported.csv: -------------------------------------------------------------------------------- 1 | _id,null,notes 2 | 1,,old compass export writes the string Null 3 | 2,,mongoexport writes a blank string 4 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/number.exported.csv: -------------------------------------------------------------------------------- 1 | _id,number,notes 2 | 1,0,int32 3 | 2,1,double 4 | 3,1.2,double 5 | 4,123456789123456784,long 6 | 5,0,Decimal128? 7 | 6,-1, 8 | 7,-1.2, 9 | 8,-123456789123456784, 10 | 9,0, 11 | 10,0, 12 | 11,1, 13 | 12,1.2, 14 | 13,123456789123456784, 15 | 14,0, 16 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/object.csv: -------------------------------------------------------------------------------- 1 | something,user.name,user.dob,something_else 2 | foo,"Le Roux Bodenstein",1981-07-15,bar 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/objectId.csv: -------------------------------------------------------------------------------- 1 | objectId,notes 2 | 63b6fa80f455ec836f18600f,compass export 3 | ObjectId(63b5a7e34e370b56b5ec6012),mongoexport 4 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/objectId.exported.csv: -------------------------------------------------------------------------------- 1 | _id,objectId,notes 2 | 1,63b6fa80f455ec836f18600f,compass export 3 | 2,63b5a7e34e370b56b5ec6012,mongoexport 4 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/regex.csv: -------------------------------------------------------------------------------- 1 | regex 2 | /pattern/i 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/regex.exported.csv: -------------------------------------------------------------------------------- 1 | _id,regex 2 | 1,/pattern/i 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/string.csv: -------------------------------------------------------------------------------- 1 | string 2 | hello 3 | "hello world" 4 | "hello, world" 5 | 12345f 6 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/string.exported.csv: -------------------------------------------------------------------------------- 1 | _id,string 2 | 1,hello 3 | 2,hello world 4 | 3,"hello, world" 5 | 4,12345f 6 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/timestamp.csv: -------------------------------------------------------------------------------- 1 | timestamp 2 | 1680624461218 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/timestamp.exported.csv: -------------------------------------------------------------------------------- 1 | _id,timestamp 2 | 1,1680624461218 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/uuid.csv: -------------------------------------------------------------------------------- 1 | uuid 2 | AAAAAAAA-AAAA-4AAA-AAAA-AAAAAAAAAAAA 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/csv/types/uuid.exported.csv: -------------------------------------------------------------------------------- 1 | _id,uuid 2 | 1,aaaaaaaa-aaaa-4aaa-aaaa-aaaaaaaaaaaa 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/json/good.exported.csv: -------------------------------------------------------------------------------- 1 | _id,uuid,name 2 | 5d94d618857bd7924fdcfd15,002636e1-10cd-4c8b-a9a7-01b7bfd3899c,Arlo 3 | 5d94d61b857bd7924fdcfd16,0031f6ca-c0ec-4cb0-a66c-1fe14ca29c18,Basil 4 | 5d94d61c857bd7924fdcfd17,00356430-1751-4996-ae45-77676482e210,Kochka 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/json/good.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["name"], ["uuid"]], 3 | "docsProcessed": 3, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1, 7 | "name": 1, 8 | "uuid": 1 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/json/promotable.exported.csv: -------------------------------------------------------------------------------- 1 | _id,doubleNum 2 | 1,-45 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/json/promotable.exported.ejson: -------------------------------------------------------------------------------- 1 | [{ 2 | "_id": { 3 | "$oid": "654d2167b25d1813f7c40749" 4 | }, 5 | "doubleNum": -45 6 | }] -------------------------------------------------------------------------------- /packages/compass-import-export/test/json/promotable.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["doubleNum"]], 3 | "docsProcessed": 1, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1, 7 | "doubleNum": 1 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/json/promotable.imported.ejson: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "doubleNum": { 4 | "$numberDouble": "-45.0" 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/json/promotable.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "doubleNum": { 4 | "$numberDouble": "-45" 5 | } 6 | } 7 | ] 8 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/extra-line.exported.csv: -------------------------------------------------------------------------------- 1 | _id 2 | 1 3 | 2 4 | 3 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/extra-line.exported.ejson: -------------------------------------------------------------------------------- 1 | [{ 2 | "_id": 1 3 | }, 4 | { 5 | "_id": 2 6 | }, 7 | { 8 | "_id": 3 9 | }] -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/extra-line.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"]], 3 | "docsProcessed": 3, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/extra-line.imported.ejson: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_id": { 4 | "$numberInt": "1" 5 | } 6 | }, 7 | { 8 | "_id": { 9 | "$numberInt": "2" 10 | } 11 | }, 12 | { 13 | "_id": { 14 | "$numberInt": "3" 15 | } 16 | } 17 | ] -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/extra-line.jsonl: -------------------------------------------------------------------------------- 1 | {"_id": 1} 2 | {"_id": 2} 3 | 4 | {"_id": 3} 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/good.exported.csv: -------------------------------------------------------------------------------- 1 | _id 2 | 1 3 | 2 4 | 3 5 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/good.exported.ejson: -------------------------------------------------------------------------------- 1 | [{ 2 | "_id": 1 3 | }, 4 | { 5 | "_id": 2 6 | }, 7 | { 8 | "_id": 3 9 | }] -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/good.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"]], 3 | "docsProcessed": 3, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/good.imported.ejson: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_id": { 4 | "$numberInt": "1" 5 | } 6 | }, 7 | { 8 | "_id": { 9 | "$numberInt": "2" 10 | } 11 | }, 12 | { 13 | "_id": { 14 | "$numberInt": "3" 15 | } 16 | } 17 | ] -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/good.jsonl: -------------------------------------------------------------------------------- 1 | {"_id": 1} 2 | {"_id": 2} 3 | {"_id": 3} -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/jsonl-with-csv-fileext.csv: -------------------------------------------------------------------------------- 1 | {"_id": "I am not actually a csv"} 2 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/jsonl-with-csv-fileext.exported.csv: -------------------------------------------------------------------------------- 1 | _id 2 | I am not actually a csv 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/jsonl-with-csv-fileext.exported.ejson: -------------------------------------------------------------------------------- 1 | [{ 2 | "_id": "I am not actually a csv" 3 | }] -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/jsonl-with-csv-fileext.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"]], 3 | "docsProcessed": 1, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/jsonl-with-csv-fileext.imported.ejson: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_id": "I am not actually a csv" 4 | } 5 | ] -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/single-doc.exported.csv: -------------------------------------------------------------------------------- 1 | _id,foo 2 | 1,1 3 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/single-doc.exported.ejson: -------------------------------------------------------------------------------- 1 | [{ 2 | "_id": { 3 | "$oid": "63f656c128ff7868ed701ca8" 4 | }, 5 | "foo": 1 6 | }] -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/single-doc.gathered.json: -------------------------------------------------------------------------------- 1 | { 2 | "paths": [["_id"], ["foo"]], 3 | "docsProcessed": 1, 4 | "aborted": false, 5 | "projection": { 6 | "_id": 1, 7 | "foo": 1 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/single-doc.imported.ejson: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "foo": { 4 | "$numberInt": "1" 5 | } 6 | } 7 | ] -------------------------------------------------------------------------------- /packages/compass-import-export/test/jsonl/single-doc.json: -------------------------------------------------------------------------------- 1 | { 2 | "foo": 1 3 | } 4 | -------------------------------------------------------------------------------- /packages/compass-import-export/test/other/empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-import-export/test/other/empty -------------------------------------------------------------------------------- /packages/compass-import-export/test/other/hello.txt: -------------------------------------------------------------------------------- 1 | hello! -------------------------------------------------------------------------------- /packages/compass-import-export/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-import-export/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-indexes/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'electron' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-indexes/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-indexes/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-indexes/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-indexes/README.md: -------------------------------------------------------------------------------- 1 | # Compass Indexes Plugin 2 | -------------------------------------------------------------------------------- /packages/compass-indexes/src/components/create-index-actions/index.ts: -------------------------------------------------------------------------------- 1 | import CreateIndexActions from './create-index-actions'; 2 | 3 | export default CreateIndexActions; 4 | -------------------------------------------------------------------------------- /packages/compass-indexes/src/components/create-index-modal/index.ts: -------------------------------------------------------------------------------- 1 | import CreateIndexModal from './create-index-modal'; 2 | export default CreateIndexModal; 3 | -------------------------------------------------------------------------------- /packages/compass-indexes/src/components/indexes-table/index.ts: -------------------------------------------------------------------------------- 1 | export * from './indexes-table'; 2 | -------------------------------------------------------------------------------- /packages/compass-indexes/src/components/search-indexes-modals/index.ts: -------------------------------------------------------------------------------- 1 | export { default as CreateSearchIndexModal } from './create-search-index-modal'; 2 | export { default as UpdateSearchIndexModal } from './update-search-index-modal'; 3 | -------------------------------------------------------------------------------- /packages/compass-indexes/src/utils/create-index-modal-validation.ts: -------------------------------------------------------------------------------- 1 | import type { Field } from '../modules/create-index'; 2 | 3 | export const areAllFieldsFilledIn = (fields: Field[]) => { 4 | return fields.every((field) => field.name && field.type); 5 | }; 6 | -------------------------------------------------------------------------------- /packages/compass-indexes/src/utils/fetch-reason.ts: -------------------------------------------------------------------------------- 1 | export enum FetchReasons { 2 | INITIAL_FETCH = 'INITIAL_FETCH', 3 | REFRESH = 'REFRESH', 4 | POLL = 'POLL', 5 | } 6 | 7 | export type FetchReason = keyof typeof FetchReasons; 8 | -------------------------------------------------------------------------------- /packages/compass-indexes/src/utils/is-action.ts: -------------------------------------------------------------------------------- 1 | import type { AnyAction } from 'redux'; 2 | 3 | export function isAction( 4 | action: AnyAction, 5 | type: A['type'] 6 | ): action is A { 7 | return action.type === type; 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-indexes/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-indexes/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-intercom/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/compass-intercom/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-intercom/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-intercom/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/react'); 3 | -------------------------------------------------------------------------------- /packages/compass-intercom/src/index.ts: -------------------------------------------------------------------------------- 1 | export { setupIntercom } from './setup-intercom'; 2 | export { intercomTrack, IntercomTrackingEvent } from './intercom-track'; 3 | -------------------------------------------------------------------------------- /packages/compass-intercom/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-intercom/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-logging/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - "@mongodb-js/prettier-config-compass" 3 | - "@mongodb-js/tsconfig-compass" 4 | - "@types/chai" 5 | - "@types/sinon-chai" 6 | - "sinon" 7 | - "compass-preferences-model" -------------------------------------------------------------------------------- /packages/compass-logging/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-logging/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-logging/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/compass-logging/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider.d'; 2 | -------------------------------------------------------------------------------- /packages/compass-logging/src/index.ts: -------------------------------------------------------------------------------- 1 | export { createLogger } from './ipc-logger'; 2 | export type { Logger } from './logger'; 3 | export { mongoLogId } from 'mongodb-log-writer/mongo-log-writer'; 4 | import createDebug from 'debug'; 5 | export const debug = createDebug('mongodb-compass'); 6 | -------------------------------------------------------------------------------- /packages/compass-logging/src/is-electron-renderer.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'is-electron-renderer' { 2 | const isElectronRenderer: boolean; 3 | export = isElectronRenderer; 4 | } 5 | -------------------------------------------------------------------------------- /packages/compass-logging/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-logging/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-maybe-protect-connection-string/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/compass-maybe-protect-connection-string/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-maybe-protect-connection-string/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-maybe-protect-connection-string/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/compass-maybe-protect-connection-string/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-maybe-protect-connection-string/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | ignore-patterns: 3 | - 'dist' 4 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | node_modules/ 4 | lib-cov 5 | coverage 6 | .lock-wscript 7 | .idea/ 8 | *.iml 9 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/react'); 3 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/.npmignore: -------------------------------------------------------------------------------- 1 | .eslintrc 2 | .travis.yml 3 | examples/ 4 | test/ 5 | .idea/ 6 | .vscode/ 7 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider.d'; 2 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/provider.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/provider'); 3 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/test/fixtures/user_1.27.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "71956bbc-258e-44b7-a3ef-d0807a11c57a", 3 | "createdAt": 1693421958659, 4 | "lastUsed": 1693421958660 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/test/fixtures/user_1.31.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "cd3d4a03-5951-4472-af02-274a9922cbf0", 3 | "createdAt": 1693423021677, 4 | "lastUsed": 1693423021678 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/test/fixtures/user_1.38.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "0aebe3dd-9b98-480a-997e-c6baa788ab4a", 3 | "createdAt": 1693423754451, 4 | "lastUsed": 1693423755020 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-preferences-model/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-query-bar/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'electron' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-query-bar/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-query-bar/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-query-bar/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-query-bar/src/types.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-query-bar/src/types.d.ts -------------------------------------------------------------------------------- /packages/compass-query-bar/src/utils/copy-to-clipboard.ts: -------------------------------------------------------------------------------- 1 | export const copyToClipboard = (content: string) => { 2 | void navigator.clipboard.writeText(content); 3 | }; 4 | -------------------------------------------------------------------------------- /packages/compass-query-bar/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-query-bar/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-saved-aggregations-queries/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-saved-aggregations-queries/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-saved-aggregations-queries/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-schema-validation/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-schema-validation/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-schema-validation/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const base = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | 4 | module.exports = { 5 | ...base, 6 | require: base.require.concat(['./test/mocha-plugins.ts']), 7 | }; 8 | -------------------------------------------------------------------------------- /packages/compass-schema-validation/src/plugin-title.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export function SchemaValidationTabTitle() { 4 | return
Validation
; 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-schema-validation/src/stores/index.ts: -------------------------------------------------------------------------------- 1 | export { onActivated } from './store'; 2 | -------------------------------------------------------------------------------- /packages/compass-schema-validation/src/util.ts: -------------------------------------------------------------------------------- 1 | import type { AnyAction } from 'redux'; 2 | 3 | export function isAction
( 4 | action: AnyAction, 5 | type: A['type'] 6 | ): action is A { 7 | return action.type === type; 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-schema-validation/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-schema-validation/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-schema/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-schema/README.md: -------------------------------------------------------------------------------- 1 | # compass-schema 2 | 3 | > Compass Schema Tab Plugin 4 | -------------------------------------------------------------------------------- /packages/compass-schema/src/components/coordinates-minichart/index.js: -------------------------------------------------------------------------------- 1 | import CoordinatesMinichart from './coordinates-minichart'; 2 | export default CoordinatesMinichart; 3 | -------------------------------------------------------------------------------- /packages/compass-schema/src/components/d3-component/index.js: -------------------------------------------------------------------------------- 1 | import D3Component from './d3-component'; 2 | export default D3Component; 3 | -------------------------------------------------------------------------------- /packages/compass-schema/src/components/minichart/index.js: -------------------------------------------------------------------------------- 1 | import MiniChart from './minichart'; 2 | export default MiniChart; 3 | -------------------------------------------------------------------------------- /packages/compass-schema/src/components/unique-minichart/index.js: -------------------------------------------------------------------------------- 1 | import UniqueMiniChart from './unique-minichart'; 2 | export default UniqueMiniChart; 3 | -------------------------------------------------------------------------------- /packages/compass-schema/src/constants/schema.ts: -------------------------------------------------------------------------------- 1 | const constants = { 2 | DECIMAL_128: 'Decimal128', 3 | DOUBLE: 'Double', 4 | LONG: 'Long', 5 | INT_32: 'Int32', 6 | STRING: 'String', 7 | NUMBER: 'Number', 8 | } as const; 9 | 10 | export default constants; 11 | -------------------------------------------------------------------------------- /packages/compass-schema/src/plugin-title.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const SchemaTabTitle = () => { 4 | return
Schema
; 5 | }; 6 | -------------------------------------------------------------------------------- /packages/compass-schema/test/setup.js: -------------------------------------------------------------------------------- 1 | import L from 'leaflet'; 2 | 3 | // Apply leaflet to global for tests. 4 | window.L = L; 5 | global.L = L; 6 | 7 | // Fill for leaflet. 8 | window.URL.createObjectURL = () => ''; 9 | -------------------------------------------------------------------------------- /packages/compass-schema/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-schema/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-serverstats/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - "@mongodb-js/prettier-config-compass" 3 | - "@mongodb-js/tsconfig-compass" 4 | # webpack always externalizes 'clipboard' for legacy reasons 5 | - "clipboard" 6 | - "react-dom" 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/compass-serverstats/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-serverstats/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-serverstats/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-serverstats/.npmignore: -------------------------------------------------------------------------------- 1 | .babelrc 2 | .jshintrc 3 | .jsfmtrc 4 | .travis.yml 5 | .zuul.yml 6 | test/ 7 | src/ 8 | electron/ 9 | demo/ 10 | -------------------------------------------------------------------------------- /packages/compass-serverstats/src/d3/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports.realTimeLineChart = require('./real-time-line-chart'); 3 | module.exports.realTimeDispatcher = require('./real-time-dispatcher'); 4 | -------------------------------------------------------------------------------- /packages/compass-serverstats/test/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "mocha": true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-serverstats/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-serverstats/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-settings/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-settings/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-settings/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-settings/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-settings/src/utils/pick.ts: -------------------------------------------------------------------------------- 1 | export function pick, K extends keyof T>( 2 | obj: T, 3 | includeKeys: readonly K[] 4 | ): Pick { 5 | return Object.fromEntries( 6 | Object.entries(obj).filter(([key]) => includeKeys.includes(key as K)) 7 | ) as Pick; 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-settings/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-settings/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-shell/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'electron' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-shell/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-shell/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-shell/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-shell/src/components/compass-shell/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-shell/src/components/compass-shell/index.ts -------------------------------------------------------------------------------- /packages/compass-shell/src/components/shell-header/index.ts: -------------------------------------------------------------------------------- 1 | import ShellHeader from './shell-header'; 2 | 3 | export default ShellHeader; 4 | export { ShellHeader }; 5 | -------------------------------------------------------------------------------- /packages/compass-shell/src/components/shell-info-modal/index.ts: -------------------------------------------------------------------------------- 1 | import ShellInfoModal from './shell-info-modal'; 2 | 3 | export default ShellInfoModal; 4 | -------------------------------------------------------------------------------- /packages/compass-shell/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-shell/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-sidebar/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-sidebar/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-sidebar/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-sidebar/src/empty.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-sidebar/src/empty.ts -------------------------------------------------------------------------------- /packages/compass-sidebar/src/stores/index.ts: -------------------------------------------------------------------------------- 1 | export { createSidebarStore } from './store'; 2 | -------------------------------------------------------------------------------- /packages/compass-sidebar/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-sidebar/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "outDir": "dist" 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-smoke-tests/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - compass-mongodb-com 5 | # Calling into the e2e tests via child processes 6 | - compass-e2e-tests 7 | -------------------------------------------------------------------------------- /packages/compass-smoke-tests/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | 4 | # Sandboxes (created per test run) 5 | .sandboxes/ 6 | # Cache of downloaded files 7 | .downloads/ 8 | -------------------------------------------------------------------------------- /packages/compass-smoke-tests/.gitignore: -------------------------------------------------------------------------------- 1 | # Sandboxes (created per test run) 2 | .sandboxes/ 3 | # Cache of downloaded files 4 | .downloads/ 5 | -------------------------------------------------------------------------------- /packages/compass-smoke-tests/.prettierignore: -------------------------------------------------------------------------------- 1 | .nyc_output 2 | dist 3 | coverage 4 | 5 | # Sandboxes (created per test run) 6 | .sandboxes/ 7 | # Cache of downloaded files 8 | .downloads/ 9 | -------------------------------------------------------------------------------- /packages/compass-smoke-tests/src/compass-mongodb-com.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'compass-mongodb-com' { 2 | import type http from 'http'; 3 | function updateServer(): { 4 | start: () => void; 5 | httpServer: http.Server; 6 | updateChecker: NodeJS.EventEmitter; 7 | }; 8 | export = updateServer; 9 | } 10 | -------------------------------------------------------------------------------- /packages/compass-smoke-tests/src/tests/types.ts: -------------------------------------------------------------------------------- 1 | export const SUPPORTED_TESTS = [ 2 | 'time-to-first-query', 3 | 'auto-update-from', 4 | 'auto-update-to', 5 | ] as const; 6 | 7 | export type TestName = typeof SUPPORTED_TESTS[number]; 8 | -------------------------------------------------------------------------------- /packages/compass-telemetry/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/compass-telemetry/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-telemetry/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: ['@mongodb-js/eslint-config-compass'], 4 | parserOptions: { 5 | tsconfigRootDir: __dirname, 6 | project: ['./tsconfig-lint.json'], 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /packages/compass-telemetry/.mocharc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@mongodb-js/mocha-config-compass'); 2 | -------------------------------------------------------------------------------- /packages/compass-telemetry/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider.d'; 2 | -------------------------------------------------------------------------------- /packages/compass-telemetry/src/growth-experiments.ts: -------------------------------------------------------------------------------- 1 | export enum TestName { 2 | earlyJourneyIndexesGuidance = 'EARLY_JOURNEY_INDEXES_GUIDANCE_20250328', 3 | } 4 | -------------------------------------------------------------------------------- /packages/compass-telemetry/src/index.ts: -------------------------------------------------------------------------------- 1 | export { createIpcTrack, createIpcSendTrack } from './ipc-track'; 2 | export type { TelemetryServiceOptions } from './generic-track'; 3 | export type { 4 | TrackFunction, 5 | IdentifyTraits, 6 | ExtraConnectionData, 7 | } from './types'; 8 | -------------------------------------------------------------------------------- /packages/compass-telemetry/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-telemetry/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-test-server/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/compass-test-server/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-test-server/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-test-server/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/compass-test-server/src/index.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-test-server/src/index.spec.ts -------------------------------------------------------------------------------- /packages/compass-test-server/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-test-server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-user-data/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/compass-user-data/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-user-data/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-user-data/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/compass-user-data/src/index.ts: -------------------------------------------------------------------------------- 1 | export type { Stats, ReadAllResult, ReadAllWithStatsResult } from './user-data'; 2 | export { UserData } from './user-data'; 3 | export { z } from 'zod'; 4 | -------------------------------------------------------------------------------- /packages/compass-user-data/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-user-data/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-utils/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | - 'chai' 8 | - 'electron' 9 | ignore-patterns: 10 | - 'dist' 11 | -------------------------------------------------------------------------------- /packages/compass-utils/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-utils/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-utils/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/compass-utils/src/index.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass-utils/src/index.spec.ts -------------------------------------------------------------------------------- /packages/compass-utils/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-utils/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-web/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-web/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-web/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const config = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | 4 | module.exports = { 5 | ...config, 6 | spec: [...config.spec, 'polyfills/**/*.spec.*', 'polyfills/**/*.test.*'], 7 | }; 8 | -------------------------------------------------------------------------------- /packages/compass-web/polyfills/@mongodb-js/connection-form/index.ts: -------------------------------------------------------------------------------- 1 | function ConnectionForm() { 2 | return null; 3 | } 4 | export default ConnectionForm; 5 | -------------------------------------------------------------------------------- /packages/compass-web/polyfills/@mongodb-js/saslprep/index.ts: -------------------------------------------------------------------------------- 1 | export function saslprep(): void { 2 | throw new Error('saslprep is not supported in this environment'); 3 | } 4 | -------------------------------------------------------------------------------- /packages/compass-web/polyfills/fs/promises/index.ts: -------------------------------------------------------------------------------- 1 | import { promises } from 'fs'; 2 | export default promises; 3 | -------------------------------------------------------------------------------- /packages/compass-web/polyfills/throwError/index.ts: -------------------------------------------------------------------------------- 1 | throw new Error('Module not supported in the browser environment'); 2 | -------------------------------------------------------------------------------- /packages/compass-web/polyfills/zlib/index.ts: -------------------------------------------------------------------------------- 1 | export function inflate() { 2 | // noop 3 | } 4 | export function deflate() { 5 | // noop 6 | } 7 | export default { inflate, deflate }; 8 | -------------------------------------------------------------------------------- /packages/compass-web/sandbox/sandbox-telemetry.ts: -------------------------------------------------------------------------------- 1 | const tracking: { event: string; properties: any }[] = (( 2 | globalThis as any 3 | ).tracking = []); 4 | 5 | export const sandboxTelemetry = { 6 | track: (event: string, properties: any) => { 7 | tracking.push({ event, properties }); 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-web/src/index.tsx: -------------------------------------------------------------------------------- 1 | export { CompassWeb } from './entrypoint'; 2 | export * from './url-builder'; 3 | export type { 4 | OpenWorkspaceOptions, 5 | WorkspaceTab, 6 | } from '@mongodb-js/compass-workspaces'; 7 | -------------------------------------------------------------------------------- /packages/compass-web/src/types.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'process/browser' { 2 | export default process; 3 | } 4 | -------------------------------------------------------------------------------- /packages/compass-web/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-welcome/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-welcome/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-welcome/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-welcome/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-welcome/src/components/index.ts: -------------------------------------------------------------------------------- 1 | import WelcomeModal from './modal'; 2 | import DesktopWelcomeTab from './desktop-welcome-tab'; 3 | import WebWelcomeTab from './web-welcome-tab'; 4 | 5 | export { WelcomeModal, DesktopWelcomeTab, WebWelcomeTab }; 6 | -------------------------------------------------------------------------------- /packages/compass-welcome/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-welcome/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass-workspaces/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | - '@types/chai-dom' 8 | - '@types/react' 9 | - '@types/react-dom' 10 | ignore-patterns: 11 | - 'dist' 12 | -------------------------------------------------------------------------------- /packages/compass-workspaces/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/compass-workspaces/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/compass-workspaces/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass-workspaces/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider.d'; 2 | -------------------------------------------------------------------------------- /packages/compass-workspaces/provider.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/provider'); 3 | -------------------------------------------------------------------------------- /packages/compass-workspaces/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass-workspaces/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/compass/.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | build 3 | -------------------------------------------------------------------------------- /packages/compass/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/compass/.mocharc.renderer.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/compass/.prettierignore: -------------------------------------------------------------------------------- 1 | .nyc_output 2 | dist 3 | coverage 4 | build 5 | src/deps 6 | 7 | # Generated 8 | THIRD-PARTY-NOTICES.md 9 | -------------------------------------------------------------------------------- /packages/compass/app-icons/README.md: -------------------------------------------------------------------------------- 1 | Application icons and installer images for different platforms. 2 | -------------------------------------------------------------------------------- /packages/compass/app-icons/darwin/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/darwin/background.png -------------------------------------------------------------------------------- /packages/compass/app-icons/darwin/background@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/darwin/background@2x.png -------------------------------------------------------------------------------- /packages/compass/app-icons/darwin/mongodb-compass-logo-beta.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/darwin/mongodb-compass-logo-beta.icns -------------------------------------------------------------------------------- /packages/compass/app-icons/darwin/mongodb-compass-logo-dev.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/darwin/mongodb-compass-logo-dev.icns -------------------------------------------------------------------------------- /packages/compass/app-icons/darwin/mongodb-compass-logo-stable.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/darwin/mongodb-compass-logo-stable.icns -------------------------------------------------------------------------------- /packages/compass/app-icons/linux/mongodb-compass-logo-beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/linux/mongodb-compass-logo-beta.png -------------------------------------------------------------------------------- /packages/compass/app-icons/linux/mongodb-compass-logo-dev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/linux/mongodb-compass-logo-dev.png -------------------------------------------------------------------------------- /packages/compass/app-icons/linux/mongodb-compass-logo-stable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/linux/mongodb-compass-logo-stable.png -------------------------------------------------------------------------------- /packages/compass/app-icons/win32/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/win32/background.jpg -------------------------------------------------------------------------------- /packages/compass/app-icons/win32/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/win32/banner.jpg -------------------------------------------------------------------------------- /packages/compass/app-icons/win32/mongodb-compass-installer-loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/win32/mongodb-compass-installer-loading.gif -------------------------------------------------------------------------------- /packages/compass/app-icons/win32/mongodb-compass-logo-beta.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/win32/mongodb-compass-logo-beta.ico -------------------------------------------------------------------------------- /packages/compass/app-icons/win32/mongodb-compass-logo-dev.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/win32/mongodb-compass-logo-dev.ico -------------------------------------------------------------------------------- /packages/compass/app-icons/win32/mongodb-compass-logo-stable.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/app-icons/win32/mongodb-compass-logo-stable.ico -------------------------------------------------------------------------------- /packages/compass/compass-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/compass-screenshot.png -------------------------------------------------------------------------------- /packages/compass/licenses.json: -------------------------------------------------------------------------------- 1 | { 2 | "ignoredOrgs": ["@mongodb-js", "@leafygreen-ui", "@mongosh"], 3 | "ignoredPackages": [], 4 | "licenseOverrides": {} 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass/src/app/fonts/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/src/app/fonts/.gitkeep -------------------------------------------------------------------------------- /packages/compass/src/app/images/compass-dialog-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/src/app/images/compass-dialog-icon.png -------------------------------------------------------------------------------- /packages/compass/src/app/images/explain-card-clockface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/compass/src/app/images/explain-card-clockface.png -------------------------------------------------------------------------------- /packages/compass/src/app/index.less: -------------------------------------------------------------------------------- 1 | // Dependencies 2 | @import 'styles/index.less'; 3 | -------------------------------------------------------------------------------- /packages/compass/src/deps/csfle/.gitignore: -------------------------------------------------------------------------------- 1 | # This folder only contains files downloaded via scripts/download-csfle 2 | * 3 | !.* 4 | ._* 5 | -------------------------------------------------------------------------------- /packages/compass/src/main/README.md: -------------------------------------------------------------------------------- 1 | # src/electron 2 | 3 | Code which runs in electron's main process. 4 | -------------------------------------------------------------------------------- /packages/compass/src/main/disable-node-deprecations.ts: -------------------------------------------------------------------------------- 1 | if (process.env.NODE_ENV !== 'development') { 2 | // Remove the built-in Node.js listener that prints e.g. deprecation 3 | // warnings. 4 | process.removeAllListeners('warning'); 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass/src/main/icon.spec.ts: -------------------------------------------------------------------------------- 1 | import { expect } from 'chai'; 2 | import icon from './icon'; 3 | 4 | describe('icon', function () { 5 | it('should be a non-empty nativeImage', function () { 6 | expect(icon.isEmpty()).to.eq(false); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /packages/compass/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["**/node_modules", "**/.*/", "dist", "build"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/compass/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": {}, 4 | "include": ["src/**/*"], 5 | "exclude": ["./src/**/*.spec.*"] 6 | } 7 | -------------------------------------------------------------------------------- /packages/connection-form/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - "@mongodb-js/prettier-config-compass" 3 | - "@mongodb-js/tsconfig-compass" 4 | - "@types/chai" 5 | - "@types/sinon-chai" 6 | - "@types/chai-dom" 7 | - "@types/react" 8 | - "@types/react-dom" 9 | -------------------------------------------------------------------------------- /packages/connection-form/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/connection-form/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/connection-form/src/constants/default-connection.ts: -------------------------------------------------------------------------------- 1 | export const defaultHostname = 'localhost'; 2 | export const defaultPort = 27017; 3 | export const defaultConnectionString = `mongodb://${defaultHostname}:${defaultPort}`; 4 | export const defaultSocksPort = 1080; 5 | export const defaultSshPort = 22; 6 | -------------------------------------------------------------------------------- /packages/connection-form/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/connection-form/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/connection-info/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/connection-info/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/connection-info/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/connection-info/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/connection-info/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/connection-info/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/connection-storage/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/connection-storage/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/connection-storage/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/connection-storage/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/connection-storage/main.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/main.d'; 2 | -------------------------------------------------------------------------------- /packages/connection-storage/main.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/main'); 3 | -------------------------------------------------------------------------------- /packages/connection-storage/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider.d'; 2 | -------------------------------------------------------------------------------- /packages/connection-storage/provider.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/provider'); 3 | -------------------------------------------------------------------------------- /packages/connection-storage/renderer.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/renderer'; 2 | -------------------------------------------------------------------------------- /packages/connection-storage/renderer.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/renderer'); 3 | -------------------------------------------------------------------------------- /packages/connection-storage/src/renderer.ts: -------------------------------------------------------------------------------- 1 | export type { 2 | ConnectionInfo, 3 | AtlasClusterMetadata, 4 | } from '@mongodb-js/connection-info'; 5 | export * from './compass-renderer-connection-storage'; 6 | -------------------------------------------------------------------------------- /packages/connection-storage/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/connection-storage/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/data-service/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: [ 2 | "ts-node", 3 | "@mongodb-js/prettier-config-compass", 4 | "@mongodb-js/tsconfig-compass", 5 | "@types/whatwg-url", 6 | # Optional dependencies of mongodb node driver that we need for testing 7 | "kerberos", 8 | "@mongodb-js/oidc-plugin" 9 | ] 10 | -------------------------------------------------------------------------------- /packages/data-service/.eslintignore: -------------------------------------------------------------------------------- 1 | lib/ -------------------------------------------------------------------------------- /packages/data-service/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/data-service/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | node_modules/ 4 | lib-cov 5 | .lock-wscript 6 | .idea/ 7 | *.iml 8 | .nvmrc 9 | *.swp 10 | lib/ 11 | -------------------------------------------------------------------------------- /packages/data-service/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/data-service/.npmignore: -------------------------------------------------------------------------------- 1 | .eslintrc 2 | test/ 3 | .github/ 4 | -------------------------------------------------------------------------------- /packages/data-service/.prettierignore: -------------------------------------------------------------------------------- 1 | lib 2 | .nyc_output -------------------------------------------------------------------------------- /packages/data-service/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "lib"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/data-service/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "lib": ["ES2020"], 6 | "outDir": "lib" 7 | }, 8 | "include": ["src/**/*"], 9 | "exclude": ["./src/**/*.spec.*"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/database-model/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: ['@mongodb-js/prettier-config-compass'] 2 | -------------------------------------------------------------------------------- /packages/database-model/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'] 5 | }; 6 | -------------------------------------------------------------------------------- /packages/database-model/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | node_modules/ 4 | lib-cov 5 | coverage 6 | .lock-wscript 7 | .idea/ 8 | *.iml 9 | -------------------------------------------------------------------------------- /packages/database-model/.npmignore: -------------------------------------------------------------------------------- 1 | .jshintrc 2 | .jsfmtrc 3 | .travis.yml 4 | .zuul.yml 5 | examples/ 6 | test/ 7 | -------------------------------------------------------------------------------- /packages/database-model/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./lib/model'); 3 | -------------------------------------------------------------------------------- /packages/database-model/test/index.test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | var assert = require('assert'); 3 | var Database = require('../'); 4 | 5 | describe('mongodb-database-model', function() { 6 | it('should work', function() { 7 | assert(Database); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /packages/databases-collections-list/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - "@mongodb-js/prettier-config-compass" 3 | - "@mongodb-js/tsconfig-compass" 4 | - "@types/chai" 5 | - "@types/sinon-chai" 6 | - "sinon" 7 | - "@types/chai-dom" 8 | - "@types/react" 9 | - "@types/react-dom" 10 | -------------------------------------------------------------------------------- /packages/databases-collections-list/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/databases-collections-list/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/databases-collections-list/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/react'); 3 | -------------------------------------------------------------------------------- /packages/databases-collections-list/src/index.ts: -------------------------------------------------------------------------------- 1 | export { DatabasesList } from './databases'; 2 | export { CollectionsList } from './collections'; 3 | -------------------------------------------------------------------------------- /packages/databases-collections-list/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/databases-collections-list/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/databases-collections/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/databases-collections/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass/plugin'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/databases-collections/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/compass-plugin'); 3 | -------------------------------------------------------------------------------- /packages/databases-collections/README.md: -------------------------------------------------------------------------------- 1 | # Compass Databases and Collections Plugin 2 | 3 | Provides: 4 | 5 | - Collection List Table 6 | - Create Collection Modal 7 | - Drop Collection Modal 8 | - Database List Table 9 | - Create Database Modal 10 | - Drop Database Modal 11 | - Collation Fields 12 | -------------------------------------------------------------------------------- /packages/databases-collections/src/components/collation-fields/index.js: -------------------------------------------------------------------------------- 1 | import Collation from './collation-fields'; 2 | export default Collation; 3 | -------------------------------------------------------------------------------- /packages/databases-collections/src/components/collection-fields/index.js: -------------------------------------------------------------------------------- 1 | import CollectionFields from './collection-fields'; 2 | export default CollectionFields; 3 | -------------------------------------------------------------------------------- /packages/databases-collections/src/modules/index.ts: -------------------------------------------------------------------------------- 1 | import collectionsReducer from './collections'; 2 | import databasesReducer from './databases'; 3 | 4 | export { collectionsReducer, databasesReducer }; 5 | -------------------------------------------------------------------------------- /packages/databases-collections/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/databases-collections/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist", 5 | "allowJs": true 6 | }, 7 | "include": ["src/**/*"], 8 | "exclude": ["./src/**/*.spec.*"] 9 | } 10 | -------------------------------------------------------------------------------- /packages/explain-plan-helper/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - "@mongodb-js/prettier-config-compass" 3 | - "@mongodb-js/tsconfig-compass" 4 | - "@types/chai" 5 | - "@types/sinon-chai" 6 | - "sinon" 7 | -------------------------------------------------------------------------------- /packages/explain-plan-helper/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/explain-plan-helper/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/explain-plan-helper/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/explain-plan-helper/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/explain-plan-helper/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/hadron-app-registry/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/hadron-app-registry/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/hadron-app-registry/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | node_modules/ 4 | lib-cov 5 | coverage 6 | .lock-wscript 7 | .idea/ 8 | *.iml 9 | .nvmrc 10 | dist/ 11 | -------------------------------------------------------------------------------- /packages/hadron-app-registry/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass/react'); 3 | -------------------------------------------------------------------------------- /packages/hadron-app-registry/.npmignore: -------------------------------------------------------------------------------- 1 | .babelrc 2 | .eslintignore 3 | .eslintrc 4 | .travis.yml 5 | test/ 6 | -------------------------------------------------------------------------------- /packages/hadron-app-registry/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/hadron-app-registry/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.react.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/hadron-build/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: [ 2 | "electron-mocha", 3 | "getos", 4 | "got", 5 | "in-publish", 6 | "node-abi", 7 | "xvfb-maybe" 8 | ] 9 | -------------------------------------------------------------------------------- /packages/hadron-build/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | npm-debug.log 4 | test/fixtures/hadron-app/dist 5 | pr-cache/ 6 | *.swp 7 | -------------------------------------------------------------------------------- /packages/hadron-build/.npmignore: -------------------------------------------------------------------------------- 1 | .eslintrc 2 | .jsfmtrc 3 | .travis.yml 4 | test/ 5 | yarn.lock 6 | pr-cache/ 7 | -------------------------------------------------------------------------------- /packages/hadron-build/.prettierignore: -------------------------------------------------------------------------------- 1 | test/fixtures/ -------------------------------------------------------------------------------- /packages/hadron-build/commands/download.d.ts: -------------------------------------------------------------------------------- 1 | export function run(argv: any): Promise; 2 | -------------------------------------------------------------------------------- /packages/hadron-build/commands/info.d.ts: -------------------------------------------------------------------------------- 1 | export function handler(argv: any): void; 2 | -------------------------------------------------------------------------------- /packages/hadron-build/commands/release.d.ts: -------------------------------------------------------------------------------- 1 | export function run(argv: any, done: any): void; 2 | export function compileAssets(CONFIG: any, done: any): void; 3 | -------------------------------------------------------------------------------- /packages/hadron-build/signtool/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | GOOS=windows GOARCH=amd64 go build -o signtool.exe 6 | -------------------------------------------------------------------------------- /packages/hadron-build/signtool/go.mod: -------------------------------------------------------------------------------- 1 | module mongodb.com/signtool 2 | 3 | go 1.15 4 | -------------------------------------------------------------------------------- /packages/hadron-build/signtool/signtool.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/signtool/signtool.exe -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright © 2016 MongoDB Inc. 2 | -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/background.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/hadron-app.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/hadron-app.icns -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/hadron-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/hadron-app.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/darwin/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/darwin/background.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/darwin/hadron-app.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/darwin/hadron-app.icns -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon128.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon16.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon24.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon256.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon32.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon48.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon512.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon64.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/linux/Icon96.png -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/resources/win32/hadron-app.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/resources/win32/hadron-app.ico -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/src/app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/src/app/index.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/hadron-build/test/fixtures/hadron-app/src/app/index.less -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/src/internal-plugins/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | // code would go here. 3 | -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/test/enzyme/index.test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | // tests would go here. 3 | -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/test/functional/index.test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | // tests would go here. 3 | -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/test/main/index.test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | // tests would go here. 3 | -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/test/renderer/index.test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | // tests would go here. 3 | -------------------------------------------------------------------------------- /packages/hadron-build/test/fixtures/hadron-app/test/unit/index.test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | // tests would go here. 3 | -------------------------------------------------------------------------------- /packages/hadron-document/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: [ 2 | '@mongodb-js/prettier-config-compass', 3 | '@mongodb-js/tsconfig-compass', 4 | "@babel/register", 5 | "babel-loader" 6 | ] 7 | -------------------------------------------------------------------------------- /packages/hadron-document/.eslintignore: -------------------------------------------------------------------------------- 1 | lib/ 2 | dist/ 3 | -------------------------------------------------------------------------------- /packages/hadron-document/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/hadron-document/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | node_modules/ 4 | lib-cov 5 | coverage 6 | .lock-wscript 7 | .idea/ 8 | *.iml 9 | .nvmrc 10 | lib 11 | dist 12 | -------------------------------------------------------------------------------- /packages/hadron-document/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/hadron-document/.npmignore: -------------------------------------------------------------------------------- 1 | .eslintrc 2 | .babelrc 3 | .travis.yml 4 | test/ 5 | -------------------------------------------------------------------------------- /packages/hadron-document/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "lib"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/hadron-document/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "lib": ["ES2020"], 6 | "outDir": "dist" 7 | }, 8 | "include": ["src/**/*"], 9 | "exclude": ["./src/**/*.spec.*"] 10 | } 11 | -------------------------------------------------------------------------------- /packages/hadron-ipc/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - "@mongodb-js/prettier-config-compass" 3 | - "@mongodb-js/tsconfig-compass" 4 | - "@types/chai" 5 | - "@types/sinon-chai" 6 | - "sinon" 7 | -------------------------------------------------------------------------------- /packages/hadron-ipc/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/hadron-ipc/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/hadron-ipc/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/hadron-ipc/src/common.ts: -------------------------------------------------------------------------------- 1 | export const getResponseChannel = (methodName: string) => 2 | `hadron-ipc-${methodName}-response`; 3 | -------------------------------------------------------------------------------- /packages/hadron-ipc/src/types.d.ts: -------------------------------------------------------------------------------- 1 | declare type PickByValue = Pick< 2 | T, 3 | { [k in keyof T]: T[k] extends K ? k : never }[keyof T] 4 | >; 5 | -------------------------------------------------------------------------------- /packages/hadron-ipc/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/hadron-ipc/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/hadron-type-checker/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: [] 2 | -------------------------------------------------------------------------------- /packages/hadron-type-checker/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "extends": ["@mongodb-js/eslint-config-compass"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/hadron-type-checker/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | node_modules/ 4 | lib-cov 5 | coverage 6 | .lock-wscript 7 | .idea/ 8 | *.iml 9 | .nvmrc 10 | -------------------------------------------------------------------------------- /packages/hadron-type-checker/.npmignore: -------------------------------------------------------------------------------- 1 | .eslintrc 2 | .travis.yml 3 | test/ 4 | -------------------------------------------------------------------------------- /packages/hadron-type-checker/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./src/type-checker'); 3 | -------------------------------------------------------------------------------- /packages/instance-model/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: ['@mongodb-js/prettier-config-compass'] 2 | -------------------------------------------------------------------------------- /packages/instance-model/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'] 5 | }; 6 | -------------------------------------------------------------------------------- /packages/instance-model/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | npm-debug.log 3 | node_modules/ 4 | lib-cov 5 | coverage 6 | .lock-wscript 7 | .idea/ 8 | *.iml 9 | -------------------------------------------------------------------------------- /packages/instance-model/.npmignore: -------------------------------------------------------------------------------- 1 | .jshintrc 2 | .jsfmtrc 3 | .travis.yml 4 | .zuul.yml 5 | examples/ 6 | test/ 7 | -------------------------------------------------------------------------------- /packages/instance-model/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | exports.MongoDBInstance = require('./lib/model'); 3 | exports.TopologyType = require('./lib/topology-type'); 4 | exports.ServerType = require('./lib/server-type'); 5 | exports.Environment = require('./lib/environment'); -------------------------------------------------------------------------------- /packages/instance-model/lib/environment.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | /** 3 | * Constants for various environments MongoDB can run in. 4 | */ 5 | const ATLAS = 'atlas'; 6 | const ADL = 'adl'; 7 | const ON_PREM = 'on-prem'; 8 | 9 | module.exports = { 10 | ATLAS, 11 | ADL, 12 | ON_PREM 13 | }; -------------------------------------------------------------------------------- /packages/mongodb-explain-compat/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: [] 2 | -------------------------------------------------------------------------------- /packages/mongodb-explain-compat/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "extends": ["@mongodb-js/eslint-config-compass"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/mongodb-explain-compat/.gitignore: -------------------------------------------------------------------------------- 1 | .nyc_output 2 | node_modules 3 | dist 4 | coverage 5 | .esm-wrapper.mjs 6 | -------------------------------------------------------------------------------- /packages/mongodb-explain-compat/README.md: -------------------------------------------------------------------------------- 1 | # mongodb-explain-compat 2 | 3 | Convert mongodb SBE explain output to 4.4 explain output. 4 | The output will not match exactly, but will be close enough to be useful 5 | in practice. 6 | -------------------------------------------------------------------------------- /packages/mongodb-query-util/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/mongodb-query-util/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/mongodb-query-util/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/mongodb-query-util/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/mongodb-query-util/src/index.ts: -------------------------------------------------------------------------------- 1 | export { bsonEqual } from './bson-equal'; 2 | export { getDistinctValues } from './get-distinct-values'; 3 | export { hasDistinctValue } from './has-distinct-value'; 4 | export { inValueRange } from './in-value-range'; 5 | -------------------------------------------------------------------------------- /packages/mongodb-query-util/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/mongodb-query-util/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/my-queries-storage/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | ignore-patterns: 8 | - 'dist' 9 | -------------------------------------------------------------------------------- /packages/my-queries-storage/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/my-queries-storage/.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | root: true, 4 | extends: ['@mongodb-js/eslint-config-compass'], 5 | parserOptions: { 6 | tsconfigRootDir: __dirname, 7 | project: ['./tsconfig-lint.json'], 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/my-queries-storage/.mocharc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('@mongodb-js/mocha-config-compass'); 3 | -------------------------------------------------------------------------------- /packages/my-queries-storage/provider.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/provider.d'; 2 | -------------------------------------------------------------------------------- /packages/my-queries-storage/provider.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = require('./dist/provider'); 3 | -------------------------------------------------------------------------------- /packages/my-queries-storage/test/fixtures/recent_query_1.27.0.json: -------------------------------------------------------------------------------- 1 | { 2 | "_id": "0f92b5fa-19fe-4200-a4bb-d25765bce8a2", 3 | "filter": { "beds": { "$gt": 3 } }, 4 | "_lastExecuted": { "$date": "2023-08-30T19:03:19.336Z" }, 5 | "_ns": "self_airbnb.listings" 6 | } 7 | -------------------------------------------------------------------------------- /packages/my-queries-storage/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/my-queries-storage/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/reflux-state-mixin/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - '@mongodb-js/tsconfig-compass' 4 | - '@types/chai' 5 | - '@types/sinon-chai' 6 | - 'sinon' 7 | - 'reflux' 8 | ignore-patterns: 9 | - 'dist' 10 | -------------------------------------------------------------------------------- /packages/reflux-state-mixin/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /packages/reflux-state-mixin/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: ['@mongodb-js/eslint-config-compass'], 4 | parserOptions: { 5 | tsconfigRootDir: __dirname, 6 | project: ['./tsconfig-lint.json'], 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /packages/reflux-state-mixin/.mocharc.js: -------------------------------------------------------------------------------- 1 | module.exports = require('@mongodb-js/mocha-config-compass'); 2 | -------------------------------------------------------------------------------- /packages/reflux-state-mixin/src/index.spec.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/compass/667a0e34db0d95f0600065d9d75e66f623610d70/packages/reflux-state-mixin/src/index.spec.tsx -------------------------------------------------------------------------------- /packages/reflux-state-mixin/src/index.ts: -------------------------------------------------------------------------------- 1 | import storeMixin from './store-mixin'; 2 | export default { store: storeMixin }; 3 | export type { StoreWithStateMixin } from './store-mixin'; 4 | -------------------------------------------------------------------------------- /packages/reflux-state-mixin/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules", "dist"] 5 | } 6 | -------------------------------------------------------------------------------- /packages/reflux-state-mixin/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["./src/**/*.spec.*"] 8 | } 9 | -------------------------------------------------------------------------------- /scripts/.depcheckrc: -------------------------------------------------------------------------------- 1 | ignores: 2 | - '@mongodb-js/prettier-config-compass' 3 | - 'bson' 4 | # We're specifically want to use hoisted versions from webpack config package 5 | - '@babel/preset-env' 6 | - '@babel/preset-react' 7 | - '@babel/preset-typescript' 8 | - '@babel/plugin-proposal-decorators' 9 | -------------------------------------------------------------------------------- /scripts/.eslintignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /scripts/.prettierignore: -------------------------------------------------------------------------------- 1 | .nyc-output 2 | dist 3 | -------------------------------------------------------------------------------- /scripts/.prettierrc.json: -------------------------------------------------------------------------------- 1 | "@mongodb-js/prettier-config-compass" 2 | -------------------------------------------------------------------------------- /scripts/cli.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | 'use strict'; 3 | const command = process.argv.slice(2).find((arg) => !arg.startsWith('-')); 4 | require(`./${command}`); 5 | -------------------------------------------------------------------------------- /scripts/tsconfig-lint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@mongodb-js/tsconfig-compass/tsconfig.common.json", 3 | "include": ["**/*"], 4 | "exclude": ["node_modules"] 5 | } 6 | --------------------------------------------------------------------------------