![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
cupiditatequi
Advanced tools
The MongoDB GUI.
Running Compass locally requires Node.js and npm:
Node.js
: ^16.15.0npm
: ^8.15.1npm install
npm start [compass|compass-readonly|compass-isolated]
Current Plugin API Version: 3.0.0
Majority of Compass' functionality lives in various plugins outside the main repo. This repo just brings them all together. All external plugins are tagged via the compass-plugin topic in the mongodb-js organisation. There are also various compass-tools and compass-ui-tools packages that help put together the application.
Plugins can be added to Compass by requiring them as a dependency in package.json,
and by adding their installed location to the distribution plugin list also in the
package.json. Plugin's apiVersion
field has to match Compass'. Currently it's
at 3.0.0
.
Example of adding a dependency:
npm i -S @mongodb-js/compass-aggregations@latest
And in package.json:
"distributions": {
"default": "compass",
"compass": {
"name": "mongodb-compass",
"plugins": [
"node_modules/@mongodb-js/compass-aggregations", // add compass-aggregations
// rest of the plugins required for this distribution
],
"styles": [
"index"
]
},
// other distribution config
}
Compass determines functionality of a plugin based on its registered Role. There are a few mains ones that we use:
Instance.Tab
- Display as tabs in the instance context of the app. For
example,
server-status-plugin.Database.Tab
- Display as tabs in the database context of the app.
compass-databases-collections is registered as a Database.Tab
, for example.Collection.Tab
- Display as sub tabs in the collection context of the
app. A good example of this is the compass-crud.Global.Modal
- Will open as modal dialogs in any context of the app. These
can be separate plugins entirely, or part of an existing plguin that does
something else. For example,
compass-aggregations is an Collection.Tab
,
but also
registers a Global.Modal
.Collection.ScopedModal
- Will open as a modal scoped in the collection context. compass-import-export, for example, registers 2 ScopedModal
s - one for import and the other for export.We use a template to create new plugins. It comes set up with packages we might need to be using, and an electron environment to debug and test the plugin. The template is managed by khaos
npm i -g khaos
khaos create mongodb-js/compass-plugin ./my-plugin
For issues, please create a ticket in our JIRA Project.
For contributing, please refer to CONTRIBUTING.md
Is there anything else you’d like to see in Compass? Let us know by submitting suggestions in out feedback forum.
FAQs
Monorepo that includes Compass and all its dependencies
The npm package cupiditatequi receives a total of 2 weekly downloads. As such, cupiditatequi popularity was classified as not popular.
We found that cupiditatequi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.