Skip to content

Commit 9641bf4

Browse files
czrnodkz
authored andcommitted
fix: re-initialise configuration using INIT_CWD in postinstall.js
This makes reInitializePackageJson() in resolve-config.ts into a semi-public interface, used by postinstall.js, taking an optional directory argument to search from.
1 parent 2834df0 commit 9641bf4

File tree

3 files changed

+14
-6
lines changed

3 files changed

+14
-6
lines changed

packages/mongodb-memory-server-core/src/util/__tests__/resolve-config-test.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,5 +71,12 @@ describe('resolveConfig', () => {
7171
const got = resolveConfig('VERSION');
7272
expect(got).toBe('4.0.0');
7373
});
74+
75+
test('with explicit directory in reInitializePackageJson', () => {
76+
process.chdir(`${tmpObj.name}/project`);
77+
reInitializePackageJson(`${tmpObj.name}/project/subproject`);
78+
const got = resolveConfig('VERSION');
79+
expect(got).toBe('4.0.0');
80+
});
7481
});
7582
});

packages/mongodb-memory-server-core/src/util/resolve-config.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import finder, { Package } from 'find-package-json';
44
const ENV_CONFIG_PREFIX = 'MONGOMS_';
55
const defaultValues = new Map<string, string>();
66

7-
function getPackageJson(): Package | undefined {
8-
const pjIterator = finder(process.cwd());
7+
function getPackageJson(directory: string): Package | undefined {
8+
const pjIterator = finder(directory);
99
return pjIterator.next().value;
1010
}
1111

@@ -14,8 +14,8 @@ export function setDefaultValue(key: string, value: string): void {
1414
}
1515

1616
let packageJson: Package | undefined;
17-
export function reInitializePackageJson(): void {
18-
packageJson = getPackageJson();
17+
export function reInitializePackageJson(directory?: string): void {
18+
packageJson = getPackageJson(directory || process.cwd());
1919
}
2020
reInitializePackageJson();
2121

packages/mongodb-memory-server/postinstall.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ if (!isModuleExists('../mongodb-memory-server-core/lib/util/resolve-config')) {
2020
console.log('Could not resolve postinstall configuration');
2121
return;
2222
}
23-
const resolveConfig = require('../mongodb-memory-server-core/lib/util/resolve-config').default;
23+
const rc = require('../mongodb-memory-server-core/lib/util/resolve-config');
24+
rc.reInitializePackageJson(process.env.INIT_CWD);
2425

25-
const envDisablePostinstall = resolveConfig('DISABLE_POSTINSTALL');
26+
const envDisablePostinstall = rc.default('DISABLE_POSTINSTALL');
2627
const skipDownload =
2728
typeof envDisablePostinstall === 'string' &&
2829
['1', 'on', 'yes', 'true'].indexOf(envDisablePostinstall.toLowerCase()) !== -1;

0 commit comments

Comments
 (0)