karnel-termux 4.11.2 → 4.11.3

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.
@@ -186,67 +186,96 @@ update_karnel() {
186
186
  separator
187
187
  echo
188
188
 
189
- if [[ -d "$KARNEL_PATH/../.git" ]]; then
190
- loading "Updating Karnel-Termux" _update_karnel_repo
191
- local rc=$?
189
+ # Tries every method in order until one succeeds
190
+ _update_try_git && { _update_cleanup; return 0; }
191
+ _update_try_npm && { _update_cleanup; return 0; }
192
+ _update_try_npm_install && { _update_cleanup; return 0; }
193
+ _update_try_pnpm && { _update_cleanup; return 0; }
194
+ _update_try_curl && { _update_cleanup; return 0; }
192
195
 
193
- echo
194
- if [[ $rc -eq 0 ]]; then
195
- log_success "Karnel-Termux updated"
196
- elif [[ $rc -eq 2 ]]; then
197
- log_success "Karnel-Termux is already up to date"
198
- else
199
- log_error "Failed to update via git"
200
- _update_karnel_npm_fallback
201
- fi
196
+ log_error "All update methods failed"
197
+ _update_show_manual
202
198
 
203
- rm -f "$KARNEL_CACHE/new_version" "$KARNEL_CACHE/last_version_check"
204
- elif command -v npm &>/dev/null && npm list -g karnel-termux &>/dev/null 2>&1; then
205
- _update_karnel_npm
206
- elif command -v pnpm &>/dev/null && pnpm list -g karnel-termux &>/dev/null 2>&1; then
207
- _update_karnel_pnpm
208
- else
209
- log_warn "Karnel-Termux installation not detected"
210
- _update_karnel_npm_fallback
211
- fi
199
+ echo
200
+ }
201
+
202
+ _update_cleanup() {
203
+ rm -f "$KARNEL_CACHE/new_version" "$KARNEL_CACHE/last_version_check"
204
+ }
212
205
 
206
+ _update_try_git() {
207
+ [[ -d "$KARNEL_PATH/../.git" ]] || return 1
208
+ loading "Updating via git" _update_karnel_repo
209
+ local rc=$?
213
210
  echo
211
+ if [[ $rc -eq 0 ]]; then
212
+ log_success "Karnel-Termux updated via git"
213
+ source "$KARNEL_PATH/utils/env.sh" 2>/dev/null
214
+ local new_ver="$KARNEL_VERSION"
215
+ log_success "Version: v$new_ver"
216
+ return 0
217
+ elif [[ $rc -eq 2 ]]; then
218
+ log_success "Karnel-Termux is already up to date"
219
+ return 0
220
+ fi
221
+ log_error "Git update failed"
222
+ return 1
214
223
  }
215
224
 
