-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support config files exporting (async
) function
s
#10001
Conversation
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.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Can you update the changelog as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
async
) function
s
…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