@epic-web/config 1.21.0 → 1.21.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.
@@ -6,18 +6,21 @@ Status: accepted
6
6
 
7
7
  ## Context
8
8
 
9
- TypeScript follows the case sensitivity rules of the file system it’s running on.
10
- This can be problematic if some developers are working in a case-sensitive file system and others aren’t.
11
- If a file attempts to import fileManager.ts by specifying ./FileManager.ts the file will be found
12
- in a case-insensitive file system, but not on a case-sensitive file system.
9
+ TypeScript follows the case sensitivity rules of the file system it’s running
10
+ on. This can be problematic if some developers are working in a case-sensitive
11
+ file system and others aren’t. If a file attempts to import fileManager.ts by
12
+ specifying ./FileManager.ts the file will be found in a case-insensitive file
13
+ system, but not on a case-sensitive file system.
13
14
 
14
- When this option is set, TypeScript will issue an error if a program tries to include a file
15
- by a casing different from the casing on disk.
15
+ When this option is set, TypeScript will issue an error if a program tries to
16
+ include a file by a casing different from the casing on disk.
16
17
 
17
18
  ## Decision
18
19
 
19
- Set [`forceConsistentCasingInFileNames`](https://www.typescriptlang.org/tsconfig/forceConsistentCasingInFileNames.html) to true in Typescript
20
+ Set
21
+ [`forceConsistentCasingInFileNames`](https://www.typescriptlang.org/tsconfig/forceConsistentCasingInFileNames.html)
22
+ to true in Typescript
20
23
 
21
24
  ## Consequences
22
25
 
23
- Ensure seamless workflow between developers with different operating systems.
26
+ Ensure seamless workflow between developers with different operating systems.
package/eslint.js CHANGED
@@ -1,17 +1,9 @@
1
1
  import globals from 'globals'
2
+ import { has } from './utils.js'
2
3
 
3
4
  const ERROR = 'error'
4
5
  const WARN = 'warn'
5
6
 
6
- const has = (pkg) => {
7
- try {
8
- import.meta.resolve(pkg, import.meta.url)
9
- return true
10
- } catch {
11
- return false
12
- }
13
- }
14
-
15
7
  const hasTypeScript = has('typescript')
16
8
  const hasReact = has('react')
17
9
  const hasTestingLibrary = has('@testing-library/dom')
@@ -36,6 +28,9 @@ export const config = [
36
28
  '**/dist/**',
37
29
  '**/coverage/**',
38
30
  '**/*.tsbuildinfo',
31
+ '**/.react-router/**',
32
+ '**/.wrangler/**',
33
+ 'worker-configuration.d.ts',
39
34
  ],
40
35
  },
41
36
 
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "1.21.0",
7
+ "version": "1.21.2",
8
8
  "description": "Reasonable ESLint configs for epic web devs",
9
9
  "main": "index.js",
10
10
  "type": "module",
@@ -41,26 +41,26 @@
41
41
  "license": "MIT",
42
42
  "dependencies": {
43
43
  "@total-typescript/ts-reset": "^0.6.1",
44
- "@vitest/eslint-plugin": "^1.1.43",
45
- "eslint-plugin-import-x": "^4.11.0",
44
+ "@vitest/eslint-plugin": "^1.3.4",
45
+ "eslint-plugin-import-x": "^4.16.1",
46
46
  "eslint-plugin-jest-dom": "^5.5.0",
47
47
  "eslint-plugin-playwright": "^2.2.0",
48
48
  "eslint-plugin-react": "^7.37.5",
49
49
  "eslint-plugin-react-hooks": "^5.2.0",
50
- "eslint-plugin-testing-library": "^7.1.1",
51
- "globals": "^16.0.0",
52
- "prettier-plugin-tailwindcss": "^0.6.11",
50
+ "eslint-plugin-testing-library": "^7.6.1",
51
+ "globals": "^16.3.0",
52
+ "prettier-plugin-tailwindcss": "^0.6.14",
53
53
  "tslib": "^2.8.1",
54
- "typescript-eslint": "^8.31.0"
54
+ "typescript-eslint": "^8.38.0"
55
55
  },
56
56
  "devDependencies": {
57
- "@playwright/test": "^1.52.0",
58
- "@types/react": "^19.1.2",
59
- "eslint": "^9.25.1",
57
+ "@playwright/test": "^1.54.1",
58
+ "@types/react": "^19.1.8",
59
+ "eslint": "^9.32.0",
60
60
  "npm-run-all": "^4.1.5",
61
- "prettier": "^3.5.3",
61
+ "prettier": "^3.6.2",
62
62
  "react": "^19.1.0",
63
63
  "typescript": "^5.8.3",
64
- "vitest": "^3.1.2"
64
+ "vitest": "^3.2.4"
65
65
  }
66
66
  }
package/prettier.js CHANGED
@@ -1,3 +1,7 @@
1
+ import { has } from './utils.js'
2
+
3
+ const hasTailwind = has('tailwindcss')
4
+
1
5
  /** @type {import("prettier").Options} */
2
6
  export const config = {
3
7
  arrowParens: 'always',
@@ -39,9 +43,11 @@ export const config = {
39
43
  },
40
44
  },
41
45
  ],
42
- plugins: ['prettier-plugin-tailwindcss'],
43
- tailwindAttributes: ['class', 'className', 'ngClass', '.*[cC]lassName'],
44
- tailwindFunctions: ['clsx', 'cn', 'cva'],
46
+ ...(hasTailwind && {
47
+ plugins: ['prettier-plugin-tailwindcss'],
48
+ tailwindAttributes: ['class', 'className', 'ngClass', '.*[cC]lassName'],
49
+ tailwindFunctions: ['clsx', 'cn', 'cva'],
50
+ }),
45
51
  }
46
52
 
47
53
  // this is for backward compatibility
package/utils.js ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Check if a package is installed by attempting to resolve it
3
+ * @param {string} pkg - The package name to check
4
+ * @returns {boolean} - True if the package is installed, false otherwise
5
+ */
6
+ export const has = (pkg) => {
7
+ try {
8
+ import.meta.resolve(pkg, import.meta.url)
9
+ return true
10
+ } catch {
11
+ return false
12
+ }
13
+ }