Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

调研如何将 WebGAL 用 npm 包分发 #585

Open
MakinoharaShoko opened this issue Nov 7, 2024 · 4 comments
Open

调研如何将 WebGAL 用 npm 包分发 #585

MakinoharaShoko opened this issue Nov 7, 2024 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@MakinoharaShoko
Copy link
Member

每次 WebGAL 升级后,都复制产物到 Terre 太蠢了,必须改变这种情况。
用 npm 包发布将改善这种情况。但是出于调试的需要,复制产物的脚本需要保留。但是可以加到 git ignore 里面。
调试的时候还是用以前的方式,跑脚本打包 WebGAL,复制产物到 Terre
但发布的时候就可以去拉 WebGAL 的 npm 包了,因为 WebGAL 发版早于 Terre,并且这样也可以避免 Terre 项目上出现和 Terre 本身无关的,升级引擎的提交。

@MakinoharaShoko MakinoharaShoko added the enhancement New feature or request label Nov 7, 2024
@MakinoharaShoko MakinoharaShoko self-assigned this Nov 7, 2024
@tinyAdapter
Copy link
Member

考虑一下yarn link?

我之前在开发parser的时候,就用这个命令将本地的WebGAL注册为WebGAL_Terre的依赖来调试。它的实现机理是用软链接覆盖node_modules里的目录。

这样的话,流程就变成

  • 在WebGAL目录编译
  • WebGAL_Terre自动应用本地编译的版本
  • 调试完毕后,几个package正常发布

@MakinoharaShoko
Copy link
Member Author

这里我们主要考虑的是两个问题:
1、编辑器上出现了升级引擎的提交
2、引擎的构建后版本事实上进入了 Terre 源码,这应当是构建时获取的。

因此,对于这两个问题,我想到的解决方案是:
1、将 Terre 的引擎模板部分加入 .gitignore
2、在发布构建阶段,由于调用 postinstall 将 webgal 包里的文件拷贝到正确的位置,所以构建时可以正确拿到 WebGAL 引擎的构建产物。

很显然,在调试阶段我们不可能那样频繁地发包,这时候我们还用 release-to-terre 脚本或 yarn link 解决问题。

@MakinoharaShoko
Copy link
Member Author

或者,我们可以在执行 dev 和 build 脚本的时候,将 webgal 包里的文件拷贝到正确的位置

@tinyAdapter
Copy link
Member

我觉得既然都用GitHub Action了,确实可以考虑直接加一个Action来监测package.json里的version更新,触发自动发布到npm。

(说起来webgal包名似乎被占了,可以考虑用@webgal/前缀,例如@webgal/engine)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants