# eslint-plugin-jaicp

> An ESLint plugin to extract and lint scripts from JAICP DSL projects

Latest version **1.2.2** (published 2023-05-18) · ISC license · 0 weekly downloads

## Install

```sh
npm install eslint-plugin-jaicp
pnpm add eslint-plugin-jaicp
yarn add eslint-plugin-jaicp
bun add eslint-plugin-jaicp
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.2 |
| Published | 2023-05-18 |
| First published | 2023-03-27 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Node | ^14.17.0 \|\| ^16.0.0 \|\| >= 18.0.0 |
| Dependencies | 3 |
| Unpacked size | 15 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Konstantin Sipunin |
| Maintainers | vintagentleman |
| Keywords | eslint, eslintplugin, eslint-plugin |

## Links

- npm: https://www.npmjs.com/package/eslint-plugin-jaicp
- npm.io page: https://npm.io/package/eslint-plugin-jaicp

## Dependencies (3)

- [vfile](https://npm.io/package/vfile.md) ^4.2.1
- [deepmerge](https://npm.io/package/deepmerge.md) ^4.3.1
- [vfile-location](https://npm.io/package/vfile-location.md) ^3.2.0

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 1.2.2 (latest) — 2023-05-18
- 1.2.1 — 2023-04-17
- 1.2.0 — 2023-04-17
- 1.1.1 — 2023-03-28
- 1.1.0 — 2023-03-28
- 1.0.0 — 2023-03-27

## README

# eslint-plugin-jaicp

An [ESLint](https://eslint.org/) plugin to extract and lint scripts from [JAICP DSL](https://help.just-ai.com/) projects.

## Installation

You’ll need to install ESLint and this plugin using [npm](https://nodejs.dev/en/learn/an-introduction-to-the-npm-package-manager/):

```sh
npm i --save-dev eslint eslint-plugin-jaicp
```

## Configuration

Add one of the following configs to the `extends` section of your [`.eslintrc`](https://eslint.org/docs/latest/use/configure/configuration-files) configuration file:

- `plugin:jaicp/es5` if you use the old JavaScript runtime.
- `plugin:jaicp/es6` if you use the new JavaScript runtime with [ECMAScript 6 support](https://help.just-ai.com/docs/ru/JS_API/es6-support).

```json
{
    "extends": [
        // Other configs you use, e.g. "eslint:recommended"
        "plugin:jaicp/es5"
    ]
}
```

## Usage

### Command line

```shell
npx eslint src/
```

### Editor integrations

Use the [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) extension to integrate ESLint into Visual Studio Code.
Note that you also need to teach VS Code to recognize `.sc` files as JAICP DSL:

1. Install the [JAICP](https://help.just-ai.com/docs/en/developer-tools/vscode-extension) extension for VS Code.
2. In the editor settings, add `jaicp` to the list of language IDs that ESLint will validate:

    ```json
    {
        "eslint.validate": [
            "jaicp", "javascript"
        ]
    }
    ```

For other editors, refer to their respective plugins, e.g. [SublimeLinter-eslint](https://github.com/SublimeLinter/SublimeLinter-eslint) for Sublime Text.

## Rules

The following ESLint rules are modified by the plugin configs:

| Rule | Status |
|---|---|
| [`no-undef`](https://eslint.org/docs/latest/rules/no-undef) | Disabled. The plugin does not detect whether a referenced value is defined in a `require`d JavaScript file or `init` block, or actually not defined. |
| [`no-unused-vars`](https://eslint.org/docs/latest/rules/no-unused-vars) | Disabled in `plugin:jaicp/es5` config. The plugin does not detect whether variables defined in `require`d JavaScript files are actually used. |

To enforce other rules, use other configs like [`eslint:recommended`](https://eslint.org/docs/latest/rules/) or [`airbnb-base/legacy`](https://www.npmjs.com/package/eslint-config-airbnb-base).

## Limitations

- Doesn’t lint JavaScript expressions after `if`/`elseif`/`else` tags or within `{{double curly brackets}}`.

## License

Apache-2.0 © [Just AI](https://just-ai.com/en/)

---
_Source: https://npm.io/package/eslint-plugin-jaicp · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
