Alia 管理器(JS版本)
- JavaScript 100%
| __tests__ | ||
| ModSpace | ||
| Optimizer | ||
| PackageManager | ||
| ProjectManager | ||
| .gitignore | ||
| Config.js | ||
| index.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
CmdAlia(JS)
Alia command-line tool and package manager.
Installation
npm install -g .
Usage
alia <command> [options]
Commands
项目管理
alia build: 编译 Alia 项目到build/<lang>/(目标语言:CLI--lang:<value>>config.json的compiler.lang> 默认js;两者均未声明时打印提示)。构建保留既有产物与缓存,仅覆盖编译输出alia run: 编译并运行 Alia 项目(目标语言解析规则同build;js/nodejs用node,rs用cargo run;--lang:<value>覆盖目标语言)alia clean: 清理构建产物与缓存(默认删除整个build/;--lang:<value>仅清理对应语言目录)alia create <name>: 在./<name>/创建标准 Alia 项目骨架(支持--version:、--description:、--author:、--license:、--force:true等参数)alia init [name]: 在当前目录初始化标准 Alia 项目(省略name时取目录名;参数同create)alia start: 以解释模式启动 Alia 项目(执行main.alia)alia check: 检查 Alia 源码(静态类型检查,存在错误时退出码为 1)alia format: 格式化 Alia 源码
项目依赖
alia add <package>: 添加包到项目依赖(下载到mods/)alia remove <package>: 移除项目依赖alia update: 更新全部包到最新版本
全局包
alia install <package>: 从 Alia Mods Space 全局安装包alia uninstall <package>: 卸载全局安装的包
Mods Space
alia space <url>: 设置 Alia Mods Space URL(持久化到~/.alia/config.json)alia login: 登录 Alia Mods Spacealia logout: 退出登录alia publish: 发布项目到 Alia Mods Space
Project Structure
一个标准 Alia 项目应包含:
config.json: 项目配置(name、version、dependencies、compiler)mods/: 已安装模块目录(命名为packageName@version/)lib.alia: 库 API 入口main.alia: 运行入口.gitignore: 忽略build/与mods/(alia create/init自动生成,含注释)
以上结构可通过 alia create <name> 或 alia init 一键生成。
config.json 示例:
{
"name": "my-app",
"version": "1.0.0",
"compiler": {
"outDir": "build"
}
}
compiler.lang 为可选的默认目标语言;未声明时每次构建回退到 js 并打印提示。构建产物按语言隔离输出至 build/<lang>/(如 build/js/、build/rs/)。
Mods Space 服务端
Alia Mods Space 服务端(ModServer)为独立项目(https://git.0832.ink/Alia/ModSpace.git),部署指南见该仓库 README.md。本仓库测试启动真实服务端,按 MODSPACE_SERVER_PATH、../../ModSpace/server、../../../ModSpace/server(与 Base 同级检出)顺序查找服务端入口。
Development
运行测试前,先准备 ModServer 依赖(与 Base 同级检出):
git clone https://git.0832.ink/Alia/ModSpace.git ModSpace
cd ModSpace/server && npm install
cd ../Base/Manager
npm test
也可用 MODSPACE_SERVER_PATH=/path/to/ModSpace/server/index.js npm test 直接指定服务端入口。