WEB-34558 - basic support for @angular/cli 6.2.0
authorPiotr Tomiak <piotr.tomiak@jetbrains.com>
Fri, 31 Aug 2018 11:54:43 +0000 (13:54 +0200)
committerPiotr Tomiak <piotr.tomiak@jetbrains.com>
Fri, 31 Aug 2018 11:56:35 +0000 (13:56 +0200)
- schematics
- karma and protractor launch configurations creation

AngularJS/gen/ngCli/schematicsInfoProvider.js
AngularJS/gen/ngCli/schematicsProvider.js [new file with mode: 0644]
AngularJS/gen/ngCli/schematicsProvider60.js [new file with mode: 0644]
AngularJS/gen/ngCli/schematicsProvider62.js [new file with mode: 0644]
AngularJS/src/ngCli/package-lock.json
AngularJS/src/ngCli/package.json
AngularJS/src/ngCli/schematicsInfoProvider.ts
AngularJS/src/ngCli/schematicsProvider.ts [new file with mode: 0644]
AngularJS/src/ngCli/schematicsProvider60.ts [new file with mode: 0644]
AngularJS/src/ngCli/schematicsProvider62.ts [new file with mode: 0644]
AngularJS/src/org/angularjs/cli/AngularCliConfigLoader.kt

index 434d80a283138bfe8cb7c6bec8e8808f4ce8db98..4ab7339432229089d1577f08eacf483fedcc1ede 100644 (file)
@@ -1,16 +1,25 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
+// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+/* Initialize access to schematics registry */
+var provider;
 try {
-    require('@angular/cli/utilities/schematics');
+    //first try to use schematics utils approach
+    provider = require("./schematicsProvider60");
 }
 catch (e) {
-    console.info("No schematics");
-    process.exit(0);
+    try {
+        //if not working than try to load SchematicCommand
+        provider = require("./schematicsProvider62");
+    }
+    catch (e) {
+        console.info("No schematics");
+        process.exit(0);
+    }
 }
-var schematics_1 = require("@angular/cli/utilities/schematics");
 var path = require("path");
 var fs = require("fs");
