pass npm config into npm scripts entry - node.js

I'm running my entire project from npm scripts, and i've namespaced a few methods underneath test for clarity. I'd like to use the silent level of verbosity for all test related commands instead of the normal, extremely verbose npm ERR! Exit status 1...
Package.json
{
"name": "test",
"version": "0.0.0",
"scripts": {
"test": "npm run test:unit && npm run test:integration",
"test:unit": "mocha test/unit",
"test:integration": "mocha test/integration"
}
}
I've tried including the --loglevel=silent in the npm scripts commands, but that does not work.
I do not want to enable this for all commands, just for testing related ones, so setting the flag on the environment or in .npmrc is not an option (unless there is additional criteria I can define in .nmprc).

The flag -s can do that :
Package.json
{
"name": "test",
"version": "0.0.0",
"scripts": {
"test": "npm run test:unit -s && npm run test:integration -s",
"test:unit": "mocha test/unit",
"test:integration": "mocha test/integration"
}
}
It just silences output from npm on those tasks.

Related

Cannot start React app due to missing script 'start'

I'm newbie to react js.Trying to run a simple app and getting this error and can't figure out what's wrong
D:\React app\react-app1>npm start
npm ERR! Missing script: "start"
npm ERR!
npm ERR! Did you mean one of these?
npm ERR! npm star # Mark your favorite packages
npm ERR! npm stars # View packages marked as favorites
npm ERR!
npm ERR! To see a list of scripts, run:
npm ERR! npm run
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Muralidharan\AppData\Local\npm-cache\_logs\2022-05-29T08_51_37_315Z-debug-0.log
This is package.json file
{
"name": "react-app1",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^18.1.0",
"react-dom": "^18.1.0",
"react-scripts": "5.0.1"
}
}
Anything wrong with installation? or outdated version something like that?
This happens becaue you have no script called "start" in your package.json file. Here is an example of a package.json file with such script:
{
"name": "your-project",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"start": "node main.js"
},
"author": "Muralidharan",
"dependencies": {
}
}
add this to your package.json
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
},
start is the command you need that trigger react-script to run your project
build, test and eject are other command you will need for development process

Getting missing script: start error in npm

I get this error when I run npm start.
npm ERR! Missing script: "start"
npm ERR! Did you mean one of these?
npm ERR! npm star # Mark your favorite packages
npm ERR! npm stars # View packages marked as favorites
npm ERR! To see a list of scripts, run:
npm ERR! npm run
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\USER\AppData\Local\npm-cache\_logs\2022-04-28T13_04_19_260Z-debug.log
package.json has various sections, scripts is one of them, which allows you to write npm scripts which we can run using npm run <script-name>. The error you're getting is because your start script is missing in that section.
For a node app, your package.json file should look similar to this.
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"start": "node app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.20.0",
"cors": "^2.8.5",
"express": "^4.17.3"
}
}
In the above code, focus on the scripts section. The following line is missing in your package.json file.
"scripts": {
"start": "node app.js",
},
Add this line and you're good to go.
Option_1: Control inside file "package.json":
"scripts": {
"start": "what command is here?",
},
Option_2: Control Terminal (folder) where you write command OR open the responding terminal for your project: right-click
on the project name -> "Open in integrated Terminal"
You have to put what command you need npm to run when you give npm start.
You have to write node index.js in scripts.start in your package.json file

Getting Error While starting lite-server in npm

i did a fresh "npm init". put entry point : "index.html"
then installed lite-server : npm install lite-server --save-dev
also updated the package.json and I Uninstalled, reinstalled tried everything but it's not working and
also tried npm cache clean --force but it's not working. can any one help with this error.
{
"name": "git-test",
"version": "1.0.0",
"description": "",
"main": "index.html",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "npm run lite",
"lite": "lite-server"
},
"author": "Sateesh",
"license": "ISC",
"dependencies": {
"lite-server": "^2.5.4"
}
}
But when I did "npm start" , getting this error
git-test#1.0.0 start D:\Coursera\git-test
> npm run lite
'npm' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! git-test#1.0.0 start: `npm run lite`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the git-test#1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\sai\AppData\Roaming\npm-cache\_logs\2020-06-05T10_20_11_723Z-debug.log
I was too facing the same issue after a system shutdown, hence this worked for me:
First uninstall the current local lite-server in node_modules
npm uninstall lite-server
Install lite-server globally and try running the same command
npm install -g lite-server
then hit:
npm start
This fixed the issue for me, thank you
Here's my Json file script if you want to have a look
"scripts": {
"start": "npm run lite",
"test": "echo \"Error: no test specified\" && exit 1",
"lite": "lite-server"
},
You don't seem to have node/npm installed and configured properly (PATH issues).
I would suggest you try to re-install Node.js using the official instructions for your platform (https://nodejs.org/en/download/) or by using a Node.js version manager like nvm (https://github.com/nvm-sh/nvm) or n (https://github.com/tj/n).
Using nvm or n, will allow you to dynamically switch Node.js version without having to re-install everything from scratch.
Just install the live-server globally,i think that should solve the issue.
sudo npm install --global lite-server
And in your package.json file you can change a little bit.
{
"name": "git-test",
"version": "1.0.0",
"description": "",
"main": "index.html",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "lite-server",
},
"author": "Sateesh",
"license": "ISC",
"dependencies": {
"lite-server": "^2.5.4"
}
}
After this run this on terminal
npm start
I think this should help :)
I had a similar issue,yarn start worked for

npm5 missing build script

Using NPM 5, run npm test:
"scripts": {
"build": "babel src -d dist",
"test": "npm run build; mocha --require 'babel-polyfill' --compilers js:babel-register './tests/**/*.spec.js'"
},
I get this error:
npm ERR! missing script: build;
Using NPM 2 without any problem
If I replace npm run build; => babel src -d dist, I got this error:
mocha doesn't exist. './tests/**/*.spec.js' doesn't exist
but mocha is installed and tests folder exixts.
Tried to check your error, and created this code:
{
...
"scripts": {
"build": "echo 'building'",
"test": "npm run build && echo 'testing'"
},
...
}
then I simply ran:
npm test
and this was my output:
building
testing
npm - 5.0.3
So try maybe replacing ";" with "&&" in npm test

combine bin and install script

Given the following excerpt from package.json:
{
"name": "foo",
"version": "0.0.1",
"description": "Foo",
"main": "bin/index.js",
"bin": "bin/index-cli.js",
"private": true,
"scripts": {
"install": "tsc",
"test": "echo \"Error: no test specified\" && exit 1"
},
...
}
npm install fails with:
npm ERR! enoent ENOENT: no such file or directory, chmod '/home/mk/work/my-project/node_modules/foo/bin/index-cli.js'
Which is, because the install script (tsc - typescript compiler), which generates bin/index-cli.js from src/index-cli.ts is not executed before npm tries to create the sym link.
Question: What is the right way to have a bin, which is generated by an install script?

Resources