Skip to content

Commit 283975d

Browse files
authored
Add native ESM support (#71)
1 parent 1b5b316 commit 283975d

27 files changed

+62
-56
lines changed

package.json

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,21 @@
22
"name": "@wojtekmaj/async-array-utils",
33
"version": "1.7.0",
44
"description": "A collection of array-related async utilities.",
5-
"main": "dist/cjs/index.js",
6-
"module": "dist/esm/index.js",
7-
"source": "src/index.ts",
8-
"types": "dist/cjs/index.d.ts",
5+
"type": "module",
96
"sideEffects": false,
7+
"main": "./dist/cjs/index.js",
8+
"module": "./dist/esm/index.js",
9+
"source": "./src/index.ts",
10+
"types": "./dist/cjs/index.d.ts",
11+
"exports": {
12+
"import": "./dist/esm/index.js",
13+
"require": "./dist/cjs/index.js"
14+
},
1015
"scripts": {
11-
"build": "yarn build-esm && yarn build-cjs",
16+
"build": "yarn build-esm && yarn build-cjs && yarn build-cjs-package",
1217
"build-esm": "tsc --project tsconfig.build.json --outDir dist/esm --module esnext",
1318
"build-cjs": "tsc --project tsconfig.build.json --outDir dist/cjs --module commonjs",
19+
"build-cjs-package": "echo '{\n \"type\": \"commonjs\"\n}' > dist/cjs/package.json",
1420
"clean": "rimraf dist",
1521
"lint": "eslint .",
1622
"postinstall": "husky install",

src/every.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, expect, it, vi } from 'vitest';
2-
import asyncEvery from './every';
2+
import asyncEvery from './every.js';
33

44
import {
55
getTimer,
@@ -8,7 +8,7 @@ import {
88
largerThanOneHundredInRandomTime,
99
makeDelayed,
1010
throws,
11-
} from '../test-utils';
11+
} from '../test-utils.js';
1212

1313
function largerOrEqualThanZero(x: number) {
1414
return x >= 0;

src/every.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import asyncForEach from './forEach';
1+
import asyncForEach from './forEach.js';
22

33
function asyncEvery<T>(
44
arr: T[],

src/every_strict.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, expect, it, vi } from 'vitest';
2-
import asyncEveryStrict from './every_strict';
2+
import asyncEveryStrict from './every_strict.js';
33

44
import {
55
doubleInputArr,
@@ -11,7 +11,7 @@ import {
1111
makePushDuplicate,
1212
makePushDuplicateInRandomTime,
1313
throws,
14-
} from '../test-utils';
14+
} from '../test-utils.js';
1515

1616
function largerOrEqualThanZero(x: number) {
1717
return x >= 0;

src/every_strict.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import asyncForEachStrict from './forEach_strict';
1+
import asyncForEachStrict from './forEach_strict.js';
22

33
function asyncEveryStrict<T>(
44
arr: T[],

src/filter.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, expect, it, vi } from 'vitest';
2-
import asyncFilter from './filter';
2+
import asyncFilter from './filter.js';
33

44
import {
55
getTimer,
@@ -8,7 +8,7 @@ import {
88
largerThanTwoInRandomTime,
99
makeDelayed,
1010
throws,
11-
} from '../test-utils';
11+
} from '../test-utils.js';
1212

1313
describe('asyncFilter()', () => {
1414
it('example from README works as described', async () => {

src/filter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import asyncForEach from './forEach';
1+
import asyncForEach from './forEach.js';
22

33
function asyncFilter<T>(
44
arr: T[],

src/filter_strict.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, expect, it, vi } from 'vitest';
2-
import asyncFilterStrict from './filter_strict';
2+
import asyncFilterStrict from './filter_strict.js';
33

44
import {
55
doubleInputArr,
@@ -11,7 +11,7 @@ import {
1111
makePushDuplicate,
1212
makePushDuplicateInRandomTime,
1313
throws,
14-
} from '../test-utils';
14+
} from '../test-utils.js';
1515

1616
describe('asyncFilterStrict()', () => {
1717
it('example from README works as described', async () => {

src/filter_strict.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import asyncForEachStrict from './forEach_strict';
1+
import asyncForEachStrict from './forEach_strict.js';
22

33
function asyncFilterStrict<T>(
44
arr: T[],

src/find.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, expect, it, vi } from 'vitest';
2-
import asyncFind from './find';
2+
import asyncFind from './find.js';
33

44
import {
55
getTimer,
@@ -10,7 +10,7 @@ import {
1010
largerThanTwoInRandomTime,
1111
makeDelayed,
1212
throws,
13-
} from '../test-utils';
13+
} from '../test-utils.js';
1414

1515
const firstElementLargerThanTwo = inputArr.findIndex(largerThanTwo);
1616

0 commit comments

Comments
 (0)