Comments (5)
Please take a look at apache/cordova-cli#292. Especially @dpogue's and my comment towards the end of the discussion. In short: I do not think that this is feasible, the way cordova currently works.
If you are interested in more technical details, I can provide them. Thanks for taking the time to create this issue and providing some helpful links too.
from cordova-fetch.
I think only supporting NPM because of tight coupling with that package manager is an indication that some plugins are not using package managers in a way the're supposed to. However, since I just started to try things with Cordova and because I don't know how things work you should take my comment with a grain of sailt.
Preferences aside, in the JavaScript community nobody expects not being able to swap NPM with Yarn, so I think that should be documented in the basic introductions like the "Get started": https://cordova.apache.org/
from cordova-fetch.
Ionic provides an elegant implementation of this in the form of ionic config set -g npmClient pnpm
. See this issue for detail. The user should still have the liberty to choose their client of choice globally or per-project.
from cordova-fetch.
Although 'spypkg' doesn't detect which package manager to use, its capable of parsing npm expressions to be mapped into yarn expressions. When installed and configured, in essence it intercepts execution, maps the expression and executes the modified expression.
from cordova-fetch.
Well, I just tried yarn
for giggles, and found it did work with cordova@8 .
Im not discounting that you've fixed a lot of bugs by more tightly integrating with npm, but it shouldnt be hard to have similar integration with the other package managers. This train is coming.
I would question that tighter integration with npm
solves anything, because there are a raft of differences between npm versions, and also massive changes in how npm works based on npm config variables, which are beyond your control unless cordova reads and understands the npm config, and possibly even override them, and also understands all reasonable npm versions, and how those config variables operate in each version -- usually a few are broken in any npm release.
Perhaps as an interim measure, cordova fetch at least checks which package manager is used, and fails early when it isnt npm
, indicating that patches are welcome to support for other package managers, but those patches would need to pass the test suite, ensuring it is as supportable as npm
.
from cordova-fetch.
Related Issues (20)
- cordova cannot add plugins from git (CordovaError: Error: An unknown git error occurred) HOT 15
- coho audit-license-headers issues in cordova-fetch HOT 4
- cordova-fetch patch release August 2018 HOT 1
- Incorrect module ID in case of certain URL patterns HOT 3
- Support node recursive module resolution algorithm HOT 2
- How to handle `save: true` when requested package is already installed HOT 5
- cordova-fetch is much slower at prepare HOT 26
- Private repository and UNMET DEPENDENCY HOT 3
- Install a cordova plugin by tagged version from a custom git repo fails HOT 2
- Adding Cordova plugins is much slower HOT 1
- Too slow donwloading/installing plugins HOT 1
- Fails to get the installed target package name HOT 1
- Save platforms and plugins to devDependencies HOT 5
- cordova-fetch cannot install plugins from git repos with npm 3 if project has unmet peer dependencies HOT 9
- CordovaError: Could not determine package name from output HOT 9
- Cannot determine package name from spec git+https://github.com... HOT 10
- [email protected] -> [email protected] breaks plugin installs using git repos or local directories HOT 10
- cordova-android referencing git repo is changed to npm package version when performing a release build HOT 7
- cordova prepare : failed to fetch plugins with github spec with npm@7 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cordova-fetch.