docker-YApi icon indicating copy to clipboard operation
docker-YApi copied to clipboard

支持docker-compose直接挂载插件包

Open cabbage89 opened this issue 3 years ago • 2 comments

当前插件必须上架到yarn商店才能安装,yarn本身是支持 yarn add file:<localpath> 安装的, 增加判断用于兼容

volumes: 
      - /home/xxxxxx/yapi-plugin-hello-master:/yapi/vendors/node_modules/yapi-plugin-hello

cabbage89 avatar Sep 15 '21 01:09 cabbage89

这个目前是支持的吧,不需要这么改,本来这个就剔除了本地存在的不通过yarn安装:

        .filter(
          (packageName) =>
            !fs.existsSync(`/yapi/vendors/node_modules/${packageName}`),
        )

那既然这样,你通过 config 配置的并且通过 volume 映射进去的本地插件就不会被覆盖。

因为 node 查找包时并不会检查 package.json 有没有,因此只需映射进去就行,不需要安装。

fjc0k avatar Sep 15 '21 07:09 fjc0k

我的锅,仔细想了下,这个PR是有必要的。

  • 1、本地插件也有依赖,映射进来时可能并没有 node_modules;
  • 2、插件其实是在构建时打包进去的。

fjc0k avatar Sep 15 '21 07:09 fjc0k