feat: support config files exporting (async) functions#10001
feat: support config files exporting (async) functions#10001SimenB merged 4 commits intojestjs:masterfrom
async) functions#10001Conversation
|
We wait for the This is the implementation for the feature: diff --git i/packages/jest-config/src/index.ts w/packages/jest-config/src/index.ts
index 68d6b5ddf5..de88d4423c 100644
--- i/packages/jest-config/src/index.ts
+++ w/packages/jest-config/src/index.ts
@@ -41,7 +41,9 @@ export async function readConfig(
parentConfigPath?: Config.Path | null,
projectIndex: number = Infinity,
): Promise<ReadConfig> {
- let rawOptions;
+ let rawOptions:
+ | Config.InitialOptions
+ | (() => Config.InitialOptions | Promise<Config.InitialOptions>);
let configPath = null;
if (typeof packageRootOrConfig !== 'string') {
@@ -82,6 +84,10 @@ export async function readConfig(
rawOptions = await readConfigFileAndSetRootDir(configPath);
}
+ if (typeof rawOptions === 'function') {
+ rawOptions = await rawOptions();
+ }
+
const {options, hasDeprecationWarnings} = normalize(
rawOptions,
argv,In addition to that we'll need a test. Wanna give it a go? 🙂 |
Codecov Report
@@ Coverage Diff @@
## master #10001 +/- ##
==========================================
+ Coverage 63.92% 64.15% +0.22%
==========================================
Files 293 293
Lines 12496 12498 +2
Branches 3083 3084 +1
==========================================
+ Hits 7988 8018 +30
+ Misses 3863 3830 -33
- Partials 645 650 +5
Continue to review full report at Codecov.
|
SimenB
left a comment
There was a problem hiding this comment.
Thanks! Can you update the changelog as well?
async) functions
…esolve-outside * upstream/master: (106 commits) docs: fix jest-diff example (jestjs#10067) Cleanup `displayName` type (jestjs#10049) docs: correct confusing filename in `enableAutomock` example (jestjs#10055) chore: minor optimize getTransformer (jestjs#10050) chore: fix TestUtils.ts to match the types (jestjs#10034) Minor test name typo fix (jestjs#10033) chore: upgrade to typescript 3.9 (jestjs#10031) feat: CLI argument to filter tests by projects (jestjs#8612) chore: bump `istanbul-lib-instrument` (jestjs#10009) feat: support config files exporting (`async`) `function`s (jestjs#10001) fix: add missing haste-map dep to jest-snapshot (jestjs#10008) 🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉 (jestjs#10000) Fix typo in dependency warning (jestjs#10006) chore: add missing comma (jestjs#9999) fix: Control no diff message color with diff options (jestjs#9997) fix(jest-jasmine2): fix Error message (jestjs#9990) docs: fix jest-object ids for docusaurs (jestjs#9994) docs: fix Configuration, JestPlatform and JestObjectAPI docs for 26 (jestjs#9985) Add migration notes for breaking changes (jestjs#9978) chore: fix date and heading in blog post (jestjs#9977) ...
|
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Summary
Original #8357 was too old, created this PR to start fresh.
At that time jest cli required the dynamic config module synchronously, that PR enabled loading jest config module async.
It appears that the code in master already have these or similar changes that allows async loading.
All that is missing is documentation
Test plan
No tests needed as all of the changes are already in master, only changed docs