@iac-factory/git-utility
Overview
While seemingly a double negative, @iac-factory/git-utility
is a commandline tool
that aims to extend git
via a few notable ways:
- Utilities around
npm
+package.json
metadata - Recursive cloning of one or more remotes + submodules
- Interactive cli -- useful for harder-to-remember
rev-parse
commands - Encompasses common command(s) into single executables
- Built with continuous integration top of mind
- Lower level file-system + operating system handling
Usage
Default
/*** ESM Module Wrapper for Common-JS (No Additional Configuration Required) */
import("@iac-factory/ecma");
import { Clone } from "@iac-factory/git-utility";
void ( async () => Clone( "https://github.com/iac-factory/eslint-settings.git" ) )();
Clone to Specific Folder
/*** ESM Module Wrapper for Common-JS */
import("@iac-factory/ecma");
import { Clone } from "@iac-factory/git-utility";
void ( async () => Clone( "https://github.com/iac-factory/eslint-settings.git", "./eslint-settings" ) )();
Custom Branch
/*** ESM Module Wrapper for Common-JS */
import("@iac-factory/ecma");
import { Clone } from "@iac-factory/git-utility";
void ( async () => Clone( "https://github.com/iac-factory/eslint-settings.git", "./eslint-settings", "Development" ) )();
With Additional Debugging
/*** ESM Module Wrapper for Common-JS */
import("@iac-factory/ecma");
import { Clone } from "@iac-factory/git-utility";
void ( async () => Clone( "https://github.com/iac-factory/eslint-settings.git", "./eslint-settings", null, true ) )();
Setup
# --> (1) Clone the repository
# --> (2) Change into the local clone's directory
cd "$(git rev-parse --show-toplevel)" && npm install