An open API service indexing awesome lists of open source software.

https://github.com/re-quant/eslint-plugin-api-entity-ref

ESLint Rules for @z-brain/api-entity-ref
https://github.com/re-quant/eslint-plugin-api-entity-ref

Last synced: over 1 year ago
JSON representation

ESLint Rules for @z-brain/api-entity-ref

Awesome Lists containing this project

README

          

![eslint-logo](docs/assets/eslint-logo.svg?sanitize=true)

# @z-brain/eslint-plugin-api-entity-ref



Build status


NPM version


Code Coverage


License: GPL v3

An [ESLint](http://eslint.org) plugin to disable to check that you didn't forget to add `ApiEntityRef` decorator from [`@z-brain/api-entity-ref`](https://github.com/z-brain/api-entity-ref) to your classes with `ApiPropertyRef` decorators.

---

*Notice: If you have any propositions feel free to make an issue or create a pull request.*

## Installation

```sh
# Install with npm
npm install eslint eslint-plugin-api-entity-ref --save-dev

# Install with yarn
yarn add -D eslint eslint-plugin-api-entity-ref
```

**Note:** If you installed ESLint globally (using the `-g` flag with npm or `global` with yarn) then you must also install `eslint-plugin-api-entity-ref` globally.

## Usage

Add `api-entity-ref` to the plugins section of your `.eslintrc` configuration file. Then configure the rules you want to use under the rules section.

```jsonc
{
"plugins": ["api-entity-ref"],
"rules": {
"api-entity-ref/check-class-decorator": "error"
}
}
```

Or enable the ruleset via the `extends` property of your `.eslintrc` configuration file.

```jsonc
{
// ...
"extends": [
"plugin:api-entity-ref/recommended"
]
}
```

## Development notes

### How to use NodeJS version from the `.nvmrc`

1. Install NVM
2. Use `.nvmrc` file one of the next ways:

* Execute `nvm use` in the project root directory
* Install [NVM Loader](https://github.com/korniychuk/ankor-shell) and your .nvmrc will be loaded automatically when you open the terminal.
![NVM Loader demo](docs/assets/readme.nvm-loader.png)

### How to make a build

`yarn run build`

### How to run lint

* Just show problems `yarn run lint`
* Fix problems if it is possible `yarn run lint:fix`

### How to run tests

* All tests

`yarn run test`
`yarn run test:watch`
* Specific tests

`yarn run test -- src/my.spec.ts`
`yarn run test:watch -- src/my.spec.ts`

### How to build and publish NPM package

*NPM Token:* `806f...5e2e`

CI configuration details here: [.github/workflows/npmpublish.yml](.github/workflows/npmpublish.yml)

```bash
yarn run pre-push
&& npm version patch -m 'Update package version version to %s'
&& yarn run gen-public-package.json
&& cp README.md dist/
&& npm publish dist --access public
&& git push --no-verify && git push --tags --no-verify
```

## Author

| [
Anton Korniychuk](https://korniychuk.pro) |
| :---: |