Skip to content

Commit 55f7948

Browse files
committed
Adding support for esm.
1 parent 21e169b commit 55f7948

21 files changed

+68
-16
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
*.js
22
node_modules
3+
mjs
4+
cjs

Makefile

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
clean:
2+
@rm -Rf cjs mjs test/*.js
3+
4+
build-cjs:
5+
@rm -Rf cjs
6+
@npx tsc -m commonjs -d --sourceMap --outDir cjs
7+
@echo '{"type":"commonjs"}' > cjs/package.json
8+
9+
build-mjs:
10+
@rm -Rf mjs
11+
@npx tsc -d --sourceMap --outDir mjs
12+
13+
build-test:
14+
@npx tsc -m commonjs -p test/tsconfig.json
15+
16+
build: build-cjs build-mjs build-test
17+
18+
rebuild: clean build
19+
20+
test: rebuild
21+
@npx jest
22+
23+
update:
24+
@npx npm-check --update --save-exact
25+
26+
postversion:
27+
@git push
28+
@git push --tags
29+
@npm publish
30+
31+
.PHONY: test

bench/ours.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as RbTree from '../rb-tree.js'
1+
import * as RbTree from '../cjs/rb-tree.js'
22
const t = RbTree.of(RbTree.Cmp.numbers, (_: number) => _)
33
const before = Date.now()
44
for (let i = 0; i < 1_000; i++) {

package.json

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
"version": "0.0.2",
44
"description": "Red-black tree module.",
55
"type": "module",
6-
"main": "index.js",
6+
"main": "./cjs/index.js",
77
"directories": {
88
"test": "test"
99
},
1010
"scripts": {
11-
"test": "tsc && NODE_OPTIONS=--experimental-vm-modules jest",
12-
"update": "npx npm-check --update --save-exact"
11+
"test": "make test",
12+
"preversion": "make test",
13+
"postversion": "make postversion"
1314
},
1415
"keywords": [
1516
"prelude",
@@ -24,14 +25,28 @@
2425
"author": "Mirek Rusin (https://github.com/mirek)",
2526
"license": "MIT",
2627
"devDependencies": {
27-
"@prelude/array": "2.0.0",
28+
"@prelude/array": "2.1.0",
2829
"@tsconfig/node16": "1.0.2",
29-
"@types/jest": "27.0.1",
30-
"eslint": "7.32.0",
31-
"jest": "27.2.0",
32-
"typescript": "4.4.3"
30+
"@types/jest": "27.0.2",
31+
"eslint": "8.2.0",
32+
"jest": "27.3.1",
33+
"typescript": "4.4.4"
3334
},
3435
"dependencies": {
35-
"@prelude/cmp": "1.0.0"
36+
"@prelude/cmp": "1.4.3"
37+
},
38+
"module": "./mjs/index.js",
39+
"exports": {
40+
".": {
41+
"import": "./mjs/index.js",
42+
"require": "./cjs/index.js"
43+
},
44+
"./*.js": {
45+
"import": "./mjs/*.js",
46+
"require": "./cjs/*.js"
47+
},
48+
"./*": {
49+
"require": "./cjs/*.js"
50+
}
3651
}
3752
}

bag.ts renamed to src/bag.ts

File renamed without changes.
File renamed without changes.
File renamed without changes.

delete.ts renamed to src/delete.ts

File renamed without changes.

insert.ts renamed to src/insert.ts

File renamed without changes.

map.ts renamed to src/map.ts

File renamed without changes.

0 commit comments

Comments
 (0)