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

Remove deprecated wildcard folder mapping #23256

Merged
merged 2 commits into from Feb 9, 2022

Commits on Feb 9, 2022

  1. 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.
    acdlite committed Feb 9, 2022
    Configuration menu
    Copy the full SHA
    67bef4b View commit details
    Browse the repository at this point in the history
  2. 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.
    acdlite committed Feb 9, 2022
    Configuration menu
    Copy the full SHA
    c281dd9 View commit details
    Browse the repository at this point in the history