|
1 |
| -"use strict"; |
| 1 | +'use strict' |
2 | 2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3 |
| - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } |
4 |
| - return new (P || (P = Promise))(function (resolve, reject) { |
5 |
| - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } |
6 |
| - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } |
7 |
| - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } |
8 |
| - step((generator = generator.apply(thisArg, _arguments || [])).next()); |
9 |
| - }); |
10 |
| -}; |
11 |
| -Object.defineProperty(exports, "__esModule", { value: true }); |
12 |
| -const axios_1 = require("axios"); |
13 |
| -const store_1 = require("./store"); |
| 3 | + function adopt (value) { return value instanceof P ? value : new P(function (resolve) { resolve(value) }) } |
| 4 | + return new (P || (P = Promise))(function (resolve, reject) { |
| 5 | + function fulfilled (value) { try { step(generator.next(value)) } catch (e) { reject(e) } } |
| 6 | + function rejected (value) { try { step(generator.throw(value)) } catch (e) { reject(e) } } |
| 7 | + function step (result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected) } |
| 8 | + step((generator = generator.apply(thisArg, _arguments || [])).next()) |
| 9 | + }) |
| 10 | +} |
| 11 | +Object.defineProperty(exports, '__esModule', { value: true }) |
| 12 | +const axios_1 = require('axios') |
| 13 | +const store_1 = require('./store') |
14 | 14 | // array to save domain for checking if allready post
|
15 |
| -const domainsVisited = []; |
16 |
| -const browser = require('webextension-polyfill'); |
17 |
| -const map = store_1.default.getters.dataInfo; |
| 15 | +const domainsVisited = [] |
| 16 | +const browser = require('webextension-polyfill') |
| 17 | +const map = store_1.default.getters.dataInfo |
18 | 18 | // send url to analyzer
|
19 |
| -function sendUrl(url, domain, tabId) { |
20 |
| - return __awaiter(this, void 0, void 0, function* () { |
21 |
| - // loading |
22 |
| - store_1.default.commit('SET_ISLOADING', true); |
23 |
| - yield axios_1.default({ |
24 |
| - method: 'GET', |
25 |
| - url: `https://vue-telemetry.netlify.com/api/analyze?url=${url}&src=extension`, |
26 |
| - auth: { |
27 |
| - username: 'nuxt-admin', |
28 |
| - password: 'vue-telemetry-protected-area', |
29 |
| - }, |
30 |
| - }).then(({ data }) => { |
31 |
| - // delete useless jsonKey |
32 |
| - delete data.url; |
33 |
| - delete data.hostname; |
34 |
| - delete data.domain; |
35 |
| - delete data.screenshot; |
36 |
| - delete data.meta; |
37 |
| - setMapData(domain, data); |
38 |
| - }).catch(() => { |
39 |
| - browser.browserAction.setIcon({ |
40 |
| - tabId, |
41 |
| - path: { |
42 |
| - 16: 'icons/icon-vue-telemetry-404error-128.png', |
43 |
| - 32: 'icons/icon-vue-telemetry-404error-128.png', |
44 |
| - }, |
45 |
| - }); |
46 |
| - setMapData(domain, 'error'); |
47 |
| - }); |
48 |
| - store_1.default.commit('SET_ISLOADING', false); |
49 |
| - }); |
| 19 | +function sendUrl (url, domain, tabId) { |
| 20 | + return __awaiter(this, void 0, void 0, function * () { |
| 21 | + // loading |
| 22 | + store_1.default.commit('SET_ISLOADING', true) |
| 23 | + yield axios_1.default({ |
| 24 | + method: 'GET', |
| 25 | + url: `https://vue-telemetry.netlify.com/api/analyze?url=${url}&src=extension`, |
| 26 | + auth: { |
| 27 | + username: 'nuxt-admin', |
| 28 | + password: 'vue-telemetry-protected-area' |
| 29 | + } |
| 30 | + }).then(({ data }) => { |
| 31 | + // delete useless jsonKey |
| 32 | + delete data.url |
| 33 | + delete data.hostname |
| 34 | + delete data.domain |
| 35 | + delete data.screenshot |
| 36 | + delete data.meta |
| 37 | + setMapData(domain, data) |
| 38 | + }).catch(() => { |
| 39 | + browser.browserAction.setIcon({ |
| 40 | + tabId, |
| 41 | + path: { |
| 42 | + 16: 'icons/icon-vue-telemetry-404error-128.png', |
| 43 | + 32: 'icons/icon-vue-telemetry-404error-128.png' |
| 44 | + } |
| 45 | + }) |
| 46 | + setMapData(domain, 'error') |
| 47 | + }) |
| 48 | + store_1.default.commit('SET_ISLOADING', false) |
| 49 | + }) |
50 | 50 | }
|
51 | 51 | // when tab created
|
52 |
| -function handleCreated(tab) { |
53 |
| - setMapData(tab.url, 'noVue'); |
54 |
| - store_1.default.commit('SET_CURRENTDOMAIN', 'noVue'); |
| 52 | +function handleCreated (tab) { |
| 53 | + setMapData(tab.url, 'noVue') |
| 54 | + store_1.default.commit('SET_CURRENTDOMAIN', 'noVue') |
55 | 55 | }
|
56 | 56 | // when tab clicked
|
57 |
| -function handleActivated() { |
58 |
| - return __awaiter(this, void 0, void 0, function* () { |
59 |
| - // get active tab |
60 |
| - browser.tabs.query({ currentWindow: true, active: true }).then((tabsArray) => { |
61 |
| - if (/^chrome/.test(tabsArray[0].url) || /^about/.test(tabsArray[0].url)) { |
62 |
| - store_1.default.commit('SET_CURRENTDOMAIN', 'noVue'); |
63 |
| - setMapData(tabsArray[0].url, 'noVue'); |
64 |
| - } |
65 |
| - else { |
66 |
| - detectVue(tabsArray[0].id, tabsArray[0].url); |
67 |
| - } |
68 |
| - }); |
69 |
| - }); |
| 57 | +function handleActivated () { |
| 58 | + return __awaiter(this, void 0, void 0, function * () { |
| 59 | + // get active tab |
| 60 | + browser.tabs.query({ currentWindow: true, active: true }).then((tabsArray) => { |
| 61 | + if (/^chrome/.test(tabsArray[0].url) || /^about/.test(tabsArray[0].url)) { |
| 62 | + store_1.default.commit('SET_CURRENTDOMAIN', 'noVue') |
| 63 | + setMapData(tabsArray[0].url, 'noVue') |
| 64 | + } else { |
| 65 | + detectVue(tabsArray[0].id, tabsArray[0].url) |
| 66 | + } |
| 67 | + }) |
| 68 | + }) |
70 | 69 | }
|
71 | 70 | // when tab updated
|
72 |
| -function handleUpdated(tabId, changeInfo, tabInfo) { |
73 |
| - return __awaiter(this, void 0, void 0, function* () { |
74 |
| - console.log('handleUpdated'); |
75 |
| - if (changeInfo.status == 'complete') { |
76 |
| - detectVue(tabId, tabInfo.url); |
77 |
| - } |
78 |
| - }); |
| 71 | +function handleUpdated (tabId, changeInfo, tabInfo) { |
| 72 | + return __awaiter(this, void 0, void 0, function * () { |
| 73 | + console.log('handleUpdated') |
| 74 | + if (changeInfo.status == 'complete') { |
| 75 | + detectVue(tabId, tabInfo.url) |
| 76 | + } |
| 77 | + }) |
79 | 78 | }
|
80 |
| -browser.tabs.onCreated.addListener(handleCreated); |
81 |
| -browser.tabs.onActivated.addListener(handleActivated); |
82 |
| -browser.tabs.onUpdated.addListener(handleUpdated); |
| 79 | +browser.tabs.onCreated.addListener(handleCreated) |
| 80 | +browser.tabs.onActivated.addListener(handleActivated) |
| 81 | +browser.tabs.onUpdated.addListener(handleUpdated) |
83 | 82 | // detect vue by calling detector and sendUrl
|
84 |
| -function detectVue(tabId, url) { |
85 |
| - return __awaiter(this, void 0, void 0, function* () { |
86 |
| - yield hasVue(tabId).then(({ response }) => { |
87 |
| - store_1.default.commit('SET_CURRENTDOMAIN', response.vueInfo.domain); |
88 |
| - if (response.vueInfo.hasVue) { |
89 |
| - browser.browserAction.setIcon({ |
90 |
| - tabId, |
91 |
| - path: { |
92 |
| - 16: 'icons/icon-robot-128.png', |
93 |
| - 32: 'icons/icon-robot-128.png', |
94 |
| - }, |
95 |
| - }); |
96 |
| - } |
97 |
| - if (!domainsVisited.includes(response.vueInfo.domain)) { |
98 |
| - domainsVisited.push(response.vueInfo.domain); |
99 |
| - if (response.vueInfo.hasVue) { |
100 |
| - sendUrl(url, response.vueInfo.domain, tabId); |
101 |
| - } |
102 |
| - else { |
103 |
| - setMapData(response.vueInfo.domain, 'noVue'); |
104 |
| - store_1.default.commit('SET_CURRENTDOMAIN', 'noVue'); |
105 |
| - } |
106 |
| - } |
107 |
| - }); |
108 |
| - }); |
| 83 | +function detectVue (tabId, url) { |
| 84 | + return __awaiter(this, void 0, void 0, function * () { |
| 85 | + yield hasVue(tabId).then(({ response }) => { |
| 86 | + store_1.default.commit('SET_CURRENTDOMAIN', response.vueInfo.domain) |
| 87 | + if (response.vueInfo.hasVue) { |
| 88 | + browser.browserAction.setIcon({ |
| 89 | + tabId, |
| 90 | + path: { |
| 91 | + 16: 'icons/icon-robot-128.png', |
| 92 | + 32: 'icons/icon-robot-128.png' |
| 93 | + } |
| 94 | + }) |
| 95 | + } |
| 96 | + if (!domainsVisited.includes(response.vueInfo.domain)) { |
| 97 | + domainsVisited.push(response.vueInfo.domain) |
| 98 | + if (response.vueInfo.hasVue) { |
| 99 | + sendUrl(url, response.vueInfo.domain, tabId) |
| 100 | + } else { |
| 101 | + setMapData(response.vueInfo.domain, 'noVue') |
| 102 | + store_1.default.commit('SET_CURRENTDOMAIN', 'noVue') |
| 103 | + } |
| 104 | + } |
| 105 | + }) |
| 106 | + }) |
109 | 107 | }
|
110 | 108 | // check vue in detector.js and get response
|
111 |
| -function hasVue(tabId) { |
112 |
| - return new Promise((resolve) => { |
113 |
| - browser.tabs.sendMessage(tabId, { greeting: '' }).then((response) => { |
114 |
| - console.log('response', response); |
115 |
| - resolve(response); |
116 |
| - }); |
117 |
| - }); |
| 109 | +function hasVue (tabId) { |
| 110 | + return new Promise((resolve) => { |
| 111 | + browser.tabs.sendMessage(tabId, { greeting: '' }).then((response) => { |
| 112 | + console.log('response', response) |
| 113 | + resolve(response) |
| 114 | + }) |
| 115 | + }) |
118 | 116 | }
|
119 |
| -function setMapData(domain, data) { |
120 |
| - map[domain] = data; |
121 |
| - store_1.default.commit('SET_DATAINFO', map); |
| 117 | +function setMapData (domain, data) { |
| 118 | + map[domain] = data |
| 119 | + store_1.default.commit('SET_DATAINFO', map) |
122 | 120 | }
|
0 commit comments