Skip to content

Local node repositories - per package version controlled workflow in Node workspaces

Notifications You must be signed in to change notification settings

asteinarson/blw_lnr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local node repositories
=======================
The scenario this tool deals with is when we have a workspace that sometimes/
often/occasionally want to extend or modify a dependent package, as part of 
the work within the workspace. 

We want to work incrementally, with the package, within the project, without 
continously giving a new version to the package, publishing it, updating 
our dependecy and version list, and reinstalling packages. We want to work 
with version control, step by step, in the dependent module, at the same time 
as we use/consume our modifications in the scope of the workspace. 

When that work settles, when it is tested to the extent it can be, then it is 
time for the version increment, publish and package update cycle, in the work-
space. 

So this tool can temporarily (or for a longer time) convert an NPM package 
dependency to a local version controlled repository (GIT), allow for work 
being done in that repository, while consuming the package exactly the same
way, in workspace code. 

Commands
========
lnr init    
lnr fetch [-l/--local] [-b/--bind] <repository link>
lnr bind [-d/--dev] <package name>
lnr unbind [-o/--old_version] [-p/--package_version] [-v/--expl-version version_number] <package name>
lnr drop [-u/--unbind] <package name>
lnr status [-v/--verbose]

lnr install [-f/--fetch_only]   # This both fetches all repos and binds them into package.json:s.

Directory and state files
=========================
Local repositories are imported into the "lnr" directory. 

The state files of this tool are:
  lnr.json         # The list of Node repositories fetched locally and their "bind" state.
  lnr-local.json   # The same as above, but the intention here is to keep this file outside
                   # of the workspace VCS, so that a developer can work with local modules
                   # temporarily, without this being reflexted in others VCS controlled 
                   # work spaces.  

About

Local node repositories - per package version controlled workflow in Node workspaces

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published