diff --git a/docs/in-depth/testing.md b/docs/in-depth/testing.md index a115e82..85ace6e 100644 --- a/docs/in-depth/testing.md +++ b/docs/in-depth/testing.md @@ -61,7 +61,7 @@ In `package.json`, add a new `test-integration` script and add the new integrati ```json "scripts": { "test": "npm run test-unit && npm run test-integration", - "test-integration": "npm run build && rollup -c rollup.test-integration-config.js && mocha dist/test-integration.bundle.js", + "test-integration": "npm run build && mocha test/integration/**/*.ts", } ``` diff --git a/package.json b/package.json index f93c450..1c5dbd6 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "push-pserver": "rollup -c --environment DEST:pserver", "push-sim": "rollup -c --environment DEST:sim", "test": "npm run test-unit", - "test-unit": "rollup -c rollup.test-unit-config.js && mocha dist/test-unit.bundle.js", + "test-unit": "mocha test/unit/**/*.ts", "test-integration": "echo 'See docs/in-depth/testing.md for instructions on enabling integration tests'", "watch-main": "rollup -cw --environment DEST:main", "watch-pserver": "rollup -cw --environment DEST:pserver", @@ -32,7 +32,6 @@ }, "devDependencies": { "@rollup/plugin-commonjs": "^11.1.0", - "@rollup/plugin-multi-entry": "^3.0.0", "@rollup/plugin-node-resolve": "^7.1.3", "@types/chai": "^4.1.6", "@types/lodash": "3.10.2", @@ -54,14 +53,13 @@ "mocha": "^5.2.0", "prettier": "^2.0.4", "rollup": "^2.6.1", - "rollup-plugin-buble": "^0.19.8", "rollup-plugin-clear": "^2.0.7", - "rollup-plugin-nodent": "^0.2.2", "rollup-plugin-screeps": "^1.0.0", "rollup-plugin-typescript2": "^0.27.0", "sinon": "^6.3.5", "sinon-chai": "^3.2.0", "ts-node": "^8.8.2", + "tsconfig-paths": "^3.9.0", "typescript": "^3.8.3" }, "dependencies": { diff --git a/rollup.test-integration-config.js b/rollup.test-integration-config.js deleted file mode 100644 index 5493f10..0000000 --- a/rollup.test-integration-config.js +++ /dev/null @@ -1,34 +0,0 @@ -"use strict"; - -import clear from 'rollup-plugin-clear'; -import resolve from '@rollup/plugin-node-resolve'; -import commonjs from '@rollup/plugin-commonjs'; -import typescript from 'rollup-plugin-typescript2'; -import buble from 'rollup-plugin-buble'; -import multiEntry from '@rollup/plugin-multi-entry'; -import nodent from 'rollup-plugin-nodent'; - -export default { - input: 'test/integration/**/*.test.ts', - output: { - file: 'dist/test-integration.bundle.js', - name: 'lib', - sourcemap: true, - format: 'iife', - globals: { - chai: 'chai', - it: 'it', - describe: 'describe' - } - }, - external: ['chai', 'it', 'describe'], - plugins: [ - clear({ targets: ["dist/test.bundle.js"] }), - resolve(), - commonjs(), - typescript({tsconfig: "./tsconfig.test-integration.json"}), - nodent(), - multiEntry(), - buble() - ] -} diff --git a/rollup.test-unit-config.js b/rollup.test-unit-config.js deleted file mode 100644 index 4cea680..0000000 --- a/rollup.test-unit-config.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -import clear from 'rollup-plugin-clear'; -import resolve from '@rollup/plugin-node-resolve'; -import commonjs from '@rollup/plugin-commonjs'; -import typescript from 'rollup-plugin-typescript2'; -import buble from 'rollup-plugin-buble'; -import multiEntry from '@rollup/plugin-multi-entry'; - -export default { - input: 'test/unit/**/*.test.ts', - output: { - file: 'dist/test-unit.bundle.js', - name: 'lib', - sourcemap: true, - format: 'iife', - globals: { - chai: 'chai', - it: 'it', - describe: 'describe' - } - }, - external: ['chai', 'it', 'describe'], - plugins: [ - clear({ targets: ["dist/test.bundle.js"] }), - resolve(), - commonjs(), - typescript({tsconfig: "./tsconfig.json"}), - multiEntry(), - buble() - ] -} diff --git a/test/mocha.opts b/test/mocha.opts index c3478c9..d387698 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,5 +1,6 @@ ---require test/setup-node.js +--require test/setup-mocha.js --require ts-node/register +--require tsconfig-paths/register --ui bdd --reporter spec diff --git a/test/setup-node.js b/test/setup-mocha.js similarity index 75% rename from test/setup-node.js rename to test/setup-mocha.js index 1975df8..8d3ac8a 100644 --- a/test/setup-node.js +++ b/test/setup-mocha.js @@ -4,3 +4,6 @@ global.mocha = require('mocha'); global.chai = require('chai'); global.sinon = require('sinon'); global.chai.use(require('sinon-chai')); + +// Override ts-node compiler options +process.env.TS_NODE_PROJECT = 'tsconfig.test.json' diff --git a/tsconfig.test-integration.json b/tsconfig.test-integration.json deleted file mode 100644 index 875a94b..0000000 --- a/tsconfig.test-integration.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "module": "esnext", - "lib": ["esnext"], - "target": "es5", - "moduleResolution": "Node", - "outDir": "dist", - "baseUrl": "src/", - "sourceMap": true, - "strict": true, - "experimentalDecorators": true, - "noImplicitReturns": true, - "noImplicitAny": false, - "allowSyntheticDefaultImports": true, - "allowUnreachableCode": false - }, - "exclude": [ - "node_modules" - ] -} diff --git a/tsconfig.test.json b/tsconfig.test.json new file mode 100644 index 0000000..ea6ca37 --- /dev/null +++ b/tsconfig.test.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "CommonJs" + } +}