1.1.0 • Published 11 months ago

@lucyjs/file-scanner v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

@lucyjs/file-scanner

一个用于扫描文件系统的 TypeScript 工具库。

功能特点

  • 支持递归扫描目录
  • 可按文件扩展名过滤
  • 支持忽略特定文件或目录
  • 可选的模块自动导入功能
  • 完整的 TypeScript 类型支持

安装

使用 npm:

npm install @lucyjs/file-scanner

使用 yarn:

yarn add @lucyjs/file-scanner

使用方法

import { FileScanner } from '@lucyjs/file-scanner';

// 创建扫描器实例
const scanner = new FileScanner({
  dirPath: './src',           // 要扫描的目录路径
  recursive: true,            // 是否递归扫描子目录
  extensions: ['.ts', '.js'], // 要扫描的文件扩展名
  ignore: ['node_modules'],   // 要忽略的文件或目录
  autoImport: true           // 是否自动导入扫描到的模块
});

// 执行扫描
const results = await scanner.scan();

// 处理扫描结果
results.forEach(result => {
  console.log('文件路径:', result.path);
  console.log('文件名:', result.name);
  console.log('扩展名:', result.ext);
  if (result.module) {
    console.log('导入的模块:', result.module);
  }
});

API 文档

ScanOptions

扫描器配置选项接口:

参数类型必填默认值说明
dirPathstring-要扫描的目录路径
recursivebooleantrue是否递归扫描子目录
extensionsstring[][]要扫描的文件扩展名列表
ignorestring[][]要忽略的文件或目录路径列表
autoImportbooleantrue是否自动导入扫描到的模块

ScanResult

扫描结果接口:

属性类型说明
pathstring文件的完整路径
namestring文件名(不含扩展名)
extstring文件扩展名
moduleany导入的模块(仅当 autoImport 为 true 时存在)

FileScanner 类

主要的扫描器类,提供以下方法:

constructor(options: ScanOptions)

创建扫描器实例。

async scan(): Promise<ScanResult[]>

执行扫描操作,返回扫描结果数组。

注意事项

  1. 当使用 autoImport 功能时,请确保扫描的文件是可导入的模块格式。
  2. 路径可以是相对路径或绝对路径,内部会自动转换为绝对路径。
  3. 如果 extensions 数组为空,则会扫描所有文件。

许可证

MIT

1.1.0

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago