weboptimizer 2.0.1235 → 2.0.1236
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/browser.js +20 -62
- package/configurator.js +53 -126
- package/ejsLoader.js +8 -52
- package/helper.js +53 -198
- package/index.js +31 -167
- package/jestEnvironmentBrowser.js +1 -12
- package/jestSetup.js +5 -7
- package/package.json +9 -2
- package/stylelintConfigurator.js +1 -6
- package/type.js +4 -4
- package/webpackConfigurator.js +99 -244
package/browser.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// #!/usr/bin/env babel-node
|
|
2
2
|
// -*- coding: utf-8 -*-
|
|
3
|
-
|
|
4
3
|
/** @module browser */
|
|
5
4
|
'use strict';
|
|
5
|
+
|
|
6
6
|
/* !
|
|
7
7
|
region header
|
|
8
8
|
Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
|
|
@@ -16,34 +16,21 @@
|
|
|
16
16
|
endregion
|
|
17
17
|
*/
|
|
18
18
|
// region imports
|
|
19
|
-
|
|
20
19
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
21
|
-
|
|
22
20
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
23
|
-
|
|
24
21
|
Object.defineProperty(exports, "__esModule", {
|
|
25
22
|
value: true
|
|
26
23
|
});
|
|
27
24
|
exports.getInitializedBrowser = exports["default"] = exports.browser = void 0;
|
|
28
|
-
|
|
29
25
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
30
|
-
|
|
31
26
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
32
|
-
|
|
33
27
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
34
|
-
|
|
35
28
|
var _clientnode = _interopRequireWildcard(require("clientnode"));
|
|
36
|
-
|
|
37
29
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
38
|
-
|
|
39
30
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
40
|
-
|
|
41
31
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
42
|
-
|
|
43
32
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
44
|
-
|
|
45
33
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
46
|
-
|
|
47
34
|
// endregion
|
|
48
35
|
// region variables
|
|
49
36
|
var onCreatedListener = [];
|
|
@@ -55,9 +42,9 @@ var browser = {
|
|
|
55
42
|
instance: null,
|
|
56
43
|
window: null,
|
|
57
44
|
windowLoaded: false
|
|
58
|
-
};
|
|
45
|
+
};
|
|
46
|
+
// endregion
|
|
59
47
|
// region ensure presence of common browser environment
|
|
60
|
-
|
|
61
48
|
exports.browser = browser;
|
|
62
49
|
if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
63
50
|
/*
|
|
@@ -66,7 +53,6 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
66
53
|
*/
|
|
67
54
|
(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
68
55
|
var _yield$Promise$all, _yield$Promise$all2, _yield$Promise$all2$, JSDOM, VirtualConsoleImplementation, path, virtualConsole, _iterator, _step, name, render, filePath, ejsLoader, content;
|
|
69
|
-
|
|
70
56
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
71
57
|
while (1) {
|
|
72
58
|
switch (_context.prev = _context.next) {
|
|
@@ -77,7 +63,6 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
77
63
|
}), Promise.resolve().then(function () {
|
|
78
64
|
return _interopRequireWildcard(require('path'));
|
|
79
65
|
})]);
|
|
80
|
-
|
|
81
66
|
case 2:
|
|
82
67
|
_yield$Promise$all = _context.sent;
|
|
83
68
|
_yield$Promise$all2 = (0, _slicedToArray2["default"])(_yield$Promise$all, 2);
|
|
@@ -87,7 +72,6 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
87
72
|
path = _yield$Promise$all2[1];
|
|
88
73
|
virtualConsole = new VirtualConsoleImplementation();
|
|
89
74
|
_iterator = _createForOfIteratorHelper(_clientnode.ConsoleOutputMethods);
|
|
90
|
-
|
|
91
75
|
try {
|
|
92
76
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
93
77
|
name = _step.value;
|
|
@@ -98,18 +82,15 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
98
82
|
} finally {
|
|
99
83
|
_iterator.f();
|
|
100
84
|
}
|
|
101
|
-
|
|
102
85
|
virtualConsole.on('error', function (error) {
|
|
103
86
|
if (!browser.debug && ['XMLHttpRequest', 'resource loading'].includes(error.type)) console.warn("Loading resource failed: ".concat(error.toString(), "."));else console.error(error.stack, error.detail);
|
|
104
87
|
});
|
|
105
|
-
|
|
106
88
|
render = function render(template) {
|
|
107
89
|
browser.DOM = JSDOM;
|
|
108
90
|
browser.initialized = true;
|
|
109
91
|
browser.instance = new browser.DOM(template, {
|
|
110
92
|
beforeParse: function beforeParse(window) {
|
|
111
93
|
var _global$window;
|
|
112
|
-
|
|
113
94
|
// We want to use it in a polymorphic way.
|
|
114
95
|
browser.window = (_global$window = global.window) !== null && _global$window !== void 0 ? _global$window : window;
|
|
115
96
|
window.document.addEventListener('DOMContentLoaded', function () {
|
|
@@ -119,8 +100,7 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
119
100
|
*/
|
|
120
101
|
if (global.window) {
|
|
121
102
|
var _iterator2 = _createForOfIteratorHelper(['head', 'body']),
|
|
122
|
-
|
|
123
|
-
|
|
103
|
+
_step2;
|
|
124
104
|
try {
|
|
125
105
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
126
106
|
var type = _step2.value;
|
|
@@ -132,7 +112,6 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
132
112
|
_iterator2.f();
|
|
133
113
|
}
|
|
134
114
|
}
|
|
135
|
-
|
|
136
115
|
browser.domContentLoaded = true;
|
|
137
116
|
});
|
|
138
117
|
window.addEventListener('load', function () {
|
|
@@ -142,10 +121,8 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
142
121
|
*/
|
|
143
122
|
browser.domContentLoaded = browser.windowLoaded = true;
|
|
144
123
|
});
|
|
145
|
-
|
|
146
124
|
var _iterator3 = _createForOfIteratorHelper(onCreatedListener),
|
|
147
|
-
|
|
148
|
-
|
|
125
|
+
_step3;
|
|
149
126
|
try {
|
|
150
127
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
151
128
|
var callback = _step3.value;
|
|
@@ -163,36 +140,29 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
163
140
|
virtualConsole: virtualConsole
|
|
164
141
|
});
|
|
165
142
|
};
|
|
166
|
-
|
|
167
143
|
if (!(typeof NAME === 'undefined' || NAME === 'webOptimizer')) {
|
|
168
144
|
_context.next = 26;
|
|
169
145
|
break;
|
|
170
146
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
after test runner has finished to isolate the environment.
|
|
176
|
-
*/
|
|
177
|
-
|
|
147
|
+
filePath = path.join(__dirname, 'index.html.ejs'); /*
|
|
148
|
+
NOTE: We load dependencies now to avoid having file imports
|
|
149
|
+
after test runner has finished to isolate the environment.
|
|
150
|
+
*/
|
|
178
151
|
_context.next = 17;
|
|
179
152
|
return Promise.resolve().then(function () {
|
|
180
153
|
return _interopRequireWildcard(require('./ejsLoader'));
|
|
181
154
|
});
|
|
182
|
-
|
|
183
155
|
case 17:
|
|
184
156
|
ejsLoader = _context.sent["default"];
|
|
185
157
|
_context.next = 20;
|
|
186
158
|
return Promise.resolve().then(function () {
|
|
187
159
|
return _interopRequireWildcard(require('fs'));
|
|
188
160
|
});
|
|
189
|
-
|
|
190
161
|
case 20:
|
|
191
162
|
_context.next = 22;
|
|
192
163
|
return _context.sent.promises.readFile(filePath, {
|
|
193
164
|
encoding: 'utf-8'
|
|
194
165
|
});
|
|
195
|
-
|
|
196
166
|
case 22:
|
|
197
167
|
content = _context.sent;
|
|
198
168
|
render(ejsLoader.bind({
|
|
@@ -200,18 +170,15 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
200
170
|
})(content));
|
|
201
171
|
_context.next = 31;
|
|
202
172
|
break;
|
|
203
|
-
|
|
204
173
|
case 26:
|
|
205
174
|
_context.t0 = render;
|
|
206
175
|
_context.next = 29;
|
|
207
176
|
return Promise.resolve().then(function () {
|
|
208
177
|
return _interopRequireWildcard(require('webOptimizerDefaultTemplateFilePath'));
|
|
209
178
|
});
|
|
210
|
-
|
|
211
179
|
case 29:
|
|
212
180
|
_context.t1 = _context.sent;
|
|
213
181
|
(0, _context.t0)(_context.t1);
|
|
214
|
-
|
|
215
182
|
case 31:
|
|
216
183
|
case "end":
|
|
217
184
|
return _context.stop();
|
|
@@ -229,8 +196,7 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
229
196
|
});
|
|
230
197
|
void _clientnode["default"].timeout(function () {
|
|
231
198
|
var _iterator4 = _createForOfIteratorHelper(onCreatedListener),
|
|
232
|
-
|
|
233
|
-
|
|
199
|
+
_step4;
|
|
234
200
|
try {
|
|
235
201
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
236
202
|
var callback = _step4.value;
|
|
@@ -242,8 +208,8 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
242
208
|
_iterator4.f();
|
|
243
209
|
}
|
|
244
210
|
});
|
|
245
|
-
}
|
|
246
|
-
|
|
211
|
+
}
|
|
212
|
+
// endregion
|
|
247
213
|
/**
|
|
248
214
|
* Provides a generic browser api in node or web contexts.
|
|
249
215
|
* @param replaceWindow - Indicates whether a potential existing window object
|
|
@@ -251,14 +217,13 @@ if (typeof TARGET_TECHNOLOGY === 'undefined' || TARGET_TECHNOLOGY === 'node')
|
|
|
251
217
|
*
|
|
252
218
|
* @returns Determined environment.
|
|
253
219
|
*/
|
|
254
|
-
|
|
255
220
|
var getInitializedBrowser = /*#__PURE__*/function () {
|
|
256
221
|
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
257
222
|
var replaceWindow,
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
223
|
+
resolvePromise,
|
|
224
|
+
promise,
|
|
225
|
+
wrappedCallback,
|
|
226
|
+
_args2 = arguments;
|
|
262
227
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
263
228
|
while (1) {
|
|
264
229
|
switch (_context2.prev = _context2.next) {
|
|
@@ -266,20 +231,16 @@ var getInitializedBrowser = /*#__PURE__*/function () {
|
|
|
266
231
|
replaceWindow = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : true;
|
|
267
232
|
promise = new Promise(function (resolve) {
|
|
268
233
|
resolvePromise = resolve;
|
|
269
|
-
});
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
*/
|
|
274
|
-
|
|
234
|
+
}); /*
|
|
235
|
+
NOTE: We have to define window globally before anything is loaded to
|
|
236
|
+
ensure that all future instances share the same window object.
|
|
237
|
+
*/
|
|
275
238
|
wrappedCallback = function wrappedCallback() {
|
|
276
239
|
if (replaceWindow && typeof global !== 'undefined' && global !== browser.window) global.window = browser.window;
|
|
277
240
|
resolvePromise(browser);
|
|
278
241
|
};
|
|
279
|
-
|
|
280
242
|
if (browser.initialized) wrappedCallback();else onCreatedListener.push(wrappedCallback);
|
|
281
243
|
return _context2.abrupt("return", promise);
|
|
282
|
-
|
|
283
244
|
case 5:
|
|
284
245
|
case "end":
|
|
285
246
|
return _context2.stop();
|
|
@@ -287,16 +248,13 @@ var getInitializedBrowser = /*#__PURE__*/function () {
|
|
|
287
248
|
}
|
|
288
249
|
}, _callee2);
|
|
289
250
|
}));
|
|
290
|
-
|
|
291
251
|
return function getInitializedBrowser() {
|
|
292
252
|
return _ref2.apply(this, arguments);
|
|
293
253
|
};
|
|
294
254
|
}();
|
|
295
|
-
|
|
296
255
|
exports.getInitializedBrowser = getInitializedBrowser;
|
|
297
256
|
var _default = getInitializedBrowser; // region vim modline
|
|
298
257
|
// vim: set tabstop=4 shiftwidth=4 expandtab:
|
|
299
258
|
// vim: foldmethod=marker foldmarker=region,endregion:
|
|
300
259
|
// endregioun
|
|
301
|
-
|
|
302
260
|
exports["default"] = _default;
|