Separate internal/external definitions?
Opened this issue · 1 comments
altano commented
Hello,
knockout.d.ts defines both an ambient internal module as well as an ambient external module. This sucks because your entire solution will then assume that "ko" is a global variable, even if you intent to use Knockout as a CommonJS package via NPM rather than inject it as a script tag.
Would you be okay with my splitting knockout.d.ts into two separate files? The proposal is to change:
knockout.d.ts:
// <Common definitions here>
declare module "knockout" {
export = ko;
}
declare var ko: KnockoutStatic;
to:
knockout.internal-module.d.ts:
// <Common definitions here>
declare var ko: KnockoutStatic;
and knockout.external-module.d.ts:
// <Common definitions here>
declare module "knockout" {
var ko: KnockoutStatic;
export = ko;
}
Thoughts?
altano commented
Optionally we can leave knockout.d.ts alone and just create knockout-external.d.ts or something.