summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2018-09-06 16:17:43 +0200
committerPierre Ossman <ossman@cendio.se>2018-09-06 16:37:38 +0200
commit7b536961b2219f33423a7c0709e06779def1c887 (patch)
treef3ecc45a9491362a9a052b4f0f7f47d219dc3b94
parent1404984668522f8aab66cf195aa5bd29f02f961c (diff)
downloadnovnc-7b536961b2219f33423a7c0709e06779def1c887.tar.gz
Enforce indentation
-rw-r--r--.eslintrc5
-rw-r--r--app/localization.js2
-rw-r--r--core/input/keyboard.js28
-rw-r--r--core/rfb.js30
-rw-r--r--core/util/eventtarget.js48
-rw-r--r--tests/assertions.js30
-rw-r--r--tests/playback.js4
-rw-r--r--tests/test.helper.js2
-rw-r--r--tests/test.rfb.js66
-rw-r--r--tests/test.websock.js10
-rwxr-xr-xutils/genkeysymdef.js34
-rwxr-xr-xutils/use_require.js264
-rw-r--r--utils/use_require_helpers.js36
13 files changed, 282 insertions, 277 deletions
diff --git a/.eslintrc b/.eslintrc
index f1e3073..a3990b6 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -24,5 +24,10 @@
// Enforced coding style
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
+ "indent": ["error", 4, { "SwitchCase": 1,
+ "CallExpression": { "arguments": "first" },
+ "ArrayExpression": "first",
+ "ObjectExpression": "first",
+ "ignoreComments": true }],
}
}
diff --git a/app/localization.js b/app/localization.js
index 6bc8d55..8f424b3 100644
--- a/app/localization.js
+++ b/app/localization.js
@@ -132,7 +132,7 @@ export class Localizer {
}
if (elem.hasAttribute("label") &&
isAnyOf(elem.tagName, ["MENUITEM", "MENU", "OPTGROUP",
- "OPTION", "TRACK"])) {
+ "OPTION", "TRACK"])) {
translateAttribute(elem, "label");
}
// FIXME: Should update "lang"
diff --git a/core/input/keyboard.js b/core/input/keyboard.js
index 2e7b90a..f8a6582 100644
--- a/core/input/keyboard.js
+++ b/core/input/keyboard.js
@@ -140,18 +140,18 @@ export default class Keyboard {
// possibly others).
if (browser.isMac()) {
switch (keysym) {
- case KeyTable.XK_Super_L:
- keysym = KeyTable.XK_Alt_L;
- break;
- case KeyTable.XK_Super_R:
- keysym = KeyTable.XK_Super_L;
- break;
- case KeyTable.XK_Alt_L:
- keysym = KeyTable.XK_Mode_switch;
- break;
- case KeyTable.XK_Alt_R:
- keysym = KeyTable.XK_ISO_Level3_Shift;
- break;
+ case KeyTable.XK_Super_L:
+ keysym = KeyTable.XK_Alt_L;
+ break;
+ case KeyTable.XK_Super_R:
+ keysym = KeyTable.XK_Super_L;
+ break;
+ case KeyTable.XK_Alt_L:
+ keysym = KeyTable.XK_Mode_switch;
+ break;
+ case KeyTable.XK_Alt_R:
+ keysym = KeyTable.XK_ISO_Level3_Shift;
+ break;
}
}
@@ -313,8 +313,8 @@ export default class Keyboard {
}
const event = new KeyboardEvent('keyup',
- { key: downList[code],
- code: code });
+ { key: downList[code],
+ code: code });
target.dispatchEvent(event);
});
}
diff --git a/core/rfb.js b/core/rfb.js
index a52c00d..f9a134b 100644
--- a/core/rfb.js
+++ b/core/rfb.js
@@ -166,7 +166,7 @@ export default class RFB extends EventTargetMixin {
this._canvas.tabIndex = -1;
this._screen.appendChild(this._canvas);
- this._cursor = new Cursor();
+ this._cursor = new Cursor();
// populate encHandlers with bound versions
this._encHandlers[encodings.encodingRaw] = RFB.encodingHandlers.RAW.bind(this);
@@ -966,7 +966,7 @@ export default class RFB extends EventTargetMixin {
this.dispatchEvent(new CustomEvent(
"credentialsrequired",
{ detail: { types: ["username", "password", "target"] } }));
- return false;
+ return false;
}
const xvp_auth_str = String.fromCharCode(this._rfb_credentials.username.length) +
@@ -1938,7 +1938,7 @@ RFB.encodingHandlers = {
if (this._sock.rQwait("RAW", this._FBU.bytes)) { return false; }
const cur_y = this._FBU.y + (this._FBU.height - this._FBU.lines);
const curr_height = Math.min(this._FBU.lines,
- Math.floor(this._sock.rQlen() / (this._FBU.width * pixelSize)));
+ Math.floor(this._sock.rQlen() / (this._FBU.width * pixelSize)));
let data = this._sock.get_rQ();
let index = this._sock.get_rQi();
if (this._fb_depth == 8) {
@@ -2488,18 +2488,18 @@ RFB.encodingHandlers = {
let msg = "";
// The y-position indicates the status code from the server
switch (this._FBU.y) {
- case 1:
- msg = "Resize is administratively prohibited";
- break;
- case 2:
- msg = "Out of resources";
- break;
- case 3:
- msg = "Invalid screen layout";
- break;
- default:
- msg = "Unknown reason";
- break;
+ case 1:
+ msg = "Resize is administratively prohibited";
+ break;
+ case 2:
+ msg = "Out of resources";
+ break;
+ case 3:
+ msg = "Invalid screen layout";
+ break;
+ default:
+ msg = "Unknown reason";
+ break;
}
Log.Warn("Server did not accept the resize request: "
+ msg);
diff --git a/core/util/eventtarget.js b/core/util/eventtarget.js
index bb8d6e0..3e927f0 100644
--- a/core/util/eventtarget.js
+++ b/core/util/eventtarget.js
@@ -11,30 +11,30 @@ export default class EventTargetMixin {
this._listeners = null;
}
- addEventListener(type, callback) {
- if (!this._listeners) {
- this._listeners = new Map();
- }
- if (!this._listeners.has(type)) {
- this._listeners.set(type, new Set());
- }
- this._listeners.get(type).add(callback);
- }
+ addEventListener(type, callback) {
+ if (!this._listeners) {
+ this._listeners = new Map();
+ }
+ if (!this._listeners.has(type)) {
+ this._listeners.set(type, new Set());
+ }
+ this._listeners.get(type).add(callback);
+ }
- removeEventListener(type, callback) {
- if (!this._listeners || !this._listeners.has(type)) {
- return;
- }
- this._listeners.get(type).delete(callback);
- }
+ removeEventListener(type, callback) {
+ if (!this._listeners || !this._listeners.has(type)) {
+ return;
+ }
+ this._listeners.get(type).delete(callback);
+ }
- dispatchEvent(event) {
- if (!this._listeners || !this._listeners.has(event.type)) {
- return true;
- }
- this._listeners.get(event.type).forEach((callback) => {
- callback.call(this, event);
- }, this);
- return !event.defaultPrevented;
- }
+ dispatchEvent(event) {
+ if (!this._listeners || !this._listeners.has(event.type)) {
+ return true;
+ }
+ this._listeners.get(event.type).forEach((callback) => {
+ callback.call(this, event);
+ }, this);
+ return !event.defaultPrevented;
+ }
}
diff --git a/tests/assertions.js b/tests/assertions.js
index 9174824..07a5c29 100644
--- a/tests/assertions.js
+++ b/tests/assertions.js
@@ -20,17 +20,17 @@ chai.use(function (_chai, utils) {
console.log("expected data: %o, actual data: %o", target_data, data);
}
this.assert(same,
- "expected #{this} to have displayed the image #{exp}, but instead it displayed #{act}",
- "expected #{this} not to have displayed the image #{act}",
- target_data,
- data);
+ "expected #{this} to have displayed the image #{exp}, but instead it displayed #{act}",
+ "expected #{this} not to have displayed the image #{act}",
+ target_data,
+ data);
});
_chai.Assertion.addMethod('sent', function (target_data) {
const obj = this._obj;
obj.inspect = () => {
const res = { _websocket: obj._websocket, rQi: obj._rQi, _rQ: new Uint8Array(obj._rQ.buffer, 0, obj._rQlen),
- _sQ: new Uint8Array(obj._sQ.buffer, 0, obj._sQlen) };
+ _sQ: new Uint8Array(obj._sQ.buffer, 0, obj._sQlen) };
res.prototype = obj;
return res;
};
@@ -51,10 +51,10 @@ chai.use(function (_chai, utils) {
console.log("expected data: %o, actual data: %o", target_data, data);
}
this.assert(same,
- "expected #{this} to have sent the data #{exp}, but it actually sent #{act}",
- "expected #{this} not to have sent the data #{act}",
- Array.prototype.slice.call(target_data),
- Array.prototype.slice.call(data));
+ "expected #{this} to have sent the data #{exp}, but it actually sent #{act}",
+ "expected #{this} not to have sent the data #{act}",
+ Array.prototype.slice.call(target_data),
+ Array.prototype.slice.call(data));
});
_chai.Assertion.addProperty('array', function () {
@@ -77,9 +77,9 @@ chai.use(function (_chai, utils) {
}
this.assert(same,
- "expected #{this} to have elements deeply equal to #{exp}",
- "expected #{this} not to have elements deeply equal to #{exp}",
- Array.prototype.slice.call(target));
+ "expected #{this} to have elements deeply equal to #{exp}",
+ "expected #{this} not to have elements deeply equal to #{exp}",
+ Array.prototype.slice.call(target));
} else {
for (let i = 0; i < obj.length; i++) {
if (obj[i] != target[i]) {
@@ -89,9 +89,9 @@ chai.use(function (_chai, utils) {
}
this.assert(same,
- "expected #{this} to have elements equal to #{exp}",
- "expected #{this} not to have elements equal to #{exp}",
- Array.prototype.slice.call(target));
+ "expected #{this} to have elements equal to #{exp}",
+ "expected #{this} not to have elements equal to #{exp}",
+ Array.prototype.slice.call(target));
}
} else {
_super.apply(this, arguments);
diff --git a/tests/playback.js b/tests/playback.js
index 94b75be..5c2c29d 100644
--- a/tests/playback.js
+++ b/tests/playback.js
@@ -51,8 +51,8 @@ export default class RecordingPlayer {
this._disconnected = disconnected;
if (this._encoding === undefined) {
- const frame = this._frames[0];
- const start = frame.indexOf('{', 1) + 1;
+ const frame = this._frames[0];
+ const start = frame.indexOf('{', 1) + 1;
if (frame.slice(start).startsWith('UkZC')) {
this._encoding = 'base64';
} else {
diff --git a/tests/test.helper.js b/tests/test.helper.js
index b04005d..4aff093 100644
--- a/tests/test.helper.js
+++ b/tests/test.helper.js
@@ -11,7 +11,7 @@ describe('Helpers', function() {
it('should map ASCII characters to keysyms', function() {
expect(keysyms.lookup('a'.charCodeAt())).to.be.equal(0x61);
expect(keysyms.lookup('A'.charCodeAt())).to.be.equal(0x41);
- });
+ });
it('should map Latin-1 characters to keysyms', function() {
expect(keysyms.lookup('ΓΈ'.charCodeAt())).to.be.equal(0xf8);
diff --git a/tests/test.rfb.js b/tests/test.rfb.js
index 03a0176..5bdb6ab 100644
--- a/tests/test.rfb.js
+++ b/tests/test.rfb.js
@@ -30,15 +30,15 @@ function push8(arr, num) {
function push16(arr, num) {
"use strict";
arr.push((num >> 8) & 0xFF,
- num & 0xFF);
+ num & 0xFF);
}
function push32(arr, num) {
"use strict";
arr.push((num >> 24) & 0xFF,
- (num >> 16) & 0xFF,
- (num >> 8) & 0xFF,
- num & 0xFF);
+ (num >> 16) & 0xFF,
+ (num >> 8) & 0xFF,
+ num & 0xFF);
}
describe('Remote Frame Buffer Protocol Client', function() {
@@ -286,7 +286,7 @@ describe('Remote Frame Buffer Protocol Client', function() {
describe('#clipboardPasteFrom', function () {
it('should send the given text in a paste event', function () {
const expected = {_sQ: new Uint8Array(11), _sQlen: 0,
- _sQbufferSize: 11, flush: () => {}};
+ _sQbufferSize: 11, flush: () => {}};
RFB.messages.clientCutText(expected, 'abc');
client.clipboardPasteFrom('abc');
expect(client._sock).to.have.sent(expected._sQ);
@@ -376,10 +376,10 @@ describe('Remote Frame Buffer Protocol Client', function() {
it('should update the viewport when the remote session resizes', function () {
// Simple ExtendedDesktopSize FBU message
const incoming = [ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xcc,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
- 0x00, 0x00, 0x00, 0x00 ];
+ 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xcc,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00 ];
sinon.spy(client._display, "viewportChangeSize");
@@ -566,10 +566,10 @@ describe('Remote Frame Buffer Protocol Client', function() {
it('should update the scaling when the remote session resizes', function () {
// Simple ExtendedDesktopSize FBU message
const incoming = [ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xcc,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
- 0x00, 0x00, 0x00, 0x00 ];
+ 0x00, 0xff, 0x00, 0xff, 0xff, 0xff, 0xfe, 0xcc,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00 ];
sinon.spy(client._display, "autoscale");
@@ -619,10 +619,10 @@ describe('Remote Frame Buffer Protocol Client', function() {
it('should request a resize when initially connecting', function () {
// Simple ExtendedDesktopSize FBU message
const incoming = [ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x04, 0xff, 0xff, 0xfe, 0xcc,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x00 ];
+ 0x00, 0x04, 0x00, 0x04, 0xff, 0xff, 0xfe, 0xcc,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00 ];
// First message should trigger a resize
@@ -715,10 +715,10 @@ describe('Remote Frame Buffer Protocol Client', function() {
it('should not try to override a server resize', function () {
// Simple ExtendedDesktopSize FBU message
const incoming = [ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x04, 0xff, 0xff, 0xfe, 0xcc,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x00 ];
+ 0x00, 0x04, 0x00, 0x04, 0xff, 0xff, 0xfe, 0xcc,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00 ];
client._sock._websocket._receive_data(new Uint8Array(incoming));
@@ -827,7 +827,7 @@ describe('Remote Frame Buffer Protocol Client', function() {
describe('connecting', function () {
it('should open the websocket connection', function () {
const client = new RFB(document.createElement('div'),
- 'ws://HOST:8675/PATH');
+ 'ws://HOST:8675/PATH');
sinon.spy(client._sock, 'open');
this.clock.tick();
expect(client._sock.open).to.have.been.calledOnce;
@@ -1357,7 +1357,7 @@ describe('Remote Frame Buffer Protocol Client', function() {
const spy = sinon.spy();
client.addEventListener("securityfailure", spy);
const failure_data = [0, 0, 0, 1, 0, 0, 0, 12, 115, 117, 99, 104,
- 32, 102, 97, 105, 108, 117, 114, 101];
+ 32, 102, 97, 105, 108, 117, 114, 101];
client._sock._websocket._receive_data(new Uint8Array(failure_data));
expect(spy.args[0][0].detail.status).to.equal(1);
expect(spy.args[0][0].detail.reason).to.equal('such failure');
@@ -1416,8 +1416,8 @@ describe('Remote Frame Buffer Protocol Client', function() {
function send_server_init(opts, client) {
const full_opts = { width: 10, height: 12, bpp: 24, depth: 24, big_endian: 0,
- true_color: 1, red_max: 255, green_max: 255, blue_max: 255,
- red_shift: 16, green_shift: 8, blue_shift: 0, name: 'a name' };
+ true_color: 1, red_max: 255, green_max: 255, blue_max: 255,
+ red_shift: 16, green_shift: 8, blue_shift: 0, name: 'a name' };
for (let opt in opts) {
full_opts[opt] = opts[opt];
}
@@ -1664,7 +1664,7 @@ describe('Remote Frame Buffer Protocol Client', function() {
client._display.blitRgbxImage(0, 0, 4, 2, new Uint8Array(target_data_check_arr.slice(0, 32)), 0);
const info = [{ x: 0, y: 2, width: 2, height: 2, encoding: 0x01},
- { x: 2, y: 2, width: 2, height: 2, encoding: 0x01}];
+ { x: 2, y: 2, width: 2, height: 2, encoding: 0x01}];
// data says [{ old_x: 2, old_y: 0 }, { old_x: 0, old_y: 0 }]
const rects = [[0, 2, 0, 0], [0, 0, 0, 0]];
send_fbu_msg([info[0]], [rects[0]], client, 2);
@@ -1683,9 +1683,9 @@ describe('Remote Frame Buffer Protocol Client', function() {
it('should handle the RAW encoding', function () {
const info = [{ x: 0, y: 0, width: 2, height: 2, encoding: 0x00 },
- { x: 2, y: 0, width: 2, height: 2, encoding: 0x00 },
- { x: 0, y: 2, width: 4, height: 1, encoding: 0x00 },
- { x: 0, y: 3, width: 4, height: 1, encoding: 0x00 }];
+ { x: 2, y: 0, width: 2, height: 2, encoding: 0x00 },
+ { x: 0, y: 2, width: 4, height: 1, encoding: 0x00 },
+ { x: 0, y: 3, width: 4, height: 1, encoding: 0x00 }];
// data is in bgrx
const rects = [
[0x00, 0x00, 0xff, 0, 0x00, 0xff, 0x00, 0, 0x00, 0xff, 0x00, 0, 0x00, 0x00, 0xff, 0],
@@ -1698,9 +1698,9 @@ describe('Remote Frame Buffer Protocol Client', function() {
it('should handle the RAW encoding in low colour mode', function () {
const info = [{ x: 0, y: 0, width: 2, height: 2, encoding: 0x00 },
- { x: 2, y: 0, width: 2, height: 2, encoding: 0x00 },
- { x: 0, y: 2, width: 4, height: 1, encoding: 0x00 },
- { x: 0, y: 3, width: 4, height: 1, encoding: 0x00 }];
+ { x: 2, y: 0, width: 2, height: 2, encoding: 0x00 },
+ { x: 0, y: 2, width: 4, height: 1, encoding: 0x00 },
+ { x: 0, y: 3, width: 4, height: 1, encoding: 0x00 }];
const rects = [
[0x03, 0x03, 0x03, 0x03],
[0x0c, 0x0c, 0x0c, 0x0c],
@@ -1716,7 +1716,7 @@ describe('Remote Frame Buffer Protocol Client', function() {
client._display.blitRgbxImage(0, 0, 4, 2, new Uint8Array(target_data_check_arr.slice(0, 32)), 0);
const info = [{ x: 0, y: 2, width: 2, height: 2, encoding: 0x01},
- { x: 2, y: 2, width: 2, height: 2, encoding: 0x01}];
+ { x: 2, y: 2, width: 2, height: 2, encoding: 0x01}];
// data says [{ old_x: 0, old_y: 0 }, { old_x: 0, old_y: 0 }]
const rects = [[0, 2, 0, 0], [0, 0, 0, 0]];
send_fbu_msg(info, rects, client);
diff --git a/tests/test.websock.js b/tests/test.websock.js
index b323279..8d2b157 100644
--- a/tests/test.websock.js
+++ b/tests/test.websock.js
@@ -19,9 +19,9 @@ describe('Websock', function() {
});
describe('rQlen', function () {
it('should return the length of the receive queue', function () {
- sock.set_rQi(0);
+ sock.set_rQi(0);
- expect(sock.rQlen()).to.equal(RQ_TEMPLATE.length);
+ expect(sock.rQlen()).to.equal(RQ_TEMPLATE.length);
});
it("should return the proper length if we read some from the receive queue", function () {
@@ -247,7 +247,7 @@ describe('Websock', function() {
describe('lifecycle methods', function () {
let old_WS;
before(function () {
- old_WS = WebSocket;
+ old_WS = WebSocket;
});
let sock;
@@ -357,8 +357,8 @@ describe('Websock', function() {
describe('WebSocket Receiving', function () {
let sock;
beforeEach(function () {
- sock = new Websock();
- sock._allocate_buffers();
+ sock = new Websock();
+ sock._allocate_buffers();
});
it('should support adding binary Uint8Array data to the receive queue', function () {
diff --git a/utils/genkeysymdef.js b/utils/genkeysymdef.js
index cd89a68..8ba4381 100755
--- a/utils/genkeysymdef.js
+++ b/utils/genkeysymdef.js
@@ -14,29 +14,29 @@ let show_help = process.argv.length === 2;
let filename;
for (let i = 2; i < process.argv.length; ++i) {
- switch (process.argv[i]) {
- case "--help":
- case "-h":
- show_help = true;
- break;
- case "--file":
- case "-f":
- default:
- filename = process.argv[i];
- }
+ switch (process.argv[i]) {
+ case "--help":
+ case "-h":
+ show_help = true;
+ break;
+ case "--file":
+ case "-f":
+ default:
+ filename = process.argv[i];
+ }
}
if (!filename) {
- show_help = true;
- console.log("Error: No filename specified\n");
+ show_help = true;
+ console.log("Error: No filename specified\n");
}
if (show_help) {
- console.log("Parses a *nix keysymdef.h to generate Unicode code point mappings");
- console.log("Usage: node parse.js [options] filename:");
- console.log(" -h [ --help ] Produce this help message");
- console.log(" filename The keysymdef.h file to parse");
- process.exit(0);
+ console.log("Parses a *nix keysymdef.h to generate Unicode code point mappings");
+ console.log("Usage: node parse.js [options] filename:");
+ console.log(" -h [ --help ] Produce this help message");
+ console.log(" filename The keysymdef.h file to parse");
+ process.exit(0);
}
const buf = fs.readFileSync(filename);
diff --git a/utils/use_require.js b/utils/use_require.js
index 0dbdb0a..f301e1d 100755
--- a/utils/use_require.js
+++ b/utils/use_require.js
@@ -71,17 +71,17 @@ const babelTransformFile = promisify(babel.transformFile);
// calling the callback for all normal files found.
function walkDir(base_path, cb, filter) {
return readdir(base_path)
- .then((files) => {
- const paths = files.map(filename => path.join(base_path, filename));
- return Promise.all(paths.map(filepath => lstat(filepath)
- .then((stats) => {
- if (filter !== undefined && !filter(filepath, stats)) return;
-
- if (stats.isSymbolicLink()) return;
- if (stats.isFile()) return cb(filepath);
- if (stats.isDirectory()) return walkDir(filepath, cb, filter);
- })));
- });
+ .then((files) => {
+ const paths = files.map(filename => path.join(base_path, filename));
+ return Promise.all(paths.map(filepath => lstat(filepath)
+ .then((stats) => {
+ if (filter !== undefined && !filter(filepath, stats)) return;
+
+ if (stats.isSymbolicLink()) return;
+ if (stats.isFile()) return cb(filepath);
+ if (stats.isDirectory()) return walkDir(filepath, cb, filter);
+ })));
+ });
}
function transform_html (legacy_scripts, only_legacy) {
@@ -89,25 +89,25 @@ function transform_html (legacy_scripts, only_legacy) {
const src_html_path = path.resolve(__dirname, '..', 'vnc.html');
const out_html_path = path.resolve(paths.out_dir_base, 'vnc.html');
return readFile(src_html_path)
- .then((contents_raw) => {
- let contents = contents_raw.toString();
+ .then((contents_raw) => {
+ let contents = contents_raw.toString();
- const start_marker = '<!-- begin scripts -->\n';
- const end_marker = '<!-- end scripts -->';
- const start_ind = contents.indexOf(start_marker) + start_marker.length;
- const end_ind = contents.indexOf(end_marker, start_ind);
+ const start_marker = '<!-- begin scripts -->\n';
+ const end_marker = '<!-- end scripts -->';
+ const start_ind = contents.indexOf(start_marker) + start_marker.length;
+ const end_ind = contents.indexOf(end_marker, start_ind);
- let new_script = '';
+ let new_script = '';
- if (only_legacy) {
+ if (only_legacy) {
// Only legacy version, so include things directly
- for (let i = 0;i < legacy_scripts.length;i++) {
- new_script += ` <script src="${legacy_scripts[i]}"></script>\n`;
- }
- } else {
+ for (let i = 0;i < legacy_scripts.length;i++) {
+ new_script += ` <script src="${legacy_scripts[i]}"></script>\n`;
+ }
+ } else {
// Otherwise detect if it's a modern browser and select
// variant accordingly
- new_script += `\
+ new_script += `\
<script type="module">\n\
window._noVNC_has_module_support = true;\n\
</script>\n\
@@ -125,17 +125,17 @@ function transform_html (legacy_scripts, only_legacy) {
</script>\n`;
// Original, ES6 modules
- new_script += ' <script type="module" crossorigin="anonymous" src="app/ui.js"></script>\n';
- }
+ new_script += ' <script type="module" crossorigin="anonymous" src="app/ui.js"></script>\n';
+ }
- contents = contents.slice(0, start_ind) + `${new_script}\n` + contents.slice(end_ind);
+ contents = contents.slice(0, start_ind) + `${new_script}\n` + contents.slice(end_ind);
- return contents;
- })
- .then((contents) => {
- console.log(`Writing ${out_html_path}`);
- return writeFile(out_html_path, contents);
- });
+ return contents;
+ })
+ .then((contents) => {
+ console.log(`Writing ${out_html_path}`);
+ return writeFile(out_html_path, contents);
+ });
}
function make_lib_files(import_format, source_maps, with_app_dir, only_legacy) {
@@ -176,130 +176,130 @@ function make_lib_files(import_format, source_maps, with_app_dir, only_legacy) {
const outFiles = [];
const handleDir = (js_only, vendor_rewrite, in_path_base, filename) => Promise.resolve()
- .then(() => {
- if (no_copy_files.has(filename)) return;
+ .then(() => {
+ if (no_copy_files.has(filename)) return;
- const out_path = path.join(out_path_base, path.relative(in_path_base, filename));
- const legacy_path = path.join(legacy_path_base, path.relative(in_path_base, filename));
+ const out_path = path.join(out_path_base, path.relative(in_path_base, filename));
+ const legacy_path = path.join(legacy_path_base, path.relative(in_path_base, filename));
- if(path.extname(filename) !== '.js') {
- if (!js_only) {
- console.log(`Writing ${out_path}`);
- return copy(filename, out_path);
+ if(path.extname(filename) !== '.js') {
+ if (!js_only) {
+ console.log(`Writing ${out_path}`);
+ return copy(filename, out_path);
+ }
+ return; // skip non-javascript files
}
- return; // skip non-javascript files
- }
- return Promise.resolve()
- .then(() => {
- if (only_legacy && !no_transform_files.has(filename)) {
- return;
- }
- return ensureDir(path.dirname(out_path))
- .then(() => {
- console.log(`Writing ${out_path}`);
- return copy(filename, out_path);
- })
- })
- .then(() => ensureDir(path.dirname(legacy_path)))
- .then(() => {
- if (no_transform_files.has(filename)) {
- return;
- }
+ return Promise.resolve()
+ .then(() => {
+ if (only_legacy && !no_transform_files.has(filename)) {
+ return;
+ }
+ return ensureDir(path.dirname(out_path))
+ .then(() => {
+ console.log(`Writing ${out_path}`);
+ return copy(filename, out_path);
+ })
+ })
+ .then(() => ensureDir(path.dirname(legacy_path)))
+ .then(() => {
+ if (no_transform_files.has(filename)) {
+ return;
+ }
- const opts = babel_opts();
- if (helper && helpers.optionsOverride) {
- helper.optionsOverride(opts);
- }
+ const opts = babel_opts();
+ if (helper && helpers.optionsOverride) {
+ helper.optionsOverride(opts);
+ }
// Adjust for the fact that we move the core files relative
// to the vendor directory
- if (vendor_rewrite) {
- opts.plugins.push(["import-redirect",
- {"root": legacy_path_base,
- "redirect": { "vendor/(.+)": "./vendor/$1"}}]);
- }
+ if (vendor_rewrite) {
+ opts.plugins.push(["import-redirect",
+ {"root": legacy_path_base,
+ "redirect": { "vendor/(.+)": "./vendor/$1"}}]);
+ }
- return babelTransformFile(filename, opts)
- .then((res) => {
- console.log(`Writing ${legacy_path}`);
- const {map} = res;
- let {code} = res;
- if (source_maps === true) {
+ return babelTransformFile(filename, opts)
+ .then((res) => {
+ console.log(`Writing ${legacy_path}`);
+ const {map} = res;
+ let {code} = res;
+ if (source_maps === true) {
// append URL for external source map
- code += `\n//# sourceMappingURL=${path.basename(legacy_path)}.map\n`;
- }
- outFiles.push(`${legacy_path}`);
- return writeFile(legacy_path, code)
- .then(() => {
- if (source_maps === true || source_maps === 'both') {
- console.log(` and ${legacy_path}.map`);
- outFiles.push(`${legacy_path}.map`);
- return writeFile(`${legacy_path}.map`, JSON.stringify(map));
- }
+ code += `\n//# sourceMappingURL=${path.basename(legacy_path)}.map\n`;
+ }
+ outFiles.push(`${legacy_path}`);
+ return writeFile(legacy_path, code)
+ .then(() => {
+ if (source_maps === true || source_maps === 'both') {
+ console.log(` and ${legacy_path}.map`);
+ outFiles.push(`${legacy_path}.map`);
+ return writeFile(`${legacy_path}.map`, JSON.stringify(map));
+ }
+ });
+ });
});
- });
});
- });
if (with_app_dir && helper && helper.noCopyOverride) {
helper.noCopyOverride(paths, no_copy_files);
}
Promise.resolve()
- .then(() => {
- const handler = handleDir.bind(null, true, false, in_path || paths.main);
- const filter = (filename, stats) => !no_copy_files.has(filename);
- return walkDir(paths.vendor, handler, filter);
- })
- .then(() => {
- const handler = handleDir.bind(null, true, !in_path, in_path || paths.core);
- const filter = (filename, stats) => !no_copy_files.has(filename);
- return walkDir(paths.core, handler, filter);
- })
- .then(() => {
- if (!with_app_dir) return;
- const handler = handleDir.bind(null, false, false, in_path);
- const filter = (filename, stats) => !no_copy_files.has(filename);
- return walkDir(paths.app, handler, filter);
- })
- .then(() => {
- if (!with_app_dir) return;
-
- if (!helper || !helper.appWriter) {
- throw new Error(`Unable to generate app for the ${import_format} format!`);
- }
-
- const out_app_path = path.join(legacy_path_base, 'app.js');
- console.log(`Writing ${out_app_path}`);
- return helper.appWriter(out_path_base, legacy_path_base, out_app_path)
- .then((extra_scripts) => {
- const rel_app_path = path.relative(out_path_base, out_app_path);
- const legacy_scripts = extra_scripts.concat([rel_app_path]);
- transform_html(legacy_scripts, only_legacy);
+ .then(() => {
+ const handler = handleDir.bind(null, true, false, in_path || paths.main);
+ const filter = (filename, stats) => !no_copy_files.has(filename);
+ return walkDir(paths.vendor, handler, filter);
+ })
+ .then(() => {
+ const handler = handleDir.bind(null, true, !in_path, in_path || paths.core);
+ const filter = (filename, stats) => !no_copy_files.has(filename);
+ return walkDir(paths.core, handler, filter);
+ })
+ .then(() => {
+ if (!with_app_dir) return;
+ const handler = handleDir.bind(null, false, false, in_path);
+ const filter = (filename, stats) => !no_copy_files.has(filename);
+ return walkDir(paths.app, handler, filter);
})
.then(() => {
- if (!helper.removeModules) return;
- console.log(`Cleaning up temporary files...`);
- return Promise.all(outFiles.map((filepath) => {
- unlink(filepath)
+ if (!with_app_dir) return;
+
+ if (!helper || !helper.appWriter) {
+ throw new Error(`Unable to generate app for the ${import_format} format!`);
+ }
+
+ const out_app_path = path.join(legacy_path_base, 'app.js');
+ console.log(`Writing ${out_app_path}`);
+ return helper.appWriter(out_path_base, legacy_path_base, out_app_path)
+ .then((extra_scripts) => {
+ const rel_app_path = path.relative(out_path_base, out_app_path);
+ const legacy_scripts = extra_scripts.concat([rel_app_path]);
+ transform_html(legacy_scripts, only_legacy);
+ })
.then(() => {
+ if (!helper.removeModules) return;
+ console.log(`Cleaning up temporary files...`);
+ return Promise.all(outFiles.map((filepath) => {
+ unlink(filepath)
+ .then(() => {
// Try to clean up any empty directories if this
// was the last file in there
- const rmdir_r = dir =>
- rmdir(dir)
- .then(() => rmdir_r(path.dirname(dir)))
- .catch(() => {
+ const rmdir_r = dir =>
+ rmdir(dir)
+ .then(() => rmdir_r(path.dirname(dir)))
+ .catch(() => {
// Assume the error was ENOTEMPTY and ignore it
- });
- return rmdir_r(path.dirname(filepath));
+ });
+ return rmdir_r(path.dirname(filepath));
+ });
+ }));
});
- }));
+ })
+ .catch((err) => {
+ console.error(`Failure converting modules: ${err}`);
+ process.exit(1);
});
- })
- .catch((err) => {
- console.error(`Failure converting modules: ${err}`);
- process.exit(1);
- });
}
if (program.clean) {
diff --git a/utils/use_require_helpers.js b/utils/use_require_helpers.js
index f0cbcf5..4daa81f 100644
--- a/utils/use_require_helpers.js
+++ b/utils/use_require_helpers.js
@@ -22,14 +22,14 @@ module.exports = {
appWriter: (base_out_path, script_base_path, out_path) => {
// setup for requirejs
const ui_path = path.relative(base_out_path,
- path.join(script_base_path, 'app', 'ui'));
+ path.join(script_base_path, 'app', 'ui'));
return writeFile(out_path, `requirejs(["${ui_path}"], (ui) => {});`)
- .then(() => {
- console.log(`Please place RequireJS in ${path.join(script_base_path, 'require.js')}`);
- const require_path = path.relative(base_out_path,
- path.join(script_base_path, 'require.js'))
- return [ require_path ];
- });
+ .then(() => {
+ console.log(`Please place RequireJS in ${path.join(script_base_path, 'require.js')}`);
+ const require_path = path.relative(base_out_path,
+ path.join(script_base_path, 'require.js'))
+ return [ require_path ];
+ });
},
noCopyOverride: () => {},
},
@@ -42,8 +42,8 @@ module.exports = {
const browserify = require('browserify');
const b = browserify(path.join(script_base_path, 'app/ui.js'), {});
return promisify(b.bundle).call(b)
- .then(buf => writeFile(out_path, buf))
- .then(() => []);
+ .then(buf => writeFile(out_path, buf))
+ .then(() => []);
},
noCopyOverride: () => {},
removeModules: true,
@@ -51,17 +51,17 @@ module.exports = {
'systemjs': {
appWriter: (base_out_path, script_base_path, out_path) => {
const ui_path = path.relative(base_out_path,
- path.join(script_base_path, 'app', 'ui.js'));
+ path.join(script_base_path, 'app', 'ui.js'));
return writeFile(out_path, `SystemJS.import("${ui_path}");`)
- .then(() => {
- console.log(`Please place SystemJS in ${path.join(script_base_path, 'system-production.js')}`);
+ .then(() => {
+ console.log(`Please place SystemJS in ${path.join(script_base_path, 'system-production.js')}`);
// FIXME: Should probably be in the legacy directory
- const promise_path = path.relative(base_out_path,
- path.join(base_out_path, 'vendor', 'promise.js'))
- const systemjs_path = path.relative(base_out_path,
- path.join(script_base_path, 'system-production.js'))
- return [ promise_path, systemjs_path ];
- });
+ const promise_path = path.relative(base_out_path,
+ path.join(base_out_path, 'vendor', 'promise.js'))
+ const systemjs_path = path.relative(base_out_path,
+ path.join(script_base_path, 'system-production.js'))
+ return [ promise_path, systemjs_path ];
+ });
},
noCopyOverride: (paths, no_copy_files) => {
no_copy_files.delete(path.join(paths.vendor, 'promise.js'));