esm-strike
v1.0.5
Published
is a powerful tool for scanning JavaScript and TypeScript files
Downloads
705
Readme
esm-strike
esm-strike is a powerful tool for scanning JavaScript and TypeScript files. It can detect specific directives like "use export" in the first line of files, and optionally import those files automatically.
This package is perfect for developers who want to automate scanning and manage special files with advanced settings.
Installation
npm install esm-strike
# or
yarn add esm-strike
# or
pnpm add esm-strikeUsage
import { escan } from "esm-strike";
(async () => {
const matched = await scanFiles({
rootDir: "./src", // root directory to scan
directive: "use export", // directive to search for
extensions: [".js", ".mjs"], // file extensions to scan
maxLines: 10, // only check first 10 lines
autoImport: true, // auto-import matched files
safeImport: true, // safe import without crashing
logging: "verbose", // "silent" | "normal" | "verbose"
priorityFiles: ["./src/bot.js"],
});
console.log("Matched Files:", matched);
})();Options
| Option | Type | Default | Description | | |
| ------------ | ---------- | ----------------- | ------------------------------------ | ---------- | ------------- |
| rootDir | string | - | Root directory to scan files | | |
| directive | string | "use export" | Directive to search for | | |
| extensions | string[] | [".js", ".mjs"] | File extensions to scan | | |
| maxLines | number | 10 | Max number of top lines to check | | |
| autoImport | boolean | false | Whether to auto-import matched files | | |
| safeImport | boolean | true | Import safely with error handling | | |
| logging | "silent" | "normal" | "verbose" | "normal" | Logging level |
Features
- Detects directives in the first line of files
- Safe and optional automatic import of matched files
- Advanced logging options
- Configurable extensions and root directory
- TypeScript ready and ESM friendly
Output Example
Verbose Mode:
FOUND: src/bull/queue.mjs
FOUND: src/utils/helpers.mjs
TOTAL FILES: 42
MATCHED FILES: 2JSON Mode:
[
{
"file": "src/bull/queue.mjs",
"directive": "use export"
},
{
"file": "src/utils/helpers.mjs",
"directive": "use export"
}
]Future Plans
- Automatic patching of files
- CLI support for terminal usage
- Advanced scanning for large multi-package projects
Made with ❤️ for developers who want advanced control over their JS/ESM files.
