1.0.0 • Published 1 year ago

@diotobtea/velit-sunt v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@diotobtea/velit-sunt

Tool to automatically update dependencies one by one in chronological order. Most dependencies are compatible with other packages from a similar time or pastime. This tool helps to find the latest compatible version of the dependencies and update them.

This tool is intended to simulate the typical updating workflow as it was done regularly.

Installation

Run with npx to find the next recommended dependency to update:

npx @diotobtea/velit-sunt --update --install

or install globally:

# npm
npm install -g @diotobtea/velit-sunt

# yarn
yarn global add @diotobtea/velit-sunt

# pnpm
pnpm add -g @diotobtea/velit-sunt

Usage

Basic usage to find the next recommended dependency to update:

npx @diotobtea/velit-sunt --update --install

Automatically update dependencies one-by-one running tests after each update. Tests are run with the npm test command:

npx @diotobtea/velit-sunt --update --install --auto

You can specify custom install and test commands:

npx @diotobtea/velit-sunt --update --install --auto --install-script "yarn install" --test-script "yarn test"

Get a timeline of the updates in JSON format:

npx @diotobtea/velit-sunt --timeline

To exclude some dependencies from the update, use the --exclude option:

npx @diotobtea/velit-sunt --update --install --exclude react,react-dom

or use the --exclude-file option to exclude dependencies from the file:

npx @diotobtea/velit-sunt --update --install --exclude-file exclude.txt

Requirements

  • Node.js >= 10

How it works

The tool reads the package.json file and finds all dependencies. Then it resolves all the versions from the registry, sorts them by date and finds the latest version of the dependency before finding another. Searching in version groups allows one to spot incompatibility between dependencies. Built-in cache and auto mode allow to update dependencies faster.

Options

Usage: @diotobtea/velit-sunt [options]

Tool to automatically update dependencies one-by-one in the time order

Options:
  -p, --packageFile <file>               Path to package.json file (default: "package.json")
  -u, --update                           Update package.json file with new versions
  -is, --install-script <command>        Install with script (default: "npm install")
  -ts, --test-script <command>           Test command (default: "npm test")
  -i, --install                          Install with script
  -t, --timeline                         Print timeline
  -a, --auto                             Run in auto mode
  -c, --cache                            Cache resolved dependencies
  -ans, --allow-non-semver               Allow non-semver versions (compare with dates then, experimental)
  -cf, --cache-file <file>               Cache file (default: "./.@diotobtea/velit-sunt-cache.json")
  -e, --exclude <dependency>             Exclude dependency from update, separated by comma
  -r, --registry-url <url>               Registry url (default: "https://registry.npmjs.org")
  -x, --exclude-file <file>              Exclude dependencies from file, one per line (default: "")
  -shmn, --stop-if-higher-major-number   Stop if higher major number
  -shmnv, --stop-if-higher-minor-number  Stop if higher minor or major number
  -pi, --print-info                      Print info about the packages
  -h, --help                             display help for command

License

MIT