-var engineHost = schematics_1.getEngineHost();
+var engineHost = provider.getEngineHost();
 var includeHidden = process.argv[2] === "--includeHidden";
 var defaultCollectionName;
 try {
@@ -58,7 +67,7 @@ function getCollectionSchematics(collectionName) {
     var schematicNames;
     var collection;
     try {
-        collection = schematics_1.getCollection(collectionName);
+        collection = provider.getCollection(collectionName);
         schematicNames = includeHidden
             ? listAllSchematics(collection)
             : engineHost.listSchematics(collection);
@@ -71,7 +80,7 @@ function getCollectionSchematics(collectionName) {
     }
     try {
         var schematicInfos = schematicNames
-            .map(function (name) { return schematics_1.getSchematic(collection, name).description; })
+            .map(function (name) { return provider.getSchematic(collection, name).description; })
             //`ng-add` schematics should be executed only with `ng add`
             .filter(function (info) { return (info.name !== "ng-add" || includeHidden) && info.schemaJson !== undefined; });
         var newFormat_1 = schematicInfos
diff --git a/AngularJS/gen/ngCli/schematicsProvider.js b/AngularJS/gen/ngCli/schematicsProvider.js
new file mode 100644 (file)
index 0000000..c8ad2e5
--- /dev/null
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/AngularJS/gen/ngCli/schematicsProvider60.js b/AngularJS/gen/ngCli/schematicsProvider60.js
new file mode 100644 (file)
index 0000000..a89d8f2
--- /dev/null
@@ -0,0 +1,8 @@
+"use strict";
+var schematicsUtils = require('@angular/cli/utilities/schematics');
+var schematicsProvider = {
+    getCollection: schematicsUtils.getCollection,
+    getEngineHost: schematicsUtils.getEngineHost,
+    getSchematic: schematicsUtils.getSchematic
+};
+module.exports = schematicsProvider;
diff --git a/AngularJS/gen/ngCli/schematicsProvider62.js b/AngularJS/gen/ngCli/schematicsProvider62.js
new file mode 100644 (file)
index 0000000..04d2906
--- /dev/null
@@ -0,0 +1,15 @@
+"use strict";
+var schematic_command_1 = require("@angular/cli/models/schematic-command");
+var command = new schematic_command_1.SchematicCommand(null, null);
+var schematicsProvider = {
+    getCollection: function (collectionName) {
+        return command.getCollection(collectionName);
+    },
+    getEngineHost: function () {
+        return command.getEngineHost();
+    },
+    getSchematic: function (collection, schematicName, allowPrivate) {
+        return command.getSchematic(collection, schematicName, allowPrivate);
+    }
+};
+module.exports = schematicsProvider;
index 36285c1b508a6709e60b14e31e732b6254731836..718448816fbe981a64b071f552cd438bd4d050e4 100644 (file)
@@ -1,78 +1,77 @@
 {
-  "name": "ngCli",
+  "name": "ng-cli",
   "version": "1.0.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
     "@angular-devkit/architect": {
-      "version": "0.6.8",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.6.8.tgz",
-      "integrity": "sha512-ZKTm/zC61iY9IBHOEAKoMSzZpvhkmv+1O/HHzpHEuR551jCzu6vSyCmMY9Z7GBcccscCV+hjeSMwgFrFRcqlkw==",
+      "version": "0.8.0-rc.0",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.8.0-rc.0.tgz",
+      "integrity": "sha512-nJ5+uXXPHNqu5zQQd9/f6ETBS6e1mEKIu+c/izBvvf1fLJzcCpSgehrlmXeSRnqPsEh/NfCg6on+aj0HQ0tieg==",
       "requires": {
-        "@angular-devkit/core": "0.6.8",
-        "rxjs": "6.2.0"
+        "@angular-devkit/core": "0.8.0-rc.0",
+        "rxjs": "6.3.0"
       }
     },
     "@angular-devkit/core": {
-      "version": "0.6.8",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.6.8.tgz",
-      "integrity": "sha512-rkIa1OSVWTt4g9leLSK/PsqOj3HZbDKHbZjqlslyfVa3AyCeiumFoOgViOVXlYgPX3HHDbE5uH24nyUWSD8uww==",
+      "version": "0.8.0-rc.0",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-0.8.0-rc.0.tgz",
+      "integrity": "sha512-VFAj8z1+9REfA/rE2TS3Ggup7wwTgC36ddNc5jbsR/v8N3/l6XlUcbosgn78k/CwN8pKgcEr68kiU/2NVASFkQ==",
       "requires": {
         "ajv": "6.4.0",
-        "chokidar": "2.0.3",
-        "rxjs": "6.2.0",
+        "chokidar": "2.0.4",
+        "rxjs": "6.3.0",
         "source-map": "0.5.7"
       }
     },
     "@angular-devkit/schematics": {
-      "version": "0.6.8",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.6.8.tgz",
-      "integrity": "sha512-R4YqAUdo62wtrhX/5HSRGSKXNTWqfQb66ZE6m8jj6GEJNFKdNXMdxOchxr07LCiKTxfh1w6G3nGzxIsu/+D4KA==",
+      "version": "0.8.0-rc.0",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-0.8.0-rc.0.tgz",
+      "integrity": "sha512-XZ5AnzfqqPcx1SjHi+y6HPom7GJvC9DU+4vvdKj+vCK5ih3cGdNlAJpv1a9cncMYoQ7IqR5H/2+iqeCpFjepow==",
       "requires": {
-        "@angular-devkit/core": "0.6.8",
-        "rxjs": "6.2.0"
+        "@angular-devkit/core": "0.8.0-rc.0",
+        "rxjs": "6.3.0"
       }
     },
     "@angular/cli": {
-      "version": "6.0.8",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.0.8.tgz",
-      "integrity": "sha512-DhH1Zq5Yonthw6zh6W07fhf+9XrAZbD1fcQ0MrmbxlieCfLlTAdBqyK2LavFCKwSZkUMLF6UHM3+jiNRVZSSIg==",
-      "requires": {
-        "@angular-devkit/architect": "0.6.8",
-        "@angular-devkit/core": "0.6.8",
-        "@angular-devkit/schematics": "0.6.8",
-        "@schematics/angular": "0.6.8",
-        "@schematics/update": "0.6.8",
+      "version": "6.2.0-rc.0",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-6.2.0-rc.0.tgz",
+      "integrity": "sha512-ZUf75RuXjI9Onfu4hLgfV7DpB6eX5tZ+yCqKLmBTr0A5IDxaaENeJmaV3lHldv7+t11o245Vi3WW3854Zlt3Zw==",
+      "requires": {
+        "@angular-devkit/architect": "0.8.0-rc.0",
+        "@angular-devkit/core": "0.8.0-rc.0",
+        "@angular-devkit/schematics": "0.8.0-rc.0",
+        "@schematics/angular": "0.8.0-rc.0",
+        "@schematics/update": "0.8.0-rc.0",
+        "json-schema-traverse": "0.4.1",
         "opn": "5.3.0",
-        "resolve": "1.7.1",
-        "rxjs": "6.2.0",
-        "semver": "5.5.0",
-        "silent-error": "1.1.0",
+        "rxjs": "6.3.0",
+        "semver": "5.5.1",
         "symbol-observable": "1.2.0",
-        "yargs-parser": "10.0.0"
+        "yargs-parser": "10.1.0"
       }
     },
     "@schematics/angular": {
-      "version": "0.6.8",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.6.8.tgz",
-      "integrity": "sha512-9kRphqTYG5Df/I8fvnT1zMsw0YNDPO9tl18tQZXj4am4raT7l9UCr+WkwJdlBoA5pwG6baWE9sL0iGWV/bzF/g==",
+      "version": "0.8.0-rc.0",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-0.8.0-rc.0.tgz",
+      "integrity": "sha512-lOYo5c12t25Y8GipUW27ZEouGcGgZ34Sf0UuocU/Ui1vFLC6KrLV05ygAQWnyvOW3qlFNcwiiGdkeKH6lIKLKQ==",
       "requires": {
-        "@angular-devkit/core": "0.6.8",
-        "@angular-devkit/schematics": "0.6.8",
-        "typescript": "2.7.2"
+        "@angular-devkit/core": "0.8.0-rc.0",
+        "@angular-devkit/schematics": "0.8.0-rc.0",
+        "typescript": "2.9.2"
       }
     },
     "@schematics/update": {
-      "version": "0.6.8",
-      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.6.8.tgz",
-      "integrity": "sha512-1Uq7LYnwL2wBwGVCgNz76QAR13ghAk+2vDDHOi+VX5+usHManxydrpoMGeX66OBPd+y5D3D2MFb+8mYHE7mygg==",
+      "version": "0.8.0-rc.0",
+      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.8.0-rc.0.tgz",
+      "integrity": "sha512-9Vfi+H8qYa8v2wnWehYPWdbOkeSPummYYOeu2FyvqddJPEGJ/7feZjm13USDN1xPreKShk+czReVb6YDHV0Vqw==",
       "requires": {
-        "@angular-devkit/core": "0.6.8",
-        "@angular-devkit/schematics": "0.6.8",
-        "npm-registry-client": "8.5.1",
-        "rxjs": "6.2.0",
-        "semver": "5.5.0",
-        "semver-intersect": "1.3.1"
+        "@angular-devkit/core": "0.8.0-rc.0",
+        "@angular-devkit/schematics": "0.8.0-rc.0",
+        "npm-registry-client": "8.6.0",
+        "rxjs": "6.3.0",
+        "semver": "5.5.1",
+        "semver-intersect": "1.4.0"
       }
     },
     "@types/node": {
         "fast-json-stable-stringify": "2.0.0",
         "json-schema-traverse": "0.3.1",
         "uri-js": "3.0.2"
+      },
+      "dependencies": {
+        "json-schema-traverse": {
+          "version": "0.3.1",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+          "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+        }
       }
     },
     "ansi-regex": {
       "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
     },
     "asn1": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
-      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
+      "version": "0.2.4",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+      "requires": {
+        "safer-buffer": "2.1.2"
+      }
     },
     "assert-plus": {
       "version": "1.0.0",
       "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
     },
     "atob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
-      "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio="
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
     },
     "aws-sign2": {
       "version": "0.7.0",
       "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
     },
     "aws4": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
-      "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w=="
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
     },
     "balanced-match": {
       "version": "1.0.0",
       }
     },
     "bcrypt-pbkdf": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
-      "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
       "optional": true,
       "requires": {
         "tweetnacl": "0.14.5"
         "extend-shallow": "2.0.1",
         "fill-range": "4.0.0",
         "isobject": "3.0.1",
-        "repeat-element": "1.1.2",
+        "repeat-element": "1.1.3",
         "snapdragon": "0.8.2",
         "snapdragon-node": "2.1.1",
         "split-string": "3.1.0",
       }
     },
     "buffer-from": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
-      "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ=="
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
     },
     "builtin-modules": {
       "version": "1.1.1",
       "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
     },
     "chokidar": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.3.tgz",
