From 820ce75422117fe42bd50c2988ad5c490a6ce4fc Mon Sep 17 00:00:00 2001 From: xuyanfeng Date: Sat, 3 Apr 2021 16:14:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=8E=AF=E5=A2=83=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + source/{dist.pem => key.pem} | 0 source/package-lock.json | 205 ++++++++++++++++++ source/package.json | 9 +- .../icon/icon48.png => public/icons/48.png} | Bin source/src/background.ts | 3 +- source/src/devtools/main.ts | 5 + source/src/manifest.json | 1 - source/src/manifest/index.js | 54 ----- source/src/popup/index.vue | 7 +- source/tsconfig.json | 1 + source/vue.config.js | 56 +++-- 12 files changed, 263 insertions(+), 79 deletions(-) rename source/{dist.pem => key.pem} (100%) rename source/{src/manifest/icon/icon48.png => public/icons/48.png} (100%) delete mode 100644 source/src/manifest/index.js diff --git a/.gitignore b/.gitignore index 1462d4a..0172cb0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .idea CocosCreatorInspector/src/build +/source/artifacts/ diff --git a/source/dist.pem b/source/key.pem similarity index 100% rename from source/dist.pem rename to source/key.pem diff --git a/source/package-lock.json b/source/package-lock.json index dcfb127..cd2a893 100644 --- a/source/package-lock.json +++ b/source/package-lock.json @@ -3324,6 +3324,12 @@ "isarray": "^1.0.0" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", @@ -3945,6 +3951,12 @@ "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=", "dev": true }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.4.0.tgz", + "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=", + "dev": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", @@ -7140,6 +7152,24 @@ } } }, + "imports-loader": { + "version": "0.8.0", + "resolved": "https://registry.npm.taobao.org/imports-loader/download/imports-loader-0.8.0.tgz?cache=0&sync_timestamp=1612180878719&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimports-loader%2Fdownload%2Fimports-loader-0.8.0.tgz", + "integrity": "sha1-Aw6lG4ygWXfECjq/2bQIj+C+mmk=", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", @@ -10892,6 +10922,26 @@ "uuid": "^3.3.2" } }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.4.tgz", + "integrity": "sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8=", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.9.tgz", + "integrity": "sha1-5AcSBSal79yaObKKVnm/R7nZ3Cg=", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", @@ -11732,6 +11782,12 @@ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, "stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz", @@ -11794,6 +11850,17 @@ "strip-ansi": "^6.0.0" } }, + "string.prototype.padstart": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/string.prototype.padstart/download/string.prototype.padstart-3.1.2.tgz", + "integrity": "sha1-+bnOZr7dfAastA7ObjTGBG4aAZ0=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + } + }, "string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz", @@ -12691,6 +12758,34 @@ "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", "dev": true }, + "useragent": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/useragent/download/useragent-2.3.0.tgz", + "integrity": "sha1-IX+UOtVAyyEoZYqyP8lg9qiMmXI=", + "dev": true, + "requires": { + "lru-cache": "4.1.x", + "tmp": "0.0.x" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427582110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, "util": { "version": "0.11.1", "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz", @@ -12799,6 +12894,43 @@ "resolved": "https://registry.npm.taobao.org/vue-class-component/download/vue-class-component-7.2.6.tgz", "integrity": "sha1-hHHgN7jkdi9aRkaG4Z5a/HCFAuQ=" }, + "vue-cli-plugin-browser-extension": { + "version": "0.25.2", + "resolved": "https://registry.npm.taobao.org/vue-cli-plugin-browser-extension/download/vue-cli-plugin-browser-extension-0.25.2.tgz", + "integrity": "sha1-5WsR9YoKQpiF12bCcpihvKcQiu4=", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^3.0.0-rc.3", + "copy-webpack-plugin": "^5.1.2", + "imports-loader": "^0.8.0", + "webextension-polyfill": "^0.4.0", + "webpack": "^4.16.0", + "webpack-extension-reloader": "^1.1.0", + "zip-webpack-plugin": "^3.0.0" + }, + "dependencies": { + "@vue/cli-shared-utils": { + "version": "3.12.1", + "resolved": "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-3.12.1.tgz?cache=0&sync_timestamp=1616590545070&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-3.12.1.tgz", + "integrity": "sha1-vPB2KH3a3uu7l8anSN/p/1DsjfA=", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.1", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.7", + "semver": "^6.0.0", + "string.prototype.padstart": "^3.0.0" + } + } + } + }, "vue-eslint-parser": { "version": "7.6.0", "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.6.0.tgz", @@ -13127,6 +13259,12 @@ "defaults": "^1.0.3" } }, + "webextension-polyfill": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/webextension-polyfill/download/webextension-polyfill-0.4.0.tgz", + "integrity": "sha1-nMWmDw8r+Qems0n91+YXAfVJVvk=", + "dev": true + }, "webpack": { "version": "4.46.0", "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.46.0.tgz?cache=0&sync_timestamp=1616589598083&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.46.0.tgz", @@ -13590,6 +13728,54 @@ } } }, + "webpack-extension-reloader": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/webpack-extension-reloader/download/webpack-extension-reloader-1.1.4.tgz", + "integrity": "sha1-9eX6WA5hfBFMxF3bbrJcXWpN0vY=", + "dev": true, + "requires": { + "@types/webpack": "^4.39.8", + "@types/webpack-sources": "^0.1.5", + "colors": "^1.4.0", + "lodash": "^4.17.15", + "minimist": "^1.2.0", + "useragent": "^2.3.0", + "webextension-polyfill": "^0.5.0", + "webpack-sources": "^1.4.3", + "ws": "^7.2.0" + }, + "dependencies": { + "@types/webpack-sources": { + "version": "0.1.8", + "resolved": "https://registry.npm.taobao.org/@types/webpack-sources/download/@types/webpack-sources-0.1.8.tgz", + "integrity": "sha1-B411QQQ1mT7IoKKFXohwbz91H4E=", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "webextension-polyfill": { + "version": "0.5.0", + "resolved": "https://registry.npm.taobao.org/webextension-polyfill/download/webextension-polyfill-0.5.0.tgz", + "integrity": "sha1-eV4L9qK46tzbbtrs0WnpIox0dRk=", + "dev": true + }, + "ws": { + "version": "7.4.4", + "resolved": "https://registry.npm.taobao.org/ws/download/ws-7.4.4.tgz?cache=0&sync_timestamp=1615063746103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-7.4.4.tgz", + "integrity": "sha1-ODvJdCyyAikskHfOq29gR7F/LVk=", + "dev": true + } + } + }, "webpack-log": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz?cache=0&sync_timestamp=1615477461878&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-log%2Fdownload%2Fwebpack-log-2.0.0.tgz", @@ -13822,6 +14008,15 @@ "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo=", "dev": true }, + "yazl": { + "version": "2.5.1", + "resolved": "https://registry.npm.taobao.org/yazl/download/yazl-2.5.1.tgz", + "integrity": "sha1-o9ZdPdZZpbCTeFDoYJ8i//orXDU=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3" + } + }, "yorkie": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz", @@ -13889,6 +14084,16 @@ "dev": true } } + }, + "zip-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/zip-webpack-plugin/download/zip-webpack-plugin-3.0.0.tgz", + "integrity": "sha1-Y7PBc/GoegBpFc1zKKPEC0TcjjI=", + "dev": true, + "requires": { + "webpack-sources": "^1.1.0", + "yazl": "^2.4.3" + } } } } diff --git a/source/package.json b/source/package.json index 6962069..f8c8350 100644 --- a/source/package.json +++ b/source/package.json @@ -4,9 +4,9 @@ "private": true, "scripts": { "serve": "vue-cli-service serve", - "build": "vue-cli-service build --watch", - "lint": "vue-cli-service lint", - "prepare1": "vue-cli-service build --target lib --name content src/content.ts" + "build": "vue-cli-service build", + "build-watch": "vue-cli-service build --watch", + "lint": "vue-cli-service lint" }, "dependencies": { "@types/fs-extra": "^9.0.9", @@ -37,7 +37,8 @@ "lint-staged": "^9.5.0", "prettier": "^2.2.1", "typescript": "~4.1.5", - "vue-template-compiler": "^2.6.11" + "vue-template-compiler": "^2.6.11", + "vue-cli-plugin-browser-extension": "latest" }, "browserslist": [ "> 1%", diff --git a/source/src/manifest/icon/icon48.png b/source/public/icons/48.png similarity index 100% rename from source/src/manifest/icon/icon48.png rename to source/public/icons/48.png diff --git a/source/src/background.ts b/source/src/background.ts index 6f0020a..c27c228 100644 --- a/source/src/background.ts +++ b/source/src/background.ts @@ -3,6 +3,7 @@ import * as PluginMsg from "./core/plugin-msg" let Devtools: chrome.runtime.Port | null = null; let DevtoolsPanel: chrome.runtime.Port | null = null; let Content: chrome.runtime.Port | null = null; +console.error('on background') function shortConnectionLink(request: any, sender: any, sendResponse: any) { // console.log(`%c[短连接|id:${sender.id}|url:${sender.url}]\n${JSON.stringify(request)}`, 'background:#aaa;color:#BD4E19') @@ -28,7 +29,7 @@ function longConnectionLink(data: any, sender: any) { } // 长连接 -chrome.runtime.onConnect.addListener(function (port) { +chrome.runtime.onConnect.addListener((port) => { console.log(`%c[长连接:${port.name}] 建立链接!`, "background:#aaa;color:#ff0000"); port.onMessage.addListener(longConnectionLink); port.onDisconnect.addListener(function (port) { diff --git a/source/src/devtools/main.ts b/source/src/devtools/main.ts index 57c562e..7a54b97 100644 --- a/source/src/devtools/main.ts +++ b/source/src/devtools/main.ts @@ -1,4 +1,9 @@ import * as PluginMsg from '../core/plugin-msg' +console.log('on devtools') +debugger +import Manifest from '../manifest.json' +Manifest.devtools_page + // 对应的是Elements面板的边栏 chrome.devtools.panels.elements.createSidebarPane('Cocos', function (sidebar) { sidebar.setObject({some_data: "some data to show!"}); diff --git a/source/src/manifest.json b/source/src/manifest.json index 88a5a0a..8381a81 100644 --- a/source/src/manifest.json +++ b/source/src/manifest.json @@ -3,7 +3,6 @@ "version": "1.1.0", "name": "Cocos Creator Inspector", "description": "Cocos Creator Inspector", - "default_locale": "en", "permissions": [ "activeTab", "", diff --git a/source/src/manifest/index.js b/source/src/manifest/index.js deleted file mode 100644 index 98d364d..0000000 --- a/source/src/manifest/index.js +++ /dev/null @@ -1,54 +0,0 @@ -module.exports = { - name: "Cocos Creator Inspector", - version: "1.0.1", - description: "Cocos Creator Inspector", - browser_action: { - default_title: "CC-Inspector", - default_icon: "icon/icon48.png", - default_popup: "popup.html" - }, - icons: { - 48: "icon/icon48.png" - }, - devtools_page: "devtools_panel.html", - content_scripts: [ - { - matches: [""], - js: ["js/content.js"], - run_at: "document_end", - all_frames: true - } - ], - background: { - scripts: ["js/background.js"], - persistent: false,// 需要时开启 - }, - // optionsV1的写法 - options_page: "options.html", - // optionsV2的写法 - options_ui: { - page: "options.html", - // 添加一些默认的样式,推荐使用 - chrome_style: true, - }, - manifest_version: 2, - permissions: [ - "tabs", - "http://*/*", - "https://*/*", - "*://*/*", - "audio", - "system.cpu", - "clipboardRead", - "clipboardWrite", - "system.memory", - "processes",// 这个权限只在chrome-dev版本都才有 - "tabs", - "storage", - "nativeMessaging", - "contextMenus", - "notifications", - ], - web_accessible_resources: ["*/*", "*"], - content_security_policy: "script-src 'self' 'unsafe-eval'; object-src 'self'" -} diff --git a/source/src/popup/index.vue b/source/src/popup/index.vue index 7d8b339..fa4fd65 100644 --- a/source/src/popup/index.vue +++ b/source/src/popup/index.vue @@ -42,6 +42,7 @@