chore: testing

This commit is contained in:
Bill Church 2024-07-08 16:48:17 -04:00
parent cb5c1fa809
commit 5bbfcee0b6
No known key found for this signature in database
12 changed files with 2051 additions and 8650 deletions

View file

@ -23,6 +23,7 @@ jobs:
package-name: webssh2 package-name: webssh2
path: app path: app
default-branch: main default-branch: main
release-type: node
publish: publish:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
needs: release needs: release

BIN
app/bun.lockb Executable file

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -1,5 +0,0 @@
/*!
* Font Awesome Free 6.1.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc.
*/

View file

@ -140,7 +140,7 @@
cursor: crosshair; cursor: crosshair;
} }
.xterm .xterm-accessibility, .xterm .xterm-accessibility:not(.debug),
.xterm .xterm-message { .xterm .xterm-message {
position: absolute; position: absolute;
left: 0; left: 0;
@ -149,6 +149,16 @@
right: 0; right: 0;
z-index: 10; z-index: 10;
color: transparent; color: transparent;
pointer-events: none;
}
.xterm .xterm-accessibility-tree:not(.debug) *::selection {
color: transparent;
}
.xterm .xterm-accessibility-tree {
user-select: text;
white-space: pre;
} }
.xterm .live-region { .xterm .live-region {
@ -160,13 +170,27 @@
} }
.xterm-dim { .xterm-dim {
opacity: 0.5; /* Dim should not apply to background, so the opacity of the foreground color is applied
* explicitly in the generated class and reset to 1 here */
opacity: 1 !important;
} }
.xterm-underline { .xterm-underline-1 { text-decoration: underline; }
text-decoration: underline; .xterm-underline-2 { text-decoration: double underline; }
.xterm-underline-3 { text-decoration: wavy underline; }
.xterm-underline-4 { text-decoration: dotted underline; }
.xterm-underline-5 { text-decoration: dashed underline; }
.xterm-overline {
text-decoration: overline;
} }
.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }
.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }
.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }
.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }
.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }
.xterm-strikethrough { .xterm-strikethrough {
text-decoration: line-through; text-decoration: line-through;
} }
@ -176,8 +200,12 @@
position: absolute; position: absolute;
} }
.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {
z-index: 7;
}
.xterm-decoration-overview-ruler { .xterm-decoration-overview-ruler {
z-index: 7; z-index: 8;
position: absolute; position: absolute;
top: 0; top: 0;
right: 0; right: 0;

View file

@ -1,7 +1,7 @@
/* eslint-disable import/no-extraneous-dependencies */ /* eslint-disable import/no-extraneous-dependencies */
import { io } from 'socket.io-client'; import { io } from 'socket.io-client';
import { Terminal } from 'xterm'; import { Terminal } from '@xterm/xterm';
import { FitAddon } from 'xterm-addon-fit'; import { FitAddon } from '@xterm/addon-fit';
import { library, dom } from '@fortawesome/fontawesome-svg-core'; import { library, dom } from '@fortawesome/fontawesome-svg-core';
import { faBars, faClipboard, faDownload, faKey, faCog } from '@fortawesome/free-solid-svg-icons'; import { faBars, faClipboard, faDownload, faKey, faCog } from '@fortawesome/free-solid-svg-icons';
@ -9,7 +9,7 @@ library.add(faBars, faClipboard, faDownload, faKey, faCog);
dom.watch(); dom.watch();
const debug = require('debug')('WebSSH2'); const debug = require('debug')('WebSSH2');
require('xterm/css/xterm.css'); require('@xterm/xterm/css/xterm.css');
require('../css/style.css'); require('../css/style.css');
/* global Blob, logBtn, credentialsBtn, reauthBtn, downloadLogBtn */ // eslint-disable-line /* global Blob, logBtn, credentialsBtn, reauthBtn, downloadLogBtn */ // eslint-disable-line

10573
app/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{ {
"name": "webssh2", "name": "webssh2",
"version": "0.5.0-pre-5", "version": "0.6.0-pre-1",
"ignore": [ "ignore": [
".gitignore" ".gitignore"
], ],
@ -35,14 +35,15 @@
"basic-auth": "~2.0.1", "basic-auth": "~2.0.1",
"cidr-matcher": "^2.1.1", "cidr-matcher": "^2.1.1",
"debug": "^4.3.4", "debug": "^4.3.4",
"express": "^4.18.1", "express": "^4.19.2",
"express-session": "^1.17.3", "express-session": "^1.18.0",
"morgan": "~1.10.0", "morgan": "~1.10.0",
"read-config-ng": "^3.0.5", "read-config-ng": "^3.0.7",
"serve-favicon": "^2.5.0", "serve-favicon": "^2.5.0",
"socket.io": "^4.5.1", "socket.io": "^4.7.5",
"ssh2": "^1.11.0", "ssh2": "^1.15.0",
"validator": "^13.7.0" "validator": "^13.11.0",
"winston": "^3.13.0"
}, },
"scripts": { "scripts": {
"start": "node index.js", "start": "node index.js",
@ -55,34 +56,34 @@
"release": "standard-version" "release": "standard-version"
}, },
"devDependencies": { "devDependencies": {
"@fortawesome/fontawesome-svg-core": "^6.1.2", "@fortawesome/fontawesome-svg-core": "^6.5.2",
"@fortawesome/free-solid-svg-icons": "^6.1.2", "@fortawesome/free-solid-svg-icons": "^6.5.2",
"@typescript-eslint/eslint-plugin": "^5.32.0", "@typescript-eslint/eslint-plugin": "^7.7.1",
"@typescript-eslint/parser": "^5.32.0", "@typescript-eslint/parser": "^7.7.1",
"@xterm/addon-fit": "^0.10.0",
"@xterm/xterm": "^5.5.0",
"clean-webpack-plugin": "^4.0.0", "clean-webpack-plugin": "^4.0.0",
"copy-webpack-plugin": "^11.0.0", "copy-webpack-plugin": "^12.0.2",
"css-loader": "^6.7.1", "css-loader": "^7.1.1",
"eslint": "^8.21.0", "eslint": "^8.56.0",
"eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "^4.2.1", "eslint-plugin-prettier": "^5.1.3",
"mini-css-extract-plugin": "^2.6.1", "mini-css-extract-plugin": "^2.9.0",
"nodaemon": "0.0.5", "nodaemon": "0.0.5",
"npm-check-updates": "^16.13.0", "npm-check-updates": "^16.14.20",
"prettier": "^2.7.1", "prettier": "^3.2.5",
"snazzy": "^9.0.0", "snazzy": "^9.0.0",
"snyk": "^1.982.0", "snyk": "^1.1290.0",
"socket.io-client": "^4.5.1", "socket.io-client": "^4.7.5",
"source-map-loader": "^4.0.0", "source-map-loader": "^5.0.0",
"standard-version": "^9.5.0", "standard-version": "^9.5.0",
"terser-webpack-plugin": "^5.3.3", "terser-webpack-plugin": "^5.3.10",
"ts-loader": "^9.3.1", "ts-loader": "^9.5.1",
"typescript": "^4.7.4", "typescript": "^5.4.5",
"webpack": "^5.74.0", "webpack": "^5.91.0",
"webpack-cli": "^4.10.0", "webpack-cli": "^5.1.4",
"webpack-merge": "^5.8.0", "webpack-merge": "^5.10.0"
"xterm": "^4.19.0",
"xterm-addon-fit": "^0.5.0"
} }
} }

