Given the following folder structure:
src/
├── foo.ts
├── bar.ts
├── baz.ts
├── index.ts
Where foo.ts
, bar.ts
, and baz.ts
each export a default class or thing: i.e. in the case of foo.ts
:
export default class Foo {
x = 2;
}
Can we automatically generate a declaration file which declares one module my-module
and exports foo.ts
, bar.ts
, and baz.ts
as non-defaults?
I.e. I want tsc
to generate the following:
build/
├── foo.js
├── bar.js
├── baz.js
├── index.js
├── index.d.ts
Where index.d.ts
contains:
declare module 'my-module' {
export class Foo {
...
}
export class Bar {
...
}
export class Baz {
...
}
}
I see that mostly all NPM modules have a declaration file like this and maybe with separate files.
How would I accomplish this?
.d.ts
file per.js
file will work fine for being able to find type information, though a flattened.d.ts
file may be easier for users to understand and may make it easier to hide elements that you don't consider public API. – Otherdirected