from "./implementation.ts"
export const version = realVersion;
tsconfig.json:
{
"compilerOptions": {
"declaration": true,
"emitDeclarationOnly": true,
"declarationDir": "lib",
},
"files": ["src/index.ts"]
}
Хочу добиться следующего: чтобы tsc создавал один-единственный файл: lib/index.d.ts.
Но в данном случае из-за того, что index зависит от implementation, он создает два файла: lib/index.d.ts и lib/implementation.d.ts.
При этом в результирующем lib/index.d.ts никаких импортов вовсе нет - ведь value-import-ы отбрасываются при создании типов.
оффтоп, но всё же import {realVersion} from "./implementation.ts" export const version = realVersion; более лаконичный эквивалент export { realVersion as version } from "./implementation.ts"
а вот в моем случае это не подойдет. Хоть код и эквиваленнент, результирующие аннотации типов выдаются другие
а вот тут по-подробнее пожалуйста, т.к. звучит это весьма странно. вообще не очень понятно что и для чего вы делаете и почему хотите получить результат сборки отличный от того что получаете в штатном сценарии - зачем это нужно.
т.е. если в первом случае в index.d.ts будет только одна такая строчка: export declare const version = "2.0.0"; то после использования "лаконечного" варианта он будет уже выглядеть так: export { realVersion as version } from "./implementation.d.ts таким образом завися от implementation.d.ts, который у меня при публикации удаляется
Обсуждают сегодня