Alia 管理器(JS版本)
  • JavaScript 100%
Find a file
2026-10-05 21:18:30 +08:00
__tests__ 非特化Target 2026-10-05 21:18:30 +08:00
ModSpace 全部采用[模组空间](https://mods.alia.0832.ink) 2026-08-22 21:12:33 +08:00
Optimizer Mods Space&测试&修复 2026-08-11 20:10:05 +08:00
PackageManager 全部采用[模组空间](https://mods.alia.0832.ink) 2026-08-22 21:12:33 +08:00
ProjectManager 非特化Target 2026-10-05 21:18:30 +08:00
.gitignore 初次提交 2026-06-09 16:28:14 +08:00
Config.js 全部采用[模组空间](https://mods.alia.0832.ink) 2026-08-22 21:12:33 +08:00
index.js lang支持不设置&更新build目录&支持build缓存 2026-08-25 18:57:12 +08:00
package-lock.json Manager/Server -> ModSpace/Server 2026-08-14 14:02:20 +08:00
package.json Manager/Server -> ModSpace/Server 2026-08-14 14:02:20 +08:00
README.md Base/ModSpace -> ModSpace 2026-09-04 18:58:55 +08:00

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 Space
  • alia 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 直接指定服务端入口。