Skip to content

Commit c19b07f

Browse files
authored
Merge pull request #432 from lohfu/full-esm-support
Convert to type "module" and use package exports
2 parents 6f5c321 + 3a42194 commit c19b07f

19 files changed

+66
-82
lines changed

.babelrc.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
module.exports = {
2-
"presets": ["@babel/env"],
3-
"env": {
4-
"esm": {
5-
"presets": [["@babel/env", { "modules": false }]]
6-
}
7-
}
1+
export default {
2+
"presets": [["@babel/env", { "modules": false }]]
83
};

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
language: node_js
22
sudo: false
33
node_js:
4-
- "12.16.1"
4+
- "14.17.0"
55
script:
66
- npm run build
77
- npm run test

package.json

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,23 @@
44
"description": "Javascript Matrix and Vector library for High Performance WebGL apps",
55
"private": true,
66
"sideEffects": false,
7-
"main": "dist/cjs/index.js",
8-
"module": "dist/esm/index.js",
9-
"types": "dist/index.d.ts",
7+
"type": "module",
8+
"main": "./dist/esm/index.js",
9+
"module": "./dist/esm/index.js",
10+
"exports": {
11+
".": "./dist/esm/index.js",
12+
"./common": "./dist/esm/common.js",
13+
"./mat2": "./dist/esm/mat2.js",
14+
"./mat2d": "./dist/esm/mat2d.js",
15+
"./mat3": "./dist/esm/mat3.js",
16+
"./mat4": "./dist/esm/mat4.js",
17+
"./quat": "./dist/esm/quat.js",
18+
"./quat2": "./dist/esm/quat2.js",
19+
"./vec2": "./dist/esm/vec2.js",
20+
"./vec3": "./dist/esm/vec3.js",
21+
"./vec4": "./dist/esm/vec4.js"
22+
},
23+
"types": "./dist/index.d.ts",
1024
"homepage": "http://glmatrix.net",
1125
"license": "MIT",
1226
"bugs": {
@@ -31,26 +45,24 @@
3145
"doc": "jsdoc -c jsdoc.config.json",
3246
"update-license-version": "node utils/update-license-version.js",
3347
"build-umd": "rollup -c",
34-
"build-esm": "cross-env BABEL_ENV=esm babel src -d dist/esm",
35-
"build-cjs": "babel src -d dist/cjs",
48+
"build-esm": "babel src -d dist/esm",
3649
"build-dts": "tsc --allowJs --declaration --emitDeclarationOnly --module amd --outFile ./dist/index.d.ts ./src/index.js ./src/types.d.ts && node ./utils/bundle-dts.js && tsc --noEmit ./dist/index.d.ts",
37-
"build": "del dist && npm run update-license-version && npm run build-umd && npm run build-esm && npm run build-cjs && npm run build-dts && node ./utils/build.js",
50+
"build": "del dist && npm run update-license-version && npm run build-umd && npm run build-esm && npm run build-dts && node ./utils/build.js",
3851
"prepare": "npm run build"
3952
},
4053
"devDependencies": {
4154
"@babel/cli": "^7.8.4",
4255
"@babel/core": "^7.9.0",
4356
"@babel/preset-env": "^7.9.0",
4457
"@babel/register": "^7.9.0",
45-
"cross-env": "^7.0.2",
58+
"@rollup/plugin-babel": "^5.3.0",
4659
"del-cli": "^3.0.0",
4760
"jsdoc": "^3.6.3",
4861
"mocha": "^7.1.1",
4962
"node-libs-browser": "^2.2.1",
50-
"rollup": "^2.3.2",
51-
"rollup-plugin-babel": "^4.4.0",
52-
"rollup-plugin-size-snapshot": "^0.11.0",
53-
"rollup-plugin-terser": "^5.3.0",
63+
"rollup": "^2.50.5",
64+
"rollup-plugin-size-snapshot": "^0.12.0",
65+
"rollup-plugin-terser": "^7.0.2",
5466
"typescript": "^3.8.3"
5567
},
5668
"dependencies": {}

rollup.config.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
import babel from 'rollup-plugin-babel';
1+
import fs from 'fs';
2+
import babel from '@rollup/plugin-babel';
23
import { terser } from 'rollup-plugin-terser';
34
import { sizeSnapshot } from 'rollup-plugin-size-snapshot';
45

5-
const version = require('./package.json').version;
6-
const license = require('./utils/license-template');
6+
import license from './utils/license-template.js';
7+
8+
const { version } = JSON.parse(fs.readFileSync(new URL('./package.json', import.meta.url)));
79

810
const input = './src/index.js';
911
const name = 'glMatrix';

spec/gl-matrix/common-spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as glMatrix from "../../src/common"
1+
import * as glMatrix from "../../src/common.js"
22

33
describe("common", function(){
44
let result;

spec/gl-matrix/mat2-spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as mat2 from "../../src/mat2"
1+
import * as mat2 from "../../src/mat2.js"
22

33
describe("mat2", function() {
44
let out, matA, matB, identity, result;

spec/gl-matrix/mat2d-spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as mat2d from "../../src/mat2d"
1+
import * as mat2d from "../../src/mat2d.js"
22

33
describe("mat2d", function() {
44
let out, matA, matB, oldA, oldB, identity, result;

spec/gl-matrix/mat3-spec.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import * as mat3 from "../../src/mat3"
2-
import * as mat4 from "../../src/mat4"
3-
import * as vec3 from "../../src/vec3"
1+
import * as mat3 from "../../src/mat3.js"
2+
import * as mat4 from "../../src/mat4.js"
3+
import * as vec3 from "../../src/vec3.js"
44

55
describe("mat3", function() {
66
let out, matA, matB, identity, result;

spec/gl-matrix/mat4-spec.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import * as glMatrix from "../../src/common"
2-
import * as mat4 from "../../src/mat4"
3-
import * as quat from "../../src/quat"
4-
import * as vec3 from "../../src/vec3"
1+
import * as glMatrix from "../../src/common.js"
2+
import * as mat4 from "../../src/mat4.js"
3+
import * as quat from "../../src/quat.js"
4+
import * as vec3 from "../../src/vec3.js"
55

66
function buildMat4Tests() {
77
return function() {

spec/gl-matrix/quat-spec.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import * as mat3 from "../../src/mat3"
2-
import * as mat4 from "../../src/mat4"
3-
import * as quat from "../../src/quat"
4-
import * as vec3 from "../../src/vec3"
1+
import * as mat3 from "../../src/mat3.js"
2+
import * as mat4 from "../../src/mat4.js"
3+
import * as quat from "../../src/quat.js"
4+
import * as vec3 from "../../src/vec3.js"
55

66
describe("quat", function() {
77
let out, quatA, quatB, result;

0 commit comments

Comments
 (0)