open-index/open-npm huggingface dataset:
npm package: @goodcastle/eslint-config
Description: The ESLint config used by Reaction Commerce, following our style guide
Author: Reaction Commerce
Latest version: 0.0.0-development

# @reactioncommerce/eslint-config

[![CircleCI](https://circleci.com/gh/reactioncommerce/reaction-eslint-config/tree/master.svg?style=svg)](https://circleci.com/gh/reactioncommerce/reaction-eslint-config/tree/master)

[![NPM](https://nodei.co/npm/@reactioncommerce/eslint-config.png)](https://npmjs.org/package/@reactioncommerce/eslint-config)

The ESLint config used by Reaction Commerce JavaScript apps and packages, following our code style guide.

## How To Use

Note: _Be sure you are using NPM 5+_

First install in your project directory:

```bash
npx install-peerdeps --dev @reactioncommerce/eslint-config
```

Then set your eslint config either in package.json:

```json
"eslintConfig": {
  "extends": "@reactioncommerce"
}
```

Or in a root file named `.eslintrc` if your project does not have a package.json:

```json
{
  "extends": "@reactioncommerce"
}
```

## Releases

This NPM package is published automatically on every push to the `master` branch. Be sure to use proper Git commit messages so that the version will be bumped properly and release notes can be automatically generated.

- Refer to https://github.com/semantic-release/semantic-release#commit-message-format
- To avoid triggering a release, such as for a README-only change, include `[skip release]` in your commit message.
npm package: @goodcastle/goodcastle-create-hydra-client
Description: Create hydra clients
Author: jfranco@goodcastle.co
Latest version: 1.0.6

# How do you can publish this package?

* make the changes you want
* Prapare your commit and tag the new version. Follow the example below
* git add . && git commit -m "message commit" && npm version 1.0.4
* The new tag is created automatically when you run "npm version 1.0.4" so you have to change the version.
npm package: @goodcastle/goodcastle-epayco-credit
Description: Epayco Credit payment
Author: jfranco@goodcastle.co
Latest version: 1.0.7

# How do you can publish this package?

* make the changes you want
* Prapare your commit and tag the new version. Follow the example below
* git add . && git commit -m "message commit" && npm version 1.0.4
* The new tag is created automatically when you run "npm version 1.0.4" so you have to change the version.
npm package: @goodcastle/reaction-file-collections-sa-s3
Description: An S3 storage adapter for Reaction Commerce's reaction-file-collections
Author: out:grow
Latest version: 1.0.16

# reaction-file-collections-sa-s3

[![npm (scoped)](https://img.shields.io/npm/v/@outgrowio/reaction-file-collections-sa-s3.svg)](https://www.npmjs.com/package/@outgrowio/reaction-file-collections-sa-s3)

An AWS S3 adapter for [reaction-file-collections](https://github.com/reactioncommerce/reaction-file-collections), brought to you by out:grow.

## Installation

Open a terminal in your project's `reaction` (API) directory, and install the package from NPM using the following command:

```bash
npm install @outgrowio/reaction-file-collections-sa-s3
```

## Configuration

Set up your AWS S3 credentials using environment variables:

```bash

# The CDN or S3 endpoint to download files.
CDN_ENDPOINT=http://some.endpoint.com

# The AWS region your S3 bucket is in (if using S3 on AWS)
AWS_S3_REGION=us-east-1

# The custom S3 endpoint you'd like to use (if using an S3-compatible API like Min.io)
AWS_S3_ENDPOINT=http://some.endpoint.com:9000

# Name of the S3 bucket you want to store your media in
AWS_S3_BUCKET=reaction-media

# An AWS access key with the appropriate S3 permissions
AWS_ACCESS_KEY_ID=QWERTYUIOPASDFGH

# The secret access key that goes with the access key
AWS_SECRET_ACCESS_KEY=<secret_key>
```

## Usage

In your project's `reaction` (API) directory, open `/src/core-services/files/setUpFileCollections.js`.

Replace usages of `GridFSStore` with `S3Store`, starting from the import on line 19: `const S3Store = require("@outgrowio/reaction-file-collections-sa-s3").default;`.

When replacing the `GridFSStore` constructor with the `S3Store` one, make sure to pass the following options:

```javascript
new S3Store({
    name, // Should be provided within buildGFS
    isPublic: true,
    objectACL: "public-read",
    async transformWrite(fileRecord) {
        // Either write your custom transformation code here, or re-use the one from the GridFSStore constructor
    }
});
```

## Help

Need help integrating this plugin into your Reaction Commerce project? Simply looking for expert [Reaction Commerce developers](https://outgrow.io)? Want someone to train your team to use Reaction at its fullest?

Whether it is just a one-hour consultation to get you set up or helping your team ship a whole project from start to finish, you can't go wrong by reaching out to us:

* +1 (281) OUT-GROW
* contact@outgrow.io
* https://outgrow.io

## Contributing

Pull Requests, Issues and Feature Requests are welcome!