Skip to content

fusky-labs/kuro-synk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kuro-synk

A helper utility to check if shared code is outdated

Purpose

The purpose of kuro-synk is to make sure that shared components and utilities are in sync with each other, all without the hastle of manually tracking file(s) from repositories and branches.

The reason for creating this monstrosity is because:

  • While code duplication from across projects is present, there's a select few that have specialized cases that would otherwise increase the complexity of the project
  • To stop wasting time going through repos to find that one thing I need to copy-paste

Why not use submodules/subtrees?

Submodules, if used correctly, are great; some developers loath submodules due to how cumbersome it is. While some of my projects have submodules, I wouldn't heavily rely on it. Worst case scenario is to deal with merge conflicts from a submodule of all things.

Why not publish your stuff to an npm registry?

Yeah, nope. The code I write is just as bad to be publicly be shown from the registry. And even if I had my own private npm registry, I personally don't have time to set it up at this moment, and people would have a hard time contributing if they would rely on my private registry, thus making things unnecessarily difficult.


Call it over-engineering, sure, but honestly, if it keeps productivty at bay, then it works for me. Plus, I dunno what the hell I'm doing sometimes and just come up with a duct tape solutions like this one lol

Setup

Requires at least Python version 3.11; install through venv:

python -m venv venv
pip install -r requirements.txt

...or just rawdog it and run the latter command because you're a rebel! "iT's nOt rEcOmMenDeD tO iNsTaLl pAcKaGEs GlOBaLLy", sybau bro, do what makes you happy, they don't know what fun is.

ANYWAYS, the ksynk.py file holds the validation logic and spits out a log of changes, while schema.py is sole responsible for generating the JSON schema, either running both scripts without a schema will generate them regardless.

How you like them apples?

About

Utility to check for changes in shared code in one of my projects

Resources

Stars

Watchers

Forks

Contributors