open-index/open-npm huggingface dataset:
npm package: @mongodb-js/atlas-local
Description: A Node.js library for managing MongoDB Atlas Local deployments using Docker. This library provides a high-level JavaScript/TypeScript interface to interact with MongoDB Atlas Local deployments, making it easy to develop and test applications against a loc
Latest version: 1.3.0

# MongoDB Atlas Local Library (Node.js)

![CI](https://github.com/mongodb-js/atlas-local-lib-js/workflows/CI/badge.svg)

A Node.js library for managing MongoDB Atlas Local deployments using Docker. This library provides a high-level JavaScript/TypeScript interface to interact with MongoDB Atlas Local deployments, making it easy to develop and test applications against a local MongoDB Atlas environment.

## Overview

MongoDB Atlas Local Library simplifies the process of managing MongoDB Atlas Local deployments by providing a Node.js-native interface that abstracts away the complexity of Docker container management. Whether you're developing applications that will eventually run against MongoDB Atlas or testing Atlas-specific features locally, this library provides the tools you need.

## Features

- **Docker Integration**: Seamlessly manages MongoDB Atlas Local deployments through Docker
- **TypeScript Support**: Built with TypeScript with full type definitions
- **Cross-Platform**: Works on macOS, Linux, and Windows
- **Simple Setup**: Easy to integrate into existing Node.js projects
- **Development Ready**: Perfect for local development and testing workflows

## Installation

```bash
npm install @mongodb-js-preview/atlas-local
# or
yarn add @mongodb-js-preview/atlas-local
```

## Prerequisites

Before using this library, make sure you have:

- **Docker**: Docker must be installed and running on your system
- **Node.js**: Node.js 16+ with full Node-API support

## Quick Start

Here's a simple example to get you started:

```typescript
const client = await Client.connect();
const deployments = await client.listDeployments();
console.log(deployments);
```

## Development

### Build

```bash
yarn build
```

### Test

```bash
yarn test
```

### Benchmark

```bash
yarn bench
```

## API Documentation

The complete API documentation is available in the generated TypeScript definitions. Key components include:

- **`Client`**: The main entry point for managing MongoDB Atlas Local deployments
- **`Deployment`**: Interface representing a MongoDB Atlas Local deployment
- **Error Types**: Comprehensive error handling for Docker and Atlas operations

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for a detailed history of changes.

## License

This project is licensed under the Apache License, Version 2.0 (see `LICENSE`). It also makes use of third-party libraries, which are distributed under their own respective licenses (see `LICENSE-3RD-PARTY.txt`).

## Related Projects

- [MongoDB Atlas](https://www.mongodb.com/atlas) - MongoDB's cloud database service
- [MongoDB Atlas Local](https://www.mongodb.com/docs/atlas/cli/current/atlas-cli-deploy-local/) - Local development environment for MongoDB Atlas
npm package: @mongodb-js/atlas-local-darwin-arm64
Description: A Node.js library for managing MongoDB Atlas Local deployments using Docker. This library provides a high-level JavaScript/TypeScript interface to interact with MongoDB Atlas Local deployments, making it easy to develop and test applications against a loc
Latest version: 1.3.0

# `@mongodb-js/atlas-local-darwin-arm64`

This is the **aarch64-apple-darwin** binary for `@mongodb-js/atlas-local`
npm package: @mongodb-js/atlas-local-darwin-x64
Description: A Node.js library for managing MongoDB Atlas Local deployments using Docker. This library provides a high-level JavaScript/TypeScript interface to interact with MongoDB Atlas Local deployments, making it easy to develop and test applications against a loc
Latest version: 1.3.0

# `@mongodb-js/atlas-local-darwin-x64`

This is the **x86_64-apple-darwin** binary for `@mongodb-js/atlas-local`
npm package: @mongodb-js/atlas-local-linux-arm64-gnu
Description: A Node.js library for managing MongoDB Atlas Local deployments using Docker. This library provides a high-level JavaScript/TypeScript interface to interact with MongoDB Atlas Local deployments, making it easy to develop and test applications against a loc
Latest version: 1.3.0

# `@mongodb-js/atlas-local-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `@mongodb-js/atlas-local`
npm package: @mongodb-js/atlas-local-linux-x64-gnu
Description: A Node.js library for managing MongoDB Atlas Local deployments using Docker. This library provides a high-level JavaScript/TypeScript interface to interact with MongoDB Atlas Local deployments, making it easy to develop and test applications against a loc
Latest version: 1.3.0

# `@mongodb-js/atlas-local-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@mongodb-js/atlas-local`
npm package: @mongodb-js/atlas-local-win32-x64-msvc
Description: A Node.js library for managing MongoDB Atlas Local deployments using Docker. This library provides a high-level JavaScript/TypeScript interface to interact with MongoDB Atlas Local deployments, making it easy to develop and test applications against a loc
Latest version: 1.3.0

# `@mongodb-js/atlas-local-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@mongodb-js/atlas-local`
npm package: @mongodb-js/bson-compilers
Description: Source to source compilers using ANTLR
Latest version: 0.0.0

# BSON-Compilers
Transpilers for building BSON documents in any language.
## Authors
Anna Herlihy (herlihyap@gmail.com)

Alena Khineika (alena.khineika@mongodb.com)

Irina Shestak (shestak.irina@gmail.com)

## App Start

* `$ npm run compile`

## Usage
```
const compiler = require('bson-compilers');

const input = 'javascript';
const output = 'java';
compiler[input][output]("some code in js to compile to java");
// or
compiler.javascript.java("some code in js to compile to java");
```
npm package: @mongodb-js/bump-monorepo-packages
Description: Compute and writes conventional bumps for monorepo packages
Author: MongoDB Inc
Latest version: 0.2.4

# Bump Packages Task

Bump the version of changed packages according to their commit history since the last commit with a special subject (`chore(ci): bump packages`).

**NOTE:** this script will only write changes to the disk: it will not commit, push or release any package.

## Usage

Run this in CI in order to update the packages `package.json` and the root `package-lock.json`:

```
node scripts/bump-packages/bump-packages.js
```

The "bump packages" commit message can be overriden by setting the `LAST_BUMP_COMMIT_MESSAGE` env var. By default is: `chore(ci): bump packages`.

Packages can be excluded from the automatic version bump by adding them to the `SKIP_BUMP_PACKAGES` env var. For example: `export SKIP_BUMP_PACKAGES="package1,package2"`. This can be used in case some of the packages are versioned manually.

## What it does

The command performs the following steps:

1. Find the **"last bump commit"** in the branch, the one which subject starts with `chore(ci): bump packages`
2. Gets a list of all the packages in the monorepo sorted in topological order of dependencies, eg: `{ "name": "pkg1", "dependencies": {"pkg2": "1.0.0"}` -> `["pkg2", "pkg1"]`
3. For each package in the list:

- Calculate the **"conventional bump"** according to commits in the package since the **"last bump commit"**.
- Align all the dependencies previously bumped during the traversal of the list and calculate the **"dependencies bump"**.
- Bump the package version with the maximum increment between the **"conventional bump"** and the **"dependencies bump"** (eg: between `patch` and `minor` take `minor`).

### Conventional Bump

The **"conventional bump"** is calculated based on the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) in the package commit history as follows:

- if any commit on a package has subject or body containing `BREAKING CHANGE` or `BREAKING CHANGES` or has a `!` after the type/scope in the subject (ie. `feat!: ...` or `feat(somescope)!: ...`) then the package will be bumped to the next **major** version.

- if any commit on a package has subject starting with `feat` or `fix` then the package will be bumped to the next **minor** version.

- if any commit on a package exists the package will be bumped to the next **patch** version.

### Dependencies Bump

A package version is bumped also when any dependencies version is bumped. The version change in this case is calculated as follows:

- when only `devDependencies` changed then the package will be bumped to the next **patch** version.
- when any other type of dependency changed (`dependencies`, `peerDependencies`, `optionalDependencies`), then the package will receive the same bump of its dependencies, picking the maximum if more than a dependency was changed.
npm package: @mongodb-js/compass-auth-kerberos
Description: Provides Kerberos Connectivity to the Connection Plugin
Latest version: 4.0.2

# Compass Kerberos Plugin [![][travis_img]][travis_url]

Compass Kerberos Plugin

## Usage

This plugin registers the main component as a `Connect.AuthenticationMethod` role for the
Compass connect plugin to use. The extensions add functionality to the connect plugin's
main store.

### 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.

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

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

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

## License

Apache 2.0

[travis_img]: https://travis-ci.com/10gen/compass-auth-kerberos.svg?token=ezEB2TnpPiu7XLo6ByZp&branch=master
[travis_url]: https://travis-ci.com/10gen/compass-auth-kerberos
[npm_img]: https://img.shields.io/npm/v/@mongodb-js/compass-auth-kerberos.svg?style=flat-square
[npm_url]: https://www.npmjs.org/package/@mongodb-js/compass-auth-kerberos
npm package: @mongodb-js/compass-auth-ldap
Description: Provides LDAP Connectivity to the Connection Plugin
Latest version: 4.0.1

# Compass LDAP Plugin [![][travis_img]][travis_url]

Compass LDAP Plugin

## Usage

This plugin registers the main component as a `Connect.AuthenticationMethod` role for the
Compass connect plugin to use. The extensions add functionality to the connect plugin's
main store.

### 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.

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

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

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

## License

Apache 2.0

[travis_img]: https://travis-ci.com/10gen/compass-auth-ldap.svg?token=ezEB2TnpPiu7XLo6ByZp&branch=master
[travis_url]: https://travis-ci.com/10gen/compass-auth-ldap
[npm_img]: https://img.shields.io/npm/v/@mongodb-js/compass-auth-ldap.svg?style=flat-square
[npm_url]: https://www.npmjs.org/package/@mongodb-js/compass-auth-ldap
npm package: @mongodb-js/compass-auth-x509
Description: Provides X.509 Connectivity to the Connection Plugin
Latest version: 4.1.0

# Compass X.509 Plugin [![][travis_img]][travis_url]

Compass X.509 Plugin

## Usage

This plugin registers the main component as a `Connect.AuthenticationMethod` role for the
Compass connect plugin to use. The extensions add functionality to the connect plugin's
main store.

### 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.

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

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

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

## License

Apache 2.0

[travis_img]: https://travis-ci.com/10gen/compass-auth-x509.svg?token=ezEB2TnpPiu7XLo6ByZp&branch=master
[travis_url]: https://travis-ci.com/10gen/compass-auth-x509
[npm_img]: https://img.shields.io/npm/v/@mongodb-js/compass-auth-x509.svg?style=flat-square
[npm_url]: https://www.npmjs.org/package/@mongodb-js/compass-auth-x509
npm package: @mongodb-js/compass-document-validation
Description: Compass Document Validation Plugin
Latest version: 8.2.0

# compass-document-validation [![][travis_img]][travis_url]

> Compass Document Validation Plugin

## Features

#### Storybook

Develop and prototype your component with [react-storybook][react-storybook] in a standalone browser view, with linked stories and hot reloading.

To run storybook mode, type `npm run storybook`, then open
[http://localhost:9001](http://localhost:9001) in a browser. You can now edit the source code and hit _save_, and changes will immediately show in the browser, while maintaining the state of the component(s).

#### 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`.

If you edit the source code and hit _save_, the source will rebuild and the window reload automatically. State is not maintained throughout reloads (to maintain application state, use _storybook_ instead).

#### Enzyme

The test environment is configured to test components with [Enzyme][enzyme] (including full `mount` mode through [jsdom][jsdom]) and [enzyme-chai][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`.

#### Directory Structure

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

- `.storybook` react-storybook and webpack configuration. You usually don't need to touch this.
- `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`.
- `stories` stories for react-storybook. You can add as many story files as you like, they are automatically added to storybook.
- `test` implement your tests here, and name the files `*.test.js`.


## License

Apache 2.0

[travis_img]: https://travis-ci.com/10gen/compass-document-validation.svg?token=ezEB2TnpPiu7XLo6ByZp&branch=master
[travis_url]: https://travis-ci.com/10gen/compass-document-validation
[react-storybook]: https://github.com/kadirahq/react-storybook
[enzyme]: http://airbnb.io/enzyme/
[enzyme-chai]: https://github.com/producthunt/chai-enzyme
[jsdom]: https://github.com/tmpvar/jsdom
npm package: @mongodb-js/compass-feature-tour
Description: Compass Feature Tour Plugin
Latest version: 0.0.3

# feature-tour [![][travis_img]][travis_url]

> Compass Feature Tour Plugin

## License

Apache 2.0

[travis_img]: https://travis-ci.com/10gen/compass-feature-tour.svg?token=ezEB2TnpPiu7XLo6ByZp&branch=master
[travis_url]: https://travis-ci.com/10gen/compass-feature-tour
npm package: @mongodb-js/compass-license
Description: Compass Community License Plugin
Latest version: 2.0.0

# license [![][travis_img]][travis_url]

> Compass License Plugin

## License

Apache 2.0

[travis_img]: https://travis-ci.com/10gen/compass-license.svg?token=ezEB2TnpPiu7XLo6ByZp&branch=master
[travis_url]: https://travis-ci.com/10gen/compass-license
npm package: @mongodb-js/compass-preferences
Description: Compass Preferences Plugin
Latest version: 0.0.6

# Compass Preferences [![][travis_img]][travis_url]

Compass Preferences Plugin

## Usage

## License

Apache 2.0

[travis_img]: https://travis-ci.com/10gen/compass-preferences.svg?token=ezEB2TnpPiu7XLo6ByZp&branch=master
[travis_url]: https://travis-ci.com/10gen/compass-preferences
npm package: @mongodb-js/compass-security
Description: Compass Security/Plugin Information Plugin
Latest version: 0.1.0

# Compass Security [![][travis_img]][travis_url]

> Compass Security Plugin

## Usage

## License

Apache 2.0

[travis_img]: https://travis-ci.com/mongodb-js/compass-security.svg?token=ezEB2TnpPiu7XLo6ByZp&branch=master
[travis_url]: https://travis-ci.com/mongodb-js/compass-security
npm package: @mongodb-js/device-id
Description: Creates a consistent, implementation-agnostic hash from a given raw machine ID resolution function. Designed to be used by MongoDB Tools.
Author: MongoDB Inc
Latest version: 0.4.7

# @mongodb-js/device-id

Creates a consistent, implementation-agnostic hash from a given raw machine ID resolution function. The machine ID resolution function should come from `node-machine-id` or `native-machine-id` depending on the platform. The hash is generated using SHA-256 and is designed to be consistent with the Atlas CLI.