ddm-plugin-dubbo-support 0.1.3 → 0.1.5

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 CHANGED
@@ -29,12 +29,12 @@ __webpack_require__.r(__webpack_exports__);
29
29
 
30
30
 
31
31
  class TelnetInvoker {
32
- /**
33
- * 调用Dubbo接口
34
- * @param {Provider} provder 提供者信息
35
- * @param {*} methodInfo 方法名
36
- * @param {*} code 参数信息
37
- * @returns
32
+ /**
33
+ * 调用Dubbo接口
34
+ * @param {Provider} provder 提供者信息
35
+ * @param {*} methodInfo 方法名
36
+ * @param {*} code 参数信息
37
+ * @returns
38
38
  */
39
39
  invokeMethod(provder, methodInfo, code) {
40
40
  const telnetPort = provder.qosPort || provder.port;
@@ -94,10 +94,10 @@ class TelnetInvoker {
94
94
  });
95
95
  }
96
96
 
97
- /**
98
- * 解析响应信息
99
- * @param {String} result
100
- * @returns
97
+ /**
98
+ * 解析响应信息
99
+ * @param {String} result
100
+ * @returns
101
101
  */
102
102
  resolveResponse(result) {
103
103
  // dubbo返回格式分为三部分,第一部分为
@@ -661,7 +661,7 @@ class AppProxy {
661
661
  /***/ ((module) => {
662
662
 
663
663
  "use strict";
664
- module.exports = /*#__PURE__*/JSON.parse('{"name":"ddm-plugin-dubbo-support","version":"0.1.1","description":"Dubbo-Desktop-Manager插件-支持Dubbo框架","main":"dist/index.js","rendererMain":"dist/renderer.js","i18nMain":"dist/i18n.js","files":["README.md","logo.png","public/**","dist/**","docs/**","java-invoke/**"],"scripts":{"dev":"webpack","gen:keywords":"node ./scripts/gen-keywords.js","prepublishOnly":"npm run gen:keywords","publish":"webpack && npm publish"},"keywords":["Dubbo-Desktop-Manager","ddm-plugin","ddm","dubbo","dubbo service invoke","dubbo manager","dubbo console","dubbo admin","-","-s","-su","-sup","-supp","-suppo","-suppor","-support","b","bb","bbo","bbo-","bbo-s","bbo-su","bbo-sup","bbo-supp","bbo-suppo","bbo-suppor","bbo-support","bo","bo-","bo-s","bo-su","bo-sup","bo-supp","bo-suppo","bo-suppor","bo-support","d","du","dub","dubb","dubbo-","dubbo-s","dubbo-su","dubbo-sup","dubbo-supp","dubbo-suppo","dubbo-suppor","dubbo-support","o","o-","o-s","o-su","o-sup","o-supp","o-suppo","o-suppor","o-support","or","ort","p","po","por","port","pp","ppo","ppor","pport","r","rt","s","su","sup","supp","suppo","suppor","support","t","u","ub","ubb","ubbo","ubbo-","ubbo-s","ubbo-su","ubbo-sup","ubbo-supp","ubbo-suppo","ubbo-suppor","ubbo-support","up","upp","uppo","uppor","upport"],"homepage":"https://github.com/ddm-plugin/ddm-plugin-dubbo-support","author":"qiaolin","license":"Apache 2.0","devDependencies":{"@babel/core":"^7.24.7","babel-cli":"^6.26.0","babel-loader":"^8.2.5","css-loader":"^6.11.0","js-yaml":"^4.1.0","json-bigint":"^1.0.0","moment":"^2.29.1","node-zookeeper-client":"^1.1.1","qs":"^6.11.0","style-loader":"^3.3.4","telnet-stream":"^1.0.5","urijs":"^1.19.11","vue":"^2.6.11","vue-loader":"15.11.1","vue-style-loader":"^4.1.3","vue-template-compiler":"^2.6.11","webpack":"^5.92.1","webpack-cli":"^5.1.4"},"engines":{"ddm":">=1.1.0 <3.0.0"}}');
664
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"ddm-plugin-dubbo-support","version":"0.0.5","description":"Dubbo-Desktop-Manager插件-支持Dubbo框架","main":"dist/index.js","rendererMain":"dist/renderer.js","i18nMain":"dist/i18n.js","files":["README.md","logo.png","public/**","dist/**","docs/**","java-invoke/**"],"scripts":{"dev":"webpack","gen:keywords":"node ./scripts/gen-keywords.js","prepublishOnly":"npm run gen:keywords","publish":"webpack && npm publish"},"keywords":["Dubbo-Desktop-Manager","ddm-plugin","ddm","dubbo","dubbo service invoke","dubbo manager","dubbo console","dubbo admin","-","-s","-su","-sup","-supp","-suppo","-suppor","-support","b","bb","bbo","bbo-","bbo-s","bbo-su","bbo-sup","bbo-supp","bbo-suppo","bbo-suppor","bbo-support","bo","bo-","bo-s","bo-su","bo-sup","bo-supp","bo-suppo","bo-suppor","bo-support","d","du","dub","dubb","dubbo-","dubbo-s","dubbo-su","dubbo-sup","dubbo-supp","dubbo-suppo","dubbo-suppor","dubbo-support","o","o-","o-s","o-su","o-sup","o-supp","o-suppo","o-suppor","o-support","or","ort","p","po","por","port","pp","ppo","ppor","pport","r","rt","s","su","sup","supp","suppo","suppor","support","t","u","ub","ubb","ubbo","ubbo-","ubbo-s","ubbo-su","ubbo-sup","ubbo-supp","ubbo-suppo","ubbo-suppor","ubbo-support","up","upp","uppo","uppor","upport"],"homepage":"https://github.com/ddm-plugin/ddm-plugin-dubbo-support","author":"qiaolin","license":"Apache 2.0","devDependencies":{"@babel/core":"^7.24.7","babel-cli":"^6.26.0","babel-loader":"^8.2.5","css-loader":"^6.11.0","js-yaml":"^4.1.0","json-bigint":"^1.0.0","moment":"^2.29.1","node-zookeeper-client":"^1.1.1","qs":"^6.11.0","style-loader":"^3.3.4","telnet-stream":"^1.0.5","urijs":"^1.19.11","vue":"^2.6.11","vue-loader":"15.11.1","vue-style-loader":"^4.1.3","vue-template-compiler":"^2.6.11","webpack":"^5.92.1","webpack-cli":"^5.1.4"},"engines":{"ddm":">=1.1.0 <3.0.0"}}');
665
665
 
666
666
  /***/ }),
667
667
  /* 16 */
@@ -4505,10 +4505,10 @@ __webpack_require__.r(__webpack_exports__);
4505
4505
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4506
4506
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
4507
4507
  /* harmony export */ });
