termbeam 1.12.1 → 1.12.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.
Files changed (33) hide show
  1. package/README.md +1 -1
  2. package/bin/termbeam.js +6 -6
  3. package/package.json +11 -8
  4. package/public/assets/index-Cqt1eZ9m.js +108 -0
  5. package/public/assets/index-CvJLM67e.css +32 -0
  6. package/{public-react → public}/index.html +2 -2
  7. package/{public-react → public}/sw.js +1 -1
  8. package/src/{cli.js → cli/index.js} +3 -3
  9. package/src/{service.js → cli/service.js} +1 -1
  10. package/src/{auth.js → server/auth.js} +1 -1
  11. package/src/{server.js → server/index.js} +6 -6
  12. package/src/{preview.js → server/preview.js} +1 -1
  13. package/src/{routes.js → server/routes.js} +8 -10
  14. package/src/{sessions.js → server/sessions.js} +2 -2
  15. package/src/{websocket.js → server/websocket.js} +1 -1
  16. package/src/{tunnel.js → tunnel/index.js} +2 -2
  17. package/src/{devtunnel-install.js → tunnel/install.js} +1 -1
  18. package/src/{version.js → utils/version.js} +2 -2
  19. package/public-react/assets/index-C6ZPMc5Z.js +0 -108
  20. package/public-react/assets/index-D7_i8rqw.css +0 -32
  21. /package/{public-react → public}/icons/icon-192.png +0 -0
  22. /package/{public-react → public}/icons/icon-512.png +0 -0
  23. /package/{public-react → public}/icons/icon.svg +0 -0
  24. /package/{public-react → public}/manifest.webmanifest +0 -0
  25. /package/{public-react → public}/registerSW.js +0 -0
  26. /package/src/{client.js → cli/client.js} +0 -0
  27. /package/src/{interactive.js → cli/interactive.js} +0 -0
  28. /package/src/{prompts.js → cli/prompts.js} +0 -0
  29. /package/src/{resume.js → cli/resume.js} +0 -0
  30. /package/src/{git.js → utils/git.js} +0 -0
  31. /package/src/{logger.js → utils/logger.js} +0 -0
  32. /package/src/{shells.js → utils/shells.js} +0 -0
  33. /package/src/{update-check.js → utils/update-check.js} +0 -0
package/README.md CHANGED
@@ -74,7 +74,7 @@ termbeam -i # interactive setup wizard
74
74
  - **Command palette** (Ctrl+K / Cmd+K) for quick access to all actions
75
75
  - **File upload** — send files from your phone to the session's working directory
76
76
  - **Completion notifications** — browser alerts when background commands finish
77
- - **12 color themes** with adjustable font size
77
+ - **30 color themes** with adjustable font size
78
78
  - **Port preview** — reverse-proxy a local web server through TermBeam
79
79
  - **Image paste** from clipboard
80
80
 
package/bin/termbeam.js CHANGED
@@ -3,19 +3,19 @@
3
3
  // Dispatch subcommands before loading the server
4
4
  const subcommand = (process.argv[2] || '').toLowerCase();
