README
pin-latest
Small utility for converting package.json
versions from latest
to the actual latest version.
Quickstart
Install
npm i -g pin-latest
# or
yarn global add pin-latest
# or
npx pin-latest
Given the following package.json
:
{
"name": "example-project",
"dependencies": {
"react": "latest"
}
}
Running pin-latest
will result in the following output:
$ pin-latest .
{
"name": "example-project",
"dependencies": {
"react": "^16.13.1"
}
}
To save changes pass the --write
flag:
$ pin-latest .
package.json updated.
$ cat package.json
{
"name": "example-project",
"dependencies": {
"react": "^16.13.1"
}
}
Usage
$ pin-latest --help
Usage
$ pin-latest <project-directory>
Options
--exact, -t Set the exact version
--write, -w Write changes
--version, -v Version number
--help, -h Displays this message
--debug, -d Enable verbose logging
Exact
The --exact
flag modifies the behavior of the version that is written.
If --exact
is passed, the version will be written without a leading ^
.
Example:
$ pin-latest .
{
"react": "^1.0.0"
}
$ pin-latest --exact .
{
"react": "1.0.0"
}
Write
The --write
flag decides whether or not changes should be written to disk. If --write
is not passed, the modified file is sent to stdout
.
Programmatic Usage
You can also import the main PinLatest
class to use pin-latest programmatically:
// my-script.ts
import PinLatest from 'pin-latest';
(async function() {
await PinLatest({
'.',
exact: false,
debug: false,
write: false
});
}())