0.9.2 • Published 5 years ago
di-tooling v0.9.2
@di/tooling
Summary
This package provides yarn helper methods for all applications as well as core to allow for more robust and complex behaviour.
Setup
- Run
yarn add -SE @di/tooling
to add the package to your app. - Run
yarn global add yarn-deduplicate
, this is needed for theautofix
command. - You also need to add the
tools
script to yourpackage.json
:
"scripts": {
...,
"tools": "node ./node_modules/@di/tooling"
}
- You can remove the following scripts from your
package.json
:link:all
,unlink:all
andupgradeDi
- These are replaced with the
linkAll
,unlinkAll
andupgradePackages
command fromm tooling.
Commands
To run simply do yarn tools
and you will be prompted with the commands available to your app.
You can also run a command directly with yarn tools {cmdName}
Common
analyzeDependencies
analyzes the dependencies of your applicationfindDuplicates
detects dependencies which have multiple versions installedcheckVersions
reports the currently installed versions of@di
packagesautofix
this will try to fix issues with youryarn.lock
file, if problems persist contact the core team
Graphviz
If you would like to use the svg graph
option of analyzeDependencies
you need to install graphviz => http://www.graphviz.org/download/
On Windows you also need to adapt the PATH
variable. If you installed graphviz at its default location append the following path to your PATH
variable:
# Adapt the path to match your installed version and location
C:\Program Files (x86)\Graphviz2.38\bin
Note
findDuplicates
can also be run with a param, i.e.yarn tools findDuplicates packageName
this will only report duplicates that containpackageName
.- Running
yarn tools findDuplicates all
will result in a complete report, this will result in a very long list.
App specific
linkStatus
shows you which packages are currently linked and installed from npm.orglinkAll
links all packagesunlinkAll
unlinks all packagesupgradePackages
upgrades all @di packages to the latest version
Important
linkAll
and unlinkAll
require that you have run registerAll
in core beforehand
Core specific
registerAll
registers all packages so they can be linked in your applicationsunregisterAll
unregisters all packages (they can no longer be linked in your applications)