D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
proc
/
thread-self
/
root
/
proc
/
self
/
root
/
lib
/
node_modules
/
npm
/
lib
/
utils
/
Filename :
module-name.js
back
Copy
'use strict' var path = require('path') module.exports = moduleName module.exports.test = {} module.exports.test.pathToPackageName = pathToPackageName function pathToPackageName (dir) { if (dir == null) return '' if (dir === '') return '' var name = path.relative(path.resolve(dir, '..'), dir) var scoped = path.relative(path.resolve(dir, '../..'), dir) if (scoped[0] === '@') return scoped.replace(/\\/g, '/') return name.trim() } module.exports.test.isNotEmpty = isNotEmpty function isNotEmpty (str) { return str != null && str !== '' } var unknown = 0 function moduleName (tree) { if (tree.name) { return tree.name } var pkg = tree.package || tree if (isNotEmpty(pkg.name) && typeof pkg.name === 'string') return pkg.name.trim() var pkgName = pathToPackageName(tree.path) if (pkgName !== '') return pkgName if (tree._invalidName != null) return tree._invalidName tree._invalidName = '!invalid#' + (++unknown) return tree._invalidName }