3 个不稳定版本
0.2.0 | 2021年6月5日 |
---|---|
0.2.0-alpha.0 | 2021年4月20日 |
0.1.3 | 2021年4月7日 |
在 命令行工具 中排名 2436
每月下载 29 次
32KB
589 行
lightmon
一个轻量级、跨平台、与语言无关的 "文件更改时运行代码" 工具,灵感来源于 Nodemon
为什么选择 lightmon 而不是 nodemon?
有很多理由选择 lightmon 而不是 nodemon:它更快、更轻量,并且适用于所有类型的项目。不仅如此,lightmon 还可以替代使用 nodemon
的项目,因为它可以解析现有的 nodemon.json
配置文件。
用法
lightmon
默认情况下,lightmon
将根据您的项目结构自动确定应监视哪些类型的文件。例如,如果目录中存在 node_modules
文件夹,lightmon
将以 node
配置运行,解析您的 package.json
以推断正确的命令。
支持的语言
监视模式是 lightmon 将监视的文件模式,而执行命令是当这些事件发生时执行的一系列命令。
Rust
lightmon rust [cargo_subcommand]? [cargo_subcommand_args]?
监视模式
[Cargo.toml
, .rs
]
执行命令
默认情况下,rust
配置将根据是二进制项目还是库将执行命令设置为 cargo run
或 cargo test
。
但是,您可以通过指定任何有效的 cargo 子命令(及其任何参数)来覆盖此行为。例如,如果您想运行 cargo build --bin my_bin --all-targets
,您可以运行以下命令
lightmon rust build --bin my_bin --all-targets
有关更多信息,请参阅 lightmon help rust
。
Node.js
注意:此配置也适用于 React、React-Native、TypeScript 等,即任何具有 package.json 的项目!
lightmon node
监视模式
文件类型:[.jsx
,.js
,.css
,.html
]
执行命令
如果根目录中存在package.json文件,lightmon将按以下顺序尝试解析exec命令:
scripts.start
中的值。node main
,其中main是package.json中main键的值(项目的入口点)。
注意:如果上述所有尝试都失败,Exec命令将回退到node index.js
。
例如,以下package.json将导致Exec命令解析为react-scripts start
。
{
"name": "calculator",
"main": "index.js",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build"
}
}
C/C++
推断模式和exec命令非常复杂,因此我们建议使用带有自定义脚本的shell模式(见下文)。
Shell(用于不支持的语言或复杂的构建)
lightmon shell -s <path> -w <patterns>
用户可以指定shell脚本的路径以及逗号分隔的文件类型。
例如,假设您有一个Python项目,项目根目录下有一个名为start.py
的文件。每次您编辑项目中的任何.py
文件时,您都希望重新运行python start.py
。为了实现这一点,您可以在run.sh
中创建一个简单的脚本,内容如下:
python start.py
现在,您只需运行以下命令:
lightmon shell -s run.sh -w .py,.ipynb
安装
安装lightmon
有很多方法。我们建议使用我们的安装脚本,因为它是最快的方法。
$ curl -sSL https://raw.githubusercontent.com/reaganmcf/lightmon/master/install.sh | sh
但是,如果您愿意,我们也支持其他流行的包管理器。
cargo
$ cargo install lightmon
Arch AUR
$ yay -S lightmon
许可证
lightmon
使用GNU GPL v3.0许可证。
致谢
依赖关系
~5–14MB
~152K SLoC