Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ganeshkbhat/get-isesm
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
https://github.com/ganeshkbhat/get-isesm
cjs es esm iscjscode isescode js module
Last synced: about 1 month ago
JSON representation
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
- Host: GitHub
- URL: https://github.com/ganeshkbhat/get-isesm
- Owner: ganeshkbhat
- License: mit
- Created: 2022-10-29T04:21:05.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-27T04:13:59.000Z (almost 2 years ago)
- Last Synced: 2024-10-13T11:22:30.481Z (about 1 month ago)
- Topics: cjs, es, esm, iscjscode, isescode, js, module
- Language: JavaScript
- Homepage:
- Size: 668 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# check-esm
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 ScriptFind the demos in the [demos folder](./demos)
---
### INSTALL
```npm install check-esm --save```
---
### USAGE
ESM Module
`import { _isESCode } from "check-esm";`
CommonJS Script/ Module
```
const checkEsm = require("check-esm");`
isESCode("./path/to/file.mjs")
```[Simple Medium blog for usage] (https://medium.com/@ganeshsurfs/exploring-node-js-and-js-checking-is-a-package-is-a-commonjs-script-module-or-a-esm-module-2847c456d93f)
---
### 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-isesm/issues)
# License
[MIT License](./LICENSE)