@webex/internal-plugin-search 3.0.0-bnr.4 → 3.0.0

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/.eslintrc.js ADDED
@@ -0,0 +1,6 @@
1
+ const config = {
2
+ root: true,
3
+ extends: ['@webex/eslint-config-legacy'],
4
+ };
5
+
6
+ module.exports = config;
@@ -0,0 +1,3 @@
1
+ const babelConfigLegacy = require('@webex/babel-config-legacy');
2
+
3
+ module.exports = babelConfigLegacy;
package/dist/config.js CHANGED
@@ -8,8 +8,7 @@ exports.default = void 0;
8
8
  /*!
9
9
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
10
10
  */
11
- var _default = {
11
+ var _default = exports.default = {
12
12
  search: {}
13
13
  };
14
- exports.default = _default;
15
14
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["search"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n search: {},\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,eAIe;EACbA,MAAM,EAAE,CAAC;AACX,CAAC;AAAA"}
1
+ {"version":3,"names":["_default","exports","default","search"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n search: {},\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe;EACbC,MAAM,EAAE,CAAC;AACX,CAAC"}
package/dist/index.js CHANGED
@@ -12,10 +12,10 @@ _Object$defineProperty(exports, "default", {
12
12
  }
13
13
  });
14
14
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
15
- var _has2 = _interopRequireDefault(require("lodash/has"));
16
15
  require("@webex/internal-plugin-conversation");
17
16
  require("@webex/internal-plugin-encryption");
18
17
  var _webexCore = require("@webex/webex-core");
18
+ var _lodash = require("lodash");
19
19
  var _search = _interopRequireDefault(require("./search"));
20
20
  var _config = _interopRequireDefault(require("./config"));
21
21
  /*!
@@ -29,10 +29,10 @@ var _config = _interopRequireDefault(require("./config"));
29
29
  name: 'encryptSearchQuery',
30
30
  direction: 'outbound',
31
31
  test: function test(ctx, options) {
32
- if (!(0, _has2.default)(options, 'body.query')) {
32
+ if (!(0, _lodash.has)(options, 'body.query')) {
33
33
  return _promise.default.resolve(false);
34
34
  }
35
- if (!(0, _has2.default)(options, 'body.searchEncryptionKeyUrl')) {
35
+ if (!(0, _lodash.has)(options, 'body.searchEncryptionKeyUrl')) {
36
36
  return _promise.default.resolve(false);
37
37
  }
38
38
  if (options.service === 'argonaut') {
@@ -51,7 +51,7 @@ var _config = _interopRequireDefault(require("./config"));
51
51
  name: 'transformObjectArray',
52
52
  direction: 'inbound',
53
53
  test: function test(ctx, response) {
54
- return _promise.default.resolve((0, _has2.default)(response, 'body.activities.items[0].objectType')).then(function (res) {
54
+ return _promise.default.resolve((0, _lodash.has)(response, 'body.activities.items[0].objectType')).then(function (res) {
55
55
  if (!res) {
56
56
  return _promise.default.resolve(false);
57
57
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["registerInternalPlugin","Search","config","payloadTransformer","predicates","name","direction","test","ctx","options","resolve","service","url","webex","internal","services","getServiceFromUrl","extract","body","response","then","res","activities","items","transforms","fn","object","encryption","encryptText","searchEncryptionKeyUrl","query","q"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-encryption';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {has} from 'lodash';\n\nimport Search from './search';\nimport config from './config';\n\nregisterInternalPlugin('search', Search, {\n config,\n payloadTransformer: {\n predicates: [\n {\n name: 'encryptSearchQuery',\n direction: 'outbound',\n test(ctx, options) {\n if (!has(options, 'body.query')) {\n return Promise.resolve(false);\n }\n\n if (!has(options, 'body.searchEncryptionKeyUrl')) {\n return Promise.resolve(false);\n }\n\n if (options.service === 'argonaut') {\n return Promise.resolve(true);\n }\n\n if (options.url) {\n const service = ctx.webex.internal.services.getServiceFromUrl(options.url);\n\n return Promise.resolve(service && service.name === 'argonaut');\n }\n\n return Promise.resolve(false);\n },\n extract(options) {\n return Promise.resolve(options.body);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.activities.items[0].objectType')).then(\n (res) => {\n if (!res) {\n return Promise.resolve(false);\n }\n\n if (response.options.service === 'argonaut') {\n return Promise.resolve(true);\n }\n\n if (response.options.url) {\n const service = ctx.webex.internal.services.getServiceFromUrl(response.options.url);\n\n return Promise.resolve(service && service.name === 'argonaut');\n }\n\n return Promise.resolve(false);\n }\n );\n },\n extract(response) {\n return Promise.resolve(response.body.activities.items);\n },\n },\n ],\n transforms: [\n {\n name: 'encryptSearchQuery',\n direction: 'outbound',\n fn(ctx, object) {\n return ctx.webex.internal.encryption\n .encryptText(object.searchEncryptionKeyUrl, object.query)\n .then((q) => {\n object.query = q;\n });\n },\n },\n ],\n },\n});\n\nexport {default} from './search';\n"],"mappings":";;;;;;;;;;;;;;;AAGA;AACA;AAEA;AAGA;AACA;AAVA;AACA;AACA;;AAUA,IAAAA,iCAAsB,EAAC,QAAQ,EAAEC,eAAM,EAAE;EACvCC,MAAM,EAANA,eAAM;EACNC,kBAAkB,EAAE;IAClBC,UAAU,EAAE,CACV;MACEC,IAAI,EAAE,oBAAoB;MAC1BC,SAAS,EAAE,UAAU;MACrBC,IAAI,gBAACC,GAAG,EAAEC,OAAO,EAAE;QACjB,IAAI,CAAC,mBAAIA,OAAO,EAAE,YAAY,CAAC,EAAE;UAC/B,OAAO,iBAAQC,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,IAAI,CAAC,mBAAID,OAAO,EAAE,6BAA6B,CAAC,EAAE;UAChD,OAAO,iBAAQC,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,IAAID,OAAO,CAACE,OAAO,KAAK,UAAU,EAAE;UAClC,OAAO,iBAAQD,OAAO,CAAC,IAAI,CAAC;QAC9B;QAEA,IAAID,OAAO,CAACG,GAAG,EAAE;UACf,IAAMD,OAAO,GAAGH,GAAG,CAACK,KAAK,CAACC,QAAQ,CAACC,QAAQ,CAACC,iBAAiB,CAACP,OAAO,CAACG,GAAG,CAAC;UAE1E,OAAO,iBAAQF,OAAO,CAACC,OAAO,IAAIA,OAAO,CAACN,IAAI,KAAK,UAAU,CAAC;QAChE;QAEA,OAAO,iBAAQK,OAAO,CAAC,KAAK,CAAC;MAC/B,CAAC;MACDO,OAAO,mBAACR,OAAO,EAAE;QACf,OAAO,iBAAQC,OAAO,CAACD,OAAO,CAACS,IAAI,CAAC;MACtC;IACF,CAAC,EACD;MACEb,IAAI,EAAE,sBAAsB;MAC5BC,SAAS,EAAE,SAAS;MACpBC,IAAI,gBAACC,GAAG,EAAEW,QAAQ,EAAE;QAClB,OAAO,iBAAQT,OAAO,CAAC,mBAAIS,QAAQ,EAAE,qCAAqC,CAAC,CAAC,CAACC,IAAI,CAC/E,UAACC,GAAG,EAAK;UACP,IAAI,CAACA,GAAG,EAAE;YACR,OAAO,iBAAQX,OAAO,CAAC,KAAK,CAAC;UAC/B;UAEA,IAAIS,QAAQ,CAACV,OAAO,CAACE,OAAO,KAAK,UAAU,EAAE;YAC3C,OAAO,iBAAQD,OAAO,CAAC,IAAI,CAAC;UAC9B;UAEA,IAAIS,QAAQ,CAACV,OAAO,CAACG,GAAG,EAAE;YACxB,IAAMD,OAAO,GAAGH,GAAG,CAACK,KAAK,CAACC,QAAQ,CAACC,QAAQ,CAACC,iBAAiB,CAACG,QAAQ,CAACV,OAAO,CAACG,GAAG,CAAC;YAEnF,OAAO,iBAAQF,OAAO,CAACC,OAAO,IAAIA,OAAO,CAACN,IAAI,KAAK,UAAU,CAAC;UAChE;UAEA,OAAO,iBAAQK,OAAO,CAAC,KAAK,CAAC;QAC/B,CAAC,CACF;MACH,CAAC;MACDO,OAAO,mBAACE,QAAQ,EAAE;QAChB,OAAO,iBAAQT,OAAO,CAACS,QAAQ,CAACD,IAAI,CAACI,UAAU,CAACC,KAAK,CAAC;MACxD;IACF,CAAC,CACF;IACDC,UAAU,EAAE,CACV;MACEnB,IAAI,EAAE,oBAAoB;MAC1BC,SAAS,EAAE,UAAU;MACrBmB,EAAE,cAACjB,GAAG,EAAEkB,MAAM,EAAE;QACd,OAAOlB,GAAG,CAACK,KAAK,CAACC,QAAQ,CAACa,UAAU,CACjCC,WAAW,CAACF,MAAM,CAACG,sBAAsB,EAAEH,MAAM,CAACI,KAAK,CAAC,CACxDV,IAAI,CAAC,UAACW,CAAC,EAAK;UACXL,MAAM,CAACI,KAAK,GAAGC,CAAC;QAClB,CAAC,CAAC;MACN;IACF,CAAC;EAEL;AACF,CAAC,CAAC"}
1
+ {"version":3,"names":["require","_webexCore","_lodash","_search","_interopRequireDefault","_config","registerInternalPlugin","Search","config","payloadTransformer","predicates","name","direction","test","ctx","options","has","_promise","default","resolve","service","url","webex","internal","services","getServiceFromUrl","extract","body","response","then","res","activities","items","transforms","fn","object","encryption","encryptText","searchEncryptionKeyUrl","query","q"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-encryption';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {has} from 'lodash';\n\nimport Search from './search';\nimport config from './config';\n\nregisterInternalPlugin('search', Search, {\n config,\n payloadTransformer: {\n predicates: [\n {\n name: 'encryptSearchQuery',\n direction: 'outbound',\n test(ctx, options) {\n if (!has(options, 'body.query')) {\n return Promise.resolve(false);\n }\n\n if (!has(options, 'body.searchEncryptionKeyUrl')) {\n return Promise.resolve(false);\n }\n\n if (options.service === 'argonaut') {\n return Promise.resolve(true);\n }\n\n if (options.url) {\n const service = ctx.webex.internal.services.getServiceFromUrl(options.url);\n\n return Promise.resolve(service && service.name === 'argonaut');\n }\n\n return Promise.resolve(false);\n },\n extract(options) {\n return Promise.resolve(options.body);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.activities.items[0].objectType')).then(\n (res) => {\n if (!res) {\n return Promise.resolve(false);\n }\n\n if (response.options.service === 'argonaut') {\n return Promise.resolve(true);\n }\n\n if (response.options.url) {\n const service = ctx.webex.internal.services.getServiceFromUrl(response.options.url);\n\n return Promise.resolve(service && service.name === 'argonaut');\n }\n\n return Promise.resolve(false);\n }\n );\n },\n extract(response) {\n return Promise.resolve(response.body.activities.items);\n },\n },\n ],\n transforms: [\n {\n name: 'encryptSearchQuery',\n direction: 'outbound',\n fn(ctx, object) {\n return ctx.webex.internal.encryption\n .encryptText(object.searchEncryptionKeyUrl, object.query)\n .then((q) => {\n object.query = q;\n });\n },\n },\n ],\n },\n});\n\nexport {default} from './search';\n"],"mappings":"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"}
package/dist/search.js CHANGED
@@ -13,10 +13,13 @@ var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/objec
13
13
  var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor"));
14
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
15
15
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/applyDecoratedDescriptor"));
16
- var _get2 = _interopRequireDefault(require("lodash/get"));
16
+ var _lodash = require("lodash");
17
17
  var _common = require("@webex/common");
18
18
  var _webexCore = require("@webex/webex-core");
19
19
  var _obj;
20
+ /*!
21
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
22
+ */
20
23
  var Search = _webexCore.WebexPlugin.extend((_obj = {
21
24
  namespace: 'Search',
22
25
  people: function people(options) {
@@ -77,7 +80,7 @@ var Search = _webexCore.WebexPlugin.extend((_obj = {
77
80
  })
78
81
  });
79
82
  }).then(function (res) {
80
- var resActivities = (0, _get2.default)(res, 'body.activities.items', []);
83
+ var resActivities = (0, _lodash.get)(res, 'body.activities.items', []);
81
84
  if (options.includeRemoteClusterReferences && res.body.breadcrumbs) {
82
85
  var breadcrumbs = res.body.breadcrumbs;
83
86
  var promises = [];
@@ -106,8 +109,7 @@ var Search = _webexCore.WebexPlugin.extend((_obj = {
106
109
  return resActivities;
107
110
  });
108
111
  },
109
- version: "3.0.0-bnr.4"
112
+ version: "3.0.0"
110
113
  }, ((0, _applyDecoratedDescriptor2.default)(_obj, "bindSearchKey", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "bindSearchKey"), _obj)), _obj));
111
- var _default = Search;
112
- exports.default = _default;
114
+ var _default = exports.default = Search;
113
115
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Search","WebexPlugin","extend","namespace","people","options","queryString","query","reject","Error","request","api","resource","method","body","then","res","bindSearchKey","webex","internal","encryption","kms","createUnboundKeys","count","key","createResource","userIds","device","userId","set","uri","search","promise","resolve","searchEncryptionKeyUrl","service","resActivities","includeRemoteClusterReferences","breadcrumbs","promises","forEach","cluster","editedCluster","clusterActivityUrls","items","map","activity","activityUrl","bulkActivitiesPromise","conversation","bulkActivitiesFetch","catch","err","logger","warn","push","all","clusterResults","reduce","accumulator","clusterResult","concat","oneFlight"],"sources":["search.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get} from 'lodash';\nimport {oneFlight} from '@webex/common';\nimport {WebexPlugin} from '@webex/webex-core';\n\nconst Search = WebexPlugin.extend({\n namespace: 'Search',\n\n people(options) {\n options = options || {};\n\n if (!options.queryString && options.query) {\n options.queryString = options.query;\n Reflect.deleteProperty(options, 'query');\n }\n\n if (!options.queryString) {\n return Promise.reject(new Error('`options.query` is required'));\n }\n\n return this.request({\n api: 'argonaut',\n resource: 'directory',\n method: 'POST',\n body: options,\n }).then((res) => res.body);\n },\n\n @oneFlight\n bindSearchKey() {\n return this.webex.internal.encryption.kms.createUnboundKeys({count: 1}).then(([key]) =>\n this.webex.internal.encryption.kms\n .createResource({\n key,\n userIds: [this.webex.internal.device.userId],\n })\n .then(() => this.webex.internal.device.set('searchEncryptionKeyUrl', key.uri))\n );\n },\n\n /**\n * Fetches search result activities\n * @param {Object} options\n * @param {boolean} options.includeRemoteClusterReferences when true,\n * includes search results from remote clusters\n * @returns {Promise<Array>} Resolves with the activities\n */\n search(options) {\n /* eslint max-nested-callbacks: [0] */\n options = options || {};\n\n let promise = Promise.resolve();\n\n if (!this.webex.internal.device.searchEncryptionKeyUrl) {\n promise = this.bindSearchKey();\n }\n\n return promise\n .then(() =>\n this.webex.request({\n service: 'argonaut',\n resource: 'search',\n method: 'POST',\n body: Object.assign(options, {\n searchEncryptionKeyUrl: this.webex.internal.device.searchEncryptionKeyUrl,\n }),\n })\n )\n .then((res) => {\n const resActivities = get(res, 'body.activities.items', []);\n\n if (options.includeRemoteClusterReferences && res.body.breadcrumbs) {\n const {breadcrumbs} = res.body;\n const promises = [];\n\n Object.keys(breadcrumbs).forEach((cluster) => {\n // Map activity URLs to their cluster\n const editedCluster = `${cluster}:identityLookup`;\n const clusterActivityUrls = breadcrumbs[cluster].items.map(\n (activity) => activity.activityUrl\n );\n\n // Find activities per cluster\n const bulkActivitiesPromise = this.webex.internal.conversation\n .bulkActivitiesFetch(clusterActivityUrls, {cluster: editedCluster})\n .catch((err) => {\n this.logger.warn('search: error fetching from remote clusters', err);\n\n return Promise.resolve([]);\n });\n\n promises.push(bulkActivitiesPromise);\n });\n\n return Promise.all(promises).then((clusterResults) =>\n clusterResults.reduce(\n (accumulator, clusterResult) => accumulator.concat(clusterResult),\n resActivities\n )\n );\n }\n\n return resActivities;\n });\n },\n});\n\nexport default Search;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","require","_common","_webexCore","_obj","Search","WebexPlugin","extend","namespace","people","options","queryString","query","_deleteProperty","default","_promise","reject","Error","request","api","resource","method","body","then","res","bindSearchKey","_this","webex","internal","encryption","kms","createUnboundKeys","count","_ref","_ref2","_slicedToArray2","key","createResource","userIds","device","userId","set","uri","search","_this2","promise","resolve","searchEncryptionKeyUrl","service","_assign","resActivities","get","includeRemoteClusterReferences","breadcrumbs","promises","_keys","forEach","cluster","editedCluster","concat","clusterActivityUrls","items","map","activity","activityUrl","bulkActivitiesPromise","conversation","bulkActivitiesFetch","catch","err","logger","warn","push","all","clusterResults","reduce","accumulator","clusterResult","version","_applyDecoratedDescriptor2","oneFlight","_getOwnPropertyDescriptor","_default","exports"],"sources":["search.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get} from 'lodash';\nimport {oneFlight} from '@webex/common';\nimport {WebexPlugin} from '@webex/webex-core';\n\nconst Search = WebexPlugin.extend({\n namespace: 'Search',\n\n people(options) {\n options = options || {};\n\n if (!options.queryString && options.query) {\n options.queryString = options.query;\n Reflect.deleteProperty(options, 'query');\n }\n\n if (!options.queryString) {\n return Promise.reject(new Error('`options.query` is required'));\n }\n\n return this.request({\n api: 'argonaut',\n resource: 'directory',\n method: 'POST',\n body: options,\n }).then((res) => res.body);\n },\n\n @oneFlight\n bindSearchKey() {\n return this.webex.internal.encryption.kms.createUnboundKeys({count: 1}).then(([key]) =>\n this.webex.internal.encryption.kms\n .createResource({\n key,\n userIds: [this.webex.internal.device.userId],\n })\n .then(() => this.webex.internal.device.set('searchEncryptionKeyUrl', key.uri))\n );\n },\n\n /**\n * Fetches search result activities\n * @param {Object} options\n * @param {boolean} options.includeRemoteClusterReferences when true,\n * includes search results from remote clusters\n * @returns {Promise<Array>} Resolves with the activities\n */\n search(options) {\n /* eslint max-nested-callbacks: [0] */\n options = options || {};\n\n let promise = Promise.resolve();\n\n if (!this.webex.internal.device.searchEncryptionKeyUrl) {\n promise = this.bindSearchKey();\n }\n\n return promise\n .then(() =>\n this.webex.request({\n service: 'argonaut',\n resource: 'search',\n method: 'POST',\n body: Object.assign(options, {\n searchEncryptionKeyUrl: this.webex.internal.device.searchEncryptionKeyUrl,\n }),\n })\n )\n .then((res) => {\n const resActivities = get(res, 'body.activities.items', []);\n\n if (options.includeRemoteClusterReferences && res.body.breadcrumbs) {\n const {breadcrumbs} = res.body;\n const promises = [];\n\n Object.keys(breadcrumbs).forEach((cluster) => {\n // Map activity URLs to their cluster\n const editedCluster = `${cluster}:identityLookup`;\n const clusterActivityUrls = breadcrumbs[cluster].items.map(\n (activity) => activity.activityUrl\n );\n\n // Find activities per cluster\n const bulkActivitiesPromise = this.webex.internal.conversation\n .bulkActivitiesFetch(clusterActivityUrls, {cluster: editedCluster})\n .catch((err) => {\n this.logger.warn('search: error fetching from remote clusters', err);\n\n return Promise.resolve([]);\n });\n\n promises.push(bulkActivitiesPromise);\n });\n\n return Promise.all(promises).then((clusterResults) =>\n clusterResults.reduce(\n (accumulator, clusterResult) => accumulator.concat(clusterResult),\n resActivities\n )\n );\n }\n\n return resActivities;\n });\n },\n});\n\nexport default Search;\n"],"mappings":"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"}
package/jest.config.js ADDED
@@ -0,0 +1,3 @@
1
+ const config = require('@webex/jest-config-legacy');
2
+
3
+ module.exports = config;
package/package.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "name": "@webex/internal-plugin-search",
3
- "version": "3.0.0-bnr.4",
4
3
  "description": "",
5
4
  "license": "MIT",
6
5
  "author": "Michael Wegman <mwegman@cisco.com>",
@@ -21,18 +20,35 @@
21
20
  ]
22
21
  },
23
22
  "devDependencies": {
24
- "@webex/test-helper-chai": "workspace:^",
25
- "@webex/test-helper-retry": "workspace:^",
26
- "@webex/test-helper-test-users": "workspace:^"
23
+ "@babel/core": "^7.17.10",
24
+ "@webex/babel-config-legacy": "0.0.0",
25
+ "@webex/eslint-config-legacy": "0.0.0",
26
+ "@webex/jest-config-legacy": "0.0.0",
27
+ "@webex/legacy-tools": "0.0.0",
28
+ "@webex/test-helper-chai": "3.0.0",
29
+ "@webex/test-helper-mocha": "3.0.0",
30
+ "@webex/test-helper-mock-webex": "3.0.0",
31
+ "@webex/test-helper-retry": "3.0.0",
32
+ "@webex/test-helper-test-users": "3.0.0",
33
+ "eslint": "^8.24.0",
34
+ "prettier": "^2.7.1"
27
35
  },
28
36
  "dependencies": {
29
- "@webex/common": "workspace:^",
30
- "@webex/internal-plugin-conversation": "workspace:^",
31
- "@webex/internal-plugin-device": "workspace:^",
32
- "@webex/internal-plugin-encryption": "workspace:^",
33
- "@webex/internal-plugin-search": "workspace:^",
34
- "@webex/webex-core": "workspace:^",
37
+ "@webex/common": "3.0.0",
38
+ "@webex/internal-plugin-conversation": "3.0.0",
39
+ "@webex/internal-plugin-device": "3.0.0",
40
+ "@webex/internal-plugin-encryption": "3.0.0",
41
+ "@webex/webex-core": "3.0.0",
35
42
  "lodash": "^4.17.21",
36
43
  "uuid": "^3.3.2"
37
- }
38
- }
44
+ },
45
+ "scripts": {
46
+ "build": "yarn build:src",
47
+ "build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps",
48
+ "deploy:npm": "yarn npm publish",
49
+ "test": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
50
+ "test:browser": "webex-legacy-tools test --integration --runner karma",
51
+ "test:style": "eslint ./src/**/*.*"
52
+ },
53
+ "version": "3.0.0"
54
+ }
package/process ADDED
@@ -0,0 +1 @@
1
+ module.exports = {browser: true};
@@ -1,4 +0,0 @@
1
- declare const Search: any;
2
- export default Search;
3
-
4
- export { }
@@ -1,11 +0,0 @@
1
- // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
- // It should be published with your NPM package. It should not be tracked by Git.
3
- {
4
- "tsdocVersion": "0.12",
5
- "toolPackages": [
6
- {
7
- "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.34.4"
9
- }
10
- ]
11
- }
@@ -1,4 +0,0 @@
1
- declare namespace _default {
2
- const search: {};
3
- }
4
- export default _default;
@@ -1 +0,0 @@
1
- export { default } from "./search";
@@ -1,2 +0,0 @@
1
- export default Search;
2
- declare const Search: any;