https://github.com/wulfmann/pin-latest
Small utility for converting `package.json` versions from `latest` to the actual latest version.
https://github.com/wulfmann/pin-latest
cli npm pin pin-latest tool version version-manager
Last synced: 3 months ago
JSON representation
Small utility for converting `package.json` versions from `latest` to the actual latest version.
- Host: GitHub
- URL: https://github.com/wulfmann/pin-latest
- Owner: wulfmann
- Created: 2020-07-09T01:06:40.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-03T10:24:44.000Z (over 3 years ago)
- Last Synced: 2025-09-03T23:41:33.139Z (10 months ago)
- Topics: cli, npm, pin, pin-latest, tool, version, version-manager
- Language: TypeScript
- Homepage: https://github.com/wulfmann/pin-latest
- Size: 180 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# pin-latest
Small utility for converting `package.json` versions from `latest` to the actual latest version.
## Quickstart
Install
```bash
npm i -g pin-latest
# or
yarn global add pin-latest
# or
npx pin-latest
```
Given the following `package.json`:
```json
{
"name": "example-project",
"dependencies": {
"react": "latest"
}
}
```
Running `pin-latest` will result in the following output:
```bash
$ pin-latest .
{
"name": "example-project",
"dependencies": {
"react": "^16.13.1"
}
}
```
To save changes pass the `--write` flag:
```bash
$ pin-latest .
package.json updated.
$ cat package.json
{
"name": "example-project",
"dependencies": {
"react": "^16.13.1"
}
}
```
## Usage
```text
$ pin-latest --help
Usage
$ pin-latest
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:
```bash
$ 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:
```typescript
// my-script.ts
import PinLatest from 'pin-latest';
(async function() {
await PinLatest({
'.',
exact: false,
debug: false,
write: false
});
}())
```