ripencli 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -23
- package/dist/cli.js +2 -4
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -4,10 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
  
|
|
6
6
|
|
|
7
|
-
|
|
8
7
|

|
|
9
8
|
|
|
10
|
-
|
|
11
9
|
## Features
|
|
12
10
|
|
|
13
11
|
- **Security first** — ripen never executes commands. Everything goes to your clipboard; you review and run it yourself
|
|
@@ -16,7 +14,7 @@
|
|
|
16
14
|
- **Version picker** — choose any specific version from the npm registry, not just latest
|
|
17
15
|
- **Changelog viewer** — see GitHub release notes before you update
|
|
18
16
|
- **npm, pnpm, yarn & bun** — auto-detects your package manager
|
|
19
|
-
- **Global packages** — check global installs across all
|
|
17
|
+
- **Global packages** — check global installs across all\* package managers
|
|
20
18
|
- **Show all packages** — `ripen --all` lists every dependency, not just outdated ones (great for checking changelogs or downgrading)
|
|
21
19
|
- **Self-update** — notifies you when a new version of ripen is available
|
|
22
20
|
- **Major bump warnings** — highlights potentially breaking updates
|
|
@@ -56,18 +54,18 @@ ripen --help
|
|
|
56
54
|
|
|
57
55
|
## Controls
|
|
58
56
|
|
|
59
|
-
| Key
|
|
60
|
-
|
|
|
61
|
-
| `↑ ↓`
|
|
62
|
-
| `PgUp PgDn`
|
|
63
|
-
| `Tab`
|
|
64
|
-
| `← →`
|
|
65
|
-
| `space`
|
|
66
|
-
| `v`
|
|
67
|
-
| `c`
|
|
68
|
-
| `enter`
|
|
69
|
-
| `s`
|
|
70
|
-
| `esc`
|
|
57
|
+
| Key | Action |
|
|
58
|
+
| ----------- | ------------------------------ |
|
|
59
|
+
| `↑ ↓` | Navigate packages |
|
|
60
|
+
| `PgUp PgDn` | Scroll a full page |
|
|
61
|
+
| `Tab` | Jump between groups |
|
|
62
|
+
| `← →` | Collapse / expand scope groups |
|
|
63
|
+
| `space` | Toggle select |
|
|
64
|
+
| `v` | Pick specific version |
|
|
65
|
+
| `c` | View changelog / release notes |
|
|
66
|
+
| `enter` | Copy update command & exit |
|
|
67
|
+
| `s` | Open settings |
|
|
68
|
+
| `esc` | Cancel / go back |
|
|
71
69
|
|
|
72
70
|
## How it works
|
|
73
71
|
|
|
@@ -82,14 +80,14 @@ ripen --help
|
|
|
82
80
|
|
|
83
81
|
Press `s` to open the settings screen. Settings are persisted at `~/.config/ripen/config.json`.
|
|
84
82
|
|
|
85
|
-
| Setting
|
|
86
|
-
|
|
|
87
|
-
| Sort by update frequency
|
|
88
|
-
| Separate dev dependencies
|
|
89
|
-
| Enable scope grouping
|
|
90
|
-
| Show grouped scopes on top
|
|
91
|
-
| Grouped scopes
|
|
92
|
-
| SFW Firewall
|
|
83
|
+
| Setting | Default | Description |
|
|
84
|
+
| -------------------------- | ------- | ---------------------------------------------------------------------------------------------------- |
|
|
85
|
+
| Sort by update frequency | Off | Packages you update often appear at the top |
|
|
86
|
+
| Separate dev dependencies | On | Show dependencies and devDependencies in separate groups |
|
|
87
|
+
| Enable scope grouping | Off | Group scoped packages under their scope prefix |
|
|
88
|
+
| Show grouped scopes on top | Off | Grouped scopes appear before ungrouped packages |
|
|
89
|
+
| Grouped scopes | — | List of scopes to group (e.g. `@heroui`, `@radix-ui`) |
|
|
90
|
+
| SFW Firewall | Off | Prepend `sfw` before every generated command (requires [sfw](https://github.com/nicolo-ribaudo/sfw)) |
|
|
93
91
|
|
|
94
92
|
When using `ripen -g`, all available package managers (npm, pnpm, yarn) are checked in parallel so you see every global package in one place. Bun is not included in global checking because it doesn't provide a JSON output for its outdated command.
|
|
95
93
|
|
package/dist/cli.js
CHANGED
|
@@ -575,8 +575,7 @@ function parseYarnOutdated(raw, global) {
|
|
|
575
575
|
//#region src/executor.ts
|
|
576
576
|
function buildUpdateCommands(manager, packages, global = false, sfwFirewall = false) {
|
|
577
577
|
const commands = [];
|
|
578
|
-
const
|
|
579
|
-
const devDeps = packages.filter((p) => !global && p.type === "devDependencies");
|
|
578
|
+
const localPkgs = packages.filter((p) => !global && p.type !== "global");
|
|
580
579
|
const globalPkgs = packages.filter((p) => global || p.type === "global");
|
|
581
580
|
const makeCmd = (mgr, pkgs, flags) => {
|
|
582
581
|
const pkgArgs = pkgs.map((pkg) => {
|
|
@@ -594,8 +593,7 @@ function buildUpdateCommands(manager, packages, global = false, sfwFirewall = fa
|
|
|
594
593
|
]).join(" ")}`;
|
|
595
594
|
return sfwFirewall ? `sfw ${cmd}` : cmd;
|
|
596
595
|
};
|
|
597
|
-
if (
|
|
598
|
-
if (devDeps.length > 0) commands.push(makeCmd(manager, devDeps, [manager === "bun" ? "-d" : "-D"]));
|
|
596
|
+
if (localPkgs.length > 0) commands.push(makeCmd(manager, localPkgs, []));
|
|
599
597
|
if (globalPkgs.length > 0) {
|
|
600
598
|
const byManager = /* @__PURE__ */ new Map();
|
|
601
599
|
for (const pkg of globalPkgs) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ripencli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Interactive dependency updater for npm, pnpm, yarn, and bun",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -68,8 +68,7 @@
|
|
|
68
68
|
"execa": "9.6.1",
|
|
69
69
|
"ink": "7.0.3",
|
|
70
70
|
"ink-scroll-view": "0.3.7",
|
|
71
|
-
"react": "19.2.6"
|
|
72
|
-
"ripencli": "link:"
|
|
71
|
+
"react": "19.2.6"
|
|
73
72
|
},
|
|
74
73
|
"devDependencies": {
|
|
75
74
|
"@types/node": "24.12.2",
|