open-index/open-npm huggingface dataset:
npm package: @saas-ui/date-picker
Description: Chakra UI - Date Picker Component
Author: Eelco Wiersma
Latest version: 0.17.1

# @saas-ui/date-picker

Description

## Installation

```sh
$ yarn add @saas-ui/date-picker

#or

$ npm i @saas-ui/date-picker  --save
```

## Usage

## License

MIT - Appulse Software
npm package: @saasak/tool-env
Description: A small util to manage environment variables for your monorepo
Author: dev@saasak.studio
Latest version: 1.5.0

# Env management

## Warnings

- Make sure to have the git hook setup OR TO add any new variable viw the dedicated subcommand
- Obviously do not commit your password file
- In variable composition, the "static" parts are NOT encrypted (static part should never contain sensitive information)

## Goals

- Centralize env variables definitions
- Allow explicit variables composition
- Good DX (setup and forget)

## TODOs

- [x] Handle encryption
- [ ] Fix not scoped package detection (if one package is not scope, it fails with pkg.name something)
- [ ] Handle variable composition everywhere (not just in overrides)
- [x] Create runtime library to read vars (even encrypted)
- [x] Handle env.local files

## Open questions

- Should we write all the env with the next.js convention ?
- How to handle adding a var easily in an encrypted context ?
- Should we split BUILD / RUN variables ?

## Examples

in package.json (root)
```json
{
	"scripts": {
		"postinstall": "wrenv --secret ~/.big-secret write --target dev",
		"env:update": "wrenv --secret ~/.big-secret write"
	}
}
```

and then later
```bash
pnpm run env:update --target prod
```
or
```bash
WRENV_TARGET=staging bun run env:update
```

### Writing all environments

Use `--target all` to write environment files for all configured environments at once.
This creates suffixed files using conventional names (`.env.development`, `.env.staging`, `.env.production`) instead of a single `.env` file.

Internal names are mapped to conventional output names:
- `dev` → `.env.development`
- `preprod` → `.env.staging`
- `production` → `.env.production`

```bash
wrenv --secret ~/.big-secret write --target all
```

This is useful for:
- CI/CD pipelines that need all environment configurations
- Docker builds that copy environment-specific files
- Pre-generating all env files for deployment
- Compatibility with Next.js, Vite, and other frameworks that use conventional env file names

you can also pass the secret via an env variable (Even though it is not really encouraged)
```bash
WRENV_SECRET=super-secret WRENV_TARGET=prod npm run env:update
```

or via stdin
```bash
cat ~/.big-secret | wrenv --secret=stdin write --target=dev
wrenv --secret stdin --target=dev < ~/.big-secret
```

## Git hooks

Wrenv provide a git hook (to be configured independently with the solution of your choosing) to encrypt all added variables
So in `.git/hooks/pre-commit` you can add
```bash
bun run wrenv --secret ~/.big-secret besafe
```
This will run on the .env.json file and make sure all variables are encrypted.
This way you can add new variables and make sure they don't leak, offering minimum friction.

/!\ You must make sure to add this hook OR to always add var via the dedicated subcommand `wrenv add`


## Add a variable

To add a new variable use the `add` subcommand
```bash
wrenv --secret=~/.big-secret add NEW_VAR +fallback=@@_VALUE +dev=DEV_VALUE +production=PROD_VALUE
npm package: @saasak/tool-supa
Description: A small util to manage supabase
Author: dev@saasak.studio
Latest version: 0.0.9

# How to use

This is simple (albeit still barebone)

- Add `"db:deploy": "supa deploy"` to your package.json at root
- Add `"db:seed": "supa seed"` to your package.json at root
- Add `"db:extensions": "supa ext"` to your package.json at root
And finally,
- Add `"db:reset": "supabase start && supabase db reset && pnpm -s run db:extensions && pnpm -s run db:seed"` to it too !

You'll obviously need to leave out the default seeding script `seed.sql` inside your supabase directory.

Inside your supabase directory, you will need:

- seeds/
 	- 00-configs.sql
 	- 01-whatever.sql
 	- 02-these-are-obviously-whatever.sql
- extensions/
 	- auth/
  		- 00-first-step.sql
  		- 01-second-step.sql
  		- _enable.sql
 	- logging/
  		- 00-first-step.sql
  		- _enable.sql

## Notes

- In the extensions directory, extensions will be installed in the alphabetical order of the directories, and then the files inside each directory will be executed in the order they are named.
- In the extensions directory, the `_enable.sql` file will be executed first to know if the extension needs to run again. There is a `--force` flag to `supa ext` which allows to disregard the result of this script. This script must return `true` if the extension is already installed, and `false` if not.
- The tool now uses Node.js `pg` library instead of the `psql` binary, making it more portable and easier to deploy.

## Available Options

- `--debug` - Enable debug output for all commands
- `--force` - Force execution (for extensions, disregards enable check)
npm package: @saasapp/netinfo
Description: React Native Network Info API for iOS & Android
Author: Matt Oakes
Latest version: 9.3.2

隐藏了 getSSID 和 getBSSID，位于android/src/main/java/com/reactnativecommunity/netinfo/ConnectivityReceiver.java 第207行至227行

```java
// // Get the SSID
// try {
//     String initialSSID = wifiInfo.getSSID();
//     if (initialSSID != null && !initialSSID.contains("<unknown ssid>")) {
//         // Strip the quotes, if any
//         String ssid = initialSSID.replace("\"", "");
//         details.putString("ssid", ssid);
//     }
// } catch (Exception e) {
//     // Ignore errors
// }