-      "integrity": "sha512-zW8iXYZtXMx4kux/nuZVXjkLP+CyIK5Al5FHnj1OgTKGZfp4Oy6/ymtMSKFv3GD8DviEmUPmJg9eFdJ/JzudMg==",
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
+      "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
       "requires": {
         "anymatch": "2.0.0",
         "async-each": "1.0.1",
         "inherits": "2.0.3",
         "is-binary-path": "1.0.1",
         "is-glob": "4.0.0",
+        "lodash.debounce": "4.0.8",
         "normalize-path": "2.1.1",
         "path-is-absolute": "1.0.1",
         "readdirp": "2.1.0",
       "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
       "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
       "requires": {
-        "buffer-from": "1.1.0",
+        "buffer-from": "1.1.1",
         "inherits": "2.0.3",
         "readable-stream": "2.3.6",
         "typedarray": "0.0.6"
       "optional": true
     },
     "ecc-jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
-      "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
       "optional": true,
       "requires": {
-        "jsbn": "0.1.1"
+        "jsbn": "0.1.1",
+        "safer-buffer": "2.1.2"
       }
     },
     "expand-brackets": {
       }
     },
     "extend": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
-      "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
     },
     "extend-shallow": {
       "version": "3.0.2",
       "requires": {
         "asynckit": "0.4.0",
         "combined-stream": "1.0.6",
-        "mime-types": "2.1.18"
+        "mime-types": "2.1.20"
       }
     },
     "fragment-cache": {
       "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
     },
     "har-validator": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
