Closed
Description
TypeScript Version:
Version 1.8.9
Code
// A self-contained demonstration of the problem follows...
//in tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"target": "es5"
}
}
// in ../Util/Sanitizer.ts
export class Sanitizer{
sanitize: function(str){/*various string cleanups*/}
}
//in ../Util/Util.ts
import {Sanitizer} from "./Sanitizer/Sanitizer";
export default {
Sanitizer: Sanitizer
};
//in App.ts
import * as Util from "../Util/Util.ts";
Util.Sanitizer.sanitize("String");
Expected behavior:
//In App.js
var Util = require("../Util/Util.js");
Util.Sanitizer.sanitize("String");
Actual behavior:
//INVALID output for app code.
var Util = require("../Util/Util.ts");
Util.Sanitizer.sanitize("String");
Alternatives were tried
Without success. Doing
//in ../Util/Util.ts
export = {
Sanitizer: Sanitizer
};
Yields
Module "project/path/to/Util/Util.ts" resolves to a non-module entity and cannot be imported using this construct.
When running tsc project/path/to/App.ts