Explore your MongoDB.
- Follow the setup instructions for macOS, Windows or Linux.
- Set up SSH
- Then copy/paste:
# Get the source code by cloning the compass repository
git clone [email protected]:10gen/compass.git
# Change directory into the newly cloned repo
cd compass
# Install dependencies
# Note: If you haven't already, you may need to run
# npm login
# with an npm account which has been granted membership to
# https://www.npmjs.com/org/mongodb-js
# in order to download and install private npm modules like
# https://www.npmjs.com/package/@mongodb-js/compass-document-validation
npm install
# Build and launch the app, passing a distribution as an argument.
npm start compass
npm start compass-community
npm start compass-readonly
Try:
npm run clean && npm install && npm start
Note this is a polylithic (as opposed to a monolithic) repository - it aims to make Compass a minimal shell and abstract as much as possible into reusable, highly decoupled components. Please see the mongodb-js org for all the repos: https://github.com/mongodb-js
💡 Most of the time you don't need these, as Evergreen builds them for us.
After you've made some local changes, the next thing you'll probably want to do is create an artifact to share. There is only one command you need to run to compile the app, sign it if the signing certificate is available on your machine, and generate a single file installer for your current platform:
npm run release compass
npm run release compass-community
npm run release compass-readonly
Please see our Compass Internal Docs on our release-process for more information.
# Run the entire test suite
npm test
For more details, see our test README.
The following are employed by the Compass team:
- Evergreen, how we build Compass:
- Your JIRA login should grant access to https://evergreen.mongodb.com/waterfall/10gen-compass-master
- You can also use the command line tool
- TravisCI - runs continuous integration tests, PRs should only be merged if they keep it green
- Greenkeeper - Creates pull requests to update submodules (i.e. @ greenkeeperio-bot creates PRs to remind you and the Compass team to propagate submodule updates upwards through the Compass dependency tree)
- Bugsnag - Reminds us to fix errors customers are experiencing
- Intercom - Allows us to get feedback directly from customers and work with them via chat messages