-      "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
+      "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
       "requires": {
         "ajv": "5.5.2",
         "har-schema": "2.0.0"
             "fast-json-stable-stringify": "2.0.0",
             "json-schema-traverse": "0.3.1"
           }
+        },
+        "json-schema-traverse": {
+          "version": "0.3.1",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+          "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
         }
       }
     },
       }
     },
     "hosted-git-info": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
-      "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw=="
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
+      "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
     },
     "http-signature": {
       "version": "1.2.0",
         }
       }
     },
-    "is-odd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
-      "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
-      "requires": {
-        "is-number": "4.0.0"
-      },
-      "dependencies": {
-        "is-number": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
-          "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
-        }
-      }
-    },
     "is-plain-object": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
       "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
     },
     "json-schema-traverse": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
-      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
     },
     "json-stringify-safe": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
       "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
     },
+    "lodash.debounce": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
+    },
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
         "extglob": "2.0.4",
         "fragment-cache": "0.2.1",
         "kind-of": "6.0.2",
-        "nanomatch": "1.2.9",
+        "nanomatch": "1.2.13",
         "object.pick": "1.3.0",
         "regex-not": "1.0.2",
         "snapdragon": "0.8.2",
       }
     },
     "mime-db": {
-      "version": "1.33.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
-      "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
+      "version": "1.36.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz",
+      "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw=="
     },
     "mime-types": {
-      "version": "2.1.18",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
-      "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+      "version": "2.1.20",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz",
+      "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==",
       "requires": {
-        "mime-db": "1.33.0"
+        "mime-db": "1.36.0"
       }
     },
     "minimatch": {
       "optional": true
     },
     "nanomatch": {
-      "version": "1.2.9",
-      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
-      "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
+      "version": "1.2.13",
+      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
       "requires": {
         "arr-diff": "4.0.0",
         "array-unique": "0.3.2",
         "define-property": "2.0.2",
         "extend-shallow": "3.0.2",
         "fragment-cache": "0.2.1",
-        "is-odd": "2.0.0",
         "is-windows": "1.0.2",
         "kind-of": "6.0.2",
         "object.pick": "1.3.0",
       "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
       "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
       "requires": {
-        "hosted-git-info": "2.6.0",
+        "hosted-git-info": "2.7.1",
         "is-builtin-module": "1.0.0",
-        "semver": "5.5.0",
-        "validate-npm-package-license": "3.0.3"
+        "semver": "5.5.1",
+        "validate-npm-package-license": "3.0.4"
       }
     },
     "normalize-path": {
       "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
       "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
       "requires": {
-        "hosted-git-info": "2.6.0",
+        "hosted-git-info": "2.7.1",
         "osenv": "0.1.5",
-        "semver": "5.5.0",
+        "semver": "5.5.1",
         "validate-npm-package-name": "3.0.0"
       }
     },
     "npm-registry-client": {
-      "version": "8.5.1",
-      "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.5.1.tgz",
-      "integrity": "sha512-7rjGF2eA7hKDidGyEWmHTiKfXkbrcQAsGL/Rh4Rt3x3YNRNHhwaTzVJfW3aNvvlhg4G62VCluif0sLCb/i51Hg==",
+      "version": "8.6.0",
+      "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.6.0.tgz",
+      "integrity": "sha512-Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==",
       "requires": {
         "concat-stream": "1.6.2",
         "graceful-fs": "4.1.11",
         "npm-package-arg": "6.1.0",
         "npmlog": "4.1.2",
         "once": "1.4.0",
-        "request": "2.87.0",
+        "request": "2.88.0",
         "retry": "0.10.1",
         "safe-buffer": "5.1.2",
-        "semver": "5.5.0",
+        "semver": "5.5.1",
         "slide": "1.1.6",
         "ssri": "5.3.0"
       }
       "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
     },
     "oauth-sign": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
-      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
     },
     "object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
       "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
     },
