Skip to content
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

Allow projects in TypeScript Config to be an array of ProjectConfig #11285

Merged
merged 13 commits into from
Apr 12, 2021

Conversation

TranquilMarmot
Copy link

@TranquilMarmot TranquilMarmot commented Apr 9, 2021

Summary

Fixes #11284

It was noticed when trying to write a jest.config.ts file that the projects key only allows Array<Glob>

This is at odds with the docs: https://jestjs.io/docs/configuration#projects-arraystring--projectconfig

Test plan

This was tested locally by changing node_modules/@jest/types/build/Config.d.ts

@facebook-github-bot
Copy link
Contributor

Hi @TranquilMarmot!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at [email protected]. Thanks!

@facebook-github-bot
Copy link
Contributor

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

Copy link
Member

@SimenB SimenB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the PR! As mentioned inline, you've modified the types after normalization, which is incorrect. You wanna modify this one (InitialOptions): https://github.com/facebook/jest/blob/d1ad64c0b5cdf68a73e11a12d7770be7d1381584/packages/jest-types/src/Config.ts#L187

You can add a type test here: https://github.com/facebook/jest/blob/master/test-types/top-level-config.test.ts

packages/jest-types/src/Config.ts Outdated Show resolved Hide resolved
packages/jest-types/src/Config.ts Outdated Show resolved Hide resolved
packages/jest-types/src/Config.ts Outdated Show resolved Hide resolved
Copy link
Member

@SimenB SimenB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typescript is unhappy in normalize, for some reason.

also, a quick type test would be awesome

@@ -184,7 +184,7 @@ export type InitialOptions = Partial<{
preprocessorIgnorePatterns: Array<Glob>;
preset: string | null | undefined;
prettierPath: string | null | undefined;
projects: Array<Glob>;
projects: Array<Glob> | Array<Omit<InitialOptions, keyof GlobalConfig>>;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

self reference works? if not we can have one type without projects, and then one that extends it

Copy link
Member

@SimenB SimenB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you!

@SimenB SimenB merged commit 1ca2755 into jestjs:master Apr 12, 2021
@TranquilMarmot TranquilMarmot deleted the patch-1 branch April 13, 2021 16:59
@github-actions
Copy link

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.
Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TypeScript Config.InitialOptions specifies "projects" wrong
3 participants