// // Get the BSSID
// try {
//     String bssid = wifiInfo.getBSSID();
//     if (bssid != null) {
//         details.putString("bssid", bssid);
//     }
// } catch (Exception e) {
//     // Ignore errors
// }
```
npm package: @saasbase-io/ui-kit
Description: Webcomponent wc-ui following open-wc recommendations
Author: wc-ui
Latest version: 0.0.69

<p align="center">
  <img width="200" src="https://open-wc.org/hero.png"></img>
</p>

## Open-wc Starter App

[![Built with open-wc recommendations](https://img.shields.io/badge/built%20with-open--wc-blue.svg)](https://github.com/open-wc)

## Quickstart

To get started:

```sh
npm init @open-wc
# requires node 10 & npm 6 or higher
```

## Scripts

- `start` runs your app for development, reloading on file changes
- `start:build` runs your app after it has been built using the build command
- `build` builds your app and outputs it in your `dist` directory
- `test` runs your test suite with Web Test Runner
- `lint` runs the linter for your project

## Tooling configs

For most of the tools, the configuration is in the `package.json` to reduce the amount of files in your project.

If you customize the configuration a lot, you can consider moving them to individual files.
npm package: @saascannon/account-management-js
Description: Javascript SDK for interfacing with the Saascannon account management api in the browser.
Author: Saascannon
Latest version: 0.0.4

# @saascannon/account-management-js

Javascript SDK for interfacing with the Saascannon account management api in the browser.

> Note: This package is primerily meant for internal use but will enable custom account management implementations if you wish to build them. Be aware that within this api changes can be made with short notice and requires more involvement with staying up to date. For a maintained, up to date implementation, use [@saascannon/spa](https://github.com/saascannon/spa-js).

## Imminent todos

- Find an alternative to `openapi-typescript-codegen` as it is deprecated
npm package: @saascannon/auth
Description: Node.js Library for authorizing requests to your apis using Saascannon credentials
Author: Saascannon
Latest version: 0.0.2

# Saascannon Auth

This package provides utility functions for verifying user authentication status and permissions guards for [saascannon](https://saascannon.com) credentials.

## Installation

```zsh
npm i @saascannon/auth
```

## Initialise the package

```ts
import { SaascannonAuth } from "@saascannon/auth";

const scAuth = new SaascannonAuth("https://your-tenant.region.saascannon.app");

// Verify credentials
const userAccessTokenDetails = scAuth.verifyUserToken("user-bearer-token");

// Verify permissions ('posts:publish' OR 'admin')
const userCanPublishPosts = userAccessTokenDetails.hasPermissionTo([
  ["posts:publish"],
  ["admin"],
]);
```

## Express Wrapper

If you are using express, you can use some pre-built wrappers for implementing saascannon auth into your service easily.

```ts
import { SaascannonAuth } from "@saascannon/auth";
import { expressAuthGuard, Request } from "@saascannon/auth/express";
import express, { Response, NextFunction } from "express";

const scAuth = new SaascannonAuth("https://your-tenant.region.saascannon.app");

const app = express();

const { verifyUserCredential, verifyUserPermissions } = expressAuthGuard({
  requestUserKey: "user", // userAccessTokenDetails will be stored in the 'user' key of the request object
});

// Ensure users are authenticated for all routes
app.use(verifyUserCredential(scAuth));