-    "path-parse": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
-      "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME="
-    },
     "performance-now": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
       "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
     },
+    "psl": {
+      "version": "1.1.29",
+      "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
+      "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
+    },
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
       "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
     },
     "repeat-element": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
-      "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
     },
     "repeat-string": {
       "version": "1.6.1",
       "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
     },
     "request": {
-      "version": "2.87.0",
-      "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
-      "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
+      "version": "2.88.0",
+      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
       "requires": {
         "aws-sign2": "0.7.0",
-        "aws4": "1.7.0",
+        "aws4": "1.8.0",
         "caseless": "0.12.0",
         "combined-stream": "1.0.6",
-        "extend": "3.0.1",
+        "extend": "3.0.2",
         "forever-agent": "0.6.1",
         "form-data": "2.3.2",
-        "har-validator": "5.0.3",
+        "har-validator": "5.1.0",
         "http-signature": "1.2.0",
         "is-typedarray": "1.0.0",
         "isstream": "0.1.2",
         "json-stringify-safe": "5.0.1",
-        "mime-types": "2.1.18",
-        "oauth-sign": "0.8.2",
+        "mime-types": "2.1.20",
+        "oauth-sign": "0.9.0",
         "performance-now": "2.1.0",
         "qs": "6.5.2",
         "safe-buffer": "5.1.2",
-        "tough-cookie": "2.3.4",
+        "tough-cookie": "2.4.3",
         "tunnel-agent": "0.6.0",
-        "uuid": "3.2.1"
-      }
-    },
-    "resolve": {
-      "version": "1.7.1",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
-      "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
-      "requires": {
-        "path-parse": "1.0.5"
+        "uuid": "3.3.2"
       }
     },
     "resolve-url": {
       "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q="
     },
     "rxjs": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.0.tgz",
