Module to fetch all required and imported modules in Javascript and NodeJS. The module has JS functions to check all imports or required modules and check if the file is a ES Module or a CJS/ JS Module or Script
Find the demos in the demos folder
CommonJS example
File example: demos/parser.imports.regex.js
const parser = require("get-imported");
let example_one = parser._importRegex("./demos/src/parser.imports.regex.js");
let example_two = parser._requiresObject();
let example_three = parser._requireRegex("./demos/src/parser.require.regex.js");
let example_four = parser._importRegexExtended("./demos/src/parser.imports.regex.extended.js");
File example: demos/parser.imports.regex.mjs
import * as parser from "get-imported";
const path = import('path');
const someModuleCJS = import('./parser.demo.require.cache.test.file.cjs');
const someModuleJS = import('./parser.demo.require.cache.test.file.js');
const acorn = import("chai");
let arr = parser._importESRegex("./demos/src/parser.imports.regex.mjs");
console.log(arr);
npm install get-imported --save
ESM Module
import { _isESCode } from "get-imported";
CommonJS Script/ Module
const checkEsm = require("get-imported");
isESCode("./path/to/file.mjs")
There are other script APIs you may wish to explore that includes the following:
Check if a module can be imported using import()
Usage:
.checkModuleImports(absPath)
Check require.cache list in code - used in your code's process global context.
Usage:
.requiresObject()
Check to see if there are require()
syntax in code.
Usage:
.requireRegex(absPath, basePath = "", useProcessCwd = false)
.requireRegex(absPath)
Check to see if there are import()
syntax in code.
Usage:
.importRegex(absPath, basePath = "", useProcessCwd = false)
.importRegex(absPath)
Check to see if there are import x from ""
syntax in code.
Usage:
.importESRegex(absPath, basePath = "", useProcessCwd = false)
.importESRegex(absPath)
Check to see if there are import()
syntax in code.
Usage:
.importRegexExtended(absPath, basePath = "", useProcessCwd = false)
.importRegexExtended(absPath)
Check to see if the file has .mjs
/ .cjs
/ .js
extension.
Usage:
.isESMFileExtension(absPath)
Check to see if the file has .mjs
/ .cjs
/ .js
/ .node
/ .wasm
extension.
Usage:
.isNodeCompatibleFileExtension(absPath)
Check to see if the code is ESM Module.
Usage:
.isESMCodeBase(absPath)
Check to see if the code is CommonJS Script or Module.
Usage:
isCJSCodeBase(absPath)
Checks type key's value in package.json.
Usage:
getPackageJsonRoot(startdirectory, options)
Multiple checks to check if the code is ESM Module (other than package.json type key's value check in package.json).
Usage:
isModuleInPackageJson(absPath, packagejsonPath, returns)
Contributions, Feature Improvements, Bugs, and Issues are invited. raising an issue