From 59afb31831a23d92677e92b9106ff73dca162a71 Mon Sep 17 00:00:00 2001 From: Cyprien Autexier <2660262+sandorfr@users.noreply.github.com> Date: Thu, 6 Jun 2019 22:03:45 +1000 Subject: [PATCH 1/8] update tfx-cli and other deps --- package.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index e47022c..10ef152 100644 --- a/package.json +++ b/package.json @@ -14,26 +14,26 @@ "schema:task": "json2ts --input tasks.schema.json --output src/task.d.ts" }, "devDependencies": { - "jasmine": "^3.1.0", - "json-schema-to-typescript": "^5.5.0", - "typescript": "2.9.2" + "jasmine": "^3.4.0", + "json-schema-to-typescript": "^6.1.3", + "typescript": "3.5.1" }, "dependencies": { - "@types/async": "^2.0.49", - "@types/fs-extra": "^5.0.4", - "@types/lodash": "^4.14.110", + "@types/async": "^3.0.0", + "@types/fs-extra": "^7.0.0", + "@types/lodash": "^4.14.133", "@types/minimist": "^1.2.0", - "@types/node": "^10.5.2", - "@types/semver": "^5.5.0", - "fs-extra": "6.0.1", - "lodash": "4.17.10", + "@types/node": "^12.0.5", + "@types/semver": "^6.0.0", + "fs-extra": "8.0.1", + "lodash": "4.17.11", "minimist": "1.2.0", "modclean": "2.1.0", - "semver": "5.5.0", - "tfx-cli": "0.5.14", + "semver": "6.1.1", + "tfx-cli": "0.7.6", "tsconfig-glob": "^0.4.3", - "tslint": "^5.10.0", - "async": "^2.6.1", - "glob": "7.1.2" + "tslint": "^5.17.0", + "async": "^3.0.1", + "glob": "7.1.4" } } From 272f57942a6ab5264b8953452f9394b3d7e99833 Mon Sep 17 00:00:00 2001 From: Cyprien Autexier <2660262+sandorfr@users.noreply.github.com> Date: Thu, 6 Jun 2019 22:05:36 +1000 Subject: [PATCH 2/8] update lock file --- yarn.lock | 321 +++++++++++++++++++++++++++++------------------------- 1 file changed, 175 insertions(+), 146 deletions(-) diff --git a/yarn.lock b/yarn.lock index 50d8939..1398839 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,33 +2,41 @@ # yarn lockfile v1 -"@types/async@^2.0.49": - version "2.0.49" - resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.49.tgz#92e33d13f74c895cb9a7f38ba97db8431ed14bc0" +"@babel/code-frame@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@types/async@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/async/-/async-3.0.0.tgz#d403560ee2aabccdb7936cb9a3fee5f147d626bd" "@types/cli-color@^0.3.29": version "0.3.29" resolved "https://registry.yarnpkg.com/@types/cli-color/-/cli-color-0.3.29.tgz#c83a71fe02c8c7e1ccec048dd6a2458d1f6c96ea" -"@types/fs-extra@^5.0.4": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-5.0.4.tgz#b971134d162cc0497d221adde3dbb67502225599" +"@types/fs-extra@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-7.0.0.tgz#9c4ad9e1339e7448a76698829def1f159c1b636c" dependencies: "@types/node" "*" -"@types/json-schema@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-4.0.0.tgz#fbf6c078369546bd15ffa78ba7f3f2e170480769" - dependencies: - "@types/node" "*" +"@types/json-schema@^7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" -"@types/lodash@^4.14.110": - version "4.14.110" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.110.tgz#fb07498f84152947f30ea09d89207ca07123461e" - -"@types/lodash@^4.14.88": - version "4.14.115" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.115.tgz#54d171b2ce12c058742443b5f6754760f701b8f9" +"@types/lodash@^4.14.121", "@types/lodash@^4.14.133": + version "4.14.133" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.133.tgz#430721c96da22dd1694443e68e6cec7ba1c1003d" "@types/minimist@^1.2.0": version "1.2.0" @@ -47,19 +55,18 @@ "@types/node@^11.10.4": version "11.10.4" resolved "https://registry.yarnpkg.com/@types/node/-/node-11.10.4.tgz#3f5fc4f0f322805f009e00ab35a2ff3d6b778e42" - integrity sha512-wa09itaLE8L705aXd8F80jnFpxz3Y1/KRHfKsYL2bPc0XF+wEWu8sR9n5bmeu8Ba1N9z2GRNzm/YdHcghLkLKg== -"@types/node@^8.0.50": - version "8.10.22" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.22.tgz#c095d7c668908d48b95ae11fcc4a6d6b1c116a35" +"@types/node@^12.0.5": + version "12.0.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.5.tgz#ac14404c33d1a789973c45379a67f7f7e58a01b9" -"@types/prettier@^1.7.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.13.2.tgz#ffe96278e712a8d4e467e367a338b05e22872646" +"@types/prettier@^1.16.1": + version "1.16.4" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.16.4.tgz#5e5e97702cb68498aaba7349b941648daaf2385c" -"@types/semver@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45" +"@types/semver@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.0.0.tgz#86ba89f02a414e39c68d02b351872e4ed31bd773" ansi-align@^1.1.0: version "1.1.0" @@ -144,19 +151,23 @@ async@^1.4.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.0.0, async@^2.6.1: +async@^2.0.0: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" dependencies: lodash "^4.17.10" -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" +async@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/async/-/async-3.0.1.tgz#dfeb34657d1e63c94c0eee424297bf8a2c9a8182" + +azure-devops-node-api@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/azure-devops-node-api/-/azure-devops-node-api-8.1.1.tgz#fb24d783e0ea0e11bb00ce29d0d32b9d58caa6a8" dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" + tunnel "0.0.4" + typed-rest-client "1.2.0" + underscore "1.8.3" balanced-match@^1.0.0: version "1.0.0" @@ -247,6 +258,14 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + chalk@^2.3.0: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" @@ -268,16 +287,16 @@ cli-color@0.3.2: memoizee "0.3.x" timers-ext "0.1.x" -cli-color@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.2.0.tgz#3a5ae74fd76b6267af666e69e2afbbd01def34d1" +cli-color@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f" dependencies: ansi-regex "^2.1.1" d "1" - es5-ext "^0.10.12" - es6-iterator "2" - memoizee "^0.4.3" - timers-ext "0.1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + memoizee "^0.4.14" + timers-ext "^0.1.5" clipboardy@~1.2.3: version "1.2.3" @@ -411,12 +430,6 @@ dateformat@1.0.11: get-stdin "*" meow "*" -debug@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - decamelize-keys@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -495,7 +508,7 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -es5-ext@^0.10.12, es5-ext@^0.10.14, es5-ext@^0.10.30, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.11, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.5, es5-ext@~0.10.6: +es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.11, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.5, es5-ext@~0.10.6: version "0.10.45" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.45.tgz#0bfdf7b473da5919d5adf3bd25ceb754fccc3653" dependencies: @@ -503,7 +516,15 @@ es5-ext@^0.10.12, es5-ext@^0.10.14, es5-ext@^0.10.30, es5-ext@^0.10.35, es5-ext@ es6-symbol "~3.1.1" next-tick "1" -es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.3: +es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@~0.10.46: + version "0.10.50" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.1" + next-tick "^1.0.0" + +es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" dependencies: @@ -624,9 +645,9 @@ fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" -fs-extra@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" +fs-extra@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.0.1.tgz#90294081f978b1f182f347a440a209154344285b" dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" @@ -648,7 +669,7 @@ get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" -glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1: +glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -659,6 +680,17 @@ glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" +glob@7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + dependencies: + 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@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" @@ -825,24 +857,24 @@ isstream@0.1.x: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -jasmine-core@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.1.0.tgz#a4785e135d5df65024dfc9224953df585bd2766c" +jasmine-core@~3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.4.0.tgz#2a74618e966026530c3518f03e9f845d26473ce3" -jasmine@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-3.1.0.tgz#2bd59fd7ec6ec0e8acb64e09f45a68ed2ad1952a" +jasmine@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-3.4.0.tgz#0fa68903ff0c9697459cd044b44f4dcef5ec8bdc" dependencies: - glob "^7.0.6" - jasmine-core "~3.1.0" + glob "^7.1.3" + jasmine-core "~3.4.0" -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" -js-yaml@^3.10.0, js-yaml@^3.7.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" +js-yaml@^3.12.1, js-yaml@^3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -861,33 +893,32 @@ json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" -json-schema-ref-parser@^4.0.4: - version "4.1.1" - resolved "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-4.1.1.tgz#f7900efc15f693432d4ac6519dc1ee09c01aa40b" +json-schema-ref-parser@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/json-schema-ref-parser/-/json-schema-ref-parser-6.1.0.tgz#30af34aeab5bee0431da805dac0eb21b574bf63d" dependencies: call-me-maybe "^1.0.1" - debug "^3.1.0" - js-yaml "^3.10.0" - ono "^4.0.3" + js-yaml "^3.12.1" + ono "^4.0.11" -json-schema-to-typescript@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/json-schema-to-typescript/-/json-schema-to-typescript-5.5.0.tgz#1d49b279e8d448b23ef34c4f802f717fbc14c923" +json-schema-to-typescript@^6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/json-schema-to-typescript/-/json-schema-to-typescript-6.1.3.tgz#245364e8564263e53738320b46227f304491cc77" dependencies: "@types/cli-color" "^0.3.29" - "@types/json-schema" "^4.0.0" - "@types/lodash" "^4.14.88" + "@types/json-schema" "^7.0.3" + "@types/lodash" "^4.14.121" "@types/minimist" "^1.2.0" "@types/mz" "0.0.32" - "@types/node" "^8.0.50" - "@types/prettier" "^1.7.2" - cli-color "^1.2.0" - json-schema-ref-parser "^4.0.4" + "@types/node" "^11.10.4" + "@types/prettier" "^1.16.1" + cli-color "^1.4.0" + json-schema-ref-parser "^6.1.0" json-stringify-safe "^5.0.1" - lodash "^4.17.4" + lodash "^4.17.11" minimist "^1.2.0" mz "^2.7.0" - prettier "^1.8.2" + prettier "^1.16.4" stdin "0.0.1" json-stringify-safe@^5.0.1: @@ -952,14 +983,14 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@^4.17.10, lodash@^4.17.4, lodash@^4.8.0, lodash@~4.17.0: - version "4.17.10" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" - -lodash@^4.17.11: +lodash@4.17.11, lodash@^4.17.11, lodash@~4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" +lodash@^4.17.10, lodash@^4.8.0: + version "4.17.10" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" + loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -1004,18 +1035,18 @@ memoizee@0.3.x: next-tick "~0.2.2" timers-ext "0.1" -memoizee@^0.4.3: - version "0.4.12" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.12.tgz#780e99a219c50c549be6d0fc61765080975c58fb" +memoizee@^0.4.14: + version "0.4.14" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57" dependencies: d "1" - es5-ext "^0.10.30" + es5-ext "^0.10.45" es6-weak-map "^2.0.2" event-emitter "^0.3.5" is-promise "^2.1" lru-queue "0.1" next-tick "1" - timers-ext "^0.1.2" + timers-ext "^0.1.5" meow@*: version "5.0.0" @@ -1048,7 +1079,7 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@^1.1.2, minimist@^1.2.0: +minimist@1.2.0, minimist@^1.1.2, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -1058,13 +1089,13 @@ mkdirp@0.x.x, mkdirp@^0.5.0, mkdirp@^0.5.1: dependencies: minimist "0.0.8" -modclean-patterns-default@latest: +modclean-patterns-default@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/modclean-patterns-default/-/modclean-patterns-default-1.1.2.tgz#9b2d53e3abd707edcf0c1501b4d5ac04c947a283" -modclean@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/modclean/-/modclean-2.1.2.tgz#e470f0574b1066ee32d4e53652d46b36da4417c3" +modclean@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/modclean/-/modclean-2.1.0.tgz#a4316f3c97bf4711e68251500cae52855208e49b" dependencies: async-each-series "^1.1.0" chalk "^1.1.3" @@ -1073,15 +1104,11 @@ modclean@^2.1.2: empty-dir "^0.2.1" glob "^7.1.1" lodash.uniq "^4.5.0" - modclean-patterns-default latest + modclean-patterns-default "^1.0.0" rimraf "^2.5.4" subdirs "^1.0.0" update-notifier "^1.0.3" -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - mute-stream@~0.0.4: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -1098,7 +1125,7 @@ ncp@0.4.x: version "0.4.2" resolved "https://registry.yarnpkg.com/ncp/-/ncp-0.4.2.tgz#abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574" -next-tick@1: +next-tick@1, next-tick@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -1160,9 +1187,9 @@ onecolor@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/onecolor/-/onecolor-2.5.0.tgz#2256b651dc807c101f00aedbd49925c57a4431c1" -ono@^4.0.3: - version "4.0.5" - resolved "https://registry.yarnpkg.com/ono/-/ono-4.0.5.tgz#bc62740493a5c1c08b2c21e60cbb0e5c56ab7de2" +ono@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/ono/-/ono-4.0.11.tgz#c7f4209b3e396e8a44ef43b9cedc7f5d791d221d" dependencies: format-util "^1.0.3" @@ -1275,9 +1302,9 @@ prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" -prettier@^1.8.2: - version "1.13.7" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.7.tgz#850f3b8af784a49a6ea2d2eaa7ed1428a34b7281" +prettier@^1.16.4: + version "1.17.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.17.1.tgz#ed64b4e93e370cb8a25b9ef7fef3e4fd1c0995db" process-nextick-args@~1.0.6: version "1.0.7" @@ -1301,10 +1328,6 @@ pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" -q@^1.0.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" @@ -1433,9 +1456,9 @@ semver-diff@^2.0.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" -semver@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" +semver@6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b" shebang-command@^1.2.0: version "1.2.0" @@ -1565,19 +1588,20 @@ tar-stream@^1.5.0: to-buffer "^1.1.0" xtend "^4.0.0" -tfx-cli@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/tfx-cli/-/tfx-cli-0.6.4.tgz#8b37b5156cf9ac2ed390c0f789a45942d5b0f118" +tfx-cli@0.7.6: + version "0.7.6" + resolved "https://registry.yarnpkg.com/tfx-cli/-/tfx-cli-0.7.6.tgz#72d9e8e1f357bb64c1194b98085e82ff9165acf3" dependencies: app-root-path "1.0.0" archiver "2.0.3" async "^1.4.0" + azure-devops-node-api "^8.1.1" clipboardy "~1.2.3" colors "~1.3.0" glob "7.1.2" json-in-place "^1.0.1" jszip "~3.1.5" - lodash "~4.17.0" + lodash "~4.17.11" minimist "^1.1.2" mkdirp "^0.5.1" onecolor "^2.5.0" @@ -1590,7 +1614,6 @@ tfx-cli@^0.6.4: util.promisify "^1.0.0" uuid "^3.0.1" validator "^3.43.0" - vso-node-api "^5.0.0" winreg "0.0.12" xml2js "^0.4.16" @@ -1610,13 +1633,20 @@ timed-out@^3.0.0: version "3.1.3" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" -timers-ext@0.1, timers-ext@0.1.x, timers-ext@^0.1.2: +timers-ext@0.1, timers-ext@0.1.x: version "0.1.5" resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.5.tgz#77147dd4e76b660c2abb8785db96574cbbd12922" dependencies: es5-ext "~0.10.14" next-tick "1" +timers-ext@^0.1.5: + version "0.1.7" + resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + dependencies: + es5-ext "~0.10.46" + next-tick "1" + tinytim@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/tinytim/-/tinytim-0.1.1.tgz#c968a1e5559ad9553224ef7627bab34e3caef8a8" @@ -1656,25 +1686,25 @@ tslib@^1.8.0, tslib@^1.8.1: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" -tslint@^5.13.1: - version "5.13.1" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.13.1.tgz#fbc0541c425647a33cd9108ce4fd4cd18d7904ed" +tslint@^5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.17.0.tgz#f9f0ce2011d8e90debaa6e9b4975f24cd16852b8" dependencies: - babel-code-frame "^6.22.0" + "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" chalk "^2.3.0" commander "^2.12.1" diff "^3.2.0" glob "^7.1.1" - js-yaml "^3.7.0" + 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.27.2" + tsutils "^2.29.0" -tsutils@^2.27.2: +tsutils@^2.29.0: version "2.29.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" dependencies: @@ -1684,13 +1714,20 @@ tunnel@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.4.tgz#2d3785a158c174c9a16dc2c046ec5fc5f1742213" -typescript@^3.3.1: - version "3.3.3333" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6" +typed-rest-client@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/typed-rest-client/-/typed-rest-client-1.2.0.tgz#723085d203f38d7d147271e5ed3a75488eb44a02" + dependencies: + tunnel "0.0.4" + underscore "1.8.3" + +typescript@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.1.tgz#ba72a6a600b2158139c5dd8850f700e231464202" -underscore@^1.8.3: - version "1.9.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" +underscore@1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" universalify@^0.1.0: version "0.1.2" @@ -1760,14 +1797,6 @@ validator@^3.43.0: version "3.43.0" resolved "https://registry.yarnpkg.com/validator/-/validator-3.43.0.tgz#96464b992d4196833d97a194bf40b19ff54bae05" -vso-node-api@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/vso-node-api/-/vso-node-api-5.1.2.tgz#817b66ffed6e11cbd71f93b916f4b189c963425b" - dependencies: - q "^1.0.1" - tunnel "0.0.4" - underscore "^1.8.3" - walkdir@^0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.0.11.tgz#a16d025eb931bd03b52f308caed0f40fcebe9532" From 980076bc029aed0982a054b6cebcc98fa02a88fb Mon Sep 17 00:00:00 2001 From: Cyprien Autexier <2660262+sandorfr@users.noreply.github.com> Date: Sat, 7 Mar 2020 12:43:22 +1100 Subject: [PATCH 3/8] add support for Node10 common --- src/prebuild.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/prebuild.ts b/src/prebuild.ts index 666ccf2..88eaca6 100644 --- a/src/prebuild.ts +++ b/src/prebuild.ts @@ -18,7 +18,7 @@ forEach(tasks.getTasks(), (task) => { const taskFilePath = path.join(task.directory, "task.json"); const taskFile = fs.existsSync(taskFilePath) ? fs.readJsonSync(taskFilePath) : {}; - if (taskFile.execution.Node) { + if (taskFile.execution.Node || taskFile.execution.Node10) { fs.ensureDirSync(targetNodeCommonDir); fs.ensureDirSync(taskNodeModules); forEach(nodeFiles, (commonFile) => { From ceb983fe10fed2d453d6fd6ef982e9c8b5b11ccf Mon Sep 17 00:00:00 2001 From: Cyprien Autexier <2660262+sandorfr@users.noreply.github.com> Date: Sat, 7 Mar 2020 13:07:10 +1100 Subject: [PATCH 4/8] bump version, migrate to eslint delete dist --- .eslintignore | 2 + .eslintrc.js | 14 + dist/clean.js | 19 - dist/configuration.js | 8 - dist/endpoints.js | 23 -- dist/extension-version.js | 40 -- dist/install.js | 54 --- dist/node-modclean.js | 49 --- dist/package.js | 137 ------- dist/prebuild.js | 35 -- dist/tasks.js | 21 -- package.json | 24 +- tslint.json | 12 - yarn.lock | 770 ++++++++++++++++++++++++++++++++++---- 14 files changed, 723 insertions(+), 485 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.js delete mode 100644 dist/clean.js delete mode 100644 dist/configuration.js delete mode 100644 dist/endpoints.js delete mode 100644 dist/extension-version.js delete mode 100644 dist/install.js delete mode 100644 dist/node-modclean.js delete mode 100644 dist/package.js delete mode 100644 dist/prebuild.js delete mode 100644 dist/tasks.js delete mode 100644 tslint.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..b0f096b --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +dist/* +run/* \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..c43fdf3 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + parser: "@typescript-eslint/parser", // Specifies the ESLint parser + extends: [ + "plugin:@typescript-eslint/recommended" // Uses the recommended rules from the @typescript-eslint/eslint-plugin + ], + parserOptions: { + ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features + sourceType: "module" // Allows for the use of imports + }, + rules: { + // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs + // e.g. "@typescript-eslint/explicit-function-return-type": "off", + } +}; diff --git a/dist/clean.js b/dist/clean.js deleted file mode 100644 index ad273c1..0000000 --- a/dist/clean.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var fs = require("fs-extra"); -var lodash_1 = require("lodash"); -var minimist = require("minimist"); -var path = require("path"); -var tasks = require("./tasks"); -var options = minimist(process.argv.slice(2), {}); -fs.emptyDirSync(".BuildOutput"); -lodash_1.forEach(tasks.getTasks(options.taskroot), function (task) { - var targetNodeCommonDir = path.join(task.directory, "common"); - var taskNodeModules = path.join(task.directory, "node_modules"); - var targetPowershellCommonDir = path.join(task.directory, "ps_modules"); - fs.removeSync(targetNodeCommonDir); - fs.removeSync(targetPowershellCommonDir); - if (options.modules === "true") { - fs.removeSync(taskNodeModules); - } -}); diff --git a/dist/configuration.js b/dist/configuration.js deleted file mode 100644 index 3b884d0..0000000 --- a/dist/configuration.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var path = require("path"); -function getConfiguration() { - var currentDirectory = process.cwd(); - return require(path.join(currentDirectory, "configuration.json")); -} -exports.getConfiguration = getConfiguration; diff --git a/dist/endpoints.js b/dist/endpoints.js deleted file mode 100644 index f08bb8b..0000000 --- a/dist/endpoints.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var fs = require("fs-extra"); -var path = require("path"); -function getEndpoints(endpointsRoot) { - if (!endpointsRoot) { - var currentDirectory = process.cwd(); - endpointsRoot = path.join(currentDirectory, "Endpoints"); - } - if (!fs.existsSync(endpointsRoot)) { - return []; - } - return fs.readdirSync(endpointsRoot).map(function (file) { - var endpointPath = path.join(endpointsRoot, file); - var manifest = JSON.parse(fs.readFileSync(endpointPath, { encoding: "utf8" })); - return { - manifest: manifest, - name: manifest.properties.name, - path: endpointPath, - }; - }); -} -exports.getEndpoints = getEndpoints; diff --git a/dist/extension-version.js b/dist/extension-version.js deleted file mode 100644 index 38f6114..0000000 --- a/dist/extension-version.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var minimist = require("minimist"); -var semver = require("semver"); -function getSemanticVersion() { - var options = minimist(process.argv.slice(2), {}); - var version = options.version; - if (!version) { - version = "0.0.0"; - console.log("No version argument provided, fallback to default version: " + version); - } - else { - console.log("Found version: " + version); - } - if (!semver.valid(version)) { - throw new Error("Package: invalid semver version: " + version); - } - var patch = semver.patch(version); - if (!options.noversiontransform) { - patch *= 1000; - var prerelease = semver.prerelease(version); - if (prerelease) { - patch += parseInt(prerelease[1], 10); - } - else { - patch += 999; - } - } - var result = { - major: semver.major(version), - minor: semver.minor(version), - patch: patch, - getVersionString: function () { - return this.major.toString() + "." + this.minor.toString() + "." + this.patch.toString(); - }, - }; - console.log("Extension Version: " + result.getVersionString()); - return result; -} -exports.getSemanticVersion = getSemanticVersion; diff --git a/dist/install.js b/dist/install.js deleted file mode 100644 index 0d4c507..0000000 --- a/dist/install.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var async_1 = require("async"); -var child_process_1 = require("child_process"); -var path = require("path"); -var tasks_1 = require("./tasks"); -var npmInstall = function (project) { - return function (done) { - var isYarn = path.basename(process.env.npm_execpath || "npm").startsWith("yarn"); - var installer = isYarn ? "yarn" : "npm"; - child_process_1.exec(isYarn ? "yarn" : "npm install", { - cwd: project.directory, - }, function (error, stdout, stderr) { - if (error) { - console.error("execution error:", error); - done(error); - return; - } - console.log(installer + " install done for " + project.name); - if (stdout) { - console.log(stdout); - } - if (stderr) { - console.error(stderr); - } - var powerShellModules = require("glob") - .sync(path.join(project.directory, "node_modules", "**", "*.psm1")); - if (powerShellModules.length > 0) { - var fs = require("fs-extra"); - var taskFilePath = path.join(project.directory, "task.json"); - var task = fs.existsSync(taskFilePath) ? fs.readJsonSync(taskFilePath) : {}; - if (task.execution.PowerShell3) { - var psModulesPath = path.join(project.directory, "ps_modules"); - fs.ensureDirSync(psModulesPath); - for (var _i = 0, powerShellModules_1 = powerShellModules; _i < powerShellModules_1.length; _i++) { - var modulePath = powerShellModules_1[_i]; - var powerShellModuleDirName = path.dirname(modulePath); - var powerShellModuleFolderName = path.basename(powerShellModuleDirName); - fs.copySync(powerShellModuleDirName, path.join(psModulesPath, powerShellModuleFolderName), { clobber: true, dereference: true }); - console.log(powerShellModuleFolderName + " copied in ps_modules for " + project.name); - } - } - } - done(); - }); - }; -}; -var installTasks = tasks_1.getTasks().map(npmInstall); -async_1.series(installTasks, function (err) { - if (err) { - console.error("Failed to install child dependencies"); - throw err; - } -}); diff --git a/dist/node-modclean.js b/dist/node-modclean.js deleted file mode 100644 index 8941326..0000000 --- a/dist/node-modclean.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var async_1 = require("async"); -var fs = require("fs"); -var minimist = require("minimist"); -var path = require("path"); -var tasks = require("./tasks"); -// tslint:disable-next-line: no-var-requires -var modclean = require("modclean"); -var runModclean = function (project) { - return function (done) { - if (fs.existsSync(path.join(project.directory, "node_modules"))) { - var modcleanOptions = { - cwd: project.directory, - }; - var options = minimist(process.argv.slice(2), {}); - if (options.patterns) { - modcleanOptions.patterns = options.patterns.split(","); - } - if (options.additionalpatterns) { - modcleanOptions.additionalPatterns = options.additionalpatterns.split(","); - } - if (options.ignorepatterns) { - modcleanOptions.ignorePatterns = options.ignorepatterns.split(","); - } - modclean(modcleanOptions, function (err, results) { - // called once cleaning is complete. - if (err) { - console.error("exec error: " + err); - done(err); - return; - } - console.log(results.length + " files removed!"); - done(); - }); - } - else { - console.log("modclean skipped for " + project.name); - done(); - } - }; -}; -var cleanTasks = tasks.getTasks().map(runModclean); -async_1.series(cleanTasks, function (err) { - if (err) { - console.error("Failed to run modclean"); - throw err; - } -}); diff --git a/dist/package.js b/dist/package.js deleted file mode 100644 index 62148fc..0000000 --- a/dist/package.js +++ /dev/null @@ -1,137 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var async_1 = require("async"); -var child_process_1 = require("child_process"); -var fs = require("fs-extra"); -var path = require("path"); -var configuration_1 = require("./configuration"); -var endpoints_1 = require("./endpoints"); -var extension_version_1 = require("./extension-version"); -var tasks_1 = require("./tasks"); -var currentDirectory = process.cwd(); -var buildOutputDirectory = path.join(currentDirectory, ".BuildOutput"); -var extensionDirectory = path.join(currentDirectory, "Extension"); -var tasksDirectory = path.join(currentDirectory, "Tasks"); -fs.ensureDirSync(buildOutputDirectory); -var version = extension_version_1.getSemanticVersion(); -var configuration = configuration_1.getConfiguration(); -var createExtensionTasks = configuration.environments.map(function (env) { - var environmentDirectory = path.join(buildOutputDirectory, env.Name); - var environmentTasksDirectory = path.join(environmentDirectory, "Tasks"); - fs.ensureDirSync(environmentDirectory); - fs.copySync(extensionDirectory, environmentDirectory, { overwrite: true, dereference: true }); - fs.copySync(tasksDirectory, environmentTasksDirectory, { overwrite: true, dereference: true }); - var extensionFilePath = path.join(environmentDirectory, "vss-extension.json"); - var extension = fs.readJsonSync(extensionFilePath); - extension.id += env.VssExtensionIdSuffix; - extension.name += env.DisplayNamesSuffix; - extension.version = version.getVersionString(); - extension.galleryFlags = env.VssExtensionGalleryFlags; - if (extension.contributions === undefined) { - extension.contributions = []; - } - var endpointMap = {}; - endpoints_1.getEndpoints().forEach(function (endpoint) { - endpointMap["connectedService:" + endpoint.name] - = "connectedService:" + endpoint.name + env.VssExtensionIdSuffix; - var config = endpoint.manifest; - config.id = config.id + env.VssExtensionIdSuffix; - config.properties.name = endpoint.name + env.VssExtensionIdSuffix; - config.properties.displayName = config.properties.displayName + env.DisplayNamesSuffix; - extension.contributions.push(config); - }); - tasks_1.getTasks(environmentTasksDirectory).map(function (taskDirectory) { - var taskFilePath = path.join(taskDirectory.directory, "task.json"); - var task = fs.readJsonSync(taskFilePath); - task.id = env.TaskIds[taskDirectory.name]; - if (task.id) { - task.friendlyName += env.DisplayNamesSuffix; - task.version = { - Major: version.major, - Minor: version.minor, - Patch: version.patch, - }; - if (task.helpMarkDown) { - task.helpMarkDown = task.helpMarkDown.replace("#{Version}#", version.getVersionString()); - } - if (task.inputs) { - task.inputs.forEach(function (input) { - var mappedType = endpointMap[input.type]; - if (mappedType) { - input.type = mappedType; - } - }); - } - fs.writeJsonSync(taskFilePath, task); - var taskLocFilePath = path.join(taskDirectory.directory, "task.loc.json"); - if (fs.existsSync(taskLocFilePath)) { - var taskLoc = fs.readJsonSync(taskLocFilePath); - taskLoc.id = env.TaskIds[taskDirectory.name]; - taskLoc.friendlyName += env.DisplayNamesSuffix; - taskLoc.version.Major = version.major; - taskLoc.version.Minor = version.minor; - taskLoc.version.Patch = version.patch; - if (taskLoc.helpMarkDown) { - taskLoc.helpMarkDown = taskLoc.helpMarkDown.replace("#{Version}#", version.getVersionString()); - } - fs.writeJsonSync(taskLocFilePath, taskLoc); - var locfilesDirectory = path.join(taskDirectory.directory, "Strings/resources.resjson"); - if (fs.existsSync(locfilesDirectory)) { - var langs = fs.readdirSync(locfilesDirectory); - for (var _i = 0, langs_1 = langs; _i < langs_1.length; _i++) { - var element = langs_1[_i]; - var resourceFile = path.join(locfilesDirectory, element, "resources.resjson"); - if (fs.existsSync(resourceFile)) { - var resource = fs.readJsonSync(resourceFile); - resource["loc.helpMarkDown"] = resource["loc.helpMarkDown"] - .replace("#{Version}#", version.getVersionString()); - fs.writeJsonSync(resourceFile, resource); - } - } - } - } - var taskId = taskDirectory.name.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^[-]+/, ""); - extension.contributions.push({ - description: task.description, - id: taskId + "-task", - properties: { - name: "Tasks/" + taskDirectory.name, - }, - targets: [ - "ms.vss-distributed-task.tasks", - ], - type: "ms.vss-distributed-task.task", - }); - } - else { - fs.removeSync(taskDirectory.directory); - } - }); - fs.writeJsonSync(extensionFilePath, extension); - var cmdline = 'tfx extension create --root "' + environmentDirectory - + '" --manifest-globs "' + extensionFilePath - + '" --output-path "' + environmentDirectory + '"'; - return function (done) { - child_process_1.exec(cmdline, {}, function (error, stdout, stderr) { - if (error) { - console.error("exec error: " + error); - done(error); - return; - } - console.log("tfx extension create done for " + env.Name); - if (stdout) { - console.log(stdout); - } - if (stderr) { - console.error(stderr); - } - done(); - }); - }; -}); -async_1.series(createExtensionTasks, function (err) { - if (err) { - console.error("Failed to create extensions."); - throw err; - } -}); diff --git a/dist/prebuild.js b/dist/prebuild.js deleted file mode 100644 index 5ecb2cc..0000000 --- a/dist/prebuild.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var fs = require("fs-extra"); -var lodash_1 = require("lodash"); -var path = require("path"); -var tasks = require("./tasks"); -var currentDirectory = process.cwd(); -var nodeCommonFilesRoot = path.join(currentDirectory, "Common", "Node"); -var powershellCommonFilesRoot = path.join(currentDirectory, "Common", "PowerShell3"); -var nodeFiles = fs.existsSync(nodeCommonFilesRoot) ? fs.readdirSync(nodeCommonFilesRoot) : []; -var powershellFiles = fs.existsSync(powershellCommonFilesRoot) ? fs.readdirSync(powershellCommonFilesRoot) : []; -lodash_1.forEach(tasks.getTasks(), function (task) { - var targetNodeCommonDir = path.join(task.directory, "common"); - var taskNodeModules = path.join(task.directory, "node_modules"); - var targetPowershellCommonDir = path.join(task.directory, "ps_modules"); - var taskFilePath = path.join(task.directory, "task.json"); - var taskFile = fs.existsSync(taskFilePath) ? fs.readJsonSync(taskFilePath) : {}; - if (taskFile.execution.Node) { - fs.ensureDirSync(targetNodeCommonDir); - fs.ensureDirSync(taskNodeModules); - lodash_1.forEach(nodeFiles, function (commonFile) { - var targetFile = path.join(targetNodeCommonDir, commonFile); - console.log(targetFile); - fs.copySync(path.join(nodeCommonFilesRoot, commonFile), targetFile, { overwrite: true }); - }); - } - if (taskFile.execution.PowerShell3) { - fs.ensureDirSync(targetPowershellCommonDir); - lodash_1.forEach(powershellFiles, function (commonFile) { - var targetFile = path.join(targetPowershellCommonDir, commonFile); - console.log(targetFile); - fs.copySync(path.join(powershellCommonFilesRoot, commonFile), targetFile, { overwrite: true }); - }); - } -}); diff --git a/dist/tasks.js b/dist/tasks.js deleted file mode 100644 index 5152d13..0000000 --- a/dist/tasks.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var fs = require("fs"); -var path = require("path"); -function getTasks(tasksRoot) { - if (!tasksRoot) { - var currentDirectory = process.cwd(); - tasksRoot = path.join(currentDirectory, "Tasks"); - } - var tasks = fs.readdirSync(tasksRoot); - return tasks - .map(function (task) { - var taskDir = path.join(tasksRoot, task); - return { - directory: taskDir, - name: task, - }; - }) - .filter(function (task) { return fs.statSync(task.directory).isDirectory(); }); -} -exports.getTasks = getTasks; diff --git a/package.json b/package.json index f7c4aae..1ed44c0 100644 --- a/package.json +++ b/package.json @@ -47,24 +47,24 @@ "devDependencies": { "jasmine": "^3.4.0", "json-schema-to-typescript": "^6.1.3", - "typescript": "3.5.1" + "typescript": "3.5.1", + "eslint": "^6.0.0" }, "dependencies": { - "@types/async": "^3.0.0", - "@types/fs-extra": "^7.0.0", - "@types/lodash": "^4.14.133", + "@types/async": "^3.0.8", + "@types/fs-extra": "^8.1.0", + "@types/lodash": "^4.14.149", "@types/minimist": "^1.2.0", "@types/node": "^12.0.5", - "@types/semver": "^6.0.0", - "fs-extra": "8.0.1", - "lodash": "4.17.11", + "@types/semver": "^7.1.0", + "fs-extra": "8.1.0", + "lodash": "4.17.15", "minimist": "1.2.0", "modclean": "2.1.0", - "semver": "6.1.1", - "tfx-cli": "0.7.6", + "semver": "7.1.3", + "tfx-cli": "0.7.11", "tsconfig-glob": "^0.4.3", - "tslint": "^5.17.0", - "async": "^3.0.1", - "glob": "7.1.4" + "async": "^3.2.0", + "glob": "7.1.6" } } diff --git a/tslint.json b/tslint.json deleted file mode 100644 index 7f419f5..0000000 --- a/tslint.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "tslint:recommended", - "rules": { - "no-console": false - }, - "linterOptions": { - "exclude": [ - "run", - "dist" - ] - } -} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 1398839..811e5cf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,17 +16,24 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@types/async@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/async/-/async-3.0.0.tgz#d403560ee2aabccdb7936cb9a3fee5f147d626bd" +"@types/async@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@types/async/-/async-3.0.8.tgz#8c183f149d8cc91f944d58e5594d2a614ceb33ff" + integrity sha512-wIM8bCrHeQHCUyDqJYXyvG8P98YeERaOB1NeOvcjnjlM32pn21S13j6tZqhiWX+nkpU3EvhtE/nuO1ItCpZ+HQ== "@types/cli-color@^0.3.29": version "0.3.29" resolved "https://registry.yarnpkg.com/@types/cli-color/-/cli-color-0.3.29.tgz#c83a71fe02c8c7e1ccec048dd6a2458d1f6c96ea" -"@types/fs-extra@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-7.0.0.tgz#9c4ad9e1339e7448a76698829def1f159c1b636c" +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + +"@types/fs-extra@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.0.tgz#1114834b53c3914806cd03b3304b37b3bd221a4d" + integrity sha512-UoOfVEzAUpeSPmjm7h1uk5MH6KZma2z2O7a75onTGjnNvAvMVrPzPL/vBbT65iIGHWj6rokwfmYcmxmlSf2uwg== dependencies: "@types/node" "*" @@ -34,10 +41,15 @@ version "7.0.3" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" -"@types/lodash@^4.14.121", "@types/lodash@^4.14.133": +"@types/lodash@^4.14.121": version "4.14.133" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.133.tgz#430721c96da22dd1694443e68e6cec7ba1c1003d" +"@types/lodash@^4.14.149": + version "4.14.149" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.149.tgz#1342d63d948c6062838fbf961012f74d4e638440" + integrity sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ== + "@types/minimist@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6" @@ -64,9 +76,32 @@ version "1.16.4" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.16.4.tgz#5e5e97702cb68498aaba7349b941648daaf2385c" -"@types/semver@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.0.0.tgz#86ba89f02a414e39c68d02b351872e4ed31bd773" +"@types/semver@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.1.0.tgz#c8c630d4c18cd326beff77404887596f96408408" + integrity sha512-pOKLaubrAEMUItGNpgwl0HMFPrSAFic8oSVIvfu1UwcgGNmNyK9gyhBHKmBnUTwwVvpZfkzUC0GaMgnL6P86uA== + dependencies: + "@types/node" "*" + +acorn-jsx@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" + integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== + +acorn@^7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" + integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== + +ajv@^6.10.0, ajv@^6.10.2: + version "6.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" + integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" ansi-align@^1.1.0: version "1.1.0" @@ -74,20 +109,45 @@ ansi-align@^1.1.0: dependencies: string-width "^1.0.1" +ansi-escapes@^4.2.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + ansi-regex@^2.0.0, ansi-regex@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -ansi-styles@^3.2.1: +ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" dependencies: color-convert "^1.9.0" +ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + any-promise@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -139,6 +199,11 @@ arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + async-each-series@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-1.1.0.tgz#f42fd8155d38f21a5b8ea07c28e063ed1700b138" @@ -157,9 +222,10 @@ async@^2.0.0: dependencies: lodash "^4.17.10" -async@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/async/-/async-3.0.1.tgz#dfeb34657d1e63c94c0eee424297bf8a2c9a8182" +async@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" + integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== azure-devops-node-api@^8.1.1: version "8.1.1" @@ -220,7 +286,7 @@ buffer-fill@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" -builtin-modules@^1.0.0, builtin-modules@^1.1.1: +builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -228,6 +294,11 @@ call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -258,7 +329,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0: +chalk@^2.0.0, chalk@^2.1.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" dependencies: @@ -266,13 +337,18 @@ chalk@^2.0.0: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== cli-boxes@^1.0.0: version "1.0.0" @@ -298,6 +374,18 @@ cli-color@^1.4.0: memoizee "^0.4.14" timers-ext "^0.1.5" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + clipboardy@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.2.3.tgz#0526361bf78724c1f20be248d428e365433c07ef" @@ -321,10 +409,22 @@ color-convert@^1.9.0: dependencies: color-name "1.1.1" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + color-name@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + colors@0.6.x: version "0.6.2" resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" @@ -337,7 +437,7 @@ colors@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.0.tgz#5f20c9fef6945cb1134260aab33bfbdc8295e04e" -commander@^2.12.1, commander@^2.9.0: +commander@^2.9.0: version "2.16.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50" @@ -401,6 +501,17 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -430,6 +541,13 @@ dateformat@1.0.11: get-stdin "*" meow "*" +debug@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + decamelize-keys@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -449,6 +567,11 @@ deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" @@ -456,9 +579,12 @@ define-properties@^1.1.2: foreach "^2.0.5" object-keys "^1.0.8" -diff@^3.2.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" dot-prop@^3.0.0: version "3.0.0" @@ -472,6 +598,16 @@ duplexer2@^0.1.4: dependencies: readable-stream "^2.0.2" +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + empty-dir@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/empty-dir/-/empty-dir-0.2.1.tgz#809ee48a1eb4ad1cb510c2572d66fd0ed84d01ab" @@ -584,10 +720,101 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" +eslint-scope@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" + integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" + integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== + +eslint@^6.0.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2: + version "6.2.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.0.tgz#349fef01a202bbab047748300deb37fa44da79d7" + integrity sha512-Xs8airJ7RQolnDIbLtRutmfvSsAe0xqMMAantCN/GMoqf81TFbeI1T7Jpd56qYu1uuh32dOG5W/X9uO+ghPXzA== + dependencies: + acorn "^7.1.0" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + esprima@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" +esquery@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.1.0.tgz#c5c0b66f383e7656404f86b31334d72524eddb48" + integrity sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q== + dependencies: + estraverse "^4.0.0" + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + dependencies: + estraverse "^4.1.0" + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -615,10 +842,48 @@ exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + eyes@0.1.x: version "0.1.8" resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + dependencies: + flat-cache "^2.0.1" + filled-array@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" @@ -629,6 +894,20 @@ find-up@^2.0.0: dependencies: locate-path "^2.0.0" +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" + integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== + foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" @@ -645,11 +924,12 @@ fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" -fs-extra@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.0.1.tgz#90294081f978b1f182f347a440a209154344285b" +fs-extra@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== dependencies: - graceful-fs "^4.1.2" + graceful-fs "^4.2.0" jsonfile "^4.0.0" universalify "^0.1.0" @@ -661,6 +941,11 @@ function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + get-stdin@*: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" @@ -669,6 +954,13 @@ get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" +glob-parent@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== + dependencies: + is-glob "^4.0.1" + glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" @@ -680,9 +972,10 @@ glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -702,6 +995,13 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +globals@^12.1.0: + version "12.3.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz#1e564ee5c4dded2ab098b0f88f24702a3c56be13" + integrity sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw== + dependencies: + type-fest "^0.8.1" + got@^5.0.0: version "5.7.1" resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" @@ -726,6 +1026,11 @@ graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +graceful-fs@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -736,6 +1041,11 @@ has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -750,10 +1060,30 @@ i@0.3.x: version "0.3.6" resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d" +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + immediate@~3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" +import-fresh@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -777,6 +1107,25 @@ ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" +inquirer@^7.0.0: + version "7.0.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.6.tgz#ee4ff0ea7ecda5324656fe665878790f66df7d0c" + integrity sha512-7SVO4h+QIdMq6XcqIqrNte3gS5MzCCKZdsq9DO4PJziBFNYzP3PGFbDjgadDb//MCahzgjCxvQ/O2wa7kx9o4w== + dependencies: + ansi-escapes "^4.2.1" + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.5.3" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -795,6 +1144,11 @@ is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + is-finite@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" @@ -807,6 +1161,23 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -819,7 +1190,7 @@ is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" -is-promise@^2.1: +is-promise@^2.1, is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" @@ -868,6 +1239,11 @@ jasmine@^3.4.0: glob "^7.1.3" jasmine-core "~3.4.0" +jju@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -921,6 +1297,16 @@ json-schema-to-typescript@^6.1.3: prettier "^1.16.4" stdin "0.0.1" +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -957,6 +1343,14 @@ lazystream@^1.0.0: dependencies: readable-stream "^2.0.5" +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + lie@~3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" @@ -983,14 +1377,19 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@4.17.11, lodash@^4.17.11, lodash@~4.17.11: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" +lodash@4.17.15, lodash@^4.17.14, lodash@^4.17.15: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== lodash@^4.17.10, lodash@^4.8.0: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" +lodash@^4.17.11, lodash@~4.17.11: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -1062,6 +1461,11 @@ meow@*: trim-newlines "^2.0.0" yargs-parser "^10.0.0" +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -1109,6 +1513,16 @@ modclean@2.1.0: subdirs "^1.0.0" update-notifier "^1.0.3" +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + mute-stream@~0.0.4: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -1121,6 +1535,11 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + ncp@0.4.x: version "0.4.2" resolved "https://registry.yarnpkg.com/ncp/-/ncp-0.4.2.tgz#abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574" @@ -1133,6 +1552,11 @@ next-tick@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-0.2.2.tgz#75da4a927ee5887e39065880065b7336413b310d" +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + node-status-codes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" @@ -1187,17 +1611,36 @@ onecolor@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/onecolor/-/onecolor-2.5.0.tgz#2256b651dc807c101f00aedbd49925c57a4431c1" +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + ono@^4.0.11: version "4.0.11" resolved "https://registry.yarnpkg.com/ono/-/ono-4.0.11.tgz#c7f4209b3e396e8a44ef43b9cedc7f5d791d221d" dependencies: format-util "^1.0.3" +optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" -os-tmpdir@^1.0.0, os-tmpdir@~1.0.0: +os-tmpdir@^1.0.0, os-tmpdir@~1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -1241,6 +1684,13 @@ pako@~1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parse-json@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -1262,7 +1712,7 @@ path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-key@^2.0.0: +path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -1298,6 +1748,11 @@ pkginfo@0.x.x: version "0.4.1" resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -1314,6 +1769,11 @@ process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + prompt@^0.2.14: version "0.2.14" resolved "https://registry.yarnpkg.com/prompt/-/prompt-0.2.14.tgz#57754f64f543fd7b0845707c818ece618f05ffdc" @@ -1328,6 +1788,11 @@ pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" @@ -1399,6 +1864,11 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + registry-auth-token@^3.0.1: version "3.3.2" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" @@ -1422,26 +1892,65 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -resolve@^1.1.7, resolve@^1.3.2: +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.1.7: version "1.8.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" dependencies: path-parse "^1.0.5" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + revalidator@0.1.x: version "0.1.8" resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b" +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + rimraf@2.x.x, rimraf@^2.5.4: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: glob "^7.0.5" +run-async@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8" + integrity sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg== + dependencies: + is-promise "^2.1.0" + +rxjs@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" + integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== + dependencies: + tslib "^1.9.0" + safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + sax@>=0.6.0: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -1452,13 +1961,24 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" -semver@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b" +semver@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.3.tgz#e4345ce73071c53f336445cfc19efb1c311df2a6" + integrity sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA== + +semver@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.1.2: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== shebang-command@^1.2.0: version "1.2.0" @@ -1474,10 +1994,19 @@ shelljs@^0.5.1: version "0.5.3" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.5.3.tgz#c54982b996c76ef0c1e6b59fbdc5825f5b713113" -signal-exit@^3.0.0: +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -1528,6 +2057,24 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -1544,6 +2091,20 @@ strip-ansi@^3.0.0: dependencies: ansi-regex "^2.0.0" +strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -1556,6 +2117,11 @@ strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" +strip-json-comments@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" + integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -1576,6 +2142,23 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + tar-stream@^1.5.0: version "1.6.1" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.1.tgz#f84ef1696269d6223ca48f6e1eeede3f7e81f395" @@ -1588,9 +2171,15 @@ tar-stream@^1.5.0: to-buffer "^1.1.0" xtend "^4.0.0" -tfx-cli@0.7.6: - version "0.7.6" - resolved "https://registry.yarnpkg.com/tfx-cli/-/tfx-cli-0.7.6.tgz#72d9e8e1f357bb64c1194b98085e82ff9165acf3" +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +tfx-cli@0.7.11: + version "0.7.11" + resolved "https://registry.yarnpkg.com/tfx-cli/-/tfx-cli-0.7.11.tgz#6771505b167d3004439c5c900cc7e6fc6359ef6d" + integrity sha512-vzYDhmC8qwjo1vJKJ87U71LQN3Y59i/Uzl6aplyK2xTo1ojkzMmqVksJjNWxYoGPGCXD9PKkxCzBIUsFMvOE1Q== dependencies: app-root-path "1.0.0" archiver "2.0.3" @@ -1599,6 +2188,7 @@ tfx-cli@0.7.6: clipboardy "~1.2.3" colors "~1.3.0" glob "7.1.2" + jju "^1.4.0" json-in-place "^1.0.1" jszip "~3.1.5" lodash "~4.17.11" @@ -1629,6 +2219,11 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + timed-out@^3.0.0: version "3.1.3" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" @@ -1657,6 +2252,13 @@ tmp@0.0.26: dependencies: os-tmpdir "~1.0.0" +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + to-buffer@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" @@ -1682,38 +2284,32 @@ tsconfig-glob@^0.4.3: resolve "^1.1.7" stable "^0.1.5" -tslib@^1.8.0, tslib@^1.8.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - -tslint@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.17.0.tgz#f9f0ce2011d8e90debaa6e9b4975f24cd16852b8" - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^3.2.0" - 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" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - dependencies: - tslib "^1.8.1" +tslib@^1.9.0: + version "1.11.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" + integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== tunnel@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.4.tgz#2d3785a158c174c9a16dc2c046ec5fc5f1742213" +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + typed-rest-client@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/typed-rest-client/-/typed-rest-client-1.2.0.tgz#723085d203f38d7d147271e5ed3a75488eb44a02" @@ -1750,6 +2346,13 @@ update-notifier@^1.0.3: semver-diff "^2.0.0" xdg-basedir "^2.0.0" +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + url-parse-lax@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" @@ -1786,6 +2389,11 @@ uuid@^3.0.1: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" +v8-compile-cache@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" + integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + validate-npm-package-license@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" @@ -1829,6 +2437,11 @@ winston@0.8.x: pkginfo "0.3.x" stack-trace "0.0.x" +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -1841,6 +2454,13 @@ write-file-atomic@^1.1.2: imurmurhash "^0.1.4" slide "^1.1.5" +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + xdg-basedir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" From bf634a4285a901c252172a709c00c54e51ba3eb2 Mon Sep 17 00:00:00 2001 From: Cyprien Autexier <2660262+sandorfr@users.noreply.github.com> Date: Sat, 7 Mar 2020 13:07:28 +1100 Subject: [PATCH 5/8] excluse dist --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e78f14b..8550f05 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ bld/ [Bb]in/ [Oo]bj/ +[Dd]ist/ # Visual Studio 2015 cache/options directory .vs/ From 0e167f59f40f349eb4f3ecae6e8718858be6b949 Mon Sep 17 00:00:00 2001 From: Cyprien Autexier <2660262+sandorfr@users.noreply.github.com> Date: Sat, 7 Mar 2020 13:41:16 +1100 Subject: [PATCH 6/8] code quality --- .eslintignore | 3 +- .eslintrc.js | 7 +- .prettierrc.js | 7 ++ .vscode/settings.json | 4 + package.json | 136 +++++++++++----------- src/clean.ts | 2 +- src/configuration.ts | 14 +-- src/endpoints.ts | 4 +- src/extension-version.ts | 19 +-- src/install.ts | 78 +++++++------ src/node-modclean.ts | 17 ++- src/package.ts | 59 ++++++---- src/prebuild.ts | 16 ++- src/task.d.ts | 244 +++++++++++++++++++-------------------- src/tasks.ts | 5 +- yarn.lock | 103 ++++++++++++++++- 16 files changed, 430 insertions(+), 288 deletions(-) create mode 100644 .prettierrc.js create mode 100644 .vscode/settings.json diff --git a/.eslintignore b/.eslintignore index b0f096b..e5ec3db 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,3 @@ dist/* -run/* \ No newline at end of file +run/* +task.d.ts \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index c43fdf3..0f65bed 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,13 +1,16 @@ module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser + parser: "@typescript-eslint/parser", extends: [ - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from the @typescript-eslint/eslint-plugin + "plugin:@typescript-eslint/recommended", + "prettier/@typescript-eslint", + "plugin:prettier/recommended" ], parserOptions: { ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features sourceType: "module" // Allows for the use of imports }, rules: { + "@typescript-eslint/interface-name-prefix": "off" // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs // e.g. "@typescript-eslint/explicit-function-return-type": "off", } diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..4261856 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,7 @@ +module.exports = { + semi: true, + trailingComma: "all", + singleQuote: false, + printWidth: 120, + tabWidth: 4, +}; diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..cabb8c4 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "eslint.alwaysShowStatus": true, + "eslint.autoFixOnSave": true +} \ No newline at end of file diff --git a/package.json b/package.json index 1ed44c0..7230601 100644 --- a/package.json +++ b/package.json @@ -1,70 +1,76 @@ { - "name": "gl-vsts-tasks-build-scripts", - "version": "0.1.0", - "description": "This package provides NPM utility commands to ease Azure Pipelines Tasks extensions developement. This currently powers the development process behind Geek Learning's extensions.", - "bin": { - "vsts-build-tools-clean": "./run/vsts-build-tools-clean", - "vsts-build-tools-install": "./run/vsts-build-tools-install", - "vsts-build-tools-node-modclean": "./run/vsts-build-tools-node-modclean", - "vsts-build-tools-package": "./run/vsts-build-tools-package", - "vsts-build-tools-prebuild": "./run/vsts-build-tools-prebuild" - }, - "scripts": { - "build": "tsc", - "schema:task": "json2ts --input tasks.schema.json --output src/task.d.ts" - }, - "repository": { - "type": "git", - "url": "https://github.com/geeklearningio/gl-vsts-tasks-build-scripts" - }, - "keywords": [ - "Azure", - "DevOps", - "Pipelines", - "Tasks", - "VSTS", - "Build" - ], - "contributors": [ - { - "name": "Geek Learning", - "url": "https://github.com/geeklearningio" + "name": "gl-vsts-tasks-build-scripts", + "version": "0.1.0", + "description": "This package provides NPM utility commands to ease Azure Pipelines Tasks extensions developement. This currently powers the development process behind Geek Learning's extensions.", + "bin": { + "vsts-build-tools-clean": "./run/vsts-build-tools-clean", + "vsts-build-tools-install": "./run/vsts-build-tools-install", + "vsts-build-tools-node-modclean": "./run/vsts-build-tools-node-modclean", + "vsts-build-tools-package": "./run/vsts-build-tools-package", + "vsts-build-tools-prebuild": "./run/vsts-build-tools-prebuild" }, - { - "name": "Cyprien Autexier", - "url": "https://github.com/sandorfr" + "scripts": { + "build": "tsc", + "lint": "eslint src/**/*.ts", + "schema:task": "json2ts --input tasks.schema.json --output src/task.d.ts" }, - { - "name": "Adrien Siffermann", - "url": "https://github.com/asiffermann" + "repository": { + "type": "git", + "url": "https://github.com/geeklearningio/gl-vsts-tasks-build-scripts" + }, + "keywords": [ + "Azure", + "DevOps", + "Pipelines", + "Tasks", + "VSTS", + "Build" + ], + "contributors": [ + { + "name": "Geek Learning", + "url": "https://github.com/geeklearningio" + }, + { + "name": "Cyprien Autexier", + "url": "https://github.com/sandorfr" + }, + { + "name": "Adrien Siffermann", + "url": "https://github.com/asiffermann" + } + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/geeklearningio/gl-vsts-tasks-build-scripts/issues" + }, + "homepage": "https://github.com/geeklearningio/gl-vsts-tasks-build-scripts", + "devDependencies": { + "@types/async": "^3.0.8", + "@types/fs-extra": "^8.1.0", + "@types/lodash": "^4.14.149", + "@types/minimist": "^1.2.0", + "@types/node": "^12.0.5", + "@types/semver": "^7.1.0", + "@typescript-eslint/eslint-plugin": "^2.22.0", + "@typescript-eslint/parser": "^2.22.0", + "eslint": "^6.8.0", + "eslint-config-prettier": "^6.10.0", + "eslint-plugin-prettier": "^3.1.2", + "jasmine": "^3.4.0", + "json-schema-to-typescript": "^6.1.3", + "prettier": "^1.19.1", + "typescript": "3.5.1" + }, + "dependencies": { + "async": "^3.2.0", + "fs-extra": "8.1.0", + "glob": "7.1.6", + "lodash": "4.17.15", + "minimist": "1.2.0", + "modclean": "2.1.0", + "semver": "7.1.3", + "tfx-cli": "0.7.11", + "tsconfig-glob": "^0.4.3" } - ], - "license": "MIT", - "bugs": { - "url": "https://github.com/geeklearningio/gl-vsts-tasks-build-scripts/issues" - }, - "homepage": "https://github.com/geeklearningio/gl-vsts-tasks-build-scripts", - "devDependencies": { - "jasmine": "^3.4.0", - "json-schema-to-typescript": "^6.1.3", - "typescript": "3.5.1", - "eslint": "^6.0.0" - }, - "dependencies": { - "@types/async": "^3.0.8", - "@types/fs-extra": "^8.1.0", - "@types/lodash": "^4.14.149", - "@types/minimist": "^1.2.0", - "@types/node": "^12.0.5", - "@types/semver": "^7.1.0", - "fs-extra": "8.1.0", - "lodash": "4.17.15", - "minimist": "1.2.0", - "modclean": "2.1.0", - "semver": "7.1.3", - "tfx-cli": "0.7.11", - "tsconfig-glob": "^0.4.3", - "async": "^3.2.0", - "glob": "7.1.6" - } } diff --git a/src/clean.ts b/src/clean.ts index 55ae3cd..17fc2dc 100644 --- a/src/clean.ts +++ b/src/clean.ts @@ -7,7 +7,7 @@ import tasks = require("./tasks"); const options = minimist(process.argv.slice(2), {}); fs.emptyDirSync(".BuildOutput"); -forEach(tasks.getTasks(options.taskroot as string | undefined), (task) => { +forEach(tasks.getTasks(options.taskroot as string | undefined), task => { const targetNodeCommonDir = path.join(task.directory, "common"); const taskNodeModules = path.join(task.directory, "node_modules"); const targetPowershellCommonDir = path.join(task.directory, "ps_modules"); diff --git a/src/configuration.ts b/src/configuration.ts index 4c2b2b2..37aae39 100644 --- a/src/configuration.ts +++ b/src/configuration.ts @@ -1,12 +1,12 @@ -import * as path from "path"; +import * as path from "path"; export interface IConfiguration { - "environments": Array<{ - "Name": string; - "VssExtensionIdSuffix": string; - "VssExtensionGalleryFlags": Array<("Preview" | "Public")>; - "DisplayNamesSuffix": string; - "TaskIds": { + environments: Array<{ + Name: string; + VssExtensionIdSuffix: string; + VssExtensionGalleryFlags: Array<"Preview" | "Public">; + DisplayNamesSuffix: string; + TaskIds: { [key: string]: string; }; }>; diff --git a/src/endpoints.ts b/src/endpoints.ts index a8293d7..8577dd3 100644 --- a/src/endpoints.ts +++ b/src/endpoints.ts @@ -4,11 +4,11 @@ import * as path from "path"; export interface IEndpoint { path: string; name: string; + // eslint-disable-next-line manifest: any; } export function getEndpoints(endpointsRoot?: string): IEndpoint[] { - if (!endpointsRoot) { const currentDirectory = process.cwd(); endpointsRoot = path.join(currentDirectory, "Endpoints"); @@ -18,7 +18,7 @@ export function getEndpoints(endpointsRoot?: string): IEndpoint[] { return []; } - return fs.readdirSync(endpointsRoot as string).map((file) => { + return fs.readdirSync(endpointsRoot as string).map(file => { const endpointPath = path.join(endpointsRoot as string, file); const manifest = JSON.parse(fs.readFileSync(endpointPath, { encoding: "utf8" })); diff --git a/src/extension-version.ts b/src/extension-version.ts index ec734a0..98e6f57 100644 --- a/src/extension-version.ts +++ b/src/extension-version.ts @@ -1,7 +1,15 @@ import * as minimist from "minimist"; import * as semver from "semver"; -export function getSemanticVersion() { +class SemanticVersion { + constructor(public major: number, public minor: number, public patch: number) {} + + getVersionString(): string { + return this.major.toString() + "." + this.minor.toString() + "." + this.patch.toString(); + } +} + +export function getSemanticVersion(): SemanticVersion { const options = minimist(process.argv.slice(2), {}); let version = options.version; if (!version) { @@ -27,14 +35,7 @@ export function getSemanticVersion() { } } - const result = { - major: semver.major(version), - minor: semver.minor(version), - patch, - getVersionString() { - return this.major.toString() + "." + this.minor.toString() + "." + this.patch.toString(); - }, - }; + const result = new SemanticVersion(semver.major(version), semver.minor(version), patch); console.log("Extension Version: " + result.getVersionString()); diff --git a/src/install.ts b/src/install.ts index 1cfa05e..bb66ab3 100644 --- a/src/install.ts +++ b/src/install.ts @@ -2,63 +2,69 @@ import { series } from "async"; import { exec, ExecException } from "child_process"; import * as path from "path"; import { getTasks, ITask } from "./tasks"; +import * as fs from "fs-extra"; const npmInstall = (project: ITask) => { - return (done: (error?: ExecException) => void) => { + return (done: (error?: ExecException) => void): void => { const isYarn = path.basename(process.env.npm_execpath || "npm").startsWith("yarn"); const installer = isYarn ? "yarn" : "npm"; - exec(isYarn ? "yarn" : "npm install", { - cwd: project.directory, - }, (error, stdout, stderr) => { - if (error) { - console.error("execution error:", error); - done(error); - return; - } + exec( + isYarn ? "yarn" : "npm install", + { + cwd: project.directory, + }, + (error, stdout, stderr) => { + if (error) { + console.error("execution error:", error); + done(error); + return; + } - console.log(`${installer} install done for ${project.name}`); + console.log(`${installer} install done for ${project.name}`); - if (stdout) { - console.log(stdout); - } + if (stdout) { + console.log(stdout); + } - if (stderr) { - console.error(stderr); - } + if (stderr) { + console.error(stderr); + } - const powerShellModules = require("glob") - .sync(path.join(project.directory, "node_modules", "**", "*.psm1")); + const powerShellModules = require("glob").sync( + path.join(project.directory, "node_modules", "**", "*.psm1"), + ); - if (powerShellModules.length > 0) { - const fs = require("fs-extra"); - const taskFilePath = path.join(project.directory, "task.json"); - const task = fs.existsSync(taskFilePath) ? fs.readJsonSync(taskFilePath) : {}; + if (powerShellModules.length > 0) { + const taskFilePath = path.join(project.directory, "task.json"); + const task = fs.existsSync(taskFilePath) ? fs.readJsonSync(taskFilePath) : {}; - if (task.execution.PowerShell3) { - const psModulesPath = path.join(project.directory, "ps_modules"); - fs.ensureDirSync(psModulesPath); + if (task.execution.PowerShell3) { + const psModulesPath = path.join(project.directory, "ps_modules"); + fs.ensureDirSync(psModulesPath); - for (const modulePath of powerShellModules) { - const powerShellModuleDirName = path.dirname(modulePath); - const powerShellModuleFolderName = path.basename(powerShellModuleDirName); - fs.copySync( - powerShellModuleDirName, - path.join(psModulesPath, powerShellModuleFolderName), { clobber: true, dereference: true }); - console.log(`${powerShellModuleFolderName} copied in ps_modules for ${project.name}`); + for (const modulePath of powerShellModules) { + const powerShellModuleDirName = path.dirname(modulePath); + const powerShellModuleFolderName = path.basename(powerShellModuleDirName); + fs.copySync(powerShellModuleDirName, path.join(psModulesPath, powerShellModuleFolderName), { + overwrite: true, + dereference: true, + }); + console.log(`${powerShellModuleFolderName} copied in ps_modules for ${project.name}`); + } } } - } - done(); - }); + done(); + }, + ); }; }; const installTasks = getTasks().map(npmInstall); -series(installTasks, (err) => { +series(installTasks, err => { if (err) { console.error("Failed to install child dependencies"); throw err; diff --git a/src/node-modclean.ts b/src/node-modclean.ts index 5a50123..5a549ff 100644 --- a/src/node-modclean.ts +++ b/src/node-modclean.ts @@ -4,14 +4,20 @@ import * as minimist from "minimist"; import * as path from "path"; import * as tasks from "./tasks"; -// tslint:disable-next-line: no-var-requires +// eslint-disable-next-line const modclean = require("modclean"); +type ModCleanOptions = { + cwd?: string; + patterns?: string[]; + additionalPatterns?: string[]; + ignorePatterns?: string[]; +}; + const runModclean = (project: tasks.ITask) => { - return (done: (err?: Error) => any) => { + return (done: (err?: Error) => void): void => { if (fs.existsSync(path.join(project.directory, "node_modules"))) { - - const modcleanOptions: any = { + const modcleanOptions: ModCleanOptions = { cwd: project.directory, }; @@ -40,7 +46,6 @@ const runModclean = (project: tasks.ITask) => { console.log(`${results.length} files removed!`); done(); }); - } else { console.log(`modclean skipped for ${project.name}`); done(); @@ -50,7 +55,7 @@ const runModclean = (project: tasks.ITask) => { const cleanTasks = tasks.getTasks().map(runModclean); -series(cleanTasks, (err) => { +series(cleanTasks, err => { if (err) { console.error("Failed to run modclean"); throw err; diff --git a/src/package.ts b/src/package.ts index 4014935..dd46acd 100644 --- a/src/package.ts +++ b/src/package.ts @@ -1,7 +1,7 @@ import { series } from "async"; import { exec } from "child_process"; -import * as fs from "fs-extra"; -import * as path from "path"; +import * as fs from "fs-extra"; +import * as path from "path"; import { getConfiguration } from "./configuration"; import { getEndpoints } from "./endpoints"; import { getSemanticVersion } from "./extension-version"; @@ -18,14 +18,19 @@ fs.ensureDirSync(buildOutputDirectory); const version = getSemanticVersion(); const configuration = getConfiguration(); -const createExtensionTasks = configuration.environments.map((env) => { - +const createExtensionTasks = configuration.environments.map(env => { const environmentDirectory = path.join(buildOutputDirectory, env.Name); const environmentTasksDirectory = path.join(environmentDirectory, "Tasks"); fs.ensureDirSync(environmentDirectory); - fs.copySync(extensionDirectory, environmentDirectory, { overwrite: true, dereference: true }); - fs.copySync(tasksDirectory, environmentTasksDirectory, { overwrite: true, dereference: true }); + fs.copySync(extensionDirectory, environmentDirectory, { + overwrite: true, + dereference: true, + }); + fs.copySync(tasksDirectory, environmentTasksDirectory, { + overwrite: true, + dereference: true, + }); const extensionFilePath = path.join(environmentDirectory, "vss-extension.json"); const extension = fs.readJsonSync(extensionFilePath); @@ -40,9 +45,10 @@ const createExtensionTasks = configuration.environments.map((env) => { const endpointMap: { [source: string]: string } = {}; - getEndpoints().forEach((endpoint) => { - endpointMap[`connectedService:${endpoint.name}`] - = `connectedService:${endpoint.name}${env.VssExtensionIdSuffix}`; + getEndpoints().forEach(endpoint => { + endpointMap[ + `connectedService:${endpoint.name}` + ] = `connectedService:${endpoint.name}${env.VssExtensionIdSuffix}`; const config = endpoint.manifest; config.id = config.id + env.VssExtensionIdSuffix; config.properties.name = endpoint.name + env.VssExtensionIdSuffix; @@ -50,7 +56,7 @@ const createExtensionTasks = configuration.environments.map((env) => { extension.contributions.push(config); }); - getTasks(environmentTasksDirectory).map((taskDirectory) => { + getTasks(environmentTasksDirectory).map(taskDirectory => { const taskFilePath = path.join(taskDirectory.directory, "task.json"); const task = fs.readJsonSync(taskFilePath) as AzureDevOpsTasksSchema; @@ -69,7 +75,7 @@ const createExtensionTasks = configuration.environments.map((env) => { } if (task.inputs) { - task.inputs.forEach((input) => { + task.inputs.forEach(input => { const mappedType = endpointMap[input.type]; if (mappedType) { input.type = mappedType; @@ -100,24 +106,27 @@ const createExtensionTasks = configuration.environments.map((env) => { const resourceFile = path.join(locfilesDirectory, element, "resources.resjson"); if (fs.existsSync(resourceFile)) { const resource = fs.readJsonSync(resourceFile); - resource["loc.helpMarkDown"] = resource["loc.helpMarkDown"] - .replace("#{Version}#", version.getVersionString()); + resource["loc.helpMarkDown"] = resource["loc.helpMarkDown"].replace( + "#{Version}#", + version.getVersionString(), + ); fs.writeJsonSync(resourceFile, resource); } } } } - const taskId = taskDirectory.name.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^[-]+/, ""); + const taskId = taskDirectory.name + .replace(/([A-Z])/g, "-$1") + .toLowerCase() + .replace(/^[-]+/, ""); extension.contributions.push({ description: task.description, id: taskId + "-task", properties: { name: "Tasks/" + taskDirectory.name, }, - targets: [ - "ms.vss-distributed-task.tasks", - ], + targets: ["ms.vss-distributed-task.tasks"], type: "ms.vss-distributed-task.task", }); } else { @@ -127,13 +136,17 @@ const createExtensionTasks = configuration.environments.map((env) => { fs.writeJsonSync(extensionFilePath, extension); - const cmdline = 'tfx extension create --root "' + environmentDirectory - + '" --manifest-globs "' + extensionFilePath - + '" --output-path "' + environmentDirectory + '"'; + const cmdline = + 'tfx extension create --root "' + + environmentDirectory + + '" --manifest-globs "' + + extensionFilePath + + '" --output-path "' + + environmentDirectory + + '"'; - return (done: (err?: Error) => any) => { + return (done: (err?: Error) => void): void => { exec(cmdline, {}, (error, stdout, stderr) => { - if (error) { console.error(`exec error: ${error}`); done(error); @@ -155,7 +168,7 @@ const createExtensionTasks = configuration.environments.map((env) => { }; }); -series(createExtensionTasks, (err) => { +series(createExtensionTasks, err => { if (err) { console.error("Failed to create extensions."); throw err; diff --git a/src/prebuild.ts b/src/prebuild.ts index 88eaca6..13eb548 100644 --- a/src/prebuild.ts +++ b/src/prebuild.ts @@ -10,7 +10,7 @@ const powershellCommonFilesRoot = path.join(currentDirectory, "Common", "PowerSh const nodeFiles = fs.existsSync(nodeCommonFilesRoot) ? fs.readdirSync(nodeCommonFilesRoot) : []; const powershellFiles = fs.existsSync(powershellCommonFilesRoot) ? fs.readdirSync(powershellCommonFilesRoot) : []; -forEach(tasks.getTasks(), (task) => { +forEach(tasks.getTasks(), task => { const targetNodeCommonDir = path.join(task.directory, "common"); const taskNodeModules = path.join(task.directory, "node_modules"); const targetPowershellCommonDir = path.join(task.directory, "ps_modules"); @@ -21,19 +21,25 @@ forEach(tasks.getTasks(), (task) => { if (taskFile.execution.Node || taskFile.execution.Node10) { fs.ensureDirSync(targetNodeCommonDir); fs.ensureDirSync(taskNodeModules); - forEach(nodeFiles, (commonFile) => { + forEach(nodeFiles, commonFile => { const targetFile = path.join(targetNodeCommonDir, commonFile); console.log(targetFile); - fs.copySync(path.join(nodeCommonFilesRoot, commonFile), targetFile, { overwrite: true }); + fs.copySync(path.join(nodeCommonFilesRoot, commonFile), targetFile, { + overwrite: true, + errorOnExist: false, + }); }); } if (taskFile.execution.PowerShell3) { fs.ensureDirSync(targetPowershellCommonDir); - forEach(powershellFiles, (commonFile) => { + forEach(powershellFiles, commonFile => { const targetFile = path.join(targetPowershellCommonDir, commonFile); console.log(targetFile); - fs.copySync(path.join(powershellCommonFilesRoot, commonFile), targetFile, { overwrite: true }); + fs.copySync(path.join(powershellCommonFilesRoot, commonFile), targetFile, { + overwrite: true, + errorOnExist: false, + }); }); } }); diff --git a/src/task.d.ts b/src/task.d.ts index d8df5c6..7dd999b 100644 --- a/src/task.d.ts +++ b/src/task.d.ts @@ -5,147 +5,147 @@ */ export interface AzureDevOpsTasksSchema { - /** - * A unique guid for this task - */ - id?: string; - /** - * Name with no spaces - */ - name?: string; - /** - * Descriptive name (spaces allowed) - */ - friendlyName?: string; - /** - * Detailed description of what your task does - */ - description?: string; - helpMarkDown?: string; - author?: string; - preview?: boolean; - /** - * Task is deprecated only when the latest version is marked as deprecated. Deprecated tasks appear at the end of searches under a section that is collapsed by default. - */ - deprecated?: boolean; - /** - * Toggles showing the environment variable editor in the task editor UI. Allows passing environment variables to script based tasks. - */ - showEnvironmentVariables?: boolean; - runsOn?: ("Agent" | "MachineGroup" | "Server")[]; - /** - * Where the task appears in Azure DevOps. Use the 'Azure *' categories for Azure DevOps and Azure DevOps Server 2019. Use the other categories for Team Foundation Server 2018 and below. - */ - category?: - | "Build" - | "Utility" - | "Test" - | "Package" - | "Deploy" - | "Azure Repos" - | "Azure Boards" - | "Azure Pipelines" - | "Azure Test Plans" - | "Azure Artifacts"; - /** - * Describes groups that task properties may be logically grouped by in the UI. - */ - groups?: { - name: string; - displayName: string; - isExpanded?: boolean; - }[]; - /** - * Allows you to define a list of demands that a build agent requires to run this build task. - */ - demands?: string[]; - minimumAgentVersion?: string; - /** - * Always update this when you release your task, so that the agents utilize the latest code. - */ - version?: { - Major: number; - Minor: number; - Patch: number; - }; - /** - * This is how the task will be displayed within the build step list - you can use variable values by using $(variablename) - */ - instanceNameFormat?: string; - inputs?: { /** - * The variable name to use to store the user-supplied value + * A unique guid for this task */ - name: string; + id?: string; /** - * The text displayed to the user for the input label + * Name with no spaces */ - label: string; + name?: string; /** - * The type that dictates the control rendered to the user. + * Descriptive name (spaces allowed) */ - type: ("boolean" | "filePath" | "multiLine" | "pickList" | "radio" | "secureFile" | "string") | string; + friendlyName?: string; /** - * The default value to apply to this input. + * Detailed description of what your task does */ - defaultValue?: string | boolean; + description?: string; + helpMarkDown?: string; + author?: string; + preview?: boolean; /** - * Whether the input is a required field (default is false). + * Task is deprecated only when the latest version is marked as deprecated. Deprecated tasks appear at the end of searches under a section that is collapsed by default. */ - required?: boolean; + deprecated?: boolean; /** - * Help to be displayed when hovering over the help icon for the input. To display URLs use the format [Text To Display](http://Url) + * Toggles showing the environment variable editor in the task editor UI. Allows passing environment variables to script based tasks. */ - helpMarkDown?: string; + showEnvironmentVariables?: boolean; + runsOn?: ("Agent" | "MachineGroup" | "Server")[]; /** - * Setting this to the name of a group defined in 'groups' will place the input into that group. + * Where the task appears in Azure DevOps. Use the 'Azure *' categories for Azure DevOps and Azure DevOps Server 2019. Use the other categories for Team Foundation Server 2018 and below. */ - groupName?: string; + category?: + | "Build" + | "Utility" + | "Test" + | "Package" + | "Deploy" + | "Azure Repos" + | "Azure Boards" + | "Azure Pipelines" + | "Azure Test Plans" + | "Azure Artifacts"; /** - * Allow's you to define a rule which dictates when the input will be visible to a user, for example "variableName = value" + * Describes groups that task properties may be logically grouped by in the UI. */ - visibleRule?: string; - properties?: { - editableOptions?: "True" | "False"; - [k: string]: any; + groups?: { + name: string; + displayName: string; + isExpanded?: boolean; + }[]; + /** + * Allows you to define a list of demands that a build agent requires to run this build task. + */ + demands?: string[]; + minimumAgentVersion?: string; + /** + * Always update this when you release your task, so that the agents utilize the latest code. + */ + version?: { + Major: number; + Minor: number; + Patch: number; }; - options?: { - [k: string]: any; + /** + * This is how the task will be displayed within the build step list - you can use variable values by using $(variablename) + */ + instanceNameFormat?: string; + inputs?: { + /** + * The variable name to use to store the user-supplied value + */ + name: string; + /** + * The text displayed to the user for the input label + */ + label: string; + /** + * The type that dictates the control rendered to the user. + */ + type: ("boolean" | "filePath" | "multiLine" | "pickList" | "radio" | "secureFile" | "string") | string; + /** + * The default value to apply to this input. + */ + defaultValue?: string | boolean; + /** + * Whether the input is a required field (default is false). + */ + required?: boolean; + /** + * Help to be displayed when hovering over the help icon for the input. To display URLs use the format [Text To Display](http://Url) + */ + helpMarkDown?: string; + /** + * Setting this to the name of a group defined in 'groups' will place the input into that group. + */ + groupName?: string; + /** + * Allow's you to define a rule which dictates when the input will be visible to a user, for example "variableName = value" + */ + visibleRule?: string; + properties?: { + editableOptions?: "True" | "False"; + [k: string]: any; + }; + options?: { + [k: string]: any; + }; + }[]; + dataSourceBindings?: { + target?: string; + endpointId?: string; + dataSourceName?: string; + parameters?: { + [k: string]: any; + }; + resultTemplate?: string; + }[]; + sourceDefinitions?: { + target?: string; + endpoint?: string; + selector?: string; + keySelector?: string; + authKey?: string; + }[]; + /** + * Execution options for this task + */ + execution?: { + Node?: ExecutionObject; + PowerShell3?: ExecutionObject; }; - }[]; - dataSourceBindings?: { - target?: string; - endpointId?: string; - dataSourceName?: string; - parameters?: { - [k: string]: any; + messages?: { + [k: string]: any; }; - resultTemplate?: string; - }[]; - sourceDefinitions?: { - target?: string; - endpoint?: string; - selector?: string; - keySelector?: string; - authKey?: string; - }[]; - /** - * Execution options for this task - */ - execution?: { - Node?: ExecutionObject; - PowerShell3?: ExecutionObject; - }; - messages?: { - [k: string]: any; - }; - $schema?: string; + $schema?: string; } export interface ExecutionObject { - /** - * The target file to be executed. You can use variables here in brackets e.g. $(currentDirectory) ilename.ps1 - */ - target?: string; - platforms?: ("windows")[]; - [k: string]: any; + /** + * The target file to be executed. You can use variables here in brackets e.g. $(currentDirectory) ilename.ps1 + */ + target?: string; + platforms?: "windows"[]; + [k: string]: any; } diff --git a/src/tasks.ts b/src/tasks.ts index 8b4e3ad..b4ef272 100644 --- a/src/tasks.ts +++ b/src/tasks.ts @@ -7,7 +7,6 @@ export interface ITask { } export function getTasks(tasksRoot?: string): ITask[] { - if (!tasksRoot) { const currentDirectory = process.cwd(); tasksRoot = path.join(currentDirectory, "Tasks"); @@ -15,12 +14,12 @@ export function getTasks(tasksRoot?: string): ITask[] { const tasks = fs.readdirSync(tasksRoot); return tasks - .map((task) => { + .map(task => { const taskDir = path.join(tasksRoot as string, task); return { directory: taskDir, name: task, }; }) - .filter((task) => fs.statSync(task.directory).isDirectory()); + .filter(task => fs.statSync(task.directory).isDirectory()); } diff --git a/yarn.lock b/yarn.lock index 811e5cf..76ac956 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,6 +30,11 @@ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + "@types/fs-extra@^8.1.0": version "8.1.0" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-8.1.0.tgz#1114834b53c3914806cd03b3304b37b3bd221a4d" @@ -83,6 +88,49 @@ dependencies: "@types/node" "*" +"@typescript-eslint/eslint-plugin@^2.22.0": + version "2.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.22.0.tgz#218ce6d4aa0244c6a40baba39ca1e021b26bb017" + integrity sha512-BvxRLaTDVQ3N+Qq8BivLiE9akQLAOUfxNHIEhedOcg8B2+jY8Rc4/D+iVprvuMX1AdezFYautuGDwr9QxqSxBQ== + dependencies: + "@typescript-eslint/experimental-utils" "2.22.0" + eslint-utils "^1.4.3" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@2.22.0": + version "2.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.22.0.tgz#4d00c91fbaaa68e56e7869be284999a265707f85" + integrity sha512-sJt1GYBe6yC0dWOQzXlp+tiuGglNhJC9eXZeC8GBVH98Zv9jtatccuhz0OF5kC/DwChqsNfghHx7OlIDQjNYAQ== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.22.0" + eslint-scope "^5.0.0" + +"@typescript-eslint/parser@^2.22.0": + version "2.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.22.0.tgz#8eeb6cb6de873f655e64153397d4790898e149d0" + integrity sha512-FaZKC1X+nvD7qMPqKFUYHz3H0TAioSVFGvG29f796Nc5tBluoqfHgLbSFKsh7mKjRoeTm8J9WX2Wo9EyZWjG7w== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.22.0" + "@typescript-eslint/typescript-estree" "2.22.0" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@2.22.0": + version "2.22.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.22.0.tgz#a16ed45876abf743e1f5857e2f4a1c3199fd219e" + integrity sha512-2HFZW2FQc4MhIBB8WhDm9lVFaBDy6h9jGrJ4V2Uzxe/ON29HCHBTj3GkgcsgMWfsl2U5as+pTOr30Nibaw7qRQ== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^6.3.0" + tsutils "^3.17.1" + acorn-jsx@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" @@ -541,7 +589,7 @@ dateformat@1.0.11: get-stdin "*" meow "*" -debug@^4.0.1: +debug@^4.0.1, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -720,6 +768,20 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" +eslint-config-prettier@^6.10.0: + version "6.10.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.10.0.tgz#7b15e303bf9c956875c948f6b21500e48ded6a7f" + integrity sha512-AtndijGte1rPILInUdHjvKEGbIV06NuvPrqlIEaEaWtbtvJh464mDeyGMdZEQMsGvC0ZVkiex1fSNcC4HAbRGg== + dependencies: + get-stdin "^6.0.0" + +eslint-plugin-prettier@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz#432e5a667666ab84ce72f945c72f77d996a5c9ba" + integrity sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA== + dependencies: + prettier-linter-helpers "^1.0.0" + eslint-scope@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" @@ -740,7 +802,7 @@ eslint-visitor-keys@^1.1.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== -eslint@^6.0.0: +eslint@^6.8.0: version "6.8.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== @@ -860,6 +922,11 @@ fast-deep-equal@^3.1.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -946,7 +1013,7 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -get-stdin@*: +get-stdin@*, get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" @@ -972,7 +1039,7 @@ glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.6: +glob@7.1.6, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -1757,10 +1824,22 @@ prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + prettier@^1.16.4: version "1.17.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.17.1.tgz#ed64b4e93e370cb8a25b9ef7fef3e4fd1c0995db" +prettier@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" @@ -1869,6 +1948,11 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== +regexpp@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" + integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== + registry-auth-token@^3.0.1: version "3.3.2" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" @@ -1975,7 +2059,7 @@ semver@^5.5.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.1.2: +semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -2284,11 +2368,18 @@ tsconfig-glob@^0.4.3: resolve "^1.1.7" stable "^0.1.5" -tslib@^1.9.0: +tslib@^1.8.1, tslib@^1.9.0: version "1.11.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== +tsutils@^3.17.1: + version "3.17.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== + dependencies: + tslib "^1.8.1" + tunnel@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.4.tgz#2d3785a158c174c9a16dc2c046ec5fc5f1742213" From 496d27a31f25990a31eb67af958f7337a8344766 Mon Sep 17 00:00:00 2001 From: Cyprien Autexier <2660262+sandorfr@users.noreply.github.com> Date: Sat, 7 Mar 2020 13:56:14 +1100 Subject: [PATCH 7/8] include dist in package --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 7230601..f81b260 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,9 @@ "type": "git", "url": "https://github.com/geeklearningio/gl-vsts-tasks-build-scripts" }, + "files": [ + "dist" + ], "keywords": [ "Azure", "DevOps", From 97fa8a8856be923fcd7bf99c5f1d79a558062178 Mon Sep 17 00:00:00 2001 From: Cyprien Autexier <2660262+sandorfr@users.noreply.github.com> Date: Sat, 7 Mar 2020 14:03:27 +1100 Subject: [PATCH 8/8] add run --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index f81b260..40b4cc6 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "url": "https://github.com/geeklearningio/gl-vsts-tasks-build-scripts" }, "files": [ - "dist" + "dist", + "run" ], "keywords": [ "Azure",