Skip to content

Commit fc9e2bb

Browse files
derodero24som-sm
andauthored
PackageJson: Use LiteralUnion for engines field (#1354)
Co-authored-by: Som Shekhar Mukherjee <iamssmkhrj@gmail.com>
1 parent 6e08190 commit fc9e2bb

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

source/package-json.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import type {LiteralUnion} from './literal-union.d.ts';
21
import type {JsonObject, JsonValue} from './json-value.d.ts';
2+
import type {LiteralUnion} from './literal-union.d.ts';
33

44
export namespace PackageJson {
55
/**
@@ -526,7 +526,7 @@ export namespace PackageJson {
526526
Engines that this package runs on.
527527
*/
528528
engines?: {
529-
[EngineName in 'npm' | 'node' | string]?: string;
529+
[EngineName in LiteralUnion<'npm' | 'node', string>]?: string;
530530
};
531531

532532
/**

test-d/package-json.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ expectAssignable<PackageJson.DevEngineDependency>({
4949
version: '>= 1.0.0',
5050
onFail: 'ignore',
5151
});
52-
expectType<Partial<Record<string, string>> | undefined>(packageJson.engines);
52+
expectType<{[EngineName in LiteralUnion<'npm' | 'node', string>]?: string} | undefined>(packageJson.engines);
53+
expectAssignable<Partial<Record<string, string>> | undefined>(packageJson.engines);
5354
expectType<boolean | undefined>(packageJson.engineStrict);
5455
expectAssignable<
5556
| undefined

0 commit comments

Comments
 (0)