View file

@ -13,7 +13,7 @@ const express = require('express');
const logger = require('morgan'); const logger = require('morgan');
const app = express(); const app = express();
const server = require('http').Server(app); const server = require('http').createServer(app);
const favicon = require('serve-favicon'); const favicon = require('serve-favicon');
const io = require('socket.io')(server, config.socketio); const io = require('socket.io')(server, config.socketio);
const session = require('express-session')(config.express); const session = require('express-session')(config.express);

View file

@ -105,7 +105,7 @@ module.exports = function appSocket(socket) {
socket.emit('data', data.replace(/\r?\n/g, '\r\n').toString('utf-8')); socket.emit('data', data.replace(/\r?\n/g, '\r\n').toString('utf-8'));
}); });
conn.on('handshake', (data => { conn.on('handshake', () => {
socket.emit('setTerminalOpts', socket.request.session.ssh.terminal); socket.emit('setTerminalOpts', socket.request.session.ssh.terminal);
socket.emit('menu'); socket.emit('menu');
socket.emit('allowreauth', socket.request.session.ssh.allowreauth); socket.emit('allowreauth', socket.request.session.ssh.allowreauth);
@ -118,7 +118,7 @@ module.exports = function appSocket(socket) {
'footer', 'footer',
`ssh://${socket.request.session.username}@${socket.request.session.ssh.host}:${socket.request.session.ssh.port}` `ssh://${socket.request.session.username}@${socket.request.session.ssh.host}:${socket.request.session.ssh.port}`
); );
})); });
conn.on('ready', () => { conn.on('ready', () => {
webssh2debug( webssh2debug(

BIN
bun.lockb Executable file

Binary file not shown.

6
package.json Normal file
View file

@ -0,0 +1,6 @@
{
"dependencies": {},
"devDependencies": {
"bun-types": "^1.0.1"
}
}