-      "integrity": "sha512-qBzf5uu6eOKiCZuAE0SgZ0/Qp+l54oeVxFfC2t+mJ2SFI6IB8gmMdJHs5DUMu5kqifqcCtsKS2XHjhZu6RKvAw==",
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.0.tgz",
+      "integrity": "sha512-ZnwuEquf72mnVORgX75eZCAKNNwulmKQuFxDPwDA5EvbkBXeRNJtmvhyVLcPcKkdiUtqqv+LbBM8jYo0eBW++w==",
       "requires": {
-        "tslib": "1.9.2"
+        "tslib": "1.9.3"
       }
     },
     "safe-buffer": {
       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
     },
     "semver": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
-      "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
+      "version": "5.5.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz",
+      "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw=="
     },
     "semver-intersect": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.3.1.tgz",
-      "integrity": "sha1-j6hKnhAovSOeRTDRo+GB5pjYhLo=",
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz",
+      "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==",
       "requires": {
-        "semver": "5.5.0"
+        "semver": "5.5.1"
       }
     },
     "set-blocking": {
       "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
       "optional": true
     },
-    "silent-error": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/silent-error/-/silent-error-1.1.0.tgz",
-      "integrity": "sha1-IglwbxyFCp8dENDYQJGLRvJuG8k=",
-      "requires": {
-        "debug": "2.6.9"
-      }
-    },
     "slide": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
         "map-cache": "0.2.2",
         "source-map": "0.5.7",
         "source-map-resolve": "0.5.2",
-        "use": "3.1.0"
+        "use": "3.1.1"
       },
       "dependencies": {
         "define-property": {
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
       "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
       "requires": {
-        "atob": "2.1.1",
+        "atob": "2.1.2",
         "decode-uri-component": "0.2.0",
         "resolve-url": "0.2.1",
         "source-map-url": "0.4.0",
       "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
       "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
       "requires": {
-        "asn1": "0.2.3",
+        "asn1": "0.2.4",
         "assert-plus": "1.0.0",
-        "bcrypt-pbkdf": "1.0.1",
+        "bcrypt-pbkdf": "1.0.2",
         "dashdash": "1.14.1",
-        "ecc-jsbn": "0.1.1",
+        "ecc-jsbn": "0.1.2",
         "getpass": "0.1.7",
         "jsbn": "0.1.1",
         "safer-buffer": "2.1.2",
       }
     },
     "tough-cookie": {
-      "version": "2.3.4",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
-      "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
       "requires": {
+        "psl": "1.1.29",
         "punycode": "1.4.1"
       },
       "dependencies": {
       }
     },
     "tslib": {
-      "version": "1.9.2",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.2.tgz",
-      "integrity": "sha512-AVP5Xol3WivEr7hnssHDsaM+lVrVXWUvd1cfXTRkTj80b//6g2wIFEH6hZG0muGZRnHGrfttpdzRk3YlBkWjKw=="
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
+      "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ=="
     },
     "tunnel-agent": {
       "version": "0.6.0",
       "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
     },
     "typescript": {
-      "version": "2.7.2",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz",
-      "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw=="
+      "version": "2.9.2",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
+      "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w=="
     },
     "union-value": {
       "version": "1.0.0",
       "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
     },
     "use": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
-      "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
-      "requires": {
-        "kind-of": "6.0.2"
-      }
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
     },
     "util-deprecate": {
       "version": "1.0.2",
       "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
     },
     "uuid": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
-      "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA=="
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
     },
     "validate-npm-package-license": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
