@storm-software/eslint 0.85.0 → 0.85.2

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
@@ -21,7 +21,7 @@ This package is part of the <b>⚡Storm-Ops</b> monorepo. The Storm-Ops packages
21
21
 
22
22
  <h3 align="center">💻 Visit <a href="https://stormsoftware.com" target="_blank">stormsoftware.com</a> to stay up to date with this developer</h3><br />
23
23
 
24
- [![Version](https://img.shields.io/badge/version-0.84.1-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
24
+ [![Version](https://img.shields.io/badge/version-0.85.1-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
25
25
 
26
26
  <!-- prettier-ignore-start -->
27
27
  <!-- markdownlint-disable -->
package/dist/preset.mjs CHANGED
@@ -18,7 +18,7 @@ import unicorn from 'eslint-plugin-unicorn';
18
18
  import yml from 'eslint-plugin-yml';
19
19
  import globals from 'globals';
20
20
  import { writeInfo, writeDebug } from '@storm-software/config-tools';
21
- import { merge } from 'radash';
21
+ import { defu } from 'defu';
22
22
  import tsEslint$1 from 'typescript-eslint';
23
23
  import require$$0 from 'eslint/use-at-your-own-risk';
24
24
  import require$$0$1 from 'eslint';
@@ -13173,12 +13173,23 @@ function getStormConfig(options = {
13173
13173
  }
13174
13174
  });
13175
13175
  }
13176
+ writeInfo("\u2699\uFE0F Merging generated Storm ESLint configuration objects", {
13177
+ logLevel: "all"
13178
+ });
13179
+ writeDebug(configs, { logLevel: "all" });
13176
13180
  const result = formatConfig(
13177
13181
  "Preset",
13178
- configs.reduce(
13179
- (ret, config) => merge(ret, [config], (c) => c.files),
13180
- []
13181
- )
13182
+ configs.reduce((ret, config) => {
13183
+ const existingIndex = ret.findIndex(
13184
+ (existing) => areFilesEqual(existing.files, config.files)
13185
+ );
13186
+ if (existingIndex >= 0) {
13187
+ ret[existingIndex] = defu(ret[existingIndex], config);
13188
+ } else {
13189
+ ret.push(config);
13190
+ }
13191
+ return ret;
13192
+ }, [])
13182
13193
  );
13183
13194
  writeInfo("\u2699\uFE0F Completed generated Storm ESLint configuration objects", {
13184
13195
  logLevel: "all"
@@ -13186,5 +13197,19 @@ function getStormConfig(options = {
13186
13197
  writeDebug(result, { logLevel: "all" });
13187
13198
  return result;
13188
13199
  }
13200
+ const areFilesEqual = (files1, files2) => {
13201
+ if (files1 === files2) {
13202
+ return true;
13203
+ } else if (!files1 || !files2) {
13204
+ return false;
13205
+ } else if (typeof files1 === "string" && typeof files2 !== "string" || typeof files1 !== "string" && typeof files2 === "string" || Array.isArray(files1) && !Array.isArray(files2) || !Array.isArray(files1) && Array.isArray(files2)) {
13206
+ return false;
13207
+ } else if (files1.length !== files2.length) {
13208
+ return false;
13209
+ }
13210
+ return files1.every(
13211
+ (file, index) => Array.isArray(file) && Array.isArray(files2?.[index]) ? areFilesEqual(file, files2?.[index]) : !Array.isArray(file) && !Array.isArray(files2?.[index]) ? file?.toLowerCase() === files2?.[index]?.toLowerCase() : file === files2
13212
+ );
13213
+ };
13189
13214
 
13190
13215
  export { getStormConfig };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storm-software/eslint",
3
- "version": "0.85.0",
3
+ "version": "0.85.2",
4
4
  "type": "module",
5
5
  "description": "⚡ A package containing the base ESLint configuration used by Storm Software across many projects.",
6
6
  "repository": {
@@ -74,6 +74,7 @@
74
74
  "@cspell/eslint-plugin": "8.13.1",
75
75
  "@graphql-eslint/eslint-plugin": "3.20.1",
76
76
  "@next/eslint-plugin-next": "14.2.4",
77
+ "defu": "6.1.4",
77
78
  "eslint-plugin-es-x": "7.6.0",
78
79
  "eslint-plugin-import": "^2.29.1",
79
80
  "eslint-plugin-json": "4.0.0",
@@ -95,7 +96,6 @@
95
96
  "eslint-plugin-yml": "1.14.0",
96
97
  "globals": "^15.8.0",
97
98
  "jsonc-eslint-parser": "2.4.0",
98
- "radash": "12.1.0",
99
99
  "synckit": "0.9.0",
100
100
  "typescript-eslint": "8.10.0",
101
101
  "ws": "8.17.1",