npm.io
1.3.8 • Published 2d ago

pattern-collector

Licence
Version
1.3.8
Deps
0
Size
7 kB
Vulns
0
Weekly
0

pattern-collector

A high-performance pattern collector and ESM import statement analyzer for JavaScript.

npm version license

Quick Links:


Overview

pattern-collector is a zero-dependency, lightweight JavaScript library designed to scan file content and collect substrings that match a specified pattern or regular expression.

It serves as a fast and flexible engine, enabling easy parsing, extraction, and static analysis of source files (such as locating ES Module imports, decorators, function declarations, or other syntactic patterns).


Features

  • Zero Dependencies: Light, fast, and secure.
  • Flexible Matching: Collects any patterns by accepting custom global Regular Expressions.
  • ESM Native: Built for modern ES module environments.
  • Versioned Under the Hood: Uses an extensible directory-based versioned core.

Installation

npm install pattern-collector

API Reference

default(options)

The default export is a function that collects all occurrences of a pattern in the given text.

Parameters

An options object containing:

  • fileContent (string): The raw text or code content to search.
  • searchString (RegExp): A regular expression with the global (g) flag to match patterns in the content.
Returns
  • (string[]): An array of matches found. If no matches are found, it returns an empty array.

Usage Example

import patternCollector from 'pattern-collector';

const code = `
import { exec } from "child_process";
import dotenv from 'dotenv';
import express from "express";

const PORT = 3000;
`;

// Extract all import statements
const imports = patternCollector({
  fileContent: code,
  searchString: /import\s+[\s\S]*?\s+from\s+['"][^'"]+['"]/g
});

console.log(imports);
/*
Output:
[
  'import { exec } from "child_process"',
  "import dotenv from 'dotenv'",
  'import express from "express"'
]
*/

License

MIT License. Designed with by KeshavSoft.

Keywords