Package Exports
- espower-typescript
- espower-typescript/guess
- espower-typescript/guess.js
- espower-typescript/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (espower-typescript) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
espower-typescript
power-assert instrumentor for TypeScript
TypeScript versions
espower-typescript v10.x is compatible with TypeScript v2.7+
Usage (zero-config mode)
Install
$ npm install -D espower-typescript power-assert mocha typescript @types/node @types/mocha
Create a test file (intensionally failed)
// test/test.ts
import assert = require('assert');
describe('Array#join', () => {
it('joins all elements into a string with separator', () => {
assert(['a', 'b', 'c'].join(':') === 'a🅱️c:');
});
});
Run test
$ ./node_modules/.bin/mocha --require espower-typescript/guess "test/**/*.ts"
Output
1) Array#join
joins all elements into a string with separator:
AssertionError [ERR_ASSERTION]: # test.ts:6
assert(['a','b','c'].join(':') === 'a🅱️c:')
| | |
["a","b","c"] "a🅱️c" false
CAUTION: don't use import assert from 'assert'
Just use old style import assert = require('assert')
for assert module.
This is limitation.
Configure
If your tests are not in test
directory
You can set test directory in your package.json
{
"name": "your-module",
"description": "Your module",
"version": "0.0.1",
"directories": {
"test": "spec/"
},
...
}
Then, run mocha with --require espower-typescript/guess
$ ./node_modules/.bin/mocha --require espower-typescript/guess "spec/**/*.ts"
Note: 'espower-typescript/guess'
is inspired by intelli-espower-loader
ts-node and tsconfig.json
espower-typescript uses ts-node internally. It loads your tsconfig.json automatically.
Disable type check (transpile only)
Use TS_NODE_TRANSPILE_ONLY
env of ts-node
$ TS_NODE_TRANSPILE_ONLY=1 ./node_modules/.bin/mocha --require espower-typescript/guess "test/**/*.ts"
JSX/React
.tsx
files are supported.
allowJs
If allowJs: true
in your tsconfig.json
, assertions in test/**/*.(js|jsx)
are empowered.
License
- MIT License: Teppei Sato <teppeis@gmail.com>
- Includes yosuke-furukawa/espower-traceur
- Includes azu/espower-babel