216
- _update_karnel_npm() {
217
- log_info "Updating via npm..."
218
- if npm update -g karnel-termux 2>&1; then
225
+ _update_try_npm() {
226
+ command -v npm &>/dev/null || return 1
227
+ log_info "Trying npm update..."
228
+ if npm update -g karnel-termux 2>/dev/null; then
219
229
  local new_ver
220
230
  new_ver=$(npm list -g karnel-termux 2>/dev/null | grep karnel-termux | grep -oP '@\K[0-9.]+' || echo "latest")
221
- log_success "Karnel-Termux updated to $new_ver"
222
- else
223
- log_error "npm update failed"
224
- log_info "Try: npm install -g karnel-termux@latest"
231
+ log_success "Updated to v$new_ver via npm"
232
+ return 0
225
233
  fi
234
+ log_info "npm update not available, trying npm install..."
235
+ return 1
226
236
  }
227
237
 
228
- _update_karnel_pnpm() {
229
- log_info "Updating via pnpm..."
230
- if pnpm update -g karnel-termux 2>&1; then
231
- log_success "Karnel-Termux updated via pnpm"
232
- else
233
- log_error "pnpm update failed"
234
- _update_karnel_npm_fallback
238
+ _update_try_npm_install() {
239
+ command -v npm &>/dev/null || return 1
240
+ log_info "Trying npm install..."
241
+ if npm install -g karnel-termux@latest 2>/dev/null; then
242
+ local new_ver
243
+ new_ver=$(npm list -g karnel-termux 2>/dev/null | grep karnel-termux | grep -oP '@\K[0-9.]+' || echo "latest")
244
+ log_success "Updated to v$new_ver via npm install"
245
+ return 0
235
246
  fi
247
+ return 1
236
248
  }
237
249
 
238
- _update_karnel_npm_fallback() {
239
- log_info "Trying npm update as fallback..."
240
- if command -v npm &>/dev/null; then
241
- npm update -g karnel-termux 2>&1 || {
242
- log_info "Try manually:"
243
- echo " npm install -g karnel-termux@latest"
244
- echo " curl -fsSL https://raw.githubusercontent.com/israelmarques1024-dotcom/karnel-termux/main/install.sh | bash"
245
- }
246
- else
247
- log_info "Reinstall via curl:"
248
- echo " bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/israelmarques1024-dotcom/karnel-termux/main/install.sh)\""
250
+ _update_try_pnpm() {
251
+ command -v pnpm &>/dev/null || return 1
252
+ log_info "Trying pnpm..."
253
+ if pnpm add -g karnel-termux@latest 2>/dev/null; then
254
+ log_success "Updated via pnpm"
255
+ return 0
249
256
  fi
257
+ return 1
258
+ }
259
+
260
+ _update_try_curl() {
261
+ command -v curl &>/dev/null || return 1
262
+ log_info "Trying curl reinstall..."
263
+ local tmp_install
264
+ tmp_install=$(mktemp)
265
+ if curl -fsSL "https://raw.githubusercontent.com/israelmarques1024-dotcom/karnel-termux/main/install.sh" -o "$tmp_install" 2>/dev/null; then
266
+ bash "$tmp_install" 2>/dev/null && { rm -f "$tmp_install"; log_success "Updated via curl"; return 0; }
267
+ fi
268
+ rm -f "$tmp_install"
269
+ return 1
270
+ }
271
+
272
+ _update_show_manual() {
273
+ log_info "Update manually with one of these:"
274
+ echo
275
+ echo " npm install -g karnel-termux@latest"
276
+ echo " pnpm add -g karnel-termux@latest"
277
+ echo " bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/israelmarques1024-dotcom/karnel-termux/main/install.sh)\""
278
+ echo
250
279
  }
251
280
 
252
281
  _update_karnel_repo() {
@@ -9,61 +9,26 @@ upgrade_main() {
9
9
  separator
10
10
  echo
11
11
 
12
- local karnel_root
13
- karnel_root="$(cd "$KARNEL_PATH/.." && pwd 2>/dev/null || echo "")"
12
+ import "@/cli/commands/update"
13
+ update_karnel
14
14
 
15
- if [[ -d "$karnel_root/.git" ]]; then
16
- _upgrade_from_git "$karnel_root"
17
- elif command -v npm &>/dev/null && npm list -g karnel-termux &>/dev/null 2>&1; then
18
- _upgrade_from_npm
19
- elif command -v pnpm &>/dev/null && pnpm list -g karnel-termux &>/dev/null 2>&1; then
20
- _upgrade_from_pnpm
21
- else
22
- log_warn "Cannot detect installation method"
23
- log_info "Reinstall via:"
24
- list_item "npm: npm install -g karnel-termux@latest"
25
- list_item "curl: bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/israelmarques1024-dotcom/karnel-termux/main/install.sh)\""
26
- fi
27
- }
28
-
29
- _upgrade_from_git() {
30
- local karnel_root="$1"
31
- log_info "Upgrading from git..."
32
- if ! git -C "$karnel_root" pull origin main 2>/dev/null; then
33
- log_warn "Git pull failed — check internet connection"
34
- return 1
35
- fi
36
-
37
- log_success "Repository updated"
38
15
  source "$KARNEL_PATH/utils/env.sh" 2>/dev/null
39
- log_success "Karnel v$KARNEL_VERSION"
16
+ log_success "Karnel upgraded to v$KARNEL_VERSION"
40
17
 
41
- if [[ ! -L "$PREFIX/bin/karnel" ]] || [[ "$(readlink "$PREFIX/bin/karnel")" != "$KARNEL_PATH/bin/karnel" ]]; then
42
- ln -sf "$KARNEL_PATH/bin/karnel" "$PREFIX/bin/karnel"
43
- log_success "Symlink updated"
44
- fi
18
+ _upgrade_fix_symlink
45
19
 
46
20
  echo
47
- log_success "Karnel upgraded! Run 'karnel doctor' to verify."
21
+ log_info "Running cleanup..."
22
+ import "@/cli/commands/cleanup"
23
+ cleanup_main
24
+ echo
25
+ log_success "Karnel is up to date (v$KARNEL_VERSION)"
48
26
  echo
49
27
  }
50
28
 
51
- _upgrade_from_npm() {
52
- log_info "Upgrading via npm..."
53
- if npm install -g karnel-termux@latest 2>&1; then
54
- local new_ver
55
- new_ver=$(npm list -g karnel-termux 2>/dev/null | grep karnel-termux | grep -oP '@\K[0-9.]+')
56
- log_success "Karnel upgraded to v$new_ver"
57
- else
58
- log_error "npm upgrade failed"
59
- fi
60
- }
61
-
62
- _upgrade_from_pnpm() {
63
- log_info "Upgrading via pnpm..."
64
- if pnpm add -g karnel-termux@latest 2>&1; then
65
- log_success "Karnel upgraded via pnpm"
66
- else
67
- log_error "pnpm upgrade failed"
29
+ _upgrade_fix_symlink() {
30
+ if [[ ! -L "$PREFIX/bin/karnel" ]] || [[ "$(readlink "$PREFIX/bin/karnel")" != "$KARNEL_PATH/bin/karnel" ]]; then
31
+ ln -sf "$KARNEL_PATH/bin/karnel" "$PREFIX/bin/karnel" 2>/dev/null
32
+ log_success "Symlink updated"
68
33
  fi
69
34
  }
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- KARNEL_VERSION="4.11.2"
3
+ KARNEL_VERSION="4.11.3"
4
4
 
5
5
  # -------------------------
6
6
  # Directorios del usuario
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "karnel-termux",
3
- "version": "4.11.2",
3
+ "version": "4.11.3",
4
4
  "description": "Modular Dev Environment for Termux — install languages, databases, AI agents, editors, and more with one command",
5
5
  "bin": {
6
6
  "karnel": "karnel/bin/karnel"