termexo 0.3.2 → 0.3.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.
- package/README.md +8 -8
- package/bin/termexo.js +5 -4
- package/lib/launcher.js +17 -3
- package/package.json +4 -2
- package/vendor/win32-x64/termexo.exe +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Termexo npm launcher
|
|
2
2
|
|
|
3
|
-
This package
|
|
3
|
+
This package runs the official Windows desktop executable for
|
|
4
4
|
[Termexo](https://www.termexo.com/), a local-first workspace for AI coding
|
|
5
5
|
agents, models, and terminals.
|
|
6
6
|
|
|
@@ -13,25 +13,25 @@ npm install --global termexo
|
|
|
13
13
|
termexo
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
The
|
|
17
|
-
|
|
16
|
+
The Windows desktop executable is included in the npm package, so no separate
|
|
17
|
+
Termexo installation is required. You can also run it without a global install:
|
|
18
18
|
|
|
19
19
|
```powershell
|
|
20
|
-
termexo
|
|
20
|
+
npx termexo
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
## Commands
|
|
24
24
|
|
|
25
25
|
```text
|
|
26
|
-
termexo Start Termexo
|
|
27
|
-
termexo start Start Termexo
|
|
26
|
+
termexo Start the bundled Termexo desktop app
|
|
27
|
+
termexo start Start the bundled Termexo desktop app
|
|
28
28
|
termexo download Open the latest release page
|
|
29
29
|
termexo --version Show the launcher version
|
|
30
30
|
termexo --help Show command help
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
Set `TERMEXO_PATH` to the full path of another `termexo.exe` to override the
|
|
34
|
+
bundled executable.
|
|
35
35
|
|
|
36
36
|
Project source and desktop releases are available at
|
|
37
37
|
[github.com/gemron/Termexo](https://github.com/gemron/Termexo).
|
package/bin/termexo.js
CHANGED
|
@@ -17,8 +17,8 @@ function printHelp() {
|
|
|
17
17
|
console.log(`Termexo ${packageJson.version}
|
|
18
18
|
|
|
19
19
|
Usage:
|
|
20
|
-
termexo Start the
|
|
21
|
-
termexo start Start the
|
|
20
|
+
termexo Start the bundled Termexo desktop app
|
|
21
|
+
termexo start Start the bundled Termexo desktop app
|
|
22
22
|
termexo download Open the latest Termexo release page
|
|
23
23
|
termexo --version Print the launcher version
|
|
24
24
|
termexo --help Show this help
|
|
@@ -37,9 +37,10 @@ if (command === '--help' || command === '-h' || command === 'help') {
|
|
|
37
37
|
} else if (command === 'start') {
|
|
38
38
|
const executable = findExecutable();
|
|
39
39
|
if (!executable) {
|
|
40
|
-
console.error(`Termexo is
|
|
40
|
+
console.error(`The Termexo executable is missing from this npm package.
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Reinstall the package or download the Windows installer:
|
|
43
|
+
npm install --global termexo@latest
|
|
43
44
|
termexo download
|
|
44
45
|
${RELEASES_URL}
|
|
45
46
|
|
package/lib/launcher.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
3
|
import { win32 } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
4
5
|
|
|
5
6
|
export const RELEASES_URL = 'https://github.com/gemron/Termexo/releases/latest';
|
|
7
|
+
export const BUNDLED_EXECUTABLE = fileURLToPath(
|
|
8
|
+
new URL('../vendor/win32-x64/termexo.exe', import.meta.url),
|
|
9
|
+
);
|
|
6
10
|
|
|
7
|
-
export function executableCandidates(
|
|
11
|
+
export function executableCandidates(
|
|
12
|
+
environment = process.env,
|
|
13
|
+
bundledExecutable = BUNDLED_EXECUTABLE,
|
|
14
|
+
) {
|
|
8
15
|
const candidates = [];
|
|
9
16
|
const add = (value) => {
|
|
10
17
|
if (value && !candidates.includes(value)) {
|
|
@@ -13,6 +20,7 @@ export function executableCandidates(environment = process.env) {
|
|
|
13
20
|
};
|
|
14
21
|
|
|
15
22
|
add(environment.TERMEXO_PATH);
|
|
23
|
+
add(bundledExecutable);
|
|
16
24
|
|
|
17
25
|
if (environment.LOCALAPPDATA) {
|
|
18
26
|
add(win32.join(environment.LOCALAPPDATA, 'Termexo', 'termexo.exe'));
|
|
@@ -30,8 +38,14 @@ export function executableCandidates(environment = process.env) {
|
|
|
30
38
|
return candidates;
|
|
31
39
|
}
|
|
32
40
|
|
|
33
|
-
export function findExecutable(
|
|
34
|
-
|
|
41
|
+
export function findExecutable(
|
|
42
|
+
environment = process.env,
|
|
43
|
+
fileExists = existsSync,
|
|
44
|
+
bundledExecutable = BUNDLED_EXECUTABLE,
|
|
45
|
+
) {
|
|
46
|
+
return executableCandidates(environment, bundledExecutable).find((candidate) =>
|
|
47
|
+
fileExists(candidate),
|
|
48
|
+
);
|
|
35
49
|
}
|
|
36
50
|
|
|
37
51
|
export function launchExecutable(executable, spawnProcess = spawn) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "termexo",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.3.3",
|
|
4
|
+
"description": "Run the Termexo AI development workspace directly from npm on Windows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"termexo": "bin/termexo.js"
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"files": [
|
|
10
10
|
"bin/",
|
|
11
11
|
"lib/",
|
|
12
|
+
"vendor/win32-x64/termexo.exe",
|
|
12
13
|
"README.md"
|
|
13
14
|
],
|
|
14
15
|
"os": [
|
|
@@ -19,6 +20,7 @@
|
|
|
19
20
|
},
|
|
20
21
|
"scripts": {
|
|
21
22
|
"test": "node --test",
|
|
23
|
+
"prepack": "node scripts/stage-binary.mjs",
|
|
22
24
|
"prepublishOnly": "npm test"
|
|
23
25
|
},
|
|
24
26
|
"keywords": [
|
|
Binary file
|