Cleaner check for need of cordova-fetch
authorRaphael von der Grün <raphinesse@gmail.com>
Thu, 5 Jul 2018 10:48:41 +0000 (12:48 +0200)
committerRaphael von der Grün <raphinesse@gmail.com>
Thu, 5 Jul 2018 10:48:41 +0000 (12:48 +0200)
This does _not_ change the tests itself, even though they are broken

index.js

index 9fb0339..8f50d0a 100644 (file)
--- a/index.js
+++ b/index.js
@@ -133,10 +133,8 @@ function cordovaCreate (dest, opts = {}) {
                 return opts.url;
             }
 
-            var isGit = opts.template && isUrl(opts.url);
-            var isNPM = opts.template && (opts.url.indexOf('@') > -1 || !fs.existsSync(path.resolve(opts.url))) && !isGit;
-            // Always use cordova fetch to obtain the npm or git template
-            if (isGit || isNPM) {
+            // Use cordova-fetch to obtain npm or git templates
+            if (opts.template && isRemoteUri(opts.url)) {
                 var target = opts.url;
                 events.emit('verbose', 'Using cordova-fetch for ' + target);
                 return fetch(target, getSelfDestructingTempDir(), {})
@@ -363,3 +361,7 @@ function getSelfDestructingTempDir () {
         unsafeCleanup: true
     }).name;
 }
+
+function isRemoteUri (uri) {
+    return isUrl(uri) || uri.includes('@') || !fs.existsSync(uri);
+}