Skip to content

Retrieve list of files ignored/included by Git, npm, Yarn and VSC Extension.

License

Notifications You must be signed in to change notification settings

Mopsgamer/view-ignored

Repository files navigation

view-ignored

npm version Downloads

Retrieve list of files ignored/included by Git, NPM, Yarn and VSC Extension.

Highlights

  • Multi-target. Get list of included files, using configuration files reader, not command-line wrapper.
  • Use in browser. view-ignored supports file system adapter.
  • Command-line. Supports no-color and multiple output styles, including nerd fonts.
  • Plugins. view-ignored allows you to add new targets programmatically. Command-line interface supports plugins throught --plugin option.

Install

npm i view-ignored

Usage

Command-line

# get started
npm i -g view-ignored
viewig --help
view-ignored --help

# scan: git (default) and npm
viewig scan .
viewig scan . --target=npm
viewig scan . --parsable

# scan: plugins (space, comma or pipe separated)
viewig scan . --plugins="vign-p-tsx, vign-p-jsdoc"
viewig scan . --plugins="vign-p-tsx vign-p-jsdoc"
viewig scan . --plugins vign-p-tsx vign-p-jsdoc
viewig scan . --plugins vign-p-tsx, vign-p-jsdoc

# config: print configuration entries
viewig config get
viewig config get --real
# config: set npm as default target and scan for npm
viewig config set target=npm
viewig scan .
# config: always use nerdfonts
viewig config set style=tree
# config: always use nerdfonts
viewig config set decor=nerdfonts
# config: always use plugins
viewig config set plugins=typescript-viewig,eslint-vign-plugin

Programmatically

import * as vign from "view-ignored";
import * as vign from "view-ignored/out/src/browser"; // for web environment apps

const fileInfoList = await vign.scanProject("git");
const fileInfo = await vign.scanFile("./path/to/file", "git");

// options available
const fileInfoList = await vign.scanProject("git", { cwd, ... });

// use results
if (fileInfo.ignored) {
    superCodeEditor.explorer.colorFile(fileInfo.filePath, "gray");
}

Sorting

const sorter = vign.Sorting.firstFolders;
const fileInfoList = await vign.scanProject("npm");
const fileInfoSorted = fileInfoList.map(String).sort(sorter);
const sorter = vign.Sorting.modified;
const fileInfoList = await vign.scanProject("npm");

const cache = new Map<string, number>(fileInfoList.map(String).map(
    filePath => [filePath, fs.statSync(filePath).mtime.getTime()])
);
const lookedSorted = fileInfoList.sort((a, b) => sorter(a.toString(), b.toString(), cache));

Targets

  • git
  • npm (can be usable for PNPM and Bun)
  • yarn
  • vsce
  • jsr planned
  • deno planned