@sugarat/ghost
v0.2.1
Published
phantom dependency scanning tool - 幽灵依赖扫描工具
Downloads
337
Maintainers
Readme
@sugarat/ghost
phantom dependency scanning tool - 幽灵依赖扫描工具
Quick Started
npm i -g @sugarat/ghost# default scan "src/**/**"
ghost scanset scan dir or file
ghost scan [target...]
# a directory
ghost scan packages/pkg1/src
# a file
ghost scan src/index.ts
# support glob pattern
ghost scan src/**/** packages/a/**/**set package.json path
# default process.cwd()/package.json
ghost scan src -p <paths...>
ghost scan src -p ./package.json otherDir/package.jsonAdvanced Usage
CLI
Exclude phantom dependency
ghost scan [pattern...] --exclude-pkg [pkgName...]
ghost scan src/index.tsx --exclude-pkg react react-domExclude Scan Files
ghost scan [pattern...] -e [pattern...]
ghost scan [pattern...] --exclude [pattern...]
ghost scan src -e src/index.tsxLocal
npm i @sugarat/ghost
# or
yarn add @sugarat/ghost
# or
pnpm add @sugarat/ghostOption
export interface GhostOptions {
/**
* need exclude pkg pattern
*/
exclude?: ExcludePattern | ExcludePattern[]
/**
* include node lib {fs, path, etc}
* @default false
*/
includeNodeLib?: boolean
/**
* need exclude scan files pattern
*/
excludeFilePattern?: string | string[]
/**
* some alias config like `@components` `@apis` etc
*/
alias?: Record<string, string>
}
declare type ExcludePattern = string | RegExp;
/**
* @param paths target file or directory (support glob pattern)
* @param pkgJsonPath package.json path
*/
declare function findGhost(paths: string | string[], pkgJsonPath: string, options?: GhostOptions): string[];ESM
import { findGhost } from '@sugarat/ghost'
// or
import { findPhantom } from '@sugarat/ghost'CJS
const { findGhost } = require('@sugarat/ghost')Usage
// simple
findGhost('src/**/**','./package.json')
// specific
const phantomDependency = findGhost(
path.join(__dirname, 'src'),
path.join(process.cwd(), 'package.json')
)More Info
ghost --help
ghost scan --helpMore Details See Source Utils
