Диспетчер пакетов для настраиваемого языка - PullRequest
0 голосов
/ 04 августа 2020

Я создаю новый язык программирования c для наших вариантов использования. И я ищу уже доступный менеджер пакетов, который я могу повторно использовать для управления зависимостями моего языка. Я планирую использовать npm в качестве диспетчера пакетов, потому что он довольно популярен и прост в использовании.

Например, пакет, содержащий новый язык, может выглядеть так:

pkgA/
 helloworld.me # my language
 package.json

И с установленными зависимостями:

pkgA/
  node_modules/
    pkgB/
      hithere.me
      package.json
  helloworld.me
  package.json
  package-lock.json

В коде язык и его компилятор будут иметь свой собственный способ разрешения ссылок.

# helloworld.me
> "hello world"

с использованием зависимости

# helloworld.me
import pkgB.hithere

> "hello world"
< hithere

Я искал ответы на следующие вопросы. Было бы здорово и очень полезно, если бы вы уже сделали что-то подобное.

  1. Можно ли npm использовать с любым другим языком?
  2. Это хорошая или плохая идея?
  3. Существуют ли какие-либо ограничения, которые может иметь платформа npm?
  4. Существуют ли какие-либо другие менеджеры пакетов, специально разработанные как языковые агности c? или мне нужно создать свой собственный PM?

1 Ответ

0 голосов
/ 05 августа 2020

После дополнительных исследований я нашел этот пост - Могу ли я распространять файлы, отличные от javascript, через npm?

Исходя из условий, это похоже на использование npm для другие несовместимые языки не допускаются.

Пакеты, которые функционально несовместимы с клиентом командной строки npm. Например, «пакет» не может быть просто изображением PNG или JPEG, файлом mov ie или текстовым документом, загруженным непосредственно в реестр. Использование реестра Publi c в качестве базы данных общего назначения не допускается.

...