@tarojs/plugin-vue-devtools 3.4.4 → 3.4.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/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime.js.map +1 -1
- package/package.json +6 -6
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { chalk } from '@tarojs/helper'\nimport { isArray, isString } from '@tarojs/shared'\n\nimport type { IPluginContext, TaroPlatformBase } from '@tarojs/service'\n\nconst spawn = require('cross-spawn')\nconst detectPort = require('detect-port')\n\ninterface IOptions {\n enabled?: boolean\n port?: string\n}\n\nexport default function (ctx: IPluginContext, options: IOptions) {\n if (process.env.NODE_ENV === 'production' || options.enabled === false) return\n\n const port = Number(options.port || '8098')\n\n detectPort(port, (err, availablePort) => {\n if (err) {\n // eslint-disable-next-line no-console\n console.log(`detectport 错误:${err}`)\n }\n\n if (availablePort === port) {\n // eslint-disable-next-line no-console\n console.log(chalk.yellow('\\n提示 ') + '正在启动 vue-devtools...\\n')\n spawn(require.resolve('@vue/devtools/bin'), { env: { ...process.env, PORT: port } })\n }\n })\n\n ctx.registerMethod({\n name: 'onSetupClose',\n fn (platform: TaroPlatformBase) {\n injectRuntimePath(platform)\n }\n })\n\n ctx.modifyWebpackChain(({ chain }) => {\n chain\n .plugin('definePlugin')\n .tap(args => {\n const config = args[0]\n config.__VUE_DEVTOOLS_PORT__ = port\n config.ENABLE_SIZE_APIS = true\n config.ENABLE_CONTAINS = true\n return args\n })\n\n chain\n .plugin('providerPlugin')\n .tap(args => {\n const config = args[0]\n config.globalThis = ['@tarojs/runtime', 'window']\n config.HTMLElement = ['@tarojs/runtime', 'TaroElement']\n return args\n })\n })\n}\n\nfunction injectRuntimePath (platform: TaroPlatformBase) {\n const injectedPath = '@tarojs/plugin-vue-devtools/dist/runtime'\n\n if (isArray(platform.runtimePath)) {\n platform.runtimePath.push(injectedPath)\n } else if (isString(platform.runtimePath)) {\n platform.runtimePath = [platform.runtimePath, injectedPath]\n }\n}\n"],"names":["chalk","isArray","isString"],"mappings":";;;;;;;AAKA,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;AACpC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { chalk } from '@tarojs/helper'\nimport { isArray, isString } from '@tarojs/shared'\n\nimport type { IPluginContext, TaroPlatformBase } from '@tarojs/service'\n\nconst spawn = require('cross-spawn')\nconst detectPort = require('detect-port')\n\ninterface IOptions {\n enabled?: boolean\n port?: string\n}\n\nexport default function (ctx: IPluginContext, options: IOptions) {\n if (process.env.NODE_ENV === 'production' || options.enabled === false) return\n\n const port = Number(options.port || '8098')\n\n detectPort(port, (err, availablePort) => {\n if (err) {\n // eslint-disable-next-line no-console\n console.log(`detectport 错误:${err}`)\n }\n\n if (availablePort === port) {\n // eslint-disable-next-line no-console\n console.log(chalk.yellow('\\n提示 ') + '正在启动 vue-devtools...\\n')\n spawn(require.resolve('@vue/devtools/bin'), { env: { ...process.env, PORT: port } })\n }\n })\n\n ctx.registerMethod({\n name: 'onSetupClose',\n fn (platform: TaroPlatformBase) {\n injectRuntimePath(platform)\n }\n })\n\n ctx.modifyWebpackChain(({ chain }) => {\n chain\n .plugin('definePlugin')\n .tap(args => {\n const config = args[0]\n config.__VUE_DEVTOOLS_PORT__ = port\n config.ENABLE_SIZE_APIS = true\n config.ENABLE_CONTAINS = true\n return args\n })\n\n chain\n .plugin('providerPlugin')\n .tap(args => {\n const config = args[0]\n config.globalThis = ['@tarojs/runtime', 'window']\n config.HTMLElement = ['@tarojs/runtime', 'TaroElement']\n return args\n })\n })\n}\n\nfunction injectRuntimePath (platform: TaroPlatformBase) {\n const injectedPath = '@tarojs/plugin-vue-devtools/dist/runtime'\n\n if (isArray(platform.runtimePath)) {\n platform.runtimePath.push(injectedPath)\n } else if (isString(platform.runtimePath)) {\n platform.runtimePath = [platform.runtimePath, injectedPath]\n }\n}\n"],"names":["chalk","isArray","isString"],"mappings":";;;;;;;AAKA,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;AACpC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;AAOhB,cAAA,EAAA,GAAmB,EAAE,OAAiB,EAAA;AAC7D,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;QAAE,OAAM;IAE9E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAA;IAE3C,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,aAAa,KAAI;AACtC,QAAA,IAAI,GAAG,EAAE;;AAEP,YAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAA,CAAE,CAAC,CAAA;AACpC,SAAA;QAED,IAAI,aAAa,KAAK,IAAI,EAAE;;AAE1B,YAAA,OAAO,CAAC,GAAG,CAACA,YAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC,CAAA;YAC9D,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,kCAAO,OAAO,CAAC,GAAG,CAAE,EAAA,EAAA,IAAI,EAAE,IAAI,EAAA,CAAE,EAAE,CAAC,CAAA;AACrF,SAAA;AACH,KAAC,CAAC,CAAA;IAEF,GAAG,CAAC,cAAc,CAAC;AACjB,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,EAAE,CAAE,QAA0B,EAAA;YAC5B,iBAAiB,CAAC,QAAQ,CAAC,CAAA;SAC5B;AACF,KAAA,CAAC,CAAA;IAEF,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAI;QACnC,KAAK;aACF,MAAM,CAAC,cAAc,CAAC;aACtB,GAAG,CAAC,IAAI,IAAG;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACtB,YAAA,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAA;AACnC,YAAA,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAA;AAC9B,YAAA,MAAM,CAAC,eAAe,GAAG,IAAI,CAAA;AAC7B,YAAA,OAAO,IAAI,CAAA;AACb,SAAC,CAAC,CAAA;QAEJ,KAAK;aACF,MAAM,CAAC,gBAAgB,CAAC;aACxB,GAAG,CAAC,IAAI,IAAG;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACtB,MAAM,CAAC,UAAU,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAA;YACjD,MAAM,CAAC,WAAW,GAAG,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;AACvD,YAAA,OAAO,IAAI,CAAA;AACb,SAAC,CAAC,CAAA;AACN,KAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAE,QAA0B,EAAA;IACpD,MAAM,YAAY,GAAG,0CAA0C,CAAA;AAE/D,IAAA,IAAIC,cAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACjC,QAAA,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AACxC,KAAA;AAAM,SAAA,IAAIC,eAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACzC,QAAQ,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;AAC5D,KAAA;AACH;;;;"}
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sources":["../src/websocket.ts","../src/socket-io.ts","../src/runtime.ts"],"sourcesContent":["import Taro from '@tarojs/taro'\n\nconst ALIPAY = 'alipay'\n\nexport default class WebSocket {\n url: string\n readyState: number\n onclose: (res: any) => void\n onerror: (res: any) => void\n onmessage: (res: any) => void\n onopen: (res: any) => void\n\n private _ws: any\n\n constructor (url: string) {\n this.url = url\n this.readyState = this.CONNECTING\n\n Taro.connectSocket({\n url\n })\n .then(ws => {\n this._ws = ws\n\n ws.onClose(res => {\n this.readyState = this.CLOSED\n this.onclose(res)\n })\n\n ws.onError(res => {\n this.readyState = this.CLOSED\n this.onerror(res)\n })\n\n ws.onMessage(res => {\n this.onmessage(res)\n })\n\n if (this.readyState !== this.OPEN) {\n ws.onOpen(res => {\n this.readyState = this.OPEN\n this.onopen(res)\n })\n } else {\n // 支付宝全局的 onSocketOpen 已触发过了,直接调用 onopen\n this.onopen({})\n }\n })\n\n // 支付宝只支持一个 socket 连接,且 onSocketOpen 的触发时机比 connectSocket 回调的时机早\n if (process.env.TARO_ENV === ALIPAY) {\n Taro.onSocketOpen(() => {\n this.readyState = this.OPEN\n })\n }\n }\n\n public send (data) {\n this._ws.send({\n data\n })\n }\n\n public close (code?, reason?) {\n this.readyState = this.CLOSING\n this._ws.close({\n code: code || 1000,\n reason: reason || ''\n })\n }\n\n get CONNECTING () {\n return 0\n }\n\n get OPEN () {\n return 1\n }\n\n get CLOSING () {\n return 2\n }\n\n get CLOSED () {\n return 3\n }\n}\n","import Taro from '@tarojs/taro'\nimport WebSocket from './websocket'\n\nexport default function createSocket (host) {\n class Socket {\n _ws: WebSocket\n sid: string\n ack: any\n ackTimeout: number\n isClosed = false\n\n constructor () {\n this.connect()\n }\n\n connect () {\n Taro.request({\n url: `http://${host}/socket.io/?EIO=3&transport=polling`\n })\n .then(({ data }) => {\n const target = /{.*}/.exec(data)?.[0] || ''\n try {\n const res = JSON.parse(target)\n this.sid = res.sid\n this.ackTimeout = res.pingTimeout\n this.initWS()\n } catch (error) {\n console.error('Vue DevTools 握手失败: ', error)\n }\n })\n .catch(() => {\n console.warn('请打开 Vue DevTools')\n })\n }\n\n on (event, cb) {\n this[`on-${event}`] = cb\n }\n\n emit (event, data) {\n if (this.isClosed) return\n\n // heart break\n clearTimeout(this.ack)\n this.ack = setTimeout(() => this._ws.send('2'), 5000)\n\n const msgList = data ? [event, data] : [event]\n const msg = JSON.stringify(msgList)\n // message: 4 + parser.EVENT: 2\n this._ws.send('42' + msg)\n }\n\n initWS () {\n const ws = new WebSocket(`ws://${host}/socket.io/?EIO=3&transport=websocket&sid=${this.sid}`)\n ws.onopen = () => {\n // close: 1\n // message: 4\n // noop: 6\n // open: 0\n // ping: 2\n // pong: 3\n // upgrade: 5\n ws.send('2probe')\n }\n ws.onmessage = ({ data }) => {\n if (data === '3probe') {\n // upgrade: 5\n ws.send('5')\n this['on-connect']()\n } else if (data === '3') {\n // pong\n this.ack = setTimeout(() => ws.send('2'), 5000)\n } else {\n const match = /\\[.*\\]/.exec(data)\n if (!match) return\n\n try {\n const [event, args = []] = JSON.parse(match[0])\n const cb = this[`on-${event}`]\n if (typeof cb === 'function') {\n // @TODO: 元素高亮暂时不实现,需要魔改 backend 的代码\n const _args = args.filter(arg => arg.event.indexOf(':mouse-over') === -1)\n cb(_args)\n }\n } catch (error) {\n console.error('Vue DevTools 解析 socket message 失败: ', error)\n }\n }\n }\n ws.onclose = reason => {\n this.isClosed = true\n this['on-disconnect'](reason)\n }\n ws.onerror = err => console.error('[Taro Socket]onerror', err)\n this._ws = ws\n }\n\n disconnect () {\n this.clean()\n if (!this.isClosed) {\n // message: 4 + close: 1\n this._ws.send('41')\n this._ws.close()\n }\n }\n\n clean () {\n clearTimeout(this.ack)\n }\n }\n\n return new Socket()\n}\n","import createSocket from './socket-io'\n\nconst { connect } = require('./backend')\n\ndeclare const __VUE_DEVTOOLS_PORT__: number\n\nconnect('localhost', __VUE_DEVTOOLS_PORT__, {\n io: createSocket\n})\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sources":["../src/websocket.ts","../src/socket-io.ts","../src/runtime.ts"],"sourcesContent":["import Taro from '@tarojs/taro'\n\nconst ALIPAY = 'alipay'\n\nexport default class WebSocket {\n url: string\n readyState: number\n onclose: (res: any) => void\n onerror: (res: any) => void\n onmessage: (res: any) => void\n onopen: (res: any) => void\n\n private _ws: any\n\n constructor (url: string) {\n this.url = url\n this.readyState = this.CONNECTING\n\n Taro.connectSocket({\n url\n })\n .then(ws => {\n this._ws = ws\n\n ws.onClose(res => {\n this.readyState = this.CLOSED\n this.onclose(res)\n })\n\n ws.onError(res => {\n this.readyState = this.CLOSED\n this.onerror(res)\n })\n\n ws.onMessage(res => {\n this.onmessage(res)\n })\n\n if (this.readyState !== this.OPEN) {\n ws.onOpen(res => {\n this.readyState = this.OPEN\n this.onopen(res)\n })\n } else {\n // 支付宝全局的 onSocketOpen 已触发过了,直接调用 onopen\n this.onopen({})\n }\n })\n\n // 支付宝只支持一个 socket 连接,且 onSocketOpen 的触发时机比 connectSocket 回调的时机早\n if (process.env.TARO_ENV === ALIPAY) {\n Taro.onSocketOpen(() => {\n this.readyState = this.OPEN\n })\n }\n }\n\n public send (data) {\n this._ws.send({\n data\n })\n }\n\n public close (code?, reason?) {\n this.readyState = this.CLOSING\n this._ws.close({\n code: code || 1000,\n reason: reason || ''\n })\n }\n\n get CONNECTING () {\n return 0\n }\n\n get OPEN () {\n return 1\n }\n\n get CLOSING () {\n return 2\n }\n\n get CLOSED () {\n return 3\n }\n}\n","import Taro from '@tarojs/taro'\nimport WebSocket from './websocket'\n\nexport default function createSocket (host) {\n class Socket {\n _ws: WebSocket\n sid: string\n ack: any\n ackTimeout: number\n isClosed = false\n\n constructor () {\n this.connect()\n }\n\n connect () {\n Taro.request({\n url: `http://${host}/socket.io/?EIO=3&transport=polling`\n })\n .then(({ data }) => {\n const target = /{.*}/.exec(data)?.[0] || ''\n try {\n const res = JSON.parse(target)\n this.sid = res.sid\n this.ackTimeout = res.pingTimeout\n this.initWS()\n } catch (error) {\n console.error('Vue DevTools 握手失败: ', error)\n }\n })\n .catch(() => {\n console.warn('请打开 Vue DevTools')\n })\n }\n\n on (event, cb) {\n this[`on-${event}`] = cb\n }\n\n emit (event, data) {\n if (this.isClosed) return\n\n // heart break\n clearTimeout(this.ack)\n this.ack = setTimeout(() => this._ws.send('2'), 5000)\n\n const msgList = data ? [event, data] : [event]\n const msg = JSON.stringify(msgList)\n // message: 4 + parser.EVENT: 2\n this._ws.send('42' + msg)\n }\n\n initWS () {\n const ws = new WebSocket(`ws://${host}/socket.io/?EIO=3&transport=websocket&sid=${this.sid}`)\n ws.onopen = () => {\n // close: 1\n // message: 4\n // noop: 6\n // open: 0\n // ping: 2\n // pong: 3\n // upgrade: 5\n ws.send('2probe')\n }\n ws.onmessage = ({ data }) => {\n if (data === '3probe') {\n // upgrade: 5\n ws.send('5')\n this['on-connect']()\n } else if (data === '3') {\n // pong\n this.ack = setTimeout(() => ws.send('2'), 5000)\n } else {\n const match = /\\[.*\\]/.exec(data)\n if (!match) return\n\n try {\n const [event, args = []] = JSON.parse(match[0])\n const cb = this[`on-${event}`]\n if (typeof cb === 'function') {\n // @TODO: 元素高亮暂时不实现,需要魔改 backend 的代码\n const _args = args.filter(arg => arg.event.indexOf(':mouse-over') === -1)\n cb(_args)\n }\n } catch (error) {\n console.error('Vue DevTools 解析 socket message 失败: ', error)\n }\n }\n }\n ws.onclose = reason => {\n this.isClosed = true\n this['on-disconnect'](reason)\n }\n ws.onerror = err => console.error('[Taro Socket]onerror', err)\n this._ws = ws\n }\n\n disconnect () {\n this.clean()\n if (!this.isClosed) {\n // message: 4 + close: 1\n this._ws.send('41')\n this._ws.close()\n }\n }\n\n clean () {\n clearTimeout(this.ack)\n }\n }\n\n return new Socket()\n}\n","import createSocket from './socket-io'\n\nconst { connect } = require('./backend')\n\ndeclare const __VUE_DEVTOOLS_PORT__: number\n\nconnect('localhost', __VUE_DEVTOOLS_PORT__, {\n io: createSocket\n})\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/plugin-vue-devtools",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.7",
|
|
4
4
|
"description": "Taro 小程序端支持使用 Vue DevTools 的插件",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -28,13 +28,13 @@
|
|
|
28
28
|
},
|
|
29
29
|
"homepage": "https://github.com/NervJS/taro#readme",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@tarojs/helper": "3.4.
|
|
32
|
-
"@tarojs/service": "3.4.
|
|
33
|
-
"@tarojs/shared": "3.4.
|
|
34
|
-
"@tarojs/taro": "3.4.
|
|
31
|
+
"@tarojs/helper": "3.4.7",
|
|
32
|
+
"@tarojs/service": "3.4.7",
|
|
33
|
+
"@tarojs/shared": "3.4.7",
|
|
34
|
+
"@tarojs/taro": "3.4.7",
|
|
35
35
|
"@vue/devtools": "6.0.0-beta.15",
|
|
36
36
|
"cross-spawn": "^7.0.3",
|
|
37
37
|
"detect-port": "^1.3.0"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "bb62ad5d4f099940c8c4d6dfcba9b743bc3d2acf"
|
|
40
40
|
}
|