browser-extension-manager 1.0.5 → 1.0.7
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/background.js +21 -38
- package/dist/build.js +1 -1
- package/dist/content.js +5 -22
- package/dist/defaults/src/assets/js/background.js +4 -1
- package/dist/defaults/src/assets/js/content.js +4 -1
- package/dist/defaults/src/assets/js/options.js +5 -2
- package/dist/defaults/src/assets/js/popup.js +5 -2
- package/dist/defaults/src/pages/options.html +2 -2
- package/dist/defaults/src/pages/popup.html +2 -2
- package/dist/gulp/tasks/serve.js +20 -10
- package/dist/gulp/tasks/webpack.js +6 -0
- package/dist/index.js +9 -22
- package/dist/lib/logger-lite.js +34 -0
- package/package.json +1 -1
package/dist/background.js
CHANGED
|
@@ -9,6 +9,7 @@ function Manager() {
|
|
|
9
9
|
|
|
10
10
|
// Properties
|
|
11
11
|
self.extension = null;
|
|
12
|
+
self.logger = null;
|
|
12
13
|
|
|
13
14
|
// Defaults
|
|
14
15
|
self.config = {};
|
|
@@ -40,6 +41,7 @@ Manager.prototype.initialize = function () {
|
|
|
40
41
|
return new Promise(function(resolve, reject) {
|
|
41
42
|
// Properties
|
|
42
43
|
self.extension = require('./lib/extension');
|
|
44
|
+
self.logger = new (require('./lib/logger-lite'))('background');
|
|
43
45
|
|
|
44
46
|
// Parse config file
|
|
45
47
|
parseConfiguration(self);
|
|
@@ -54,32 +56,13 @@ Manager.prototype.initialize = function () {
|
|
|
54
56
|
setupLiveReload(self);
|
|
55
57
|
|
|
56
58
|
// Log
|
|
57
|
-
self.log('Initialized!', self.version, self.cache.name, self);
|
|
59
|
+
self.logger.log('Initialized!', self.version, self.cache.name, self);
|
|
58
60
|
|
|
59
61
|
// Return
|
|
60
62
|
return resolve(self);
|
|
61
63
|
});
|
|
62
64
|
};
|
|
63
65
|
|
|
64
|
-
// Setup logger
|
|
65
|
-
['log', 'error', 'warn', 'info', 'debug'].forEach(method => {
|
|
66
|
-
Manager.prototype[method] = function() {
|
|
67
|
-
// Get arguments
|
|
68
|
-
const time = new Date().toLocaleTimeString('en-US', {
|
|
69
|
-
hour12: false,
|
|
70
|
-
hour: '2-digit',
|
|
71
|
-
minute: '2-digit',
|
|
72
|
-
second: '2-digit'
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
// Add prefix
|
|
76
|
-
const args = [`[${time}] background:`, ...Array.from(arguments)];
|
|
77
|
-
|
|
78
|
-
// Call the original console method
|
|
79
|
-
console[method].apply(console, args);
|
|
80
|
-
};
|
|
81
|
-
});
|
|
82
|
-
|
|
83
66
|
// Parse configuration
|
|
84
67
|
function parseConfiguration(self) {
|
|
85
68
|
try {
|
|
@@ -87,9 +70,9 @@ function parseConfiguration(self) {
|
|
|
87
70
|
self.cache.breaker = new Date().getTime();
|
|
88
71
|
self.cache.name = `${self.app}-${self.cache.breaker}`;
|
|
89
72
|
|
|
90
|
-
self.log('Parsed configuration', self.config);
|
|
73
|
+
self.logger.log('Parsed configuration', self.config);
|
|
91
74
|
} catch (e) {
|
|
92
|
-
self.error('Error parsing configuration', e);
|
|
75
|
+
self.logger.error('Error parsing configuration', e);
|
|
93
76
|
}
|
|
94
77
|
}
|
|
95
78
|
|
|
@@ -118,10 +101,10 @@ function setupListeners(self) {
|
|
|
118
101
|
const clickAction = payload.click_action || data.click_action || '/';
|
|
119
102
|
|
|
120
103
|
// Log
|
|
121
|
-
self.log('Event: notificationclick event', event);
|
|
122
|
-
self.log('Event: notificationclick data', data);
|
|
123
|
-
self.log('Event: notificationclick payload', payload);
|
|
124
|
-
self.log('Event: notificationclick clickAction', clickAction);
|
|
104
|
+
self.logger.log('Event: notificationclick event', event);
|
|
105
|
+
self.logger.log('Event: notificationclick data', data);
|
|
106
|
+
self.logger.log('Event: notificationclick payload', payload);
|
|
107
|
+
self.logger.log('Event: notificationclick clickAction', clickAction);
|
|
125
108
|
|
|
126
109
|
// Handle the click
|
|
127
110
|
event.waitUntil(
|
|
@@ -153,14 +136,14 @@ function setupListeners(self) {
|
|
|
153
136
|
if (data.command === '') { return };
|
|
154
137
|
|
|
155
138
|
// Log
|
|
156
|
-
self.log('Event: postMessage', data);
|
|
139
|
+
self.logger.log('Event: postMessage', data);
|
|
157
140
|
|
|
158
141
|
// Handle the command
|
|
159
142
|
if (data.command === 'function') {
|
|
160
143
|
data.args.function = data.args.function || function() {};
|
|
161
144
|
data.args.function();
|
|
162
145
|
} else if (data.command === 'debug') {
|
|
163
|
-
self.log('Debug data =', data);
|
|
146
|
+
self.logger.log('Debug data =', data);
|
|
164
147
|
event.ports[0].postMessage(response);
|
|
165
148
|
} else if (data.command === 'skipWaiting') {
|
|
166
149
|
self.skipWaiting();
|
|
@@ -190,13 +173,13 @@ function setupListeners(self) {
|
|
|
190
173
|
pagesToCache
|
|
191
174
|
)
|
|
192
175
|
.then(() => {
|
|
193
|
-
self.log('Cached resources.');
|
|
176
|
+
self.logger.log('Cached resources.');
|
|
194
177
|
event.ports[0].postMessage(response);
|
|
195
178
|
})
|
|
196
179
|
.catch(() => {
|
|
197
180
|
response.status = 'fail';
|
|
198
181
|
event.ports[0].postMessage(response);
|
|
199
|
-
self.log('Failed to cache resources.')
|
|
182
|
+
self.logger.log('Failed to cache resources.')
|
|
200
183
|
});
|
|
201
184
|
})
|
|
202
185
|
}
|
|
@@ -210,12 +193,12 @@ function setupListeners(self) {
|
|
|
210
193
|
try { event.ports[0].postMessage(response) } catch (e) {}
|
|
211
194
|
|
|
212
195
|
// Log
|
|
213
|
-
self.log('Failed to receive message:', data, e);
|
|
196
|
+
self.logger.log('Failed to receive message:', data, e);
|
|
214
197
|
}
|
|
215
198
|
});
|
|
216
199
|
|
|
217
200
|
// Log
|
|
218
|
-
self.log('Set up listeners');
|
|
201
|
+
self.logger.log('Set up listeners');
|
|
219
202
|
}
|
|
220
203
|
|
|
221
204
|
// Import Firebase
|
|
@@ -258,16 +241,16 @@ function setupLiveReload(self) {
|
|
|
258
241
|
connection = new WebSocket(address);
|
|
259
242
|
|
|
260
243
|
// Log connection
|
|
261
|
-
self.log(`Reload connecting to ${address}...`);
|
|
244
|
+
self.logger.log(`Reload connecting to ${address}...`);
|
|
262
245
|
|
|
263
246
|
// Log connection errors
|
|
264
247
|
connection.onerror = (e) => {
|
|
265
|
-
self.error('Reload connection got error:', e);
|
|
248
|
+
self.logger.error('Reload connection got error:', e);
|
|
266
249
|
};
|
|
267
250
|
|
|
268
251
|
// Log when set up correctly
|
|
269
252
|
connection.onopen = () => {
|
|
270
|
-
self.log('Reload connection set up!');
|
|
253
|
+
self.logger.log('Reload connection set up!');
|
|
271
254
|
|
|
272
255
|
// Reload the extension only on reconnections
|
|
273
256
|
if (isReconnecting) {
|
|
@@ -284,7 +267,7 @@ function setupLiveReload(self) {
|
|
|
284
267
|
const seconds = 1;
|
|
285
268
|
|
|
286
269
|
// Log
|
|
287
|
-
self.log(`Reload connection closed. Attempting to reconnect in ${seconds} second(s)...`);
|
|
270
|
+
self.logger.log(`Reload connection closed. Attempting to reconnect in ${seconds} second(s)...`);
|
|
288
271
|
|
|
289
272
|
// Set the reconnection flag
|
|
290
273
|
isReconnecting = true;
|
|
@@ -303,7 +286,7 @@ function setupLiveReload(self) {
|
|
|
303
286
|
const data = JSON.parse(event.data);
|
|
304
287
|
|
|
305
288
|
// Log
|
|
306
|
-
self.log('Reload connection got message:', data);
|
|
289
|
+
self.logger.log('Reload connection got message:', data);
|
|
307
290
|
|
|
308
291
|
// Handle reload command
|
|
309
292
|
if (data && data.command === 'reload') {
|
|
@@ -313,7 +296,7 @@ function setupLiveReload(self) {
|
|
|
313
296
|
}
|
|
314
297
|
|
|
315
298
|
function reload() {
|
|
316
|
-
self.log('Reloading extension...');
|
|
299
|
+
self.logger.log('Reloading extension...');
|
|
317
300
|
setTimeout(() => {
|
|
318
301
|
self.extension.runtime.reload();
|
|
319
302
|
}, 1000);
|
package/dist/build.js
CHANGED
|
@@ -96,7 +96,7 @@ Manager.getLiveReloadPort = function () {
|
|
|
96
96
|
process.env.BXM_LIVERELOAD_PORT = process.env.BXM_LIVERELOAD_PORT || 35729;
|
|
97
97
|
|
|
98
98
|
// Return the port
|
|
99
|
-
return process.env.BXM_LIVERELOAD_PORT;
|
|
99
|
+
return parseInt(process.env.BXM_LIVERELOAD_PORT);
|
|
100
100
|
}
|
|
101
101
|
Manager.prototype.getLiveReloadPort = Manager.getLiveReloadPort;
|
|
102
102
|
|
package/dist/content.js
CHANGED
|
@@ -5,8 +5,9 @@ function Manager() {
|
|
|
5
5
|
const self = this;
|
|
6
6
|
|
|
7
7
|
// Properties
|
|
8
|
-
self.affiliatizer = null;
|
|
9
8
|
self.extension = null;
|
|
9
|
+
self.logger = null;
|
|
10
|
+
self.affiliatizer = null;
|
|
10
11
|
|
|
11
12
|
// Return
|
|
12
13
|
return self;
|
|
@@ -18,35 +19,17 @@ Manager.prototype.initialize = function () {
|
|
|
18
19
|
|
|
19
20
|
return new Promise(function(resolve, reject) {
|
|
20
21
|
// Properties
|
|
21
|
-
self.affiliatizer = require('./lib/affiliatizer').initialize(self);
|
|
22
22
|
self.extension = require('./lib/extension');
|
|
23
|
+
self.logger = new (require('./lib/logger-lite'))('content');
|
|
24
|
+
self.affiliatizer = require('./lib/affiliatizer').initialize(self);
|
|
23
25
|
|
|
24
26
|
// Log
|
|
25
|
-
self.log('Initialized!', self);
|
|
27
|
+
self.logger.log('Initialized!', self);
|
|
26
28
|
|
|
27
29
|
// Return
|
|
28
30
|
return resolve(self);
|
|
29
31
|
});
|
|
30
32
|
};
|
|
31
33
|
|
|
32
|
-
// Setup logger
|
|
33
|
-
['log', 'error', 'warn', 'info', 'debug'].forEach(method => {
|
|
34
|
-
Manager.prototype[method] = function() {
|
|
35
|
-
// Get arguments
|
|
36
|
-
const time = new Date().toLocaleTimeString('en-US', {
|
|
37
|
-
hour12: false,
|
|
38
|
-
hour: '2-digit',
|
|
39
|
-
minute: '2-digit',
|
|
40
|
-
second: '2-digit'
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
// Add prefix
|
|
44
|
-
const args = [`[${time}] content:`, ...Array.from(arguments)];
|
|
45
|
-
|
|
46
|
-
// Call the original console method
|
|
47
|
-
console[method].apply(console, args);
|
|
48
|
-
};
|
|
49
|
-
});
|
|
50
|
-
|
|
51
34
|
// Export
|
|
52
35
|
module.exports = Manager;
|
|
@@ -7,9 +7,12 @@ const Manager = new (require('browser-extension-manager/background'));
|
|
|
7
7
|
// Initialize
|
|
8
8
|
Manager.initialize()
|
|
9
9
|
.then(() => {
|
|
10
|
+
// Shortcuts
|
|
11
|
+
const { extension, logger } = Manager;
|
|
12
|
+
|
|
10
13
|
// Do other initialization tasks here
|
|
11
14
|
// ...
|
|
12
15
|
|
|
13
16
|
// Log the initialization
|
|
14
|
-
|
|
17
|
+
logger.log('Initialized!');
|
|
15
18
|
});
|
|
@@ -4,9 +4,12 @@ const Manager = new (require('browser-extension-manager/content'));
|
|
|
4
4
|
// Initialize
|
|
5
5
|
Manager.initialize()
|
|
6
6
|
.then(() => {
|
|
7
|
+
// Shortcuts
|
|
8
|
+
const { extension, logger, affiliatizer } = Manager;
|
|
9
|
+
|
|
7
10
|
// Do other initialization tasks here
|
|
8
11
|
// ...
|
|
9
12
|
|
|
10
13
|
// Log the initialization
|
|
11
|
-
|
|
14
|
+
logger.log('Initialized!');
|
|
12
15
|
});
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
const Manager = new (require('browser-extension-manager'));
|
|
3
3
|
|
|
4
4
|
// Import themes
|
|
5
|
-
|
|
5
|
+
window.bootstrap = require('/node_modules/browser-extension-manager/dist/assets/themes/bootstrap/5.3.3/js/bootstrap.bundle.js');
|
|
6
6
|
|
|
7
7
|
// Initialize
|
|
8
8
|
Manager.initialize(() => {
|
|
9
|
+
// Shortcuts
|
|
10
|
+
const { extension, logger } = Manager;
|
|
11
|
+
|
|
9
12
|
// Do other initialization tasks here
|
|
10
13
|
// ...
|
|
11
14
|
|
|
12
15
|
// Log the initialization
|
|
13
|
-
|
|
16
|
+
logger.log('Initialized!');
|
|
14
17
|
})
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
const Manager = new (require('browser-extension-manager'));
|
|
3
3
|
|
|
4
4
|
// Import themes
|
|
5
|
-
|
|
5
|
+
window.bootstrap = require('/node_modules/browser-extension-manager/dist/assets/themes/bootstrap/5.3.3/js/bootstrap.bundle.js');
|
|
6
6
|
|
|
7
7
|
// Initialize
|
|
8
8
|
Manager.initialize(() => {
|
|
9
|
+
// Shortcuts
|
|
10
|
+
const { extension, logger } = Manager;
|
|
11
|
+
|
|
9
12
|
// Do other initialization tasks here
|
|
10
13
|
// ...
|
|
11
14
|
|
|
12
15
|
// Log the initialization
|
|
13
|
-
|
|
16
|
+
logger.log('Initialized!');
|
|
14
17
|
})
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
<div class="grid">
|
|
15
15
|
<div class="unit whole center-on-mobiles">
|
|
16
16
|
<p class="text-center text-muted">
|
|
17
|
-
© <a href="">ITW Creative Works</a> <span class="wm-year"></span>.
|
|
17
|
+
© <a href="https://itwcreativeworks.com" target="_blank">ITW Creative Works</a> <span class="wm-year"></span>.
|
|
18
18
|
</p>
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
21
|
</footer>
|
|
22
22
|
|
|
23
23
|
<!-- JS -->
|
|
24
|
-
<script src="/assets/
|
|
24
|
+
<script src="/assets/js/options.bundle.js"></script>
|
|
25
25
|
</body>
|
|
26
26
|
</html>
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
<div class="grid">
|
|
15
15
|
<div class="unit whole center-on-mobiles">
|
|
16
16
|
<p class="text-center text-muted">
|
|
17
|
-
© <a href="">ITW Creative Works</a> <span class="wm-year"></span>.
|
|
17
|
+
© <a href="https://itwcreativeworks.com" target="_blank">ITW Creative Works</a> <span class="wm-year"></span>.
|
|
18
18
|
</p>
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
21
|
</footer>
|
|
22
22
|
|
|
23
23
|
<!-- JS -->
|
|
24
|
-
<script src="/assets/
|
|
24
|
+
<script src="/assets/js/popup.bundle.js"></script>
|
|
25
25
|
</body>
|
|
26
26
|
</html>
|
package/dist/gulp/tasks/serve.js
CHANGED
|
@@ -15,19 +15,29 @@ module.exports = function serve(complete) {
|
|
|
15
15
|
// Log
|
|
16
16
|
logger.log('Starting...');
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
try {
|
|
19
|
+
// Get the local URL
|
|
20
|
+
const server = new WebSocket.Server({ port: Manager.getLiveReloadPort() })
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
// Log
|
|
23
|
+
logger.log(`LiveReload server started on port ${Manager.getLiveReloadPort()}`);
|
|
24
|
+
|
|
25
|
+
// Log connection
|
|
26
|
+
server.on('connection', (socket, request) => {
|
|
27
|
+
logger.log(`LiveReload client connected from local IP: ${request.socket.localAddress}`);
|
|
28
|
+
});
|
|
23
29
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
// Handle errors
|
|
31
|
+
server.on('error', (error) => {
|
|
32
|
+
logger.error('WebSocket error:', error);
|
|
33
|
+
});
|
|
28
34
|
|
|
29
|
-
|
|
30
|
-
|
|
35
|
+
// Set server
|
|
36
|
+
global.websocket = server;
|
|
37
|
+
} catch (error) {
|
|
38
|
+
// Log error
|
|
39
|
+
logger.error('Error starting LiveReload server:', error);
|
|
40
|
+
}
|
|
31
41
|
|
|
32
42
|
// Complete
|
|
33
43
|
return complete();
|
|
@@ -204,6 +204,12 @@ function getReplaceOptions() {
|
|
|
204
204
|
extension: {},
|
|
205
205
|
validRedirectHosts: ['itwcreativeworks.com'],
|
|
206
206
|
settings: {
|
|
207
|
+
refreshNewVersion: {
|
|
208
|
+
enabled: false,
|
|
209
|
+
},
|
|
210
|
+
exitPopup: {
|
|
211
|
+
enabled: false,
|
|
212
|
+
},
|
|
207
213
|
libraries: {
|
|
208
214
|
firebase_app: {
|
|
209
215
|
enabled: !!options.firebaseConfig.apiKey,
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,11 @@ const WebManager = require('web-manager');
|
|
|
5
5
|
function Manager() {
|
|
6
6
|
const self = this;
|
|
7
7
|
|
|
8
|
+
// Properties
|
|
9
|
+
self.webManager = null;
|
|
10
|
+
self.extension = null;
|
|
11
|
+
self.logger = null;
|
|
12
|
+
|
|
8
13
|
// Return
|
|
9
14
|
return self;
|
|
10
15
|
}
|
|
@@ -16,34 +21,16 @@ Manager.prototype.initialize = function (callback) {
|
|
|
16
21
|
const configuration = JSON.parse('%%% webManagerConfiguration %%%');
|
|
17
22
|
|
|
18
23
|
// Initiate the web manager
|
|
19
|
-
self.
|
|
24
|
+
self.webManager = new WebManager();
|
|
20
25
|
self.extension = require('./lib/extension');
|
|
26
|
+
self.logger = new (require('./lib/logger-lite'))('popup');
|
|
21
27
|
|
|
22
28
|
// Initialize
|
|
23
|
-
self.
|
|
29
|
+
self.webManager.init(configuration, callback);
|
|
24
30
|
|
|
25
31
|
// Return
|
|
26
|
-
return self.
|
|
32
|
+
return self.webManager;
|
|
27
33
|
};
|
|
28
34
|
|
|
29
|
-
// Setup logger
|
|
30
|
-
['log', 'error', 'warn', 'info', 'debug'].forEach(method => {
|
|
31
|
-
Manager.prototype[method] = function() {
|
|
32
|
-
// Get arguments
|
|
33
|
-
const time = new Date().toLocaleTimeString('en-US', {
|
|
34
|
-
hour12: false,
|
|
35
|
-
hour: '2-digit',
|
|
36
|
-
minute: '2-digit',
|
|
37
|
-
second: '2-digit'
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
// Add prefix
|
|
41
|
-
const args = [`[${time}] content:`, ...Array.from(arguments)];
|
|
42
|
-
|
|
43
|
-
// Call the original console method
|
|
44
|
-
console[method].apply(console, args);
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
|
|
48
35
|
// Export
|
|
49
36
|
module.exports = Manager;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Libraries
|
|
2
|
+
|
|
3
|
+
// Logger class
|
|
4
|
+
function Logger(name) {
|
|
5
|
+
const self = this;
|
|
6
|
+
|
|
7
|
+
// Properties
|
|
8
|
+
self.name = name;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Loop through log, error, warn, and info and make methods that log to console with the name and time [xx:xx:xx] name: message
|
|
12
|
+
// Setup logger
|
|
13
|
+
['log', 'error', 'warn', 'info', 'debug'].forEach(method => {
|
|
14
|
+
Logger.prototype[method] = function () {
|
|
15
|
+
const self = this;
|
|
16
|
+
|
|
17
|
+
// Get arguments
|
|
18
|
+
const time = new Date().toLocaleTimeString('en-US', {
|
|
19
|
+
hour12: false,
|
|
20
|
+
hour: '2-digit',
|
|
21
|
+
minute: '2-digit',
|
|
22
|
+
second: '2-digit'
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// Add prefix
|
|
26
|
+
const args = [`[${time}] ${self.name}:`, ...Array.from(arguments)];
|
|
27
|
+
|
|
28
|
+
// Call the original console method
|
|
29
|
+
console[method].apply(console, args);
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// Export
|
|
34
|
+
module.exports = Logger;
|