Testing: Add lint for Babel runtime dependency in transpiled packages #14373
Labels
Good First Issue
An issue that's suitable for someone looking to contribute for the first time
Needs Dev
Ready for, and needs developer efforts
[Type] Automated Testing
Testing infrastructure changes impacting the execution of end-to-end (E2E) and/or unit tests.
[Type] Task
Issues or PRs that have been broken down into an individual action to take
Each package transpiled using Babel is configured to apply the Babel runtime transform (source). Thus, the built output for any package is expected to contain references to the
@babel/runtime
module. For this reason, the package must explicitly define@babel/runtime
as a dependency.For any package which is transpiled using Babel, we should lint to ensure it also includes an explicit dependency on
@babel/runtime
.Implementation:
package.json
includes amain
reference to abuild/
relative path.src/
directory (source), but themain
reference is a better indication that it's actually used (related)npm-package-json-lint
requiring a specific dependency to be present, and for each exception package (the minority of cases), a package-specific.npmpackagejsonlintrc.json
configuration override should disable the lint rule.@wordpress/npm-package-json-lint-config
require-dependencies
only requires that thedependencies
block be present, andno-restricted-dependencies
is the inverse of what we need. We may need to consider contributing an upstream enhancement.cc @greatislander in case it's of interest to you, as you'd done similarly in the past for #13947 with an upstream enhancement at tclindner/npm-package-json-lint#106 .
The text was updated successfully, but these errors were encountered: