Package Exports
- module-definition
- module-definition/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (module-definition) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
module-definition
Determines the module definition type (CommonJS, AMD, ES6, or none) for a given JavaScript file by walking through the AST.
npm install module-definition
Usage
const getModuleType = require('module-definition');
// Async
getModuleType('myscript.js', (error, type) => {
console.log(type);
});
// Sync
let type = getModuleType.sync('myscript.js');
console.log(type);
// From source (string or an AST)
type = getModuleType.fromSource('define({foo: "foo"});');
console.log(type);
Passes one of the following strings to the given callback or returns the string in sync API:
- amd
- commonjs
- es6
- none
You may also pass an AST to fromSource
to avoid an internal parsing of the source.
When specifying a filename, using the sync or async API, you can also provide an options
object with an alternative fs
implementation used to read the source file with.
const myFs = GetFs();
const options = { fileSystem: myFs };
// Async
getModuleType('myscript.js', (error, type) => {
console.log(type);
}, options);
// Sync
const type = getModuleType.sync('myscript.js', options);
CLI
Assumes a global install module-definition with npm install -g module-definition
module-definition filename