-      "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
       "requires": {
         "spdx-correct": "3.0.0",
         "spdx-expression-parse": "3.0.0"
       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
     },
     "yargs-parser": {
-      "version": "10.0.0",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.0.0.tgz",
-      "integrity": "sha512-+DHejWujTVYeMHLff8U96rLc4uE4Emncoftvn5AjhB1Jw1pWxLzgBUT/WYbPrHmy6YPEBTZQx5myHhVcuuu64g==",
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
+      "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
       "requires": {
         "camelcase": "4.1.0"
       }
index 72a04607c62d922ef5a0fa3684485c0f3f43d0b8..88fd7e6509189cbd1d58be340c6e94cde0563e2a 100644 (file)
@@ -2,7 +2,7 @@
   "name": "ng-cli",
   "version": "1.0.0",
   "dependencies": {
-    "@angular/cli": "6.0.8",
+    "@angular/cli": "6.2.0-rc.0",
     "@types/node": "10.3.1"
   }
 }
index 0244d5fb800f98cb3154491dfb2a587a44adeadb..6ff8bbbcb1a0224b0141e152b6ff0294f519be17 100644 (file)
@@ -1,11 +1,21 @@
+// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+/* Initialize access to schematics registry */
+let provider: SchematicsProvider;
 try {
-    require('@angular/cli/utilities/schematics');
+    //first try to use schematics utils approach
+    provider = require("./schematicsProvider60");
 } catch (e) {
-    console.info("No schematics")
-    process.exit(0)
+    try {
+        //if not working than try to load SchematicCommand
+        provider = require("./schematicsProvider62");
+    } catch (e) {
+        console.info("No schematics")
+        process.exit(0)
+    }
 }
+/**/
 
-import {getCollection, getEngineHost, getSchematic} from '@angular/cli/utilities/schematics';
+import {SchematicsProvider} from "./schematicsProvider";
 import {Option} from "@angular/cli/models/command";
 import * as path from "path";
 import * as fs from "fs";
@@ -19,7 +29,7 @@ interface SchematicsInfo {
     hidden?: boolean;
 }
 
-const engineHost = getEngineHost();
+const engineHost = provider.getEngineHost();
 
 const includeHidden = process.argv[2] === "--includeHidden";
 
