newrelic / newrelic-oss-cli

Apache License 2.0
0 stars 9 forks source link

New Relic Experimental header

newrelic-oss-cli

GitHub release (latest SemVer including pre-releases) Snyklerna

This is a monorepo for NewRelic's "Open Source Software" (oss) CLI. A collection of tools and utilities for generating, validating, and releasing an open-source project using our guidelines.

Usage

Screenshot #1

Third Party Notice Generation (for npm-based projects)

Generate a manifest (config) file - oss third-party manifest Generate a formatted notices file - oss third-party notices

See more in (/packages)

What problem(s) does this library solve?

What do you need to make this work?

Getting started

Installation

npm install -g @newrelic/newrelic-oss-cli

Open Source License

This project is distributed under the Apache 2 license.

Support

New Relic has open-sourced this project. This project is provided AS-IS WITHOUT WARRANTY OR DEDICATED SUPPORT. Issues and contributions should be reported to the project here on GitHub.

We encourage you to bring your experiences and questions to the Explorers Hub where our community members collaborate on solutions and new ideas.

Community

New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other customers to get help and share best practices. Like all official New Relic open source projects, there's a related Community topic in the New Relic Explorers Hub. You can find this project's topic/threads here:

https://discuss.newrelic.com

Issues / Enhancement Requests

Issues and enhancement requests can be submitted in the Issues tab of this repository. Please search for and review the existing open issues before submitting a new issue.

Contributing

Contributions are welcome (and if you submit a Enhancement Request, expect to be invited to contribute it yourself :grin:). Please review our Contributors Guide.

Keep in mind that when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. If you'd like to execute our corporate CLA, or if you have any questions, please drop us an email at opensource+newrelic-oss-cli@newrelic.com.

Local Development

This is a Lerna monorepo. Developing locally has a few caveats.

Useful commands:

lerna clean - remove all node_modules folders lerna bootstrap - install all dependencies for every package and symlink packages within lerna list - list packages

You can run commands directly from the cloned repo like this:

~/location-of-repo/packages/newrelic-oss-cli/bin run commands

Plugin Development

To "install" a plugin you want to develop, do not include it in the package.json and do not install it with oss plugins:install YOURPLUGIN, this will pull the npm version of the plugin.

Instead you want to "link" it for local development with: ./packages/newrelic-oss-cli/bin/run plugins:link <path to your plugin>

Publishing a new version

From the root of this project:

  1. lerna clean - removes all node_modules folders
  2. lerna bootstrap - installs dependencies into node_modules
  3. lerna version <semver type> - bumps versions of all changed packages
  4. lerna publish from-git - publishes all changes to npm