open-index/open-npm huggingface dataset:
npm package: @ryans-technology/eslint-config
Description: Shared ESLint v9 flat-config helpers for Ryan's Technology monorepos.
Latest version: 0.1.1

# @ryans-technology/eslint-config

Shared ESLint v9 flat-config helpers for Ryan's Technology monorepos.

These helpers are dependency-free and expect each project to pass in its locally installed ESLint modules/plugins. This avoids resolution issues with local file dependencies.

## Usage

### Backend (Azure Functions)

In `packages/backend/eslint.config.mjs`:

```js
import eslint from '@eslint/js';
import eslintConfigPrettier from 'eslint-config-prettier';
import globals from 'globals';
import tseslint from 'typescript-eslint';
import backendConfig from '@ryans-technology/eslint-config/backend';

export default backendConfig({
  eslint,
  tseslint,
  eslintConfigPrettier,
  globals,
  tsconfigPath: './tsconfig.json',
  tsconfigRootDir: import.meta.dirname,
  extraIgnores: ['src/generated/**'],
});
```

### Expo / React Native mobile app

In `packages/mobile-app/eslint.config.mjs`:

```js
import eslint from '@eslint/js';
import globals from 'globals';
import importPlugin from 'eslint-plugin-import';
import reactHooksPlugin from 'eslint-plugin-react-hooks';
import reactNativePlugin from 'eslint-plugin-react-native';
import reactPlugin from 'eslint-plugin-react';
import tseslint from 'typescript-eslint';
import expoConfig from '@ryans-technology/eslint-config/expo';

export default expoConfig({
  eslint,
  tseslint,
  globals,
  reactPlugin,
  reactHooksPlugin,
  reactNativePlugin,
  importPlugin,
  tsconfigPath: './tsconfig.json',
  tsconfigRootDir: import.meta.dirname,
});
```

## Notes

- Configs assume ESLint 9 and flat-config mode.
- Projects should clear any `ESLINT_USE_FLAT_CONFIG=false` shell export when running lint.
- `backendConfig` scopes typed TypeScript rules to `*.ts/tsx` files.