hexojs / hexojs/hexo

The proposal of using monorepo

Open
#4,353 20 comments 5 reactions 0 assignees View on GitHub
proposal
Dominant language
TypeScript
Stars
41.8k
Forks
41
PR merge metrics
No merged PRs in 30d

Description

**Why should we use monorepo?**

For example, Hexo is dropping Node.js 8 at this moment. That means every CI config under every repo has to be updated. It is painful.

If we are using monorepo, we could write only one ci config for all packages (run eslint & all unit test cases at once).

Also, with monorepo we could maintain a global `eslintrc` / `mocharc` for all packages.

**What should be included in monorepos**

Only for those repos that are not hexo plugins, which means:

- repos like `hexo-util`, `hexo-i18n`, `hexo-pagination`, `hexo-server`, `hexo-cli`, etc. should be merged into monorepos.
- repos like `hexo-renderer-marked`, `hexo-filter-nofollow`, `hexo-uglify`, etc. should remain separated.

**When should we start**

Right after Hexo 5.0.0 released.

**What monorepo manager should we use?**

lerna.

**Any play ground?**

https://github.com/hexojs/hexo-monorepo

@hexojs/core and owners of @hexojs should have access to the repo.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.