karnel-termux 0.0.1 → 0.0.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.
Files changed (98) hide show
  1. package/README.md +1 -1
  2. package/karnel/tools/ai/antigravity-cli/install.sh +4 -2
  3. package/karnel/tools/ai/claude-code/install.sh +7 -6
  4. package/karnel/tools/ai/cline/install.sh +2 -6
  5. package/karnel/tools/ai/codegraph/install.sh +9 -9
  6. package/karnel/tools/ai/codex/install.sh +2 -7
  7. package/karnel/tools/ai/command-code/install.sh +2 -12
  8. package/karnel/tools/ai/crush/install.sh +4 -5
  9. package/karnel/tools/ai/ctx7/install.sh +5 -5
  10. package/karnel/tools/ai/engram/install.sh +2 -7
  11. package/karnel/tools/ai/freebuff/install.sh +4 -2
  12. package/karnel/tools/ai/gemini-cli/install.sh +2 -7
  13. package/karnel/tools/ai/gentle-ai/install.sh +4 -4
  14. package/karnel/tools/ai/gga/install.sh +7 -7
  15. package/karnel/tools/ai/hermes-agent/install.sh +2 -5
  16. package/karnel/tools/ai/kilocode-cli/install.sh +2 -9
  17. package/karnel/tools/ai/kimchi-code/bin/kimchi +27 -0
  18. package/karnel/tools/ai/kimchi-code/helper/kimchi_helper.c +47 -0
  19. package/karnel/tools/ai/kimchi-code/install.sh +4 -3
  20. package/karnel/tools/ai/kimi-code/install.sh +2 -12
  21. package/karnel/tools/ai/kiro/install.sh +4 -5
  22. package/karnel/tools/ai/mimocode/install.sh +4 -3
  23. package/karnel/tools/ai/minimax-cli/install.sh +2 -12
  24. package/karnel/tools/ai/mistral-vibe/install.sh +2 -7
  25. package/karnel/tools/ai/odysseus/install.sh +5 -3
  26. package/karnel/tools/ai/ollama/install.sh +2 -7
  27. package/karnel/tools/ai/omni-route/install.sh +5 -4
  28. package/karnel/tools/ai/openclaude/install.sh +2 -7
  29. package/karnel/tools/ai/openclaw/install.sh +2 -7
  30. package/karnel/tools/ai/opencode/install.sh +9 -8
  31. package/karnel/tools/ai/openspec/install.sh +5 -5
  32. package/karnel/tools/ai/pi/install.sh +2 -7
  33. package/karnel/tools/ai/qwen-code/install.sh +2 -7
  34. package/karnel/tools/auto/n8n/install.sh +2 -2
  35. package/karnel/tools/db/all.sh +0 -2
  36. package/karnel/tools/db/mariadb/install.sh +2 -2
  37. package/karnel/tools/db/mongodb/install.sh +2 -2
  38. package/karnel/tools/db/postgresql/install.sh +2 -2
  39. package/karnel/tools/db/redis/install.sh +0 -1
  40. package/karnel/tools/db/sqlite/install.sh +2 -2
  41. package/karnel/tools/deploy/netlify/install.sh +6 -2
  42. package/karnel/tools/deploy/railway/install.sh +5 -6
  43. package/karnel/tools/deploy/vercel/install.sh +6 -2
  44. package/karnel/tools/dev/bat/install.sh +2 -6
  45. package/karnel/tools/dev/bc/install.sh +2 -6
  46. package/karnel/tools/dev/cloudflared/install.sh +2 -6
  47. package/karnel/tools/dev/curl/install.sh +2 -6
  48. package/karnel/tools/dev/fzf/install.sh +2 -6
  49. package/karnel/tools/dev/gh/install.sh +2 -6
  50. package/karnel/tools/dev/html2text/install.sh +2 -6
  51. package/karnel/tools/dev/imagemagick/install.sh +2 -6
  52. package/karnel/tools/dev/jq/install.sh +2 -6
  53. package/karnel/tools/dev/lsd/install.sh +2 -6
  54. package/karnel/tools/dev/make/install.sh +2 -6
  55. package/karnel/tools/dev/ncurses/install.sh +2 -6
  56. package/karnel/tools/dev/proot/install.sh +2 -6
  57. package/karnel/tools/dev/shfmt/install.sh +2 -6
  58. package/karnel/tools/dev/tmate/install.sh +2 -6
  59. package/karnel/tools/dev/translate/install.sh +2 -6
  60. package/karnel/tools/dev/tree/install.sh +2 -6
  61. package/karnel/tools/dev/udocker/install.sh +2 -6
  62. package/karnel/tools/dev/wget/install.sh +2 -6
  63. package/karnel/tools/editor/code-server/install.sh +7 -2
  64. package/karnel/tools/editor/nvchad/install.sh +1 -1
  65. package/karnel/tools/lang/clang/install.sh +2 -5
  66. package/karnel/tools/lang/golang/install.sh +2 -5
  67. package/karnel/tools/lang/nodejs/install.sh +2 -5
  68. package/karnel/tools/lang/perl/install.sh +2 -5
  69. package/karnel/tools/lang/php/install.sh +2 -5
  70. package/karnel/tools/lang/python/install.sh +2 -5
  71. package/karnel/tools/lang/rust/install.sh +2 -5
  72. package/karnel/tools/npm/live-server/install.sh +2 -6
  73. package/karnel/tools/npm/localtunnel/install.sh +2 -6
  74. package/karnel/tools/npm/markserv/install.sh +2 -6
  75. package/karnel/tools/npm/ncu/install.sh +2 -6
  76. package/karnel/tools/npm/nestjs/install.sh +2 -6
  77. package/karnel/tools/npm/ngrok/install.sh +2 -6
  78. package/karnel/tools/npm/prettier/install.sh +2 -6
  79. package/karnel/tools/npm/psqlformat/install.sh +2 -6
  80. package/karnel/tools/npm/turbopack/bin/next-turbopack +55 -0
  81. package/karnel/tools/npm/turbopack/bin/node-glibc.sh +9 -0
  82. package/karnel/tools/npm/turbopack/bin/patch-interp.py +101 -0
  83. package/karnel/tools/npm/turbopack/bin/precheck-native.js +96 -0
  84. package/karnel/tools/npm/turbopack/install.sh +101 -31
  85. package/karnel/tools/npm/typescript/install.sh +2 -6
  86. package/karnel/tools/npm/vercel/install.sh +2 -6
  87. package/karnel/tools/shell/better-npm/install.sh +2 -1
  88. package/karnel/tools/shell/fzf-tab/install.sh +2 -1
  89. package/karnel/tools/shell/history-substring/install.sh +2 -1
  90. package/karnel/tools/shell/powerlevel10k/install.sh +2 -1
  91. package/karnel/tools/shell/you-should-use/install.sh +2 -1
  92. package/karnel/tools/shell/zsh-autopair/install.sh +2 -1
  93. package/karnel/tools/shell/zsh-autosuggestions/install.sh +2 -1
  94. package/karnel/tools/shell/zsh-completions/install.sh +2 -1
  95. package/karnel/tools/shell/zsh-defer/install.sh +2 -1
  96. package/karnel/tools/shell/zsh-syntax-highlighting/install.sh +2 -1
  97. package/karnel/utils/banner.sh +11 -0
  98. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
7
 
@@ -68,12 +69,7 @@ uninstall_ncurses() {
68
69
  }
69
70
 
70
71
  update_ncurses() {
71
- log_info "Updating Ncurses Utils..."
72
- mkdir -p "$(dirname "$LOG_FILE")"
73
-
74
- _update_ncurses_pkg || return 1
75
- log_success "Ncurses Utils updated"
76
- return 0
72
+ _check_update_needed "ncurses" "$(_get_installed_pkg_version ncurses)" "$(_get_remote_pkg_version ncurses)" _update_ncurses_pkg
77
73
  }
78
74
 
79
75
  reinstall_ncurses() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
7
 
@@ -68,12 +69,7 @@ uninstall_proot() {
68
69
  }
69
70
 
70
71
  update_proot() {
71
- log_info "Updating Proot..."
72
- mkdir -p "$(dirname "$LOG_FILE")"
73
-
74
- _update_proot_pkg || return 1
75
- log_success "Proot updated"
76
- return 0
72
+ _check_update_needed "PRoot" "$(_get_installed_pkg_version proot)" "$(_get_remote_pkg_version proot)" _update_proot_pkg
77
73
  }
78
74
 
79
75
  reinstall_proot() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
7
 
@@ -68,12 +69,7 @@ uninstall_shfmt() {
68
69
  }
69
70
 
70
71
  update_shfmt() {
71
- log_info "Updating Shfmt..."
72
- mkdir -p "$(dirname "$LOG_FILE")"
73
-
74
- _update_shfmt_pkg || return 1
75
- log_success "Shfmt updated"
76
- return 0
72
+ _check_update_needed "shfmt" "$(_get_installed_pkg_version shfmt)" "$(_get_remote_pkg_version shfmt)" _update_shfmt_pkg
77
73
  }
78
74
 
79
75
  reinstall_shfmt() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
7
 
@@ -68,12 +69,7 @@ uninstall_tmate() {
68
69
  }
69
70
 
70
71
  update_tmate() {
71
- log_info "Updating Tmate..."
72
- mkdir -p "$(dirname "$LOG_FILE")"
73
-
74
- _update_tmate_pkg || return 1
75
- log_success "Tmate updated"
76
- return 0
72
+ _check_update_needed "TMate" "$(_get_installed_pkg_version tmate)" "$(_get_remote_pkg_version tmate)" _update_tmate_pkg
77
73
  }
78
74
 
79
75
  reinstall_tmate() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
7
 
@@ -68,12 +69,7 @@ uninstall_translate() {
68
69
  }
69
70
 
70
71
  update_translate() {
71
- log_info "Updating Translate Shell..."
72
- mkdir -p "$(dirname "$LOG_FILE")"
73
-
74
- _update_translate_pkg || return 1
75
- log_success "Translate Shell updated"
76
- return 0
72
+ _check_update_needed "Translate" "$(_get_installed_pkg_version translate)" "$(_get_remote_pkg_version translate)" _update_translate_pkg
77
73
  }
78
74
 
79
75
  reinstall_translate() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
7
 
@@ -68,12 +69,7 @@ uninstall_tree() {
68
69
  }
69
70
 
70
71
  update_tree() {
71
- log_info "Updating Tree..."
72
- mkdir -p "$(dirname "$LOG_FILE")"
73
-
74
- _update_tree_pkg || return 1
75
- log_success "Tree updated"
76
- return 0
72
+ _check_update_needed "Tree" "$(_get_installed_pkg_version tree)" "$(_get_remote_pkg_version tree)" _update_tree_pkg
77
73
  }
78
74
 
79
75
  reinstall_tree() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
7
 
@@ -68,12 +69,7 @@ uninstall_udocker() {
68
69
  }
69
70
 
70
71
  update_udocker() {
71
- log_info "Updating Udocker..."
72
- mkdir -p "$(dirname "$LOG_FILE")"
73
-
74
- _update_udocker_pkg || return 1
75
- log_success "Udocker updated"
76
- return 0
72
+ _check_update_needed "uDocker" "$(_get_installed_pkg_version udocker)" "$(_get_remote_pkg_version udocker)" _update_udocker_pkg
77
73
  }
78
74
 
79
75
  reinstall_udocker() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_dev.log"
6
7
 
@@ -68,12 +69,7 @@ uninstall_wget() {
68
69
  }
69
70
 
70
71
  update_wget() {
71
- log_info "Updating Wget..."
72
- mkdir -p "$(dirname "$LOG_FILE")"
73
-
74
- _update_wget_pkg || return 1
75
- log_success "Wget updated"
76
- return 0
72
+ _check_update_needed "Wget" "$(_get_installed_pkg_version wget)" "$(_get_remote_pkg_version wget)" _update_wget_pkg
77
73
  }
78
74
 
79
75
  reinstall_wget() {
@@ -1,5 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
+ import "@/utils/log"
4
+ import "@/utils/version"
5
+
3
6
  # code-server - VS Code in the browser for Termux
4
7
  # Official docs: https://coder.com/docs/code-server
5
8
  # Termux install: pkg install tur-repo && pkg install code-server
@@ -62,9 +65,11 @@ update_code_server() {
62
65
  return 1
63
66
  fi
64
67
 
65
- log_info "Updating code-server..."
68
+ _check_update_needed "code-server" "$(_get_installed_pkg_version code-server)" "$(_get_remote_pkg_version code-server)" _update_code_server_impl
69
+ }
70
+
71
+ _update_code_server_impl() {
66
72
  pkg upgrade -y code-server 2>/dev/null
67
- return $?
68
73
  }
69
74
 
70
75
  reinstall_code_server() {
@@ -96,7 +96,7 @@ _do_nvchad_update() {
96
96
  }
97
97
 
98
98
  update_nvchad() {
99
- _update_nvchad
99
+ _check_update_needed "NvChad" "$(_get_installed_git_version "$NVCHAD_DIR")" "$(_get_remote_github_version DevCoreXOfficial/nvchad-termux)" _do_nvchad_update
100
100
  }
101
101
 
102
102
  reinstall_nvchad() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_lang.log"
6
7
 
@@ -66,11 +67,7 @@ _update_clang_pkg_impl() {
66
67
  }
67
68
 
68
69
  update_clang() {
69
- log_info "Updating C/C++ (Clang)..."
70
- mkdir -p "$(dirname "$LOG_FILE")"
71
- _update_clang_pkg || return 1
72
- log_success "C/C++ (clang) updated"
73
- return 0
70
+ _check_update_needed "C/C++ (Clang)" "$(_get_installed_pkg_version clang)" "$(_get_remote_pkg_version clang)" _update_clang_pkg
74
71
  }
75
72
 
76
73
  reinstall_clang() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_lang.log"
6
7
 
@@ -66,11 +67,7 @@ _update_golang_pkg_impl() {
66
67
  }
67
68
 
68
69
  update_golang() {
69
- log_info "Updating Go (Golang)..."
70
- mkdir -p "$(dirname "$LOG_FILE")"
71
- _update_golang_pkg || return 1
72
- log_success "Go (golang) updated"
73
- return 0
70
+ _check_update_needed "Go (Golang)" "$(_get_installed_pkg_version golang)" "$(_get_remote_pkg_version golang)" _update_golang_pkg
74
71
  }
75
72
 
76
73
  reinstall_golang() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_lang.log"
6
7
 
@@ -66,11 +67,7 @@ _update_nodejs_pkg_impl() {
66
67
  }
67
68
 
68
69
  update_nodejs() {
69
- log_info "Updating Node.js LTS..."
70
- mkdir -p "$(dirname "$LOG_FILE")"
71
- _update_nodejs_pkg || return 1
72
- log_success "Node.js LTS updated"
73
- return 0
70
+ _check_update_needed "Node.js LTS" "$(_get_installed_pkg_version nodejs-lts)" "$(_get_remote_pkg_version nodejs-lts)" _update_nodejs_pkg
74
71
  }
75
72
 
76
73
  reinstall_nodejs() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_lang.log"
6
7
 
@@ -66,11 +67,7 @@ _update_perl_pkg_impl() {
66
67
  }
67
68
 
68
69
  update_perl() {
69
- log_info "Updating Perl..."
70
- mkdir -p "$(dirname "$LOG_FILE")"
71
- _update_perl_pkg || return 1
72
- log_success "Perl updated"
73
- return 0
70
+ _check_update_needed "Perl" "$(_get_installed_pkg_version perl)" "$(_get_remote_pkg_version perl)" _update_perl_pkg
74
71
  }
75
72
 
76
73
  reinstall_perl() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_lang.log"
6
7
 
@@ -66,11 +67,7 @@ _update_php_pkg_impl() {
66
67
  }
67
68
 
68
69
  update_php() {
69
- log_info "Updating PHP..."
70
- mkdir -p "$(dirname "$LOG_FILE")"
71
- _update_php_pkg || return 1
72
- log_success "PHP updated"
73
- return 0
70
+ _check_update_needed "PHP" "$(_get_installed_pkg_version php)" "$(_get_remote_pkg_version php)" _update_php_pkg
74
71
  }
75
72
 
76
73
  reinstall_php() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_lang.log"
6
7
 
@@ -66,11 +67,7 @@ _update_python_pkg_impl() {
66
67
  }
67
68
 
68
69
  update_python() {
69
- log_info "Updating Python..."
70
- mkdir -p "$(dirname "$LOG_FILE")"
71
- _update_python_pkg || return 1
72
- log_success "Python updated"
73
- return 0
70
+ _check_update_needed "Python" "$(_get_installed_pkg_version python)" "$(_get_remote_pkg_version python)" _update_python_pkg
74
71
  }
75
72
 
76
73
  reinstall_python() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_lang.log"
6
7
 
@@ -66,11 +67,7 @@ _update_rust_pkg_impl() {
66
67
  }
67
68
 
68
69
  update_rust() {
69
- log_info "Updating Rust..."
70
- mkdir -p "$(dirname "$LOG_FILE")"
71
- _update_rust_pkg || return 1
72
- log_success "Rust updated"
73
- return 0
70
+ _check_update_needed "Rust" "$(_get_installed_pkg_version rust)" "$(_get_remote_pkg_version rust)" _update_rust_pkg
74
71
  }
75
72
 
76
73
  reinstall_rust() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_npm.log"
6
7
 
@@ -82,12 +83,7 @@ _update_live_server_npm_impl() {
82
83
  }
83
84
 
84
85
  update_live_server() {
85
- log_info "Updating Live Server..."
86
- mkdir -p "$(dirname "$LOG_FILE")"
87
-
88
- _update_live_server_npm || return 1
89
- log_success "Live Server updated"
90
- return 0
86
+ _check_update_needed "Live Server" "$(_get_installed_npm_version live-server)" "$(_get_remote_npm_version live-server)" _update_live_server_npm
91
87
  }
92
88
 
93
89
  reinstall_live_server() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_npm.log"
6
7
 
@@ -98,12 +99,7 @@ _update_localtunnel_npm_impl() {
98
99
  }
99
100
 
100
101
  update_localtunnel() {
101
- log_info "Updating Localtunnel..."
102
- mkdir -p "$(dirname "$LOG_FILE")"
103
-
104
- _update_localtunnel_npm || return 1
105
- log_success "Localtunnel updated"
106
- return 0
102
+ _check_update_needed "Localtunnel" "$(_get_installed_npm_version localtunnel)" "$(_get_remote_npm_version localtunnel)" _update_localtunnel_npm
107
103
  }
108
104
 
109
105
  reinstall_localtunnel() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_npm.log"
6
7
 
@@ -81,12 +82,7 @@ _update_markserv_npm_impl() {
81
82
  }
82
83
 
83
84
  update_markserv() {
84
- log_info "Updating Markserv..."
85
- mkdir -p "$(dirname "$LOG_FILE")"
86
-
87
- _update_markserv_npm || return 1
88
- log_success "Markserv updated"
89
- return 0
85
+ _check_update_needed "Markserv" "$(_get_installed_npm_version markserv)" "$(_get_remote_npm_version markserv)" _update_markserv_npm
90
86
  }
91
87
 
92
88
  reinstall_markserv() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_npm.log"
6
7
 
@@ -81,12 +82,7 @@ _update_ncu_npm_impl() {
81
82
  }
82
83
 
83
84
  update_ncu() {
84
- log_info "Updating NPM Check Updates..."
85
- mkdir -p "$(dirname "$LOG_FILE")"
86
-
87
- _update_ncu_npm || return 1
88
- log_success "NPM Check Updates updated"
89
- return 0
85
+ _check_update_needed "npm-check-updates" "$(_get_installed_npm_version npm-check-updates)" "$(_get_remote_npm_version npm-check-updates)" _update_ncu_npm
90
86
  }
91
87
 
92
88
  reinstall_ncu() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_npm.log"
6
7
 
@@ -81,12 +82,7 @@ _update_nestjs_npm_impl() {
81
82
  }
82
83
 
83
84
  update_nestjs() {
84
- log_info "Updating NestJS CLI..."
85
- mkdir -p "$(dirname "$LOG_FILE")"
86
-
87
- _update_nestjs_npm || return 1
88
- log_success "NestJS CLI updated"
89
- return 0
85
+ _check_update_needed "NestJS CLI" "$(_get_installed_npm_version @nestjs/cli)" "$(_get_remote_npm_version @nestjs/cli)" _update_nestjs_npm
90
86
  }
91
87
 
92
88
  reinstall_nestjs() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_npm.log"
6
7
 
@@ -81,12 +82,7 @@ _update_ngrok_npm_impl() {
81
82
  }
82
83
 
83
84
  update_ngrok() {
84
- log_info "Updating Ngrok..."
85
- mkdir -p "$(dirname "$LOG_FILE")"
86
-
87
- _update_ngrok_npm || return 1
88
- log_success "Ngrok updated"
89
- return 0
85
+ _check_update_needed "Ngrok" "$(_get_installed_npm_version ngrok)" "$(_get_remote_npm_version ngrok)" _update_ngrok_npm
90
86
  }
91
87
 
92
88
  reinstall_ngrok() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_npm.log"
6
7
 
@@ -81,12 +82,7 @@ _update_prettier_npm_impl() {
81
82
  }
82
83
 
83
84
  update_prettier() {
84
- log_info "Updating Prettier..."
85
- mkdir -p "$(dirname "$LOG_FILE")"
86
-
87
- _update_prettier_npm || return 1
88
- log_success "Prettier updated"
89
- return 0
85
+ _check_update_needed "Prettier" "$(_get_installed_npm_version prettier)" "$(_get_remote_npm_version prettier)" _update_prettier_npm
90
86
  }
91
87
 
92
88
  reinstall_prettier() {
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
3
  import "@/utils/log"
4
+ import "@/utils/version"
4
5
 
5
6
  LOG_FILE="$KARNEL_CACHE/install_npm.log"
6
7
 
@@ -81,12 +82,7 @@ _update_psqlformat_npm_impl() {
81
82
  }
82
83
 
83
84
  update_psqlformat() {
84
- log_info "Updating PSQL Format..."
85
- mkdir -p "$(dirname "$LOG_FILE")"
86
-
87
- _update_psqlformat_npm || return 1
88
- log_success "PSQL Format updated"
89
- return 0
85
+ _check_update_needed "PSQL Format" "$(_get_installed_npm_version psqlformat)" "$(_get_remote_npm_version psqlformat)" _update_psqlformat_npm
90
86
  }
91
87
 
92
88
  reinstall_psqlformat() {
@@ -0,0 +1,55 @@
1
+ #!/data/data/com.termux/files/usr/bin/bash
2
+ unset LD_LIBRARY_PATH
3
+ unset LD_PRELOAD
4
+ NODE_GLIBC="$HOME/.local/share/karnel-data/node-glibc/bin/node"
5
+ NODE_GLIBC_DIR="$(dirname "$NODE_GLIBC")"
6
+
7
+ if [[ ! -x "$NODE_GLIBC" ]]; then
8
+ echo "Turbopack toolchain not installed. Run: karnel install npm --turbopack" >&2
9
+ exit 1
10
+ fi
11
+
12
+ PROJECT_DIR="$PWD"
13
+ while [[ "$PROJECT_DIR" != "/" && ! -f "$PROJECT_DIR/package.json" ]]; do
14
+ PROJECT_DIR="$(dirname "$PROJECT_DIR")"
15
+ done
16
+ if [[ ! -f "$PROJECT_DIR/package.json" ]]; then
17
+ echo "No package.json found in current or parent directories" >&2
18
+ exit 1
19
+ fi
20
+
21
+ NEXT_BIN=""
22
+ SEARCH_PATHS=(
23
+ "$PROJECT_DIR/node_modules/.pnpm/next@*/node_modules/next/dist/bin/next"
24
+ "$PROJECT_DIR/node_modules/next/dist/bin/next"
25
+ )
26
+ for pattern in "${SEARCH_PATHS[@]}"; do
27
+ for match in $pattern; do
28
+ if [[ -f "$match" ]]; then
29
+ NEXT_BIN="$match"
30
+ break 2
31
+ fi
32
+ done
33
+ done
34
+
35
+ if [[ -z "$NEXT_BIN" ]]; then
36
+ echo "Next.js not found in project dependencies" >&2
37
+ exit 1
38
+ fi
39
+
40
+ PRECHECK="${KARNEL_PATH:-$HOME/.local/share/karnel}/tools/npm/turbopack/bin/precheck-native.js"
41
+ if [[ -f "$PRECHECK" && -d "$PROJECT_DIR/node_modules" ]]; then
42
+ "$NODE_GLIBC" "$PRECHECK" 2>/dev/null || true
43
+ fi
44
+
45
+ HAS_HOSTNAME=false
46
+ for arg in "$@"; do
47
+ [[ "$arg" == "--hostname" ]] && HAS_HOSTNAME=true && break
48
+ done
49
+
50
+ if ! $HAS_HOSTNAME && [[ "$1" == "dev" ]]; then
51
+ set -- "$@" --hostname 127.0.0.1
52
+ fi
53
+
54
+ export PATH="$NODE_GLIBC_DIR:$PATH"
55
+ exec "$NODE_GLIBC" "$NEXT_BIN" "$@"
@@ -0,0 +1,9 @@
1
+ #!/data/data/com.termux/files/usr/bin/bash
2
+ unset LD_LIBRARY_PATH
3
+ unset LD_PRELOAD
4
+ NODE_GLIBC="$HOME/.local/share/karnel-data/node-glibc/bin/node"
5
+ if [[ ! -x "$NODE_GLIBC" ]]; then
6
+ echo "Turbopack toolchain not installed. Run: karnel install npm --turbopack" >&2
7
+ exit 1
8
+ fi
9
+ exec "$NODE_GLIBC" "$@"