[ 
https://issues.apache.org/jira/browse/CB-13532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16286403#comment-16286403
 ] 

ASF GitHub Bot commented on CB-13532:
-------------------------------------

stevengill closed pull request #607: :CB-13532 : updated to include a check for 
pkgJson devDependencies
URL: https://github.com/apache/cordova-lib/pull/607
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/spec/cordova/platform/addHelper.spec.js 
b/spec/cordova/platform/addHelper.spec.js
index 72f017401..25cab5c85 100644
--- a/spec/cordova/platform/addHelper.spec.js
+++ b/spec/cordova/platform/addHelper.spec.js
@@ -53,7 +53,7 @@ describe('cordova/platform/addHelper', function () {
         'platform': 'atari'
     };
     var package_json_mock;
-    package_json_mock = jasmine.createSpyObj('package json mock', ['cordova', 
'dependencies']);
+    package_json_mock = jasmine.createSpyObj('package json mock', ['cordova', 
'dependencies', 'devDependencies']);
     package_json_mock.dependencies = {};
     package_json_mock.cordova = {};
 
@@ -301,6 +301,23 @@ describe('cordova/platform/addHelper', function () {
                     }).done(done);
                 });
 
+                it('should use pkgJson version devDependencies, if 
dependencies are undefined', function (done) {
+                    package_json_mock.dependencies = undefined;
+                    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';
+                    });
+                    platform_addHelper('add', hooks_mock, projectRoot, 
['ios'], {save: true, restoring: true}).then(function () {
+                        
expect(platform_addHelper.getVersionFromConfigFile).not.toHaveBeenCalled();
+                        expect(fs.writeFileSync).toHaveBeenCalled();
+                    }).fail(function (e) {
+                        fail('fail handler unexpectedly invoked');
+                        console.error(e);
+                    }).done(done);
+                });
+
                 it('should only write the package.json file if it was 
modified', function (done) {
                     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 1c0b39fc3..a97c33a76 100644
--- a/src/cordova/platform/addHelper.js
+++ b/src/cordova/platform/addHelper.js
@@ -111,6 +111,12 @@ 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 (pkgJson.devDependencies['cordova-' + platform]) {
+                            spec = pkgJson.devDependencies['cordova-' + 
platform];
+                        } else if (pkgJson.devDependencies[platform]) {
+                            spec = pkgJson.devDependencies[platform];
+                        }
                     }
 
                     if (platform && spec === undefined && cmd === 'add') {


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Cordova fails to find platform/plugin versions in package.json devDependencies
> ------------------------------------------------------------------------------
>
>                 Key: CB-13532
>                 URL: https://issues.apache.org/jira/browse/CB-13532
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-lib
>            Reporter: Darryl Pogue
>            Assignee: Audrey So
>              Labels: tools-next
>
> Cordova only looks at the {{dependencies}} section of package.json, and 
> ignores anything specified in {{devDependencies}}. This results in the 
> default pinned versions for platforms/plugins being used.
> Code in question: 
> https://github.com/apache/cordova-lib/blob/da8ebf6cb81dd84c22e24fdf0baff9837a544b2d/src/cordova/platform/addHelper.js#L109-L113
> This is wrong because Cordova (and its related bits) is not a dependency of 
> my application code, it is a build tool that belongs in devDependencies.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to