// Route with permissions middleware
app.post(
  "/posts",
  verifyUserPermissions([["posts:publish"], ["admin"]]),
  (req: Request, res: Response) => {
    if (
      req.body.restrictedField &&
      // You can also check permissions within the route
      !req.user.hasPermissionTo("posts:publish-with-rf")
    ) {
      return res.sendStatus(403);
    }

    publishPost(req.body);

    return res.sendStatus(201);
  },
);

// Handle Errors
app.use((err: any, req: Request, res: Response, next: NextFunction) => {
  // User is not authenticated
  if (err.code === "unauthenticated") {
    return res.sendStatus(401);
  }

  // Insufficient permissions
  if (err.code === "unauthorized") {
    return res.sendStatus(403);
  }

  res.sendStatus(500);
});
```
npm package: @saasfe/egg-we-app-engine
Description: [![NPM version][npm-image]][npm-url] [![build status][travis-image]][travis-url] [![Test coverage][codecov-image]][codecov-url] [![David deps][david-image]][david-url] [![Known Vulnerabilities][snyk-image]][snyk-url] [![npm download][download-image]][down
Latest version: 0.0.2

# egg-we-app-engine

[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![Test coverage][codecov-image]][codecov-url]
[![David deps][david-image]][david-url]
[![Known Vulnerabilities][snyk-image]][snyk-url]
[![npm download][download-image]][download-url]

[npm-image]: https://img.shields.io/npm/v/egg-we-app-engine.svg?style=flat-square
[npm-url]: https://npmjs.org/package/egg-we-app-engine
[travis-image]: https://img.shields.io/travis/eggjs/egg-we-app-engine.svg?style=flat-square
[travis-url]: https://travis-ci.org/eggjs/egg-we-app-engine
[codecov-image]: https://img.shields.io/codecov/c/github/eggjs/egg-we-app-engine.svg?style=flat-square
[codecov-url]: https://codecov.io/github/eggjs/egg-we-app-engine?branch=master
[david-image]: https://img.shields.io/david/eggjs/egg-we-app-engine.svg?style=flat-square
[david-url]: https://david-dm.org/eggjs/egg-we-app-engine
[snyk-image]: https://snyk.io/test/npm/egg-we-app-engine/badge.svg?style=flat-square
[snyk-url]: https://snyk.io/test/npm/egg-we-app-engine
[download-image]: https://img.shields.io/npm/dm/egg-we-app-engine.svg?style=flat-square
[download-url]: https://npmjs.org/package/egg-we-app-engine

<!--
Description here.
-->

## Install

```bash
$ npm i egg-we-app-engine --save
```

## Usage

```js
// {app_root}/config/plugin.js
exports.weAppEngine = {
  enable: true,
  package: 'egg-we-app-engine',
};
```

## Configuration

```js
// {app_root}/config/config.default.js
exports.weAppEngine = {
};
```

see [config/config.default.js](config/config.default.js) for more detail.

## Example

<!-- example here -->

## Questions & Suggestions

Please open an issue [here](https://github.com/eggjs/egg/issues).

## License

[MIT](LICENSE)
npm package: @saasfe/saas-webpack-system-module
Description: webpack plugin for system module
Author: louisa.ly
Latest version: 1.0.3

## webpack-system-module
webpack plugin for system module compilation

### Install
```
tnpm i @ali/webpack-system-module
```
### Usage

```
const systemModulePlugin = require('@ali/webpack-system-module');

