@alicloud/console-os-browser-vm 1.0.15 → 1.3.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/es/Context.js +2 -2
- package/es/Document.js +4 -3
- package/es/Elements.js +2 -1
- package/es/History.js +3 -2
- package/es/Location.js +3 -2
- package/es/Window.js +17 -12
- package/es/events.js +4 -2
- package/es/index.js +2 -2
- package/es/utils/injectScriptCallBack.js +0 -6
- package/es/utils/isSSR.js +3 -0
- package/es/{not-implemented.js → utils/not-implemented.js} +0 -6
- package/es/v2/Context.js +10 -0
- package/es/v2/Elements.js +65 -0
- package/es/v2/documentProxy.js +22 -0
- package/es/v2/factory.js +0 -0
- package/es/v2/frameManager.js +35 -0
- package/es/v2/historyProxy.js +46 -0
- package/es/v2/index.js +89 -0
- package/es/v2/locationProxy.js +52 -0
- package/es/v2/stage.js +17 -0
- package/es/v2/windowProxy.js +49 -0
- package/lib/Context.js +2 -2
- package/lib/Document.js +5 -4
- package/lib/Elements.js +8 -2
- package/lib/History.js +4 -3
- package/lib/Location.js +4 -3
- package/lib/Window.js +17 -13
- package/lib/events.js +6 -3
- package/lib/index.js +3 -3
- package/lib/utils/HTMLScriptElement.js +1 -1
- package/lib/utils/common.js +1 -1
- package/lib/utils/injectScriptCallBack.js +2 -8
- package/lib/utils/isSSR.js +12 -0
- package/lib/{not-implemented.js → utils/not-implemented.js} +0 -6
- package/lib/v2/Context.js +15 -0
- package/lib/v2/Elements.js +74 -0
- package/lib/v2/documentProxy.js +31 -0
- package/lib/v2/factory.js +1 -0
- package/lib/v2/frameManager.js +45 -0
- package/lib/v2/historyProxy.js +55 -0
- package/lib/v2/index.js +109 -0
- package/lib/v2/locationProxy.js +61 -0
- package/lib/v2/stage.js +25 -0
- package/lib/v2/windowProxy.js +61 -0
- package/package.json +2 -2
- package/LICENSE +0 -21
package/lib/v2/index.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.removeContext = exports.evalScripts = exports.createContext = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _Context = _interopRequireDefault(require("./Context"));
|
|
17
|
+
|
|
18
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
+
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
|
+
|
|
22
|
+
var createContext = /*#__PURE__*/function () {
|
|
23
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(conf) {
|
|
24
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
25
|
+
while (1) {
|
|
26
|
+
switch (_context.prev = _context.next) {
|
|
27
|
+
case 0:
|
|
28
|
+
_context.next = 2;
|
|
29
|
+
return _Context.default.create(conf);
|
|
30
|
+
|
|
31
|
+
case 2:
|
|
32
|
+
return _context.abrupt("return", _context.sent);
|
|
33
|
+
|
|
34
|
+
case 3:
|
|
35
|
+
case "end":
|
|
36
|
+
return _context.stop();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}, _callee);
|
|
40
|
+
}));
|
|
41
|
+
|
|
42
|
+
return function createContext(_x) {
|
|
43
|
+
return _ref.apply(this, arguments);
|
|
44
|
+
};
|
|
45
|
+
}();
|
|
46
|
+
|
|
47
|
+
exports.createContext = createContext;
|
|
48
|
+
|
|
49
|
+
var removeContext = /*#__PURE__*/function () {
|
|
50
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(context) {
|
|
51
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
52
|
+
while (1) {
|
|
53
|
+
switch (_context2.prev = _context2.next) {
|
|
54
|
+
case 0:
|
|
55
|
+
_context2.next = 2;
|
|
56
|
+
return _Context.default.remove(context);
|
|
57
|
+
|
|
58
|
+
case 2:
|
|
59
|
+
return _context2.abrupt("return", _context2.sent);
|
|
60
|
+
|
|
61
|
+
case 3:
|
|
62
|
+
case "end":
|
|
63
|
+
return _context2.stop();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}, _callee2);
|
|
67
|
+
}));
|
|
68
|
+
|
|
69
|
+
return function removeContext(_x2) {
|
|
70
|
+
return _ref2.apply(this, arguments);
|
|
71
|
+
};
|
|
72
|
+
}();
|
|
73
|
+
|
|
74
|
+
exports.removeContext = removeContext;
|
|
75
|
+
|
|
76
|
+
var evalScripts = /*#__PURE__*/function () {
|
|
77
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(code) {
|
|
78
|
+
var conf,
|
|
79
|
+
ctx,
|
|
80
|
+
resolver,
|
|
81
|
+
_args3 = arguments;
|
|
82
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
83
|
+
while (1) {
|
|
84
|
+
switch (_context3.prev = _context3.next) {
|
|
85
|
+
case 0:
|
|
86
|
+
conf = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
|
|
87
|
+
_context3.next = 3;
|
|
88
|
+
return _Context.default.create(conf);
|
|
89
|
+
|
|
90
|
+
case 3:
|
|
91
|
+
ctx = _context3.sent;
|
|
92
|
+
// eslint-disable-next-line no-new-func
|
|
93
|
+
resolver = new Function("\n return function({window, location, history, document}){ \n with(window.__CONSOLE_OS_GLOBAL_VARS_) { \n ".concat(code, "\n }\n }//@sourceURL=").concat(conf.name));
|
|
94
|
+
return _context3.abrupt("return", resolver(_objectSpread({}, ctx)));
|
|
95
|
+
|
|
96
|
+
case 6:
|
|
97
|
+
case "end":
|
|
98
|
+
return _context3.stop();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}, _callee3);
|
|
102
|
+
}));
|
|
103
|
+
|
|
104
|
+
return function evalScripts(_x3) {
|
|
105
|
+
return _ref3.apply(this, arguments);
|
|
106
|
+
};
|
|
107
|
+
}();
|
|
108
|
+
|
|
109
|
+
exports.evalScripts = evalScripts;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var LocationProxy = /*#__PURE__*/(0, _createClass2.default)(function LocationProxy(location) {
|
|
15
|
+
(0, _classCallCheck2.default)(this, LocationProxy);
|
|
16
|
+
return new Proxy({}, {
|
|
17
|
+
set: function set(target, name, value) {
|
|
18
|
+
switch (name) {
|
|
19
|
+
case 'href':
|
|
20
|
+
break;
|
|
21
|
+
|
|
22
|
+
default:
|
|
23
|
+
// eslint-disable-next-line no-param-reassign
|
|
24
|
+
location[name] = value;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return true;
|
|
28
|
+
},
|
|
29
|
+
get: function get(target, name) {
|
|
30
|
+
switch (name) {
|
|
31
|
+
case 'reload':
|
|
32
|
+
return function () {};
|
|
33
|
+
|
|
34
|
+
case 'replace':
|
|
35
|
+
return function () {};
|
|
36
|
+
|
|
37
|
+
case 'toString':
|
|
38
|
+
return function () {
|
|
39
|
+
try {
|
|
40
|
+
return location.toString();
|
|
41
|
+
} catch (e) {
|
|
42
|
+
return location.href;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
default:
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
var locProperty = location[name];
|
|
51
|
+
|
|
52
|
+
if (typeof locProperty === 'function') {
|
|
53
|
+
return locProperty.bind && locProperty.bind(target);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return locProperty;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
var _default = LocationProxy;
|
|
61
|
+
exports.default = _default;
|
package/lib/v2/stage.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var Stage = /*#__PURE__*/(0, _createClass2.default)(function Stage() {
|
|
15
|
+
(0, _classCallCheck2.default)(this, Stage);
|
|
16
|
+
return new Proxy({}, {
|
|
17
|
+
set: function set(target, key, value) {
|
|
18
|
+
target[key] = value;
|
|
19
|
+
},
|
|
20
|
+
get: function get(target, key) {
|
|
21
|
+
return target[key];
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
exports.default = Stage;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _documentProxy = _interopRequireDefault(require("./documentProxy"));
|
|
15
|
+
|
|
16
|
+
var _historyProxy = _interopRequireDefault(require("./historyProxy"));
|
|
17
|
+
|
|
18
|
+
var _locationProxy = _interopRequireDefault(require("./locationProxy"));
|
|
19
|
+
|
|
20
|
+
a = 100;
|
|
21
|
+
var WindowProxy = /*#__PURE__*/(0, _createClass2.default)(function WindowProxy(options, context, win) {
|
|
22
|
+
(0, _classCallCheck2.default)(this, WindowProxy);
|
|
23
|
+
var _options$externals = options.externals,
|
|
24
|
+
externals = _options$externals === void 0 ? [] : _options$externals;
|
|
25
|
+
var document = new _documentProxy.default();
|
|
26
|
+
var history = new _historyProxy.default();
|
|
27
|
+
var location = new _locationProxy.default();
|
|
28
|
+
return new Proxy(win, {
|
|
29
|
+
set: function set(target, name, value) {
|
|
30
|
+
target[name] = value;
|
|
31
|
+
return true;
|
|
32
|
+
},
|
|
33
|
+
get: function get(target, name) {
|
|
34
|
+
if (externals.includes(name)) {
|
|
35
|
+
return window[name];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
switch (name) {
|
|
39
|
+
case 'document':
|
|
40
|
+
return document;
|
|
41
|
+
|
|
42
|
+
case 'location':
|
|
43
|
+
return location;
|
|
44
|
+
|
|
45
|
+
case 'history':
|
|
46
|
+
return history;
|
|
47
|
+
|
|
48
|
+
default:
|
|
49
|
+
break;
|
|
50
|
+
// case 'addEventListener':
|
|
51
|
+
// return addEventListener(context);
|
|
52
|
+
// case 'removeEventListener':
|
|
53
|
+
// return removeEventListener(context);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return target[name];
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
var _default = WindowProxy;
|
|
61
|
+
exports.default = _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alicloud/console-os-browser-vm",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.3.1-alpha.0",
|
|
4
4
|
"description": "browser virtual machine",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"js-beautify": "^1.10.1",
|
|
31
31
|
"jsdom": "^16.2.2"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "43925181e0a3e489559b7ab1bb6c68e59e00d58e"
|
|
34
34
|
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2019 Alibaba Cloud
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|