Why does LoopBack minify content of JSON configuration files? - node.js

I am building API server using LoopBack 3. It is frustrating to see how it minifies JSON configuration files like package.json and other. Why does it do that and how can I disable this behaviour ?

This was not intentional, we have fixed the problem in loopback-workspace version 4.5.2 (see https://github.com/strongloop/loopback-workspace/pull/546).
Please update your loopback-cli install and its dependencies to the latest version, that should fix the problem.
For example:
npm uninstall -g loopback-cli
npm install -g loopback-cli

Related

Cannot Find name Partial

I am using ngx-bootstrap 1.9.2 npm package, but when I try to compile, my project, angular throws following error:
ERROR in C:/xxx/xx/node_modules/ngx-bootstrap/datepicker/bs-datepicker.component.d.ts (46,15): Cannot find name 'Partial'.
ERROR in C:/xxx/xx/node_modules/ngx-bootstrap/datepicker/bs-daterangepicker.component.d.ts (45,15): Cannot find name 'Partial'.
As Partial was introduced in ts version 2.1, I tried upgrading typescript version from 2.0.0 to 2.5.2 nothing helped.
we use typescript 2.4.2, because it's mandatory for angular#5.
What can help:
check global version of typescript
check local version of TS (and clean install and clean build)
if you are using Visual Studio, it has addition TS version
(this link may help https://github.com/Microsoft/TypeScript/issues/5995 )
It was just cache issue, I just perform npm cache clean and performed clean install and my problem was solved.
By the way thanks all, for your comments and answers.
For me it worked after doing the following steps.
install the latest typescript version globally. use below command.
npm install -g typescript#latest
Clean the npm cache using
npm clean cache
Install the latest typescript locally.
npm install -g typescript#latest
And it worked for me. Hope it helps.

Fresh install of npm and node

I have recently started working with Angular 2 and am unable to get the Angular 2 Quickstart project to run correctly due to a number of errors in my npm dependencies.
Am I able to globally uninstall everything that was previously installed with npm to allow me to do a clean install of it and any required dependencies?
Note: The errors are the same as these examples which are caused by packages needing to be installed globally, however, the errors still occur having followed these steps...
To check your global installed packages you can type:
npm ls -g --depth=0
That lists all global installed packages with depth=0. That mean that it doesn't output dependencies of the packages. You can uninstall global packages with:
npm uninstall -g package-name
Please do not uninstall the npm package itself... But you can update your npm version with npm:
npm install npm -g
As mentioned in the Article your Node.js version should be at least v4.x.x and the npm version should be v3.x.x. You can get the installed versions with these commands:
node -v
npm -v
Updating your Node.js depends on your Operating System. Assuming that you use Windows you should uninstall the current version via control panel and download an actual release from the official Node.js page. https://nodejs.org/en/download/current/
To get a great overview how npm works you should consider reading their
documentation: https://docs.npmjs.com/
Make sure you have the correct node.js version. The guide says 5.0 or greater but points you to the wrong download link.
Try this: https://nodejs.org/en/download/current/
With this node you should be able to follow the guide step by step.

NPM package has outdated dependency, is there a way to alter its version?

Just migrated to Node 4.1.2 from 0.10. One of the packages being installed via npm install errors due to node-gyp having a problem with one of its dependencies, it's quite a few versions out of date. The issue has been brought up on the repo but hasn't seen activity since May. Is there a way to tell NPM to install this package but with the outdated dependency using a newer version?
EDIT:
I've copied over an installed version from node_modules in an older project. npm install -g npm-check-updates then ncu in the node_modules/bs-html-injector/ directory. It lists updates, ncu -u will update the package.json, npm install after. I run my gulp task and html is injecting fine, all seems fine :) Would still like to know how to do this if I didn't have a local copy installed by NPM. It looks like it's just a 1:1 copy from the github repo?
With npm, you can install packages from GitHub directly:
npm install user/repo#branch
You can fork the package on GitHub, make and propose the changes you need and use your fork as a dependency in your project until PR is merged.
you can use --force to force install it

npm/grunt: is it possible to install grunt without npm?

I am having so much problems with the proxy system of my entertprise
I was changing parameter using npm config set changing the variable proxy and http-proxy.
I installed in my .npmrc next lines
npm config set proxy http://my_user:my_password#10.3.12.130:8080 -g
npm config set https-proxy http://my_user:my_password#10.3.12.130:8080 -g
What I have in my mind it is try to install grunt in VS2012 without using npm, maybe like nuget.
Is it possible?
I am getting this error page when I am using npm install -g grunt-cli:
Yes it is possible, you can download grunt and run it in your node.js environment, if your only problem is proxy or firewall but you have working node.js environment then just download it from the github.
You can download any npm package which is published also on the github and then copy it manually to you node_modules folder. Just beware that those packages may have dependencies on their own. SO that means you should run npm install in those downloaded folders and if it doesn't work do it manually for every dependency recursively until you are finished.
No, it is not possible.
This is from the Grunt getting started guide:
Grunt and Grunt plugins are installed and managed via npm, the Node.js
package manager. Grunt 0.4.x requires stable Node.js versions >=
0.8.0. Odd version numbers of Node.js are considered unstable development versions.

npm install --save, what is the use of not saving

I understand the differences between npm install something and npm install something --save (for anyone wondering, the first one will install the dependency only while the latter will install the dependency and add it to your package.json).
However I do not understand why there is a --save option in the first place. In other words, why would you ever want to install a dependency without adding it to your package.json file? Why is the --save option not default?
A lot of websites/npm modules/SaaS suggest installing their module using npm install something (newrelic is one of them for instance), am I missing something?
Edit: Starting from NPM 5, --save is now on by default.
You would have a scenario such as you need some module to install without adding dependency to package.json file, for ex. you just want to try some module, and not sure you would be really using that module in production or while deploying, so instead adding the module dependency to package.json, just give it a try without using --save. this is why npm install without --save exists.
But For most of your modules you might require using --save, for ex. npm install express --save,
in this case you surely know that you are going to use express for you application.
The other scenario, for not using --save, would be, npm install heapdump or npm install nodemon, I would use it for testing my apps performance, but not add a dependency in the package.json :)
Also, As #surajck said in comment below: when you are doing global installs, in that case adding dependencies using --save, to the package.json would not make sense.
I just learned a nice trick from Jonathan Mills' JavaScript Best Practices course on Pluralsight. From the terminal:
npm config set save=true
Now I don't need to remember --save anymore. And I also now use
npm config set save-exact=true
Because I want the exact version of the package not the ^ prefix.
By default with version npm 5.0+ npm install adds the module to the dependencies list in the package.json file; with earlier versions of npm, you must specify the --save option explicitly. Then, afterwards, running npm install in the app directory will automatically install modules in the dependencies list.

Resources