k-g-a / jest-node-exports-resolver

MIT License
25 stars 7 forks source link

Archived

This package is no longer needed since jest 29, so there is no need in active maintenence.

Custom Jest resolver with node exports package entry points support

This package aims to bring node exports package entry points support to Jest, i.e.:

// some.test.js
import { Foo } from 'my-package/submodule';
import { Bar } from '@my-scope/package/submodule';
// ...

This is heavily discussed in the following issue #9771. Several alternatives proposed, such as using enhanced-resolve, writing own resolver based on firebase-jest-testing resolver, using custom resolver written for esfx.

This package is a slightly generalized version of the firebase-jest-testing self-resolver:

Usage

Install:

yarn add jest-node-exports-resolver -D

Add custom resolver jest config option:

// jest.config.js
module.exports = {
    // ...
    resolver: 'jest-node-exports-resolver',
}

Known limitations

Node.js supports two flavours of 'exports':

Only the latter one is supported. Feel free to send a PR with conditions list support.