5
5
  if (subcommand === 'service') {
6
- const { run } = require('../src/service');
6
+ const { run } = require('../src/cli/service');
7
7
  run(process.argv.slice(3)).catch((err) => {
8
8
  console.error(err.message);
9
9
  process.exit(1);
10
10
  });
11
11
  } else if (subcommand === 'resume' || subcommand === 'attach') {
12
- const { resume } = require('../src/resume');
12
+ const { resume } = require('../src/cli/resume');
13
13
  resume(process.argv.slice(3)).catch((err) => {
14
14
  console.error(err.message);
15
15
  process.exit(1);
16
16
  });
17
17
  } else if (subcommand === 'list') {
18
- const { list } = require('../src/resume');
18
+ const { list } = require('../src/cli/resume');
19
19
  list().catch((err) => {
20
20
  console.error(err.message);
21
21
  process.exit(1);
@@ -29,10 +29,10 @@ if (subcommand === 'service') {
29
29
  process.exit(1);
30
30
  }
31
31
 
32
- const { createTermBeamServer } = require('../src/server.js');
32
+ const { createTermBeamServer } = require('../src/server');
33
33
  const { parseArgs } = require('../src/cli');
34
- const { runInteractiveSetup } = require('../src/interactive');
35
- const { readConnectionConfig } = require('../src/resume');
34
+ const { runInteractiveSetup } = require('../src/cli/interactive');
35
+ const { readConnectionConfig } = require('../src/cli/resume');
36
36
  const http = require('http');
37
37
 
38
38
  function httpPost(url, headers) {
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "termbeam",
3
- "version": "1.12.1",
3
+ "version": "1.12.3",
4
4
  "description": "Beam your terminal to any device — mobile-optimized web terminal with multi-session support",
5
- "main": "src/server.js",
5
+ "main": "src/server/index.js",
6
6
  "bin": {
7
7
  "termbeam": "./bin/termbeam.js"
8
8
  },
9
9
  "scripts": {
10
10
  "start": "node bin/termbeam.js",
11
11
  "dev": "node bin/termbeam.js --generate-password",
12
- "test": "node -e \"require('child_process').execFileSync(process.execPath,['--test',...require('fs').readdirSync('test').filter(f=>f.endsWith('.test.js')&&!f.startsWith('e2e-')&&f!=='devtunnel-install.test.js').map(f=>'test/'+f)],{stdio:'inherit'})\"",
13
- "test:coverage": "c8 --exclude=src/tunnel.js --exclude=src/devtunnel-install.js --exclude=test --reporter=text --reporter=lcov --reporter=json-summary --reporter=json node -e \"require('child_process').execFileSync(process.execPath,['--test','--test-reporter=spec','--test-reporter-destination=stdout',...require('fs').readdirSync('test').filter(f=>f.endsWith('.test.js')&&!f.startsWith('e2e-')&&f!=='devtunnel-install.test.js').map(f=>'test/'+f)],{stdio:'inherit'})\"",
12
+ "test": "node -e \"const{execFileSync:r}=require('child_process'),{readdirSync:d,statSync:s}=require('fs'),{join:j}=require('path');function f(p){let a=[];for(const e of d(p)){const c=j(p,e);s(c).isDirectory()?a.push(...f(c)):e.endsWith('.test.js')&&!e.startsWith('e2e-')&&e!=='devtunnel-install.test.js'&&a.push(c)}return a}r(process.execPath,['--test',...f('test')],{stdio:'inherit'})\"",
13
+ "test:coverage": "c8 --exclude=src/tunnel/ --exclude=test --reporter=text --reporter=lcov --reporter=json-summary --reporter=json node -e \"const{execFileSync:r}=require('child_process'),{readdirSync:d,statSync:s}=require('fs'),{join:j}=require('path');function f(p){let a=[];for(const e of d(p)){const c=j(p,e);s(c).isDirectory()?a.push(...f(c)):e.endsWith('.test.js')&&!e.startsWith('e2e-')&&e!=='devtunnel-install.test.js'&&a.push(c)}return a}r(process.execPath,['--test','--test-reporter=spec','--test-reporter-destination=stdout',...f('test')],{stdio:'inherit'})\"",
14
14
  "prepare": "husky",
15
15
  "format": "prettier --write .",
16
- "lint": "node --check src/*.js bin/*.js",
17
- "build:frontend": "cd frontend && npm ci && npm run build",
16
+ "lint": "node --check src/server/*.js src/cli/*.js src/tunnel/*.js src/utils/*.js bin/*.js",
17
+ "build:frontend": "cd src/frontend && npm ci && npm run build",
18
18
  "prepublishOnly": "npm run build:frontend && npm test",
19
19
  "postinstall": "node -e \"try{const p=require('path'),fs=require('fs'),r=require.resolve('node-pty/package.json'),d=p.join(p.dirname(r),'prebuilds');if(fs.existsSync(d)){for(const a of fs.readdirSync(d)){const s=p.join(d,a,'spawn-helper');try{fs.chmodSync(s,0o755)}catch{}}}}catch{}\""
20
20
  },
@@ -52,8 +52,11 @@
52
52
  },
53
53
  "files": [
54
54
  "bin/",
55
- "src/",
56
- "public-react/",
55
+ "src/server/",
56
+ "src/cli/",
57
+ "src/tunnel/",
58
+ "src/utils/",
59
+ "public/",
57
60
  "LICENSE",
58
61
  "README.md"
59
62
  ],