Merge branch 'upgrade' of https://github.com/CendioOssman/noVNC
This commit is contained in:
commit
30ff15a35a
|
@ -4,7 +4,7 @@ cache:
|
|||
directories:
|
||||
- node_modules
|
||||
node_js:
|
||||
- 6
|
||||
- lts/*
|
||||
env:
|
||||
matrix:
|
||||
- TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='Windows 10'
|
||||
|
|
54
package.json
54
package.json
|
@ -19,7 +19,7 @@
|
|||
"vendor/pako"
|
||||
],
|
||||
"scripts": {
|
||||
"lint": "eslint app core po tests utils",
|
||||
"lint": "eslint app core po/po2js po/xgettext-html tests utils",
|
||||
"test": "karma start karma.conf.js",
|
||||
"prepublish": "node ./utils/use_require.js --as commonjs --clean"
|
||||
},
|
||||
|
@ -40,36 +40,36 @@
|
|||
},
|
||||
"homepage": "https://github.com/novnc/noVNC",
|
||||
"devDependencies": {
|
||||
"babel-core": "^6.22.1",
|
||||
"babel-plugin-add-module-exports": "^0.2.1",
|
||||
"babel-core": "*",
|
||||
"babel-plugin-add-module-exports": "*",
|
||||
"babel-plugin-import-redirect": "*",
|
||||
"babel-plugin-syntax-dynamic-import": "^6.18.0",
|
||||
"babel-plugin-transform-es2015-modules-amd": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-modules-commonjs": "^6.18.0",
|
||||
"babel-plugin-transform-es2015-modules-systemjs": "^6.22.0",
|
||||
"babel-plugin-transform-es2015-modules-umd": "^6.22.0",
|
||||
"babel-preset-es2015": "^6.24.1",
|
||||
"babelify": "^7.3.0",
|
||||
"browserify": "^13.1.0",
|
||||
"chai": "^3.5.0",
|
||||
"commander": "^2.9.0",
|
||||
"es-module-loader": "^2.1.0",
|
||||
"eslint": "^4.16.0",
|
||||
"fs-extra": "^1.0.0",
|
||||
"babel-plugin-syntax-dynamic-import": "*",
|
||||
"babel-plugin-transform-es2015-modules-amd": "*",
|
||||
"babel-plugin-transform-es2015-modules-commonjs": "*",
|
||||
"babel-plugin-transform-es2015-modules-systemjs": "*",
|
||||
"babel-plugin-transform-es2015-modules-umd": "*",
|
||||
"babel-preset-es2015": "*",
|
||||
"babelify": "*",
|
||||
"browserify": "*",
|
||||
"chai": "*",
|
||||
"commander": "*",
|
||||
"es-module-loader": "*",
|
||||
"eslint": "*",
|
||||
"fs-extra": "*",
|
||||
"jsdom": "*",
|
||||
"karma": "^1.3.0",
|
||||
"karma-mocha": "^1.3.0",
|
||||
"karma-mocha-reporter": "^2.2.0",
|
||||
"karma-sauce-launcher": "^1.0.0",
|
||||
"karma-sinon-chai": "^2.0.0",
|
||||
"mocha": "^3.1.2",
|
||||
"karma": "*",
|
||||
"karma-mocha": "*",
|
||||
"karma-mocha-reporter": "*",
|
||||
"karma-sauce-launcher": "*",
|
||||
"karma-sinon-chai": "*",
|
||||
"mocha": "*",
|
||||
"node-getopt": "*",
|
||||
"po2json": "*",
|
||||
"requirejs": "^2.3.2",
|
||||
"rollup": "^0.41.4",
|
||||
"rollup-plugin-node-resolve": "^2.0.0",
|
||||
"sinon": "^4.0.0",
|
||||
"sinon-chai": "^2.8.0"
|
||||
"requirejs": "*",
|
||||
"rollup": "*",
|
||||
"rollup-plugin-node-resolve": "*",
|
||||
"sinon": "*",
|
||||
"sinon-chai": "*"
|
||||
},
|
||||
"dependencies": {},
|
||||
"keywords": [
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"env": {
|
||||
"node": true,
|
||||
},
|
||||
}
|
2
po/po2js
2
po/po2js
|
@ -32,7 +32,7 @@ if (opt.argv.length != 2) {
|
|||
|
||||
const data = po2json.parseFileSync(opt.argv[0]);
|
||||
|
||||
const bodyPart = Object.keys(data).filter((msgid) => msgid !== "").map((msgid) => {
|
||||
const bodyPart = Object.keys(data).filter(msgid => msgid !== "").map((msgid) => {
|
||||
if (msgid === "") return;
|
||||
const msgstr = data[msgid][1];
|
||||
return " " + JSON.stringify(msgid) + ": " + JSON.stringify(msgstr);
|
||||
|
|
|
@ -22,7 +22,7 @@ function addString(str, location) {
|
|||
}
|
||||
|
||||
if (strings[str] === undefined) {
|
||||
strings[str] = {}
|
||||
strings[str] = {};
|
||||
}
|
||||
strings[str][location] = null;
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ function process(elem, locator, enabled) {
|
|||
}
|
||||
|
||||
for (let i = 0; i < elem.childNodes.length; i++) {
|
||||
node = elem.childNodes[i];
|
||||
let node = elem.childNodes[i];
|
||||
if (node.nodeType === node.ELEMENT_NODE) {
|
||||
process(node, locator, enabled);
|
||||
} else if (node.nodeType === node.TEXT_NODE && enabled) {
|
||||
|
@ -89,18 +89,18 @@ for (let i = 0; i < opt.argv.length; i++) {
|
|||
const dom = new jsdom.JSDOM(file, { includeNodeLocations: true });
|
||||
const body = dom.window.document.body;
|
||||
|
||||
function locator(elem) {
|
||||
let locator = (elem) => {
|
||||
const offset = dom.nodeLocation(elem).startOffset;
|
||||
const line = file.slice(0, offset).split("\n").length;
|
||||
return fn + ":" + line;
|
||||
}
|
||||
};
|
||||
|
||||
process(body, locator, true);
|
||||
}
|
||||
|
||||
let output = "";
|
||||
|
||||
for (str in strings) {
|
||||
for (let str in strings) {
|
||||
output += "#:";
|
||||
for (location in strings[str]) {
|
||||
output += " " + location;
|
||||
|
|
|
@ -437,7 +437,7 @@ describe('Key Event Handling', function () {
|
|||
expect(kbd.onkeyevent.secondCall).to.have.been.calledWith(0x61, "KeyA", true);
|
||||
|
||||
// Check that the timer is properly dead
|
||||
kbd.onkeyevent.reset();
|
||||
kbd.onkeyevent.resetHistory();
|
||||
this.clock.tick(100);
|
||||
expect(kbd.onkeyevent).to.not.have.been.called;
|
||||
});
|
||||
|
@ -455,7 +455,7 @@ describe('Key Event Handling', function () {
|
|||
expect(kbd.onkeyevent.thirdCall).to.have.been.calledWith(0x61, "KeyA", false);
|
||||
|
||||
// Check that the timer is properly dead
|
||||
kbd.onkeyevent.reset();
|
||||
kbd.onkeyevent.resetHistory();
|
||||
this.clock.tick(100);
|
||||
expect(kbd.onkeyevent).to.not.have.been.called;
|
||||
});
|
||||
|
@ -470,7 +470,7 @@ describe('Key Event Handling', function () {
|
|||
expect(kbd.onkeyevent).to.have.been.calledWith(0xfe03, 'AltRight', true);
|
||||
|
||||
// Check that the timer is properly dead
|
||||
kbd.onkeyevent.reset();
|
||||
kbd.onkeyevent.resetHistory();
|
||||
this.clock.tick(100);
|
||||
expect(kbd.onkeyevent).to.not.have.been.called;
|
||||
});
|
||||
|
@ -486,7 +486,7 @@ describe('Key Event Handling', function () {
|
|||
expect(kbd.onkeyevent.secondCall).to.have.been.calledWith(0xffea, "AltRight", true);
|
||||
|
||||
// Check that the timer is properly dead
|
||||
kbd.onkeyevent.reset();
|
||||
kbd.onkeyevent.resetHistory();
|
||||
this.clock.tick(100);
|
||||
expect(kbd.onkeyevent).to.not.have.been.called;
|
||||
});
|
||||
|
|
|
@ -271,7 +271,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
|||
it('should move focus to canvas object', function () {
|
||||
client._canvas.focus = sinon.spy();
|
||||
client.focus();
|
||||
expect(client._canvas.focus).to.have.been.called.once;
|
||||
expect(client._canvas.focus).to.have.been.calledOnce;
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -279,7 +279,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
|||
it('should remove focus from canvas object', function () {
|
||||
client._canvas.blur = sinon.spy();
|
||||
client.blur();
|
||||
expect(client._canvas.blur).to.have.been.called.once;
|
||||
expect(client._canvas.blur).to.have.been.calledOnce;
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -353,7 +353,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
|||
client.clipViewport = false;
|
||||
expect(spy.set).to.have.been.calledOnce;
|
||||
expect(spy.set).to.have.been.calledWith(false);
|
||||
spy.set.reset();
|
||||
spy.set.resetHistory();
|
||||
|
||||
client.clipViewport = true;
|
||||
expect(spy.set).to.have.been.calledOnce;
|
||||
|
@ -438,7 +438,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
|||
client._handleMouseButton(13, 9, 0x000);
|
||||
expect(RFB.messages.pointerEvent).to.have.been.calledTwice;
|
||||
|
||||
RFB.messages.pointerEvent.reset();
|
||||
RFB.messages.pointerEvent.resetHistory();
|
||||
|
||||
// Small movement
|
||||
client._handleMouseButton(13, 9, 0x001);
|
||||
|
@ -472,7 +472,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
|||
expect(client._display.viewportChangePos).to.have.been.calledOnce;
|
||||
expect(client._display.viewportChangePos).to.have.been.calledWith(-30, 0);
|
||||
|
||||
client._display.viewportChangePos.reset();
|
||||
client._display.viewportChangePos.resetHistory();
|
||||
|
||||
// Now a small movement should move right away
|
||||
|
||||
|
@ -543,7 +543,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
|||
expect(spy.set).to.have.been.calledOnce;
|
||||
expect(spy.set).to.have.been.calledWith(true);
|
||||
|
||||
spy.set.reset();
|
||||
spy.set.resetHistory();
|
||||
|
||||
client.scaleViewport = true;
|
||||
expect(spy.set).to.have.been.calledOnce;
|
||||
|
@ -633,7 +633,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
|||
expect(RFB.messages.setDesktopSize).to.have.been.calledOnce;
|
||||
expect(RFB.messages.setDesktopSize).to.have.been.calledWith(sinon.match.object, 70, 80, 0, 0);
|
||||
|
||||
RFB.messages.setDesktopSize.reset();
|
||||
RFB.messages.setDesktopSize.resetHistory();
|
||||
|
||||
// Second message should not trigger a resize
|
||||
|
||||
|
@ -2056,7 +2056,7 @@ describe('Remote Frame Buffer Protocol Client', function () {
|
|||
beforeEach(function () {
|
||||
client.showDotCursor = true;
|
||||
// Was called when we enabled dot cursor
|
||||
client._cursor.change.reset();
|
||||
client._cursor.change.resetHistory();
|
||||
});
|
||||
|
||||
it('should show a standard cursor', function () {
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,8 +1,8 @@
|
|||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||
typeof define === 'function' && define.amd ? define(factory) :
|
||||
(global.BrowserESModuleLoader = factory());
|
||||
}(this, (function () { 'use strict';
|
||||
(global = global || self, global.BrowserESModuleLoader = factory());
|
||||
}(this, function () { 'use strict';
|
||||
|
||||
/*
|
||||
* Environment
|
||||
|
@ -12,6 +12,7 @@ var isNode = typeof process !== 'undefined' && process.versions && process.versi
|
|||
var isWindows = typeof process !== 'undefined' && typeof process.platform === 'string' && process.platform.match(/^win/);
|
||||
|
||||
var envGlobal = typeof self !== 'undefined' ? self : global;
|
||||
|
||||
/*
|
||||
* Simple Symbol() shim
|
||||
*/
|
||||
|
@ -22,10 +23,6 @@ function createSymbol (name) {
|
|||
|
||||
var toStringTag = hasSymbol && Symbol.toStringTag;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Environment baseURI
|
||||
*/
|
||||
|
@ -95,7 +92,7 @@ function LoaderError__Check_error_message_for_loader_stack (childErr, newMessage
|
|||
return err;
|
||||
}
|
||||
|
||||
var resolvedPromise$1 = Promise.resolve();
|
||||
var resolvedPromise = Promise.resolve();
|
||||
|
||||
/*
|
||||
* Simple Array values shim
|
||||
|
@ -155,7 +152,7 @@ Loader.prototype.import = function (key, parent) {
|
|||
throw new TypeError('Loader import method must be passed a module key string');
|
||||
// custom resolveInstantiate combined hook for better perf
|
||||
var loader = this;
|
||||
return resolvedPromise$1
|
||||
return resolvedPromise
|
||||
.then(function () {
|
||||
return loader[RESOLVE_INSTANTIATE](key, parent);
|
||||
})
|
||||
|
@ -197,7 +194,7 @@ function ensureResolution (resolvedKey) {
|
|||
|
||||
Loader.prototype.resolve = function (key, parent) {
|
||||
var loader = this;
|
||||
return resolvedPromise$1
|
||||
return resolvedPromise
|
||||
.then(function() {
|
||||
return loader[RESOLVE](key, parent);
|
||||
})
|
||||
|
@ -318,8 +315,7 @@ function ModuleNamespace (baseObject/*, evaluate*/) {
|
|||
else { */
|
||||
Object.keys(baseObject).forEach(extendNamespace, this);
|
||||
//}
|
||||
}
|
||||
// 8.4.2
|
||||
}// 8.4.2
|
||||
ModuleNamespace.prototype = Object.create(null);
|
||||
|
||||
if (toStringTag)
|
||||
|
@ -491,7 +487,8 @@ function resolveIfNotPlain (relUrl, parentUrl) {
|
|||
}
|
||||
}
|
||||
|
||||
var resolvedPromise = Promise.resolve();
|
||||
var resolvedPromise$1 = Promise.resolve();
|
||||
|
||||
/*
|
||||
* Register Loader
|
||||
*
|
||||
|
@ -505,7 +502,7 @@ var resolvedPromise = Promise.resolve();
|
|||
|
||||
var REGISTER_INTERNAL = createSymbol('register-internal');
|
||||
|
||||
function RegisterLoader$1 () {
|
||||
function RegisterLoader () {
|
||||
Loader.call(this);
|
||||
|
||||
var registryDelete = this.registry.delete;
|
||||
|
@ -534,17 +531,17 @@ function RegisterLoader$1 () {
|
|||
this.trace = false;
|
||||
}
|
||||
|
||||
RegisterLoader$1.prototype = Object.create(Loader.prototype);
|
||||
RegisterLoader$1.prototype.constructor = RegisterLoader$1;
|
||||
RegisterLoader.prototype = Object.create(Loader.prototype);
|
||||
RegisterLoader.prototype.constructor = RegisterLoader;
|
||||
|
||||
var INSTANTIATE = RegisterLoader$1.instantiate = createSymbol('instantiate');
|
||||
var INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate');
|
||||
|
||||
// default normalize is the WhatWG style normalizer
|
||||
RegisterLoader$1.prototype[RegisterLoader$1.resolve = Loader.resolve] = function (key, parentKey) {
|
||||
RegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) {
|
||||
return resolveIfNotPlain(key, parentKey || baseURI);
|
||||
};
|
||||
|
||||
RegisterLoader$1.prototype[INSTANTIATE] = function (key, processAnonRegister) {};
|
||||
RegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {};
|
||||
|
||||
// once evaluated, the linkRecord is set to undefined leaving just the other load record properties
|
||||
// this allows tracking new binding listeners for es modules through importerSetters
|
||||
|
@ -599,7 +596,7 @@ function createLoadRecord (state, key, registration) {
|
|||
};
|
||||
}
|
||||
|
||||
RegisterLoader$1.prototype[Loader.resolveInstantiate] = function (key, parentKey) {
|
||||
RegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) {
|
||||
var loader = this;
|
||||
var state = this[REGISTER_INTERNAL];
|
||||
var registry = this.registry[REGISTRY];
|
||||
|
@ -686,7 +683,7 @@ function createProcessAnonRegister (loader, load, state) {
|
|||
function instantiate (loader, load, link, registry, state) {
|
||||
return link.instantiatePromise || (link.instantiatePromise =
|
||||
// if there is already an existing registration, skip running instantiate
|
||||
(load.registration ? resolvedPromise : resolvedPromise.then(function () {
|
||||
(load.registration ? resolvedPromise$1 : resolvedPromise$1.then(function () {
|
||||
state.lastRegister = undefined;
|
||||
return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));
|
||||
}))
|
||||
|
@ -907,9 +904,9 @@ function deepInstantiateDeps (loader, load, link, registry, state) {
|
|||
var seen = [];
|
||||
function addDeps (load, link) {
|
||||
if (!link)
|
||||
return resolvedPromise;
|
||||
return resolvedPromise$1;
|
||||
if (seen.indexOf(load) !== -1)
|
||||
return resolvedPromise;
|
||||
return resolvedPromise$1;
|
||||
seen.push(load);
|
||||
|
||||
return instantiateDeps(loader, load, link, registry, state)
|
||||
|
@ -926,14 +923,13 @@ function deepInstantiateDeps (loader, load, link, registry, state) {
|
|||
return Promise.all(depPromises);
|
||||
});
|
||||
}
|
||||
|
||||
return addDeps(load, link);
|
||||
}
|
||||
|
||||
/*
|
||||
* System.register
|
||||
*/
|
||||
RegisterLoader$1.prototype.register = function (key, deps, declare) {
|
||||
RegisterLoader.prototype.register = function (key, deps, declare) {
|
||||
var state = this[REGISTER_INTERNAL];
|
||||
|
||||
// anonymous modules get stored as lastAnon
|
||||
|
@ -951,7 +947,7 @@ RegisterLoader$1.prototype.register = function (key, deps, declare) {
|
|||
/*
|
||||
* System.registerDyanmic
|
||||
*/
|
||||
RegisterLoader$1.prototype.registerDynamic = function (key, deps, executingRequire, execute) {
|
||||
RegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {
|
||||
var state = this[REGISTER_INTERNAL];
|
||||
|
||||
// anonymous modules get stored as lastAnon
|
||||
|
@ -1279,7 +1275,7 @@ function BrowserESModuleLoader(baseKey) {
|
|||
if (baseKey)
|
||||
this.baseKey = resolveIfNotPlain(baseKey, baseURI) || resolveIfNotPlain('./' + baseKey, baseURI);
|
||||
|
||||
RegisterLoader$1.call(this);
|
||||
RegisterLoader.call(this);
|
||||
|
||||
var loader = this;
|
||||
|
||||
|
@ -1293,11 +1289,11 @@ function BrowserESModuleLoader(baseKey) {
|
|||
prevRegister.apply(this, arguments);
|
||||
};
|
||||
}
|
||||
BrowserESModuleLoader.prototype = Object.create(RegisterLoader$1.prototype);
|
||||
BrowserESModuleLoader.prototype = Object.create(RegisterLoader.prototype);
|
||||
|
||||
// normalize is never given a relative name like "./x", that part is already handled
|
||||
BrowserESModuleLoader.prototype[RegisterLoader$1.resolve] = function(key, parent) {
|
||||
var resolved = RegisterLoader$1.prototype[RegisterLoader$1.resolve].call(this, key, parent || this.baseKey) || key;
|
||||
BrowserESModuleLoader.prototype[RegisterLoader.resolve] = function(key, parent) {
|
||||
var resolved = RegisterLoader.prototype[RegisterLoader.resolve].call(this, key, parent || this.baseKey) || key;
|
||||
if (!resolved)
|
||||
throw new RangeError('ES module loader does not resolve plain module names, resolving "' + key + '" to ' + parent);
|
||||
|
||||
|
@ -1431,8 +1427,7 @@ babelWorker.onmessage = function (evt) {
|
|||
|
||||
// instantiate just needs to run System.register
|
||||
// so we fetch the source, convert into the Babel System module format, then evaluate it
|
||||
BrowserESModuleLoader.prototype[RegisterLoader$1.instantiate] = function(key, processAnonRegister) {
|
||||
var loader = this;
|
||||
BrowserESModuleLoader.prototype[RegisterLoader.instantiate] = function(key, processAnonRegister) {
|
||||
|
||||
// load as ES with Babel converting into System.register
|
||||
return new Promise(function(resolve, reject) {
|
||||
|
@ -1482,5 +1477,5 @@ if (isBrowser)
|
|||
|
||||
return BrowserESModuleLoader;
|
||||
|
||||
})));
|
||||
}));
|
||||
//# sourceMappingURL=browser-es-module-loader.js.map
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,16 +1,15 @@
|
|||
import nodeResolve from 'rollup-plugin-node-resolve';
|
||||
|
||||
export default {
|
||||
entry: 'src/browser-es-module-loader.js',
|
||||
dest: 'dist/browser-es-module-loader.js',
|
||||
input: 'src/browser-es-module-loader.js',
|
||||
output: {
|
||||
file: 'dist/browser-es-module-loader.js',
|
||||
format: 'umd',
|
||||
moduleName: 'BrowserESModuleLoader',
|
||||
sourceMap: true,
|
||||
name: 'BrowserESModuleLoader',
|
||||
sourcemap: true,
|
||||
},
|
||||
|
||||
plugins: [
|
||||
nodeResolve(),
|
||||
],
|
||||
|
||||
// skip rollup warnings (specifically the eval warning)
|
||||
onwarn: function() {}
|
||||
};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import RegisterLoader from 'es-module-loader/core/register-loader.js';
|
||||
import { InternalModuleNamespace as ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';
|
||||
|
||||
import { baseURI, global, isBrowser } from 'es-module-loader/core/common.js';
|
||||
import { resolveIfNotPlain } from 'es-module-loader/core/resolve.js';
|
||||
|
|
Loading…
Reference in New Issue