@sugarat/ghost
TypeScript icon, indicating that this package has built-in type declarations

0.2.1 • Public • Published

@sugarat/ghost

phantom dependency scanning tool - 幽灵依赖扫描工具

图片

Quick Started

npm i -g @sugarat/ghost
# default scan "src/**/**"
ghost scan

set 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.json

图片

Advanced Usage

CLI

Exclude phantom dependency

ghost scan [pattern...] --exclude-pkg [pkgName...]

ghost scan src/index.tsx --exclude-pkg react react-dom

图片

Exclude Scan Files

ghost scan [pattern...] -e [pattern...]
ghost scan [pattern...] --exclude [pattern...]

ghost scan src -e src/index.tsx

图片

Local

npm i @sugarat/ghost
# or
yarn add @sugarat/ghost
# or
pnpm add @sugarat/ghost

Option

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 --help

More Details See Source Utils

Package Sidebar

Install

npm i @sugarat/ghost

Weekly Downloads

2

Version

0.2.1

License

MIT

Unpacked Size

44.5 kB

Total Files

9

Last publish

Collaborators

  • atqq