WordPress/gutenberg

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

Open

#17,273 建立於 2019年8月30日

在 GitHub 查看
 (9 留言) (1 反應) (0 負責人)JavaScript (9,607 star) (3,893 fork)batch import
Good First IssueNeeds Dev[Status] In Progress[Type] Automated Testing[Type] Enhancementnpm Packages

描述

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.

貢獻者指南