WordPress/gutenberg

Testing: Add integration test which ensures that npm packages can be used with Node

Open

#17.273 aperta il 30 ago 2019

Vedi su GitHub
 (9 commenti) (1 reazione) (0 assegnatari)JavaScript (3893 fork)batch import
Good First IssueNeeds Dev[Status] In Progress[Type] Automated Testing[Type] Enhancementnpm Packages

Metriche repository

Star
 (9607 star)
Metriche merge PR
 (Merge medio 12g 18h) (509 PR mergiate in 30 g)

Descrizione

This should prevent bugs like #17165 where a naked reference to window will crash if used in a SSR context where there's no window.

See more details in the comment from @jsnajdr https://github.com/WordPress/gutenberg/pull/17165#issuecomment-525193133:

In this case, the easiest TDD-style test would be to simply import @wordpress/compose in a Node.js environment without DOM. And it would fail.

Neither compose nor components packages use the sideEffects: false flag (although they would be a good fit IMO), so using anything from compose bundles the whole library.

And the window check is a top-level statement in the module. We don't need to use or instantiate the useReducedMotion hook at all to get a broken build.

Guida contributor