All services for Blog Environment Group. The monorepo system is powered by Turborepo.
Project | Version | Build Status | Description |
---|---|---|---|
cms | The CMS for Yancey blog with React, Apollo Client, Material-UI and GraphQL. | ||
frontend | The website app for Yancey blog with React, Next.js, styled-components, Apollo Client and GraphQL. | ||
backend | The backend platform for Yancey Official Blog with Node.js, NestJS, MongoDB, GraphQL, JWT and more. | ||
uploader | The Uploader backend powered by Azure Blob. | ||
@repo/utils | Common utils library. | ||
@repo/eslint-config | Common Eslint Config library. | ||
@repo/typescript-config | Common TypeScript Config library. | ||
@repo/graphql-types | Graphql types of backend. |
Installing Node.js and PNPM
We recommend the basic environment is Node.js 20 LTS and PNPM. A better way to manage versions of Node.js is using nvm.
# Installing NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Installing pnpm
npm install -g pnpm
Installing commitizen
BEG Monorepo follows the Angular Team's Commit Message Guidelines, your git commit will be checked by commitlint, please use git cz
instead of git commit
. For this reason, please install commitizen
globally.
To install global dependencies, you can run this command under the project root folder:
pnpm i YOUR_DEPENDENCY -w
To install dependencies for sub projects, enters the sub project directory and execute the command. If install devDependencies
, add -D
at the end.
pnpm i YOUR_DEPENDENCY
To build all apps and packages, you can run this command under the project root folder:
pnpm run build
To build a specific app, you can runthis command under the project root folder:
pnpm run build --filter YOU_APP_NAME
To build a specific package, you can run this command under the project root folder:
pnpm run build --filter @repo/YOU_PACKAGE_NAME
If you want to execute script of package.json
in one project, run pnpm run YOUR_SCRIPT_NAME
under the project folder that you want to operate on.
To generate or update GitHub Actions CI/CD config file easily, you can execute sh bin/workflows.sh
under the project root folder.
BEG Monorepo adopts changesets to manage the version and CHANGELOG.md. If you want to launch a version, execute pnpm run changeset:collection
and follow its instruction. Then execute pnpm run changeset:version
to update package.json
and CHANGELOG.md
.
The main purpose of this repository is to continue to evolve BEG (Blog Environment Group), making it faster and easier to use. Development of BEG happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving BEG.
BEG has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.
Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to BEG.
Please make sure to read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.
BEG Monorepo is licensed under the terms of the MIT licensed.