Sync

May 13, 2020 · View on GitHub

version Maintenance MIT dep size Known Vulnerabilities Build Status

SlimIO Synchronize. This tool has been created to help Developer and Integrator to work, download and verify each local SlimIO repositories.

Note: This project can work with any github Organisation (only the psp command is dedicated to SlimIO).

Requirements

Getting Started

This package is not yet available on npm. Currently simple for our team to clone and run a link.

$ git clone https://github.com/SlimIO/Sync.git
$ cd Sync
$ npm ci
$ npm link

Environment Variables

To configure the project you have to register (set) environment variables on your system. These variables can be set in a .env file (that file must be created at the root of the project).

GIT_TOKEN=
GITHUB_ORGA=
NPM_TOKEN=
TOML=true

To known how to get a GIT_TOKEN and NPM_TOKEN or how to register environment variables follow our Governance Guide.

Usage example

$ psync install
# or
$ psync outdated
# or
$ psync psp

To show help just type

$ psync --help

Synchronizing all projects (or some given projects).

The install command has been build to install and sync all SlimIO projects automatically.

To pickup some given project (by their github name):

psync install --pick Scheduler,Addon,Core

If your need is only to clone repositories (which is faster) just add the --noinstall option.

Windows users

Windows Defender must be a problem for the install command. The following script will prevent Windows Defender to scan Node.js or npm commands and binaries...

Write-Host "Excluding appdata NPM folder and Node.JS install folder from Windows Defender."
Add-MpPreference -ExclusionPath ([System.Environment]::ExpandEnvironmentVariables("%APPDATA%\npm\"))
Add-MpPreference -ExclusionPath (Get-ItemProperty "HKLM:SOFTWARE\Node.js" | Select-Object -Property InstallPath)

Write-Host "Excluding node related executables from Windows Defender."
("node", "node.exe", "Expo XDE.exe", "yarn", "yarn.exe") | foreach {Add-MpPreference -ExclusionProcess $_}

Note: powershell script extension is ps1.

API

TBC

Dependencies

NameRefactoringSecurity RiskUsage
@iarna/tomlMinorLowBetter TOML parsing and stringifying all in that familiar JSON interface.
@slimio/async-cli-spinnerMinorLowElegant Asynchronous Terminal (CLI) Spinner
@slimio/lazyMinorLowSetup Lazy evaluation on JavaScript Objects
@slimio/lockMinorLowSemaphore for async/await
@slimio/pretty-jsonMinorLowStdout beautified JSON
@slimio/pspMinorHighSlimIO projects structure policies
cliuiMinorHighCreate complicated column design in the terminal
dotenvMinorLowLoads environment variables from .env
fast-levenshteinMinorLowAn efficient Javascript implementation of the Levenshtein algorithm.
fast-outdatedMinorHighJavascript implementation of npm outdated command
fetch-github-repositoriesMinorLowFetch github repositories
httpieMinorLowA Node.js HTTP client as easy as pie!
isomorphic-gitMinorHighPure Javascript git implementation
kleurMinorLowThe fastest Node.js library for formatting terminal text with ANSI colors
lodash.pickMinorLowPick items in a given Object
make-promises-safe⚠️MajorLowForce Node.js DEP00018
msMinorLowConvert various time formats to milliseconds.
openMinorHighOpen stuff like URLs, files, executables. Cross-platform.
qoaMinorLowMinimal interactive command-line prompts
sadeMinorLowSade is a small but powerful tool for building command-line interface (CLI) applications for Node.js that are fast, responsive, and helpful!
semver⚠️MajorLowSemver parser/utilities for node

License

MIT