4508
- /**
4509
- * 执行结果
4510
- * @param {String}} data 响应的数据
4511
- * @param {*} elapsedTime 耗时
4508
+ /**
4509
+ * 执行结果
4510
+ * @param {String}} data 响应的数据
4511
+ * @param {*} elapsedTime 耗时
4512
4512
  */
4513
4513
  class InvokeResult {
4514
4514
  constructor(data, elapsedTime) {
@@ -4529,8 +4529,8 @@ __webpack_require__.r(__webpack_exports__);
4529
4529
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4530
4530
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
4531
4531
  /* harmony export */ });
4532
- /**
4533
- * 构建invoke命令
4532
+ /**
4533
+ * 构建invoke命令
4534
4534
  */
4535
4535
  function buildInvokeCommand({
4536
4536
  serviceName,
@@ -4743,12 +4743,6 @@ __webpack_require__.r(__webpack_exports__);
4743
4743
 
4744
4744
 
4745
4745
  const PRIVDER_PREFIX = "/dubbo";
4746
-
4747
- /**
4748
- * Zookeeper 数据源操作类,提供 Dubbo 服务的注册、查询、配置等功能。
4749
- * @typedef {import('@/main/@types/DataSource').DataSource} DataSource
4750
- * @implements {DataSource}
4751
- */
4752
4746
  class ZookeeperDataSource {
4753
4747
  constructor(app, invoker) {
4754
4748
  this.invoker = invoker;
@@ -4796,7 +4790,6 @@ class ZookeeperDataSource {
4796
4790
  providerInfo.methods.forEach(method => {
4797
4791
  methodList.push({
4798
4792
  name: method,
4799
- methodName: method,
4800
4793
  parameterTypes: [],
4801
4794
  defaultParameter: "[]",
4802
4795
  returnType: null
@@ -27041,10 +27034,10 @@ class DubboConfigurationUtils {
27041
27034
  return doc;
27042
27035
  }
27043
27036
 
27044
- /**
27045
- * 获取被禁用的提供者地址列表
27046
- * @param {string} serviceName
27047
- * @param {string[]} versions 多个版本
27037
+ /**
27038
+ * 获取被禁用的提供者地址列表
27039
+ * @param {string} serviceName
27040
+ * @param {string[]} versions 多个版本
27048
27041
  */
27049
27042
  async getDisableAddresses(doc) {
27050
27043
  if (!doc || !doc.configs) {
@@ -27081,8 +27074,8 @@ __webpack_require__.r(__webpack_exports__);
27081
27074
 
27082
27075
 
27083
27076
  class ParamGeneratorAdapter {
27084
- /**
27085
- * 生成参数
27077
+ /**
27078
+ * 生成参数
27086
27079
  */
27087
27080
  generateParam(mateData, methodName) {
27088
27081
  // 当前提供者使用的dubbo版本
@@ -27107,12 +27100,12 @@ __webpack_require__.r(__webpack_exports__);
27107
27100
  /* harmony import */ var _ValueGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(221);
27108
27101
 
27109
27102
 
27110
- /**
27111
- * Dubbo2.7+版本 参数生成器
27103
+ /**
27104
+ * Dubbo2.7+版本 参数生成器
27112
27105
  */
27113
27106
  class ParamGeneratorDubbo2_7 {
27114
- /**
27115
- * 生成参数
27107
+ /**
27108
+ * 生成参数
27116
27109
  */
27117
27110
  generateParam(mateData, methodName) {
27118
27111
  const method = this.findMethodInfo(mateData, methodName);
@@ -27202,11 +27195,7 @@ class ParamGeneratorDubbo2_7 {
27202
27195
  }
27203
27196
  let data = {};
27204
27197
  for (let property in td.properties) {
27205
- let value = td.properties[property];
27206
- if (value.$ref && !value.type) {
27207
- value = this.resolveRef(types, value.$ref);
27208
- }
27209
- data[property] = this.generateObject(types, value.type);
27198
+ data[property] = this.generateObject(types, td.properties[property].type);
27210
27199
  }
27211
27200
  return data;
27212
27201
  }
@@ -27256,15 +27245,6 @@ class ParamGeneratorDubbo2_7 {
27256
27245
  }
27257
27246
  return null;
27258
27247
  }
27259
- resolveRef(obj, path) {
27260
- // 解析像 "$.types[3].properties.code" 这种路径
27261
- const parts = path.replace(/^\$\.types/, '').split(/[\.\[\]]/).filter(Boolean);
27262
- let result = obj;
27263
- for (const p of parts) {
27264
- result = result[p];
27265
- }
27266
- return result;
27267
- }
27268
27248
  }
27269
27249
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (new ParamGeneratorDubbo2_7());
27270
27250
 
@@ -48679,13 +48659,13 @@ __webpack_require__.r(__webpack_exports__);
48679
48659
  /* harmony import */ var _ValueGenerator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(221);
48680
48660
 
48681
48661
 
48682
- /**
48683
- * Dubbo3+版本 参数生成器
48662
+ /**
48663
+ * Dubbo3+版本 参数生成器
48684
48664
  */
48685
48665
 
48686
48666
  class ParamGeneratorDubbo3 {
48687
- /**
48688
- * 生成参数
48667
+ /**
48668
+ * 生成参数
48689
48669
  */
48690
48670
  generateParam(mateData, methodName) {
48691
48671
  let method = mateData.methods.find(m => methodName == m.name);
@@ -48860,25 +48840,17 @@ __webpack_require__.r(__webpack_exports__);
48860
48840
 
48861
48841
 
48862
48842
 
48863
-
48864
- /**
48865
- * Nacos 数据源操作类,提供 Dubbo 服务的注册、查询、配置等功能。
48866
- * @typedef {import('@/main/@types/DataSource').DataSource} DataSource
48867
- * @implements {DataSource}
48868
- */
48869
48843
  class NacosDataSource {
48870
48844
  constructor(appCore, invoker) {
48871
48845
  this.appCore = appCore;
48872
48846
  this.invoker = invoker;
48873
- this.tokenCache = new Map();
48874
48847
  }
48875
48848
  async getServiceList(dataSourceInfo) {
48876
48849
  const params = {
48877
48850
  pageNo: 1,
48878
48851
  pageSize: 100,
48879
48852
  namespaceId: dataSourceInfo.namespaceId || "",
48880
- groupName: dataSourceInfo.groupName || "",
48881
- accessToken: await this.getAccessToken(dataSourceInfo)
48853
+ groupName: dataSourceInfo.groupName || ""
48882
48854
  };
48883
48855
  // `http://127.0.0.1:8848/nacos/v1/ns/service/list?pageNo=1&pageSize=20`
48884
48856
  const url = `${dataSourceInfo.address}/nacos/v1/ns/service/list`;
@@ -48924,8 +48896,7 @@ class NacosDataSource {
48924
48896
  const params = {
48925
48897
  serviceName: serviceInfo.uniqueServiceName,
48926
48898
  namespaceId: dataSourceInfo.namespaceId || "",
48927
- groupName: dataSourceInfo.groupName || "",
48928
- accessToken: await this.getAccessToken(dataSourceInfo)
48899
+ groupName: dataSourceInfo.groupName || ""
48929
48900
  };
48930
48901
  const response = await this.appCore.axios.get(url, {
48931
48902
  params
@@ -48957,7 +48928,6 @@ class NacosDataSource {
48957
48928
  providerInfo.methods.forEach(method => {
48958
48929
  methodList.push({
48959
48930
  name: method,
48960
- methodName: method,
48961
48931
  parameterTypes: null,
48962
48932
  defaultParameter: "[]",
48963
48933
  returnType: null
@@ -48975,8 +48945,7 @@ class NacosDataSource {
48975
48945
  let params = {
48976
48946
  serviceName: serviceInfo.uniqueServiceName,
48977
48947
  namespaceId: dataSourceInfo.namespaceId || "",
48978
- groupName: dataSourceInfo.groupName || "",
48979
- accessToken: await this.getAccessToken(dataSourceInfo)
48948
+ groupName: dataSourceInfo.groupName || ""
48980
48949
  };
48981
48950
  let response = await this.appCore.axios.get(url, {
48982
48951
  params
@@ -49020,8 +48989,7 @@ class NacosDataSource {
49020
48989
  dataId: this.buildDataId(providerInfo),
49021
48990
  group: dataSourceInfo.group || 'dubbo',
49022
48991
  namespaceId: dataSourceInfo.namespaceId || "",
49023
- tenant: dataSourceInfo.namespaceId || "",
49024
- accessToken: await this.getAccessToken(dataSourceInfo)
48992
+ tenant: dataSourceInfo.namespaceId || ""
49025
48993
  };
49026
48994
 
49027
48995
  // 有配置项,保存,反之删除
@@ -49045,8 +49013,7 @@ class NacosDataSource {
49045
49013
  group: dataSourceInfo.group || 'dubbo',
49046
49014
  namespaceId: dataSourceInfo.namespaceId || "",
49047
49015
  tenant: dataSourceInfo.namespaceId || "",
49048
- show: 'all',
49049
- accessToken: await this.getAccessToken(dataSourceInfo)
49016
+ show: 'all'
49050
49017
  };
49051
49018
  const response = await this.appCore.axios.get(url, {
49052
49019
  params
@@ -49056,22 +49023,6 @@ class NacosDataSource {
49056
49023
  }
49057
49024
  return null;
49058
49025
  }
49059
- async getAccessToken(dataSourceInfo) {
49060
- if (!dataSourceInfo.username) {
49061
- return null;
49062
- }
49063
- let params = {
49064
- username: dataSourceInfo.username,
49065
- password: dataSourceInfo.password
49066
- };
49067
-
49068
- // http://127.0.0.1:8848/nacos/v1/auth/login?username=${username}&password=${password}
49069
- let url = `${dataSourceInfo.address}/nacos/v1/auth/login?${qs__WEBPACK_IMPORTED_MODULE_5___default().stringify(params)}`;
49070
-
49071
- // 调用登录接口
49072
- const response = await this.appCore.axios.post(url);
49073
- return response.data.accessToken;
49074
- }
49075
49026
  buildMataDataPath(providerInfo) {
49076
49027
  let {
49077
49028
  application,
@@ -51714,12 +51665,6 @@ __webpack_require__.r(__webpack_exports__);
51714
51665
 
51715
51666
 
51716
51667
 
51717
-
51718
- /**
51719
- * Dubbo Admin 数据源操作类,提供 Dubbo 服务的注册、查询、配置等功能。
51720
- * @typedef {import('@/main/@types/DataSource').DataSource} DataSource
51721
- * @implements {DataSource}
51722
- */
51723
51668
  class DubboAdminDataSource {
51724
51669
  constructor(appCore) {
51725
51670
  this.appCore = appCore;
@@ -51775,7 +51720,6 @@ class DubboAdminDataSource {
51775
51720
  providerInfo.methods.forEach(method => {
51776
51721
  methodList.push({
51777
51722
  name: method,
51778
- methodName: method,
51779
51723
  parameterTypes: null,
51780
51724
  defaultParameter: "[]",
51781
51725
  returnType: null
@@ -51789,9 +51733,6 @@ class DubboAdminDataSource {
51789
51733
  }
51790
51734
  async getConsumerList(dataSourceInfo, serviceInfo) {
51791
51735
  const data = await this.getServiceData(dataSourceInfo, serviceInfo);
51792
- if (!data || !data.consumers) {
51793
- return [];
51794
- }
51795
51736
  let array = new Array();
51796
51737
  for (let i = 0; i < data.consumers.length; i++) {
51797
51738
  array.push(this.parseConsumerInfo(data.consumers[i]));
@@ -51806,9 +51747,6 @@ class DubboAdminDataSource {
51806
51747
  'Authorization': await this.getToken(dataSourceInfo)
51807
51748
  }
51808
51749
  });
51809
- if (!response.data || !response.data.application) {
51810
- throw new Error(this.appCore.pluginT('dubbo.dubboAdmin.errorGetServiceData'));
51811
- }
51812
51750
  return response.data;
51813
51751
  }
51814
51752
  async disableProvider(dataSourceInfo, serviceInfo, providerInfo) {
@@ -52074,10 +52012,6 @@ __webpack_require__.r(__webpack_exports__);
52074
52012
 
52075
52013
 
52076
52014
 
52077
-
52078
- /**
52079
- * @param {import('@/main/@types/AppPlugin').AppPlugin} app
52080
- */
52081
52015
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (app => {
52082
52016
  Map.prototype.computeIfAbsent = async function (key, fun) {
52083
52017
  if (!this.has(key)) {
@@ -0,0 +1,292 @@
1
+ /******/ (() => { // webpackBootstrap
2
+ /******/ "use strict";
3
+ /******/ var __webpack_modules__ = ({
4
+
5
+ /***/ 235:
6
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7
+
8
+ __webpack_require__.r(__webpack_exports__);
9
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
10
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11
+ /* harmony export */ });
12
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
13
+ name: "Test",
14
+ props: {
15
+ mainPanel: Object
16
+ },
17
+ data() {
18
+ return {
19
+ count: 0
20
+ };
21
+ },
22
+ mounted() {
23
+ setInterval(() => {
24
+ this.count++;
25
+ }, 1000);
26
+ }
27
+ });
28
+
29
+ /***/ }),
30
+
31
+ /***/ 233:
32
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33
+
34
+ __webpack_require__.r(__webpack_exports__);
35
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
36
+ /* harmony export */ render: () => (/* binding */ render),
37
+ /* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns)
38
+ /* harmony export */ });
39
+ var render = function render() {
40
+ var _vm = this,
41
+ _c = _vm._self._c;
42
+ return _c("div", [_c("div", [_vm._v("+++" + _vm._s(_vm.count))]), _vm._v(" "), _c("button", {
43
+ on: {
44
+ click: _vm.mainPanel.openGithub
45
+ }
46
+ }, [_vm._v("open Github")])]);
47
+ };
48
+ var staticRenderFns = [];
49
+ render._withStripped = true;
50
+
51
+
52
+ /***/ }),
53
+
54
+ /***/ 231:
55
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
56
+
57
+ __webpack_require__.r(__webpack_exports__);
58
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
59
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
60
+ /* harmony export */ });
61
+ /* harmony import */ var _Test_vue_vue_type_template_id_3e3ac875__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(232);
62
+ /* harmony import */ var _Test_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(234);
63
+ /* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(236);
64
+
65
+
66
+
67
+
68
+
69
+ /* normalize component */
70
+ ;
71
+ var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(
72
+ _Test_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__["default"],
73
+ _Test_vue_vue_type_template_id_3e3ac875__WEBPACK_IMPORTED_MODULE_0__.render,
74
+ _Test_vue_vue_type_template_id_3e3ac875__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns,
75
+ false,
76
+ null,
77
+ null,
78
+ null
79
+
80
+ )
81
+
82
+ /* hot reload */
83
+ if (false) { var api; }
84
+ component.options.__file = "src/renderer/Test.vue"
85
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports);
86
+
87
+ /***/ }),
88
+
89
+ /***/ 234:
90
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
91
+
92
+ __webpack_require__.r(__webpack_exports__);
93
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
94
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
95
+ /* harmony export */ });
96
+ /* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Test_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(235);
97
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_index_js_vue_loader_options_Test_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__["default"]);
98
+
99
+ /***/ }),
100
+
101
+ /***/ 232:
102
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
103
+
104
+ __webpack_require__.r(__webpack_exports__);
105
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
106
+ /* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Test_vue_vue_type_template_id_3e3ac875__WEBPACK_IMPORTED_MODULE_0__.render),
107
+ /* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Test_vue_vue_type_template_id_3e3ac875__WEBPACK_IMPORTED_MODULE_0__.staticRenderFns)
108
+ /* harmony export */ });
109
+ /* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Test_vue_vue_type_template_id_3e3ac875__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(233);
110
+
111
+
112
+ /***/ }),
113
+
114
+ /***/ 236:
115
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
116
+
117
+ __webpack_require__.r(__webpack_exports__);
118
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
119
+ /* harmony export */ "default": () => (/* binding */ normalizeComponent)
120
+ /* harmony export */ });
121
+ /* globals __VUE_SSR_CONTEXT__ */
122
+
123
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
124
+ // This module is a runtime utility for cleaner component module output and will
125
+ // be included in the final webpack user bundle.
126
+
127
+ function normalizeComponent(
128
+ scriptExports,
129
+ render,
130
+ staticRenderFns,
131
+ functionalTemplate,
132
+ injectStyles,
133
+ scopeId,
134
+ moduleIdentifier /* server only */,
135
+ shadowMode /* vue-cli only */
136
+ ) {
137
+ // Vue.extend constructor export interop
138
+ var options =
139
+ typeof scriptExports === 'function' ? scriptExports.options : scriptExports
140
+
141
+ // render functions
142
+ if (render) {
143
+ options.render = render
144
+ options.staticRenderFns = staticRenderFns
145
+ options._compiled = true
146
+ }
147
+
148
+ // functional template
149
+ if (functionalTemplate) {
150
+ options.functional = true
151
+ }
152
+
153
+ // scopedId
154
+ if (scopeId) {
155
+ options._scopeId = 'data-v-' + scopeId
156
+ }
157
+
158
+ var hook
159
+ if (moduleIdentifier) {
160
+ // server build
161
+ hook = function (context) {
162
+ // 2.3 injection
163
+ context =
164
+ context || // cached call
165
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
166
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
167
+ // 2.2 with runInNewContext: true
168
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
169
+ context = __VUE_SSR_CONTEXT__
170
+ }
171
+ // inject component styles
172
+ if (injectStyles) {
173
+ injectStyles.call(this, context)
174
+ }
175
+ // register component module identifier for async chunk inferrence
176
+ if (context && context._registeredComponents) {
177
+ context._registeredComponents.add(moduleIdentifier)
178
+ }
179
+ }
180
+ // used by ssr in case component is cached and beforeCreate
181
+ // never gets called
182
+ options._ssrRegister = hook
183
+ } else if (injectStyles) {
184
+ hook = shadowMode
185
+ ? function () {
186
+ injectStyles.call(
187
+ this,
188
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
189
+ )
190
+ }
191
+ : injectStyles
192
+ }
193
+
194
+ if (hook) {
195
+ if (options.functional) {
196
+ // for template-only hot-reload because in that case the render fn doesn't
197
+ // go through the normalizer
198
+ options._injectStyles = hook
199
+ // register for functional component in vue file
200
+ var originalRender = options.render
201
+ options.render = function renderWithStyleInjection(h, context) {
202
+ hook.call(context)
203
+ return originalRender(h, context)
204
+ }
205
+ } else {
206
+ // inject component registration as beforeCreate hook
207
+ var existing = options.beforeCreate
208
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
209
+ }
210
+ }
211
+
212
+ return {
213
+ exports: scriptExports,
214
+ options: options
215
+ }
216
+ }
217
+
218
+
219
+ /***/ })
220
+
221
+ /******/ });
222
+ /************************************************************************/
223
+ /******/ // The module cache
224
+ /******/ var __webpack_module_cache__ = {};
225
+ /******/
226
+ /******/ // The require function
227
+ /******/ function __webpack_require__(moduleId) {
228
+ /******/ // Check if module is in cache
229
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
230
+ /******/ if (cachedModule !== undefined) {
231
+ /******/ return cachedModule.exports;
232
+ /******/ }
233
+ /******/ // Create a new module (and put it into the cache)
234
+ /******/ var module = __webpack_module_cache__[moduleId] = {
235
+ /******/ // no module.id needed
236
+ /******/ // no module.loaded needed
237
+ /******/ exports: {}
238
+ /******/ };
239
+ /******/
240
+ /******/ // Execute the module function
241
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
242
+ /******/
243
+ /******/ // Return the exports of the module
244
+ /******/ return module.exports;
245
+ /******/ }
246
+ /******/
247
+ /************************************************************************/
248
+ /******/ /* webpack/runtime/define property getters */
249
+ /******/ (() => {
250
+ /******/ // define getter functions for harmony exports
251
+ /******/ __webpack_require__.d = (exports, definition) => {
252
+ /******/ for(var key in definition) {
253
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
254
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
255
+ /******/ }
256
+ /******/ }
257
+ /******/ };
258
+ /******/ })();
259
+ /******/
260
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
261
+ /******/ (() => {
262
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
263
+ /******/ })();
264
+ /******/
265
+ /******/ /* webpack/runtime/make namespace object */
266
+ /******/ (() => {
267
+ /******/ // define __esModule on exports
268
+ /******/ __webpack_require__.r = (exports) => {
269
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
270
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
271
+ /******/ }
272
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
273
+ /******/ };
274
+ /******/ })();
275
+ /******/
276
+ /************************************************************************/
277
+ var __webpack_exports__ = {};
278
+ __webpack_require__.r(__webpack_exports__);
279
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
280
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
281
+ /* harmony export */ });
282
+ /* harmony import */ var _Test_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(231);
283
+
284
+
285
+ /* istanbul ignore next */
286
+ _Test_vue__WEBPACK_IMPORTED_MODULE_0__["default"].install = function (Vue) {
287
+ Vue.component(_Test_vue__WEBPACK_IMPORTED_MODULE_0__["default"].name, _Test_vue__WEBPACK_IMPORTED_MODULE_0__["default"]);
288
+ };
289
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_Test_vue__WEBPACK_IMPORTED_MODULE_0__["default"]);
290
+ module.exports = __webpack_exports__["default"];
291
+ /******/ })()
292
+ ;