@zemd/eslint-rock-stack 1.0.0 → 1.1.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 +25 -10
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +5 -6
- package/dist/index.d.ts +5 -6
- package/dist/index.js +1 -1
- package/dist/tailwind.cjs +1 -0
- package/dist/tailwind.d.cts +8 -0
- package/dist/tailwind.d.ts +8 -0
- package/dist/tailwind.js +1 -0
- package/package.json +15 -5
package/README.md
CHANGED
@@ -6,16 +6,16 @@ This package includes a set of ESLint configurations for modern fullstack projec
|
|
6
6
|
|
7
7
|
**The package includes**:
|
8
8
|
|
9
|
-
| Package | Description
|
10
|
-
| ------------------------------- |
|
11
|
-
| `@zemd/eslint-js` | A bundle that comprises rules for javascript
|
12
|
-
| `@zemd/eslint-ts` | A bundle that comprises rules for typescript
|
13
|
-
| `@zemd/eslint-react` | A bundle that comprises rules for react
|
14
|
-
| `@graphql-eslint/eslint-plugin` | GraphQL ESLint rules
|
15
|
-
| `eslint-plugin-tailwindcss` |
|
16
|
-
| `eslint-plugin-turbo` |
|
17
|
-
| `@vitest/eslint-plugin` |
|
18
|
-
| `eslint-plugin-storybook` |
|
9
|
+
| Package | Description | Rules |
|
10
|
+
| ------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
11
|
+
| `@zemd/eslint-js` | A bundle that comprises rules for javascript | |
|
12
|
+
| `@zemd/eslint-ts` | A bundle that comprises rules for typescript | |
|
13
|
+
| `@zemd/eslint-react` | A bundle that comprises rules for react | |
|
14
|
+
| `@graphql-eslint/eslint-plugin` | GraphQL ESLint rules | `schema-recommended` and `operations-recommended` |
|
15
|
+
| `eslint-plugin-tailwindcss` | since v1.1.0 the config is **optional** due to Tailwind v4 release, which is not supported by the config | `recommended` excluding **classnames-order** |
|
16
|
+
| `eslint-plugin-turbo` | | `recommended` |
|
17
|
+
| `@vitest/eslint-plugin` | | `recommended` |
|
18
|
+
| `eslint-plugin-storybook` | | `recommended`, `csf-strict`. The rules are available but not included by default |
|
19
19
|
|
20
20
|
## Installation
|
21
21
|
|
@@ -35,6 +35,21 @@ import rock, { storybook } from "@zemd/eslint-rock-stack";
|
|
35
35
|
export default [...rock(), ...storybook()];
|
36
36
|
```
|
37
37
|
|
38
|
+
if you want to use Tailwind config for Tailwind v3, install optional dependency:
|
39
|
+
|
40
|
+
```bash
|
41
|
+
pnpm add -D eslint-plugin-tailwindcss
|
42
|
+
```
|
43
|
+
|
44
|
+
and import the config:
|
45
|
+
|
46
|
+
```javascript
|
47
|
+
import rock from "@zemd/eslint-rock-stack";
|
48
|
+
import tailwind from "@zemd/eslint-rock-stack/tailwind";
|
49
|
+
|
50
|
+
export default [...rock(), ...tailwind()];
|
51
|
+
```
|
52
|
+
|
38
53
|
## License
|
39
54
|
|
40
55
|
The `@zemd/eslint-rock-stack` is licensed under the Apache-2.0 license.
|
package/dist/index.cjs
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";var j=Object.create;var
|
1
|
+
"use strict";var j=Object.create;var m=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var n=(r,e)=>m(r,"name",{value:e,configurable:!0});var N=(r,e)=>{for(var s in e)m(r,s,{get:e[s],enumerable:!0})},b=(r,e,s,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of A(e))!I.call(r,l)&&l!==s&&m(r,l,{get:()=>e[l],enumerable:!(i=E(e,l))||i.enumerable});return r},t=(r,e,s)=>(b(r,e,"default"),s&&b(s,e,"default")),a=(r,e,s)=>(s=r!=null?j(M(r)):{},b(e||!r||!r.__esModule?m(s,"default",{value:r,enumerable:!0}):s,r)),R=r=>b(m({},"__esModule",{value:!0}),r);var o={};N(o,{default:()=>S,graphql:()=>p,playwright:()=>f,storybook:()=>O,tailwind:()=>z,turbo:()=>c,vitest:()=>d});module.exports=R(o);var G=a(require("@zemd/eslint-react"),1);var u=a(require("@graphql-eslint/eslint-plugin"),1),v=require("@zemd/eslint-common");function p({files:r=[v.GLOB_GQL]}={}){return[{name:"zemd/graphql/setup",files:r,plugins:{"@graphql-eslint":u.default},languageOptions:{parser:u.default.parser}},{name:"zemd/graphql/rules-schema",files:r,rules:{...u.default.configs["flat/schema-recommended"].rules}},{name:"zemd/graphql/rules-operations",files:r,rules:{...u.default.configs["flat/operations-recommended"].rules}}]}n(p,"graphql");var L=require("@zemd/eslint-common"),x=a(require("eslint-plugin-playwright"),1);function f({files:r=[L.GLOB_TEST]}={}){return[{name:"zemd/playwright/rules",files:r,plugins:{playwright:x.default},rules:{...x.default.configs["flat/recommended"].rules}}]}n(f,"playwright");var k=a(require("eslint-plugin-turbo"),1);function c({allowList:r=["^ENV_[A-Z]+$"]}={}){return[{name:"zemd/turbo/ignores",ignores:["**/.turbo/**"]},{name:"zemd/turbo/rules",files:["**/turbo.json"],plugins:{turbo:k},rules:{...k.configs["flat/recommended"].rules,"turbo/no-undeclared-env-vars":["error",{allowList:r}]}}]}n(c,"turbo");var _=require("@zemd/eslint-common"),y=a(require("@vitest/eslint-plugin"),1);function d({files:r=[_.GLOB_TEST],enableTypeChecking:e=!1}={}){return[{name:"zemd/vitest/rules",files:r,plugins:{vitest:y.default},rules:y.default.configs.recommended.rules},...e?[{name:"zemd/vitest/setup",files:r,settings:{vitest:{typecheck:!0}},languageOptions:{globals:{...y.default.environments.env.globals}}}]:[]]}n(d,"vitest");t(o,require("@zemd/eslint-react"),module.exports);var q=require("@zemd/eslint-common"),w=a(require("eslint-plugin-tailwindcss"),1);function z({files:r=[q.GLOB_SRC_ALL]}={}){let[,e]=w.default.configs["flat/recommended"];return[{name:"zemd/tailwindcss/files",languageOptions:{sourceType:"commonjs"},files:["tailwind.config.js","postcss.config.js"]},{name:"zemd/tailwindcss/rules",files:r,plugins:{tailwindcss:w.default},languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},rules:{...e.rules,"tailwindcss/classnames-order":"off"}}]}n(z,"tailwind");var h=require("@zemd/eslint-common"),g=a(require("eslint-plugin-storybook"),1);function O({filesMain:r=[h.GLOB_MAIN],filesStories:e=[h.GLOB_STORIES]}={}){let[,s,i]=g.default.configs["flat/recommended"],[,l,B,T]=g.default.configs["flat/csf-strict"];return[{...i,name:"zemd/storybook/rules-main",plugins:{storybook:g.default},files:r,rules:{...i?.rules,...B?.rules}},{...s,name:"zemd/storybook/rules-stories",plugins:{storybook:g.default},files:e,rules:{...s?.rules,...l?.rules,...T?.rules,"storybook/csf-component":"error","storybook/hierarchy-separator":"error","storybook/no-redundant-story-name":"error","storybook/prefer-pascal-case":"error"}}]}n(O,"storybook");function S(){return[...(0,G.default)(),...p(),...f(),...c(),...d()]}n(S,"fullstack");0&&(module.exports={graphql,playwright,storybook,tailwind,turbo,vitest,...require("@zemd/eslint-react")});
|
package/dist/index.d.cts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { Linter } from 'eslint';
|
2
2
|
export * from '@zemd/eslint-react';
|
3
|
+
export { default as tailwind } from './tailwind.cjs';
|
3
4
|
|
4
5
|
type GraphQlOptions = {
|
5
6
|
files: string[];
|
@@ -11,12 +12,10 @@ type PlaywrightConfig = {
|
|
11
12
|
};
|
12
13
|
declare function playwright({ files, }?: Partial<PlaywrightConfig>): Array<Linter.Config>;
|
13
14
|
|
14
|
-
type
|
15
|
-
|
15
|
+
type TurboOptions = {
|
16
|
+
allowList: string[];
|
16
17
|
};
|
17
|
-
declare function
|
18
|
-
|
19
|
-
declare function turbo(): Array<Linter.Config>;
|
18
|
+
declare function turbo({ allowList, }?: Partial<TurboOptions>): Array<Linter.Config>;
|
20
19
|
|
21
20
|
type VitestConfig = {
|
22
21
|
files: string[];
|
@@ -32,4 +31,4 @@ declare function storybook({ filesMain, filesStories, }?: Partial<StorybookOptio
|
|
32
31
|
|
33
32
|
declare function fullstack(): Array<Linter.Config>;
|
34
33
|
|
35
|
-
export { fullstack as default, graphql, playwright, storybook,
|
34
|
+
export { fullstack as default, graphql, playwright, storybook, turbo, vitest };
|
package/dist/index.d.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { Linter } from 'eslint';
|
2
2
|
export * from '@zemd/eslint-react';
|
3
|
+
export { default as tailwind } from './tailwind.js';
|
3
4
|
|
4
5
|
type GraphQlOptions = {
|
5
6
|
files: string[];
|
@@ -11,12 +12,10 @@ type PlaywrightConfig = {
|
|
11
12
|
};
|
12
13
|
declare function playwright({ files, }?: Partial<PlaywrightConfig>): Array<Linter.Config>;
|
13
14
|
|
14
|
-
type
|
15
|
-
|
15
|
+
type TurboOptions = {
|
16
|
+
allowList: string[];
|
16
17
|
};
|
17
|
-
declare function
|
18
|
-
|
19
|
-
declare function turbo(): Array<Linter.Config>;
|
18
|
+
declare function turbo({ allowList, }?: Partial<TurboOptions>): Array<Linter.Config>;
|
20
19
|
|
21
20
|
type VitestConfig = {
|
22
21
|
files: string[];
|
@@ -32,4 +31,4 @@ declare function storybook({ filesMain, filesStories, }?: Partial<StorybookOptio
|
|
32
31
|
|
33
32
|
declare function fullstack(): Array<Linter.Config>;
|
34
33
|
|
35
|
-
export { fullstack as default, graphql, playwright, storybook,
|
34
|
+
export { fullstack as default, graphql, playwright, storybook, turbo, vitest };
|
package/dist/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var
|
1
|
+
var k=Object.defineProperty;var e=(r,o)=>k(r,"name",{value:o,configurable:!0});import q from"@zemd/eslint-react";import t from"@graphql-eslint/eslint-plugin";import{GLOB_GQL as w}from"@zemd/eslint-common";function s({files:r=[w]}={}){return[{name:"zemd/graphql/setup",files:r,plugins:{"@graphql-eslint":t},languageOptions:{parser:t.parser}},{name:"zemd/graphql/rules-schema",files:r,rules:{...t.configs["flat/schema-recommended"].rules}},{name:"zemd/graphql/rules-operations",files:r,rules:{...t.configs["flat/operations-recommended"].rules}}]}e(s,"graphql");import{GLOB_TEST as z}from"@zemd/eslint-common";import c from"eslint-plugin-playwright";function n({files:r=[z]}={}){return[{name:"zemd/playwright/rules",files:r,plugins:{playwright:c},rules:{...c.configs["flat/recommended"].rules}}]}e(n,"playwright");import*as m from"eslint-plugin-turbo";function l({allowList:r=["^ENV_[A-Z]+$"]}={}){return[{name:"zemd/turbo/ignores",ignores:["**/.turbo/**"]},{name:"zemd/turbo/rules",files:["**/turbo.json"],plugins:{turbo:m},rules:{...m.configs["flat/recommended"].rules,"turbo/no-undeclared-env-vars":["error",{allowList:r}]}}]}e(l,"turbo");import{GLOB_TEST as O}from"@zemd/eslint-common";import u from"@vitest/eslint-plugin";function a({files:r=[O],enableTypeChecking:o=!1}={}){return[{name:"zemd/vitest/rules",files:r,plugins:{vitest:u},rules:u.configs.recommended.rules},...o?[{name:"zemd/vitest/setup",files:r,settings:{vitest:{typecheck:!0}},languageOptions:{globals:{...u.environments.env.globals}}}]:[]]}e(a,"vitest");export*from"@zemd/eslint-react";import{GLOB_SRC_ALL as v}from"@zemd/eslint-common";import d from"eslint-plugin-tailwindcss";function g({files:r=[v]}={}){let[,o]=d.configs["flat/recommended"];return[{name:"zemd/tailwindcss/files",languageOptions:{sourceType:"commonjs"},files:["tailwind.config.js","postcss.config.js"]},{name:"zemd/tailwindcss/rules",files:r,plugins:{tailwindcss:d},languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},rules:{...o.rules,"tailwindcss/classnames-order":"off"}}]}e(g,"tailwind");import{GLOB_MAIN as L,GLOB_STORIES as _}from"@zemd/eslint-common";import i from"eslint-plugin-storybook";function b({filesMain:r=[L],filesStories:o=[_]}={}){let[,p,f]=i.configs["flat/recommended"],[,y,h,x]=i.configs["flat/csf-strict"];return[{...f,name:"zemd/storybook/rules-main",plugins:{storybook:i},files:r,rules:{...f?.rules,...h?.rules}},{...p,name:"zemd/storybook/rules-stories",plugins:{storybook:i},files:o,rules:{...p?.rules,...y?.rules,...x?.rules,"storybook/csf-component":"error","storybook/hierarchy-separator":"error","storybook/no-redundant-story-name":"error","storybook/prefer-pascal-case":"error"}}]}e(b,"storybook");function G(){return[...q(),...s(),...n(),...l(),...a()]}e(G,"fullstack");export{G as default,s as graphql,n as playwright,b as storybook,g as tailwind,l as turbo,a as vitest};
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";var d=Object.create;var o=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var r=(s,e)=>o(s,"name",{value:e,configurable:!0});var w=(s,e)=>{for(var n in e)o(s,n,{get:e[n],enumerable:!0})},l=(s,e,n,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of u(e))!g.call(s,i)&&i!==n&&o(s,i,{get:()=>e[i],enumerable:!(a=f(e,i))||a.enumerable});return s};var j=(s,e,n)=>(n=s!=null?d(p(s)):{},l(e||!s||!s.__esModule?o(n,"default",{value:s,enumerable:!0}):n,s)),O=s=>l(o({},"__esModule",{value:!0}),s);var L={};w(L,{default:()=>m});module.exports=O(L);var c=require("@zemd/eslint-common"),t=j(require("eslint-plugin-tailwindcss"),1);function m({files:s=[c.GLOB_SRC_ALL]}={}){let[,e]=t.default.configs["flat/recommended"];return[{name:"zemd/tailwindcss/files",languageOptions:{sourceType:"commonjs"},files:["tailwind.config.js","postcss.config.js"]},{name:"zemd/tailwindcss/rules",files:s,plugins:{tailwindcss:t.default},languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},rules:{...e.rules,"tailwindcss/classnames-order":"off"}}]}r(m,"tailwind");
|
package/dist/tailwind.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
var o=Object.defineProperty;var n=(s,e)=>o(s,"name",{value:e,configurable:!0});import{GLOB_SRC_ALL as t}from"@zemd/eslint-common";import i from"eslint-plugin-tailwindcss";function a({files:s=[t]}={}){let[,e]=i.configs["flat/recommended"];return[{name:"zemd/tailwindcss/files",languageOptions:{sourceType:"commonjs"},files:["tailwind.config.js","postcss.config.js"]},{name:"zemd/tailwindcss/rules",files:s,plugins:{tailwindcss:i},languageOptions:{parserOptions:{ecmaFeatures:{jsx:!0}}},rules:{...e.rules,"tailwindcss/classnames-order":"off"}}]}n(a,"tailwind");export{a as default};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@zemd/eslint-rock-stack",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.0",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"description": "Shared ESLint config for modern projects",
|
6
6
|
"keywords": [
|
@@ -36,21 +36,31 @@
|
|
36
36
|
"types": "./dist/index.d.ts",
|
37
37
|
"import": "./dist/index.js",
|
38
38
|
"require": "./dist/index.cjs"
|
39
|
+
},
|
40
|
+
"./tailwind": {
|
41
|
+
"types": "./dist/tailwind.d.ts",
|
42
|
+
"import": "./dist/tailwind.js",
|
43
|
+
"require": "./dist/tailwind.cjs"
|
39
44
|
}
|
40
45
|
},
|
41
46
|
"main": "./dist/index.cjs",
|
42
47
|
"module": "./dist/index.js",
|
43
48
|
"types": "./dist/index.d.ts",
|
44
49
|
"peerDependencies": {
|
45
|
-
"eslint": ">=9.2.0"
|
50
|
+
"eslint": ">=9.2.0",
|
51
|
+
"eslint-plugin-tailwindcss": "^3.18.0"
|
52
|
+
},
|
53
|
+
"peerDependenciesMeta": {
|
54
|
+
"eslint-plugin-tailwindcss": {
|
55
|
+
"optional": true
|
56
|
+
}
|
46
57
|
},
|
47
58
|
"dependencies": {
|
48
59
|
"@graphql-eslint/eslint-plugin": "^4.3.0",
|
49
60
|
"@vitest/eslint-plugin": "^1.1.25",
|
50
|
-
"eslint-plugin-playwright": "^2.
|
61
|
+
"eslint-plugin-playwright": "^2.2.0",
|
51
62
|
"eslint-plugin-storybook": "^0.11.2",
|
52
|
-
"eslint-plugin-
|
53
|
-
"eslint-plugin-turbo": "^2.3.3",
|
63
|
+
"eslint-plugin-turbo": "^2.3.4",
|
54
64
|
"@zemd/eslint-react": "1.0.0",
|
55
65
|
"@zemd/eslint-common": "1.0.0"
|
56
66
|
},
|