Skip to content

appKODE/frontend-depend

Repository files navigation

Описание на русском

KODE Frontend ecosystem

This is a collection of configuration files for frontend applications from KODE.

What's inside?

This monorepo includes the following packages:

📦 Packages

🤿 Dive-in

Cool things used in this monorepo:

  • 🏎 Turborepo — High-performance build system for monorepos

  • 🐞 Lefthook — Git hooks manager

  • 📋 Changesets — Managing versioning, publishing and changelogs

  • 🔄 Syncpack — Ensures consistent dependencies and package.json style within packages in monorepo

  • 🛠 GitHub Actions — Running workflows in continuous integration

👨‍💻 Develop

To develop all packages, clone this repo and run the following command:

cd frontend-depend
pnpm dev

🛠️ Build

To build all packages, run the following command:

cd frontend-depend
pnpm build

📦 Making a Pull request

The Changesets tool is used to version and publish packages. If a PR affects the functionality of one of the packages, it must include a changeset.

The changesets file can be generated in two ways:

  1. using the CLI command pnpm changeset add. After entering the command, you will be prompted to select the package in which the change was made, the release type (major, minor, patch) and enter a description of the change.
  2. using changeset bot. In this case, the page with the pull request will display a message with a 'No Changeset' banner and below a link to create a changeset - Click here if you're a maintainer who wants to add a changeset to this PR. Clicking on it generates and opens an md-file for editing. In it you should enter a clear description of the changes made in Russian, as well as add or remove package names (only if the bot has incorrectly identified them).

The change description can consist of any number of lines in md format. Here are a few peculiarities to pay attention to:

  1. only the first line of the description is formatted (a hyphen "-" is added if there was none), the second and subsequent lines will go into CHANGELOG as you write them (the md markup will be preserved)
  2. When adding a new component, you should specify '0.0.0' package version in package.json, specify major ('major') release type in the change set, and be sure to add the phrase 'new package $' in the description. An example is shown below.
---
'@kode-frontend/session-interceptor': major
---

Added new package @kode-frontend/session-interceptor

🚀 Releases

After merging your PR into the main branch, GitHub Action will create a PR with all updated package versions and updated changelogs. If more PRs with additional changelogs are merged, the PR opened by GitHub Action will be updated.

Merging this PR, in addition to updating all changelogs, will trigger a GitHub Action release cycle in which it will publish every package not marked as private.