open-index/open-npm huggingface dataset:
npm package: @studiometa/eslint-config
Description: ESLint Configuration
Author: Studio Meta
Latest version: 4.3.1

# @studiometa/eslint-config

[![NPM Version](https://img.shields.io/npm/v/@studiometa/eslint-config.svg?style=flat&colorB=3e63dd&colorA=414853)](https://www.npmjs.com/package/@studiometa/eslint-config/)
[![Downloads](https://img.shields.io/npm/dm/@studiometa/eslint-config?style=flat&colorB=3e63dd&colorA=414853)](https://www.npmjs.com/package/@studiometa/eslint-config/)
[![Size](https://img.shields.io/bundlephobia/minzip/@studiometa/eslint-config?style=flat&colorB=3e63dd&colorA=414853&label=size)](https://bundlephobia.com/package/@studiometa/eslint-config)
[![Dependency Status](https://img.shields.io/librariesio/release/npm/@studiometa/eslint-config?style=flat&colorB=3e63dd&colorA=414853)](https://david-dm.org/studiometa/eslint-config)

Set of [ESLint](https://eslint.org/) configurations for multiple usages.

## Installation

Install the package with NPM along ESLint and Prettier:

```bash
npm install --save-dev eslint prettier @studiometa/eslint-config
```

## Usage

To use the basic configuration, you just have to install this package and reference it in your ESLint configuration file:

```js
import { defineConfig, js, prettier, globals } from '@studiometa/eslint-config';

export default defineConfig(js, prettier, {
  files: ['./src/js/**/*.js'],
  languageOptions: {
    globals: {
      ...globals.browser,
    },
  },
});
```

Make sure to always place the `prettier` configuration last to avoid rules conflicts.

Configurations for Vue 2, Vue 3 and TypeScript are also available:

**Vue 3**

```js
import { defineConfig, js, vue, prettier, globals } from '@studiometa/eslint-config';

export default defineConfig(js, vue, prettier, {
  files: ['./src/js/**/*.{js,vue}'],
  languageOptions: {
    globals: {
      ...globals.browser,
    },
  },
});
```

**TypeScript**

```js
import { defineConfig, ts, prettier, globals } from '@studiometa/eslint-config';

export default defineConfig(ts, prettier, {
  files: ['./src/js/**/*.ts'],
  languageOptions: {
    globals: {
      ...globals.browser,
    },
  },
});
```

**Vue 3 × TypeScript**

```js
import { defineConfig, ts, vueTs, prettier, globals } from '@studiometa/eslint-config';

export default defineConfig(ts, vueTs, prettier, {
  files: ['./src/js/**/*.{ts,vue}'],
  languageOptions: {
    globals: {
      ...globals.browser,
    },
  },
});
```
npm package: @studiometa/meta-configs
Description: A meta package to install all of Studio Meta's config packages.
Author: Studio Meta
Latest version: 1.0.5
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Meta config package

[![NPM Version](https://img.shields.io/npm/v/@studiometa/meta-configs.svg?style=flat-square)](https://www.npmjs.com/package/@studiometa/meta-configs/)
[![Dependency Status](https://img.shields.io/david/studiometa/meta-configs.svg?label=deps&style=flat-square)](https://david-dm.org/studiometa/meta-configs)

> Install all of Studio Meta's configuration package easily.

| Package | Meta version | Latest version |
|-|-|-|
| [@studiometa/browserslist-config](https://github.com/studiometa/browserslist-config) | `^1.0.1` | [![NPM Version](https://img.shields.io/npm/v/@studiometa/browserslist-config.svg?style=flat-square)](https://www.npmjs.com/package/@studiometa/browserslist-config/) |
| [@studiometa/eslint-config](https://github.com/studiometa/eslint-config) | `^2.1.3` | [![NPM Version](https://img.shields.io/npm/v/@studiometa/eslint-config.svg?style=flat-square)](https://www.npmjs.com/package/@studiometa/eslint-config/) |
| [@studiometa/prettier-config](https://github.com/studiometa/prettier-config) | `^2.0.1` | [![NPM Version](https://img.shields.io/npm/v/@studiometa/prettier-config.svg?style=flat-square)](https://www.npmjs.com/package/@studiometa/prettier-config/) |
| [@studiometa/stylelint-config](https://github.com/studiometa/stylelint-config) | `^2.0.0` | [![NPM Version](https://img.shields.io/npm/v/@studiometa/stylelint-config.svg?style=flat-square)](https://www.npmjs.com/package/@studiometa/stylelint-config/) |
| [@studiometa/tailwind-config](https://github.com/studiometa/tailwind-config) | `^1.0.2` | [![NPM Version](https://img.shields.io/npm/v/@studiometa/tailwind-config.svg?style=flat-square)](https://www.npmjs.com/package/@studiometa/tailwind-config/) |
| [@studiometa/webpack-config](https://github.com/studiometa/webpack-config) | `^2.9.0` | [![NPM Version](https://img.shields.io/npm/v/@studiometa/webpack-config.svg?style=flat-square)](https://www.npmjs.com/package/@studiometa/webpack-config/) |
npm package: @studiometa/oxlint-config
Description: Shared oxlint configuration for Studio Meta projects
Author: Studio Meta
Latest version: 0.2.0

# @studiometa/oxlint-config

Shared [oxlint](https://oxc.rs/docs/guide/usage/linter) configuration for Studio Meta projects.

Mirrors the rules from [@studiometa/eslint-config](https://github.com/studiometa/eslint-config) where oxlint supports them. Use it as a fast complement or replacement for ESLint.

## Installation

```bash
npm install -D @studiometa/oxlint-config oxlint
```

## Usage

Create an `oxlintrc.json` file at the root of your project:

```json
{
  "extends": ["./node_modules/@studiometa/oxlint-config/oxlintrc.json"]
}
```

Then run oxlint:

```bash
npx oxlint
```

### Override rules

Add or override rules in your project config:

```json
{
  "extends": ["./node_modules/@studiometa/oxlint-config/oxlintrc.json"],
  "rules": {
    "no-console": "off"
  }
}
```

## What's included

### Categories

| Category | Level | Description |
|----------|-------|-------------|
| `correctness` | error | Code that is outright wrong or useless |
| `suspicious` | warn | Code that is most likely wrong or useless |

### Plugins

- **unicorn** — Modern JavaScript best practices
- **jsdoc** — JSDoc comment validation

### Rules

**Best practices** (from `@studiometa/eslint-config`):
- `curly`: Require braces for all control statements
- `eqeqeq`: Require strict equality operators
- `no-alert`, `no-eval`: Disallow unsafe browser APIs
- `no-empty-function`: Disallow empty function bodies
- `no-var`: Require `let` or `const`
- `vars-on-top`: Require variable declarations at the top of scope
- `yoda`: Disallow Yoda conditions

**JSDoc** (matching `eslint-plugin-jsdoc` rules):
- `require-param`, `require-param-name`, `require-param-type`
- `require-returns`, `require-returns-type`
- `require-property`, `require-property-name`, `require-property-type`
- `check-property-names`, `check-tag-names`

**Unicorn** (matching `eslint-plugin-unicorn` rules):
- Prefer modern DOM APIs (`querySelector`, `append`, `remove`, etc.)
- Prefer modern array methods (`find`, `flat`, `flatMap`, `some`, `includes`)
- Prefer modern string methods (`replaceAll`, `slice`, `startsWith`, `endsWith`)
- Disallow common anti-patterns (`instanceof Array`, `document.cookie`, etc.)

### Rules not available in oxlint

The following `@studiometa/eslint-config` rules have no oxlint equivalent and require ESLint:

- `dot-notation`, `no-implicit-coercion`, `no-implicit-globals`, `no-multi-spaces`
- `no-param-reassign`, `no-useless-return`, `object-shorthand`
- `prefer-const`, `prefer-template`, `strict`, `wrap-iife`
- `unicorn/no-array-push-push`, `unicorn/prefer-at`, `unicorn/prefer-default-parameters`
- `unicorn/prefer-keyboard-event-key`
- Most `jsdoc/*` formatting rules (`check-alignment`, `multiline-blocks`, `no-multi-asterisks`, etc.)

See [oxlintrc.json](./oxlintrc.json) for the complete rule list.

## License

MIT © [Studio Meta](https://www.studiometa.fr)
npm package: @studiometa/prettier-config
Description: Prettier configuration
Author: Studio Meta
Latest version: 4.4.0

# @studiometa/prettier-config

[![NPM Version](https://img.shields.io/npm/v/@studiometa/prettier-config.svg?style=flat&colorB=3e63dd&colorA=414853)](https://www.npmjs.com/package/@studiometa/prettier-config/)
[![Downloads](https://img.shields.io/npm/dm/@studiometa/prettier-config?style=flat&colorB=3e63dd&colorA=414853)](https://www.npmjs.com/package/@studiometa/prettier-config/)
[![Size](https://img.shields.io/bundlephobia/minzip/@studiometa/prettier-config?style=flat&colorB=3e63dd&colorA=414853&label=size)](https://bundlephobia.com/package/@studiometa/prettier-config)
[![Dependency Status](https://img.shields.io/librariesio/release/npm/@studiometa/prettier-config?style=flat&colorB=3e63dd&colorA=414853)](https://david-dm.org/studiometa/prettier-config)

> Studio Meta's favorite Prettier configuration to be used across projects.

## Installation

Install the package with NPM:

```bash
$ npm install --save-dev prettier @studiometa/prettier-config
```

## Usage

Create a `.prettierrc.js` file in the root of your project with the following:

```js
module.exports = require('@studiometa/prettier-config');
```

## Contributing

This project uses [Git Flow](https://github.com/petervanderdoes/gitflow-avh) as a branching model, new feature will be added by pull-requests of `feature/` branches against `develop`. 

The JS files are linted with [ESLint](https://eslint.org/) and [Prettier](https://prettier.io). You can check for linting errors before your commits by running the following scripts with Yarn:

```bash
$ yarn lint # Check for linting errors
$ yarn fix # Fix the fixable linting errors
```

Or with NPM:

```bash
$ npm run lint # Check for linting errors
$ npm run fix # Fix the fixable linting errors
```
npm package: @studiometa/prettier-formatter-gitlab
Description: A Prettier formatter for the GitLab Code Quality report
Author: Studio Meta
Latest version: 2.1.2

# @studiometa/prettier-formatter-gitlab

[![NPM Version](https://img.shields.io/npm/v/@studiometa/prettier-formatter-gitlab.svg?style=flat&colorB=3e63dd&colorA=414853)](https://www.npmjs.com/package/@studiometa/prettier-formatter-gitlab/)
[![Downloads](https://img.shields.io/npm/dm/@studiometa/prettier-formatter-gitlab?style=flat&colorB=3e63dd&colorA=414853)](https://www.npmjs.com/package/@studiometa/prettier-formatter-gitlab/)
[![Size](https://img.shields.io/bundlephobia/minzip/@studiometa/prettier-formatter-gitlab?style=flat&colorB=3e63dd&colorA=414853&label=size)](https://bundlephobia.com/package/@studiometa/prettier-formatter-gitlab)
[![Dependency Status](https://img.shields.io/librariesio/release/npm/@studiometa/prettier-formatter-gitlab?style=flat&colorB=3e63dd&colorA=414853)](https://david-dm.org/studiometa/prettier-formatter-gitlab)
![Codecov](https://img.shields.io/codecov/c/github/studiometa/prettier-formatter-gitlab?style=flat&colorB=3e63dd&colorA=414853)

Send Prettier errors to Gitlab's Code Quality reports.

## Installation

Install the package with NPM:

```bash
npm install -D @studiometa/prettier-formatter-gitlab
```

## Usage

Prettier does not have an option for custom reporter, this package will run a prettier CLI command for you and parse its result to generate the Code Quality report.

```js
prettier-formatter-gitlab 'prettier -l src/'
```

The report file path will be read from the `PRETTIER_CODE_QUALITY_REPORT` environment variable or from the `.gitlab-ci.yml` configuration file when using the code quality report artifacts:

```yaml
# .gitlab-ci.yml
prettier:
  image: node:20
  script:
    - npm ci
    - npx prettier-formatter-gitlab 'prettier -l src/'
  artifacts:
    reports:
      codequality: gl-codequality.json
```

## Notes

This project is heavily inspired and borrows some function to the [`eslint-formatter-gitlab`](https://gitlab.com/remcohaszing/eslint-formatter-gitlab) package.