Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
3.8 KiB

4 years ago
# @nuxtjs/opencollective 🤝 Pretty opencollective stats on postinstall!
[![npm version][npm-v-src]][npm-v-href]
[![npm downloads][npm-d-src]][npm-d-href]
[![status][github-actions-src]][github-actions-href]
![Showcase](https://i.imgur.com/PZqyT3x.jpg)
>
[📖 **Release Notes**](./CHANGELOG.md)
## 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](https://github.com/opencollective/opencollective-cli) [solutions](https://github.com/opencollective/opencollective-postinstall)
## Setup
- Add `@nuxtjs/opencollective` dependency using yarn or npm to your project
- Add the script to `postinstall` in your package.json
```js
{
// ...
"scripts": {
"postinstall": "opencollective || exit 0"
},
"collective": {
"url": "https://opencollective.com/nuxtjs"
}
// ...
}
```
- Configure it
## Configuration
Configuration is applied through your project's `package.json`.
A full configuration looks like:
```json
{
"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](https://github.com/opencollective/opencollective-postinstall))
## 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](https://github.com/opencollective/opencollective-cli).
## License
[MIT License](./LICENSE)
MIT. Made with 💖
<!-- Refs -->
[npm-v-src]: https://img.shields.io/npm/v/@nuxtjs/opencollective?style=flat-square
[npm-v-href]: https://npmjs.com/package/@nuxtjs/opencollective
[npm-d-src]: https://img.shields.io/npm/dm/@nuxtjs/opencollective?style=flat-square
[npm-d-href]: https://npmjs.com/package/@nuxtjs/opencollective
[github-actions-src]: https://img.shields.io/github/workflow/status/nuxt-contrib/opencollective/ci/master?style=flat-square
[github-actions-href]: https://github.com/nuxt-contrib/opencollective/actions?query=workflow%3Aci