# get-imported

> 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

Latest version **0.0.7** (published 2022-12-29) · MIT license · 0 weekly downloads

## Install

```sh
npm install get-imported
pnpm add get-imported
yarn add get-imported
bun add get-imported
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.7 |
| Published | 2022-12-29 |
| First published | 2022-10-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 53.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 4 |
| Author | Ganesh B |
| Maintainers | ganeshkbhat |
| Keywords | require, cache, uncache, uncached, module, fresh, fetch, all, imports, requires, es imports, cjs import, cjs require, mjs import, cjs import, cjs require, js require, fetch imported packages, fetch required packages, require cache, require-cache, get import cache, get imported cache, get require cache, get required cache, get require modules, get required modules, get import modules, get imported modules, imported modules, imported es modules, imported cjs modules, imported esm modules, imported js modules, import module list, required modules, required es modules, required cjs modules, required esm modules, required js modules, required module list, get import cache, get import cache, get import modules, get import modules, get import modules, get imported modules, require modules, require es modules, require cjs modules, require esm modules, require js modules, require module list, import modules, import es modules, import cjs modules, import esm modules, import js modules, import module list, imported packages, import es packages, import cjs packages, import esm packages, import js packages, import packages list, import package list, require package list, require-cache, import-cache, require cache, import cache, esm, cjs, package.json, module, ecmascript, modules, native, modulesnative, modules native, ecmascript modules, ecmascript, modules, check esm, check, esm, find if esm, find file type, module type, type, package type, file type, .mjs, .cjs, .js, js, mjs, js, cjs, script, module, es, es6, commonjs, module, script, file, package, script, is script, is commonjs, is module, is esm, isesm, is-esm, find file type, find if es file type, check if es file type, find if commonjs file type, check if commonjs file type, find file type, check file type, file type, module type, package type, isesm, find-file-type, find-esm, check-esm, is-file-esm, is-esm, check-esm, check-type, check-module-type, check-module-ext, check module ext, check file ext, find-esm, find-type, find-module-type, find-module-ext, find module ext, find file ext |

## Links

- npm: https://www.npmjs.com/package/get-imported
- Repository: https://github.com/ganeshkbhat/get-imports
- Homepage: https://github.com/ganeshkbhat/get-imports#readme
- Issues: https://github.com/ganeshkbhat/get-imports/issues
- npm.io page: https://npm.io/package/get-imported

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 0.0.7 (latest) — 2022-12-29
- 0.0.65-beta — 2022-11-18
- 0.0.64-beta — 2022-11-18
- 0.0.63-beta — 2022-11-18
- 0.0.62 — 2022-11-06
- 0.0.61 — 2022-11-06
- 0.0.6 — 2022-11-06
- 0.0.51 — 2022-11-02
- 0.0.5 — 2022-10-31
- 0.0.4 — 2022-10-30

## README

# get-imported
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](./demos)


# Usage

`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);


```


---


### INSTALL

```npm install get-imported --save```


---


### USAGE


ESM Module

`import { _isESCode } from "get-imported";`


CommonJS Script/ Module

```
const checkEsm = require("get-imported");
isESCode("./path/to/file.mjs")
```


---


### Package APIs


There are other script APIs you may wish to explore that includes the following:

## `.checkModuleImports` 
Check if a module can be imported using `import()`

Usage:

`.checkModuleImports(absPath)`



## `.requiresObject`
Check require.cache list in code - used in your code's process global context.

Usage:

`.requiresObject()`



## `.requireRegex`
Check to see if there are `require()` syntax in code.

Usage:

`.requireRegex(absPath, basePath = "", useProcessCwd = false)`

`.requireRegex(absPath)`



## `.importRegex`
Check to see if there are `import()` syntax in code.

Usage:

`.importRegex(absPath, basePath = "", useProcessCwd = false)`

`.importRegex(absPath)`



## `.importESRegex`
Check to see if there are `import x from ""` syntax in code.

Usage:

`.importESRegex(absPath, basePath = "", useProcessCwd = false)`

`.importESRegex(absPath)`



## `.importRegexExtended`
Check to see if there are `import()` syntax in code.

Usage:

`.importRegexExtended(absPath, basePath = "", useProcessCwd = false)`

`.importRegexExtended(absPath)`



## `.isESMFileExtension`
Check to see if the file has `.mjs`/ `.cjs`/ `.js` extension.

Usage:

`.isESMFileExtension(absPath)`



## `.isNodeCompatibleFileExtension`
Check to see if the file has `.mjs`/ `.cjs`/ `.js` / `.node` / `.wasm` extension.

Usage:

`.isNodeCompatibleFileExtension(absPath)`



## `.isESMCodeBase`
Check to see if the code is ESM Module.

Usage:

`.isESMCodeBase(absPath)`



## `isCJSCodeBase`
Check to see if the code is CommonJS Script or Module.

Usage:

`isCJSCodeBase(absPath)`



## `isModuleInPackageJson`
Checks type key's value in package.json.

Usage:

`getPackageJsonRoot(startdirectory, options)`



## `isESCode`
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

Contributions, Feature Improvements, Bugs, and Issues are invited. [raising an issue](https://github.com/ganeshkbhat/get-imports/issues)


# License

[MIT License](./LICENSE)

---
_Source: https://npm.io/package/get-imported · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
