diff --git a/package-lock.json b/package-lock.json index 26c9c1cdda6..85533d1691d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57181,7 +57181,6 @@ "lodash.debounce": "^4.0.8", "lodash.isempty": "^4.4.0", "lodash.isstring": "^4.0.1", - "mongodb-extended-json": "^1.11.1", "mongodb-ns": "^2.3.0", "re-resizable": "^6.9.0", "react-bootstrap": "^0.32.4", @@ -63747,12 +63746,10 @@ "fast-json-parse": "^1.0.3", "hadron-document": "^7.7.0", "hadron-type-checker": "^6.6.0", - "js-beautify": "^1.10.2", "lodash": "^4.17.15", "moment": "^2.27.0", "moment-timezone": "^0.5.21", "mongodb-ace-theme": "^1.5.0", - "mongodb-extended-json": "^1.11.1", "react-click-outside": "^3.0.1", "react-tooltip": "^3.11.1" }, @@ -69530,6 +69527,7 @@ "@mongodb-js/compass-field-store": "^7.18.0", "autoprefixer": "^9.4.6", "babel-loader": "^8.2.2", + "bson": "^4.4.1", "chai": "^4.2.0", "chai-enzyme": "1.0.0-beta.1", "classnames": "^2.2.6", @@ -69571,7 +69569,6 @@ "mocha-webpack": "^2.0.0-beta.0", "mongodb-connection-model": "^21.12.0", "mongodb-data-service": "^21.16.0", - "mongodb-extended-json": "^1.11.1", "mongodb-index-model": "^3.8.0", "mongodb-reflux-store": "^0.0.1", "node-loader": "^0.6.0", @@ -69605,8 +69602,9 @@ }, "peerDependencies": { "@hot-loader/react-dom": "^16.9.0", - "@mongodb-js/compass-components": "^0.10.0", - "@mongodb-js/compass-deployment-awareness": "^11.18.0", + "@mongodb-js/compass-components": "^0.9.1", + "@mongodb-js/compass-deployment-awareness": "^11.17.1", + "bson": "^4.4.1", "debug": "4.3.0", "hadron-react-buttons": "^5.6.0", "hadron-react-components": "^5.10.0", @@ -76911,6 +76909,7 @@ "ampersand-rest-collection": "^6.0.0", "autoprefixer": "^9.4.6", "babel-loader": "^8.2.2", + "bson": "^4.4.1", "chai": "^4.1.2", "chai-enzyme": "1.0.0-beta.1", "cheerio": "^1.0.0-rc.2", @@ -76954,7 +76953,6 @@ "mocha": "^5.0.0", "mocha-webpack": "^2.0.0-beta.0", "mongodb-connection-model": "^21.12.0", - "mongodb-extended-json": "^1.11.1", "mongodb-js-metrics": "^7.7.0", "mongodb-ns": "^2.3.0", "mongodb-query-parser": "^2.4.3", @@ -77745,7 +77743,6 @@ "mongodb-ace-theme": "^1.5.0", "mongodb-connection-model": "^21.12.0", "mongodb-data-service": "^21.16.0", - "mongodb-extended-json": "^1.11.1", "mongodb-ns": "^2.3.0", "mongodb-query-parser": "^2.4.3", "mongodb-reflux-store": "^0.0.1", @@ -77786,7 +77783,6 @@ "mongodb-ace-autocompleter": "*", "mongodb-ace-mode": "^1.5.0", "mongodb-ace-theme": "^1.5.0", - "mongodb-extended-json": "*", "mongodb-query-parser": "^2.4.3", "prop-types": "^15.7.2", "react": "^16.14.0", @@ -110489,7 +110485,6 @@ "mongodb-ace-theme": "^1.5.0", "mongodb-connection-model": "^21.12.0", "mongodb-data-service": "^21.16.0", - "mongodb-extended-json": "^1.11.1", "mongodb-js-metrics": "^7.7.0", "mongodb-ns": "^2.3.0", "mongodb-query-parser": "^2.4.3", @@ -115743,7 +115738,6 @@ "ignore-loader": "^0.1.2", "istanbul-instrumenter-loader": "^3.0.1", "jquery": "^3.0.0", - "js-beautify": "^1.10.2", "jsdom": "^16.7.0", "jsdom-global": "^3.0.2", "less": "^3.11.1", @@ -115757,7 +115751,6 @@ "mongodb-ace-theme": "^1.5.0", "mongodb-connection-model": "^21.12.0", "mongodb-data-service": "^21.16.0", - "mongodb-extended-json": "^1.11.1", "mongodb-ns": "^2.3.0", "mongodb-runner": "^4.8.3", "node-loader": "^0.6.0", @@ -119684,6 +119677,7 @@ "@mongodb-js/mongodb-redux-common": "^1.8.0", "autoprefixer": "^9.4.6", "babel-loader": "^8.2.2", + "bson": "^4.4.1", "chai": "^4.2.0", "chai-enzyme": "1.0.0-beta.1", "classnames": "^2.2.6", @@ -119735,7 +119729,6 @@ "mocha-webpack": "^2.0.0-beta.0", "mongodb-connection-model": "^21.12.0", "mongodb-data-service": "^21.16.0", - "mongodb-extended-json": "^1.11.1", "mongodb-index-model": "^3.8.0", "mongodb-ns": "^2.3.0", "mongodb-reflux-store": "^0.0.1", @@ -124270,7 +124263,6 @@ "mocha-webpack": "^2.0.0-beta.0", "mongodb-connection-model": "^21.12.0", "mongodb-data-service": "^21.16.0", - "mongodb-extended-json": "^1.11.1", "mongodb-js-metrics": "^7.7.0", "mongodb-ns": "^2.3.0", "mongodb-query-parser": "^2.4.3", @@ -126341,7 +126333,6 @@ "mongodb-ace-theme": "^1.5.0", "mongodb-connection-model": "^21.12.0", "mongodb-data-service": "^21.16.0", - "mongodb-extended-json": "^1.11.1", "mongodb-ns": "^2.3.0", "mongodb-query-parser": "^2.4.3", "mongodb-reflux-store": "^0.0.1", diff --git a/packages/compass-aggregations/.depcheckrc b/packages/compass-aggregations/.depcheckrc index 8bd4f1b8a4b..8410dbe5d40 100644 --- a/packages/compass-aggregations/.depcheckrc +++ b/packages/compass-aggregations/.depcheckrc @@ -1,5 +1,4 @@ ignores: [ - "mongodb-extended-json", "storage-mixin", "@hot-loader/react-dom", "@babel/cli", diff --git a/packages/compass-aggregations/package.json b/packages/compass-aggregations/package.json index fc80f5eb3f7..8d882a86251 100644 --- a/packages/compass-aggregations/package.json +++ b/packages/compass-aggregations/package.json @@ -162,7 +162,6 @@ "lodash.debounce": "^4.0.8", "lodash.isempty": "^4.4.0", "lodash.isstring": "^4.0.1", - "mongodb-extended-json": "^1.11.1", "mongodb-ns": "^2.3.0", "re-resizable": "^6.9.0", "react-bootstrap": "^0.32.4", diff --git a/packages/compass-crud/package.json b/packages/compass-crud/package.json index 05c484d2198..ac4333fd3cf 100644 --- a/packages/compass-crud/package.json +++ b/packages/compass-crud/package.json @@ -135,12 +135,10 @@ "fast-json-parse": "^1.0.3", "hadron-document": "^7.7.0", "hadron-type-checker": "^6.6.0", - "js-beautify": "^1.10.2", "lodash": "^4.17.15", "moment": "^2.27.0", "moment-timezone": "^0.5.21", "mongodb-ace-theme": "^1.5.0", - "mongodb-extended-json": "^1.11.1", "react-click-outside": "^3.0.1", "react-tooltip": "^3.11.1" }, diff --git a/packages/compass-crud/src/components/editable-json.jsx b/packages/compass-crud/src/components/editable-json.jsx index 68b2c18848b..5f59e414d36 100644 --- a/packages/compass-crud/src/components/editable-json.jsx +++ b/packages/compass-crud/src/components/editable-json.jsx @@ -1,7 +1,6 @@ +import { EJSON } from 'bson'; import React from 'react'; import PropTypes from 'prop-types'; -import EJSON from 'mongodb-extended-json'; -import jsBeautify from 'js-beautify'; import jsonParse from 'fast-json-parse'; import { TextButton } from 'hadron-react-buttons'; import DocumentActions from './document-actions'; @@ -313,7 +312,7 @@ class JsonEditor extends React.Component { const value = this.state.json ? this.state.json - : jsBeautify(EJSON.stringify(this.props.doc.generateObject())); + : EJSON.stringify(this.props.doc.generateObject(), null, 2); return (
diff --git a/packages/compass-crud/src/components/insert-json-document.jsx b/packages/compass-crud/src/components/insert-json-document.jsx index aeb156c823f..c33e67d896a 100644 --- a/packages/compass-crud/src/components/insert-json-document.jsx +++ b/packages/compass-crud/src/components/insert-json-document.jsx @@ -1,6 +1,5 @@ import React, { Component } from 'react'; import classnames from 'classnames'; -import jsBeautify from 'js-beautify'; import PropTypes from 'prop-types'; import 'ace-builds'; @@ -36,7 +35,7 @@ const OPTIONS = { class InsertJsonDocument extends Component { componentDidMount() { if (this.props.jsonDoc !== '') { - let value = jsBeautify(this.props.jsonDoc); + let value = this.props.jsonDoc; if (this.props.isCommentNeeded) { value = `${EDITOR_COMMENT}${value}`; diff --git a/packages/compass-crud/src/components/json-editor.jsx b/packages/compass-crud/src/components/json-editor.jsx index e7a36daee7b..82579f6e2a1 100644 --- a/packages/compass-crud/src/components/json-editor.jsx +++ b/packages/compass-crud/src/components/json-editor.jsx @@ -1,7 +1,6 @@ +import { EJSON } from 'bson'; import React from 'react'; import PropTypes from 'prop-types'; -import EJSON from 'mongodb-extended-json'; -import jsBeautify from 'js-beautify'; import jsonParse from 'fast-json-parse'; import { TextButton } from 'hadron-react-buttons'; import DocumentActions from './document-actions'; @@ -130,7 +129,7 @@ class EditableJson extends React.Component { deleting: false, mode: VIEWING, message: EMPTY, - json: jsBeautify(EJSON.stringify(this.props.doc.generateObject())) + json: EJSON.stringify(this.props.doc.generateObject(), null, 2) }); this.props.clearUpdateStatus(); @@ -313,7 +312,7 @@ class EditableJson extends React.Component { const value = this.state.json ? this.state.json - : jsBeautify(EJSON.stringify(this.props.doc.generateObject())); + : EJSON.stringify(this.props.doc.generateObject(), null, 2); return (
diff --git a/packages/compass-crud/src/stores/crud-store.js b/packages/compass-crud/src/stores/crud-store.js index 73eeffda1ba..e2fe3eef04e 100644 --- a/packages/compass-crud/src/stores/crud-store.js +++ b/packages/compass-crud/src/stores/crud-store.js @@ -1,6 +1,6 @@ +import { EJSON } from 'bson'; import Reflux from 'reflux'; import toNS from 'mongodb-ns'; -import EJSON from 'mongodb-extended-json'; import { findIndex, isEmpty } from 'lodash'; import StateMixin from 'reflux-state-mixin'; import HadronDocument from 'hadron-document'; @@ -362,7 +362,7 @@ const configureStore = (options = {}) => { */ copyToClipboard(doc) { track('Document Copied', { mode: this.modeForTelemetry() }); - const documentJSON = EJSON.stringify(doc.generateObject()); + const documentJSON = EJSON.stringify(doc.generateObject(), null, 2); let input = document.createElement(INPUT); input.type = TYPE; input.setAttribute(STYLES, DISPLAY); @@ -678,7 +678,7 @@ const configureStore = (options = {}) => { } } - const jsonDoc = EJSON.stringify(hadronDoc.generateObject()); + const jsonDoc = EJSON.stringify(hadronDoc.generateObject(), null, 2); this.setState({ insert: { @@ -718,7 +718,7 @@ const configureStore = (options = {}) => { */ toggleInsertDocument(view) { if (view === 'JSON') { - const jsonDoc = EJSON.stringify(this.state.insert.doc.generateObject()); + const jsonDoc = EJSON.stringify(this.state.insert.doc.generateObject(), null, 2); this.setState({ insert: { diff --git a/packages/compass-crud/src/stores/crud-store.spec.js b/packages/compass-crud/src/stores/crud-store.spec.js index ffce42a97dd..59ac016be20 100644 --- a/packages/compass-crud/src/stores/crud-store.spec.js +++ b/packages/compass-crud/src/stores/crud-store.spec.js @@ -1,3 +1,4 @@ +import { EJSON } from 'bson'; import util from 'util'; import Connection from 'mongodb-connection-model'; import { connect, convertConnectionModelToInfo } from 'mongodb-data-service'; @@ -5,7 +6,6 @@ import AppRegistry from 'hadron-app-registry'; import HadronDocument, { Element } from 'hadron-document'; import configureStore from './crud-store'; import configureActions from '../actions'; -import EJSON from 'mongodb-extended-json'; import chai from 'chai'; import chaiAsPromised from 'chai-as-promised'; diff --git a/packages/compass-indexes/package.json b/packages/compass-indexes/package.json index 64548e23433..1ebfdea1f5a 100644 --- a/packages/compass-indexes/package.json +++ b/packages/compass-indexes/package.json @@ -32,6 +32,7 @@ "@hot-loader/react-dom": "^16.9.0", "@mongodb-js/compass-components": "^0.10.0", "@mongodb-js/compass-deployment-awareness": "^11.18.0", + "bson": "^4.4.1", "debug": "4.3.0", "hadron-react-buttons": "^5.6.0", "hadron-react-components": "^5.10.0", @@ -59,6 +60,7 @@ "@mongodb-js/compass-field-store": "^7.18.0", "autoprefixer": "^9.4.6", "babel-loader": "^8.2.2", + "bson": "^4.4.1", "chai": "^4.2.0", "chai-enzyme": "1.0.0-beta.1", "classnames": "^2.2.6", @@ -100,7 +102,6 @@ "mocha-webpack": "^2.0.0-beta.0", "mongodb-connection-model": "^21.12.0", "mongodb-data-service": "^21.16.0", - "mongodb-extended-json": "^1.11.1", "mongodb-index-model": "^3.8.0", "mongodb-reflux-store": "^0.0.1", "node-loader": "^0.6.0", diff --git a/packages/compass-indexes/src/modules/create-index/index.js b/packages/compass-indexes/src/modules/create-index/index.js index 8fcf8411af0..ee2dc1384d4 100644 --- a/packages/compass-indexes/src/modules/create-index/index.js +++ b/packages/compass-indexes/src/modules/create-index/index.js @@ -1,5 +1,5 @@ +import { EJSON } from 'bson'; import { combineReducers } from 'redux'; -const EJSON = require('mongodb-extended-json'); import { createLoggerAndTelemetry } from '@mongodb-js/compass-logging'; import dataService from '../data-service'; diff --git a/packages/compass-query-history/package.json b/packages/compass-query-history/package.json index ef2e7ace37b..a4b8f76ef87 100644 --- a/packages/compass-query-history/package.json +++ b/packages/compass-query-history/package.json @@ -76,6 +76,7 @@ "ampersand-rest-collection": "^6.0.0", "autoprefixer": "^9.4.6", "babel-loader": "^8.2.2", + "bson": "^4.4.1", "chai": "^4.1.2", "chai-enzyme": "1.0.0-beta.1", "cheerio": "^1.0.0-rc.2", @@ -119,7 +120,6 @@ "mocha": "^5.0.0", "mocha-webpack": "^2.0.0-beta.0", "mongodb-connection-model": "^21.12.0", - "mongodb-extended-json": "^1.11.1", "mongodb-js-metrics": "^7.7.0", "mongodb-ns": "^2.3.0", "mongodb-query-parser": "^2.4.3", diff --git a/packages/compass-query-history/src/models/query.js b/packages/compass-query-history/src/models/query.js index 78cab66c220..c91010f7fd5 100644 --- a/packages/compass-query-history/src/models/query.js +++ b/packages/compass-query-history/src/models/query.js @@ -1,6 +1,6 @@ import Model from 'ampersand-model'; +import { EJSON } from 'bson'; import uuid from 'uuid'; -import EJSON from 'mongodb-extended-json'; /** * A model that represents a MongoDB query. @@ -51,7 +51,7 @@ const Query = Model.extend({ _ns: 'string' }, parse: function(attrs) { - return EJSON.deserialize(attrs); + return attrs ? EJSON.deserialize(attrs) : undefined; }, serialize: function() { return EJSON.serialize(this.getAttributes({ props: true })); diff --git a/packages/compass-schema-validation/package.json b/packages/compass-schema-validation/package.json index 060634e1a41..5aeaa609fa2 100644 --- a/packages/compass-schema-validation/package.json +++ b/packages/compass-schema-validation/package.json @@ -39,7 +39,6 @@ "mongodb-ace-autocompleter": "*", "mongodb-ace-mode": "^1.5.0", "mongodb-ace-theme": "^1.5.0", - "mongodb-extended-json": "*", "mongodb-query-parser": "^2.4.3", "prop-types": "^15.7.2", "react": "^16.14.0", @@ -102,7 +101,6 @@ "mongodb-ace-theme": "^1.5.0", "mongodb-connection-model": "^21.12.0", "mongodb-data-service": "^21.16.0", - "mongodb-extended-json": "^1.11.1", "mongodb-ns": "^2.3.0", "mongodb-query-parser": "^2.4.3", "mongodb-reflux-store": "^0.0.1", diff --git a/packages/compass-schema-validation/src/modules/validation.js b/packages/compass-schema-validation/src/modules/validation.js index 4e01cc5072a..0c86bc1d6e1 100644 --- a/packages/compass-schema-validation/src/modules/validation.js +++ b/packages/compass-schema-validation/src/modules/validation.js @@ -1,4 +1,4 @@ -import EJSON from 'mongodb-extended-json'; +import { EJSON } from 'bson'; import queryParser from 'mongodb-query-parser'; import { stringify as javascriptStringify } from 'javascript-stringify'; import { createLoggerAndTelemetry } from '@mongodb-js/compass-logging';