mirror of
https://github.com/yudai/gotty.git
synced 2026-02-08 17:34:20 +01:00
Update typescript, webpack, and asset building
This commit is contained in:
parent
f3af8fcafd
commit
d9fe29e9c7
14 changed files with 1144 additions and 2257 deletions
88
js/dist/gotty-bundle.js
vendored
88
js/dist/gotty-bundle.js
vendored
File diff suppressed because one or more lines are too long
24
js/dist/hterm.d.ts
vendored
24
js/dist/hterm.d.ts
vendored
|
|
@ -1,24 +0,0 @@
|
|||
import * as bare from "libapps";
|
||||
export declare class Hterm {
|
||||
elem: HTMLElement;
|
||||
term: bare.hterm.Terminal;
|
||||
io: bare.hterm.IO;
|
||||
columns: number;
|
||||
rows: number;
|
||||
message: string;
|
||||
constructor(elem: HTMLElement);
|
||||
info(): {
|
||||
columns: number;
|
||||
rows: number;
|
||||
};
|
||||
output(data: string): void;
|
||||
showMessage(message: string, timeout: number): void;
|
||||
removeMessage(): void;
|
||||
setWindowTitle(title: string): void;
|
||||
setPreferences(value: object): void;
|
||||
onInput(callback: (input: string) => void): void;
|
||||
onResize(callback: (colmuns: number, rows: number) => void): void;
|
||||
deactivate(): void;
|
||||
reset(): void;
|
||||
close(): void;
|
||||
}
|
||||
0
js/dist/main.d.ts
vendored
0
js/dist/main.d.ts
vendored
17
js/dist/websocket.d.ts
vendored
17
js/dist/websocket.d.ts
vendored
|
|
@ -1,17 +0,0 @@
|
|||
export declare class ConnectionFactory {
|
||||
url: string;
|
||||
protocols: string[];
|
||||
constructor(url: string, protocols: string[]);
|
||||
create(): Connection;
|
||||
}
|
||||
export declare class Connection {
|
||||
bare: WebSocket;
|
||||
constructor(url: string, protocols: string[]);
|
||||
open(): void;
|
||||
close(): void;
|
||||
send(data: string): void;
|
||||
isOpen(): boolean;
|
||||
onOpen(callback: () => void): void;
|
||||
onReceive(callback: (data: string) => void): void;
|
||||
onClose(callback: () => void): void;
|
||||
}
|
||||
50
js/dist/webtty.d.ts
vendored
50
js/dist/webtty.d.ts
vendored
|
|
@ -1,50 +0,0 @@
|
|||
export declare const protocols: string[];
|
||||
export declare const msgInputUnknown = "0";
|
||||
export declare const msgInput = "1";
|
||||
export declare const msgPing = "2";
|
||||
export declare const msgResizeTerminal = "3";
|
||||
export declare const msgUnknownOutput = "0";
|
||||
export declare const msgOutput = "1";
|
||||
export declare const msgPong = "2";
|
||||
export declare const msgSetWindowTitle = "3";
|
||||
export declare const msgSetPreferences = "4";
|
||||
export declare const msgSetReconnect = "5";
|
||||
export declare const msgSetBufferSize = "6";
|
||||
export interface Terminal {
|
||||
info(): {
|
||||
columns: number;
|
||||
rows: number;
|
||||
};
|
||||
output(data: string): void;
|
||||
showMessage(message: string, timeout: number): void;
|
||||
removeMessage(): void;
|
||||
setWindowTitle(title: string): void;
|
||||
setPreferences(value: object): void;
|
||||
onInput(callback: (input: string) => void): void;
|
||||
onResize(callback: (colmuns: number, rows: number) => void): void;
|
||||
reset(): void;
|
||||
deactivate(): void;
|
||||
close(): void;
|
||||
}
|
||||
export interface Connection {
|
||||
open(): void;
|
||||
close(): void;
|
||||
send(data: string): void;
|
||||
isOpen(): boolean;
|
||||
onOpen(callback: () => void): void;
|
||||
onReceive(callback: (data: string) => void): void;
|
||||
onClose(callback: () => void): void;
|
||||
}
|
||||
export interface ConnectionFactory {
|
||||
create(): Connection;
|
||||
}
|
||||
export declare class WebTTY {
|
||||
term: Terminal;
|
||||
connectionFactory: ConnectionFactory;
|
||||
args: string;
|
||||
authToken: string;
|
||||
reconnect: number;
|
||||
bufSize: number;
|
||||
constructor(term: Terminal, connectionFactory: ConnectionFactory, args: string, authToken: string);
|
||||
open(): () => void;
|
||||
}
|
||||
26
js/dist/xterm.d.ts
vendored
26
js/dist/xterm.d.ts
vendored
|
|
@ -1,26 +0,0 @@
|
|||
import * as bare from "xterm";
|
||||
import { lib } from "libapps";
|
||||
export declare class Xterm {
|
||||
elem: HTMLElement;
|
||||
term: bare;
|
||||
resizeListener: () => void;
|
||||
decoder: lib.UTF8Decoder;
|
||||
message: HTMLElement;
|
||||
messageTimeout: number;
|
||||
messageTimer: number;
|
||||
constructor(elem: HTMLElement);
|
||||
info(): {
|
||||
columns: number;
|
||||
rows: number;
|
||||
};
|
||||
output(data: string): void;
|
||||
showMessage(message: string, timeout: number): void;
|
||||
removeMessage(): void;
|
||||
setWindowTitle(title: string): void;
|
||||
setPreferences(value: object): void;
|
||||
onInput(callback: (input: string) => void): void;
|
||||
onResize(callback: (colmuns: number, rows: number) => void): void;
|
||||
deactivate(): void;
|
||||
reset(): void;
|
||||
close(): void;
|
||||
}
|
||||
3106
js/package-lock.json
generated
3106
js/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -1,13 +1,18 @@
|
|||
{
|
||||
"name": "gotty",
|
||||
"version": "2.0.0",
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
"license-loader": "^0.5.0",
|
||||
"ts-loader": "^2.0.3",
|
||||
"typescript": "^2.3.2",
|
||||
"uglifyjs-webpack-plugin": "^1.0.0-beta.2",
|
||||
"webpack": "^2.5.1"
|
||||
"ts-loader": "^8.1.0",
|
||||
"typescript": "^4.2.4",
|
||||
"webpack": "^5.33.2",
|
||||
"webpack-cli": "^4.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"css-loader": "^5.2.1",
|
||||
"libapps": "github:yudai/libapps#release-hterm-1.70",
|
||||
"style-loader": "^2.0.0",
|
||||
"xterm": "^2.7.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,8 +62,8 @@ export class WebTTY {
|
|||
|
||||
open() {
|
||||
let connection = this.connectionFactory.create();
|
||||
let pingTimer: number;
|
||||
let reconnectTimeout: number;
|
||||
let pingTimer: NodeJS.Timeout;
|
||||
let reconnectTimeout: NodeJS.Timeout;
|
||||
|
||||
const setup = () => {
|
||||
connection.onOpen(() => {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ export class Xterm {
|
|||
|
||||
message: HTMLElement;
|
||||
messageTimeout: number;
|
||||
messageTimer: number;
|
||||
messageTimer: NodeJS.Timeout;
|
||||
|
||||
|
||||
constructor(elem: HTMLElement) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"outDir": "./dist/",
|
||||
"strictNullChecks": true,
|
||||
"noUnusedLocals" : true,
|
||||
"noImplicitThis": true,
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: "./src/main.ts",
|
||||
entry: {
|
||||
"gotty": "./src/main.ts",
|
||||
},
|
||||
output: {
|
||||
filename: "./dist/gotty-bundle.js"
|
||||
path: path.resolve(__dirname, '../bindata/static/js/'),
|
||||
},
|
||||
devtool: "source-map",
|
||||
resolve: {
|
||||
|
|
@ -16,14 +19,15 @@ module.exports = {
|
|||
loader: "ts-loader",
|
||||
exclude: /node_modules/
|
||||
},
|
||||
{
|
||||
test: /\.css$/i,
|
||||
use: ["style-loader", "css-loader"],
|
||||
},
|
||||
{
|
||||
test: /\.js$/,
|
||||
include: /node_modules/,
|
||||
loader: 'license-loader'
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
},
|
||||
plugins: [
|
||||
new UglifyJSPlugin()
|
||||
]
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue