@visulima/tsconfig 1.1.8 → 1.1.10
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/CHANGELOG.md +22 -0
- package/README.md +68 -12
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +29 -9
- package/dist/index.d.mts +29 -9
- package/dist/index.d.ts +29 -9
- package/dist/index.mjs +1 -1
- package/dist/packem_shared/{findTsConfig-BpddJoXs.mjs → findTsConfig-C0Rp7UlA.mjs} +6 -2
- package/dist/packem_shared/{findTsConfig-ZJsQkecJ.cjs → findTsConfig-DeoHFadL.cjs} +6 -2
- package/package.json +2 -69
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## @visulima/tsconfig [1.1.10](https://github.com/visulima/visulima/compare/@visulima/tsconfig@1.1.9...@visulima/tsconfig@1.1.10) (2025-01-22)
|
|
2
|
+
|
|
3
|
+
### Styles
|
|
4
|
+
|
|
5
|
+
* cs fixes ([f615a6a](https://github.com/visulima/visulima/commit/f615a6af4c0d4fb9ec054565fe5c93e88df487e9))
|
|
6
|
+
|
|
7
|
+
### Miscellaneous Chores
|
|
8
|
+
|
|
9
|
+
* updated all dev dependencies and all dependencies in the app folder ([87f4ccb](https://github.com/visulima/visulima/commit/87f4ccbf9f7900ec5b56f3c1477bc4a0ef571bcf))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Dependencies
|
|
13
|
+
|
|
14
|
+
* **@visulima/fs:** upgraded to 2.3.8
|
|
15
|
+
|
|
16
|
+
## @visulima/tsconfig [1.1.9](https://github.com/visulima/visulima/compare/@visulima/tsconfig@1.1.8...@visulima/tsconfig@1.1.9) (2025-01-21)
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* **tsconfig:** added missing tscCompatible option on findTsConfig and findTsConfigSync ([9f56637](https://github.com/visulima/visulima/commit/9f56637b5158f6364fa3e1c215ec9e7f2022a161))
|
|
21
|
+
* **tsconfig:** fixed tscCompatible default on jsdoc ([fa80961](https://github.com/visulima/visulima/commit/fa809618aec6ec5f8777beb384509ed6c6794d43))
|
|
22
|
+
|
|
1
23
|
## @visulima/tsconfig [1.1.8](https://github.com/visulima/visulima/compare/@visulima/tsconfig@1.1.7...@visulima/tsconfig@1.1.8) (2025-01-13)
|
|
2
24
|
|
|
3
25
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -101,7 +101,7 @@ const tsconfig = await readTsConfig("/Users/../Projects/visulima/packages/tsconf
|
|
|
101
101
|
type TsConfigJson = object;
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
-
Defined in: node\_modules/.pnpm/type-fest@4.
|
|
104
|
+
Defined in: node\_modules/.pnpm/type-fest@4.33.0/node\_modules/type-fest/source/tsconfig-json.d.ts:1
|
|
105
105
|
|
|
106
106
|
Type for [TypeScript's `tsconfig.json` file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) (TypeScript 3.7).
|
|
107
107
|
|
|
@@ -191,7 +191,7 @@ Instructs the TypeScript compiler how to watch files.
|
|
|
191
191
|
function findTsConfig(cwd?, options?): Promise<TsConfigResult>
|
|
192
192
|
```
|
|
193
193
|
|
|
194
|
-
Defined in: [packages/tsconfig/src/find-tsconfig.ts:
|
|
194
|
+
Defined in: [packages/tsconfig/src/find-tsconfig.ts:30](https://github.com/visulima/visulima/blob/ef69679783adf001801f651ab061317bdcb4d5a2/packages/tsconfig/src/find-tsconfig.ts#L30)
|
|
195
195
|
|
|
196
196
|
An asynchronous function that retrieves the TSConfig by searching for the "tsconfig.json" first,
|
|
197
197
|
second attempt is to look for the "jsconfig.json" file from a given current working directory.
|
|
@@ -207,7 +207,7 @@ Optional. The current working directory from which to search for the "tsconfig.j
|
|
|
207
207
|
|
|
208
208
|
##### options?
|
|
209
209
|
|
|
210
|
-
`
|
|
210
|
+
[`FindTsConfigOptions`](README.md#findtsconfigoptions) = `{}`
|
|
211
211
|
|
|
212
212
|
#### Returns
|
|
213
213
|
|
|
@@ -228,7 +228,7 @@ An `Error` when the "tsconfig.json" file is not found.
|
|
|
228
228
|
function findTsConfigSync(cwd?, options?): TsConfigResult
|
|
229
229
|
```
|
|
230
230
|
|
|
231
|
-
Defined in: [packages/tsconfig/src/find-tsconfig.ts:
|
|
231
|
+
Defined in: [packages/tsconfig/src/find-tsconfig.ts:69](https://github.com/visulima/visulima/blob/ef69679783adf001801f651ab061317bdcb4d5a2/packages/tsconfig/src/find-tsconfig.ts#L69)
|
|
232
232
|
|
|
233
233
|
#### Parameters
|
|
234
234
|
|
|
@@ -238,7 +238,7 @@ Defined in: [packages/tsconfig/src/find-tsconfig.ts:66](https://github.com/visul
|
|
|
238
238
|
|
|
239
239
|
##### options?
|
|
240
240
|
|
|
241
|
-
`
|
|
241
|
+
[`FindTsConfigOptions`](README.md#findtsconfigoptions) = `{}`
|
|
242
242
|
|
|
243
243
|
#### Returns
|
|
244
244
|
|
|
@@ -252,7 +252,7 @@ Defined in: [packages/tsconfig/src/find-tsconfig.ts:66](https://github.com/visul
|
|
|
252
252
|
function readTsConfig(tsconfigPath, options?): object
|
|
253
253
|
```
|
|
254
254
|
|
|
255
|
-
Defined in: [packages/tsconfig/src/read-tsconfig.ts:460](https://github.com/visulima/visulima/blob/
|
|
255
|
+
Defined in: [packages/tsconfig/src/read-tsconfig.ts:460](https://github.com/visulima/visulima/blob/ef69679783adf001801f651ab061317bdcb4d5a2/packages/tsconfig/src/read-tsconfig.ts#L460)
|
|
256
256
|
|
|
257
257
|
#### Parameters
|
|
258
258
|
|
|
@@ -262,7 +262,7 @@ Defined in: [packages/tsconfig/src/read-tsconfig.ts:460](https://github.com/visu
|
|
|
262
262
|
|
|
263
263
|
##### options?
|
|
264
264
|
|
|
265
|
-
`
|
|
265
|
+
[`ReadTsConfigOptions`](README.md#readtsconfigoptions)
|
|
266
266
|
|
|
267
267
|
#### Returns
|
|
268
268
|
|
|
@@ -344,7 +344,7 @@ Instructs the TypeScript compiler how to watch files.
|
|
|
344
344
|
function writeTsConfig(tsConfig, options): Promise<void>
|
|
345
345
|
```
|
|
346
346
|
|
|
347
|
-
Defined in: [packages/tsconfig/src/write-tsconfig.ts:17](https://github.com/visulima/visulima/blob/
|
|
347
|
+
Defined in: [packages/tsconfig/src/write-tsconfig.ts:17](https://github.com/visulima/visulima/blob/ef69679783adf001801f651ab061317bdcb4d5a2/packages/tsconfig/src/write-tsconfig.ts#L17)
|
|
348
348
|
|
|
349
349
|
An asynchronous function that writes the provided TypeScript configuration object to a tsconfig.json file.
|
|
350
350
|
|
|
@@ -378,7 +378,7 @@ The return type of function is `Promise<void>`.
|
|
|
378
378
|
function writeTsConfigSync(tsConfig, options): void
|
|
379
379
|
```
|
|
380
380
|
|
|
381
|
-
Defined in: [packages/tsconfig/src/write-tsconfig.ts:35](https://github.com/visulima/visulima/blob/
|
|
381
|
+
Defined in: [packages/tsconfig/src/write-tsconfig.ts:35](https://github.com/visulima/visulima/blob/ef69679783adf001801f651ab061317bdcb4d5a2/packages/tsconfig/src/write-tsconfig.ts#L35)
|
|
382
382
|
|
|
383
383
|
A function that writes the provided TypeScript configuration object to a tsconfig.json file.
|
|
384
384
|
|
|
@@ -412,7 +412,61 @@ The return type of function is `Promise<void>`.
|
|
|
412
412
|
const implicitBaseUrlSymbol: typeof implicitBaseUrlSymbol;
|
|
413
413
|
```
|
|
414
414
|
|
|
415
|
-
Defined in: [packages/tsconfig/src/read-tsconfig.ts:457](https://github.com/visulima/visulima/blob/
|
|
415
|
+
Defined in: [packages/tsconfig/src/read-tsconfig.ts:457](https://github.com/visulima/visulima/blob/ef69679783adf001801f651ab061317bdcb4d5a2/packages/tsconfig/src/read-tsconfig.ts#L457)
|
|
416
|
+
|
|
417
|
+
***
|
|
418
|
+
|
|
419
|
+
### FindTsConfigOptions
|
|
420
|
+
|
|
421
|
+
```ts
|
|
422
|
+
type FindTsConfigOptions = ReadTsConfigOptions & object;
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
Defined in: [packages/tsconfig/src/find-tsconfig.ts:10](https://github.com/visulima/visulima/blob/ef69679783adf001801f651ab061317bdcb4d5a2/packages/tsconfig/src/find-tsconfig.ts#L10)
|
|
426
|
+
|
|
427
|
+
#### Type declaration
|
|
428
|
+
|
|
429
|
+
##### cache?
|
|
430
|
+
|
|
431
|
+
```ts
|
|
432
|
+
optional cache:
|
|
433
|
+
| Map<string, TsConfigJsonResolved>
|
|
434
|
+
| boolean;
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
##### configFileName?
|
|
438
|
+
|
|
439
|
+
```ts
|
|
440
|
+
optional configFileName: string;
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
***
|
|
444
|
+
|
|
445
|
+
### ReadTsConfigOptions
|
|
446
|
+
|
|
447
|
+
```ts
|
|
448
|
+
type ReadTsConfigOptions = object;
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
Defined in: [packages/tsconfig/src/read-tsconfig.ts:444](https://github.com/visulima/visulima/blob/ef69679783adf001801f651ab061317bdcb4d5a2/packages/tsconfig/src/read-tsconfig.ts#L444)
|
|
452
|
+
|
|
453
|
+
#### Type declaration
|
|
454
|
+
|
|
455
|
+
##### tscCompatible?
|
|
456
|
+
|
|
457
|
+
```ts
|
|
458
|
+
optional tscCompatible: "5.3" | "5.4" | "5.5" | "5.6" | true;
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
Make the configuration compatible with the specified TypeScript version.
|
|
462
|
+
|
|
463
|
+
When `true`, it will make the configuration compatible with the latest TypeScript version.
|
|
464
|
+
|
|
465
|
+
###### Default
|
|
466
|
+
|
|
467
|
+
```ts
|
|
468
|
+
undefined
|
|
469
|
+
```
|
|
416
470
|
|
|
417
471
|
***
|
|
418
472
|
|
|
@@ -422,7 +476,7 @@ Defined in: [packages/tsconfig/src/read-tsconfig.ts:457](https://github.com/visu
|
|
|
422
476
|
type TsConfigJsonResolved = Except<TsConfigJson, "extends">;
|
|
423
477
|
```
|
|
424
478
|
|
|
425
|
-
Defined in: [packages/tsconfig/src/types.ts:3](https://github.com/visulima/visulima/blob/
|
|
479
|
+
Defined in: [packages/tsconfig/src/types.ts:3](https://github.com/visulima/visulima/blob/ef69679783adf001801f651ab061317bdcb4d5a2/packages/tsconfig/src/types.ts#L3)
|
|
426
480
|
|
|
427
481
|
***
|
|
428
482
|
|
|
@@ -432,7 +486,7 @@ Defined in: [packages/tsconfig/src/types.ts:3](https://github.com/visulima/visul
|
|
|
432
486
|
type TsConfigResult = object;
|
|
433
487
|
```
|
|
434
488
|
|
|
435
|
-
Defined in: [packages/tsconfig/src/find-tsconfig.ts:
|
|
489
|
+
Defined in: [packages/tsconfig/src/find-tsconfig.ts:15](https://github.com/visulima/visulima/blob/ef69679783adf001801f651ab061317bdcb4d5a2/packages/tsconfig/src/find-tsconfig.ts#L15)
|
|
436
490
|
|
|
437
491
|
#### Type declaration
|
|
438
492
|
|
|
@@ -461,6 +515,8 @@ path: string;
|
|
|
461
515
|
- [writeTsConfigSync](README.md#writetsconfigsync)
|
|
462
516
|
- [TsConfigJson](namespaces/TsConfigJson/README.md)
|
|
463
517
|
- [implicitBaseUrlSymbol](README.md#implicitbaseurlsymbol)
|
|
518
|
+
- [FindTsConfigOptions](README.md#findtsconfigoptions)
|
|
519
|
+
- [ReadTsConfigOptions](README.md#readtsconfigoptions)
|
|
464
520
|
- [TsConfigJsonResolved](README.md#tsconfigjsonresolved)
|
|
465
521
|
- [TsConfigResult](README.md#tsconfigresult)
|
|
466
522
|
|
package/dist/index.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
4
|
|
|
5
|
-
const findTsConfig = require('./packem_shared/findTsConfig-
|
|
5
|
+
const findTsConfig = require('./packem_shared/findTsConfig-DeoHFadL.cjs');
|
|
6
6
|
const implicitBaseUrlSymbol = require('./packem_shared/implicitBaseUrlSymbol-COTDbERy.cjs');
|
|
7
7
|
const writeTsConfig = require('./packem_shared/writeTsConfig-DJa7JuZ_.cjs');
|
|
8
8
|
|
package/dist/index.d.cts
CHANGED
|
@@ -108,6 +108,26 @@ type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
|
|
|
108
108
|
|
|
109
109
|
const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
|
|
110
110
|
//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
|
|
111
|
+
|
|
112
|
+
// The `Omit` utility type doesn't work when omitting specific keys from objects containing index signatures.
|
|
113
|
+
|
|
114
|
+
// Consider the following example:
|
|
115
|
+
|
|
116
|
+
type UserData = {
|
|
117
|
+
[metadata: string]: string;
|
|
118
|
+
email: string;
|
|
119
|
+
name: string;
|
|
120
|
+
role: 'admin' | 'user';
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
// `Omit` clearly doesn't behave as expected in this case:
|
|
124
|
+
type PostPayload = Omit<UserData, 'email'>;
|
|
125
|
+
//=> type PostPayload = { [x: string]: string; [x: number]: string; }
|
|
126
|
+
|
|
127
|
+
// In situations like this, `Except` works better.
|
|
128
|
+
// It simply removes the `email` key while preserving all the other keys.
|
|
129
|
+
type PostPayload = Except<UserData, 'email'>;
|
|
130
|
+
//=> type PostPayload = { [x: string]: string; name: string; role: 'admin' | 'user'; }
|
|
111
131
|
```
|
|
112
132
|
|
|
113
133
|
@category Object
|
|
@@ -1397,6 +1417,12 @@ type TsConfigJson = {
|
|
|
1397
1417
|
type TsConfigJsonResolved = Except<TsConfigJson, "extends">;
|
|
1398
1418
|
|
|
1399
1419
|
type Options$1 = {
|
|
1420
|
+
tscCompatible?: "5.3" | "5.4" | "5.5" | "5.6" | true;
|
|
1421
|
+
};
|
|
1422
|
+
declare const implicitBaseUrlSymbol: unique symbol;
|
|
1423
|
+
declare const readTsConfig: (tsconfigPath: string, options?: Options$1) => TsConfigJsonResolved;
|
|
1424
|
+
|
|
1425
|
+
type Options = Options$1 & {
|
|
1400
1426
|
cache?: Map<string, TsConfigJsonResolved> | boolean;
|
|
1401
1427
|
configFileName?: string;
|
|
1402
1428
|
};
|
|
@@ -1404,14 +1430,8 @@ type TsConfigResult = {
|
|
|
1404
1430
|
config: TsConfigJsonResolved;
|
|
1405
1431
|
path: string;
|
|
1406
1432
|
};
|
|
1407
|
-
declare const findTsConfig: (cwd?: URL | string, options?: Options
|
|
1408
|
-
declare const findTsConfigSync: (cwd?: URL | string, options?: Options
|
|
1409
|
-
|
|
1410
|
-
type Options = {
|
|
1411
|
-
tscCompatible?: "5.3" | "5.4" | "5.5" | "5.6" | true;
|
|
1412
|
-
};
|
|
1413
|
-
declare const implicitBaseUrlSymbol: unique symbol;
|
|
1414
|
-
declare const readTsConfig: (tsconfigPath: string, options?: Options) => TsConfigJsonResolved;
|
|
1433
|
+
declare const findTsConfig: (cwd?: URL | string, options?: Options) => Promise<TsConfigResult>;
|
|
1434
|
+
declare const findTsConfigSync: (cwd?: URL | string, options?: Options) => TsConfigResult;
|
|
1415
1435
|
|
|
1416
1436
|
declare const writeTsConfig: (tsConfig: TsConfigJson, options?: WriteJsonOptions & {
|
|
1417
1437
|
cwd?: URL | string;
|
|
@@ -1420,4 +1440,4 @@ declare const writeTsConfigSync: (tsConfig: TsConfigJson, options?: WriteJsonOpt
|
|
|
1420
1440
|
cwd?: URL | string;
|
|
1421
1441
|
}) => void;
|
|
1422
1442
|
|
|
1423
|
-
export { TsConfigJson, type TsConfigJsonResolved, type TsConfigResult, findTsConfig, findTsConfigSync, implicitBaseUrlSymbol, readTsConfig, writeTsConfig, writeTsConfigSync };
|
|
1443
|
+
export { type Options as FindTsConfigOptions, type Options$1 as ReadTsConfigOptions, TsConfigJson, type TsConfigJsonResolved, type TsConfigResult, findTsConfig, findTsConfigSync, implicitBaseUrlSymbol, readTsConfig, writeTsConfig, writeTsConfigSync };
|
package/dist/index.d.mts
CHANGED
|
@@ -108,6 +108,26 @@ type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
|
|
|
108
108
|
|
|
109
109
|
const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
|
|
110
110
|
//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
|
|
111
|
+
|
|
112
|
+
// The `Omit` utility type doesn't work when omitting specific keys from objects containing index signatures.
|
|
113
|
+
|
|
114
|
+
// Consider the following example:
|
|
115
|
+
|
|
116
|
+
type UserData = {
|
|
117
|
+
[metadata: string]: string;
|
|
118
|
+
email: string;
|
|
119
|
+
name: string;
|
|
120
|
+
role: 'admin' | 'user';
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
// `Omit` clearly doesn't behave as expected in this case:
|
|
124
|
+
type PostPayload = Omit<UserData, 'email'>;
|
|
125
|
+
//=> type PostPayload = { [x: string]: string; [x: number]: string; }
|
|
126
|
+
|
|
127
|
+
// In situations like this, `Except` works better.
|
|
128
|
+
// It simply removes the `email` key while preserving all the other keys.
|
|
129
|
+
type PostPayload = Except<UserData, 'email'>;
|
|
130
|
+
//=> type PostPayload = { [x: string]: string; name: string; role: 'admin' | 'user'; }
|
|
111
131
|
```
|
|
112
132
|
|
|
113
133
|
@category Object
|
|
@@ -1397,6 +1417,12 @@ type TsConfigJson = {
|
|
|
1397
1417
|
type TsConfigJsonResolved = Except<TsConfigJson, "extends">;
|
|
1398
1418
|
|
|
1399
1419
|
type Options$1 = {
|
|
1420
|
+
tscCompatible?: "5.3" | "5.4" | "5.5" | "5.6" | true;
|
|
1421
|
+
};
|
|
1422
|
+
declare const implicitBaseUrlSymbol: unique symbol;
|
|
1423
|
+
declare const readTsConfig: (tsconfigPath: string, options?: Options$1) => TsConfigJsonResolved;
|
|
1424
|
+
|
|
1425
|
+
type Options = Options$1 & {
|
|
1400
1426
|
cache?: Map<string, TsConfigJsonResolved> | boolean;
|
|
1401
1427
|
configFileName?: string;
|
|
1402
1428
|
};
|
|
@@ -1404,14 +1430,8 @@ type TsConfigResult = {
|
|
|
1404
1430
|
config: TsConfigJsonResolved;
|
|
1405
1431
|
path: string;
|
|
1406
1432
|
};
|
|
1407
|
-
declare const findTsConfig: (cwd?: URL | string, options?: Options
|
|
1408
|
-
declare const findTsConfigSync: (cwd?: URL | string, options?: Options
|
|
1409
|
-
|
|
1410
|
-
type Options = {
|
|
1411
|
-
tscCompatible?: "5.3" | "5.4" | "5.5" | "5.6" | true;
|
|
1412
|
-
};
|
|
1413
|
-
declare const implicitBaseUrlSymbol: unique symbol;
|
|
1414
|
-
declare const readTsConfig: (tsconfigPath: string, options?: Options) => TsConfigJsonResolved;
|
|
1433
|
+
declare const findTsConfig: (cwd?: URL | string, options?: Options) => Promise<TsConfigResult>;
|
|
1434
|
+
declare const findTsConfigSync: (cwd?: URL | string, options?: Options) => TsConfigResult;
|
|
1415
1435
|
|
|
1416
1436
|
declare const writeTsConfig: (tsConfig: TsConfigJson, options?: WriteJsonOptions & {
|
|
1417
1437
|
cwd?: URL | string;
|
|
@@ -1420,4 +1440,4 @@ declare const writeTsConfigSync: (tsConfig: TsConfigJson, options?: WriteJsonOpt
|
|
|
1420
1440
|
cwd?: URL | string;
|
|
1421
1441
|
}) => void;
|
|
1422
1442
|
|
|
1423
|
-
export { TsConfigJson, type TsConfigJsonResolved, type TsConfigResult, findTsConfig, findTsConfigSync, implicitBaseUrlSymbol, readTsConfig, writeTsConfig, writeTsConfigSync };
|
|
1443
|
+
export { type Options as FindTsConfigOptions, type Options$1 as ReadTsConfigOptions, TsConfigJson, type TsConfigJsonResolved, type TsConfigResult, findTsConfig, findTsConfigSync, implicitBaseUrlSymbol, readTsConfig, writeTsConfig, writeTsConfigSync };
|
package/dist/index.d.ts
CHANGED
|
@@ -108,6 +108,26 @@ type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
|
|
|
108
108
|
|
|
109
109
|
const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
|
|
110
110
|
//=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
|
|
111
|
+
|
|
112
|
+
// The `Omit` utility type doesn't work when omitting specific keys from objects containing index signatures.
|
|
113
|
+
|
|
114
|
+
// Consider the following example:
|
|
115
|
+
|
|
116
|
+
type UserData = {
|
|
117
|
+
[metadata: string]: string;
|
|
118
|
+
email: string;
|
|
119
|
+
name: string;
|
|
120
|
+
role: 'admin' | 'user';
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
// `Omit` clearly doesn't behave as expected in this case:
|
|
124
|
+
type PostPayload = Omit<UserData, 'email'>;
|
|
125
|
+
//=> type PostPayload = { [x: string]: string; [x: number]: string; }
|
|
126
|
+
|
|
127
|
+
// In situations like this, `Except` works better.
|
|
128
|
+
// It simply removes the `email` key while preserving all the other keys.
|
|
129
|
+
type PostPayload = Except<UserData, 'email'>;
|
|
130
|
+
//=> type PostPayload = { [x: string]: string; name: string; role: 'admin' | 'user'; }
|
|
111
131
|
```
|
|
112
132
|
|
|
113
133
|
@category Object
|
|
@@ -1397,6 +1417,12 @@ type TsConfigJson = {
|
|
|
1397
1417
|
type TsConfigJsonResolved = Except<TsConfigJson, "extends">;
|
|
1398
1418
|
|
|
1399
1419
|
type Options$1 = {
|
|
1420
|
+
tscCompatible?: "5.3" | "5.4" | "5.5" | "5.6" | true;
|
|
1421
|
+
};
|
|
1422
|
+
declare const implicitBaseUrlSymbol: unique symbol;
|
|
1423
|
+
declare const readTsConfig: (tsconfigPath: string, options?: Options$1) => TsConfigJsonResolved;
|
|
1424
|
+
|
|
1425
|
+
type Options = Options$1 & {
|
|
1400
1426
|
cache?: Map<string, TsConfigJsonResolved> | boolean;
|
|
1401
1427
|
configFileName?: string;
|
|
1402
1428
|
};
|
|
@@ -1404,14 +1430,8 @@ type TsConfigResult = {
|
|
|
1404
1430
|
config: TsConfigJsonResolved;
|
|
1405
1431
|
path: string;
|
|
1406
1432
|
};
|
|
1407
|
-
declare const findTsConfig: (cwd?: URL | string, options?: Options
|
|
1408
|
-
declare const findTsConfigSync: (cwd?: URL | string, options?: Options
|
|
1409
|
-
|
|
1410
|
-
type Options = {
|
|
1411
|
-
tscCompatible?: "5.3" | "5.4" | "5.5" | "5.6" | true;
|
|
1412
|
-
};
|
|
1413
|
-
declare const implicitBaseUrlSymbol: unique symbol;
|
|
1414
|
-
declare const readTsConfig: (tsconfigPath: string, options?: Options) => TsConfigJsonResolved;
|
|
1433
|
+
declare const findTsConfig: (cwd?: URL | string, options?: Options) => Promise<TsConfigResult>;
|
|
1434
|
+
declare const findTsConfigSync: (cwd?: URL | string, options?: Options) => TsConfigResult;
|
|
1415
1435
|
|
|
1416
1436
|
declare const writeTsConfig: (tsConfig: TsConfigJson, options?: WriteJsonOptions & {
|
|
1417
1437
|
cwd?: URL | string;
|
|
@@ -1420,4 +1440,4 @@ declare const writeTsConfigSync: (tsConfig: TsConfigJson, options?: WriteJsonOpt
|
|
|
1420
1440
|
cwd?: URL | string;
|
|
1421
1441
|
}) => void;
|
|
1422
1442
|
|
|
1423
|
-
export { TsConfigJson, type TsConfigJsonResolved, type TsConfigResult, findTsConfig, findTsConfigSync, implicitBaseUrlSymbol, readTsConfig, writeTsConfig, writeTsConfigSync };
|
|
1443
|
+
export { type Options as FindTsConfigOptions, type Options$1 as ReadTsConfigOptions, TsConfigJson, type TsConfigJsonResolved, type TsConfigResult, findTsConfig, findTsConfigSync, implicitBaseUrlSymbol, readTsConfig, writeTsConfig, writeTsConfigSync };
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { findTsConfig, findTsConfigSync } from './packem_shared/findTsConfig-
|
|
1
|
+
export { findTsConfig, findTsConfigSync } from './packem_shared/findTsConfig-C0Rp7UlA.mjs';
|
|
2
2
|
export { implicitBaseUrlSymbol, readTsConfig } from './packem_shared/implicitBaseUrlSymbol-QFe6oEcv.mjs';
|
|
3
3
|
export { writeTsConfig, writeTsConfigSync } from './packem_shared/writeTsConfig-BImVv2Ba.mjs';
|
|
@@ -25,7 +25,9 @@ const findTsConfig = /* @__PURE__ */ __name(async (cwd, options = {}) => {
|
|
|
25
25
|
return cache.get(filePath);
|
|
26
26
|
}
|
|
27
27
|
const output = {
|
|
28
|
-
config: readTsConfig(filePath
|
|
28
|
+
config: readTsConfig(filePath, {
|
|
29
|
+
tscCompatible: options.tscCompatible
|
|
30
|
+
}),
|
|
29
31
|
path: filePath
|
|
30
32
|
};
|
|
31
33
|
if (options.cache) {
|
|
@@ -53,7 +55,9 @@ const findTsConfigSync = /* @__PURE__ */ __name((cwd, options = {}) => {
|
|
|
53
55
|
return cache.get(filePath);
|
|
54
56
|
}
|
|
55
57
|
const output = {
|
|
56
|
-
config: readTsConfig(filePath
|
|
58
|
+
config: readTsConfig(filePath, {
|
|
59
|
+
tscCompatible: options.tscCompatible
|
|
60
|
+
}),
|
|
57
61
|
path: filePath
|
|
58
62
|
};
|
|
59
63
|
if (options.cache) {
|
|
@@ -29,7 +29,9 @@ const findTsConfig = /* @__PURE__ */ __name(async (cwd, options = {}) => {
|
|
|
29
29
|
return cache.get(filePath);
|
|
30
30
|
}
|
|
31
31
|
const output = {
|
|
32
|
-
config: implicitBaseUrlSymbol.readTsConfig(filePath
|
|
32
|
+
config: implicitBaseUrlSymbol.readTsConfig(filePath, {
|
|
33
|
+
tscCompatible: options.tscCompatible
|
|
34
|
+
}),
|
|
33
35
|
path: filePath
|
|
34
36
|
};
|
|
35
37
|
if (options.cache) {
|
|
@@ -57,7 +59,9 @@ const findTsConfigSync = /* @__PURE__ */ __name((cwd, options = {}) => {
|
|
|
57
59
|
return cache.get(filePath);
|
|
58
60
|
}
|
|
59
61
|
const output = {
|
|
60
|
-
config: implicitBaseUrlSymbol.readTsConfig(filePath
|
|
62
|
+
config: implicitBaseUrlSymbol.readTsConfig(filePath, {
|
|
63
|
+
tscCompatible: options.tscCompatible
|
|
64
|
+
}),
|
|
61
65
|
path: filePath
|
|
62
66
|
};
|
|
63
67
|
if (options.cache) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/tsconfig",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.10",
|
|
4
4
|
"description": "Find and/or parse the tsconfig.json file from a directory path.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"anolilab",
|
|
@@ -67,83 +67,16 @@
|
|
|
67
67
|
"CHANGELOG.md"
|
|
68
68
|
],
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@visulima/fs": "2.3.
|
|
70
|
+
"@visulima/fs": "2.3.8",
|
|
71
71
|
"@visulima/path": "1.3.3",
|
|
72
72
|
"jsonc-parser": "^3.3.1",
|
|
73
73
|
"resolve-pkg-maps": "^1.0.0"
|
|
74
74
|
},
|
|
75
|
-
"devDependencies": {
|
|
76
|
-
"@anolilab/eslint-config": "^15.0.3",
|
|
77
|
-
"@anolilab/prettier-config": "^5.0.14",
|
|
78
|
-
"@anolilab/semantic-release-pnpm": "1.1.6",
|
|
79
|
-
"@anolilab/semantic-release-preset": "^9.0.3",
|
|
80
|
-
"@arethetypeswrong/cli": "^0.17.2",
|
|
81
|
-
"@babel/core": "^7.26.0",
|
|
82
|
-
"@rushstack/eslint-plugin-security": "^0.8.3",
|
|
83
|
-
"@secretlint/secretlint-rule-preset-recommend": "^9.0.0",
|
|
84
|
-
"@total-typescript/ts-reset": "^0.6.1",
|
|
85
|
-
"@types/node": "18.18.14",
|
|
86
|
-
"@visulima/packem": "1.10.7",
|
|
87
|
-
"@vitest/coverage-v8": "^2.1.8",
|
|
88
|
-
"@vitest/ui": "^2.1.8",
|
|
89
|
-
"conventional-changelog-conventionalcommits": "8.0.0",
|
|
90
|
-
"cross-env": "^7.0.3",
|
|
91
|
-
"esbuild": "0.24.2",
|
|
92
|
-
"eslint": "8.57.0",
|
|
93
|
-
"eslint-plugin-deprecation": "^3.0.0",
|
|
94
|
-
"eslint-plugin-etc": "^2.0.3",
|
|
95
|
-
"eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1",
|
|
96
|
-
"eslint-plugin-mdx": "^3.1.5",
|
|
97
|
-
"eslint-plugin-vitest": "^0.4.1",
|
|
98
|
-
"eslint-plugin-vitest-globals": "^1.5.0",
|
|
99
|
-
"execa": "^9.5.2",
|
|
100
|
-
"prettier": "^3.4.2",
|
|
101
|
-
"rimraf": "6.0.1",
|
|
102
|
-
"secretlint": "9.0.0",
|
|
103
|
-
"semantic-release": "^24.2.1",
|
|
104
|
-
"tempy": "^3.1.0",
|
|
105
|
-
"type-fest": "^4.32.0",
|
|
106
|
-
"typedoc": "0.27.6",
|
|
107
|
-
"typedoc-plugin-markdown": "4.4.1",
|
|
108
|
-
"typedoc-plugin-rename-defaults": "0.7.2",
|
|
109
|
-
"typescript": "5.7.3",
|
|
110
|
-
"vitest": "^2.1.8"
|
|
111
|
-
},
|
|
112
75
|
"engines": {
|
|
113
76
|
"node": ">=18.* <=23.*"
|
|
114
77
|
},
|
|
115
78
|
"publishConfig": {
|
|
116
79
|
"access": "public",
|
|
117
80
|
"provenance": true
|
|
118
|
-
},
|
|
119
|
-
"anolilab": {
|
|
120
|
-
"eslint-config": {
|
|
121
|
-
"plugin": {
|
|
122
|
-
"tsdoc": false,
|
|
123
|
-
"etc": false
|
|
124
|
-
},
|
|
125
|
-
"warn_on_unsupported_typescript_version": false,
|
|
126
|
-
"info_on_disabling_jsx_react_rule": false,
|
|
127
|
-
"info_on_disabling_prettier_conflict_rule": false,
|
|
128
|
-
"info_on_disabling_jsonc_sort_keys_rule": false,
|
|
129
|
-
"info_on_disabling_etc_no_deprecated": false
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
"scripts": {
|
|
133
|
-
"build": "cross-env NODE_ENV=development packem build",
|
|
134
|
-
"build:prod": "cross-env NODE_ENV=production packem build",
|
|
135
|
-
"clean": "rimraf node_modules dist .eslintcache",
|
|
136
|
-
"dev": "pnpm run build --watch",
|
|
137
|
-
"lint:attw": "attw --pack",
|
|
138
|
-
"lint:eslint": "eslint . --ext js,cjs,mjs,jsx,ts,tsx,json,yaml,yml,md,mdx --max-warnings=0 --config .eslintrc.cjs",
|
|
139
|
-
"lint:eslint:fix": "eslint . --ext js,cjs,mjs,jsx,ts,tsx,json,yaml,yml,md,mdx --max-warnings=0 --config .eslintrc.cjs --fix",
|
|
140
|
-
"lint:package-json": "publint --strict",
|
|
141
|
-
"lint:prettier": "prettier --config=.prettierrc.cjs --check .",
|
|
142
|
-
"lint:prettier:fix": "prettier --config=.prettierrc.cjs --write .",
|
|
143
|
-
"lint:types": "tsc --noEmit",
|
|
144
|
-
"test": "vitest run",
|
|
145
|
-
"test:coverage": "vitest run --coverage",
|
|
146
|
-
"test:ui": "vitest --ui --coverage.enabled=true",
|
|
147
|
-
"test:watch": "vitest"
|
|
148
81
|
}
|
|
149
82
|
}
|