eslint-plugin-ai-rules 0.3.0 → 0.3.1
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 +41 -32
- package/dist/index.cjs +50 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +50 -46
- package/dist/index.js.map +1 -1
- package/package.json +2 -4
package/README.md
CHANGED
|
@@ -422,7 +422,7 @@ structure: {
|
|
|
422
422
|
|
|
423
423
|
```ts
|
|
424
424
|
structure: {
|
|
425
|
-
ignoredPaths: ['dist/**', 'coverage/**', 'src/services/generated/**'],
|
|
425
|
+
ignoredPaths: ['dist/**', 'coverage/**', 'src/shared/services/generated/**'],
|
|
426
426
|
}
|
|
427
427
|
```
|
|
428
428
|
|
|
@@ -579,6 +579,8 @@ These violations are intentional and should be fixed during migration.
|
|
|
579
579
|
|
|
580
580
|
### Frontend preset relations
|
|
581
581
|
|
|
582
|
+
All global frontend layers live under `src/shared` (for example `src/shared/components`). Page-local layers remain under `src/pages/*`.
|
|
583
|
+
|
|
582
584
|
| Layer | Can import | Same layer |
|
|
583
585
|
|-------|------------|------------|
|
|
584
586
|
| components | components, hooks, contexts, services, generated, utils, helpers, constants, env | yes |
|
|
@@ -731,32 +733,36 @@ Custom relation message:
|
|
|
731
733
|
│ index.html, AGENTS.md, README.md, LICENSE
|
|
732
734
|
├── src/
|
|
733
735
|
│ ├── App.tsx, AppRoutes.tsx, main.tsx, index.css, vite-env.d.ts
|
|
734
|
-
│ ├──
|
|
735
|
-
│ ├── components/
|
|
736
|
-
│ ├──
|
|
737
|
-
│
|
|
738
|
-
│ ├──
|
|
739
|
-
│ ├── helpers/*.ts
|
|
740
|
-
│ ├── hooks/*.ts
|
|
741
|
-
│ ├── pages/*.tsx
|
|
742
|
-
│ ├── pages/<feature-kebab>/
|
|
743
|
-
│ │ ├── *.tsx, helpers.ts, schema.ts, types.ts
|
|
744
|
-
│ │ ├── components/*.tsx
|
|
745
|
-
│ │ ├── hooks/*.ts
|
|
746
|
-
│ │ ├── services/*.ts
|
|
736
|
+
│ ├── shared/
|
|
737
|
+
│ │ ├── components/
|
|
738
|
+
│ │ │ ├── *.tsx
|
|
739
|
+
│ │ │ └── ui/*.{ts,tsx}
|
|
740
|
+
│ │ ├── constants/*.ts
|
|
747
741
|
│ │ ├── contexts/*.tsx
|
|
742
|
+
│ │ ├── env/index.ts
|
|
748
743
|
│ │ ├── helpers/*.ts
|
|
749
|
-
│ │
|
|
750
|
-
│ │
|
|
751
|
-
│ │
|
|
752
|
-
│ │
|
|
753
|
-
│ │
|
|
754
|
-
│
|
|
755
|
-
│
|
|
756
|
-
│
|
|
757
|
-
│
|
|
758
|
-
│
|
|
759
|
-
│
|
|
744
|
+
│ │ ├── hooks/*.ts
|
|
745
|
+
│ │ ├── services/
|
|
746
|
+
│ │ │ ├── generated/** (ignored)
|
|
747
|
+
│ │ │ └── utils/*.ts
|
|
748
|
+
│ │ └── utils/*.ts
|
|
749
|
+
│ └── pages/
|
|
750
|
+
│ ├── *.tsx
|
|
751
|
+
│ └── <feature-kebab>/
|
|
752
|
+
│ ├── *.tsx, helpers.ts, schema.ts, types.ts
|
|
753
|
+
│ ├── components/*.tsx
|
|
754
|
+
│ ├── hooks/*.ts
|
|
755
|
+
│ ├── services/*.ts
|
|
756
|
+
│ ├── contexts/*.tsx
|
|
757
|
+
│ ├── helpers/*.ts
|
|
758
|
+
│ └── tabs/<tab-kebab>/
|
|
759
|
+
│ ├── *.tsx
|
|
760
|
+
│ └── <section-kebab>/
|
|
761
|
+
│ ├── *.tsx, *.ts
|
|
762
|
+
│ ├── components/*.tsx
|
|
763
|
+
│ └── contents/
|
|
764
|
+
│ ├── *.tsx
|
|
765
|
+
│ └── components/*.tsx
|
|
760
766
|
├── e2e/
|
|
761
767
|
│ ├── .auth/** (ignored)
|
|
762
768
|
│ ├── fixtures/*
|
|
@@ -1293,16 +1299,19 @@ eslint-ai-guard/
|
|
|
1293
1299
|
|
|
1294
1300
|
## Publishing
|
|
1295
1301
|
|
|
1302
|
+
1. Change `version` in `package.json`.
|
|
1303
|
+
2. Optionally run `yarn build` to check the build and generated version.
|
|
1304
|
+
3. Run `npm publish`.
|
|
1305
|
+
|
|
1306
|
+
`prepack` runs `yarn build` automatically, so `npm publish` always packs a fresh `dist`. The plugin version is injected from `package.json` during the build, so you do not need to edit `src/plugin.ts`.
|
|
1307
|
+
|
|
1308
|
+
For an extra check before publishing:
|
|
1309
|
+
|
|
1296
1310
|
```bash
|
|
1297
|
-
|
|
1298
|
-
npm run
|
|
1299
|
-
npm run test:release
|
|
1300
|
-
npm version patch|minor|major
|
|
1301
|
-
npm publish --access public
|
|
1311
|
+
yarn verify
|
|
1312
|
+
npm pack --dry-run
|
|
1302
1313
|
```
|
|
1303
1314
|
|
|
1304
|
-
`prepublishOnly` runs `verify` and refuses to publish with any uncommitted, staged or untracked changes.
|
|
1305
|
-
|
|
1306
1315
|
## Legacy
|
|
1307
1316
|
|
|
1308
1317
|
`eslint/` keeps the three original rule implementations before packaging. Source of truth is `src/rules/`.
|
package/dist/index.cjs
CHANGED
|
@@ -632,7 +632,7 @@ function getSortedContent(content) {
|
|
|
632
632
|
var plugin = {
|
|
633
633
|
meta: {
|
|
634
634
|
name: "eslint-plugin-ai-rules",
|
|
635
|
-
version: "0.3.
|
|
635
|
+
version: "0.3.1"
|
|
636
636
|
},
|
|
637
637
|
rules: {
|
|
638
638
|
"filename-pascal-case": filenamePascalCase,
|
|
@@ -1224,15 +1224,15 @@ var frontendRelations = {
|
|
|
1224
1224
|
pageContext: "src/pages/*/contexts",
|
|
1225
1225
|
pageHelper: "src/pages/*/helpers",
|
|
1226
1226
|
page: "src/pages/*",
|
|
1227
|
-
components: "src/components",
|
|
1228
|
-
hooks: "src/hooks",
|
|
1229
|
-
contexts: "src/contexts",
|
|
1230
|
-
generated: "src/services/generated",
|
|
1231
|
-
services: "src/services",
|
|
1232
|
-
utils: "src/utils",
|
|
1233
|
-
helpers: "src/helpers",
|
|
1234
|
-
constants: "src/constants",
|
|
1235
|
-
env: "src/env"
|
|
1227
|
+
components: "src/shared/components",
|
|
1228
|
+
hooks: "src/shared/hooks",
|
|
1229
|
+
contexts: "src/shared/contexts",
|
|
1230
|
+
generated: "src/shared/services/generated",
|
|
1231
|
+
services: "src/shared/services",
|
|
1232
|
+
utils: "src/shared/utils",
|
|
1233
|
+
helpers: "src/shared/helpers",
|
|
1234
|
+
constants: "src/shared/constants",
|
|
1235
|
+
env: "src/shared/env"
|
|
1236
1236
|
},
|
|
1237
1237
|
scope: {
|
|
1238
1238
|
capture: "page",
|
|
@@ -1441,34 +1441,49 @@ var frontendPreset = {
|
|
|
1441
1441
|
"vite-env.d.ts"
|
|
1442
1442
|
],
|
|
1443
1443
|
folders: {
|
|
1444
|
-
|
|
1445
|
-
files: [pascalTsx],
|
|
1444
|
+
shared: {
|
|
1446
1445
|
folders: {
|
|
1447
|
-
|
|
1448
|
-
files: [
|
|
1446
|
+
components: {
|
|
1447
|
+
files: [pascalTsx],
|
|
1448
|
+
folders: {
|
|
1449
|
+
ui: {
|
|
1450
|
+
files: [pascalTsOrTsx]
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
},
|
|
1454
|
+
constants: {
|
|
1455
|
+
files: [pascalTs]
|
|
1456
|
+
},
|
|
1457
|
+
contexts: {
|
|
1458
|
+
files: [
|
|
1459
|
+
{
|
|
1460
|
+
case: "PascalCase",
|
|
1461
|
+
extensions: [".tsx"]
|
|
1462
|
+
}
|
|
1463
|
+
]
|
|
1464
|
+
},
|
|
1465
|
+
env: {
|
|
1466
|
+
files: ["index.ts"]
|
|
1467
|
+
},
|
|
1468
|
+
helpers: {
|
|
1469
|
+
files: [pascalTs]
|
|
1470
|
+
},
|
|
1471
|
+
hooks: {
|
|
1472
|
+
files: [pascalTs]
|
|
1473
|
+
},
|
|
1474
|
+
services: {
|
|
1475
|
+
folders: {
|
|
1476
|
+
generated: { ignore: true },
|
|
1477
|
+
utils: {
|
|
1478
|
+
files: [pascalTs]
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
1481
|
+
},
|
|
1482
|
+
utils: {
|
|
1483
|
+
files: [pascalTs]
|
|
1449
1484
|
}
|
|
1450
1485
|
}
|
|
1451
1486
|
},
|
|
1452
|
-
constants: {
|
|
1453
|
-
files: [pascalTs]
|
|
1454
|
-
},
|
|
1455
|
-
contexts: {
|
|
1456
|
-
files: [
|
|
1457
|
-
{
|
|
1458
|
-
case: "PascalCase",
|
|
1459
|
-
extensions: [".tsx"]
|
|
1460
|
-
}
|
|
1461
|
-
]
|
|
1462
|
-
},
|
|
1463
|
-
env: {
|
|
1464
|
-
files: ["index.ts"]
|
|
1465
|
-
},
|
|
1466
|
-
hooks: {
|
|
1467
|
-
files: [pascalTs]
|
|
1468
|
-
},
|
|
1469
|
-
helpers: {
|
|
1470
|
-
files: [pascalTs]
|
|
1471
|
-
},
|
|
1472
1487
|
pages: {
|
|
1473
1488
|
files: [pascalTsx],
|
|
1474
1489
|
folders: {
|
|
@@ -1531,17 +1546,6 @@ var frontendPreset = {
|
|
|
1531
1546
|
}
|
|
1532
1547
|
}
|
|
1533
1548
|
}
|
|
1534
|
-
},
|
|
1535
|
-
services: {
|
|
1536
|
-
folders: {
|
|
1537
|
-
generated: { ignore: true },
|
|
1538
|
-
utils: {
|
|
1539
|
-
files: [pascalTs]
|
|
1540
|
-
}
|
|
1541
|
-
}
|
|
1542
|
-
},
|
|
1543
|
-
utils: {
|
|
1544
|
-
files: [pascalTs]
|
|
1545
1549
|
}
|
|
1546
1550
|
}
|
|
1547
1551
|
},
|
|
@@ -1579,7 +1583,7 @@ var frontendPreset = {
|
|
|
1579
1583
|
...commonIgnoredPaths,
|
|
1580
1584
|
"playwright-report/**",
|
|
1581
1585
|
"test-results/**",
|
|
1582
|
-
"src/services/generated/**",
|
|
1586
|
+
"src/shared/services/generated/**",
|
|
1583
1587
|
"scripts/types/**"
|
|
1584
1588
|
]
|
|
1585
1589
|
},
|