@bash0816/claude-code 2.1.159-1 → 2.1.159-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
CHANGED
|
@@ -68,8 +68,8 @@ Normal launch also checks the same manifest with a short timeout and prints a no
|
|
|
68
68
|
|
|
69
69
|
- Only audited versions in `config/claude-native-audited-versions.json` can run.
|
|
70
70
|
- `config/claude-native-audited-versions.json` にある監査済み version だけを実行できます。
|
|
71
|
-
- `2.1.
|
|
72
|
-
- `2.1.
|
|
71
|
+
- `2.1.118`, `2.1.119`, `2.1.121`, `2.1.122`, `2.1.123`, `2.1.126`, `2.1.128`, `2.1.136`, `2.1.137`, `2.1.138`, `2.1.139`, `2.1.140`, `2.1.141`, `2.1.142`, `2.1.143`, `2.1.144`, `2.1.150`, `2.1.150-1`, `2.1.150-2`, `2.1.150-3`, `2.1.153`, `2.1.153-1`, `2.1.153-2`, `2.1.153-3`, `2.1.153-4`, `2.1.157` are included in the package metadata.
|
|
72
|
+
- `2.1.118`、`2.1.119`、`2.1.121`、`2.1.122`、`2.1.123`、`2.1.126`、`2.1.128`、`2.1.136`、`2.1.137`、`2.1.138`、`2.1.139`、`2.1.140`、`2.1.141`、`2.1.142`、`2.1.143`、`2.1.144`、`2.1.150`、`2.1.150-1`、`2.1.150-2`、`2.1.150-3`、`2.1.153`、`2.1.153-1`、`2.1.153-2`、`2.1.153-3`、`2.1.153-4`、`2.1.157` を package metadata に含めています。
|
|
73
73
|
- The metadata file is the source of truth for the currently audited set.
|
|
74
74
|
- 現在の監査済み version 集合の source of truth は metadata file です。
|
|
75
75
|
- Native artifacts are cached under `${HOME}/.claude-termux-native-package`.
|
|
@@ -181,6 +181,15 @@
|
|
|
181
181
|
"entry_js_offset": 223210916,
|
|
182
182
|
"entry_end_offset": 238725072,
|
|
183
183
|
"status": "termux_verified"
|
|
184
|
+
},
|
|
185
|
+
"2.1.159-2": {
|
|
186
|
+
"wrapper_spec": "@anthropic-ai/claude-code@2.1.159",
|
|
187
|
+
"native_spec": "@anthropic-ai/claude-code-linux-arm64@2.1.159",
|
|
188
|
+
"entry_js_offset": 223232708,
|
|
189
|
+
"entry_end_offset": 238749397,
|
|
190
|
+
"tarball_integrity": "sha512-c8dXbuQdrotGWll46GlnXm5IPpORK2VrBSosCmI6f8t7Snc/3F58fX0MbIjJ/ycXpY0aaKuOnufCuxf7wi1Xqw==",
|
|
191
|
+
"tarball_sha256": "0b551634f11742310ba3b6344fb7912ba1ed8ee0ef4702eab0099d31b4eeb070",
|
|
192
|
+
"status": "offset_discovered"
|
|
184
193
|
}
|
|
185
194
|
}
|
|
186
195
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": 1,
|
|
3
3
|
"package_name": "@bash0816/claude-code",
|
|
4
4
|
"latest_audited_version": "2.1.157",
|
|
5
|
-
"latest_candidate_version": "2.1.
|
|
5
|
+
"latest_candidate_version": "2.1.159-2",
|
|
6
6
|
"previous_stable_version": "2.1.153-4",
|
|
7
7
|
"manifest_url": "https://raw.githubusercontent.com/bash0816/ClaudeCode-Termux/main/config/claude-termux-release-manifest.json"
|
|
8
8
|
}
|
package/lib/check-updates.js
CHANGED
|
@@ -10,6 +10,7 @@ const path = require('path');
|
|
|
10
10
|
const packageDir = path.resolve(__dirname, '..');
|
|
11
11
|
const pkg = require(path.join(packageDir, 'package.json'));
|
|
12
12
|
const localManifest = require(path.join(packageDir, 'config', 'claude-termux-release-manifest.json'));
|
|
13
|
+
const { compareVersions } = require('./version-utils');
|
|
13
14
|
const mode = process.argv[2] || 'notify';
|
|
14
15
|
const currentVersion = process.argv[3] || pkg.version;
|
|
15
16
|
const dryRun = process.argv.includes('--dry-run');
|
|
@@ -20,17 +21,6 @@ const ttlMs = Number(process.env.CLAUDE_TERMUX_UPDATE_CACHE_TTL_MS || String(24
|
|
|
20
21
|
const skipCheck = process.env.CLAUDE_TERMUX_SKIP_UPDATE_CHECK === '1';
|
|
21
22
|
const manifestUrl = process.env.CLAUDE_TERMUX_MANIFEST_URL || localManifest.manifest_url;
|
|
22
23
|
|
|
23
|
-
function compareVersions(a, b) {
|
|
24
|
-
const aParts = String(a).split('.').map(Number);
|
|
25
|
-
const bParts = String(b).split('.').map(Number);
|
|
26
|
-
const len = Math.max(aParts.length, bParts.length);
|
|
27
|
-
for (let index = 0; index < len; index += 1) {
|
|
28
|
-
const diff = (aParts[index] || 0) - (bParts[index] || 0);
|
|
29
|
-
if (diff !== 0) return diff;
|
|
30
|
-
}
|
|
31
|
-
return 0;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
24
|
function readCache() {
|
|
35
25
|
try {
|
|
36
26
|
return JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function parseVersion(v) {
|
|
4
|
+
const str = String(v);
|
|
5
|
+
const dashIdx = str.lastIndexOf('-');
|
|
6
|
+
if (dashIdx !== -1) {
|
|
7
|
+
const base = str.slice(0, dashIdx);
|
|
8
|
+
const suffix = Number(str.slice(dashIdx + 1));
|
|
9
|
+
return { parts: base.split('.').map(Number), suffix: isNaN(suffix) ? 0 : suffix };
|
|
10
|
+
}
|
|
11
|
+
return { parts: str.split('.').map(Number), suffix: 0 };
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function compareVersions(a, b) {
|
|
15
|
+
const ap = parseVersion(a), bp = parseVersion(b);
|
|
16
|
+
const len = Math.max(ap.parts.length, bp.parts.length);
|
|
17
|
+
for (let i = 0; i < len; i++) {
|
|
18
|
+
const diff = (ap.parts[i] || 0) - (bp.parts[i] || 0);
|
|
19
|
+
if (diff !== 0) return diff;
|
|
20
|
+
}
|
|
21
|
+
return ap.suffix - bp.suffix;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
module.exports = { parseVersion, compareVersions };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const test = require('node:test');
|
|
4
|
+
const assert = require('node:assert/strict');
|
|
5
|
+
|
|
6
|
+
const { parseVersion, compareVersions } = require('./version-utils');
|
|
7
|
+
|
|
8
|
+
test('parseVersion splits suffix versions', () => {
|
|
9
|
+
assert.deepEqual(parseVersion('2.1.159-2'), {
|
|
10
|
+
parts: [2, 1, 159],
|
|
11
|
+
suffix: 2,
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
test('compareVersions orders suffix versions after the base release', () => {
|
|
16
|
+
assert.equal(compareVersions('2.1.159', '2.1.159-1') < 0, true);
|
|
17
|
+
assert.equal(compareVersions('2.1.159-1', '2.1.159-2') < 0, true);
|
|
18
|
+
assert.equal(compareVersions('2.1.159-2', '2.1.159') > 0, true);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
test('compareVersions preserves numeric ordering across patch versions', () => {
|
|
22
|
+
assert.equal(compareVersions('2.1.136', '2.1.137') < 0, true);
|
|
23
|
+
assert.equal(compareVersions('2.1.137', '2.1.136') > 0, true);
|
|
24
|
+
assert.equal(compareVersions('2.1.137', '2.1.137'), 0);
|
|
25
|
+
});
|
package/package.json
CHANGED
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bash0816/claude-code",
|
|
3
|
-
"version": "2.1.159-
|
|
4
|
-
"description": "Termux-native Claude Code wrapper with audited native replay",
|
|
3
|
+
"version": "2.1.159-2",
|
|
4
|
+
"description": "Unofficial Termux-native Claude Code wrapper with audited native replay",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
7
7
|
"claude": "bin/claude"
|
|
8
8
|
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"preinstall": "node lib/preinstall.js",
|
|
11
|
-
"postinstall": "node lib/postinstall.js"
|
|
12
|
-
},
|
|
9
|
+
"scripts": {},
|
|
13
10
|
"files": [
|
|
14
|
-
"bin",
|
|
15
|
-
"lib",
|
|
16
|
-
"config",
|
|
11
|
+
"bin/",
|
|
12
|
+
"lib/",
|
|
13
|
+
"config/",
|
|
17
14
|
"README.md"
|
|
18
15
|
],
|
|
19
16
|
"engines": {
|
|
20
17
|
"node": ">=18"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"claude-code",
|
|
21
|
+
"termux",
|
|
22
|
+
"android",
|
|
23
|
+
"wrapper"
|
|
24
|
+
],
|
|
25
|
+
"publishConfig": {
|
|
26
|
+
"access": "public"
|
|
21
27
|
}
|
|
22
28
|
}
|