From 4deef41bb97a163e26019e06125fc5c15b20e5b4 Mon Sep 17 00:00:00 2001 From: Tom Zurkan Date: Thu, 21 May 2020 08:40:53 -0700 Subject: [PATCH 01/47] remove extra log statements --- debugdialog.html | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/debugdialog.html b/debugdialog.html index ae1719d..422f9a4 100644 --- a/debugdialog.html +++ b/debugdialog.html @@ -19,7 +19,6 @@ for (var i = 0; i < params.length; i++) { var pair = params[i].split('='); if (pair[0] == 'sdk_key') { - console.log("got once loaded") optimizelyClientInstance = optimizelySdk.createInstance({ sdkKey: pair[1], eventDispatcher: { @@ -110,16 +109,13 @@ function changeKey() { var val = document.getElementById('keys').value - console.log(val) if (optimizelyClientInstance.getOptimizelyConfig().featuresMap[val] !== undefined) { - console.log(val) setVariables(val) } } function changeMethod() { var val = document.getElementById('methods').value - console.log(val) if (val == 'activate') { var experimentsMap = optimizelyClientInstance.getOptimizelyConfig().experimentsMap var experimentKeys = Object.keys(experimentsMap); @@ -178,7 +174,6 @@ function run() { logs = [] - console.log('run') var logarea = document.getElementById('logsarea') var method = document.getElementById('methods').value var key = document.getElementById('keys').value @@ -191,37 +186,29 @@ switch (method) { case 'activate': - console.log('ran activate') response = optimizelyClientInstance.activate(key, userid, attributes) break; case 'isFeatureEnabled': - console.log('ran isFeautureEnabled') response = optimizelyClientInstance.isFeatureEnabled(key, userid, attributes) break; case 'getFeatureVariable': - console.log('ran getFeatureVariable') response = optimizelyClientInstance.getFeatureVariable(key, variable, userid, attributes) break; case 'getFeatureVariableString': - console.log('ran getFeatureVariableString') response = optimizelyClientInstance.getFeatureVariableString(key, variable, userid, attributes) break; case 'getFeatureVariableInteger': - console.log('ran getFeatureVariableInteger') response = optimizelyClientInstance.getFeatureVariableInteger(key, variable, userid, attributes) break; case 'getFeatureVariableBoolean': - console.log('ran getFeatureBoolean') response = optimizelyClientInstance.getFeatureVariableBoolean(key, variable, userid, attributes) break; case 'getFeatureVariableDouble': - console.log('ran getFeatureVariableDouble') response = optimizelyClientInstance.getFeatureVariableDouble(key, variable, userid, attributes) break; } logs.forEach(log => { - console.log(log) logarea.innerHTML = logarea.innerHTML + log + '\n' }) @@ -245,9 +232,7 @@ var attr = document.createElement("select") attr.id = 'attribute' + attributeTableCount - console.log(attr.id) attr.options[attr.options.length] = new Option("") - console.log(attributes) attributes.forEach(attribute =>{ attr.options[attr.options.length] = new Option(attribute) }) @@ -275,7 +260,6 @@ var table = document.getElementById('attributeTable') var index = el.rowIndex - console.log("index " + index ) if (index > 0) { table.deleteRow(index) attributeTableCount-- From 09e8c7b4fcf23c3eb912c916bcda2d69fc487788 Mon Sep 17 00:00:00 2001 From: Tom Zurkan Date: Mon, 25 May 2020 08:55:53 -0700 Subject: [PATCH 02/47] update README to include minimum vscode version. --- CHANGELOG.md | 4 ++++ README.md | 4 +++- optimizely-0.0.6.vsix | Bin 0 -> 73632 bytes package.json | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 optimizely-0.0.6.vsix diff --git a/CHANGELOG.md b/CHANGELOG.md index 929d2eb..aebc006 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # vscode extension for Optimizely +## 0.0.6 +May 25, 2020 + - Update README to mention minimum vscode version. + ## 0.0.5 May 21, 2020 - Fix debug dialog attribute table. diff --git a/README.md b/README.md index 8759105..86aade1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Optimizely VSCode Extension -The Optimizely VSCode extension lets you access Feature Keys, Experiment Keys and Feature Variables via auto-complete for javascript typescript and react. If not using these languages, you can use the keyboard shortcuts below to insert your experiment and feature keys. +The Optimizely VSCode extension lets you access Feature Keys, Experiment Keys and Feature Variables via auto-complete for javascript typescript and react. If not using these languages, you can use the keyboard shortcuts below to insert your experiment and feature keys as well as attribute and event keys. + +This extension is compatiable with 1.34 and higher of vscode. ## Features diff --git a/optimizely-0.0.6.vsix b/optimizely-0.0.6.vsix new file mode 100644 index 0000000000000000000000000000000000000000..91b3c8d208b54ff6c4aba8ca19637f0e312be288 GIT binary patch literal 73632 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 Ne@f6ua=53n{{aBO>>vOD literal 0 HcmV?d00001 diff --git a/package.json b/package.json index fc9f47e..04a770e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "optimizely", "displayName": "Optimizely", "description": "Use Optimizely feature flag, experiment, variation, event, and attribute keys.", - "version": "0.0.5", + "version": "0.0.6", "publisher": "optimizely-fullstack", "engines": { "vscode": "^1.34.0" From 5b555efe44a25e9dfdfc727153640d0936baeedf Mon Sep 17 00:00:00 2001 From: Polina Nguen Date: Wed, 22 Jul 2020 14:47:06 -0700 Subject: [PATCH 03/47] Add mocha to devDependencies --- package-lock.json | 799 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 2 + 2 files changed, 800 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 49d6f40..249d9bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,45 @@ { "name": "optimizely", - "version": "0.0.1", + "version": "0.0.6", "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/runtime-corejs2": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.10.5.tgz", + "integrity": "sha512-LJwyb1ac//Jr2zrGTTaNJhrP1wYCgVw9rzHbQPogKXCTLQ60EEWgeNtuqs6cLsq64O557SYzziCrOxNp0rRi8w==", + "dev": true, + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, "@optimizely/js-sdk-datafile-manager": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@optimizely/js-sdk-datafile-manager/-/js-sdk-datafile-manager-0.4.0.tgz", @@ -41,6 +77,22 @@ } } }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, "@types/mocha": { "version": "2.2.48", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.48.tgz", @@ -292,6 +344,18 @@ "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", "dev": true }, + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -431,6 +495,15 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -449,6 +522,12 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", @@ -637,6 +716,12 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, "browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", @@ -1095,6 +1180,12 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -1205,6 +1296,15 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -1262,6 +1362,12 @@ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, "diffie-hellman": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -1273,6 +1379,15 @@ "randombytes": "^2.0.0" } }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -1379,6 +1494,36 @@ "prr": "~1.0.1" } }, + "es-abstract": { + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "es6-promise": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", @@ -1410,6 +1555,12 @@ "estraverse": "^4.1.1" } }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, "esrecurse": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", @@ -1601,12 +1752,46 @@ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", "dev": true }, + "fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, + "fastq": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", + "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", @@ -1766,6 +1951,23 @@ } } }, + "flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true + } + } + }, "flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", @@ -2473,6 +2675,12 @@ } } }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2564,18 +2772,55 @@ "which": "^1.2.14" } }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, "graceful-fs": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", "dev": true }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -2648,6 +2893,12 @@ "minimalistic-assert": "^1.0.1" } }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -2706,6 +2957,12 @@ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -2797,6 +3054,12 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -2817,6 +3080,12 @@ } } }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -2878,12 +3147,30 @@ "isobject": "^3.0.1" } }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -2914,6 +3201,16 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -2985,6 +3282,21 @@ "path-exists": "^3.0.0" } }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "dev": true + }, + "log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2" + } + }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -3097,6 +3409,12 @@ } } }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -3198,6 +3516,252 @@ "minimist": "0.0.8" } }, + "mocha": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "dev": true, + "requires": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true + }, + "chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.4" + } + }, + "supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "mochapack": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mochapack/-/mochapack-2.0.3.tgz", + "integrity": "sha512-rz822NBaSN0+aK9jzIc6r3ctuSP11LIbWpkVllLiSIhr+cWeueuaMbpMBMUQ9JDQ4O9UMYLfN9cWjqNcpAVTpg==", + "dev": true, + "requires": { + "@babel/runtime-corejs2": "^7.0.0", + "chalk": "^2.4.2", + "chokidar": "^2.0.0", + "glob-parent": "5.1.0", + "globby": "^10.0.1", + "interpret": "^1.2.0", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.15", + "memory-fs": "^0.4.1", + "minimatch": "^3.0.4", + "nodent-runtime": "^3.2.1", + "normalize-path": "^3.0.0", + "progress": "^2.0.3", + "source-map-support": "^0.5.13", + "toposort": "^2.0.2", + "yargs": "14.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "yargs": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.0.0.tgz", + "integrity": "sha512-ssa5JuRjMeZEUjg7bEL99AwpitxU/zWGAGpdj0di41pOEmJti8NR6kyUIJBkR78DTYNPZOU08luUo0GTHuB+ow==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + } + } + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -3256,6 +3820,16 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, "node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", @@ -3327,6 +3901,12 @@ } } }, + "nodent-runtime": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/nodent-runtime/-/nodent-runtime-3.2.1.tgz", + "integrity": "sha512-7Ws63oC+215smeKJQCxzrK21VFVlCFBkwl0MOObt0HOpVQXs3u483sAmtkF33nNqZ5rSOQjB76fgyPBmAUrtCA==", + "dev": true + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3379,6 +3959,18 @@ } } }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -3388,6 +3980,28 @@ "isobject": "^3.0.0" } }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -3570,6 +4184,12 @@ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, "pbkdf2": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", @@ -3622,6 +4242,12 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -3718,6 +4344,38 @@ "safe-buffer": "^5.1.0" } }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -3864,6 +4522,12 @@ } } }, + "regenerator-runtime": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.6.tgz", + "integrity": "sha512-GmwlGiazQEbOwQWDdbbaP10i15pGtScYWLbMZuu+RKRz0cZ+g8IUONazBnaZqe7j1670IV1HgE4/8iy7CQPf4Q==", + "dev": true + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -3954,6 +4618,12 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -3973,6 +4643,12 @@ "inherits": "^2.0.1" } }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "dev": true + }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", @@ -4008,6 +4684,12 @@ "ajv-keywords": "^3.1.0" } }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, "serialize-javascript": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", @@ -4080,6 +4762,12 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -4254,6 +4942,12 @@ "extend-shallow": "^3.0.0" } }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", @@ -4415,6 +5109,26 @@ } } }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -4424,12 +5138,27 @@ "safe-buffer": "~5.2.0" } }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, "supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", @@ -4593,6 +5322,12 @@ "is-number": "^7.0.0" } }, + "toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=", + "dev": true + }, "ts-loader": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-7.0.2.tgz", @@ -5123,6 +5858,27 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + } + } + }, "worker-farm": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", @@ -5206,6 +5962,47 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } + }, + "yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + }, + "dependencies": { + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } } } } diff --git a/package.json b/package.json index 04a770e..253e2c7 100644 --- a/package.json +++ b/package.json @@ -156,6 +156,8 @@ "@types/mocha": "^2.2.48", "@types/node": "^6.0.40", "@types/vscode": "1.34.0", + "mocha": "^7.2.0", + "mochapack": "^2.0.3", "ts-loader": "7.0.2", "typescript": "^3.6.4", "vscode-test": "1.3.0", From 933ce714472eca8adc9f7d35449794ffc6b89cee Mon Sep 17 00:00:00 2001 From: Polina Nguen Date: Fri, 24 Jul 2020 19:36:39 -0700 Subject: [PATCH 04/47] Add getFeatureVariableJSON API --- debugdialog.html | 9 ++++++++- src/optimizelyService.ts | 11 +++++++---- src/providers.ts | 24 +++++++++++++++++++++++- test/providers.test.ts | 14 ++++++++++++++ test/test.txt | 2 ++ 5 files changed, 54 insertions(+), 6 deletions(-) diff --git a/debugdialog.html b/debugdialog.html index 422f9a4..98dcdfe 100644 --- a/debugdialog.html +++ b/debugdialog.html @@ -1,6 +1,6 @@ - + +