原子常见
一个轻量级的Node.js通用库提供文件系统 traversal 帮助器和运行时环境探测器.
安装
npm install @appthreat/atom-common
# or
yarn add @appthreat/atom-common
使用量
import { getAllFiles, detectJava, detectRuby } from "@appthreat/atom-common";
// 1. Recursively get all .js files in a directory
const jsFiles = getAllFiles("./src", ".js");
console.log(jsFiles);
// 2. Check if runtimes are available
if (detectJava()) {
console.log("Java is installed!");
}
if (detectRuby("3.4.x")) {
console.log("Ruby 3.4.x is installed!");
}
API 参考
文件系统公用事业
getAllFiles(dir, extn, ...args)
递归扫描带有特定扩展名的文件目录. 它会自动忽略 node_modules,点文件(隐藏文件),以及配置中定义的特定目录.
- 目录
(string): 开始扫描的根目录. - 扩展
(string):要查找的文件扩展名(例如,.js, (中文(简体) ),.ts) (中文(简体) ). - 忽略( node 模块)
(boolean)默认为true。 。 。 .
回返情况: 一系列文件路径 .
运行时间检测工具
这些函数催生出一个子进程来检查版本旗. 他们回来了 true 如果找到运行时间并成功退出, 否则 false。 。 。 .
detectJava(): 检查java。 。 。 .detectPhp(): 检查php。 。 。 .detectScala(): 检查scala。 。 。 .detectScalac(): 检查斯卡拉编译器scalac。 。 。 .detectRuby(versionNeeded): 检查ruby。 。 。 .- 需要的版本 (可选):一个字符串(例如,
"3.4.7", (中文(简体) ),"3.4.x", (中文(简体) ),"4.0.x") (中文(简体) ). 如果提供,则验证已安装的版本匹配 .
- 需要的版本 (可选):一个字符串(例如,
配置
您可以使用环境变量来配置公用事业的行为 .
文件忽略
| 变量 | 说明 | 默认 |
|---|---|---|
ASTGEN_IGNORE_DIRS | 扫描时要忽略目录名称的 CSV 串 . | venv, docs, e2e, cypress, node_modules (和其他情况) |
ASTGEN_IGNORE_FILE_PATTERN | 文件忽略的 Regex 字符串 . | (three|\.d)\.(js|ts|jsx|tsx)$ |
自定义二进制路径
如果您的二进制不在全局系统 PATH 中, 您可以覆盖用于检测的命令 :
| 变量 | 说明 | 默认 |
|---|---|---|
JAVA_CMD | 运行 Java 的命令 | java |
PHP_CMD | 运行 PHP 的命令 | php |
RUBY_CMD | 运行 Ruby 的命令 | ruby |
SCALA_CMD | 运行 Scala 的命令 | scala |
SCALAC_CMD | 运行 Scalac 的命令 | scalac |
许可证
麻省理工学院