Managing bower dependencies with ionic

General Tech Bugs & Fixes 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

After starting with a new ionic app, I can see at bower.json that comes with ionic is in devdependencies. Why is it a devdependency and not a normal dependency?

"devDependencies": {
    "ionic": "driftyco/ionic-bower#1.0.0-rc.0"
},

Thanks, I feel confused right now

profilepic.png
manpreet 2 years ago

 

having devDependencies gives you the opportunity to simplify the steps that drive you from the source files (a git clone of the project) to the production ready app

when you don't need to make changes and (develop) the application, you could just run

bower install --production

or

npm install --production

they work the same

bower install options

-F, --force-latest: Force latest version on conflict

-p, --production: Do not install project devDependencies

-S, --save: Save installed packages into the project’s bower.json dependencies

-D, --save-dev: Save installed packages into the project’s bower.json devDependencies

-E, --save-exact: Configure installed packages with an exact version rather than semver

bower documentation

npm install options

By default, npm install will install all modules listed as dependencies. With the --production flag (or when the NODE_ENV environment variable is set to production), npm will not install modules listed in devDependencies. npm documentation

This way you take less time to ship the app and don't waste bandwidth downloading stuff you won't need.

Given that, to me, the choice of listing ionic as devDependecy is a poor one: it implies that I could take advantage of this choice to get ready the app for execution this way:

git clone my-project
git cd my-project
npm install --production # ionic not installed here
ionic state restore
ionic build ios

Now, if you ignore the content of /lib folder in your sources, this should not work, and if it works because the ionic-cli does some more checks to save your ass, I think this is unclear.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.