From baa77400786d1697fde92f4ccc09cc744ae4235b Mon Sep 17 00:00:00 2001 From: pilotpirxie <10637666+pilotpirxie@users.noreply.github.com> Date: Sat, 12 Aug 2023 01:12:18 +0200 Subject: [PATCH] Update readme and add diagram --- README.md | 11 ++++++++++- img/diagram.png | Bin 0 -> 33538 bytes 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 img/diagram.png diff --git a/README.md b/README.md index 637a803..613f172 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -
+
Clocks
@@ -61,6 +61,15 @@ npx dependency-time-machine --update --install --exclude-file exclude.txt ## Requirements - Node.js >= 14 +## How it works +Tool reads `package.json` file and finds all dependencies. Then it resolves all the versions, sort them by date and +finds the latest version of the next dependency before finding another. Searching in version groups allows to spot +incompatibility between dependencies. Built-in cache and auto mode allows to update dependencies faster. + +
+ Diagram +
+ ## Options ```shell Usage: dependency-time-machine [options] diff --git a/img/diagram.png b/img/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..8a2f680be9a40ef5a4b6afefa89de517b3747ffc GIT binary patch literal 33538 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
    <}pXJH1_;mK0Vz$pEGEAI zje2&3uw5(oy=vrqd$}{NW#iTZorzUTy2{TS1a+d}j@^zp5|Kf}Zv{yA)y!sRVBVBM zYb##J#HrI5E#l{E+dMWqo-X%~555e*6TVw)F4L98wuVGrZ(dzG^j>)IlZ;);LkzQG z$uudb6gOuE3iK?ye(h=duizeNuN5{6-T{b7-&Z2hC>6eeG%(-Cq*F7r2Yr=fxGRlY z97%ji@6O$J;((t;Cqgif|G+jn$SVd}_T-{uJ|$EE8p&YaK0<#KvXz4>4|sg=gN6hf zvCjbVO%-lLLt;AVbo#Y9s>(y?0!iV$+bV!T7gJnPxM%v6_^N~+$jy9*Q+H#R$w6cf z)*V%zzF-QNfZZOK7TaO{4wSGyCBiGW0rg3xDH`R$(EZnQyH>o`<}gZ6q-z|d_xz6$ z3W-p9>EeqNn3ucNy$mLmb*m~B~WkcvZV5ND3rWAwKT)qrwBb`hb;`D%FBv3nTsJ~(X3Jy$6kW)z=9!|HDYCUgm62E{;sx~6cF5{K$1 z9f9h(Llv{lXVhH{+@RH$n#1#f3@;o&2l`^ZX_Oo${^r@)a(eY*K-ZJC`Zx2&3M+wM zjKBGRRfY5XCg{X*x`{dr`%J4Skuckmv!ypy+?8??erE&Hs3@p+IcN!27>j-*vN0t} z==UM5Y{UTlWY%rRv#_2Fl8V(KL=MLk(%mv{bs~#tZ>pOBCy{{62)Y7L>)xecfo4t5 z5Ii$Ku~vh5dUi15$I5^9{+WQ`7x5U^sx?` ztxTK}K_yBtDO_&nD*QO`CMkiH${|WEWD2AwUAPt?>%1QYT2g=HD+p_BJ6d?MayNGln! z1UMZOmXG}i*Je%zIdA$WDx-Qgeh^P?N=?q#vW8dDa$T5Gu^e3}Q9DlvO_Q-&)7rzl z>E4PRhoZ}>R$vkZ+n0FAwU?>;FU<7mrQzU`yT9C$9xLzixQg??Idb0!mPNGs80pqIy(^qNWT* z^sw=cybTzA*P$ou@nFb~5ODx@+R$r8@RHx-L6ul(6#qW>wS$9{DK_m0k zr!e20`Ia|tc___(ttwJYa3XCeFSQ$t>rW*$+Z=rsUavVr1jYrpD{5%T4 zT~1KDf34pkxh%J6R(xj(>n$3o9x&)x__6ybf8X;z#l7aKK*MtBpkL^E?`9`(&3ROx zKjQEE|EEltG)vw}cal!7-@?Xr zmHSz`bJ%Qas2&*_KU l0ZSZk=vnW8orQD$0)xzM@Gs50A%TEnm%BIRz8fRy{{Z&c7c&3= literal 0 HcmV?d00001