universal-esm-packages-test

Universal ES Module test

ISC License

Stars
5
Committers
1

universal-esm-packages-test

The goal of this repository is to create a dependency tree with different code paths for Node.js and browsers. It is meant to be used as a test case for build tools / bundlers as well as module CDNs such as Skypack

Usage in node

Install

npm install universal-esm-packages-test

Use

import { test } from "universal-esm-packages-test";

console.log(test());
// { subDependency: 'node', dependency: 'node' }

Usage in browser

const { test } = await import(
  "https://cdn.skypack.dev/universal-esm-packages-test"
);

console.log(test());
// { subDependency: "browser", dependency: "browser" }

How it works

The structure of the module is

universal-esm-packages-test
└─┬ @universal-esm-packages-test/dependency
  └── @universal-esm-packages-test/sub-dependency

Each package is implemented as ES Modules, utilizing Node's ES Modules support (Node 12+ required). The respective package.json files use conditional exports in order to define different code for Node and browser.

Tests

npm test

License

ISC

Related Projects