@eslint-sets/eslint-config 6.2.0-beta.5 → 6.2.0-beta.6

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
@@ -235,11 +235,11 @@ export default eslintConfig({
235
235
  // Or with custom options:
236
236
  stylistic: {
237
237
  arrowParens: false, // true (always) | false (avoid) - default: false
238
- braceStyle: '1tbs', // '1tbs' | 'stroustrup' | 'allman' - default: '1tbs'
238
+ braceStyle: 'stroustrup', // '1tbs' | 'stroustrup' | 'allman' - default: 'stroustrup'
239
239
  bracketSpacing: true, // boolean - default: true
240
240
  indent: 2, // 'tab' | number - default: 2
241
241
  jsxQuotes: 'prefer-double', // 'prefer-double' | 'prefer-single' - default: 'prefer-double'
242
- quoteProps: 'consistent-as-needed', // 'always' | 'as-needed' | 'consistent' | 'consistent-as-needed' - default: 'consistent-as-needed'
242
+ quoteProps: 'as-needed', // 'always' | 'as-needed' | 'consistent' | 'consistent-as-needed' - default: 'as-needed'
243
243
  quotes: 'single', // 'single' | 'double' - default: 'single'
244
244
  semi: false, // boolean - default: false
245
245
  trailingComma: 'always-multiline', // 'none' | 'always' | 'never' | 'only-multiline' | 'always-multiline' - default: 'always-multiline'
@@ -307,11 +307,11 @@ export default eslintConfig({
307
307
  export default eslintConfig({
308
308
  stylistic: {
309
309
  arrowParens: false, // true (always) | false (avoid)
310
- braceStyle: '1tbs', // '1tbs' | 'stroustrup' | 'allman'
310
+ braceStyle: 'stroustrup', // '1tbs' | 'stroustrup' | 'allman'
311
311
  bracketSpacing: true, // boolean
312
312
  indent: 2, // 'tab' | number
313
313
  jsxQuotes: 'prefer-double', // 'prefer-double' | 'prefer-single'
314
- quoteProps: 'consistent-as-needed', // 'always' | 'as-needed' | 'consistent' | 'consistent-as-needed'
314
+ quoteProps: 'as-needed', // 'always' | 'as-needed' | 'consistent' | 'consistent-as-needed'
315
315
  quotes: 'single', // 'single' | 'double'
316
316
  semi: false, // boolean
317
317
  trailingComma: 'always-multiline', // 'none' | 'always' | 'never' | 'only-multiline' | 'always-multiline'
@@ -10,7 +10,7 @@ export interface StylisticOptions {
10
10
  arrowParens?: boolean;
11
11
  /**
12
12
  * Brace style
13
- * @default '1tbs'
13
+ * @default 'stroustrup'
14
14
  */
15
15
  braceStyle?: '1tbs' | 'stroustrup' | 'allman';
16
16
  /**
@@ -39,7 +39,7 @@ export interface StylisticOptions {
39
39
  overrides?: Linter.RulesRecord;
40
40
  /**
41
41
  * Quote props
42
- * @default 'consistent-as-needed'
42
+ * @default 'as-needed'
43
43
  */
44
44
  quoteProps?: 'always' | 'as-needed' | 'consistent' | 'consistent-as-needed';
45
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"stylistic.d.ts","sourceRoot":"","sources":["../../src/configs/stylistic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIpC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAA;IAE7C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAEvB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,GAAG,eAAe,CAAA;IAE7C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,WAAW,CAAA;IAE9B;;;OAGG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,sBAAsB,CAAA;IAE3E;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAE5B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;OAGG;IACH,aAAa,CAAC,EAAE,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,gBAAgB,CAAA;CAC1E;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAWrC,CAAA;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,CAsHzE"}
1
+ {"version":3,"file":"stylistic.d.ts","sourceRoot":"","sources":["../../src/configs/stylistic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAIpC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAA;IAE7C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAEvB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,GAAG,eAAe,CAAA;IAE7C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,WAAW,CAAA;IAE9B;;;OAGG;IACH,UAAU,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,sBAAsB,CAAA;IAE3E;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAE5B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;OAGG;IACH,aAAa,CAAC,EAAE,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,gBAAgB,CAAA;CAC1E;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAWrC,CAAA;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,CA0IzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../src/configs/yaml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAKhD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACpD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAAA;CAC1C;AAKD;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,CAwD/D"}
1
+ {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../src/configs/yaml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAKhD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACpD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAAA;CAC1C;AAKD;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,CAiE/D"}
package/dist/index.js CHANGED
@@ -1753,12 +1753,12 @@ async function sortTsconfig(options = {}) {
1753
1753
  import stylisticPlugin from "@stylistic/eslint-plugin";
1754
1754
  var StylisticConfigDefaults = {
1755
1755
  arrowParens: false,
1756
- braceStyle: "1tbs",
1756
+ braceStyle: "stroustrup",
1757
1757
  bracketSpacing: true,
1758
1758
  indent: 2,
1759
1759
  jsx: true,
1760
1760
  jsxQuotes: "prefer-double",
1761
- quoteProps: "consistent-as-needed",
1761
+ quoteProps: "as-needed",
1762
1762
  quotes: "single",
1763
1763
  semi: false,
1764
1764
  trailingComma: "always-multiline"
@@ -1812,8 +1812,28 @@ function stylistic(options = {}) {
1812
1812
  "error",
1813
1813
  indentStyle,
1814
1814
  {
1815
+ // Don't ignore TSUnionType/TSIntersectionType to match Prettier behavior
1815
1816
  ignoredNodes: ["TemplateLiteral"],
1816
- SwitchCase: 1
1817
+ SwitchCase: 1,
1818
+ // Match Prettier's behavior for multi-line expressions
1819
+ offsetTernaryExpressions: true,
1820
+ // Handle various expression types
1821
+ ArrayExpression: 1,
1822
+ CallExpression: { arguments: 1 },
1823
+ FunctionDeclaration: {
1824
+ body: 1,
1825
+ parameters: 1,
1826
+ returnType: 1
1827
+ },
1828
+ FunctionExpression: {
1829
+ body: 1,
1830
+ parameters: 1,
1831
+ returnType: 1
1832
+ },
1833
+ ImportDeclaration: 1,
1834
+ MemberExpression: 1,
1835
+ ObjectExpression: 1,
1836
+ VariableDeclarator: 1
1817
1837
  }
1818
1838
  ],
1819
1839
  "@stylistic/jsx-curly-brace-presence": ["error", { children: "never", props: "never" }],
@@ -2548,10 +2568,17 @@ function yaml(options = {}) {
2548
2568
  "yml/sort-sequence-values": "off",
2549
2569
  // Stylistic rules (conditional)
2550
2570
  ...stylistic2 ? {
2551
- "yml/indent": ["error", indent === "tab" ? "tab" : indent],
2571
+ // yml/indent only accepts integer values, not "tab"
2572
+ // When using tabs, disable indent rule and no-tab-indent
2573
+ ...indent === "tab" ? {
2574
+ "yml/indent": "off",
2575
+ "yml/no-tab-indent": "off"
2576
+ } : {
2577
+ "yml/indent": ["error", indent],
2578
+ "yml/no-tab-indent": "error"
2579
+ },
2552
2580
  "yml/key-spacing": "error",
2553
2581
  "yml/no-multiple-empty-lines": ["error", { max: 1, maxBOF: 0, maxEOF: 0 }],
2554
- "yml/no-tab-indent": indent === "tab" ? "off" : "error",
2555
2582
  "yml/quotes": ["error", { avoidEscape: true, prefer: quotes }],
2556
2583
  "yml/spaced-comment": "error"
2557
2584
  } : {},
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eslint-sets/eslint-config",
3
3
  "description": "Modern ESLint config with flat config support for Vue, React, Svelte, TypeScript, Next.js, Nuxt, Astro, Angular, UnoCSS and more",
4
- "version": "6.2.0-beta.5",
4
+ "version": "6.2.0-beta.6",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@9.0.6",
7
7
  "bin": {