в остальном это больше бэд прэктис чем нормальная разработка, зачем вам тогда пакеты отдельные?
чтоб использовать их разных проектах, конечно же. Я не заливаю их в npm, а беру напрямую с github'a (в package.json). Без предварительной компиляции в конечном итоге тришейкинг лучше отработает, ну и не нужно писать отдельные тайпинги.