diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 961ca2a..a9583a8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,18 +11,21 @@ jobs: os: [ubuntu-latest, windows-latest, macos-latest] steps: - - name: checkout - uses: actions/checkout@v1 - with: - fetch-depth: 1 + - name: checkout + uses: actions/checkout@v1 + with: + fetch-depth: 1 - - name: node - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} + - name: node + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} - - name: install - run: yarn + - name: install + run: yarn - - name: test - run: yarn test + - name: test + run: yarn test + + - name: test-cjs + run: yarn test-cjs diff --git a/ava.config.js b/ava.config.js index bd59f81..61cf66b 100644 --- a/ava.config.js +++ b/ava.config.js @@ -1,7 +1,7 @@ export default { files: ['test/*.ts'], extensions: ['ts'], - require: ['ts-node/register'], + require: ['./email.test.ts'], environmentVariables: { NODE_TLS_REJECT_UNAUTHORIZED: '0', }, diff --git a/email.test.ts b/email.test.ts new file mode 100644 index 0000000..598d59e --- /dev/null +++ b/email.test.ts @@ -0,0 +1,7 @@ +require('ts-node/register'); +if (process.title === 'cjs') { + require('./rollup/email.cjs'); + require.cache[require.resolve('./email.ts')] = + require.cache[require.resolve('./rollup/email.cjs')]; + console.log('Testing email.cjs...\n'); +} diff --git a/package.json b/package.json index 7b803b9..fe6ebfc 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,8 @@ "scripts": { "build": "rollup -c rollup.config.ts", "lint": "eslint *.ts \"+(smtp|test)/*.ts\"", - "test": "ava --serial" + "test": "ava --serial", + "test-cjs": "npm run build && npm run test -- --node-arguments='--title=cjs'" }, "license": "MIT" }