Alexander Zeitler
Alexander Zeitler

Reputation: 13089

using assert with ts-node in mocha test

I created a mocha test in a test.ts

import * as assert from "assert";

describe('it', () => {
  it('should ', done => {
    assert.strictEqual(true, false);
    done();
  });
});

My package.jsons devDependencies:

"devDependencies": {
    "@types/mocha": "^5.2.5",
    "@types/node": "^10.12.18",
    "mocha": "^5.2.0",
    "ts-node": "^8.0.1",
    "typescript": "^3.2.4"
  }

tsconfig.json:

{
  "compilerOptions": {
    "target": "es2015",
    "module": "commonjs",
    "sourceMap": true,
    "declaration": true,
    "outDir": "./dist",
    "strict": true,
    "types": ["mocha"]
  }
}

When running ts-node, I get this error:

error TS2307: Cannot find module 'assert'.

My commandline call is this:

./node_modules/mocha/bin/mocha -r ts-node/register test/test.ts

Regular tsc throws no errors.

Upvotes: 6

Views: 5090

Answers (1)

Alexander Zeitler
Alexander Zeitler

Reputation: 13089

Solved it via this issue comment on GitHub:

types in tsconfig.json needs to include node:

{
  "compilerOptions": {
    "target": "es2015",
    "module": "commonjs",
    "sourceMap": true,
    "declaration": true,
    "outDir": "./dist",
    "strict": true,
    "types": ["mocha", "node"]
  }
}

Upvotes: 6

Related Questions