Skip to content

Commit

Permalink
use default export for better compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
mourner committed Jun 28, 2024
1 parent d9cce24 commit b14311c
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 14 deletions.
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,21 +88,24 @@ Returns the relative difference between the total area of triangles and the area

#### Install

NPM and Browserify:
Install with NPM: `npm install earcut`, then import as a module:

```bash
npm install earcut
```js
import earcut from 'earcut';
```

Browser builds on CDN:
Or use as a module directly in the browser with [jsDelivr](https://www.jsdelivr.com/esm):

- [development build](https://unpkg.com/[email protected]/dist/earcut.dev.js)
- [minified production build](https://unpkg.com/[email protected]/dist/earcut.min.js)
```html
<script type="module">
import earcut from 'https://cdn.jsdelivr.net/npm/earcut/+esm';
</script>
```

Running tests:
Alternatively, there's a UMD browser bundle with an `earcut` global variable (exposing the main function as `earcut.default`):

```bash
npm test
```html
<script src="https://cdn.jsdelivr.net/npm/earcut/dist/earcut.min.js"></script>
```

![](https://cloud.githubusercontent.com/assets/25395/5778431/e8ec0c10-9da3-11e4-8d4e-a2ced6a7d2b7.png)
Expand Down
2 changes: 0 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
"main": "src/earcut.js",
"type": "module",
"exports": "./src/earcut.js",
"unpkg": "dist/earcut.min.js",
"jsdelivr": "dist/earcut.min.js",
"files": [
"src/earcut.js",
"dist/earcut.min.js",
Expand Down
1 change: 1 addition & 0 deletions rollup.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ const config = (file, plugins) => ({
input: 'src/earcut.js',
output: {
name: 'earcut',
exports: 'named',
format: 'umd',
indent: false,
file
Expand Down
2 changes: 1 addition & 1 deletion src/earcut.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

export function earcut(data, holeIndices, dim = 2) {
export default function earcut(data, holeIndices, dim = 2) {

const hasHoles = holeIndices && holeIndices.length;
const outerLen = hasHoles ? holeIndices[0] * dim : data.length;
Expand Down
2 changes: 1 addition & 1 deletion test/test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

import test from 'node:test';
import assert from 'node:assert/strict';
import {earcut, flatten, deviation} from '../src/earcut.js';
import earcut, {flatten, deviation} from '../src/earcut.js';
import fs from 'fs';

const expected = JSON.parse(fs.readFileSync(new URL('expected.json', import.meta.url)));
Expand Down
2 changes: 1 addition & 1 deletion viz/viz.js

Large diffs are not rendered by default.

0 comments on commit b14311c

Please sign in to comment.