@postxl/sync
TypeScript icon, indicating that this package has built-in type declarations

2.6.5 • Public • Published

PostXL Sync

PostXL Sync is a utility script that helps you sync changes you make inside a project to the PostXL template in this monorepository. It manages a tracking branch in this monorepo for each active PostXL project and syncs changes to the tracked files from a particular project with the tracking branch.

NOTE: It syncs changes with the tracking branch. The merging of the tracking branch with the main branch of the template is left to the manager of PXLTemplate tool.

NOTE: Because the tool syncs with the tracking branch, we don't have to handle the actual versioning of the template. Tools don't update projects automatically. The person responsible for the project triggers the update and checks its validity when PXLTemplate gets update. Other tools in our stack can help verify that everything works correctly. There is no concept of versioning of the template.

The Flow

Sync takes care of two things:

  • managing the tracking branch and the PR associated with that tracking branch in the main repo,
  • syncing the changes in a project with the monorepo

It does both of these things whenever it runs, usually on every commit to the main branch of a project.

Usage

You should use this package inside a GitHub Action that runs on every commit to the main branch of your project.

Example

name: Sync changes to PostXL template

on:
	push:
		branches:
			- main

jobs:
	sync:
		- name: Checkout Main
			uses: actions/checkout@v3
			with:
          fetch-depth: 0

		- name: Setup Node Environment
			uses: actions/setup-node@v3
			with:
				node-version-file: '.nvmrc'
				cache: 'pnpm'

		- name: Sync
			run: pnpx @postxl/sync
			env:
				# NOTE: This token needs to have permission to access `postxl` repository!
				GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
				GITHUB_REPOSITORY: ${{ github.repository }}
				COMMIT_SHA: ${{ github.sha }}

Dependencies (7)

Dev Dependencies (8)

Package Sidebar

Install

npm i @postxl/sync

Weekly Downloads

4

Version

2.6.5

License

none

Unpacked Size

43.3 kB

Total Files

14

Last publish

Collaborators

  • frozen666
  • peter_postxl