node.js - 自定义语言的包管理器
问题描述
我正在为我们的用例创建一种新的编程语言。我正在寻找一个已经可用的包管理器,我可以重用它来管理我的语言的依赖项。我计划使用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
我一直在探索以下问题的答案。如果您已经做过类似的事情,那将是非常棒且非常有帮助的。
- 可以
npm
与任何其他语言一起使用吗? - 这是个好主意还是坏主意?
npm
平台可能有任何限制吗?- 是否有任何其他专门设计为与语言无关的包管理器?还是我必须建立自己的 PM?
解决方案
经过更多研究,我发现这篇文章 -我可以通过 npm 分发非 javascript 文件吗?
根据条款,似乎不允许将 npm 用于其他不兼容的语言。
与 npm 命令行客户端功能不兼容的包。例如,“包”不能简单地是直接上传到注册表的 PNG 或 JPEG 图像、电影文件或文本文档。不允许将公共登记处用作通用数据库。
推荐阅读
- ios - 如果在之前在 UITextField 上键入之前未“加载”,则 UITableViewCell 中的 UITextView 不会显示
- azure - 查找特定用户集并从 Azure 订阅中删除
- html - 在 CSS 中使用伪元素来分隔段落有什么问题吗?
- google-chrome - SVG 在 Firefox 中首次加载时没有动画
- c# - 如何调试从用 Borland C++Builder 编写的外部 exe 启动的 C# 程序
- ajax - 错误:嵌套异常是 java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonMerge
- reactjs - 无法分配给“状态”,因为它是常量或只读属性
- javascript - Heroku 没有找到我的 index.js,但是我的 index.js 有效地在我的目录中
- sql-server - 无法使用具有只读的 Listerner 地址访问 SQL Server
- javascript - 完整日历如果特定月份没有事件,日历将在下个月自动加载