Seems to be during cordovaDependencies resolution where latest is null (given // Filters out pre-release versions comment and that my published package only has prerelease versions).
See debug logs:
$ cordova plugin add cordova-plugin-ns0m-media-capture -d
```
No scripts found for hook "before_plugin_add".
No version specified for cordova-plugin-ns0m-media-capture, retrieving version from config.xml
No version for cordova-plugin-ns0m-media-capture saved in config.xml or package.json
Attempting to use npm info for cordova-plugin-ns0m-media-capture to choose a compatible release
Ignoring invalid version in cordova-plugin-ns0m-media-capture cordovaDependencies: >=1.4.4 (must be a single version <= latest or an upper bound)
Invalid Version: null
TypeError: Invalid Version: null
at new SemVer (C:\Users\ath0mas\AppData\Roaming\npm\node_modules\cordova\node_modules\semver\classes\semver.js:19:13)
at compare (C:\Users\ath0mas\AppData\Roaming\npm\node_modules\cordova\node_modules\semver\functions\compare.js:3:32)
at Object.lte (C:\Users\ath0mas\AppData\Roaming\npm\node_modules\cordova\node_modules\semver\functions\lte.js:2:30)
at Function.determinePluginVersionToFetch (C:\Users\ath0mas\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\plugin\add.js:387:59)
at C:\Users\ath0mas\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\plugin\add.js:338:39
at processTicksAndRejections (node:internal/process/task_queues:94:5)
```
$ cordova plugin add cordova-plugin-ns0m-file-transfer -d
```
No scripts found for hook "before_plugin_add".
No version specified for cordova-plugin-ns0m-file-transfer, retrieving version from config.xml
No version for cordova-plugin-ns0m-file-transfer saved in config.xml or package.json
Attempting to use npm info for cordova-plugin-ns0m-file-transfer to choose a compatible release
Invalid Version: null
TypeError: Invalid Version: null
at new SemVer (C:\Users\ath0mas\AppData\Roaming\npm\node_modules\cordova\node_modules\semver\classes\semver.js:19:13)
at compare (C:\Users\ath0mas\AppData\Roaming\npm\node_modules\cordova\node_modules\semver\functions\compare.js:3:32)
at Object.lte (C:\Users\ath0mas\AppData\Roaming\npm\node_modules\cordova\node_modules\semver\functions\lte.js:2:30)
at Function.determinePluginVersionToFetch (C:\Users\ath0mas\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\plugin\add.js:387:59)
at C:\Users\ath0mas\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\plugin\add.js:338:39
at processTicksAndRejections (node:internal/process/task_queues:94:5)
```
$ cordova plugin add cordova-plugin-ns0m-disk-space -d
```
No scripts found for hook "before_plugin_add".
No version specified for cordova-plugin-ns0m-disk-space, retrieving version from config.xml
No version for cordova-plugin-ns0m-disk-space saved in config.xml or package.json
Attempting to use npm info for cordova-plugin-ns0m-disk-space to choose a compatible release
npm info for cordova-plugin-ns0m-disk-space did not contain any engine info. Fetching latest release
Calling plugman.fetch on plugin "cordova-plugin-ns0m-disk-space"
fetch: Installing cordova-plugin-ns0m-disk-space to C:\Users\ath0mas\Desktop\hellocdv
Running command: npm install cordova-plugin-ns0m-disk-space --save-dev
Command finished with error code 0: npm install,cordova-plugin-ns0m-disk-space,--save-dev
Copying plugin "C:\Users\ath0mas\Desktop\hellocdv\node_modules\cordova-plugin-ns0m-disk-space" => "C:\Users\ath0mas\Desktop\hellocdv\plugins\cordova-plugin-ns0m-disk-space"
Adding cordova-plugin-ns0m-disk-space to package.json
No scripts found for hook "after_plugin_add".
```
vs.
$ cordova plugin add cordova-plugin-ns0m-media-capture@3.0.4-3 -d
```
No scripts found for hook "before_plugin_add".
Calling plugman.fetch on plugin "cordova-plugin-ns0m-media-capture@3.0.4-3"
fetch: Installing cordova-plugin-ns0m-media-capture@3.0.4-3 to C:\Users\ath0mas\Desktop\hellocdv
Running command: npm install cordova-plugin-ns0m-media-capture@3.0.4-3 --save-dev
Command finished with error code 0: npm install,cordova-plugin-ns0m-media-capture@3.0.4-3,--save-dev
Copying plugin "C:\Users\ath0mas\Desktop\hellocdv\node_modules\cordova-plugin-ns0m-media-capture" => "C:\Users\ath0mas\Desktop\hellocdv\plugins\cordova-plugin-ns0m-media-capture"
Adding cordova-plugin-ns0m-media-capture to package.json
No scripts found for hook "after_plugin_add".
```
$ cordova plugin add cordova-plugin-ns0m-file-transfer@2.0.0-2 -d
```
No scripts found for hook "before_plugin_add".
Calling plugman.fetch on plugin "cordova-plugin-ns0m-file-transfer@2.0.0-2"
fetch: Installing cordova-plugin-ns0m-file-transfer@2.0.0-2 to C:\Users\ath0mas\Desktop\hellocdv
Running command: npm install cordova-plugin-ns0m-file-transfer@2.0.0-2 --save-dev
Command finished with error code 0: npm install,cordova-plugin-ns0m-file-transfer@2.0.0-2,--save-dev
Copying plugin "C:\Users\ath0mas\Desktop\hellocdv\node_modules\cordova-plugin-ns0m-file-transfer" => "C:\Users\ath0mas\Desktop\hellocdv\plugins\cordova-plugin-ns0m-file-transfer"
Adding cordova-plugin-ns0m-file-transfer to package.json
No scripts found for hook "after_plugin_add".
```
$ cordova plugin add cordova-plugin-ns0m-disk-space@1.1.0 -d
```
No scripts found for hook "before_plugin_add".
Calling plugman.fetch on plugin "cordova-plugin-ns0m-disk-space@1.1.0"
fetch: Installing cordova-plugin-ns0m-disk-space@1.1.0 to C:\Users\ath0mas\Desktop\hellocdv
Running command: npm install cordova-plugin-ns0m-disk-space@1.1.0 --save-dev
Command finished with error code 0: npm install,cordova-plugin-ns0m-disk-space@1.1.0,--save-dev
Copying plugin "C:\Users\ath0mas\Desktop\hellocdv\node_modules\cordova-plugin-ns0m-disk-space" => "C:\Users\ath0mas\Desktop\hellocdv\plugins\cordova-plugin-ns0m-disk-space"
Adding cordova-plugin-ns0m-disk-space to package.json
No scripts found for hook "after_plugin_add".
```
Bug Report
Problem
What is expected to happen?
Basic
cordova plugin add <plugin-name>
of a plugin published on NPM with prerelease version should install without error.What does actually happen?
Fail to add plugin because of
Invalid Version: null
.Information
It works fine forcing
@<exact-version>
spec, or for same kind of plugin but with a release version.Command or Code
while
npm install
s are running fine, fetching 3.0.4-3, 2.0.0-2, and 1.1.0 respectively, and same forEnvironment, Platform, Device
Windows 10, Node 14 & 15, NPM 6 & 7
Version information
Checklist