I am using TypeScript v1.4.1 and would like to require an external module (in this case \"chai\") and have it be type checked.
However, I am running into some sort o
Use the import keyword with require
instead of var
import chai = require('chai');
And compile with --module commonjs
if you're not already
Or, if for some reason you don't want the test code to be an external module, adding a type annotation will preserve type checking.
var c: typeof chai = require("chai");
Since TypeScript 3.9 Beta was released it's possible to use require
with typing
Example:
const {someValue} = require('fs')
"TypeScript now automatically detects the types of imports you’re using to keep your file’s style clean and consistent."
ref. https://devblogs.microsoft.com/typescript/announcing-typescript-3-9-beta/