zeno-config 5.0.0 → 5.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 CHANGED
@@ -157,6 +157,15 @@ For Node.js projects, extend the provided TypeScript config in your `tsconfig.js
157
157
  }
158
158
  ```
159
159
 
160
+ For backend servers using bundlers like `tsup` or `tsx`:
161
+
162
+ ```json
163
+ {
164
+ "extends": "zeno-config/tsconfig-server"
165
+ // your tsconfig options
166
+ }
167
+ ```
168
+
160
169
  For React projects:
161
170
 
162
171
  ```json
@@ -298,6 +307,7 @@ See [src/prettier.js](src/prettier.js) for the default Prettier configuration.
298
307
  See the TypeScript configuration files:
299
308
 
300
309
  - [src/tsconfig.base.json](src/tsconfig.base.json) - Base configuration for Node.js projects
310
+ - [src/tsconfig.server.json](src/tsconfig.server.json) - Configuration for backend servers using bundlers like tsup/tsx (extends base)
301
311
  - [src/tsconfig.react.json](src/tsconfig.react.json) - Configuration for React projects (extends base)
302
312
 
303
313
  ### Included Plugins
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zeno-config",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "Preconfigured and opinionated ESLint, Prettier, and TypeScript setup",
5
5
  "author": "Rick Brenn <brenn.rick@gmail.com>",
6
6
  "license": "MIT",
@@ -36,6 +36,7 @@
36
36
  "default": "./src/prettier.js"
37
37
  },
38
38
  "./tsconfig": "./src/tsconfig.base.json",
39
+ "./tsconfig-server": "./src/tsconfig.server.json",
39
40
  "./tsconfig-react": "./src/tsconfig.react.json",
40
41
  "./extensions": {
41
42
  "types": "./src/extensions.d.ts",
@@ -430,7 +430,7 @@ const getUnicornPluginRules = () => {
430
430
  'unicorn/template-indent': 'off', // conflicts with prettier
431
431
 
432
432
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/text-encoding-identifier-case.md
433
- 'unicorn/text-encoding-identifier-case': 'error',
433
+ 'unicorn/text-encoding-identifier-case': 'off',
434
434
 
435
435
  // https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/throw-new-error.md
436
436
  'unicorn/throw-new-error': 'error', // handled by unicorn/new-for-builtins
@@ -9,6 +9,7 @@
9
9
  "module": "NodeNext", // Node.js native ESM
10
10
  "moduleResolution": "NodeNext", // Node.js native ESM resolution
11
11
  "moduleDetection": "force", // treat all files as modules
12
+ "resolveJsonModule": true, // allow importing .json files with type safety
12
13
  "verbatimModuleSyntax": true, // enforce explicit import type syntax and matching module syntax
13
14
 
14
15
  /* Emit */
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "extends": "./tsconfig.base.json",
4
+ "compilerOptions": {
5
+ /* Modules */
6
+ "module": "ESNext", // bundler handles module compilation
7
+ "moduleResolution": "bundler", // bundler-style resolution (tsup, tsx, etc.)
8
+ "allowImportingTsExtensions": true, // allow .ts imports (bundler resolves them)
9
+
10
+ /* Emit */
11
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.server.tsbuildinfo"
12
+ }
13
+ }