You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ra...@apache.org on 2021/09/26 12:37:36 UTC

[cordova-lib] branch master updated: fix: Platforms restored from both dev and normal dependencies. (#874)

This is an automated email from the ASF dual-hosted git repository.

raphinesse pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-lib.git


The following commit(s) were added to refs/heads/master by this push:
     new 33ce4fe  fix: Platforms restored from both dev and normal dependencies. (#874)
33ce4fe is described below

commit 33ce4fe787f4ea1508f83787b2d50083c2ea0154
Author: Aidanas Tamasauskas <ai...@gmail.com>
AuthorDate: Sun Sep 26 13:37:29 2021 +0100

    fix: Platforms restored from both dev and normal dependencies. (#874)
    
    * fix: Check for platform version in both normal and dev dependencies within package.json file.
    
    * fix: added unit test for package.json devDependencies (#866)
    
    Co-authored-by: Aidanas Tamasauskas <ai...@nutshellapps.co.uk>
    Co-authored-by: Richard Li <li...@gmail.com>
---
 spec/cordova/platform/addHelper.spec.js | 15 +++++++++++++++
 src/cordova/platform/addHelper.js       |  4 +++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/spec/cordova/platform/addHelper.spec.js b/spec/cordova/platform/addHelper.spec.js
index 81cbe6f..1194bc0 100644
--- a/spec/cordova/platform/addHelper.spec.js
+++ b/spec/cordova/platform/addHelper.spec.js
@@ -247,6 +247,21 @@ describe('cordova/platform/addHelper', function () {
                     });
                 });
 
+                it('should use pkgJson version devDependencies, if dependencies are nonempty but do not include the platform', function () {
+                    package_json_mock.dependencies.lorem = {}; // Add some item to dependencies so it's defined but nonempty
+                    package_json_mock.cordova = { platforms: ['ios'] };
+                    package_json_mock.devDependencies.ios = {};
+                    cordova_util.requireNoCache.and.returnValue(package_json_mock);
+                    fs.existsSync.and.callFake(function (filePath) {
+                        return path.basename(filePath) === 'package.json';
+                    });
+                    fs.readFileSync.and.returnValue('{}');
+                    return platform_addHelper('add', hooks_mock, projectRoot, ['ios'], { save: true, restoring: true }).then(function () {
+                        expect(platform_addHelper.getVersionFromConfigFile).not.toHaveBeenCalled();
+                        expect(fs.writeFileSync).toHaveBeenCalled();
+                    });
+                });
+
                 it('should only write the package.json file if it was modified', function () {
                     package_json_mock.cordova = { platforms: ['ios'] };
                     cordova_util.requireNoCache.and.returnValue(package_json_mock);
diff --git a/src/cordova/platform/addHelper.js b/src/cordova/platform/addHelper.js
index dfda0e2..5c5d4c2 100644
--- a/src/cordova/platform/addHelper.js
+++ b/src/cordova/platform/addHelper.js
@@ -99,7 +99,9 @@ function addHelper (cmd, hooksRunner, projectRoot, targets, opts) {
                         } else if (pkgJson.dependencies[platform]) {
                             spec = pkgJson.dependencies[platform];
                         }
-                    } else if (spec === undefined && pkgJson && pkgJson.devDependencies && cmd === 'add') {
+                    }
+
+                    if (spec === undefined && pkgJson && pkgJson.devDependencies && cmd === 'add') {
                         if (pkgJson.devDependencies['cordova-' + platform]) {
                             spec = pkgJson.devDependencies['cordova-' + platform];
                         } else if (pkgJson.devDependencies[platform]) {

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org