как опубликовать потоковую библиотеку со своими типами

Я написал модуль index.js в потоке, который я транспилировал с помощью Babel, поместил в каталог /dist и определил как основной файл в package.json:

{
  "name": "my-lib",
  "version": "0.9.0",
  "description": "...",
  "main": "dist/index.js",
...
}

каталог dist содержит только транспилированный файл.

когда я использую его в другом проекте, импортируя через npm или yarn (yarn add <my-local-path-to-the-module>), я могу импортировать в модули моего проекта, но я теряю исходные определения потока (конечно, Babel их удалил). Как мне связать определения потоков с транспилированным файлом, чтобы модуль и его типы потоков были готовы к использованию?


person Bertuz    schedule 10.10.2020    source источник


Ответы (1)


После создания файлов dist вам необходимо создать связанные файлы объявлений из исходного кода. https://flow.org/en/docs/declarations/

Итак, в конце концов, ваш dist dir будет иметь файловую структуру, например

- dist
    - index.js
    - index.flow.js
    - something.js
    - something.flow.js
    - dir1
        file1.js
        file1.flow.js

Вы можете использовать либо https://github.com/Macil/flow-copy-source или https://github.com/lessmess-dev/gen-flow-files< /а>

person Brianzchen    schedule 10.10.2020
comment
на самом деле это не сработало :( Единственный способ заставить его работать - это ysubg gen-flow-files и заставить прочитать определение в моем .flowconfig вот так [libs] node_modules/<MY-LIB>/dist/index.js.flow - person Bertuz; 12.10.2020