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

Add {set_exports} script for {ergo-lib-wasm} #637

Merged
merged 1 commit into from
Oct 6, 2022

Commits on Oct 3, 2022

  1. Add {set_exports} script for {ergo-lib-wasm}

    When {wasm-pack} is run with browser target, it generates a {package.json}
    in which there is a {module} field, but no {main}, {type} or {exports}
    field is present. This causes some of the modern tools which run in Node
    be unable to use the package (Vitest is an example).
    
    Although it may seem irrational to use the browser package in Node, but
    it makes sense when we want to write tests. Many test tools such as Jest
    and Vitest run in Node.
    
    Add a {set_exports} script to be run after {wasm-pack}, updating the
    generated {package.json} as follows:
    - Add an {exports} field to enable new Node entry resolution feature
    - Add {"type": "module"} to indicate that this is an ESM module
    - Remove {module}, as it's no longer needed
    
    {wasm-pack} may fix the issue in the future or new module entry resolution
    mechanisms may be introduced in the future. Until then, this script will
    enable the use of the package without getting browser environment related
    issues when run in Node.
    
    Related {wasm-pack} PR:
    rustwasm/wasm-pack#1061
    mkermani144 committed Oct 3, 2022
    Configuration menu
    Copy the full SHA
    a560d5a View commit details
    Browse the repository at this point in the history