module.exports = {
    plugins: [
        new systemModulePlugin()
    ]
}
```
npm package: @saasfe/we-app-cem
Description: custom event manager for we app
Author: zetay
Latest version: 1.3.4

# 消息通信 for We App

集中式的消息管理，用于相互独立的多模块间的消息互通，
1. 支持已触发消息的消息体暂存
2. 支持全局域和模块域的消息隔离
3. 支持模块域的消息冒泡到全局域

## API

默认导出的是当前微应用的`cem`，可以通过`cem.create(namespace: string)`创建新的消息管理器。

1. `on` 监听事件。
  ```
  on(eventName: string, callback: (event: { type: string, target: string, data: any }) => void, instant: boolean) => void
  ```
  1. eventName 事件名称。可通过namespace订阅其他域的消息，如 on('other:name')。
  2. callback 事件回调，接收的参数event，event的具体内容如下：
    * type 事件名称，同trigger时传入的eventName，见下文。
    * target 触发事件的namespace，因为允许A域触发B域的事件。
    * data 触发事件时传入的数据。
  3. instant
    * boolean 即刻执行，当事件已触发，新注册的监听将即刻执行，做事件补偿。默认为true。
    * object 
      - instant 即刻执行，当事件已触发，新注册的监听将即刻执行，做事件补偿。默认为true。
      - once 仅监听一次。
      - onlyData callback仅接收data。

2. `once` 仅监听一次。参数同on的参数，instant.once始终为true。
3. `off` 取消监听。传入eventName和callback。
  ```
  on(eventName: string, callback: (event: { type: string, target: string, data: any }) => void) => void
  ```
4. `trigger` 触发事件，传入eventName和data。
  ```
  trigger(eventName: string, data: any) => void
  ```
5. `trackShareData`, `trackShareDataOnce` 监听全局共享数据。
  ```
  trackShareData(callback: (data: object) => void) => void
  ```
6. `stopTrackShareData` 取消监听全局共享数据。
  ```
  stopTrackShareData(callback: (data: object) => void) => void
  ```
7. `shareData` 发送共享数据。
  ```
  shareData(data: object) => void
  ```
npm package: @saasfe/we-app-generator
Description: we-app-generator
Author: saas
Latest version: 1.0.0

# README

## 开发

```shell
def dev
```

## 发布

```shell
def build
tnpm publish
```

## 使用

````jsx
import { generator, generatorNormal } from '@alife/we-app-generator';

(async () => {
  // 微应用资源获取
  const url1 = await generator({
    name: 'test-webapp-demo', // 主应用名称
    env: 'daily', // 当前所处发布阶段，如：project、daily、pre、prod等
    domainKey: '',
    server: '//version-center-daily.oss-cn-hangzhou.aliyuncs.com', // 版本服务的地址，一般不用填
    fact: {
      userid: 1,
    }, // 用来当做灰度命中的匹配条件，可不传
  });
  console.log(url1); // [{url: "//g.alicdn.com/alsc-sfe/test-webapp-demo/1.0.2/app-config.js"}]

  // 微应用资源获取
  const url2 = await generator({
    name: 'test-webapp-demo', // 主应用名称
    env: 'daily', // 当前所处发布阶段，如：project、daily、pre、prod等
    domainKey: '',
    server: '//version-center-daily.oss-cn-hangzhou.aliyuncs.com', // 版本服务的地址，一般不用填
    fact: {
      userid: 1,
    }, // 用来当做灰度命中的匹配条件，可不传
    fileName: 'app-config.json',
  });
  console.log(url2); // [{url: "//g.alicdn.com/alsc-sfe/test-webapp-demo/1.0.2/app-config.js"}]

  // 普通应用/主应用获取灰度命中计算后的baseUrl
  const baseUrl = await generatorNormal({
    name: 'test-webapp-demo', // 主应用/普通应用名字
    env: 'daily', // 当前所处发布阶段，如：project、daily、pre、prod等
    domainKey: '',
    server: '//version-center-daily.oss-cn-hangzhou.aliyuncs.com', // 版本服务的地址，一般不用填
    fact: {
      userid: 1,
    }, // 用来当做灰度命中的匹配条件，可不传
  });
  console.log(baseUrl); // baseUrl
})();
````
npm package: @saasfe/we-app-parser
Description: 一个解析器包含应用列表解析器和应用配置解析器两部分。
Author: saas
Latest version: 1.0.0

### 微应用WAP解析器

一个解析器包含应用列表解析器和应用配置解析器两部分。

解析器增加了根据主应用名称解析应用列表的能力，增加了本地联调的能力。

应用配置解析器解析策略（仅对hash路由主应用，具有加载优化能力）：

  - 无路由子应用(baseName为'/') 与 匹配当前hash路由(首批需要加载的，baseName === hash)的子应用直接加载;
  - 其他子应用，采用延迟策略，prefetch 提前缓存;
npm package: @saasfe/we-app-react-router
Description: react router like for we app
Author: zetay
Latest version: 1.1.3

---
title: 微应用路由
subtitle: We App Router
cols: 2
---

## API

微应用路由主要提供的能力有两部分，

1. 组件。包括链接(Link)、导航链接(NavLink)、跳转(Redirect)。
2. 辅助功能。获取查询参数(getSearchParams)，路由类型(routerType)，路由枚举(RouterType)，微应用名称(microAppName)。

**微应用的路由与常规路由有些差异**

1. 在微应用内部，按照常规的应用路由的写法来，如微应用org，管理组织的路由为/manage/org，管理角色的路由为/manage/role，这种路径称为**微应用内路径**
2. 微应用在运行时，路由会有所变化，会将微应用名称作为路由的第一级，还是上面的例子，管理组织的实际路由为/org/manage/org，这种路径称为**绝对路径**

路由的几种写法，假设微应用为`common`，`basename`为`/xxx`

1. true, 始终匹配
2. /home/:id, 匹配 /xxx/common/home/123
3. /home, 匹配以 /xxx/common/home 开头的路径，需要完全匹配，需配置exact为true，参照react-router
4. ~/user/home/:id, 匹配的是 /xxx/user/home/123，~标识从basename开始
5. { path: '/home', exact: true, strict: true }, exact、strict 参照react-router

另外，为了保持使用习惯，API的设计大体上参照react-router的API。

所以，**路由必须以/开头**。

**请确保构建工具会注入微应用名称MICRO_APPNAME**，如webpack通过definePlugin注入MICRO_APPNAME。

### Link

属性 | 说明 | 类型 | 默认值
----|-----|------|------
| to        | 链接，**必须以/开头**，建议使用微应用内路径，如/detail或者{path: '/detail', query: 'id=1&new=1'}或者{path: '/detail', query: {id:1,new:1}} | String/Object   | 无 |
| children        | 子节点 | React.children   | 无 |

### Route

属性 | 说明 | 类型 | 默认值
----|-----|------|------
| to        | 链接，建议使用微应用内路径，如/detail或者{path: '/detail', query: 'id=1&new=1'}或者{path: '/detail', query: {id: 1, new: 1} | String/Object   | 无 |
| exact       | 是否完全匹配 | Boolean   | false |
| strict       | 是否末尾无/ | Boolean   | false |
| route | 路由匹配规则，基于path-to-regexp | String/String[] | 无
| routeIgnore | 路由反向匹配规则，除指定的路由外都匹配 | String/String[] | 无
| routeMatch       | 路径匹配函数，用于确定当前路径是否匹配 | Function   | 内置匹配函数 |
| onRouteMatch       | 路径匹配时的回调，入参为当前匹配的路径对象，含pathname、params、query等 | Function   | 无 |
| matchProps       | 路径匹配时向children注入的props，默认会传入match，一般传className即可 | Object   | { match: true/false } |
| children        | 子组件 | React.Element，props中注入match，即当前匹配的路径对象，含pathname、params、query等   | 无 |

### NavLink

属性 | 说明 | 类型 | 默认值
----|-----|------|------
| to        | 链接，建议使用微应用内路径，如/detail或者{path: '/detail', query: 'id=1&new=1'}或者{path: '/detail', query: {id: 1, new: 1} | String/Object   | 无 |
| exact       | 是否完全匹配 | Boolean   | false |
| strict       | 是否末尾无/ | Boolean   | false |
| route | 路由匹配规则，基于path-to-regexp | String/String[] | 无
| routeMatch       | 路径匹配函数，用于确定当前路径是否匹配 | Function   | 内置匹配函数 |
| onRouteMatch       | 路径匹配时的回调，入参为当前匹配的路径对象，含pathname、params、query等 | Function   | 无 |
| matchProps       | 路径匹配时向children注入的props，默认会传入match，一般传className即可 | Object   | { match: true/false } |
| children        | 子组件 | React.Element，props中注入match，即当前匹配的路径对象，含pathname、params、query等   | 无 |

### Redirect

可当做React Component使用，或者当做函数调用，如

```
<Redirect to="" />