@@ -72,7 +82,7 @@ function getCollectionSchematics(collectionName: string): SchematicsInfo[] {
     let schematicNames: string[];
     let collection: any;
     try {
-        collection = getCollection(collectionName);
+        collection = provider.getCollection(collectionName);
         schematicNames = includeHidden
             ? listAllSchematics(collection)
             : engineHost.listSchematics(collection);
@@ -84,7 +94,7 @@ function getCollectionSchematics(collectionName: string): SchematicsInfo[] {
     }
     try {
         const schematicInfos: any[] = schematicNames
-            .map(name => getSchematic(collection, name).description)
+            .map(name => provider.getSchematic(collection, name).description)
             //`ng-add` schematics should be executed only with `ng add`
             .filter(info => (info.name !== "ng-add" || includeHidden) && info.schemaJson !== undefined);
 
diff --git a/AngularJS/src/ngCli/schematicsProvider.ts b/AngularJS/src/ngCli/schematicsProvider.ts
new file mode 100644 (file)
index 0000000..f1fe738
--- /dev/null
@@ -0,0 +1,9 @@
+// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+import {FileSystemEngineHostBase} from "@angular-devkit/schematics/tools/file-system-engine-host-base"
+import {Collection, Schematic} from '@angular-devkit/schematics';
+
+export interface SchematicsProvider {
+    getCollection(collectionName: string): Collection<any, any>;
+    getEngineHost(): FileSystemEngineHostBase;
+    getSchematic(collection: Collection<any, any>, schematicName: string, allowPrivate?: boolean): Schematic<any, any>;
+}
\ No newline at end of file
diff --git a/AngularJS/src/ngCli/schematicsProvider60.ts b/AngularJS/src/ngCli/schematicsProvider60.ts
new file mode 100644 (file)
index 0000000..94e4513
--- /dev/null
@@ -0,0 +1,12 @@
+// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+import {SchematicsProvider} from "./schematicsProvider";
+
+let schematicsUtils = require('@angular/cli/utilities/schematics');
+
+const schematicsProvider: SchematicsProvider = {
+    getCollection: schematicsUtils.getCollection,
+    getEngineHost: schematicsUtils.getEngineHost,
+    getSchematic: schematicsUtils.getSchematic
+}
+
+export = schematicsProvider;
\ No newline at end of file
diff --git a/AngularJS/src/ngCli/schematicsProvider62.ts b/AngularJS/src/ngCli/schematicsProvider62.ts
new file mode 100644 (file)
index 0000000..9168c88
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
+import {Collection, Schematic} from '@angular-devkit/schematics';
+import {SchematicsProvider} from "./schematicsProvider";
+import {SchematicCommand} from "@angular/cli/models/schematic-command";
+
+let command = new (SchematicCommand as any)(null, null);
+
+const schematicsProvider: SchematicsProvider = {
+    getCollection(collectionName: string): Collection<any, any> {
+        return command.getCollection(collectionName);
+    },
+    getEngineHost() {
+        return command.getEngineHost();
+    },
+    getSchematic(collection: Collection<any, any>, schematicName: string, allowPrivate?: boolean): Schematic<any, any> {
+        return command.getSchematic(collection, schematicName, allowPrivate);
+    }
+}
+
+export = schematicsProvider;
index aff3cac6b2d21a5e7f8f29630698bb458a6ad920..5c2494927f317b3a98a0660eb759ec48a1e64fa6 100644 (file)
@@ -101,10 +101,10 @@ private class AngularCliJsonFileConfig(angularCliJson: VirtualFile, text: CharSe
     myRootPaths = allProjects.mapNotNull { it.rootPath }.fold(ArrayList()) { acc, root -> acc.add(root); acc; }
     myStylePreprocessorIncludePaths = ContainerUtil.concat(
       allProjects.mapNotNull { it.stylePreprocessorOptions?.includePaths },
-      allProjects.mapNotNull { it.architect?.build?.options?.stylePreprocessorOptions?.includePaths }
+      allProjects.mapNotNull { it.targets?.build?.options?.stylePreprocessorOptions?.includePaths }
     ).fold(ArrayList()) { acc, list -> acc.addAll(list); acc; }
-    myKarmaConfigPath = allProjects.mapNotNull { it.architect?.test?.options?.karmaConfig }.firstOrNull()
-    myProtractorConfigPath = allProjects.mapNotNull { it.architect?.e2e?.options?.protractorConfig }.firstOrNull()
+    myKarmaConfigPath = allProjects.mapNotNull { it.targets?.test?.options?.karmaConfig }.firstOrNull()
+    myProtractorConfigPath = allProjects.mapNotNull { it.targets?.e2e?.options?.protractorConfig }.firstOrNull()
   }
 
   override fun getRootDirs(): Collection<VirtualFile> {
@@ -154,12 +154,13 @@ private class AngularCliProject {
   @Expose
   val stylePreprocessorOptions: AngularCliStylePreprocessorOptions? = null
 
-  @SerializedName("architect")
+  @SerializedName("targets", alternate = ["architect"])
   @Expose
-  val architect: AngularCliArchitect? = null
+  val targets: AngularCliTargets? = null
+
 }
 
-private class AngularCliArchitect {
+private class AngularCliTargets {
   @SerializedName("build")
   @Expose
   val build: AngularCliBuild? = null