What is @nuxtjs/opencollective?
The @nuxtjs/opencollective npm package is designed to encourage users of an open-source project to contribute to its collective fund. It displays a post-install message in the terminal, prompting users to donate to the project's Open Collective. This helps maintainers to sustain their work on the project by raising funds from users who find the project valuable.
What are @nuxtjs/opencollective's main functionalities?
Post-install donation prompt
Displays a message after `npm install` is run, encouraging users to support the project on Open Collective.
const { showPostInstallMessage } = require('@nuxtjs/opencollective');
// This function is typically called in a postinstall script in package.json
showPostInstallMessage();
Other packages similar to @nuxtjs/opencollective
opencollective-postinstall
Similar to @nuxtjs/opencollective, opencollective-postinstall is a package that displays a message after npm install, encouraging users to support the project through Open Collective. It serves the same purpose but is not scoped under the Nuxt.js project.
fund
The fund package is another tool that can be used to encourage financial support for open-source projects. It differs from @nuxtjs/opencollective in that it allows for a more customizable message and can direct users to various funding platforms, not just Open Collective.
@nuxt/opencollective 🤝 Pretty opencollective stats on postinstall!
📖 Release Notes
Features
Displaying opencollective statistics and a donation URL after users install a package
is important for many creators. After problems with current packages that offer similar
features, we decided to spin off our one own. Our key goals are:
- No interference/problems when installing packages. Never break installation because of the package
- Pretty output for all information
- Decent configurability
- Seamless drop-in for common solutions
Setup
- Add
@nuxt/opencollective
dependency using yarn or npm to your project - Add the script to
postinstall
in your package.json
{
"scripts": {
"postinstall": "opencollective || exit 0"
},
"collective": {
"url": "https://opencollective.com/nuxtjs"
}
}
Configuration
Configuration is applied through your project's package.json
.
A full configuration looks like:
{
"collective": {
"url": "https://opencollective.com/nuxtjs",
"logoUrl": "https://opencollective.com/nuxtjs/logo.txt?reverse=true&variant=variant2",
"donation": {
"slug": "/order/591",
"amount": "50",
"text": "Please donate:"
}
}
}
Attribute | Optional | Default | Comment |
---|
url | ❌ | - | The URL to your opencollective page |
logo | ✅ | - | LEGACY: The URL to the logo that should be displayed. Please use logoUrl instead. |
logoUrl | ✅ | - | The URL to the ASCII-logo that should be displayed. |
donation.slug | ✅ | '/donate' | The slug that should be appended to url . Can be used to setup a specific order. |
donation.amount | ✅ | - | The default amount that should be selected on the opencollective page. |
donation.text | ✅ | 'Donate:' | The text that will be displayed before your donation url. |
Disable message
We know the postinstall messages can be annoying when deploying in
production or running a CI pipeline. That's why the message is
disabled in those environments by default.
Enabled when one the following environment variables is set:
NODE_ENV=dev
NODE_ENV=development
OPENCOLLECTIVE_FORCE
Strictly Disabled when one the following environment variables is set:
OC_POSTINSTALL_TEST
OPENCOLLECTIVE_HIDE
CI
CONTINUOUS_INTEGRATION
NODE_ENV
(set and not dev
or development
)DISABLE_OPENCOLLECTIVE
(set to any string value that is not 'false'
or '0'
,
for compatability with
opencollective-postinatall)
Development
- Clone this repository
- Install dependencies using
yarn install
or npm install
- Run it manually
path/to/project/root/src/index.js path/to/package/you/want/to/try
- Run tests with
npm t
or yarn test
Inspiration
This project is heavily inspired by opencollective-cli.
License
MIT License
MIT. Made with 💖