#file-change #productivity #dev-tools #nodemon #file-monitoring

app lightmon

一个轻量级、跨平台、与语言无关的 '文件更改时运行代码' 工具,灵感来源于 Nodemon

3 个不稳定版本

0.2.0 2021年6月5日
0.2.0-alpha.02021年4月20日
0.1.3 2021年4月7日

命令行工具 中排名 2436

每月下载 29

GPL-3.0 许可证

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 runcargo 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许可证

致谢

图标由Freepikwww.flaticon.com制作。

依赖关系

~5–14MB
~152K SLoC