Skip to content

Commit 65edb98

Browse files
author
Orta Therox
authored
Merge pull request #126 from microsoft/esm_tests
Adds es modules support and tests
2 parents b5c7b76 + 2ee4347 commit 65edb98

File tree

23 files changed

+228
-1
lines changed

23 files changed

+228
-1
lines changed

.github/workflows/CI.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: CI
2+
3+
on: pull_request
4+
5+
jobs:
6+
ci:
7+
runs-on: ubuntu-latest
8+
9+
strategy:
10+
matrix:
11+
node-version: [10.x, 12.x, 14.x]
12+
13+
steps:
14+
- uses: actions/checkout@v2
15+
16+
- name: Use node version ${{ matrix.node-version }}
17+
uses: actions/setup-node@v1
18+
with:
19+
node-version: ${{ matrix.node-version }}
20+
21+
- name: Setup Testing Infra
22+
run: |
23+
cd test
24+
npm install
25+
26+
- name: "CommonJS Test"
27+
run: |
28+
cd test/cjs
29+
npm run test
30+
31+
- name: "ES Modules Test"
32+
run: |
33+
cd test/esm-node-native
34+
npm run test
35+
if: ${{ matrix.node-version == '14.x' }}
36+
37+
- name: "Validate ES Modules == CommonJS"
38+
run: |
39+
cd test/validateModuleExportsMatchCommonJS
40+
npm run test
41+
if: ${{ matrix.node-version == '14.x' }}
42+
43+
- name: "Rollup Tree-shaking Test"
44+
run: |
45+
cd test/rollup-modules
46+
npm run test
47+
48+
- name: "Webpack Tree-shaking Test"
49+
run: |
50+
cd test/webpack-modules
51+
npm run test
52+
53+
- name: "Snowpack Tree-shaking Test"
54+
run: |
55+
cd test/snowpack-modules
56+
npm run test
57+
if: ${{ matrix.node-version == '14.x' }}

.npmignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
.github
33
bower.json
44
docs
5+
test
6+
.npmrc

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package-lock=false

modules/index.js

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import tslib from '../tslib.js';
2+
const {
3+
__extends,
4+
__assign,
5+
__rest,
6+
__decorate,
7+
__param,
8+
__metadata,
9+
__awaiter,
10+
__generator,
11+
__exportStar,
12+
__createBinding,
13+
__values,
14+
__read,
15+
__spread,
16+
__spreadArrays,
17+
__await,
18+
__asyncGenerator,
19+
__asyncDelegator,
20+
__asyncValues,
21+
__makeTemplateObject,
22+
__importStar,
23+
__importDefault,
24+
__classPrivateFieldGet,
25+
__classPrivateFieldSet,
26+
} = tslib;
27+
export {
28+
__extends,
29+
__assign,
30+
__rest,
31+
__decorate,
32+
__param,
33+
__metadata,
34+
__awaiter,
35+
__generator,
36+
__exportStar,
37+
__createBinding,
38+
__values,
39+
__read,
40+
__spread,
41+
__spreadArrays,
42+
__await,
43+
__asyncGenerator,
44+
__asyncDelegator,
45+
__asyncValues,
46+
__makeTemplateObject,
47+
__importStar,
48+
__importDefault,
49+
__classPrivateFieldGet,
50+
__classPrivateFieldSet,
51+
};

modules/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"type": "module"
3+
}

package.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,12 @@
2525
"module": "tslib.es6.js",
2626
"jsnext:main": "tslib.es6.js",
2727
"typings": "tslib.d.ts",
28-
"sideEffects": false
28+
"sideEffects": false,
29+
"exports": {
30+
".": {
31+
"import": "./modules/index.js",
32+
"default": "./tslib.js"
33+
},
34+
"./": "./"
35+
}
2936
}

test/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
package-lock.json
2+
*/build

test/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
### Tests
2+
3+
Each folder has a `test` script which imports `tslib` via node_modules.
4+
In order to run these tests, you first need to run `npm install` in this folder.

test/cjs/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
const tslib = require("tslib");
2+
if (typeof tslib.__awaiter !== "function") throw new Error("Missing expected helper __awaiter");

test/cjs/package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"private": true,
3+
"scripts": {
4+
"test": "node index.js"
5+
}
6+
}

0 commit comments

Comments
 (0)