ES2022gitignorepropcallsliceES8ttyrulesprivatefast-cloneyamlcompare3dECMAScript 5queuetypedtranspilerstripregular expressionseventEmitterredactArrayWeakMaphasOwnPropertybyteresolvedateeventDispatchersubprocessenvironmentpackageexpressgdprflagUint8Arrayreact posepackage.jsonplugincloudformationtyped arraytesterlengthrdsicuajaxJSONObject.keyseslintconfigtoArrayes-abstract_.extendregularelasticacheYAMLArray.prototype.findLastdeleteinstrumentationeslint-pluginECMAScript 2023Function.prototype.nameeffect-tsobjexecutemergeconcatMapes8consoletacithelpersString.prototype.trimgetPrototypeOfMicrosoftwaitclonestringifyarraybuffershamfile cache256awesomesaucefile systemqsaccessor.gitignoregetoptslotcallboundrangeerrorcreateimportform-validationansinameloadbalancinghastestingcryptotypeofglaciersesArray.prototype.flatcommandexpressionsafeamazonprocessupconfigmomentyupenderes2018higher-orderObject.assignservicetraverselistenerssnsdiffjoikarmaenumerablefeednegativekinesistc39xhr$.extenddescriptor__proto__ownjQueryprototypemanipulationsuperagentassertWeakSetES2019formwarninganimationqueueMicrotaskbinagentcall-boundfastcopyespreehookformhttpsjestoptionargsindicatorquerystringhooksestreel10nreworkio-tsdotenvpostcsshashBigUint64Array[[Prototype]]circularES6fixed-widthwritableURLpromisepathveststylingimmutablewhatwgchildcollectiontextUint8ClampedArrayinternal slotserializationflatconvertjasminelanguagees-shimsrequiretransformserializeprefixsyntaxecmascriptpolyfillrmgettertimewritelinthtmltoReversedES2017arraysdebuggerflatMapsettingscompilermatchfindLastIndexjsPushObject.valuesglobalsreusefast-deep-cloneoncemapguidnumbereventss3pnpm9coverageRFC-6455ES5ECMAScript 2017Streamutil.inspectuser-streamstslibes7charsetcjkartECMAScript 2018prunees6removeexecfilespinnerszerosortedprotobuffetchparsergbscheme-validationcomputed-typesTypeScriptcliReflect.getPrototypeOfprogressquotesymboles2015react-hook-formcolordefineinspectidlejsonsetImmediatevpcsqsbyteLengthES2020ECMAScript 2021httpkey parregexpglobalstoragegatewaymonorepoArray.prototype.filterchannelweaksetdirectoryignorethreemrustyleasciies5offsetvisualgestureses-shim APIsortredux-toolkitjshintintrinsicstablecssmanagermkdirsUnderscoregetmoduleCSSreduxargvpropertyobjecturlconsumecloudfrontperformancebannerFloat64ArraylocalimmerschematypanionpropertiesObject.fromEntriesfigletArray.prototype.flattenreversediteratorspawnispreprocessorURLSearchParamspicomatchreadabledefinePropertyES2023accessibilitylockfilefind-upbrowsercallbackbundlingperformantforktypeerrorefficienttransporttypedarraysastinputminimalapiutiltypedarrayInt16Arrayincludespinoclass-validatorReactiveExtensionsemojiramdajavascriptkeyi18nfnmatchatomemitcolorsarktypewalkrmdirtelephoneeveryreact animationspeeddeepcopyworkspace:*validateiconvdeep-cloneeslintpluginrm -rflibphonenumberprettyviewObservablefullwidthtapECMAScript 2015typesrestfulsimpledbrobustcall-bindObjectclassnameextraES2015ArrayBufferESgetOwnPropertyDescriptorObject.isString.prototype.matchAllinternaljsxJSON-SchemarapidequalityUint32ArrayStreamsglobjsdiffinstalles2017sideReactiveXrestwebtrimLeftbufferstoSortedpostcss-plugintapevalidationfolderemrHyBiclientregexstringifierRxJSiamtestasyncnativeimportexportstylesoutputstyleguideclassnamesnpmsetregular expressionframertypeFloat32ArrayisConcatSpreadableawsesfpbrowserlistreducerhelperpositivegraphqlsameValueZeroenvironmentstoolsrouternamesspeceslintfastifybusybindacornendpointextendrecursivefront-endstarterreact-testing-libraryBigInt64ArrayfindLastzxsharedarraybufferInt32Arraydeep-copymovemkdirpstringfast-copyvarsgetintrinsicweakmapdragreadablestreampackageslinkbyteOffsetboundsettermapreducefiltercopymocksource mapbddIteratorsinatraECMAScript 2020curlformatinstallerstyled-componentsmkdiriecodesistanbularraydom-testing-librarytakerandomdayjssymbolsprotouninstallrfc4122appvalueautoscalingassertschromeECMAScript 7utilityfast-deep-copystreamsdirECMAScript 2016pushroute53checkterminalapollodeepelbtoStringTagfpsserverdropparentsassertiona11y.envlook-updeepcloneprotocol-buffersprivate datakey valueargumentframeworkxmlbeanstalkworkerECMAScript 2022full-widthmakedescriptionrequestgrouploadingsharedasterisksStyleSheetfindfunctionbinaryoptimizerebsvaliddomsymlinkscode pointsSymbol.toStringTagreversezodfastcloneswfCSSStyleDeclarationidavatypescriptObject.getPrototypeOfcss-in-jsuuidnodecurriedES2016locationcachevariablesparentcoreidentifiersdeterministicWebSocketoptimisterrormatchesquerywgetcharactersbinarieschineseES3Array.prototype.includesECMAScript 3patchelectronsomeinferencecore-jsescapenegative zerowidthObservablespipecloudsearchformattingregular-expressionfileMapfastforEachArrayBuffer.prototype.sliceincloudwatcheast-asian-widthhardlinksSetcoercibleRegExp#flagsgroupByAsyncIteratortrimEndmockingbrowserslistgenericsmochatermtoolkitdatafromsyntaxerrorlookenvRxspringcolour-0whichdependenciesreact-hooksmake dirfunction.lengthec2rsstypesafecommanderspinnerutilsArray.prototype.flatMapshrinkwraphas-ownfantasy-landcensornodejsES7phonehandlerloggingESnextcharacterObject.entrieslastshebangcontainsformsexecdescriptorssetPrototypeOflogreduce@@toStringTagback-endrouteArrayBuffer#sliceentriesjsdomreacttrimconcatECMAScript 2019dynamodbclassesbufferparserxtermiterateTypedArraybundlerwafflagsomitstructuredClonemodulesrm -frreal-timeconfigurableworkflowflattenjapanesekoreanschemenpmignoreWebSocketsloggermatchAlltddposeRegExp.prototype.flagsjson cachefsdataviewArray.prototype.containsmulti-packagemetadatapyyamlponyfillpureairbnbassignTypeBoxPromisecommand-linefinduppackage managertouchhasOwnes2016unicodefullinvarianttrimRightnopewaapipoint-freetrimStartlruproxymobilewalkingECMAScript 6popmotionInt8ArrayArray.prototype.findLastIndexcloudtrailfunctionstsequaldebugES2018keys0readajvsearchroutingsimple cachefunctionalObject.definePropertyUint16Arraytoobjectdependency managervalueschromiumserializerES2021columnsstreamcolumnshimcollection.es6utilitiesredirectchaitostringtagSymbolruntimeautoprefixercallbind
1.0.0

1 year ago