Skip to content
This repository has been archived by the owner on May 17, 2021. It is now read-only.
/ compass-schema Public archive

Compass plugin for visualizing the inferred schema of a MongoDB collection

License

Notifications You must be signed in to change notification settings

mongodb-js/compass-schema

Repository files navigation

compass-schema

Compass Schema Tab Plugin

Usage

Scripts

link-plugin: Links the Compass plugin and Compass for development along with React to ensure the plugin and Compass are using the same React instance.

COMPASS_HOME=/path/to/my/compass npm run link-plugin

unlink-plugin: Restores Compass and the plugin to their original unlinked state.

COMPASS_HOME=/path/to/my/compass npm run unlink-plugin

License

Apache 2

===

Electron

Validate and test your component in an Electron window, styles included. The source automatically compiles and the window content reloads when any file under ./src changes.

To start Electron and render your component, type npm start.

Enzyme

The test environment is configured to test components with Enzyme (including full mount mode through jsdom) and enzyme-chai. See the test folder for examples. Run npm test to execute the test suite.

Developing

Almost all of your development will happen in the ./src directory. Add new components to ./src/components, actions to ./src/actions/index.js and if you need additional stores, add them to ./src/stores.

To be able to debug the plugin inside compass make sure webpack prod config has devtool is set to source-map. If you want faster compiler time when you commit/push, switch it to false.

const config = {
  target: 'electron-renderer',
  devtool: 'source-map'
}

Directory Structure

For completeness, below is a list of directories present in this module:

  • electron code to start electron, open a browser window and load the source. You don't usually need to touch this, unless you want to render something other than the main component in Electron.
  • lib compiled version of your components (plain javascript instead of jsx) and styles (css instead of less). Never change anything here as this entire folder gets automatically created and overwritten.
  • src components, actions and stores source code, as well as style files. This is the place to implement your own components. npm run compile will use ./src as input and create ./lib.
  • test implement your tests here, and name the files *.test.js.

License

Apache 2.0

About

Compass plugin for visualizing the inferred schema of a MongoDB collection

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages