@dword-design/depcheck
Version:
Check dependencies in your node module
23 lines (20 loc) • 800 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = detectImportDeclaration;
var _extract = require("./extract");
function detectImportDeclaration(node, deps) {
if (node.type !== 'ImportDeclaration' || !node.source || !node.source.value) {
return [];
}
// TypeScript "import type X from 'foo'" and "import type X from 'foo/bar'"- doesn't need to depend on the
// actual module, instead it can rely on `@types/<module>` instead.
const packageName = node.source.value.split('/')[0];
const typesPackageName = `@types/${packageName}`;
if (node.importKind === 'type' && deps.includes(typesPackageName)) {
return [typesPackageName];
}
return (0, _extract.extractInlineWebpack)(node.source.value);
}
module.exports = exports.default;