JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 12064
  • Score
    100M100P100Q128989F
  • License MIT

power-assert instrumentor for TypeScript

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

npm version Node.js Version Support TypeScript Version Support build status Dependency Status monthly downloads License

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