react/scripts/shared
Andrew Clark 9b5e0517b4
Remove deprecated wildcard folder mapping (#23256)
* Remove deprecated folder mapping

Node v16 deprecated the use of trailing "/" to define subpath folder
mappings in the "exports" field of package.json.

The recommendation is to explicitly list all our exports. We already do
that for all our public modules. I believe the only reason we have a
wildcard pattern is because our package.json files are also used at
build time (by Rollup) to resolve internal source modules that don't
appear in the final npm artifact.

Changing trailing "/" to "/*" fixes the warnings. See
https://nodejs.org/api/packages.html#subpath-patterns for more info.

Since the wildcard pattern only exists so our build script has access to
internal at build time, I've scoped the wildcard to "/src/*". Because
our public modules are located outside the "src" directory, this means
deep imports of our modules will no longer work: only packages that are
listed in the "exports" field.

The only two affected packages are react-dom and react. We need to be
sure that all our public modules are still reachable. I audited the
exports by comparing the entries to the "files" field in package.json,
which represents a complete list of the files that are included in the
final release artifact.

At some point, we should add an e2e packaging test to prevent
regressions; for now, we should have decent coverage because in CI we
run our Jest test suite against the release artifacts.

* Remove umd from exports

Our expectation is that if you're using the UMD builds, you're not
loading them through a normal module system like require or import.
Instead you're probably copying the files directly or loading them from
a CDN like unpkg.
2022-02-09 11:37:17 -08:00
..
__tests__ [RFC] Codemod invariant -> throw new Error (#22435) 2021-09-30 12:01:28 -07:00
evalToString.js [RFC] Codemod invariant -> throw new Error (#22435) 2021-09-30 12:01:28 -07:00
inlinedHostConfigs.js Remove deprecated wildcard folder mapping (#23256) 2022-02-09 11:37:17 -08:00
listChangedFiles.js Updated scripts and config to replace "master" with "main" branch (#21768) 2021-06-29 14:26:24 -04:00
pathsByLanguageVersion.js Upgrade useSyncExternalStore to alpha channel (#22662) 2021-10-31 15:38:03 -07:00