JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2073
  • Score
    100M100P100Q117686F
  • License MIT

Locating midway application locations

Package Exports

  • @midwayjs/locate
  • @midwayjs/locate/dist/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 (@midwayjs/locate) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

midway locate

GitHub license GitHub tag Build Status Test Coverage PRs Welcome

扫描仓库目录结构,找出 midway 的代码位置。

API

import { Locator } from '@midwayjs/locate';

const locator = new Locator();
const result = await locator.run();
console.log(result);

Return

  • result
    • cwd 当前命令执行路径,一般是项目根目录
    • midwayRoot midway 项目根目录,根据 package.json 查找
    • tsCodeRoot typescript 构建时获取的代码根路径,比如 src/controller/a.ts 和 src/controller/b.ts,tsc 构建时,会在 dist 目录中输出 a.js 和 b.js,这个时候根路径为 src/controller
    • tsConfigFilePath tsconfig.json 的路径,从 tsCodeRoot 到 midwayRoot 之间的最接近的 tsconfig 文件
    • tsBuildRoot 根据 tsconfig.json,获取到的构建输出的目录
    • integrationProject: 是否是一体化项目
    • integrationProjectType: 项目类型
    • usingDependencies: 使用的依赖,一体化项目会根据 tsCodeRoot 分析使用的依赖(package.json 的子集),其他项目直接读取 package.json 中的依赖
    • usingDependenciesVersion: 带版本,同上

其他

可以在 package.json 中传入 tsCodeRoottsBuildRoot,但是以 run 的参数为主。

{
  "midway-integration": {
    "tsCodeRoot": "src/apis",
    "tsBuildRoot": "build/faas"
  }
}

支持目录

  • 纯 midway 项目
  • midway + 前端(分目录)
  • midway + 前端(合目录)
  • 纯 midway-faas
  • midway-faas + 前端(分目录)
  • midway-faas + 前端(合目录)

License

MIT