From 15423cadc1e339eb32b687c878b1321b2158564e Mon Sep 17 00:00:00 2001 From: Nev Wylie <54870357+MSNev@users.noreply.github.com> Date: Fri, 2 Apr 2021 13:34:05 -0700 Subject: [PATCH] [BUG] Investigate changing the sideEffects: false to list only the files that include the shims module from the all AI modules so that webpack can evaluate correctly #1509 Investigate removing the globals __extends() and __assign() populated by applicationinsights-shims #1280 --- .gitignore | 1 + AISKU/package.json | 6 +- AISKU/src/applicationinsights-web.ts | 2 - AISKU/tsconfig.json | 3 +- AISKULight/index.ts | 1 - AISKULight/package.json | 4 +- AISKULight/tsconfig.json | 3 +- .../package.json | 4 +- .../src/applicationinsights-channel-js.ts | 2 - .../tsconfig.json | 3 +- common/Tests/Framework/package.json | 6 +- common/Tests/Framework/rollup.config.js | 3 + common/Tests/Framework/tsconfig.json | 3 +- common/config/rush/npm-shrinkwrap.json | 139 +- .../package.json | 4 +- .../src/applicationinsights-analytics-js.ts | 1 - .../tsconfig.json | 3 +- .../package.json | 4 +- .../applicationinsights-clickanalytics-js.ts | 1 - .../tsconfig.json | 3 +- .../package.json | 4 +- .../src/applicationinsights-debugplugin-js.ts | 1 - .../tsconfig.json | 3 +- .../package.json | 4 +- .../applicationinsights-dependencies-js.ts | 1 - .../tsconfig.json | 3 +- .../package.json | 4 +- .../src/applicationinsights-properties-js.ts | 1 - .../tsconfig.json | 3 +- .../applicationinsights-react-js/package.json | 3 +- .../package.json | 3 +- gruntfile.js | 18 +- package-lock.json | 3501 ----------------- package.json | 3 +- shared/AppInsightsCommon/package.json | 7 +- shared/AppInsightsCommon/rollup.config.js | 18 +- .../src/applicationinsights-common.ts | 1 - shared/AppInsightsCommon/tsconfig.json | 3 +- shared/AppInsightsCore/Tests/tsconfig.json | 3 +- shared/AppInsightsCore/package.json | 4 +- .../src/JavaScriptSDK/EnvUtils.ts | 35 +- .../src/JavaScriptSDK/HelperFuncs.ts | 24 +- .../src/JavaScriptSDK/InstrumentHooks.ts | 12 +- .../src/applicationinsights-core-js.ts | 12 +- shared/AppInsightsCore/tsconfig.json | 3 +- tools/rollup-es3/package.json | 3 +- tools/rollup-plugin-uglify3-js/package.json | 3 +- tools/rollup-plugin-uglify3-js/tsconfig.json | 6 +- tools/shims/README.md | 14 +- tools/shims/Tests/Selenium/ShimsTests.ts | 84 +- tools/shims/package.json | 6 +- tools/shims/src/Constants.ts | 16 + tools/shims/src/Helpers.ts | 71 + tools/shims/src/TsLibGlobals.ts | 35 + tools/shims/src/TsLibShims.ts | 253 ++ tools/shims/src/applicationinsights-shims.ts | 165 +- tools/updateDistEsm/updateDistEsm.js | 231 +- 57 files changed, 911 insertions(+), 3846 deletions(-) delete mode 100644 package-lock.json create mode 100644 tools/shims/src/Constants.ts create mode 100644 tools/shims/src/Helpers.ts create mode 100644 tools/shims/src/TsLibGlobals.ts create mode 100644 tools/shims/src/TsLibShims.ts diff --git a/.gitignore b/.gitignore index ea6308b2c..2e2766253 100644 --- a/.gitignore +++ b/.gitignore @@ -249,6 +249,7 @@ temp # Rush files common/temp/** package-deps.json +package-lock.json # test output aicore.tests.js* diff --git a/AISKU/package.json b/AISKU/package.json index a2339f506..21a10f3e8 100644 --- a/AISKU/package.json +++ b/AISKU/package.json @@ -46,6 +46,7 @@ "grunt-ts": "^6.0.0-beta.22", "grunt-tslint": "^5.0.2", "globby": "^11.0.0", + "magic-string": "^0.25.7", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", @@ -56,11 +57,12 @@ "source-map-loader": "^0.2.3", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", - "typescript": "2.5.3" + "typescript": "2.5.3", + "tslib": "^1.13.0" }, "dependencies": { "@microsoft/dynamicproto-js": "^1.1.1", - "@microsoft/applicationinsights-shims" : "1.0.3", + "@microsoft/applicationinsights-shims" : "2.0.0", "@microsoft/applicationinsights-analytics-js": "2.6.1", "@microsoft/applicationinsights-channel-js": "2.6.1", "@microsoft/applicationinsights-common": "2.6.1", diff --git a/AISKU/src/applicationinsights-web.ts b/AISKU/src/applicationinsights-web.ts index b894a1874..9c1a43542 100644 --- a/AISKU/src/applicationinsights-web.ts +++ b/AISKU/src/applicationinsights-web.ts @@ -1,5 +1,3 @@ -import '@microsoft/applicationinsights-shims'; - export { IApplicationInsights, Snippet, diff --git a/AISKU/tsconfig.json b/AISKU/tsconfig.json index e23c02901..6dd053726 100644 --- a/AISKU/tsconfig.json +++ b/AISKU/tsconfig.json @@ -9,8 +9,9 @@ "alwaysStrict": true, "suppressImplicitAnyIndexErrors": true, "allowSyntheticDefaultImports": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "declaration": true, "declarationDir": "AISKU/types", diff --git a/AISKULight/index.ts b/AISKULight/index.ts index e5ec81d40..0e11b40ba 100644 --- a/AISKULight/index.ts +++ b/AISKULight/index.ts @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import '@microsoft/applicationinsights-shims'; import { IConfiguration, AppInsightsCore, diff --git a/AISKULight/package.json b/AISKULight/package.json index 6371c7f0e..4e8bf8585 100644 --- a/AISKULight/package.json +++ b/AISKULight/package.json @@ -25,6 +25,7 @@ "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", "globby": "^11.0.0", + "magic-string": "^0.25.7", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", @@ -32,12 +33,13 @@ "rollup": "^2.32.0", "source-map-loader": "^0.2.3", "typescript": "2.5.3", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0" }, "dependencies": { "@microsoft/dynamicproto-js": "^1.1.1", - "@microsoft/applicationinsights-shims" : "1.0.3", + "@microsoft/applicationinsights-shims" : "2.0.0", "@microsoft/applicationinsights-common": "2.6.1", "@microsoft/applicationinsights-channel-js": "2.6.1", "@microsoft/applicationinsights-core-js": "2.6.1" diff --git a/AISKULight/tsconfig.json b/AISKULight/tsconfig.json index 8376ea525..a0c5d8d93 100644 --- a/AISKULight/tsconfig.json +++ b/AISKULight/tsconfig.json @@ -9,8 +9,9 @@ "alwaysStrict": true, "suppressImplicitAnyIndexErrors": true, "allowSyntheticDefaultImports": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "declaration": true, "declarationDir": "AISKULight/types", diff --git a/channels/applicationinsights-channel-js/package.json b/channels/applicationinsights-channel-js/package.json index eefcf7535..a594ee849 100644 --- a/channels/applicationinsights-channel-js/package.json +++ b/channels/applicationinsights-channel-js/package.json @@ -29,12 +29,14 @@ "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", "globby": "^11.0.0", + "magic-string": "^0.25.7", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", "rollup-plugin-cleanup": "3.2.1", "rollup": "^2.32.0", "typescript": "2.5.3", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "qunit": "^2.9.1", @@ -42,7 +44,7 @@ }, "dependencies": { "@microsoft/dynamicproto-js": "^1.1.1", - "@microsoft/applicationinsights-shims" : "1.0.3", + "@microsoft/applicationinsights-shims" : "2.0.0", "@microsoft/applicationinsights-core-js": "2.6.1", "@microsoft/applicationinsights-common": "2.6.1" }, diff --git a/channels/applicationinsights-channel-js/src/applicationinsights-channel-js.ts b/channels/applicationinsights-channel-js/src/applicationinsights-channel-js.ts index d70f15906..01f58b6c9 100644 --- a/channels/applicationinsights-channel-js/src/applicationinsights-channel-js.ts +++ b/channels/applicationinsights-channel-js/src/applicationinsights-channel-js.ts @@ -1,3 +1 @@ -import '@microsoft/applicationinsights-shims'; - export { Sender } from "./Sender"; \ No newline at end of file diff --git a/channels/applicationinsights-channel-js/tsconfig.json b/channels/applicationinsights-channel-js/tsconfig.json index d0e431ed0..7ef76a864 100644 --- a/channels/applicationinsights-channel-js/tsconfig.json +++ b/channels/applicationinsights-channel-js/tsconfig.json @@ -10,8 +10,9 @@ "suppressImplicitAnyIndexErrors": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "declaration": true, "declarationDir": "channels/applicationinsights-channel-js/types", "outDir": "dist-esm", diff --git a/common/Tests/Framework/package.json b/common/Tests/Framework/package.json index e27086d0f..d0d08fefe 100644 --- a/common/Tests/Framework/package.json +++ b/common/Tests/Framework/package.json @@ -41,10 +41,14 @@ "@rollup/plugin-replace": "^2.3.3", "rollup": "^2.32.0", "typescript": "2.5.3", + "tslib": "^1.13.0", "qunit": "^2.9.1", - "sinon": "^7.3.1" + "sinon": "^7.3.1", + "globby": "^11.0.0", + "magic-string": "^0.25.7" }, "dependencies": { + "@microsoft/applicationinsights-shims" : "2.0.0", "@microsoft/dynamicproto-js": "^1.1.1" } } diff --git a/common/Tests/Framework/rollup.config.js b/common/Tests/Framework/rollup.config.js index e324fe462..57a629d6d 100644 --- a/common/Tests/Framework/rollup.config.js +++ b/common/Tests/Framework/rollup.config.js @@ -1,4 +1,5 @@ import nodeResolve from "@rollup/plugin-node-resolve"; +import { updateDistEsmFiles } from "../../../tools/updateDistEsm/updateDistEsm"; const version = require("./package.json").version; const outputName = "ai-test-framework"; @@ -29,6 +30,8 @@ const nodeUmdRollupConfigFactory = () => { return nodeRollupConfig; } +updateDistEsmFiles({}, banner); + export default [ nodeUmdRollupConfigFactory(), ]; diff --git a/common/Tests/Framework/tsconfig.json b/common/Tests/Framework/tsconfig.json index c99bc419c..bb2847a8b 100644 --- a/common/Tests/Framework/tsconfig.json +++ b/common/Tests/Framework/tsconfig.json @@ -7,8 +7,9 @@ "moduleResolution": "node", "target": "es5", "forceConsistentCasingInFileNames": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "alwaysStrict": true, "declaration": true, "outDir": "dist-esm/", diff --git a/common/config/rush/npm-shrinkwrap.json b/common/config/rush/npm-shrinkwrap.json index 6da54c8b2..a86163de7 100644 --- a/common/config/rush/npm-shrinkwrap.json +++ b/common/config/rush/npm-shrinkwrap.json @@ -37,7 +37,7 @@ "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", "grunt-tslint": "^5.0.2", - "magic-string": "^0.25.5", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", @@ -46,6 +46,7 @@ "serve-static": "^1.13.2", "sinon": "^7.3.1", "source-map-loader": "^0.2.3", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", @@ -296,7 +297,7 @@ "node_modules/@rush-temp/ai-test-framework": { "version": "0.0.0", "resolved": "file:projects/ai-test-framework.tgz", - "integrity": "sha512-WXprhiwM0LXd9FmrKuJj3pM0kfg5o7SA3wZT6dqLnFs+pPqdxo5MY/C72yynRIwGCAEl76Y6C48d4cteB+ciVQ==", + "integrity": "sha512-SGS14RvVIb/R+vYt3PmaPKsejWquFdnSs4EN2BsipWFBdHoYJYoe8PW9BOSWtRTytQiKlvLxRNOGh5SQjv2A1Q==", "dependencies": { "@microsoft/dynamicproto-js": "^1.1.1", "@rollup/plugin-commonjs": "^15.1.0", @@ -304,12 +305,15 @@ "@rollup/plugin-replace": "^2.3.3", "@types/qunit": "^2.5.3", "@types/sinon": "4.3.3", + "globby": "^11.0.0", "grunt": "^1.3.0", "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "sinon": "^7.3.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", @@ -319,7 +323,7 @@ "node_modules/@rush-temp/applicationinsights-analytics-js": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-analytics-js.tgz", - "integrity": "sha512-OxMO4WPk36/qDooV6cLtuFh/3VDJ5XgkqkWPdLNLFZ49oerLM6WjD5eKdmAy3HKAi2Qz6VML2p4q2dRrgTdbkQ==", + "integrity": "sha512-aYP9huPMtmqsXVT+iDeJYZRM6qFir0Im/1NgucKyoouhrTyw3pdyiSeyfshnwhY7JLjxlzH33z/GReCFJ4k9KA==", "dependencies": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -331,10 +335,12 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", "sinon": "^7.3.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -343,7 +349,7 @@ "node_modules/@rush-temp/applicationinsights-channel-js": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-channel-js.tgz", - "integrity": "sha512-vYQ6rp659jcHfG3pjjCkN+3SjnCVX6yy80rWiTHF3rJRbljYv9T1cKIwL3yMX648Izb7+BHwuXx7Zma/fa77Ng==", + "integrity": "sha512-Mrizq3LQAgVPgQOZ1WJSRjD4OxCxYBdVTWI7W9CG63V71iXxpMLFhwEt5cuUE4Bs7qE2ZDAfVomMC7PSQoNm+Q==", "dependencies": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -357,10 +363,12 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", "sinon": "^7.3.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -369,7 +377,7 @@ "node_modules/@rush-temp/applicationinsights-clickanalytics-js": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-clickanalytics-js.tgz", - "integrity": "sha512-F/qquAth7cf2nQlSz6Ral5PEhRw4BoPJKJc+obipE6uECa+xQAwBNmnHnEAXn85YboKrFCN9rtZ9S7uEFwSF3g==", + "integrity": "sha512-CkLuoMdX4VoN6eaJrCd11QY/zDnhbFIwiFxhskBLwYUyyBsO2gEG4gbifEB42ZxeJb2QC7zqhZg1KjezfegJoQ==", "dependencies": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -381,8 +389,10 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -391,18 +401,21 @@ "node_modules/@rush-temp/applicationinsights-common": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-common.tgz", - "integrity": "sha512-FA4jfOgCdQJlYPJi8DrHLTo8VXPauNQN5f4eMN6njAzH9CENJT2ESmNRa+j+bCgSB5cHOyO1xtLzRAxPQi/W+g==", + "integrity": "sha512-PnlUfO19Q8uiM9hZo07TCR9V7w/PRT4QR0VvovmNAfGO9VfZ13ziFxsbOaynXyyuuhRf5mGpElb1+Cy3fiJG+A==", "dependencies": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", + "globby": "^11.0.0", "grunt": "^1.3.0", "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -411,7 +424,7 @@ "node_modules/@rush-temp/applicationinsights-core-js": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-core-js.tgz", - "integrity": "sha512-0I8raFF6JUCqioRyHZAamLWvw3SukKlYKRz9AF7/te1o+vgdLcav2F6PEiDT7dd+I5FmCGRsFKih9ei/KdLP9w==", + "integrity": "sha512-6Dx19Y9IOGkibyCSOXsGTDCXmKjZmwU+Mix5fcVou2UE3yNj3mQr+CPaV8Ron+tRpezWBNMGoP9Y5kMrtBle7Q==", "dependencies": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -422,10 +435,12 @@ "grunt": "^1.3.0", "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", "sinon": "^7.3.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", @@ -435,7 +450,7 @@ "node_modules/@rush-temp/applicationinsights-debugplugin-js": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-debugplugin-js.tgz", - "integrity": "sha512-54muE9HgDuGjcQZSGccIyQ9BgUnPFzuDlT9k9mvI7VJ5U0AjHfstUZ5UcNX79sShPxxO9y67CyNU4zwysou3zA==", + "integrity": "sha512-a5JrCyWRVT4YLm97utUTlmbbB+0zyurCu3y9qMVsuWkwH81uyd5IziMGWlV0+LwG/MSyz1ZUrIJONBeEB3EQYQ==", "dependencies": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -447,8 +462,10 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -457,7 +474,7 @@ "node_modules/@rush-temp/applicationinsights-dependencies-js": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-dependencies-js.tgz", - "integrity": "sha512-WLquiV4az+IRVQjn5iNTZxnMzAIogZZx7YJTRa7be8kRD3dvrEiBgNWie6LXPMdLQnGDicD9WzNkkaxHePyWMA==", + "integrity": "sha512-kjsFmuUui2JcxNsPnxKBgGuCpj4/xDs5TWsDYJHfFDH+dQ8YWCRleVeXL5XI+Hk+E+OW4r+CTDc0TiWIBNRhuw==", "dependencies": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -469,8 +486,10 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -479,7 +498,7 @@ "node_modules/@rush-temp/applicationinsights-properties-js": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-properties-js.tgz", - "integrity": "sha512-qrcDgSF2Z711HeSajVXUBDlerBAX0kqOZ8ixH6sDMPxjdZvWSWn+1sFbPESC1T3hbl8CyDD1A6KLFxYM9Awxqg==", + "integrity": "sha512-czHXFnizeTw70iSgsu/1PHBbvDP0+0sIlG21QiP9nk5k7qcaEaacn6ZAb3di46jkfs0Pm0EYkv5HojWNPqHysA==", "dependencies": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -491,10 +510,12 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", "sinon": "^7.3.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -503,7 +524,7 @@ "node_modules/@rush-temp/applicationinsights-rollup-es3": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-rollup-es3.tgz", - "integrity": "sha512-AapKyJXx3l/2bta+7Y7NckO4Yw4yxDJWLNj8TPs/4wZRzlZfjYCIpMPD6dVhfXQXnJIzXG+11qbY2EBgO/UsRQ==", + "integrity": "sha512-5BR7vDonxxPIjStxWtEg6zRYViQqW5hC0U5z1QQOE63olWdA9xKpYtJcOdvDgzvduzcWvw0y8clWDxhqv3Ssog==", "dependencies": { "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", @@ -512,9 +533,10 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", "grunt-tslint": "^5.0.2", - "magic-string": "^0.25.5", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-minify-es": "^1.1.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", @@ -524,7 +546,7 @@ "node_modules/@rush-temp/applicationinsights-rollup-plugin-uglify3-js": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-rollup-plugin-uglify3-js.tgz", - "integrity": "sha512-hNeYmDWmyR61QMAY8SwKTiHZFc25ltTSVV6SbiBBzgExPT0K2emWH7nQ4R4z6fxRAEaage1qsiT7q7MA9FAGmw==", + "integrity": "sha512-dCxW2EZLbR8PINR/cT5GI7Nl7o8Fv3wAorzWg6XRZb0oH9jb7UDXKZjDlh2BpWc0mKWmk5K5j38jHMsEIiyBKw==", "dependencies": { "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", @@ -535,6 +557,7 @@ "grunt-tslint": "^5.0.2", "rollup": "^2.32.0", "rollup-plugin-minify-es": "^1.1.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", @@ -564,7 +587,7 @@ "node_modules/@rush-temp/applicationinsights-web": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-web.tgz", - "integrity": "sha512-trCKRtRTXsqZckW3U1b/XR0DvsaNbd2YAqMYXP7vRbS3qHlqXO0MJhgmVxZ0UXnDyX1OIJqyfflCUfvg7VBucQ==", + "integrity": "sha512-BJ+HUtg3j2xnhlq8U0nsgoOc9Ztmk62/3QXaX2HLex0Oh98IZnKPfNgRqFEe8rypJEgkkJfhM4IBAKpq6aXCbQ==", "dependencies": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -580,6 +603,7 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", "grunt-tslint": "^5.0.2", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", @@ -587,6 +611,7 @@ "serve-static": "^1.13.2", "sinon": "^7.3.1", "source-map-loader": "^0.2.3", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -595,7 +620,7 @@ "node_modules/@rush-temp/applicationinsights-web-basic": { "version": "0.0.0", "resolved": "file:projects/applicationinsights-web-basic.tgz", - "integrity": "sha512-zYOyqDm+GSYZhbOebbUT/ei8/5M1YB5ERNIIVBqZtW5PiT0UtcFvV64O9C/dEEzDmSuMF2ebOSHk65MtTRXkBQ==", + "integrity": "sha512-xErVRneQtCtuqunHadRixE0c+TMxqw+yMO22pOU+F9TlVRglcVJUcVLFEwtt5xxO/I+8vDRvPXs2YEWdOxBqyA==", "dependencies": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -607,9 +632,11 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", "source-map-loader": "^0.2.3", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -3314,19 +3341,19 @@ } }, "node_modules/mime-db": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", - "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.29", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", - "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "dependencies": { - "mime-db": "1.46.0" + "mime-db": "1.47.0" }, "engines": { "node": ">= 0.6" @@ -5688,7 +5715,7 @@ }, "@rush-temp/ai-test-framework": { "version": "file:projects\\ai-test-framework.tgz", - "integrity": "sha512-WXprhiwM0LXd9FmrKuJj3pM0kfg5o7SA3wZT6dqLnFs+pPqdxo5MY/C72yynRIwGCAEl76Y6C48d4cteB+ciVQ==", + "integrity": "sha512-SGS14RvVIb/R+vYt3PmaPKsejWquFdnSs4EN2BsipWFBdHoYJYoe8PW9BOSWtRTytQiKlvLxRNOGh5SQjv2A1Q==", "requires": { "@microsoft/dynamicproto-js": "^1.1.1", "@rollup/plugin-commonjs": "^15.1.0", @@ -5696,12 +5723,15 @@ "@rollup/plugin-replace": "^2.3.3", "@types/qunit": "^2.5.3", "@types/sinon": "4.3.3", + "globby": "^11.0.0", "grunt": "^1.3.0", "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "sinon": "^7.3.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", @@ -5710,7 +5740,7 @@ }, "@rush-temp/applicationinsights-analytics-js": { "version": "file:projects\\applicationinsights-analytics-js.tgz", - "integrity": "sha512-OxMO4WPk36/qDooV6cLtuFh/3VDJ5XgkqkWPdLNLFZ49oerLM6WjD5eKdmAy3HKAi2Qz6VML2p4q2dRrgTdbkQ==", + "integrity": "sha512-aYP9huPMtmqsXVT+iDeJYZRM6qFir0Im/1NgucKyoouhrTyw3pdyiSeyfshnwhY7JLjxlzH33z/GReCFJ4k9KA==", "requires": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -5722,10 +5752,12 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", "sinon": "^7.3.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -5733,7 +5765,7 @@ }, "@rush-temp/applicationinsights-channel-js": { "version": "file:projects\\applicationinsights-channel-js.tgz", - "integrity": "sha512-vYQ6rp659jcHfG3pjjCkN+3SjnCVX6yy80rWiTHF3rJRbljYv9T1cKIwL3yMX648Izb7+BHwuXx7Zma/fa77Ng==", + "integrity": "sha512-Mrizq3LQAgVPgQOZ1WJSRjD4OxCxYBdVTWI7W9CG63V71iXxpMLFhwEt5cuUE4Bs7qE2ZDAfVomMC7PSQoNm+Q==", "requires": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -5747,10 +5779,12 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", "sinon": "^7.3.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -5758,7 +5792,7 @@ }, "@rush-temp/applicationinsights-clickanalytics-js": { "version": "file:projects\\applicationinsights-clickanalytics-js.tgz", - "integrity": "sha512-F/qquAth7cf2nQlSz6Ral5PEhRw4BoPJKJc+obipE6uECa+xQAwBNmnHnEAXn85YboKrFCN9rtZ9S7uEFwSF3g==", + "integrity": "sha512-CkLuoMdX4VoN6eaJrCd11QY/zDnhbFIwiFxhskBLwYUyyBsO2gEG4gbifEB42ZxeJb2QC7zqhZg1KjezfegJoQ==", "requires": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -5770,8 +5804,10 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -5779,18 +5815,21 @@ }, "@rush-temp/applicationinsights-common": { "version": "file:projects\\applicationinsights-common.tgz", - "integrity": "sha512-FA4jfOgCdQJlYPJi8DrHLTo8VXPauNQN5f4eMN6njAzH9CENJT2ESmNRa+j+bCgSB5cHOyO1xtLzRAxPQi/W+g==", + "integrity": "sha512-PnlUfO19Q8uiM9hZo07TCR9V7w/PRT4QR0VvovmNAfGO9VfZ13ziFxsbOaynXyyuuhRf5mGpElb1+Cy3fiJG+A==", "requires": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", + "globby": "^11.0.0", "grunt": "^1.3.0", "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -5798,7 +5837,7 @@ }, "@rush-temp/applicationinsights-core-js": { "version": "file:projects\\applicationinsights-core-js.tgz", - "integrity": "sha512-0I8raFF6JUCqioRyHZAamLWvw3SukKlYKRz9AF7/te1o+vgdLcav2F6PEiDT7dd+I5FmCGRsFKih9ei/KdLP9w==", + "integrity": "sha512-6Dx19Y9IOGkibyCSOXsGTDCXmKjZmwU+Mix5fcVou2UE3yNj3mQr+CPaV8Ron+tRpezWBNMGoP9Y5kMrtBle7Q==", "requires": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -5809,10 +5848,12 @@ "grunt": "^1.3.0", "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", "sinon": "^7.3.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", @@ -5821,7 +5862,7 @@ }, "@rush-temp/applicationinsights-debugplugin-js": { "version": "file:projects\\applicationinsights-debugplugin-js.tgz", - "integrity": "sha512-54muE9HgDuGjcQZSGccIyQ9BgUnPFzuDlT9k9mvI7VJ5U0AjHfstUZ5UcNX79sShPxxO9y67CyNU4zwysou3zA==", + "integrity": "sha512-a5JrCyWRVT4YLm97utUTlmbbB+0zyurCu3y9qMVsuWkwH81uyd5IziMGWlV0+LwG/MSyz1ZUrIJONBeEB3EQYQ==", "requires": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -5833,8 +5874,10 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -5842,7 +5885,7 @@ }, "@rush-temp/applicationinsights-dependencies-js": { "version": "file:projects\\applicationinsights-dependencies-js.tgz", - "integrity": "sha512-WLquiV4az+IRVQjn5iNTZxnMzAIogZZx7YJTRa7be8kRD3dvrEiBgNWie6LXPMdLQnGDicD9WzNkkaxHePyWMA==", + "integrity": "sha512-kjsFmuUui2JcxNsPnxKBgGuCpj4/xDs5TWsDYJHfFDH+dQ8YWCRleVeXL5XI+Hk+E+OW4r+CTDc0TiWIBNRhuw==", "requires": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -5854,8 +5897,10 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -5863,7 +5908,7 @@ }, "@rush-temp/applicationinsights-properties-js": { "version": "file:projects\\applicationinsights-properties-js.tgz", - "integrity": "sha512-qrcDgSF2Z711HeSajVXUBDlerBAX0kqOZ8ixH6sDMPxjdZvWSWn+1sFbPESC1T3hbl8CyDD1A6KLFxYM9Awxqg==", + "integrity": "sha512-czHXFnizeTw70iSgsu/1PHBbvDP0+0sIlG21QiP9nk5k7qcaEaacn6ZAb3di46jkfs0Pm0EYkv5HojWNPqHysA==", "requires": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -5875,10 +5920,12 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", "sinon": "^7.3.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -5886,7 +5933,7 @@ }, "@rush-temp/applicationinsights-rollup-es3": { "version": "file:projects\\applicationinsights-rollup-es3.tgz", - "integrity": "sha512-AapKyJXx3l/2bta+7Y7NckO4Yw4yxDJWLNj8TPs/4wZRzlZfjYCIpMPD6dVhfXQXnJIzXG+11qbY2EBgO/UsRQ==", + "integrity": "sha512-5BR7vDonxxPIjStxWtEg6zRYViQqW5hC0U5z1QQOE63olWdA9xKpYtJcOdvDgzvduzcWvw0y8clWDxhqv3Ssog==", "requires": { "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", @@ -5895,9 +5942,10 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", "grunt-tslint": "^5.0.2", - "magic-string": "^0.25.5", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-minify-es": "^1.1.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", @@ -5906,7 +5954,7 @@ }, "@rush-temp/applicationinsights-rollup-plugin-uglify3-js": { "version": "file:projects\\applicationinsights-rollup-plugin-uglify3-js.tgz", - "integrity": "sha512-hNeYmDWmyR61QMAY8SwKTiHZFc25ltTSVV6SbiBBzgExPT0K2emWH7nQ4R4z6fxRAEaage1qsiT7q7MA9FAGmw==", + "integrity": "sha512-dCxW2EZLbR8PINR/cT5GI7Nl7o8Fv3wAorzWg6XRZb0oH9jb7UDXKZjDlh2BpWc0mKWmk5K5j38jHMsEIiyBKw==", "requires": { "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", @@ -5917,6 +5965,7 @@ "grunt-tslint": "^5.0.2", "rollup": "^2.32.0", "rollup-plugin-minify-es": "^1.1.1", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", @@ -5944,7 +5993,7 @@ }, "@rush-temp/applicationinsights-web": { "version": "file:projects\\applicationinsights-web.tgz", - "integrity": "sha512-trCKRtRTXsqZckW3U1b/XR0DvsaNbd2YAqMYXP7vRbS3qHlqXO0MJhgmVxZ0UXnDyX1OIJqyfflCUfvg7VBucQ==", + "integrity": "sha512-BJ+HUtg3j2xnhlq8U0nsgoOc9Ztmk62/3QXaX2HLex0Oh98IZnKPfNgRqFEe8rypJEgkkJfhM4IBAKpq6aXCbQ==", "requires": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -5960,6 +6009,7 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", "grunt-tslint": "^5.0.2", + "magic-string": "^0.25.7", "qunit": "^2.9.1", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", @@ -5967,6 +6017,7 @@ "serve-static": "^1.13.2", "sinon": "^7.3.1", "source-map-loader": "^0.2.3", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -5974,7 +6025,7 @@ }, "@rush-temp/applicationinsights-web-basic": { "version": "file:projects\\applicationinsights-web-basic.tgz", - "integrity": "sha512-zYOyqDm+GSYZhbOebbUT/ei8/5M1YB5ERNIIVBqZtW5PiT0UtcFvV64O9C/dEEzDmSuMF2ebOSHk65MtTRXkBQ==", + "integrity": "sha512-xErVRneQtCtuqunHadRixE0c+TMxqw+yMO22pOU+F9TlVRglcVJUcVLFEwtt5xxO/I+8vDRvPXs2YEWdOxBqyA==", "requires": { "@microsoft/api-extractor": "^7.9.11", "@microsoft/dynamicproto-js": "^1.1.1", @@ -5986,9 +6037,11 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", + "magic-string": "^0.25.7", "rollup": "^2.32.0", "rollup-plugin-cleanup": "3.2.1", "source-map-loader": "^0.2.3", + "tslib": "^1.13.0", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3" @@ -8112,16 +8165,16 @@ "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" }, "mime-db": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", - "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==" + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" }, "mime-types": { - "version": "2.1.29", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", - "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "requires": { - "mime-db": "1.46.0" + "mime-db": "1.47.0" } }, "minimatch": { diff --git a/extensions/applicationinsights-analytics-js/package.json b/extensions/applicationinsights-analytics-js/package.json index a2bcf307c..680c224cb 100644 --- a/extensions/applicationinsights-analytics-js/package.json +++ b/extensions/applicationinsights-analytics-js/package.json @@ -27,7 +27,9 @@ "@microsoft/applicationinsights-properties-js": "2.6.1", "@microsoft/api-extractor" : "^7.9.11", "typescript": "2.5.3", + "tslib": "^1.13.0", "globby": "^11.0.0", + "magic-string": "^0.25.7", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", @@ -44,7 +46,7 @@ }, "dependencies": { "@microsoft/dynamicproto-js": "^1.1.1", - "@microsoft/applicationinsights-shims" : "1.0.3", + "@microsoft/applicationinsights-shims" : "2.0.0", "@microsoft/applicationinsights-core-js": "2.6.1", "@microsoft/applicationinsights-common": "2.6.1" }, diff --git a/extensions/applicationinsights-analytics-js/src/applicationinsights-analytics-js.ts b/extensions/applicationinsights-analytics-js/src/applicationinsights-analytics-js.ts index 07bb38921..940c26331 100644 --- a/extensions/applicationinsights-analytics-js/src/applicationinsights-analytics-js.ts +++ b/extensions/applicationinsights-analytics-js/src/applicationinsights-analytics-js.ts @@ -1,6 +1,5 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import '@microsoft/applicationinsights-shims'; export { ApplicationInsights } from "./JavaScriptSDK/ApplicationInsights"; export { IAppInsightsInternal } from "./JavaScriptSDK/Telemetry/PageViewManager"; diff --git a/extensions/applicationinsights-analytics-js/tsconfig.json b/extensions/applicationinsights-analytics-js/tsconfig.json index f0ac57468..b5683862a 100644 --- a/extensions/applicationinsights-analytics-js/tsconfig.json +++ b/extensions/applicationinsights-analytics-js/tsconfig.json @@ -9,8 +9,9 @@ "alwaysStrict": true, "suppressImplicitAnyIndexErrors": true, "allowSyntheticDefaultImports": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "declaration": true, "declarationDir": "extensions/applicationinsights-analytics-js/types", diff --git a/extensions/applicationinsights-clickanalytics-js/package.json b/extensions/applicationinsights-clickanalytics-js/package.json index 2d7b1f303..70bc01c03 100644 --- a/extensions/applicationinsights-clickanalytics-js/package.json +++ b/extensions/applicationinsights-clickanalytics-js/package.json @@ -22,7 +22,9 @@ "@microsoft/applicationinsights-properties-js": "2.6.1", "@microsoft/api-extractor" : "^7.9.11", "typescript": "2.5.3", + "tslib": "^1.13.0", "globby": "^11.0.0", + "magic-string": "^0.25.7", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", @@ -37,7 +39,7 @@ }, "dependencies": { "@microsoft/dynamicproto-js": "^1.1.1", - "@microsoft/applicationinsights-shims": "1.0.3", + "@microsoft/applicationinsights-shims": "2.0.0", "@microsoft/applicationinsights-core-js": "2.6.1", "@microsoft/applicationinsights-common": "2.6.1" }, diff --git a/extensions/applicationinsights-clickanalytics-js/src/applicationinsights-clickanalytics-js.ts b/extensions/applicationinsights-clickanalytics-js/src/applicationinsights-clickanalytics-js.ts index 7aff11079..f46ea4db5 100644 --- a/extensions/applicationinsights-clickanalytics-js/src/applicationinsights-clickanalytics-js.ts +++ b/extensions/applicationinsights-clickanalytics-js/src/applicationinsights-clickanalytics-js.ts @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import '@microsoft/applicationinsights-shims'; import { ClickAnalyticsPlugin, BehaviorMapValidator, BehaviorValueValidator, BehaviorEnumValidator } from "./ClickAnalyticsPlugin"; export { ClickAnalyticsPlugin, BehaviorMapValidator, BehaviorValueValidator, BehaviorEnumValidator } diff --git a/extensions/applicationinsights-clickanalytics-js/tsconfig.json b/extensions/applicationinsights-clickanalytics-js/tsconfig.json index 536e0780a..1096ccfb5 100644 --- a/extensions/applicationinsights-clickanalytics-js/tsconfig.json +++ b/extensions/applicationinsights-clickanalytics-js/tsconfig.json @@ -9,8 +9,9 @@ "alwaysStrict": true, "suppressImplicitAnyIndexErrors": true, "allowSyntheticDefaultImports": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "declaration": true, "declarationDir": "extensions/applicationinsights-clickanalytics-js/types", diff --git a/extensions/applicationinsights-debugplugin-js/package.json b/extensions/applicationinsights-debugplugin-js/package.json index 77504bdd5..ba6f80d45 100644 --- a/extensions/applicationinsights-debugplugin-js/package.json +++ b/extensions/applicationinsights-debugplugin-js/package.json @@ -25,11 +25,13 @@ "@microsoft/applicationinsights-rollup-es3": "1.1.3", "@microsoft/api-extractor" : "^7.9.11", "typescript": "2.5.3", + "tslib": "^1.13.0", "grunt": "^1.3.0", "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", "globby": "^11.0.0", + "magic-string": "^0.25.7", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", @@ -42,7 +44,7 @@ "@microsoft/dynamicproto-js": "^1.1.1", "@microsoft/applicationinsights-common": "2.6.1", "@microsoft/applicationinsights-core-js": "2.6.1", - "@microsoft/applicationinsights-shims": "1.0.3" + "@microsoft/applicationinsights-shims": "2.0.0" }, "license": "MIT" } diff --git a/extensions/applicationinsights-debugplugin-js/src/applicationinsights-debugplugin-js.ts b/extensions/applicationinsights-debugplugin-js/src/applicationinsights-debugplugin-js.ts index 2770a700f..fbbe0628f 100644 --- a/extensions/applicationinsights-debugplugin-js/src/applicationinsights-debugplugin-js.ts +++ b/extensions/applicationinsights-debugplugin-js/src/applicationinsights-debugplugin-js.ts @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import '@microsoft/applicationinsights-shims'; import DebugPlugin from "./DebugPlugin"; export { DebugPlugin }; \ No newline at end of file diff --git a/extensions/applicationinsights-debugplugin-js/tsconfig.json b/extensions/applicationinsights-debugplugin-js/tsconfig.json index c999fe18c..cfac50a77 100644 --- a/extensions/applicationinsights-debugplugin-js/tsconfig.json +++ b/extensions/applicationinsights-debugplugin-js/tsconfig.json @@ -9,8 +9,9 @@ "alwaysStrict": true, "suppressImplicitAnyIndexErrors": true, "allowSyntheticDefaultImports": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "declaration": true, "declarationDir": "extensions/applicationinsights-debugplugin-js/types", diff --git a/extensions/applicationinsights-dependencies-js/package.json b/extensions/applicationinsights-dependencies-js/package.json index 98fa55fe3..a4e90df92 100644 --- a/extensions/applicationinsights-dependencies-js/package.json +++ b/extensions/applicationinsights-dependencies-js/package.json @@ -25,11 +25,13 @@ "@microsoft/applicationinsights-rollup-es3" : "1.1.3", "@microsoft/api-extractor" : "^7.9.11", "typescript": "2.5.3", + "tslib": "^1.13.0", "grunt": "^1.3.0", "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", "globby": "^11.0.0", + "magic-string": "^0.25.7", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", @@ -40,7 +42,7 @@ }, "dependencies": { "@microsoft/dynamicproto-js": "^1.1.1", - "@microsoft/applicationinsights-shims" : "1.0.3", + "@microsoft/applicationinsights-shims" : "2.0.0", "@microsoft/applicationinsights-core-js": "2.6.1", "@microsoft/applicationinsights-common": "2.6.1" }, diff --git a/extensions/applicationinsights-dependencies-js/src/applicationinsights-dependencies-js.ts b/extensions/applicationinsights-dependencies-js/src/applicationinsights-dependencies-js.ts index f0c32d514..16fc5a759 100644 --- a/extensions/applicationinsights-dependencies-js/src/applicationinsights-dependencies-js.ts +++ b/extensions/applicationinsights-dependencies-js/src/applicationinsights-dependencies-js.ts @@ -1,6 +1,5 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import '@microsoft/applicationinsights-shims'; export { AjaxMonitor as AjaxPlugin, IDependenciesPlugin, XMLHttpRequestInstrumented, IInstrumentationRequirements } from "./ajax"; export { ajaxRecord } from "./ajaxRecord"; diff --git a/extensions/applicationinsights-dependencies-js/tsconfig.json b/extensions/applicationinsights-dependencies-js/tsconfig.json index 12ff85f72..b9e552527 100644 --- a/extensions/applicationinsights-dependencies-js/tsconfig.json +++ b/extensions/applicationinsights-dependencies-js/tsconfig.json @@ -9,8 +9,9 @@ "alwaysStrict": true, "suppressImplicitAnyIndexErrors": true, "allowSyntheticDefaultImports": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "declaration": true, "declarationDir": "extensions/applicationinsights-dependencies-js/types", diff --git a/extensions/applicationinsights-properties-js/package.json b/extensions/applicationinsights-properties-js/package.json index 0da0d66b8..8516bd8f7 100644 --- a/extensions/applicationinsights-properties-js/package.json +++ b/extensions/applicationinsights-properties-js/package.json @@ -26,11 +26,13 @@ "@microsoft/applicationinsights-rollup-es3" : "1.1.3", "@microsoft/api-extractor" : "^7.9.11", "typescript": "2.5.3", + "tslib": "^1.13.0", "grunt": "^1.3.0", "grunt-contrib-qunit": "^3.1.0", "grunt-run": "^0.8.1", "grunt-ts": "^6.0.0-beta.22", "globby": "^11.0.0", + "magic-string": "^0.25.7", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", @@ -43,7 +45,7 @@ }, "dependencies": { "@microsoft/dynamicproto-js": "^1.1.1", - "@microsoft/applicationinsights-shims" : "1.0.3", + "@microsoft/applicationinsights-shims" : "2.0.0", "@microsoft/applicationinsights-core-js": "2.6.1", "@microsoft/applicationinsights-common": "2.6.1" }, diff --git a/extensions/applicationinsights-properties-js/src/applicationinsights-properties-js.ts b/extensions/applicationinsights-properties-js/src/applicationinsights-properties-js.ts index d97044820..24eabeaf3 100644 --- a/extensions/applicationinsights-properties-js/src/applicationinsights-properties-js.ts +++ b/extensions/applicationinsights-properties-js/src/applicationinsights-properties-js.ts @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import '@microsoft/applicationinsights-shims'; import PropertiesPlugin from "./PropertiesPlugin"; import { TelemetryTrace } from "./Context/TelemetryTrace"; import { TelemetryContext } from './TelemetryContext' diff --git a/extensions/applicationinsights-properties-js/tsconfig.json b/extensions/applicationinsights-properties-js/tsconfig.json index 32e280956..e072c940b 100644 --- a/extensions/applicationinsights-properties-js/tsconfig.json +++ b/extensions/applicationinsights-properties-js/tsconfig.json @@ -9,8 +9,9 @@ "alwaysStrict": true, "suppressImplicitAnyIndexErrors": true, "allowSyntheticDefaultImports": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "declaration": true, "declarationDir": "extensions/applicationinsights-properties-js/types", diff --git a/extensions/applicationinsights-react-js/package.json b/extensions/applicationinsights-react-js/package.json index dcb0bd5e1..4961000ce 100644 --- a/extensions/applicationinsights-react-js/package.json +++ b/extensions/applicationinsights-react-js/package.json @@ -46,7 +46,8 @@ "ts-jest": "^24.0.2", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", - "typescript": "^3.9.3" + "typescript": "^3.9.3", + "tslib": "^2.0.0" }, "dependencies": { "@microsoft/applicationinsights-shims": "^1.0.3", diff --git a/extensions/applicationinsights-react-native/package.json b/extensions/applicationinsights-react-native/package.json index 1523cbbcd..4ea4be12a 100644 --- a/extensions/applicationinsights-react-native/package.json +++ b/extensions/applicationinsights-react-native/package.json @@ -34,7 +34,8 @@ "rollup-plugin-cleanup": "3.2.1", "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", - "typescript": "^3.9.7" + "typescript": "^3.9.7", + "tslib": "^2.0.0" }, "dependencies": { "@microsoft/applicationinsights-common": "^2.6.0", diff --git a/gruntfile.js b/gruntfile.js index 932e2a423..9a94085db 100644 --- a/gruntfile.js +++ b/gruntfile.js @@ -446,30 +446,30 @@ module.exports = function (grunt) { grunt.registerTask("common", ["ts:common"]); grunt.registerTask("module", ["ts:module"]); grunt.registerTask("ai", ["ts:appinsights"]); - grunt.registerTask("aitests", ["ts:appinsights", "ts:appinsightstests", "qunit:aitests"]); + grunt.registerTask("aitests", ["ts:appinsightstests", "qunit:aitests"]); grunt.registerTask("aisku", ["ts:aisku"]); grunt.registerTask("aiskulite", ["ts:aiskulite"]); grunt.registerTask("snippetvnext", ["uglify:snippetvNext"]); - grunt.registerTask("aiskutests", ["ts:aisku", "ts:aiskutests", "qunit:aisku"]); + grunt.registerTask("aiskutests", ["ts:aiskutests", "qunit:aisku"]); grunt.registerTask("test", ["ts:default", "ts:test", "ts:testSchema", "ts:testE2E", "qunit:all"]); grunt.registerTask("test1ds", ["coretest", "common", "propertiestests", "depstest", "aitests", "aiskutests", "reactnativetests", "reacttests"]); - grunt.registerTask("coretest", ["ts:core", "ts:coretest", "qunit:core"]); + grunt.registerTask("coretest", ["ts:coretest", "qunit:core"]); grunt.registerTask("commontest", ["ts:common", "ts:commontest", "qunit:common"]); grunt.registerTask("properties", ["ts:properties"]); - grunt.registerTask("propertiestests", ["ts:properties", "ts:propertiestests", "qunit:properties"]); + grunt.registerTask("propertiestests", ["ts:propertiestests", "qunit:properties"]); grunt.registerTask("reactnative", ["ts:reactnative"]); grunt.registerTask("reactnativetests", ["qunit:reactnative"]); grunt.registerTask("deps", ["ts:deps"]); - grunt.registerTask("depstest", ["ts:deps", "ts:depstest", "qunit:deps"]); + grunt.registerTask("depstest", ["ts:depstest", "qunit:deps"]); grunt.registerTask("debugplugin", ["ts:debugplugin"]); grunt.registerTask("aichannel", ["ts:aichannel"]); - grunt.registerTask("aichanneltest", ["ts:aichannel", "ts:aichanneltest", "qunit:aichannel"]); + grunt.registerTask("aichanneltest", ["ts:aichanneltest", "qunit:aichannel"]); grunt.registerTask("rollupuglify", ["ts:rollupuglify"]); grunt.registerTask("rollupes3", ["ts:rollupes3", "ts:rollupes3test", "qunit:rollupes3"]); - grunt.registerTask("rollupes3test", ["ts:rollupes3", "ts:rollupes3test", "qunit:rollupes3"]); + grunt.registerTask("rollupes3test", ["ts:rollupes3test", "qunit:rollupes3"]); grunt.registerTask("shims", ["ts:shims", "ts:shimstest", "qunit:shims"]); - grunt.registerTask("shimstest", ["ts:shims", "ts:shimstest", "qunit:shims"]); + grunt.registerTask("shimstest", ["ts:shimstest", "qunit:shims"]); grunt.registerTask("clickanalytics", ["ts:clickanalytics"]); - grunt.registerTask("clickanalyticstests", ["ts:clickanalytics", "ts:clickanalyticstests", "qunit:clickanalytics"]); + grunt.registerTask("clickanalyticstests", ["ts:clickanalyticstests", "qunit:clickanalytics"]); grunt.registerTask("tst-framework", ["ts:tst-framework"]); }; diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 465b389fd..000000000 --- a/package-lock.json +++ /dev/null @@ -1,3501 +0,0 @@ -{ - "name": "@microsoft/applicationinsights-web", - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "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" - }, - "dependencies": { - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - } - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true - }, - "array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "dependencies": { - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "csproj2ts": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/csproj2ts/-/csproj2ts-1.1.0.tgz", - "integrity": "sha512-sk0RTT51t4lUNQ7UfZrqjQx7q4g0m3iwNA6mvyh7gLsgQYvwKzfdyoAgicC9GqJvkoIkU0UmndV9c7VZ8pJ45Q==", - "dev": true, - "requires": { - "es6-promise": "^4.1.1", - "lodash": "^4.17.4", - "semver": "^5.4.1", - "xml2js": "^0.4.19" - } - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "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", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", - "dev": true - }, - "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", - "dev": true - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "es-abstract": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz", - "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.0", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-inspect": "^1.6.0", - "object-keys": "^1.1.1", - "string.prototype.trimleft": "^2.1.0", - "string.prototype.trimright": "^2.1.0" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "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", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "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 - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "eventemitter2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", - "dev": true - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", - "dev": true, - "requires": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - }, - "dependencies": { - "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" - } - } - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "findup-sync": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", - "dev": true, - "requires": { - "glob": "~5.0.0" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - } - }, - "flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "optional": 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" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": 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" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "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-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getobject": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "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": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "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 - }, - "grunt": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz", - "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==", - "dev": true, - "requires": { - "dateformat": "~3.0.3", - "eventemitter2": "~0.4.13", - "exit": "~0.1.2", - "findup-sync": "~0.3.0", - "glob": "~7.1.6", - "grunt-cli": "~1.3.2", - "grunt-known-options": "~1.1.0", - "grunt-legacy-log": "~3.0.0", - "grunt-legacy-util": "~2.0.0", - "iconv-lite": "~0.4.13", - "js-yaml": "~3.14.0", - "minimatch": "~3.0.4", - "mkdirp": "~1.0.4", - "nopt": "~3.0.6", - "rimraf": "~3.0.2" - }, - "dependencies": { - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "grunt-cli": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", - "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==", - "dev": true, - "requires": { - "grunt-known-options": "~1.1.0", - "interpret": "~1.1.0", - "liftoff": "~2.5.0", - "nopt": "~4.0.1", - "v8flags": "~3.1.1" - }, - "dependencies": { - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - } - } - }, - "grunt-contrib-qunit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-3.1.0.tgz", - "integrity": "sha512-mdk8UltH6mxCD63E0hTXMAts42DOi4z4bBBrY7qnuHiShflMF7IueSMYe0zWaZ2dO8mgujh57Zfny2EbigJhRg==", - "dev": true, - "requires": { - "eventemitter2": "^5.0.1", - "p-each-series": "^1.0.0", - "puppeteer": "^1.11.0" - }, - "dependencies": { - "eventemitter2": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-5.0.1.tgz", - "integrity": "sha1-YZegldX7a1folC9v1+qtY6CclFI=", - "dev": true - } - } - }, - "grunt-contrib-uglify": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-3.4.0.tgz", - "integrity": "sha512-UXsTpeP0pytpTYlmll3RDndsRXfdwmrf1tI/AtD/PrArQAzGmKMvj83aVt3D8egWlE6KqPjsJBLCCvfC52LI/A==", - "dev": true, - "requires": { - "chalk": "^1.0.0", - "maxmin": "^2.1.0", - "uglify-js": "~3.4.0", - "uri-path": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "grunt-known-options": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz", - "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==", - "dev": true - }, - "grunt-legacy-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", - "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", - "dev": true, - "requires": { - "colors": "~1.1.2", - "grunt-legacy-log-utils": "~2.1.0", - "hooker": "~0.2.3", - "lodash": "~4.17.19" - }, - "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - } - } - }, - "grunt-legacy-log-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", - "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", - "dev": true, - "requires": { - "chalk": "~4.1.0", - "lodash": "~4.17.19" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "grunt-legacy-util": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz", - "integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==", - "dev": true, - "requires": { - "async": "~1.5.2", - "exit": "~0.1.1", - "getobject": "~0.1.0", - "hooker": "~0.2.3", - "lodash": "~4.17.20", - "underscore.string": "~3.3.5", - "which": "~1.3.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - } - } - }, - "grunt-run": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/grunt-run/-/grunt-run-0.8.1.tgz", - "integrity": "sha512-+wvoOJevugcjMLldbVCyspRHHntwVIJiTGjx0HFq+UwXhVPe7AaAiUdY4135CS68pAoRLhd7pAILpL2ITe1tmA==", - "dev": true, - "requires": { - "strip-ansi": "^3.0.0" - } - }, - "grunt-ts": { - "version": "6.0.0-beta.22", - "resolved": "https://registry.npmjs.org/grunt-ts/-/grunt-ts-6.0.0-beta.22.tgz", - "integrity": "sha512-g9e+ZImQ7W38dfpwhp0+GUltXWidy3YGPfIA/IyGL5HMv6wmVmMMoSgscI5swhs2HSPf8yAvXAAJbwrouijoRg==", - "dev": true, - "requires": { - "chokidar": "^2.0.4", - "csproj2ts": "^1.1.0", - "detect-indent": "^4.0.0", - "detect-newline": "^2.1.0", - "es6-promise": "~0.1.1", - "jsmin2": "^1.2.1", - "lodash": "~4.17.10", - "ncp": "0.5.1", - "rimraf": "2.2.6", - "semver": "^5.3.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "es6-promise": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-0.1.2.tgz", - "integrity": "sha1-8RLCn+paCZhTn8tqL9IUQ9KPBfc=", - "dev": true - }, - "rimraf": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", - "integrity": "sha1-xZWXVpsU2VatKcrMQr3d9fDqT0w=", - "dev": true - } - } - }, - "grunt-tslint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/grunt-tslint/-/grunt-tslint-5.0.2.tgz", - "integrity": "sha512-a9aq8HiDtnwIZAsyGCUpwnqEVFWeof2HQIhj6incOMB/IUO7NQ7aNkzVX8Y+j3HaqyCZU31wUSFyDluqIEBKXA==", - "dev": true - }, - "gzip-size": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", - "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", - "dev": true, - "requires": { - "duplexer": "^0.1.1" - } - }, - "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-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hooker": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", - "dev": true - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "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" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true - }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "requires": { - "is-unc-path": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "requires": { - "unc-path-regex": "^0.1.2" - } - }, - "is-undefined": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/is-undefined/-/is-undefined-1.0.11.tgz", - "integrity": "sha512-gRwyH8IRpV73MDlVefPllIjxBjrP9YAB0YCLtxnROhRkedTSzzBJgfxTC6HgP2/dttawQHWNZe88MvXS9Hbn/g==", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-win": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-win/-/is-win-1.0.10.tgz", - "integrity": "sha512-tJ9PPj5RW2RUaZ2lAIVRqQjMSynA44Ln89h+Ue+pOecoWIv6dLHvN6dtLxeCi/h5epPJPSVyuaNObLAMq62OEA==", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "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" - } - }, - "jsmin2": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jsmin2/-/jsmin2-1.2.1.tgz", - "integrity": "sha1-iPvi+/dfCpH2YCD9mBzWk/S/5X4=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "liftoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", - "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", - "dev": true, - "requires": { - "extend": "^3.0.0", - "findup-sync": "^2.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" - }, - "dependencies": { - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - } - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "maxmin": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", - "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=", - "dev": true, - "requires": { - "chalk": "^1.0.0", - "figures": "^1.0.1", - "gzip-size": "^3.0.0", - "pretty-bytes": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "ncp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.5.1.tgz", - "integrity": "sha1-dDmFMW49tFkoG1hxaehFc1oFQ58=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", - "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", - "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", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" - } - }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, - "parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", - "dev": true, - "requires": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true, - "requires": { - "path-root-regex": "^0.1.0" - } - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "powershell": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/powershell/-/powershell-2.3.2.tgz", - "integrity": "sha512-tXJ8/OS39+DtEtYu7cbKOSEjeGNeupEdxaH+YuGSPUQYngSO2HV9Bo4TQGp1JdOcjukLYbMOwh6pdzJsgcADBw==", - "dev": true, - "requires": { - "is-undefined": "^1.0.0", - "is-win": "^1.0.2", - "spawno": "^1.0.0" - } - }, - "pretty-bytes": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", - "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "proc-output": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/proc-output/-/proc-output-1.0.8.tgz", - "integrity": "sha512-d5v2wFTIrfE7eyt5KqB+CwsaBAmYqKIVNZv3R3Hya96gImHm2Aul+x6MZHRaKI7Ijpr9cg3RiOCY6s1O4SvzFQ==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "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 - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "puppeteer": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz", - "integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "extract-zip": "^1.6.6", - "https-proxy-agent": "^2.2.1", - "mime": "^2.0.3", - "progress": "^2.0.1", - "proxy-from-env": "^1.0.0", - "rimraf": "^2.6.1", - "ws": "^6.1.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "resolve": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "glob": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", - "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", - "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" - } - } - } - }, - "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 - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spawno": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spawno/-/spawno-1.0.4.tgz", - "integrity": "sha1-jfVlA/wxVpNYjnIhSU1clPFlu1c=", - "dev": true, - "requires": { - "proc-output": "^1.0.0" - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "string.prototype.trimleft": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", - "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimright": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", - "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "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" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true - }, - "tslint": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", - "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "glob": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", - "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", - "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" - } - } - } - }, - "tslint-config-prettier": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz", - "integrity": "sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==", - "dev": true - }, - "tslint-microsoft-contrib": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/tslint-microsoft-contrib/-/tslint-microsoft-contrib-5.2.1.tgz", - "integrity": "sha512-PDYjvpo0gN9IfMULwKk0KpVOPMhU6cNoT9VwCOLeDl/QS8v8W2yspRpFFuUS7/c5EIH/n8ApMi8TxJAz1tfFUA==", - "dev": true, - "requires": { - "tsutils": "^2.27.2 <2.29.0" - }, - "dependencies": { - "tsutils": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.28.0.tgz", - "integrity": "sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - } - } - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typescript": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.5.3.tgz", - "integrity": "sha512-ptLSQs2S4QuS6/OD1eAKG+S5G8QQtrU5RT32JULdZQtM1L3WTi34Wsu48Yndzi8xsObRAB9RPt/KhA9wlpEF6w==", - "dev": true - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true - }, - "underscore.string": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", - "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", - "dev": true, - "requires": { - "sprintf-js": "^1.0.3", - "util-deprecate": "^1.0.2" - } - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "uri-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", - "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=", - "dev": true - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "v8flags": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", - "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "whatwg-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", - "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xml2js": { - "version": "0.4.22", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.22.tgz", - "integrity": "sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==", - "dev": true, - "requires": { - "sax": ">=0.6.0", - "util.promisify": "~1.0.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - } - } -} diff --git a/package.json b/package.json index e40c9df82..60c2b0f20 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "tslint-microsoft-contrib": "^5.2.1", "tslint-config-prettier": "^1.18.0", "typescript": "2.5.3", - "whatwg-fetch": "^3.0.0" + "whatwg-fetch": "^3.0.0", + "typedoc": "^0.16.9" } } diff --git a/shared/AppInsightsCommon/package.json b/shared/AppInsightsCommon/package.json index fe7751c44..bebe92374 100644 --- a/shared/AppInsightsCommon/package.json +++ b/shared/AppInsightsCommon/package.json @@ -33,11 +33,14 @@ "rollup-plugin-cleanup": "3.2.1", "rollup": "^2.32.0", "typescript": "2.5.3", + "tslib": "^1.13.0", "tslint": "^5.19.0", - "tslint-config-prettier": "^1.18.0" + "tslint-config-prettier": "^1.18.0", + "globby": "^11.0.0", + "magic-string": "^0.25.7" }, "dependencies": { - "@microsoft/applicationinsights-shims" : "1.0.3", + "@microsoft/applicationinsights-shims" : "2.0.0", "@microsoft/applicationinsights-core-js": "2.6.1", "@microsoft/dynamicproto-js": "^1.1.1" }, diff --git a/shared/AppInsightsCommon/rollup.config.js b/shared/AppInsightsCommon/rollup.config.js index f66750860..1a6156fb3 100644 --- a/shared/AppInsightsCommon/rollup.config.js +++ b/shared/AppInsightsCommon/rollup.config.js @@ -4,6 +4,7 @@ import replace from "@rollup/plugin-replace"; import cleanup from "rollup-plugin-cleanup"; import { es3Poly, es3Check, importCheck } from "@microsoft/applicationinsights-rollup-es3"; import dynamicRemove from "@microsoft/dynamicproto-js/tools/rollup/node/removedynamic"; +import { updateDistEsmFiles } from "../../tools/updateDistEsm/updateDistEsm"; const version = require("./package.json").version; const outputName = "applicationinsights-common"; @@ -14,6 +15,11 @@ const banner = [ " */" ].join("\n"); +const replaceValues = { + "// Copyright (c) Microsoft Corporation. All rights reserved.": "", + "// Licensed under the MIT License.": "" +}; + function doCleanup() { return cleanup({ comments: [ @@ -41,10 +47,7 @@ const browserRollupConfigFactory = isProduction => { replace({ preventAssignment: true, delimiters: ["", ""], - values: { - "// Copyright (c) Microsoft Corporation. All rights reserved.": "", - "// Licensed under the MIT License.": "" - } + values: replaceValues }), importCheck({ exclude: [ "applicationinsights-common-js" ] }), nodeResolve({ @@ -95,10 +98,7 @@ const nodeUmdRollupConfigFactory = (isProduction) => { replace({ preventAssignment: true, delimiters: ["", ""], - values: { - "// Copyright (c) Microsoft Corporation. All rights reserved.": "", - "// Licensed under the MIT License.": "" - } + values: replaceValues }), importCheck({ exclude: [ "applicationinsights-common-js" ] }), nodeResolve(), @@ -129,6 +129,8 @@ const nodeUmdRollupConfigFactory = (isProduction) => { return nodeRollupConfig; }; +updateDistEsmFiles(replaceValues, banner); + export default [ nodeUmdRollupConfigFactory(true), nodeUmdRollupConfigFactory(false), diff --git a/shared/AppInsightsCommon/src/applicationinsights-common.ts b/shared/AppInsightsCommon/src/applicationinsights-common.ts index 3c3631805..94492ea82 100644 --- a/shared/AppInsightsCommon/src/applicationinsights-common.ts +++ b/shared/AppInsightsCommon/src/applicationinsights-common.ts @@ -1,7 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import '@microsoft/applicationinsights-shims'; export { IUtil, Util, ICorrelationIdHelper, CorrelationIdHelper, IDateTimeUtils, DateTimeUtils, dateTimeUtilsNow, dateTimeUtilsDuration, diff --git a/shared/AppInsightsCommon/tsconfig.json b/shared/AppInsightsCommon/tsconfig.json index ca0e81208..0d4631d70 100644 --- a/shared/AppInsightsCommon/tsconfig.json +++ b/shared/AppInsightsCommon/tsconfig.json @@ -9,8 +9,9 @@ "alwaysStrict": true, "suppressImplicitAnyIndexErrors": true, "allowSyntheticDefaultImports": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "declaration": true, "declarationDir": "shared/AppInsightsCommon/types", diff --git a/shared/AppInsightsCore/Tests/tsconfig.json b/shared/AppInsightsCore/Tests/tsconfig.json index 4d6c26710..a43b959cf 100644 --- a/shared/AppInsightsCore/Tests/tsconfig.json +++ b/shared/AppInsightsCore/Tests/tsconfig.json @@ -6,8 +6,9 @@ "module": "amd", "moduleResolution": "node", "target": "es6", - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "alwaysStrict": true, "declaration": true }, diff --git a/shared/AppInsightsCore/package.json b/shared/AppInsightsCore/package.json index 087f9ad98..793f113a1 100644 --- a/shared/AppInsightsCore/package.json +++ b/shared/AppInsightsCore/package.json @@ -40,6 +40,7 @@ "grunt-contrib-qunit": "^3.1.0", "grunt-ts": "^6.0.0-beta.22", "globby": "^11.0.0", + "magic-string": "^0.25.7", "@rollup/plugin-commonjs": "^15.1.0", "@rollup/plugin-node-resolve": "^9.0.0", "@rollup/plugin-replace": "^2.3.3", @@ -49,11 +50,12 @@ "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", "typescript": "2.5.3", + "tslib": "^1.13.0", "qunit": "^2.9.1", "sinon": "^7.3.1" }, "dependencies": { - "@microsoft/applicationinsights-shims" : "1.0.3", + "@microsoft/applicationinsights-shims" : "2.0.0", "@microsoft/dynamicproto-js": "^1.1.1" } } diff --git a/shared/AppInsightsCore/src/JavaScriptSDK/EnvUtils.ts b/shared/AppInsightsCore/src/JavaScriptSDK/EnvUtils.ts index 922e0817f..f97a4cb17 100644 --- a/shared/AppInsightsCore/src/JavaScriptSDK/EnvUtils.ts +++ b/shared/AppInsightsCore/src/JavaScriptSDK/EnvUtils.ts @@ -3,7 +3,7 @@ "use strict"; import { - getGlobal as shimsGetGlobal, strShimUndefined, strShimObject, strShimPrototype, strShimFunction + getGlobal, strShimUndefined, strShimObject, strShimPrototype, strShimFunction } from "@microsoft/applicationinsights-shims"; import { strContains } from "./HelperFuncs"; @@ -14,11 +14,6 @@ import { strContains } from "./HelperFuncs"; * functions/properties only need to include those that are used within their own modules. */ -export const strUndefined = strShimUndefined; -export const strObject = strShimObject; -export const strPrototype = strShimPrototype; -export const strFunction = strShimFunction; - const strWindow = "window"; const strDocument = "document"; const strNavigator = "navigator"; @@ -45,20 +40,6 @@ export function setEnableEnvMocks(enabled: boolean) { _enableMocks = enabled; } -/** - * Returns the current global scope object, for a normal web page this will be the current - * window, for a Web Worker this will be current worker global scope via "self". The internal - * implementation returns the first available instance object in the following order - * - globalThis (New standard) - * - self (Will return the current window instance for supported browsers) - * - window (fallback for older browser implementations) - * - global (NodeJS standard) - * - (When all else fails) - * While the return type is a Window for the normal case, not all environments will support all - * of the properties or functions. - */ -export const getGlobal:() => Window = shimsGetGlobal; - /** * Return the named global object if available, will return null if the object is not available. * @param name The globally named object @@ -86,7 +67,7 @@ export function getGlobalInst(name:string): T { * Defined as a function to support lazy / late binding environments. */ export function hasWindow(): boolean { - return Boolean(typeof window === strObject && window); + return Boolean(typeof window === strShimObject && window); } /** @@ -111,7 +92,7 @@ export function getWindow(): Window | null { * Defined as a function to support lazy / late binding environments. */ export function hasDocument(): boolean { - return Boolean(typeof document === strObject && document); + return Boolean(typeof document === strShimObject && document); } /** @@ -136,7 +117,7 @@ export function getDocument(): Document | null { * Defined as a function to support lazy / late binding environments. */ export function hasNavigator(): boolean { - return Boolean(typeof navigator === strObject && navigator); + return Boolean(typeof navigator === strShimObject && navigator); } /** @@ -160,7 +141,7 @@ export function getNavigator(): Navigator | null { * Defined as a function to support lazy / late binding environments. */ export function hasHistory(): boolean { - return Boolean(typeof history === strObject && history); + return Boolean(typeof history === strShimObject && history); } /** @@ -189,7 +170,7 @@ export function getLocation(checkForMock?: boolean): Location | null { } } - if (typeof location === strObject && location) { + if (typeof location === strShimObject && location) { return location; } @@ -200,7 +181,7 @@ export function getLocation(checkForMock?: boolean): Location | null { * Returns the global console object */ export function getConsole(): Console | null { - if (typeof console !== strUndefined) { + if (typeof console !== strShimUndefined) { return console; } @@ -224,7 +205,7 @@ export function getPerformance(): Performance | null { * Defined as a function to support lazy / late binding environments. */ export function hasJSON(): boolean { - return Boolean((typeof JSON === strObject && JSON) || getGlobalInst(strJSON) !== null); + return Boolean((typeof JSON === strShimObject && JSON) || getGlobalInst(strJSON) !== null); } /** diff --git a/shared/AppInsightsCore/src/JavaScriptSDK/HelperFuncs.ts b/shared/AppInsightsCore/src/JavaScriptSDK/HelperFuncs.ts index eaba3971c..1aeb5650d 100644 --- a/shared/AppInsightsCore/src/JavaScriptSDK/HelperFuncs.ts +++ b/shared/AppInsightsCore/src/JavaScriptSDK/HelperFuncs.ts @@ -1,6 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import { strShimUndefined, strShimObject, strShimPrototype, strShimFunction, objCreateFn } from "@microsoft/applicationinsights-shims"; +import { + strShimUndefined, strShimObject, strShimFunction, throwTypeError, + ObjClass, ObjProto, ObjAssign, ObjHasOwnProperty, ObjDefineProperty +} from "@microsoft/applicationinsights-shims"; // RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly @@ -10,13 +13,8 @@ const strAttachEvent = "attachEvent"; const strAddEventHelper = "addEventListener"; const strDetachEvent = "detachEvent"; const strRemoveEventListener = "removeEventListener"; -const strHasOwnProperty = "hasOwnProperty"; -const ObjClass = Object; -const ObjProto = ObjClass[strShimPrototype]; -const _objHasOwnProperty = ObjProto[strHasOwnProperty]; -const _objDefineProperty = ObjClass["defineProperty"]; -const _objAssign = ObjClass["assign"]; +const _objDefineProperty = ObjDefineProperty; const _objFreeze = ObjClass["freeze"]; const _objSeal = ObjClass["seal"]; @@ -45,7 +43,7 @@ export function isNotNullOrUndefined(value: any): boolean { } export function hasOwnProperty(obj: any, prop: string): boolean { - return obj && _objHasOwnProperty.call(obj, prop); + return obj && ObjHasOwnProperty.call(obj, prop); }; export function isObject(value: any): boolean { @@ -134,7 +132,7 @@ export function normalizeJsName(name: string): string { export function objForEachKey(target: any, callbackfn: (name: string, value: any) => void) { if (target) { for (let prop in target) { - if (_objHasOwnProperty.call(target, prop)) { + if (ObjHasOwnProperty.call(target, prop)) { callbackfn.call(target, prop, target[prop]); } } @@ -411,13 +409,13 @@ export function objKeys(obj: {}): string[] { var objType = typeof obj; if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) { - throw new TypeError('objKeys called on non-object'); + throwTypeError('objKeys called on non-object'); } let result: string[] = []; for (let prop in obj) { - if (obj && _objHasOwnProperty.call(obj, prop)) { + if (obj && ObjHasOwnProperty.call(obj, prop)) { result.push(prop); } } @@ -426,7 +424,7 @@ export function objKeys(obj: {}): string[] { let dontEnumsLength = _objKeysDontEnums.length; for (let lp = 0; lp < dontEnumsLength; lp++) { - if (obj && _objHasOwnProperty.call(obj, _objKeysDontEnums[lp])) { + if (obj && ObjHasOwnProperty.call(obj, _objKeysDontEnums[lp])) { result.push(_objKeysDontEnums[lp]); } } @@ -654,7 +652,7 @@ export function optimizeObject(theObject: T): T { // V8 Optimization to cause the JIT compiler to create a new optimized object for looking up the own properties // primarily for object with <= 19 properties for >= 20 the effect is reduced or non-existent if (theObject) { - theObject = ObjClass(_objAssign ? _objAssign({}, theObject) : theObject); + theObject = ObjClass(ObjAssign ? ObjAssign({}, theObject) : theObject); } return theObject; diff --git a/shared/AppInsightsCore/src/JavaScriptSDK/InstrumentHooks.ts b/shared/AppInsightsCore/src/JavaScriptSDK/InstrumentHooks.ts index 7e7872f0b..bd7e37473 100644 --- a/shared/AppInsightsCore/src/JavaScriptSDK/InstrumentHooks.ts +++ b/shared/AppInsightsCore/src/JavaScriptSDK/InstrumentHooks.ts @@ -4,9 +4,7 @@ import { IInstrumentHooksCallbacks, IInstrumentHooks, IInstrumentHook, IInstrumentCallDetails, InstrumentorHooksCallback } from "../JavaScriptSDK.Interfaces/IInstrumentHooks"; -import { - strFunction, strPrototype -} from "./EnvUtils" +import { strShimFunction, strShimPrototype } from "@microsoft/applicationinsights-shims"; import { hasOwnProperty } from "./HelperFuncs"; const aiInstrumentHooks = "_aiHooks"; @@ -159,7 +157,7 @@ function _getObjProto(target:any) { } // target[Constructor] May break if the constructor has been changed or removed - let newProto = target[str__Proto] || target[strPrototype] || target[strConstructor]; + let newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor]; if(newProto) { return newProto; } @@ -190,7 +188,7 @@ function _getOwner(target:any, name:string, checkPrototype:boolean): any { */ export function InstrumentProto(target:any, funcName:string, callbacks: IInstrumentHooksCallbacks): IInstrumentHook { if (target) { - return InstrumentFunc(target[strPrototype], funcName, callbacks, false); + return InstrumentFunc(target[strShimPrototype], funcName, callbacks, false); } return null; @@ -204,7 +202,7 @@ export function InstrumentProto(target:any, funcName:string, callbacks: IInstrum */ export function InstrumentProtos(target:any, funcNames:string[], callbacks: IInstrumentHooksCallbacks): IInstrumentHook[] { if (target) { - return InstrumentFuncs(target[strPrototype], funcNames, callbacks, false); + return InstrumentFuncs(target[strShimPrototype], funcNames, callbacks, false); } return null; @@ -222,7 +220,7 @@ export function InstrumentFunc(target:any, funcName:string, callbacks: IInstrume let owner = _getOwner(target, funcName, checkPrototype); if (owner) { let fn = owner[funcName] - if (typeof fn === strFunction) { + if (typeof fn === strShimFunction) { let aiHook:IInstrumentHooks = fn[aiInstrumentHooks]; if (!aiHook) { // Only hook the function once diff --git a/shared/AppInsightsCore/src/applicationinsights-core-js.ts b/shared/AppInsightsCore/src/applicationinsights-core-js.ts index dd7a487bd..35d7d4115 100644 --- a/shared/AppInsightsCore/src/applicationinsights-core-js.ts +++ b/shared/AppInsightsCore/src/applicationinsights-core-js.ts @@ -1,6 +1,5 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import '@microsoft/applicationinsights-shims'; export { IConfiguration } from "./JavaScriptSDK.Interfaces/IConfiguration"; export { IChannelControls, MinChannelPriorty } from "./JavaScriptSDK.Interfaces/IChannelControls"; export { ITelemetryPlugin, IPlugin } from "./JavaScriptSDK.Interfaces/ITelemetryPlugin"; @@ -29,13 +28,18 @@ export { objFreeze, objSeal } from './JavaScriptSDK/HelperFuncs'; export { - getGlobal, getGlobalInst, hasWindow, getWindow, hasDocument, getDocument, getCrypto, getMsCrypto, + getGlobalInst, hasWindow, getWindow, hasDocument, getDocument, getCrypto, getMsCrypto, hasNavigator, getNavigator, hasHistory, getHistory, getLocation, getPerformance, hasJSON, getJSON, - isReactNative, getConsole, dumpObj, isIE, getIEVersion, strUndefined, strObject, strPrototype, strFunction, + isReactNative, getConsole, dumpObj, isIE, getIEVersion, setEnableEnvMocks } from "./JavaScriptSDK/EnvUtils"; export { - objCreateFn as objCreate + getGlobal, + objCreateFn as objCreate, + strShimPrototype as strPrototype, + strShimFunction as strFunction, + strShimUndefined as strUndefined, + strShimObject as strObject } from '@microsoft/applicationinsights-shims'; export { NotificationManager } from "./JavaScriptSDK/NotificationManager"; export { INotificationManager } from "./JavaScriptSDK.Interfaces/INotificationManager"; diff --git a/shared/AppInsightsCore/tsconfig.json b/shared/AppInsightsCore/tsconfig.json index 089ba70cb..3b3c39308 100644 --- a/shared/AppInsightsCore/tsconfig.json +++ b/shared/AppInsightsCore/tsconfig.json @@ -7,8 +7,9 @@ "moduleResolution": "node", "target": "es3", "forceConsistentCasingInFileNames": true, - "importHelpers": false, + "importHelpers": true, "noEmitHelpers": true, + "skipLibCheck": true, "alwaysStrict": true, "declaration": true, "declarationDir": "shared/AppInsightsCore/types", diff --git a/tools/rollup-es3/package.json b/tools/rollup-es3/package.json index 82381c3aa..e1bdb508d 100644 --- a/tools/rollup-es3/package.json +++ b/tools/rollup-es3/package.json @@ -45,7 +45,8 @@ "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", "typescript": "2.5.3", - "magic-string": "^0.25.5" + "tslib": "^1.13.0", + "magic-string": "^0.25.7" }, "dependencies": { } diff --git a/tools/rollup-plugin-uglify3-js/package.json b/tools/rollup-plugin-uglify3-js/package.json index 91cfd7ab1..cfaef1bad 100644 --- a/tools/rollup-plugin-uglify3-js/package.json +++ b/tools/rollup-plugin-uglify3-js/package.json @@ -36,7 +36,8 @@ "tslint": "^5.19.0", "tslint-config-prettier": "^1.18.0", "tslint-microsoft-contrib": "^5.2.1", - "typescript": "2.5.3" + "typescript": "2.5.3", + "tslib": "^1.13.0" }, "dependencies": { "uglify-js": "^3.11.0" diff --git a/tools/rollup-plugin-uglify3-js/tsconfig.json b/tools/rollup-plugin-uglify3-js/tsconfig.json index af699dc45..2a162c8d8 100644 --- a/tools/rollup-plugin-uglify3-js/tsconfig.json +++ b/tools/rollup-plugin-uglify3-js/tsconfig.json @@ -7,14 +7,14 @@ "moduleResolution": "node", "target": "es5", "forceConsistentCasingInFileNames": true, - "importHelpers": true, + "importHelpers": false, + "noEmitHelpers": false, "alwaysStrict": true, "declaration": true, "outDir": "./out", "rootDir": "tools/rollup-plugin-uglify3-js", "suppressImplicitAnyIndexErrors": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true + "allowSyntheticDefaultImports": true }, "files": [ ] diff --git a/tools/shims/README.md b/tools/shims/README.md index 978e71fa2..ca4994fcd 100644 --- a/tools/shims/README.md +++ b/tools/shims/README.md @@ -9,9 +9,21 @@ This project exists to break the dependency on the version of tslib that is used mostly due to several breaking changes that have reduced our ability to publish fixes. While the Application Insights JS SDK will use the stubs defined in this packaging for the browser instances (those that are -uploaded to the CDN) they are built using the polyfill pattern, so if a global implementation of __extend() and __assign() already exist +uploaded to the CDN) they are built using the polyfill pattern, so if a global implementation of __extends() and __assign() already exist those versions will be used. +## Global _extends() and __assign() changes - v2.0.0 or greater + +From v2.0.0 or greater the globally defined ```__extends()``` and ```__assign()``` methods are no longer exposed as global by default. + +If you need to expose the TsLib helpers globally (which occurred by default for v1.x.x) you now will need to import and call the ```__exposeGlobalTsLib()``` function. + +```javascript +import { __exposeGlobalTsLib } from "@microsoft/applicationinsights-shims"; + +__exposeGlobalTsLib(); +``` + ## Build: ``` npm install -g grunt-cli diff --git a/tools/shims/Tests/Selenium/ShimsTests.ts b/tools/shims/Tests/Selenium/ShimsTests.ts index cd2dd38de..6c352c31a 100644 --- a/tools/shims/Tests/Selenium/ShimsTests.ts +++ b/tools/shims/Tests/Selenium/ShimsTests.ts @@ -1,11 +1,19 @@ /// import { - objCreateFn, getGlobal, __extendsFn, __assignFn, + objCreateFn, getGlobal, strShimFunction, strShimHasOwnProperty, strShimObject, strShimPrototype, strShimUndefined } from "../../src/applicationinsights-shims"; -//import * as sinon from 'sinon'; +import { + __extendsFn, __assignFn, __objAssignFnImpl +} from "../../src/TsLibShims"; + +import { + __exposeGlobalTsLib +} from "../../src/TsLibGlobals"; + +__exposeGlobalTsLib(); export class ShimsTests extends TestClass { @@ -13,29 +21,91 @@ export class ShimsTests extends TestClass { public testInitialize() { this._global = getGlobal(); + try { + delete this._global.__assign; + delete this._global.__extends; + } catch (e) { + // Can't do anything if the cleanup fails + } } public registerTests() { this.testCase({ - name: "__extends should exist", + name: "__extends should exist as a global", test: () => { + __exposeGlobalTsLib(); + QUnit.assert.ok(this._global.__extends !== undefined, "__extends should exist"); - QUnit.assert.ok(this._global.__extends === __extendsFn, "Check that it came from "); + QUnit.assert.ok(this._global.__extends === __extendsFn, "Check that it came from the shims module"); } }); this.testCase({ - name: "__assign should exist and be assigned to Object.assign or embedded __assignFn", + name: "__assign should exist as a global and be assigned to Object.assign or embedded __assignFn", test: () => { - QUnit.assert.ok(this._global.__assign !== undefined, "__extends should exist"); + __exposeGlobalTsLib(); + + QUnit.assert.ok(this._global.__assign !== undefined, "__assign should exist"); if ((Object as any).assign) { QUnit.assert.ok(this._global.__assign === (Object as any).assign, "Check that it came from "); } else { - QUnit.assert.ok(this._global.__assign === __assignFn, "Check that it came from "); + QUnit.assert.ok(this._global.__assign === __objAssignFnImpl, "Check that it came from "); + } + } + }); + + this.testCase({ + name: "__assignFn should be assigned to Object.assign or embedded __assignFn", + test: () => { + QUnit.assert.ok(__assignFn !== undefined, "__extends should exist"); + if ((Object as any).assign) { + QUnit.assert.ok(__assignFn === (Object as any).assign, "Check that it came from "); + } else { + QUnit.assert.ok(this._global.__assign === __objAssignFnImpl, "Check that it came from "); } } }); + this.testCase({ + name: "__objAssignImplFn should be assigned values to target", + test: () => { + let t = __objAssignFnImpl({}, {a:1}, {b:2}); + QUnit.equal(t.a, 1, "Checking expected value"); + QUnit.equal(t.b, 2, "Checking expected value"); + + // check overwrite + t = __objAssignFnImpl({a:0}, {a:1}, {b:2}); + QUnit.equal(t.a, 1, "Checking expected value"); + QUnit.equal(t.b, 2, "Checking expected value"); + + // check target + t = __objAssignFnImpl({x:0}, {a:1}, {b:2}); + QUnit.equal(t.x, 0, "Checking expected value"); + QUnit.equal(t.a, 1, "Checking expected value"); + QUnit.equal(t.b, 2, "Checking expected value"); + } + }); + + this.testCase({ + name: "__assignFn should be assigned values to target", + test: () => { + let t = __assignFn({}, {a:1}, {b:2}); + QUnit.equal(t.a, 1, "Checking expected value"); + QUnit.equal(t.b, 2, "Checking expected value"); + + // check overwrite + t = __assignFn({a:0}, {a:1}, {b:2}); + QUnit.equal(t.a, 1, "Checking expected value"); + QUnit.equal(t.b, 2, "Checking expected value"); + + // check target + t = __assignFn({x:0}, {a:1}, {b:2}); + QUnit.equal(t.x, 0, "Checking expected value"); + QUnit.equal(t.a, 1, "Checking expected value"); + QUnit.equal(t.b, 2, "Checking expected value"); + } + }); + this.testCase({ name: "objCreateFn should exist", test: () => { diff --git a/tools/shims/package.json b/tools/shims/package.json index 5d0ba4162..995d1db04 100644 --- a/tools/shims/package.json +++ b/tools/shims/package.json @@ -1,7 +1,7 @@ { "name": "@microsoft/applicationinsights-shims", "author": "Microsoft Application Insights Team", - "version": "1.0.3", + "version": "2.0.0", "description": "Microsoft Application Insights JavaScript SDK - Shim functions", "homepage": "https://github.com/microsoft/ApplicationInsights-JS/tree/master/tools/shims", "keywords": [ @@ -29,8 +29,8 @@ }, "license": "MIT", "sideEffects": [ - "**/*.js", - "**/*.ts" + "**/TsLibGlobals.js", + "**/TsLibGlobals.ts" ], "devDependencies": { "@microsoft/applicationinsights-rollup-plugin-uglify3-js": "1.0.0", diff --git a/tools/shims/src/Constants.ts b/tools/shims/src/Constants.ts new file mode 100644 index 000000000..eb1f22bde --- /dev/null +++ b/tools/shims/src/Constants.ts @@ -0,0 +1,16 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +export const strShimFunction = "function"; +export const strShimObject = "object"; +export const strShimUndefined = "undefined"; +export const strShimPrototype = "prototype"; +export const strShimHasOwnProperty = "hasOwnProperty"; +export const strDefault = "default"; + +export const ObjClass = Object; +export const ObjProto = ObjClass[strShimPrototype]; +export const ObjAssign = ObjClass["assign"]; +export const ObjCreate = ObjClass["create"]; +export const ObjDefineProperty = ObjClass["defineProperty"]; +export const ObjHasOwnProperty = ObjProto[strShimHasOwnProperty]; diff --git a/tools/shims/src/Helpers.ts b/tools/shims/src/Helpers.ts new file mode 100644 index 000000000..ad98849b8 --- /dev/null +++ b/tools/shims/src/Helpers.ts @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import { ObjCreate, strShimFunction, strShimObject, strShimPrototype, strShimUndefined } from "./Constants"; + +declare var globalThis: Window; +declare var global: Window; + +/** + * Returns the current global scope object, for a normal web page this will be the current + * window, for a Web Worker this will be current worker global scope via "self". The internal + * implementation returns the first available instance object in the following order + * - globalThis (New standard) + * - self (Will return the current window instance for supported browsers) + * - window (fallback for older browser implementations) + * - global (NodeJS standard) + * - (When all else fails) + * While the return type is a Window for the normal case, not all environments will support all + * of the properties or functions. + */ + export function getGlobal(): Window { + if (typeof globalThis !== strShimUndefined && globalThis) { + return globalThis; + } + + if (typeof self !== strShimUndefined && self) { + return self; + } + + if (typeof window !== strShimUndefined && window) { + return window; + } + + if (typeof global !== strShimUndefined && global) { + return global; + } + + return null; +} + +export function throwTypeError(message: string): never { + throw new TypeError(message); +} + +/** + * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil + * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation. + * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations + * @param obj Object to use as a prototype. May be null + */ +export function objCreateFn(obj: any): any { + var func = ObjCreate; + // Use build in Object.create + if (func) { + // Use Object create method if it exists + return func(obj); + } + if (obj == null) { + return {}; + } + var type = typeof obj; + if (type !== strShimObject && type !== strShimFunction) { + throwTypeError('Object prototype may only be an Object:' + obj); + } + + function tmpFunc() {} + tmpFunc[strShimPrototype] = obj; + + return new (tmpFunc as any)(); +} + diff --git a/tools/shims/src/TsLibGlobals.ts b/tools/shims/src/TsLibGlobals.ts new file mode 100644 index 000000000..35496490a --- /dev/null +++ b/tools/shims/src/TsLibGlobals.ts @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import { ObjAssign, strShimUndefined } from "./Constants"; +import { getGlobal } from "./Helpers"; +import { __assignFn, __createBindingFn, __extendsFn } from "./TsLibShims"; + +// To address compile time errors declaring these here +declare var __extends:(d: any, b: any) => any; +declare var __assign:(t: any) => any; +declare var __createBinding:(o: any, m: any, k: any, k2?: any) => void; + +export function __exposeGlobalTsLib() { + let globalObj:any = getGlobal() || {}; + + // tslint:disable: only-arrow-functions + (function (root: any, assignFn, extendsFn, createBindingFn) { + // Assign the globally scoped versions of the functions -- used when consuming individual ts files + // If check is to support NativeScript where these are marked as readonly + if (!root.__assign) { + root.__assign = ObjAssign || assignFn; + } + if (!root.__extends) { + root.__extends = extendsFn; + } + if (!root.__createBinding) { + root.__createBinding = createBindingFn; + } + })(globalObj, __assignFn, __extendsFn, __createBindingFn); + + // Assign local variables that will be used for embedded scenarios, if check is to support NativeScript where these are marked as readonly + if (!__assign) { __assign = globalObj.__assign; } + if (!__extends) { __extends = globalObj.__extends; } + if (!__createBinding) { __createBinding = globalObj.__createBinding; } +} diff --git a/tools/shims/src/TsLibShims.ts b/tools/shims/src/TsLibShims.ts new file mode 100644 index 000000000..e8dcea770 --- /dev/null +++ b/tools/shims/src/TsLibShims.ts @@ -0,0 +1,253 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import { + ObjAssign, ObjClass, ObjCreate, ObjDefineProperty, ObjHasOwnProperty, ObjProto, + strDefault, strShimFunction, strShimHasOwnProperty, strShimPrototype +} from "./Constants"; +import { getGlobal, objCreateFn, throwTypeError } from "./Helpers"; + +// Most of these functions have been directly shamelessly "lifted" from the https://github.com/@microsoft/tslib and +// modified to be ES3 compatible and applying several minification and tree-shaking techniques so that Application Insights +// can successfully use TypeScript "importHelpers" which imports tslib during compilation but it will use these at runtime +// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require +// them. + +export const SymbolObj = (getGlobal()||{})["Symbol"]; +export const ReflectObj = (getGlobal()||{})["Reflect"]; +export const __hasSymbol = !!SymbolObj; +export const __hasReflect = !!ReflectObj; + +const strDecorate = "decorate"; +const strMetadata = "metadata"; +const strGetOwnPropertySymbols = "getOwnPropertySymbols"; +const strIterator = "iterator"; + +export declare type ObjAssignFunc = (t: any, ...sources:any[]) => any; + +export var __objAssignFnImpl: ObjAssignFunc = function(t: any): any { + // tslint:disable-next-line: ban-comma-operator + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) { + if (ObjProto[strShimHasOwnProperty].call(s, p)) { + (t as any)[p] = s[p]; + } + } + } + return t; +} + +export var __assignFn: ObjAssignFunc = ObjAssign || __objAssignFnImpl; + +// tslint:disable-next-line: only-arrow-functions +var extendStaticsFn = function(d: any, b: any): any { + extendStaticsFn = ObjClass["setPrototypeOf"] || + // tslint:disable-next-line: only-arrow-functions + ({ __proto__: [] } instanceof Array && function (d: any, b: any) { d.__proto__ = b; }) || + // tslint:disable-next-line: only-arrow-functions + function (d: any, b: any) { + for (var p in b) { + if (b[strShimHasOwnProperty](p)) { + d[p] = b[p]; + } + } + }; + return extendStaticsFn(d, b); +}; + +export function __extendsFn(d: any, b: any) { + if (typeof b !== strShimFunction && b !== null) { + throwTypeError("Class extends value " + String(b) + " is not a constructor or null"); + } + extendStaticsFn(d, b); + function __() { this.constructor = d; } + // tslint:disable-next-line: ban-comma-operator + d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new (__ as any)()); +} + +export function __restFn(s: any, e: any) { + var t = {}; + for (var k in s) { + if (ObjHasOwnProperty.call(s, k) && e.indexOf(k) < 0) { + t[k] = s[k]; + } + } + if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) { + for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && ObjProto["propertyIsEnumerable"].call(s, p[i])) { + t[p[i]] = s[p[i]]; + } + } + } + return t; +} + +export function __decorateFn(decorators: any, target: any, key: any, desc: any) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass["getOwnPropertyDescriptor"](target, key) : desc, d; + if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) { + r = ReflectObj[strDecorate](decorators, target, key, desc); + } else { + for (var i = decorators.length - 1; i >= 0; i--) { + // tslint:disable-next-line:no-conditional-assignment + if (d = decorators[i]) { + r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + } + } + } + + // tslint:disable-next-line:ban-comma-operator + return c > 3 && r && ObjDefineProperty(target, key, r), r; +} + +export function __paramFn(paramIndex: number, decorator: Function) { + return function (target: any, key: any) { + decorator(target, key, paramIndex); + } +} + +export function __metadataFn(metadataKey: any, metadataValue: any) { + if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) { + return ReflectObj[strMetadata](metadataKey, metadataValue); + } +} + +export function __exportStarFn(m: any, o: any) { + for (var p in m) { + if (p !== strDefault && !ObjHasOwnProperty.call(o, p)) { + __createBindingFn(o, m, p); + } + } +} + +export function __createBindingFn(o: any, m: any, k: any, k2?: any) { + if (k2 === undefined) { + k2 = k; + } + + if (ObjCreate) { + ObjDefineProperty(o, k2, { + enumerable: true, + get() { + return m[k]; + } + }); + } else { + o[k2] = m[k]; + } +} + +export function __valuesFn(o: any) { + var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0; + if (m) { + return m.call(o); + } + + if (o && typeof o.length === "number") { + return { + next () { + if (o && i >= o.length) { + o = void 0; + } + return { value: o && o[i++], done: !o }; + } + }; + } + + throwTypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} + +export function __readFn(o: any, n: any) { + var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]]; + if (!m) { + return o; + } + + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) { + ar.push(r.value); + } + } catch (error) { + e = { + error + }; + } finally { + try { + // tslint:disable-next-line:no-conditional-assignment + if (r && !r.done && (m = i["return"])) { + m.call(i); + } + } finally { + if (e) { + // tslint:disable-next-line:no-unsafe-finally + throw e.error; + } + } + } + return ar; +} + +/** @deprecated */ +export function __spreadArraysFn() { + var theArgs = arguments; + // Calculate new total size + for (var s = 0, i = 0, il = theArgs.length; i < il; i++) { + s += theArgs[i].length; + } + + // Create new full array + for (var r = Array(s), k = 0, i = 0; i < il; i++) { + for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) { + r[k] = a[j]; + } + } + + return r; +} + +export function __spreadArrayFn(to: any, from: any) { + for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) { + to[j] = from[i]; + } + + return to; +} + +export function __makeTemplateObjectFn(cooked: any, raw: any) { + if (ObjDefineProperty) { + ObjDefineProperty(cooked, "raw", { value: raw }); + } else { + cooked.raw = raw; + } + + return cooked; +}; + +export function __importStarFn(mod: any) { + if (mod && mod.__esModule) { + return mod; + } + + var result = {}; + if (mod != null) { + for (var k in mod) { + if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) { + __createBindingFn(result, mod, k); + } + } + } + + // Set default module + if (ObjCreate) { + ObjDefineProperty( result, strDefault, { enumerable: true, value: mod }); + } else { + result[strDefault] = mod; + } + + return result; +}; + +export function __importDefaultFn(mod:any) { + return (mod && mod.__esModule) ? mod : { strDefault: mod }; +} diff --git a/tools/shims/src/applicationinsights-shims.ts b/tools/shims/src/applicationinsights-shims.ts index 1f6be66c3..a801618fb 100644 --- a/tools/shims/src/applicationinsights-shims.ts +++ b/tools/shims/src/applicationinsights-shims.ts @@ -1,126 +1,45 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -export const strShimFunction = "function"; -export const strShimObject = "object"; -export const strShimUndefined = "undefined"; -export const strShimPrototype = "prototype"; -export const strShimHasOwnProperty = "hasOwnProperty"; - -// To address compile time errors declaring these here -declare var globalThis: Window; -declare var global: Window; -declare var __extends:(d: any, b: any) => any; -declare var __assign:(t: any) => any; - -/** - * Returns the current global scope object, for a normal web page this will be the current - * window, for a Web Worker this will be current worker global scope via "self". The internal - * implementation returns the first available instance object in the following order - * - globalThis (New standard) - * - self (Will return the current window instance for supported browsers) - * - window (fallback for older browser implementations) - * - global (NodeJS standard) - * - (When all else fails) - * While the return type is a Window for the normal case, not all environments will support all - * of the properties or functions. - */ -export function getGlobal(): Window { - if (typeof globalThis !== strShimUndefined && globalThis) { - return globalThis; - } - - if (typeof self !== strShimUndefined && self) { - return self; - } - - if (typeof window !== strShimUndefined && window) { - return window; - } - - if (typeof global !== strShimUndefined && global) { - return global; - } - - return null; -} - -/** - * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil - * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation. - * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations - * @param obj Object to use as a prototype. May be null - */ -export function objCreateFn(obj: any): any { - var func = Object["create"]; - // Use build in Object.create - if (func) { - // Use Object create method if it exists - return func(obj); - } - if (obj == null) { - return {}; - } - var type = typeof obj; - if (type !== strShimObject && type !== strShimFunction) { - throw new TypeError('Object prototype may only be an Object:' + obj); - } - - function tmpFunc() {} - tmpFunc[strShimPrototype] = obj; - - return new (tmpFunc as any)(); -} - -export function __assignFn(t: any) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) { - if (Object[strShimPrototype][strShimHasOwnProperty].call(s, p)) { - t[p] = s[p]; - } - } - } - return t; -} - -// tslint:disable-next-line: only-arrow-functions -var __extendStaticsFn = function(d: any, b: any): any { - __extendStaticsFn = Object["setPrototypeOf"] || - // tslint:disable-next-line: only-arrow-functions - ({ __proto__: [] } instanceof Array && function (d: any, b: any) { d.__proto__ = b; }) || - // tslint:disable-next-line: only-arrow-functions - function (d: any, b: any) { - for (var p in b) { - if (b[strShimHasOwnProperty](p)) { - d[p] = b[p]; - } - } - }; - return __extendStaticsFn(d, b); -}; - -export function __extendsFn(d: any, b: any) { - __extendStaticsFn(d, b); - function __() { this.constructor = d; } - // tslint:disable-next-line: ban-comma-operator - d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new (__ as any)()); -} - -let globalObj:any = getGlobal() || {}; - -// tslint:disable: only-arrow-functions -(function (root: any, assignFn, extendsFn) { - // Assign the globally scoped versions of the functions -- used when consuming individual ts files - // If check is to support NativeScript where these are marked as readonly - if (!root.__assign) { - root.__assign = (Object as any).assign || assignFn; - } - if (!root.__extends) { - root.__extends = extendsFn; - } -})(globalObj, __assignFn, __extendsFn); - -// Assign local variables that will be used for embedded scenarios, if check is to support NativeScript where these are marked as readonly -if (!__assign) { __assign = globalObj.__assign; } -if (!__extends) { __extends = globalObj.__extends; } +export { + strShimFunction, + strShimObject, + strShimUndefined, + strShimPrototype, + strShimHasOwnProperty, + strDefault, + ObjClass, + ObjProto, + ObjAssign, + ObjCreate, + ObjDefineProperty, + ObjHasOwnProperty +} from "./Constants" + +export { + throwTypeError, + objCreateFn, + getGlobal +} from "./Helpers" + +export { + __assignFn, + __extendsFn, + __restFn, + __spreadArrayFn, + __spreadArraysFn, + __decorateFn, + __paramFn, + __metadataFn, + __createBindingFn, + __valuesFn, + __readFn, + __makeTemplateObjectFn, + __importDefaultFn, + __importStarFn, + __exportStarFn, +} from "./TsLibShims" + +export { + __exposeGlobalTsLib +} from "./TsLibGlobals" diff --git a/tools/updateDistEsm/updateDistEsm.js b/tools/updateDistEsm/updateDistEsm.js index eb7cea425..e3cefbbd4 100644 --- a/tools/updateDistEsm/updateDistEsm.js +++ b/tools/updateDistEsm/updateDistEsm.js @@ -4,6 +4,25 @@ import MagicString from 'magic-string'; const fs = require("fs"); const globby = require("globby"); +// Remap tslib functions to shim v2.0.0 functions +const remapTsLibFuncs = { + "__extends": "__extendsFn", + "__assign": "__assignFn", + "__rest": "__restFn", + "__spreadArray": "__spreadArrayFn", + "__spreadArrays": "__spreadArraysFn", + "__decorate": "__decorateFn", + "__param": "__paramFn", + "__metadata": "__metadataFn", + "__values": "__valuesFn", + "__read":"__readFn", + "__createBinding": "__createBindingFn", + "__importDefault": "__importDefaultFn", + "__importStar": "__importStarFn", + "__exportStar": "__exportStarFn", + "__makeTemplateObject": "__makeTemplateObjectFn" +}; + // You can use the following site to validate the resulting map file is valid // http://sokra.github.io/source-map-visualization/#custom @@ -40,8 +59,147 @@ const getLines = (theValue) => { return lines; }; - const updateDistEsmFiles = (replaceValues, banner) => { + function replaceTsLibImports(orgSrc, src, theString) { + // replace tslib import usage with "import { xxx, xxx } from "tslib"; + const detectTsLibUsage = /import[\s]*\{([^}]*)\}[\s]*from[\s]*\"tslib\";/g; + let matches = detectTsLibUsage.exec(orgSrc); + while (matches != null) { + let newImports = []; + let imports = matches[1]; + let tokens = imports.trim().split(","); + tokens.forEach(token => { + let theToken = token.trim(); + let remapKey = remapTsLibFuncs[theToken]; + if (!remapKey) { + throw "Unsupported tslib function \"" + theToken + "\" detected from -- " + matches[0] + ""; + } + + newImports.push(remapKey + " as " + theToken); + }); + + let newImport = "import { " + newImports.join(", ") + " } from \"@microsoft/applicationinsights-shims\";"; + var idx = orgSrc.indexOf(matches[0]); + if (idx !== -1) { + console.log(`Replacing [${matches[0]}] with [${newImport}]`); + theString.overwrite(idx, idx + matches[0].length, newImport); + src = src.replace(matches[0], newImport); + } + + // Find next + matches = detectTsLibUsage.exec(orgSrc); + } + + return src; + } + + function replaceTsLibStarImports(orgSrc, src, theString) { + // replace tslib import usage with "import { xxx, xxx } from "tslib"; + const detectTsLibUsage = /import[\s]*\*[\s]*as[\s]*([^\s]*)[\s]*from[\s]*\"tslib\";/g; + let matches = detectTsLibUsage.exec(orgSrc); + while (matches != null) { + let newImports = []; + let importPrefix = matches[1].trim(); + + let importLen = importPrefix.length + 1; + let idx = orgSrc.indexOf(importPrefix + "."); + while (idx !== -1) { + let funcEnd = orgSrc.indexOf("(", idx + importLen); + if (funcEnd !== -1) { + let funcName = orgSrc.substring(idx + importLen, funcEnd); + let newImport = remapTsLibFuncs[funcName]; + if (!newImport) { + throw "Unsupported tslib function \"" + orgSrc.substring(idx, funcEnd) + "\" detected from -- " + matches[0]; + } + + // Add new import, if not already present + if (newImports.indexOf(newImport) == -1) { + newImports.push(newImport); + } + + let matchedValue = orgSrc.substring(idx, funcEnd + 1); + let newValue = newImport + "("; + console.log(`Replacing Usage [${matchedValue}] with [${newValue}]`); + theString.overwrite(idx, idx + matchedValue.length, newValue); + + // replace in the new source output as well + src = src.replace(matchedValue, newValue); + } + + // Find next usage + idx = orgSrc.indexOf(importPrefix + ".", idx + importLen); + } + + let newImport = "import { " + newImports.join(", ") + " } from \"@microsoft/applicationinsights-shims\";"; + idx = orgSrc.indexOf(matches[0]); + console.log(`Replacing [${matches[0]}] with [${newImport}]`); + theString.overwrite(idx, idx + matches[0].length, newImport); + src = src.replace(matches[0], newImport); + + // Find next + matches = detectTsLibUsage.exec(orgSrc); + } + + return src; + } + + function removeDynamicProtoStubs(orgSrc, src, theString, inputFile) { const dynRemove = dynamicRemove(); + var result = dynRemove.transform(orgSrc, inputFile); + if (result !== null && result.code) { + src = result.code; + console.log("Prototypes removed..."); + + // Figure out removed lines + var orgLines = getLines(orgSrc); + var newLines = getLines(result.code); + var line = 0; + var newLine = 0; + while (line < orgLines.length) { + var matchLine = orgLines[line]; + var matchNewLine = newLines[newLine]; + var replaceText = ""; + line++; + if (matchLine.value === matchNewLine.value) { + newLine++; + } else { + console.log("Line Changed: " + matchLine.value); + var endFound = false; + var endLine = 0; + // Skip over removed lines (There may be more than 1 function being removed) + for (var nextLp = 0; endFound === false && newLine + nextLp < newLines.length; nextLp++) { + if (newLine + nextLp < newLines.length) { + for (var lp = 0; line + lp < orgLines.length; lp++) { + if (orgLines[line + lp].value === newLines[newLine + nextLp].value) { + endFound = true; + for (var i = 0; i < nextLp; i++) { + if (replaceText.length) { + replaceText += "\n"; + } + replaceText += newLines[newLine + i].value; + } + endLine = line + lp; + newLine = newLine + nextLp; + break; + } + } + } + } + + if (endFound) { + console.log("Detected Removed lines " + line + " to " + endLine); + theString.overwrite(matchLine.idx, orgLines[endLine - 1].idx + orgLines[endLine - 1].len, replaceText); + line = endLine; + } else { + throw "Missing line - " + matchLine.value; + } + } + } + } + + return src; + } + + const updateDistEsmFiles = (replaceValues, banner, replaceTsLib = true, removeDynamic = true) => { const files = globby.sync("./dist-esm/**/*.js"); files.map(inputFile => { console.log("Loading - " + inputFile); @@ -53,59 +211,17 @@ const getLines = (theValue) => { var orgSrc = src; var theString = new MagicString(orgSrc); - - var result = dynRemove.transform(orgSrc, inputFile); - if (result !== null && result.code) { - src = result.code; - console.log("Prototypes removed..."); - - // Figure out removed lines - var orgLines = getLines(orgSrc); - var newLines = getLines(result.code); - var line = 0; - var newLine = 0; - while (line < orgLines.length) { - var matchLine = orgLines[line]; - var matchNewLine = newLines[newLine]; - var replaceText = ""; - line++; - if (matchLine.value === matchNewLine.value) { - newLine++; - } else { - console.log("Line Changed: " + matchLine.value); - var endFound = false; - var endLine = 0; - // Skip over removed lines (There may be more than 1 function being removed) - for (var nextLp = 0; endFound === false && newLine + nextLp < newLines.length; nextLp++) { - if (newLine + nextLp < newLines.length) { - for (var lp = 0; line + lp < orgLines.length; lp++) { - if (orgLines[line + lp].value === newLines[newLine + nextLp].value) { - endFound = true; - for (var i = 0; i < nextLp; i++) { - if (replaceText.length) { - replaceText += "\n"; - } - replaceText += newLines[newLine + i].value; - } - endLine = line + lp; - newLine = newLine + nextLp; - break; - } - } - } - } - - if (endFound) { - console.log("Detected Removed lines " + line + " to " + endLine); - theString.overwrite(matchLine.idx, orgLines[endLine - 1].idx + orgLines[endLine - 1].len, replaceText); - line = endLine; - } else { - throw "Missing line - " + matchLine.value; - } - } - } + + if (removeDynamic) { + src = removeDynamicProtoStubs(orgSrc, src, theString, inputFile); } + if (replaceTsLib) { + // replace any tslib imports with the shims module versions + src = replaceTsLibImports(orgSrc, src, theString); + src = replaceTsLibStarImports(orgSrc, src, theString); + } + // Replace the header Object.keys(replaceValues).forEach((value) => { src = src.replace(value, replaceValues[value]); @@ -114,11 +230,14 @@ const getLines = (theValue) => { theString.overwrite(idx, idx + value.length, replaceValues[value]); } }); - + // Rewrite the file - theString.prepend(banner + "\n"); - src = banner + "\n" + src; - + + // Remove any force banner from the file + let replaceBanner = banner.replace("/*!", "/*"); + theString.prepend(replaceBanner + "\n"); + src = replaceBanner + "\n" + src; + src = src.trim(); fs.writeFileSync(inputFile, src); if (mapFile) {