weboptimizer 2.0.1234 → 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 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
- }; // endregion
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
- _step2;
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
- _step3;
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
- filePath = path.join(__dirname, 'index.html.ejs');
173
- /*
174
- NOTE: We load dependencies now to avoid having file imports
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
- _step4;
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
- } // endregion
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
- resolvePromise,
259
- promise,
260
- wrappedCallback,
261
- _args2 = arguments;
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
- NOTE: We have to define window globally before anything is loaded to
272
- ensure that all future instances share the same window object.
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;