Skip to content

Commit 840607e

Browse files
authoredFeb 8, 2022
Accept URL as cwd (#19)
1 parent 85144a6 commit 840607e

File tree

5 files changed

+25
-5
lines changed

5 files changed

+25
-5
lines changed
 

‎index.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export type Options = {
77
88
@default process.cwd()
99
*/
10-
cwd?: string;
10+
cwd?: URL | string;
1111
} & Except<ReadPackageOptions, 'cwd'>;
1212

1313
export type NormalizeOptions = {
@@ -16,7 +16,7 @@ export type NormalizeOptions = {
1616
1717
@default process.cwd()
1818
*/
19-
cwd?: string;
19+
cwd?: URL | string;
2020
} & Except<ReadPackageNormalizeOptions, 'cwd'>;
2121

2222
export interface ReadResult {

‎index.test-d.ts

+12
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,18 @@ expectType<Promise<NormalizedReadResult | undefined>>(readPackageUp());
55
expectType<Promise<NormalizedReadResult | undefined>>(
66
readPackageUp({cwd: '.'}),
77
);
8+
expectType<Promise<NormalizedReadResult | undefined>>(
9+
readPackageUp({cwd: new URL('file:///path/to/cwd/')}),
10+
);
811
expectType<Promise<NormalizedReadResult | undefined>>(
912
readPackageUp({normalize: true}),
1013
);
1114
expectType<Promise<NormalizedReadResult | undefined>>(
1215
readPackageUp({cwd: '.', normalize: true}),
1316
);
17+
expectType<Promise<NormalizedReadResult | undefined>>(
18+
readPackageUp({cwd: new URL('file:///path/to/cwd/'), normalize: true}),
19+
);
1420
expectType<Promise<ReadResult | undefined>>(
1521
readPackageUp({normalize: false}),
1622
);
@@ -22,12 +28,18 @@ expectType<NormalizedReadResult | undefined>(readPackageUpSync());
2228
expectType<NormalizedReadResult | undefined>(
2329
readPackageUpSync({cwd: '.'}),
2430
);
31+
expectType<NormalizedReadResult | undefined>(
32+
readPackageUpSync({cwd: new URL('file:///path/to/cwd/')}),
33+
);
2534
expectType<NormalizedReadResult | undefined>(
2635
readPackageUpSync({normalize: true}),
2736
);
2837
expectType<NormalizedReadResult | undefined>(
2938
readPackageUpSync({cwd: '.', normalize: true}),
3039
);
40+
expectType<NormalizedReadResult | undefined>(
41+
readPackageUpSync({cwd: new URL('file:///path/to/cwd/'), normalize: true}),
42+
);
3143
expectType<ReadResult | undefined>(
3244
readPackageUpSync({normalize: false}),
3345
);

‎package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@
4949
"path"
5050
],
5151
"dependencies": {
52-
"find-up": "^6.2.0",
53-
"read-pkg": "^7.0.0",
52+
"find-up": "^6.3.0",
53+
"read-pkg": "^7.1.0",
5454
"type-fest": "^2.5.0"
5555
},
5656
"devDependencies": {

‎readme.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Type: `object`
4848

4949
##### cwd
5050

51-
Type: `string`\
51+
Type: `URL | string`\
5252
Default: `process.cwd()`
5353

5454
The directory to start looking for a package.json file.

‎test.js

+8
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ test('async', async t => {
99
const result = await readPackageUp({cwd});
1010
t.is(result.packageJson.name, 'read-pkg-up');
1111
t.is(result.path, packagePath);
12+
t.deepEqual(
13+
await readPackageUp({cwd: new URL(cwd, import.meta.url)}),
14+
result,
15+
);
1216

1317
t.is(await readPackageUp({cwd: '/'}), undefined);
1418
});
@@ -17,6 +21,10 @@ test('sync', t => {
1721
const result = readPackageUpSync({cwd});
1822
t.is(result.packageJson.name, 'read-pkg-up');
1923
t.is(result.path, packagePath);
24+
t.deepEqual(
25+
readPackageUpSync({cwd: new URL(cwd, import.meta.url)}),
26+
result,
27+
);
2028

2129
t.is(readPackageUpSync({cwd: '/'}), undefined);
2230
});

0 commit comments

Comments
 (0)
Please sign in to comment.