@gaia-react/lint 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -17,44 +17,58 @@ verbatim and adjust the override block at the bottom for your project.
17
17
  import gaiaLint from '@gaia-react/lint';
18
18
  import {defineConfig} from 'eslint/config';
19
19
 
20
+ const lint = gaiaLint();
21
+
20
22
  export default defineConfig([
21
- ...gaiaLint.ignores({gitignore: '.gitignore'}),
22
- ...gaiaLint.base,
23
- ...gaiaLint.react,
24
- ...gaiaLint.testing,
25
- ...gaiaLint.storybook,
26
- ...gaiaLint.playwright,
27
- ...gaiaLint.styleHygiene,
28
- ...gaiaLint.guardrails,
29
- ...gaiaLint.betterTailwind({
23
+ ...lint.ignores,
24
+ ...lint.base,
25
+ ...lint.react,
26
+ ...lint.testing,
27
+ ...lint.storybook,
28
+ ...lint.playwright,
29
+ ...lint.styleHygiene,
30
+ ...lint.guardrails,
31
+ ...lint.betterTailwind({
30
32
  entryPoint: './app/styles/tailwind.css',
31
33
  ignore: ['plain-link', 'plain-table'],
32
34
  }),
33
- ...gaiaLint.prettier,
35
+ ...lint.prettier,
34
36
  ]);
35
37
  ```
36
38
 
37
- ## Exports
39
+ ## Factory options
40
+
41
+ `gaiaLint(opts?)` returns a bundle of config blocks. Call it once at the
42
+ top of `eslint.config.mjs` and spread the returned configs into
43
+ `defineConfig`.
44
+
45
+ | Option | Type | Default | Description |
46
+ | ----------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
47
+ | `sourceDir` | `string` | `'app'` | Project source directory (relative to repo root). Used to scope filename conventions, hook-folder rules, and the `no-relative-import-paths` root path. |
48
+
49
+ Non-GAIA projects that store source under `src/` (or any other path):
50
+
51
+ ```js
52
+ const lint = gaiaLint({sourceDir: 'src'});
53
+ ```
54
+
55
+ That single call rebinds `base`, `styleHygiene`, and `guardrails` to the
56
+ new source root — no per-config override blocks needed.
57
+
58
+ ## Bundle shape
38
59
 
39
- | Export | Shape | Includes | Required? |
60
+ | Property | Shape | Includes | Required? |
40
61
  | ---------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | --------- |
41
62
  | `base` | `Linter.Config[]` | JS recommended, TypeScript (typescript-eslint), `import-x`, `eslint-comments`, `prefer-arrow-functions`, lodash/underscore guard | required |
42
63
  | `react` | `Linter.Config[]` | `eslint-plugin-react`, `react-hooks`, `jsx-a11y`, GAIA-specific React rules | required for React apps |
43
64
  | `styleHygiene` | `Linter.Config[]` | `canonical`, `perfectionist`, `unicorn`, `unused-imports`, `check-file` | required |
44
- | `guardrails` | `Linter.Config[]` | `no-enum` (custom), `no-switch` (custom), `no-relative-import-paths`, `sonarjs`, `eslint-comments`, `import-x`, `prefer-arrow-functions` | required |
65
+ | `guardrails` | `Linter.Config[]` | `no-enum` (custom), `no-switch` (custom), `no-jsx-iife` (custom), `no-relative-import-paths`, `sonarjs`, `eslint-comments`, `import-x`, `prefer-arrow-functions` | required |
45
66
  | `testing` | `Linter.Config[]` | Vitest + Testing Library config scoped to `*.test.*` and `test/` | optional |
46
67
  | `storybook` | `Linter.Config[]` | `eslint-plugin-storybook` scoped to `*.stories.*` | optional |
47
68
  | `playwright` | `Linter.Config[]` | `eslint-plugin-playwright` scoped to `e2e/` | optional |
48
69
  | `prettier` | `Linter.Config[]` | `eslint-config-prettier` — must be **last** to disable formatting rules | required if using Prettier |
49
70
  | `betterTailwind` | `(opts) => Linter.Config[]` | `eslint-plugin-better-tailwindcss` factory; takes `entryPoint` (path to Tailwind entry CSS) and optional `ignore` (class names to skip) | optional |
50
- | `ignores` | `(opts?) => Linter.Config[]` | `includeIgnoreFile` helper plus GAIA defaults; takes optional `gitignore` (path) and `extra` (string[]) | recommended |
51
-
52
- The default export bundles every named export:
53
-
54
- ```js
55
- import gaiaLint from '@gaia-react/lint';
56
- // gaiaLint.base, gaiaLint.react, gaiaLint.betterTailwind({...}), ...
57
- ```
71
+ | `ignores` | `Iterable<Linter.Config> & ((opts?) => Linter.Config[])` | `includeIgnoreFile` helper plus GAIA defaults. Spread directly for defaults (`...lint.ignores`) or call with options to override (`...lint.ignores({extra: ['.gaia/**']})`). | recommended |
58
72
 
59
73
  ## Override patterns
60
74
 
@@ -65,8 +79,8 @@ gaia-lint spreads to disable, change, or scope rules.
65
79
 
66
80
  ```js
67
81
  export default defineConfig([
68
- ...gaiaLint.base,
69
- ...gaiaLint.react,
82
+ ...lint.base,
83
+ ...lint.react,
70
84
  {rules: {'sonarjs/cognitive-complexity': 'off'}},
71
85
  ]);
72
86
  ```
@@ -75,8 +89,8 @@ export default defineConfig([
75
89
 
76
90
  ```js
77
91
  export default defineConfig([
78
- ...gaiaLint.base,
79
- ...gaiaLint.react,
92
+ ...lint.base,
93
+ ...lint.react,
80
94
  {
81
95
  files: ['app/legacy/**'],
82
96
  rules: {'sonarjs/cognitive-complexity': 'off'},
@@ -88,7 +102,7 @@ export default defineConfig([
88
102
 
89
103
  ```js
90
104
  export default defineConfig([
91
- ...gaiaLint.base,
105
+ ...lint.base,
92
106
  {
93
107
  languageOptions: {
94
108
  parserOptions: {project: './tsconfig.eslint.json'},
@@ -103,8 +117,8 @@ export default defineConfig([
103
117
  import myPlugin from 'eslint-plugin-my-plugin';
104
118
 
105
119
  export default defineConfig([
106
- ...gaiaLint.base,
107
- ...gaiaLint.react,
120
+ ...lint.base,
121
+ ...lint.react,
108
122
  {
109
123
  plugins: {'my-plugin': myPlugin},
110
124
  rules: {'my-plugin/some-rule': 'error'},
@@ -129,7 +143,7 @@ Supported versions:
129
143
 
130
144
  ## Custom rules included
131
145
 
132
- Two rules are implemented inside this package and ship as part of
146
+ Three rules are implemented inside this package and ship as part of
133
147
  `guardrails`.
134
148
 
135
149
  ### `no-enum`
@@ -173,13 +187,23 @@ Opt out for a file or block:
173
187
  {files: ['src/parser/**'], rules: {'no-switch/no-switch': 'off'}}
174
188
  ```
175
189
 
190
+ ### `no-jsx-iife`
191
+
192
+ Forbids IIFEs (`{(() => { ... })()}`) inside JSX expression containers in `.tsx` and `.jsx` files. IIFEs obscure intent and allocate a new function on every render. Compute the value in a variable before the return statement, or use an inline `&&` expression instead.
193
+
194
+ Opt out for a file or block:
195
+
196
+ ```js
197
+ {files: ['src/legacy/**'], rules: {'no-jsx-iife/no-jsx-iife': 'off'}}
198
+ ```
199
+
176
200
  ## Tailwind / better-tailwindcss factory
177
201
 
178
202
  `betterTailwind` is a factory because the underlying plugin needs to know
179
203
  where your Tailwind entry CSS file lives.
180
204
 
181
205
  ```js
182
- ...gaiaLint.betterTailwind({
206
+ ...lint.betterTailwind({
183
207
  entryPoint: './app/styles/tailwind.css',
184
208
  ignore: ['plain-link', 'plain-table'],
185
209
  }),
@@ -193,37 +217,50 @@ where your Tailwind entry CSS file lives.
193
217
  ## Ignores factory
194
218
 
195
219
  `ignores` produces a leading flat-config block that merges your
196
- `.gitignore` plus GAIA defaults.
220
+ `.gitignore` plus GAIA defaults. `.gitignore` is picked up automatically
221
+ if it exists at the project root — no need to declare it.
222
+
223
+ `lint.ignores` is dual-shape: spread it directly for the default case
224
+ (no call), or call it with options to override.
197
225
 
198
226
  ```js
199
- ...gaiaLint.ignores({
200
- gitignore: '.gitignore',
201
- extra: ['coverage/**', '**/*.generated.ts'],
202
- }),
227
+ ...lint.ignores, // default: auto .gitignore + GAIA defaults
228
+ ...lint.ignores({extra: ['coverage/**']}), // + extra globs
229
+ ...lint.ignores({gitignore: 'config/.gitignore'}), // override the path
230
+ ...lint.ignores({gitignore: false}), // opt out of the merge
203
231
  ```
204
232
 
205
- | Option | Type | Required | Description |
206
- | ---------- | ---------- | -------- | ---------------------------------------------------------------------------------------------------- |
207
- | `gitignore`| `string` | no | Path to a `.gitignore` file (relative to `cwd` or absolute). Patterns are merged via `includeIgnoreFile`. |
208
- | `extra` | `string[]` | no | Extra ignore globs merged with GAIA defaults. |
233
+ | Option | Type | Required | Description |
234
+ | ---------- | ----------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
235
+ | `gitignore`| `string \| false` | no | Path to a `.gitignore` file (relative to `cwd` or absolute). Defaults to `'.gitignore'`. Silently skipped if the resolved path does not exist. Pass `false` to opt out entirely. |
236
+ | `extra` | `string[]` | no | Extra ignore globs merged with GAIA defaults. |
209
237
 
210
238
  ## GAIA folder conventions baked into `check-file`
211
239
 
212
- The `check-file` rules in `styleHygiene` encode GAIA's folder layout:
240
+ The `check-file` rules in `styleHygiene` encode GAIA's folder layout (with
241
+ `sourceDir` substituted for the literal `app/` prefix):
213
242
 
214
- - `app/components/**` — component file naming
215
- - `app/pages/**` — route/page file naming
216
- - `app/hooks/**` — hook file naming (`use-*.ts`)
243
+ - `<sourceDir>/components/**` — component file naming
244
+ - `<sourceDir>/pages/**` — route/page file naming
245
+ - `<sourceDir>/hooks/**` — hook file naming (`use-*.ts`)
217
246
  - `test/**` — test harness naming
218
247
 
219
- If your project uses a different layout, override the relevant
220
- `check-file/*` rules **after** the `styleHygiene` spread:
248
+ For most non-GAIA layouts, passing `sourceDir` to the factory is enough:
221
249
 
222
250
  ```js
251
+ const lint = gaiaLint({sourceDir: 'src'});
252
+ ```
253
+
254
+ If the convention itself differs (e.g. PascalCase component files instead
255
+ of `index.tsx`), override the relevant `check-file/*` rules **after** the
256
+ `styleHygiene` spread:
257
+
258
+ ```js
259
+ const lint = gaiaLint({sourceDir: 'src'});
260
+
223
261
  export default defineConfig([
224
- ...gaiaLint.base,
225
- ...gaiaLint.styleHygiene,
226
- // Project uses src/ instead of app/
262
+ ...lint.base,
263
+ ...lint.styleHygiene,
227
264
  {
228
265
  files: ['src/components/**'],
229
266
  rules: {
@@ -1,3 +1,3 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const base: Linter.Config[];
2
+ export declare const buildBase: (sourceDir: string) => Linter.Config[];
3
3
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/configs/base.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAS,MAAM,EAAC,MAAM,QAAQ,CAAC;AAwS3C,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAS/B,CAAC"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/configs/base.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAS,MAAM,EAAC,MAAM,QAAQ,CAAC;AAgT3C,eAAO,MAAM,SAAS,GAAI,WAAW,MAAM,KAAG,MAAM,CAAC,MAAM,EAS1D,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const guardrails: Linter.Config[];
2
+ export declare const buildGuardrails: (sourceDir: string) => Linter.Config[];
3
3
  //# sourceMappingURL=guardrails.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/configs/guardrails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAiGnC,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAMrC,CAAC"}
1
+ {"version":3,"file":"guardrails.d.ts","sourceRoot":"","sources":["../../src/configs/guardrails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAmGnC,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,MAAM,CAAC,MAAM,EAMhE,CAAC"}
@@ -1,7 +1,15 @@
1
1
  import type { Linter } from 'eslint';
2
2
  export type GaiaLintIgnoresOptions = {
3
- /** Path to a `.gitignore` file to merge in. Resolved from `process.cwd()` if relative. */
4
- gitignore?: string;
3
+ /**
4
+ * Path to a `.gitignore` file to merge in. Resolved from `process.cwd()`
5
+ * if relative. Pass `false` to skip the gitignore merge entirely.
6
+ *
7
+ * If the resolved path does not exist, the merge is silently skipped —
8
+ * projects without a `.gitignore` don't need to opt out explicitly.
9
+ *
10
+ * @default '.gitignore'
11
+ */
12
+ gitignore?: string | false;
5
13
  /** Extra ignore globs to merge with GAIA defaults. */
6
14
  extra?: string[];
7
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ignores.d.ts","sourceRoot":"","sources":["../../src/configs/ignores.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEnC,MAAM,MAAM,sBAAsB,GAAG;IACnC,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAoBF;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,sBAAsB,KAAG,MAAM,CAAC,MAAM,EAgBpE,CAAC"}
1
+ {"version":3,"file":"ignores.d.ts","sourceRoot":"","sources":["../../src/configs/ignores.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAInC,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAoBF;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,sBAAsB,KAAG,MAAM,CAAC,MAAM,EAmBpE,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const styleHygiene: Linter.Config[];
2
+ export declare const buildStyleHygiene: (sourceDir: string) => Linter.Config[];
3
3
  //# sourceMappingURL=style-hygiene.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"style-hygiene.d.ts","sourceRoot":"","sources":["../../src/configs/style-hygiene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAsQnC,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAMvC,CAAC"}
1
+ {"version":3,"file":"style-hygiene.d.ts","sourceRoot":"","sources":["../../src/configs/style-hygiene.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAsQnC,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,KAAG,MAAM,CAAC,MAAM,EAMlE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,34 +1,47 @@
1
- export { base } from './configs/base.js';
2
- export { react } from './configs/react.js';
3
- export { styleHygiene } from './configs/style-hygiene.js';
4
- export { guardrails } from './configs/guardrails.js';
5
- export { testing } from './configs/testing.js';
6
- export { storybook } from './configs/storybook.js';
7
- export { playwright } from './configs/playwright.js';
8
- export { prettier } from './configs/prettier.js';
9
- export { betterTailwind, type GaiaLintBetterTailwindOptions, } from './configs/better-tailwind.js';
10
- export { ignores, type GaiaLintIgnoresOptions, } from './configs/ignores.js';
11
- import { base } from './configs/base.js';
12
- import { react } from './configs/react.js';
13
- import { styleHygiene } from './configs/style-hygiene.js';
14
- import { guardrails } from './configs/guardrails.js';
15
- import { testing } from './configs/testing.js';
16
- import { storybook } from './configs/storybook.js';
17
- import { playwright } from './configs/playwright.js';
18
- import { prettier } from './configs/prettier.js';
19
- import { betterTailwind } from './configs/better-tailwind.js';
20
- import { ignores } from './configs/ignores.js';
21
- declare const gaiaLint: {
22
- base: typeof base;
23
- react: typeof react;
24
- styleHygiene: typeof styleHygiene;
25
- guardrails: typeof guardrails;
26
- testing: typeof testing;
27
- storybook: typeof storybook;
28
- playwright: typeof playwright;
29
- prettier: typeof prettier;
30
- betterTailwind: typeof betterTailwind;
31
- ignores: typeof ignores;
1
+ import type { Linter } from 'eslint';
2
+ import { type GaiaLintBetterTailwindOptions } from './configs/better-tailwind.js';
3
+ import { type GaiaLintIgnoresOptions } from './configs/ignores.js';
4
+ export type { GaiaLintBetterTailwindOptions, GaiaLintIgnoresOptions };
5
+ export type GaiaLintOptions = {
6
+ /**
7
+ * Application source directory (relative to project root). Used to scope
8
+ * file-path-based rules filename conventions, hook-folder scoping,
9
+ * `no-relative-import-paths` root, etc.
10
+ *
11
+ * @default 'app'
12
+ */
13
+ sourceDir?: string;
32
14
  };
15
+ /**
16
+ * Dual-shape `ignores` accessor. Spread it directly for the default
17
+ * configuration (`...lint.ignores`) or call it to override
18
+ * (`...lint.ignores({extra: ['coverage/**']})`).
19
+ */
20
+ export type GaiaLintIgnores = ((opts?: GaiaLintIgnoresOptions) => Linter.Config[]) & Iterable<Linter.Config>;
21
+ export type GaiaLintBundle = {
22
+ base: Linter.Config[];
23
+ betterTailwind: (opts: GaiaLintBetterTailwindOptions) => Linter.Config[];
24
+ guardrails: Linter.Config[];
25
+ ignores: GaiaLintIgnores;
26
+ playwright: Linter.Config[];
27
+ prettier: Linter.Config[];
28
+ react: Linter.Config[];
29
+ storybook: Linter.Config[];
30
+ styleHygiene: Linter.Config[];
31
+ testing: Linter.Config[];
32
+ };
33
+ /**
34
+ * GAIA lint configuration factory.
35
+ *
36
+ * Call once at the top of your `eslint.config.mjs` to bind a `sourceDir`,
37
+ * then spread the returned configs into `defineConfig`. Defaults to GAIA's
38
+ * `'app'` layout; pass `{sourceDir: 'src'}` (or any other value) for
39
+ * projects that store source elsewhere.
40
+ *
41
+ * @example
42
+ * const lint = gaiaLint(); // GAIA / app/
43
+ * const lint = gaiaLint({sourceDir: 'src'}); // src/
44
+ */
45
+ declare const gaiaLint: (opts?: GaiaLintOptions) => GaiaLintBundle;
33
46
  export default gaiaLint;
34
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,OAAO,EACP,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAE7C,QAAA,MAAM,QAAQ,EAAE;IACd,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,OAAO,EAAE,OAAO,OAAO,CAAC;CAYzB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAU,KAAK,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAQ1E,YAAY,EAAC,6BAA6B,EAAE,sBAAsB,EAAC,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAC7B,IAAI,CAAC,EAAE,sBAAsB,KAC1B,MAAM,CAAC,MAAM,EAAE,CAAC,GACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAE1B,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,CAAC,IAAI,EAAE,6BAA6B,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;IACzE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;CAC1B,CAAC;AAWF;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,QAAQ,GAAI,OAAO,eAAe,KAAG,cAc1C,CAAC;AAEF,eAAe,QAAQ,CAAC"}