lerna源码学习

node原生方法和属性

  • fs.statSync / fs.lstatSync
  • fs.accessSync(path)
  • fs.realpathSync() // 根据相对路径,返回绝对路径(如果是软链接,会一直寻到最终路径)
  • fs.toRealPath() // 调用生成真实路径,判断是否存在
  • Module._nodeModulePaths(path) // 返回path各层级的node_modules路径数组
  • Module._resolveFilename(filename) // 返回文件的真实路径
  • NativeModule.canBeRequiredByUsers(request) // 是否是内置模块
  • Module._resolveLookupPaths(request, parent) // 返回一个数组,当前模块可能存在的所有路径,将当前模块文件路径各层级的node_modules目录数组和node环境变量中的node_modules数组合并,这是一个有顺序的数组,离path最近的一层目录为首位
  • process.cwd() // 当前进程运行目录

第三方

  • import-local //查询是否是本地的包
  • pkg-dir // 查找当前文件或者目录层级最近的package.json
  • find-up
  • path-exists
  • locate-path
  • resolve-cwd