https://github.com/gr2m/universal-esm-packages-test
Universal ES Module test
https://github.com/gr2m/universal-esm-packages-test
Last synced: 9 months ago
JSON representation
Universal ES Module test
- Host: GitHub
- URL: https://github.com/gr2m/universal-esm-packages-test
- Owner: gr2m
- License: isc
- Created: 2021-04-02T00:56:43.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-04-02T00:56:59.000Z (over 5 years ago)
- Last Synced: 2025-04-21T03:25:53.286Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 4.88 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README
# 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](https://www.skypack.dev/)
## Usage in node
Install
```
npm install universal-esm-packages-test
```
Use
```js
import { test } from "universal-esm-packages-test";
console.log(test());
// { subDependency: 'node', dependency: 'node' }
```
## Usage in browser
```js
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](https://nodejs.org/api/esm.html) (Node 12+ required). The respective `package.json` files use [conditional exports](https://nodejs.org/api/packages.html#packages_conditional_exports) in order to define different code for Node and browser.
## Tests
```
npm test
```
## License
[ISC](license.md)