Update typescript, webpack, and asset building

This commit is contained in:
Soren L. Hansen 2021-04-16 06:49:17 -07:00
parent f3af8fcafd
commit d9fe29e9c7
14 changed files with 1144 additions and 2257 deletions

File diff suppressed because one or more lines are too long

24
js/dist/hterm.d.ts vendored
View file

@ -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
View file

View file

@ -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
View file

@ -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
View file

@ -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

File diff suppressed because it is too large Load diff

View file

@ -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"
}
}

View file

@ -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(() => {

View file

@ -12,7 +12,7 @@ export class Xterm {
message: HTMLElement;
messageTimeout: number;
messageTimer: number;
messageTimer: NodeJS.Timeout;
constructor(elem: HTMLElement) {

View file

@ -1,5 +1,6 @@
{
"compilerOptions": {
"outDir": "./dist/",
"strictNullChecks": true,
"noUnusedLocals" : true,
"noImplicitThis": true,

View file

@ -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()
]
};