redirectTo('/');
```

属性 | 说明 | 类型 | 默认值
----|-----|------|------
| to        | 链接，建议使用微应用内路径，如/detail或者{path: '/detail', query: 'id=1&new=1'}或者{path: '/detail', query: {id: 1, new: 1} | String/Object   | 无 |
npm package: @saasfe/we-app-sandbox
Description: we app sandbox
Author: 少楚
Latest version: 1.0.1

## 微应用沙箱

为微应用提供封闭运行环境的容器。

由两部分构成，

1. 一个是JS沙箱，提供模拟的window，使用@ice/sandbox；
2. 一个是UI沙箱，提供模拟的document，基于Shadow DOM。

一般的沙箱，主要会专注于解决JS执行环境的隔离问题，主要在模拟window。JS隔离的几个核心的问题是：全局变量污染、事件监听、定时器等。

但是，对于一个完整的前端应用，除了JS执行环境的隔离，还会样式污染问题，以及由DOM操作带来的副作用(如动态插入元素等)。

样式污染问题，容易想到的解决方案有：CSS Module、Shadow DOM等。

从原理上来说，Shadow DOM提供了天然的样式隔离沙箱。同时，它对与样式对应的HTML也有约束，需要样式、HTML在同一个ShadowRoot中。

HTML的操作，其实就涉及DOM操作了，而元素创建、插入很多与document、document.body相关，所以需要模拟document，否则会出现DOM逃逸。

这样一来，将内容渲染到ShadowDOM里需要对组件库做的修正，就不需要了。因为对于程序来说，整个生命周期都在沙箱里，代码依然在按照自己既定的逻辑执行。
npm package: @saasfork/ui
Description: A Saas Fork UI component library
Latest version: 1.0.11

# SaasFork UI

UI component library for SaasFork.

## Installation

### Basic Installation

To install this module in your project:

```bash
# With npm
npm install @saasfork-ui

# With yarn
yarn add @saasfork-ui

# With pnpm
pnpm add @saasfork-ui
```

### As a Nuxt.js Module

1. Install the package:

```bash
# With npm
npm install @saasfork-ui

# With yarn
yarn add @saasfork-ui

# With pnpm
pnpm add @saasfork-ui
```

2. Add the module to your `nuxt.config.js` or `nuxt.config.ts` file:

```js
// nuxt.config.js or nuxt.config.ts
export default defineNuxtConfig({
  modules: [
    '@saasfork-ui/nuxt'
  ],
  
  // Optional module configuration
  saasforkUI: {
    // your configuration options here
  }
})
```

## Usage

You can import components as follows:

```jsx
import { Button, Input } from '@saasfork-ui';

const MyComponent = () => {
  return (
    <div>
      <Input placeholder="Enter your text" />
      <Button>Click me</Button>
    </div>
  );
};
```

### In Nuxt.js

When installed as a Nuxt.js module, components are automatically available:

```vue
<template>
  <div>
    <SfInput placeholder="Enter your text" />
    <SfButton>Click me</SfButton>
  </div>
</template>

<script setup>
// No imports needed! Components are globally registered
</script>
```

## Development

### Prerequisites

- Node.js (version 16 or higher)
- npm, yarn, or pnpm

### Installing dependencies

```bash
npm install
# or
yarn
# or
pnpm install
```

### Starting Storybook

To launch the Storybook development environment (in playground):

```bash
npm run storybook
# or
yarn storybook
# or
pnpm storybook
```

Storybook will be accessible at [http://localhost:6006](http://localhost:6006).

### Build

To create a production version of the library:

```bash
npm run build
# or
yarn build
# or
pnpm build
```
npm package: @saashub/check-engine
Description: CLI that checks dependencies engines.node settings and gives You suggestion or errors if needed
Latest version: 3.1.1

# @saashub/check-engine

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fcheck-engine)
![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fcheck-engine) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fcheck-engine)

## Rationale

## Available options

CLI has its own documentation just run `check-engine -help` or `check-engine -h`.

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_
npm package: @saashub/qoq-eslint-v9-js
Description: Eslint flat config template for JS
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-js

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-js)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-js) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-js) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-js)

## Rationale

Tired of setting up [ESLint](https://www.npmjs.com/package/eslint) from scratch for every new project? With the introduction of [Flat Config](https://eslint.org/docs/latest/use/configure/configuration-files) in ESLint v9, we created a set of base templates for different setups. Check out all our [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-).

These configurations inherit from base presets and include all necessary packages and settings. The rules are opinionated, shaped by years of development experience, and can be used as a complete setup or as a foundation for your own configurations.

## Install

    npm install @saashub/qoq-eslint-v9-js

## Usage

Package exports both CommonJS and ESM code, just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-js");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-js';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-js

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-js-jest
Description: Eslint flat config template for JS + Jest
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-js-jest

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-js-jest)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-js-jest) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-js-jest) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-js-jest)

## Rationale

Beign tired of setting up [Eslint](https://www.npmjs.com/package/eslint) all over again for new projects, on top of v9 [flatConfig](https://eslint.org/docs/latest/use/configure/configuration-files) , we created some base template for different setups (check all [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-)). Configs inherit from base ones and includes all necessary packages and settings. Rules are opinionated, configured from years of development experience, can be used as full setup without any tweaks or as base to Your own configs.

## Install

    npm install @saashub/qoq-eslint-v9-js-jest

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-js-jest");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-js-jest';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-js-jest

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-js-jest-rtl
Description: Eslint flat config template for JS + Jest + RTL
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-js-jest-rtl

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-js-jest-rtl)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-js-jest-rtl) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-js-jest-rtl) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-js-jest-rtl)

## Rationale

Beign tired of setting up [Eslint](https://www.npmjs.com/package/eslint) all over again for new projects, on top of v9 [flatConfig](https://eslint.org/docs/latest/use/configure/configuration-files) , we created some base template for different setups (check all [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-)). Configs inherit from base ones and includes all necessary packages and settings. Rules are opinionated, configured from years of development experience, can be used as full setup without any tweaks or as base to Your own configs.

## Install

    npm install @saashub/qoq-eslint-v9-js-jest-rtl

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-js-jest-rtl");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-js-jest-rtl';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-js-jest-rtl

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-js-react
Description: Eslint flat config template for JS + React
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-js-react

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-js-react)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-js-react) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-js-react) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-js-react)

## Rationale

Tired of setting up [ESLint](https://www.npmjs.com/package/eslint) from scratch for every new project? With the introduction of [Flat Config](https://eslint.org/docs/latest/use/configure/configuration-files) in ESLint v9, we created a set of base templates for different setups. Check out all our [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-).

These configurations inherit from base presets and include all necessary packages and settings. The rules are opinionated, shaped by years of development experience, and can be used as a complete setup or as a foundation for your own configurations.

## Install

    npm install @saashub/qoq-eslint-v9-js-react

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-js-react");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-js-react';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-js-react

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-js-react-compiler
Description: Eslint flat config template for JS + React + React compiler
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-js-react-compiler

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-js-react)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-js-react) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-js-react) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-js-react)

## Rationale

Tired of setting up [ESLint](https://www.npmjs.com/package/eslint) from scratch for every new project? With the introduction of [Flat Config](https://eslint.org/docs/latest/use/configure/configuration-files) in ESLint v9, we created a set of base templates for different setups. Check out all our [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-).

These configurations inherit from base presets and include all necessary packages and settings. The rules are opinionated, shaped by years of development experience, and can be used as a complete setup or as a foundation for your own configurations.

## Install

    npm install @saashub/qoq-eslint-v9-js-react-compiler

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-js-react-compiler");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-js-react-compiler';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-js-react-compiler

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-js-vitest
Description: Eslint flat config template for JS + Vitest
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-js-vitest

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-js-vitest)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-js-vitest) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-js-vitest) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-js-vitest)

## Rationale

Tired of setting up [ESLint](https://www.npmjs.com/package/eslint) from scratch for every new project? With the introduction of [Flat Config](https://eslint.org/docs/latest/use/configure/configuration-files) in ESLint v9, we created a set of base templates for different setups. Check out all our [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-).

These configurations inherit from base presets and include all necessary packages and settings. The rules are opinionated, shaped by years of development experience, and can be used as a complete setup without any tweaks or as a foundation for your own configurations.

## Install

    npm install @saashub/qoq-eslint-v9-js-vitest

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-js-vitest");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-js-vitest';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-js-vitest

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-js-vitest-rtl
Description: Eslint flat config template for JS + Vitest + RTL
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-js-vitest-rtl

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-js-vitest-rtl)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-js-vitest-rtl) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-js-vitest-rtl) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-js-vitest-rtl)

## Rationale

Tired of setting up [ESLint](https://www.npmjs.com/package/eslint) from scratch for every new project? With the introduction of [Flat Config](https://eslint.org/docs/latest/use/configure/configuration-files) in ESLint v9, we created a set of base templates for different setups. Check out all our [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-).

These configurations inherit from base presets and include all necessary packages and settings. The rules are opinionated, shaped by years of development experience, and can be used as a complete setup without any tweaks or as a foundation for your own configurations.

## Install

    npm install @saashub/qoq-eslint-v9-js-vitest-rtl

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-js-vitest-rtl");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-js-vitest-rtl';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-js-vitest-rtl

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-ts
Description: Eslint flat config template for TS
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-ts

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-ts)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-ts) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-ts) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-ts)

## Rationale

Tired of setting up [ESLint](https://www.npmjs.com/package/eslint) from scratch for every new project? With the introduction of [Flat Config](https://eslint.org/docs/latest/use/configure/configuration-files) in ESLint v9, we created a set of base templates for different setups. Check out all our [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-).

These configurations inherit from base presets and include all necessary packages and settings. The rules are opinionated, shaped by years of development experience, and can be used as a complete setup without any tweaks or as a foundation for your own configurations.

## Install

    npm install @saashub/qoq-eslint-v9-ts

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-ts");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-ts';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-ts

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-ts-jest
Description: Eslint flat config template for TS + Jest
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-ts-jest

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-ts-jest)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-ts-jest) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-ts-jest) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-ts-jest)

## Rationale

Tired of setting up [ESLint](https://www.npmjs.com/package/eslint) from scratch for every new project? With the introduction of [Flat Config](https://eslint.org/docs/latest/use/configure/configuration-files) in ESLint v9, we created a set of base templates for different setups. Check out all our [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-).

These configurations inherit from base presets and include all necessary packages and settings. The rules are opinionated, shaped by years of development experience, and can be used as a complete setup or as a foundation for your own configurations.

## Install

    npm install @saashub/qoq-eslint-v9-ts-jest

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-ts-jest");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-ts-jest';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-ts-jest

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-ts-jest-rtl
Description: Eslint flat config template for TS + Jest + RTL
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-ts-jest-rtl

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-ts-jest-rtl)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-ts-jest-rtl) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-ts-jest-rtl) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-ts-jest-rtl)

## Rationale

Tired of setting up [ESLint](https://www.npmjs.com/package/eslint) from scratch for every new project? With the introduction of [Flat Config](https://eslint.org/docs/latest/use/configure/configuration-files) in ESLint v9, we created a set of base templates for different setups. Check out all our [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-).

These configurations inherit from base presets and include all necessary packages and settings. The rules are opinionated, shaped by years of development experience, and can be used as a complete setup or as a foundation for your own configurations.

## Install

    npm install @saashub/qoq-eslint-v9-ts-jest-rtl

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-ts-jest-rtl");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-ts-jest-rtl';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-ts-jest-rtl

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-ts-react
Description: Eslint flat config template for TS + React
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-ts-react

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-ts-react)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-ts-react) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-ts-react) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-ts-react)

## Rationale

Tired of setting up [ESLint](https://www.npmjs.com/package/eslint) from scratch for every new project? With the introduction of [Flat Config](https://eslint.org/docs/latest/use/configure/configuration-files) in ESLint v9, we created a set of base templates for different setups. Check out all our [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-).

These configurations inherit from base presets and include all necessary packages and settings. The rules are opinionated, shaped by years of development experience, and can be used as a complete setup without any tweaks or as a foundation for your own configurations.

## Install

    npm install @saashub/qoq-eslint-v9-ts-react

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-ts-react");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-ts-react';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-ts-react

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)
npm package: @saashub/qoq-eslint-v9-ts-react-compiler
Description: Eslint flat config template for TS + React + React compiler
Latest version: 3.1.1

# @saashub/qoq-eslint-v9-ts-react-compiler

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/saashub-it/qoq/main.yml) ![NPM Version](https://img.shields.io/npm/v/%40saashub%2Fqoq-eslint-v9-ts-react)
![NPM Type Definitions](https://img.shields.io/npm/types/%40saashub%2Fqoq-eslint-v9-ts-react) ![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40saashub%2Fqoq-eslint-v9-ts-react) ![NPM License](https://img.shields.io/npm/l/%40saashub%2Fqoq-eslint-v9-ts-react)

## Rationale

Tired of setting up [ESLint](https://www.npmjs.com/package/eslint) from scratch for every new project? With the introduction of [Flat Config](https://eslint.org/docs/latest/use/configure/configuration-files) in ESLint v9, we created a set of base templates for different setups. Check out all our [@saashub/qoq-eslint-v9-\* packages](https://www.npmjs.com/search?q=%40saashub%2Fqoq-eslint-v9-).

These configurations inherit from base presets and include all necessary packages and settings. The rules are opinionated, shaped by years of development experience, and can be used as a complete setup without any tweaks or as a foundation for your own configurations.

## Install

    npm install @saashub/qoq-eslint-v9-ts-react-compiler

## Usage

Package exports both CommonJS and ESM code just import it in Your eslint config file.

### For CommonJS

```js
const jsBaseConfig = require("@saashub/qoq-eslint-v9-ts-react-compiler");

module.exports = [
  {
    ...jsBaseConfig,
    files: [...]
  }
]
```

### For ESM

```js
import jsBaseConfig from '@saashub/qoq-eslint-v9-ts-react-compiler';

export default [
  {
    ...jsBaseConfig,
    files: [...]
  }
];
```

## Rules preview with ESLint Config Inspector

To preview all rules defined by this config simply run:

    npx -y @saashub/qoq-eslint-v9-ts-react-compiler

### Last but not least

_Feel free to join us, please read [General Contributing Guidelines](https://github.com/saashub-it/qoq/blob/master/.github/CONTRIBUTING.md)_

CLI technical documentation can be found [here](../eslint-v9/PROJECT.md)