vitalets / tinkoff-invest-api

Node.js SDK для работы с Tinkoff Invest API
45 stars 11 forks source link

Type Exports #2

Closed BusinessDuck closed 2 years ago

BusinessDuck commented 2 years ago

Необходимо пробросить типы экспортируемых сущностей из корня. С помощью package.json поля exports сделать такой контракт

import { CandleInterval } from 'tinkoff-invest-api/types';

В качестве альтернативы, можно сделать index.ts с пробросом экспортов из генерируемых и внутренних файлов протокола API v2, реализация не принципиальна главная задача победить такие импорты

import { CandleInterval } from 'tinkoff-invest-api/dist/generated/marketdata';
vitalets commented 2 years ago

В целом согласен. По неймингу - tinkoff-invest-api/types не совсем корректно, там не только типы, но и сгенерированные реализации. Предлагаю tinkoff-invest-api/proto.

vitalets commented 2 years ago

А может не собирать все в один index.ts, а просто делать так:

import { CandleInterval } from 'tinkoff-invest-api/proto/marketdata';
// vs
import { CandleInterval } from 'tinkoff-invest-api/proto';

Просто если реэкспортить все из одной точке, то придется всегда ее вручную синкать с фактически сгенерёнными файлами. Плюс подключаются всегда все файлы: если какой-то модуль например в апи не используется, он все равно будет подключаться. Что скажешь?

BusinessDuck commented 2 years ago

главное чтобы работало, выглядит ок, посмотрим отработает ли ресолвер пакетов ноды, в любом случае выглядит лучше чем руками добавлять

vitalets commented 2 years ago

главное чтобы работало, выглядит ок, посмотрим отработает ли ресолвер пакетов ноды, в любом случае выглядит лучше чем руками добавлять

А у тебя VSCode? У меня он автоматом эти импорты добавляет.

BusinessDuck commented 2 years ago

главное чтобы работало, выглядит ок, посмотрим отработает ли ресолвер пакетов ноды, в любом случае выглядит лучше чем руками добавлять

А у тебя VSCode? У меня он автоматом эти импорты добавляет.

VScode да, он норм работает, а вот ресолвер в роллапе не может найти, хз почему, думаю если экспорты прописать то заработает нормально

vitalets commented 2 years ago

VScode да, он норм работает, а вот ресолвер в роллапе не может найти, хз почему, думаю если экспорты прописать то заработает нормально

А дай шаги, как мне проверить? debut-js/core собрать?

BusinessDuck commented 2 years ago

VScode да, он норм работает, а вот ресолвер в роллапе не может найти, хз почему, думаю если экспорты прописать то заработает нормально

А дай шаги, как мне проверить? debut-js/core собрать?

не совсем, нужно еще слинковать с основной библиотекой, ты сделай и выкати с фиксами пакет вот так npm version prerelease --preid=beta он скрыто опубликуется и я смогу выкачать и проверить как оно работает

BusinessDuck commented 2 years ago

VScode да, он норм работает, а вот ресолвер в роллапе не может найти, хз почему, думаю если экспорты прописать то заработает нормально

А дай шаги, как мне проверить? debut-js/core собрать?

не совсем, нужно еще слинковать с основной библиотекой, ты сделай и выкати с фиксами пакет вот так npm version prerelease --preid=beta он скрыто опубликуется и я смогу выкачать и проверить как оно работает

я тебе во втором треде описал. если что в ЛС заходи я более подробно распишу

BusinessDuck commented 2 years ago

решение и обсуждение перемещено в #1