Coder Social home page Coder Social logo

linzhe-tools's Introduction

linzhe-tools Logo

linzhe-tools

npm version npm downloads bundle JSDocs

🚀 基于 vue3 并使用 monorepo 实现一些简单的组件

Important

该库旨在用于学习 monorepo,并且是一项正在进行的工作。 预计未来版本中会有重大变化。

📢 手动发布流程

本项目使用changeset进行管理变更集和 npm 的发布

  1. pnpm build

    进行打包,如果只是修改了 play 和 docs 包,则可跳过改命令,因为 play 和 docs 的 package.json 中的 private 为 true,并且也不需要发布出去

  2. pnpm changeset

    生成总体变更集信息, 排除了 play 和 docs 包

  3. pnpm vp

    根据这次变更集为对应的模块补充 CHANGELOG.md,并更新 version 版本

  4. git一系列操作

    推送到 github 上,至少要提交

  5. pnpm release

    发布到 npm 上,并创建几个(具体就是几个修改的对应要发布到 npm 上的包)git tag,所以在 release 前一定要先 commit,否则 tag 就会和 package 的 version 对不上,如果只是修改了 play 和 docs 包,则可跳过改命令,此外在发布时 workspace:*之类的 会进行自动转换

可以进行多次的 pnpm changeset,当觉得可以发版的时候,再进行 pnpm vp,这样这一个版本的内容就会比较“丰富”,release 也比较好看

🚧 TODO

  • 要是在 play 包进行测试的话,每次更新任意一个库的代码,都要进行打包(麻烦,但暂时没有找到其他方案,除非不打包,但不打包 npm 就要发布源码,徒增下载体积)

    通过在 play 设置alias解决,这样 play 中的代码就是源码了,而非打包后的产物

  • docs

    采用vitepress编写文档,并使用 vercel 进行部署

  • playground

    使用@vue/repl集成到 docs-playground

  • eslint、git hooks 等

    个人项目暂不考虑,目前只是简单的使用了 prettier 并结合 vscode 的 prettier 插件,文件自动保存进行 format

  • GitHub Actions publish to npm

    通过 GitHub Actions,进行自动化发布(目前只能说能用,待优化整个流程,比如有一个单独的开发分支,要不触发得很频繁)

    具体流程

    • pnpm changeset (详情见手动发布流程)

    • pnpm vp (详情见手动发布流程)

    • git push orgin main:只有 push 到 main 分支才会触发 github action,上面的两个命令只是为了变更集的收集,当然如果要发布到 npm 上,那么就必须修改版本,也就是 pnpm vp ( changeset version )

linzhe-tools's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.