@bash0816/claude-code 2.1.177 → 2.1.179

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 CHANGED
@@ -37,7 +37,7 @@ npm が `claude` bin link を管理する状態になれば、通常の `npm ins
37
37
  Latest audited version / 最新監査済み版:
38
38
 
39
39
  ```sh
40
- npm install -g @bash0816/claude-code@2.1.161-2
40
+ npm install -g @bash0816/claude-code@2.1.178
41
41
  ```
42
42
 
43
43
  ## Update / 更新
package/bin/claude CHANGED
@@ -12,20 +12,24 @@ while [ -L "${SELF}" ]; do
12
12
  done
13
13
 
14
14
  PACKAGE_DIR=$(CDPATH= cd -- "$(dirname -- "${SELF}")/.." && pwd)
15
+ NODE="${MAGI_NODE:-node}"
16
+ if [ -n "${MAGI_NODE:-}" ]; then
17
+ export PATH="$(dirname -- "$NODE"):$PATH"
18
+ fi
15
19
  CONFIG_FILE="${PACKAGE_DIR}/config/claude-native-audited-versions.json"
16
- PACKAGE_VERSION=$(node -e 'const fs=require("fs"); const path=require("path"); const p=JSON.parse(fs.readFileSync(path.join(process.argv[1],"package.json"),"utf8")); process.stdout.write(p.version)' "${PACKAGE_DIR}")
20
+ PACKAGE_VERSION=$("$NODE" -e 'const fs=require("fs"); const path=require("path"); const p=JSON.parse(fs.readFileSync(path.join(process.argv[1],"package.json"),"utf8")); process.stdout.write(p.version)' "${PACKAGE_DIR}")
17
21
  CLAUDE_VERSION="${CLAUDE_TERMUX_CLAUDE_VERSION:-${PACKAGE_VERSION}}"
18
22
  UPDATE_HELPER="${PACKAGE_DIR}/lib/check-updates.js"
19
23
 
20
24
  if [ "${1:-}" = "update" ]; then
21
25
  shift
22
- exec node "${UPDATE_HELPER}" update "${CLAUDE_VERSION}" "$@"
26
+ exec "$NODE" "${UPDATE_HELPER}" update "${CLAUDE_VERSION}" "$@"
23
27
  fi
24
28
 
25
- node "${UPDATE_HELPER}" notify "${CLAUDE_VERSION}" || true
29
+ "$NODE" "${UPDATE_HELPER}" notify "${CLAUDE_VERSION}" || true
26
30
 
27
31
  json_field() {
28
- node -e '
32
+ "$NODE" -e '
29
33
  const fs = require("fs");
30
34
  const config = JSON.parse(fs.readFileSync(process.argv[1], "utf8"));
31
35
  const version = process.argv[2];
@@ -44,7 +48,7 @@ CACHE_DIR="${CLAUDE_TERMUX_PACKAGE_CACHE:-${HOME}/.claude-termux-native-package}
44
48
  SOURCE_BIN="${CACHE_DIR}/app/node_modules/@anthropic-ai/claude-code-linux-arm64/claude"
45
49
 
46
50
  if [ ! -f "${SOURCE_BIN}" ]; then
47
- node "${PACKAGE_DIR}/lib/prepare-native.js" "${CLAUDE_VERSION}"
51
+ "$NODE" "${PACKAGE_DIR}/lib/prepare-native.js" "${CLAUDE_VERSION}"
48
52
  fi
49
53
 
50
54
  if [ ! -f "${SOURCE_BIN}" ]; then
@@ -275,6 +275,33 @@
275
275
  "tarball_integrity": "sha512-qb0K+/xwaZFz9spBUcDX3vNgEFTSNdbDze8AOpU4R9weVrwBY9zAO/OPqxC9qNhb5ZIRnJAZLKiICEeEUHowzA==",
276
276
  "tarball_sha256": "dc6f28ab95d8748528a92e207d0f2d1dcd173855d18f11b8f82c5827bbdcb234",
277
277
  "status": "offset_discovered"
278
+ },
279
+ "2.1.177-1": {
280
+ "wrapper_spec": "@anthropic-ai/claude-code@2.1.177",
281
+ "native_spec": "@anthropic-ai/claude-code-linux-arm64@2.1.177",
282
+ "entry_js_offset": 231509988,
283
+ "entry_end_offset": 248542413,
284
+ "tarball_integrity": "sha512-qb0K+/xwaZFz9spBUcDX3vNgEFTSNdbDze8AOpU4R9weVrwBY9zAO/OPqxC9qNhb5ZIRnJAZLKiICEeEUHowzA==",
285
+ "tarball_sha256": "dc6f28ab95d8748528a92e207d0f2d1dcd173855d18f11b8f82c5827bbdcb234",
286
+ "status": "termux_verified"
287
+ },
288
+ "2.1.178": {
289
+ "wrapper_spec": "@anthropic-ai/claude-code@2.1.178",
290
+ "native_spec": "@anthropic-ai/claude-code-linux-arm64@2.1.178",
291
+ "entry_js_offset": 232322196,
292
+ "entry_end_offset": 249438303,
293
+ "tarball_integrity": "sha512-tDdcLyUNahnj71lj5c/BEsAHt6Ad1KjRznfzE2IuHflUrHgQtCpObjV8QK2YtoDVgDaPT7frGekse/SK6eKweQ==",
294
+ "tarball_sha256": "01376198944226dc8107f6d7104a029e2197c280282ba409bebed816cd760585",
295
+ "status": "termux_verified"
296
+ },
297
+ "2.1.179": {
298
+ "wrapper_spec": "@anthropic-ai/claude-code@2.1.179",
299
+ "native_spec": "@anthropic-ai/claude-code-linux-arm64@2.1.179",
300
+ "entry_js_offset": 232362996,
301
+ "entry_end_offset": 249480417,
302
+ "tarball_integrity": "sha512-KpB1gvSGW0m73be0gKbIqbKfyu0zTjf7oXuX6U1QfYKZVxarhA/D9n91c/sR6e2tB75nohx24Kg5roL6JvCYdQ==",
303
+ "tarball_sha256": "b59bd89c04695177826c09b19c66e6a7ef1b949a894126a05ededa39e536aa4a",
304
+ "status": "offset_discovered"
278
305
  }
279
306
  }
280
307
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "manifest_version": 1,
3
3
  "package_name": "@bash0816/claude-code",
4
- "latest_audited_version": "2.1.161-2",
5
- "latest_candidate_version": "2.1.177",
6
- "previous_stable_version": "2.1.159-13",
4
+ "latest_audited_version": "2.1.178",
5
+ "latest_candidate_version": "2.1.179",
6
+ "previous_stable_version": "2.1.177-1",
7
7
  "manifest_url": "https://raw.githubusercontent.com/bash0816/ClaudeCode-Termux/main/config/claude-termux-release-manifest.json"
8
8
  }
@@ -11,6 +11,7 @@ TERMUX_TMPDIR="${TMPDIR:-/data/data/com.termux/files/usr/tmp}"
11
11
  SSL_CERT_DIR="${SSL_CERT_DIR:-/data/data/com.termux/files/usr/etc/tls}"
12
12
  SSL_CERT_FILE="${SSL_CERT_FILE:-/data/data/com.termux/files/usr/etc/tls/cert.pem}"
13
13
  DISABLE_AUTOUPDATER="${DISABLE_AUTOUPDATER:-1}"
14
+ NODE="${MAGI_NODE:-node}"
14
15
 
15
16
  need_cmd() {
16
17
  if ! command -v "$1" >/dev/null 2>&1; then
@@ -19,8 +20,16 @@ need_cmd() {
19
20
  fi
20
21
  }
21
22
 
22
- need_cmd node
23
- need_cmd termux-open-url
23
+ if ! "$NODE" --version >/dev/null 2>&1; then
24
+ echo "Missing required node: ${NODE}" >&2
25
+ exit 1
26
+ fi
27
+ if [ -z "${MAGI_ENV:-}" ]; then
28
+ need_cmd termux-open-url
29
+ else
30
+ command -v termux-open-url >/dev/null 2>&1 \
31
+ || echo "[claude-code] termux-open-url not found; URL opening unavailable" >&2
32
+ fi
24
33
 
25
34
  if [ ! -f "${SOURCE_BIN}" ]; then
26
35
  echo "Missing source binary: ${SOURCE_BIN}" >&2
@@ -567,6 +576,13 @@ function rewriteNativeChunkSource(source) {
567
576
  'Bun property access',
568
577
  33,
569
578
  );
579
+ patched = replaceRequired(
580
+ patched,
581
+ /\bnpmInstallDeprecated:!0\b/g,
582
+ 'npmInstallDeprecated:!1',
583
+ 'npmInstallDeprecated flag',
584
+ 1,
585
+ );
570
586
  return patched;
571
587
  }
572
588
 
@@ -705,7 +721,8 @@ NODE
705
721
  export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC="${CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:-1}"
706
722
  export ENABLE_CLAUDEAI_MCP_SERVERS="${ENABLE_CLAUDEAI_MCP_SERVERS:-0}"
707
723
  export CLAUDE_CODE_SIMPLE="${CLAUDE_CODE_SIMPLE:-0}"
708
- node "$_helper" "$@" </dev/null
724
+ export DISABLE_INSTALLATION_CHECKS="${DISABLE_INSTALLATION_CHECKS:-true}"
725
+ "$NODE" "$_helper" "$@" </dev/null
709
726
  _status=$?
710
727
  rm -f "$_helper"
711
728
  trap - EXIT HUP INT TERM
@@ -1229,6 +1246,13 @@ function rewriteNativeChunkSource(source) {
1229
1246
  'Bun property access',
1230
1247
  33,
1231
1248
  );
1249
+ patched = replaceRequired(
1250
+ patched,
1251
+ /\bnpmInstallDeprecated:!0\b/g,
1252
+ 'npmInstallDeprecated:!1',
1253
+ 'npmInstallDeprecated flag',
1254
+ 1,
1255
+ );
1232
1256
  return patched;
1233
1257
  }
1234
1258
 
@@ -1364,7 +1388,8 @@ main().catch(error => {
1364
1388
  NODE
1365
1389
  export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC="${CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:-1}"
1366
1390
  export ENABLE_CLAUDEAI_MCP_SERVERS="${ENABLE_CLAUDEAI_MCP_SERVERS:-0}"
1367
- node "$_bootstrap" "$@"
1391
+ export DISABLE_INSTALLATION_CHECKS="${DISABLE_INSTALLATION_CHECKS:-true}"
1392
+ "$NODE" "$_bootstrap" "$@"
1368
1393
  _status=$?
1369
1394
  rm -f "$_bootstrap"
1370
1395
  trap - EXIT HUP INT TERM
@@ -280,7 +280,7 @@ test('cleanupStaleEntryFiles removes only stale extracted files for the same off
280
280
  function buildSyntheticBundleSource() {
281
281
  const typeofBun = Array.from({ length: 3 }, () => 'typeof Bun').join('; ');
282
282
  const bunProps = Array.from({ length: 33 }, (_, index) => `Bun.p${index}`).join('; ');
283
- return `function(exports, require, module, __filename, __dirname) { ${typeofBun}; typeof globalThis.Bun; globalThis.Bun; ${bunProps}; }`;
283
+ return `function(exports, require, module, __filename, __dirname) { ${typeofBun}; typeof globalThis.Bun; globalThis.Bun; ${bunProps}; npmInstallDeprecated:!0 }`;
284
284
  }
285
285
 
286
286
  test('rewriteNativeChunkSource rewrites the synthetic bundle slice', () => {
@@ -293,6 +293,8 @@ test('rewriteNativeChunkSource rewrites the synthetic bundle slice', () => {
293
293
  assert.match(patched, /typeof globalThis\.__claudeBun/);
294
294
  assert.match(patched, /globalThis\.__claudeBun/);
295
295
  assert.match(patched, /__claudeBun\./);
296
+ assert.match(patched, /npmInstallDeprecated:!1/);
297
+ assert.doesNotMatch(patched, /npmInstallDeprecated:!0/);
296
298
  });
297
299
 
298
300
  test('rewriteNativeChunkSource rejects unexpected replacement counts', () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bash0816/claude-code",
3
- "version": "2.1.177",
3
+ "version": "2.1.179",
4
4
  "description": "Unofficial Termux-native Claude Code wrapper with audited native replay",
5
5
  "license": "Apache-2.0",
6
6
  "bin": {