Как минимизировать и испортить пакет NPM, написанный на Typescript?

Мне нужно опубликовать уменьшенную версию пакета NPM, написанного на Typescript. Чтобы скомпилировать приложение, я использую команду tsc -p ., и она создает пакет в папке lib. Я чувствую, что lib чем-то похож на папку src с точки зрения размера, поскольку в ней есть ненужные папки, подпапки и файлы.

Можно ли уменьшить и преобразовать эту папку lib в один файл index.min.js?

P.S. этот пакет является инструментом командной строки. Есть ли необходимость отправлять определения типов в d.ts файлах? Все, что они содержат, — это просто типы для функций и переменных, используемых в коде.

Спасибо!

введите здесь описание изображения


person Vinay Sharma    schedule 18.12.2020    source источник


Ответы (1)


Чтобы объединить все в один файл, вам нужно установить свойство outFile в свойстве typescript.

{
  "compilerOptions": {
    "outFile": "./lib/index.js"
// more configs here
  },
  "exclude": [
    "node_modules"
  ]
}

Для минимизации вам нужно использовать внешний инструмент, так как Typescript не имеет для этого никаких возможностей и, возможно, никогда не будет, поскольку это открытый запрос с 2014 года

person distante    schedule 18.12.2020
comment
Не будет работать, так как я использую модуль Common JS - person Vinay Sharma; 18.12.2020
comment
Но почему? Если вы хотите, чтобы все было в одном файле, вам не нужно использовать какой-либо модуль. - person distante; 18.12.2020
comment
Во-первых, модуль — это не какой-то пакет, а ключ в tsconfig. Во-вторых, какая связь между окончательным файлом сборки и модулем? Этот модуль используется только для включения операторов импорта/экспорта. - person Vinay Sharma; 19.12.2020