"npm install" install no dependencies library - npm

redux-router#1.0.0-beta4 only has deep-equal as the dependencies.
redux-router/package.json
"devDependencies": {
"babel": "^5.6.14",
"babel-core": "5.6.15",
"babel-eslint": "^4.1.1",
"babel-loader": "^5.3.2",
"chai": "^3.0.0",
"eslint": "^1.3.1",
"eslint-config-airbnb": "0.0.8",
"eslint-plugin-react": "^3.3.1",
"history": "^1.9.0",
"jsdom": "^5.6.0",
"mocha": "^2.2.5",
"mocha-jsdom": "^1.0.0",
"node-libs-browser": "^0.5.2",
"react": "^0.14.1",
"react-addons-test-utils": "^0.14.1",
"react-dom": "^0.14.1",
"react-redux": "^4.0.0",
"react-router": "1.0.0",
"redux": "3.x",
"redux-devtools": "^2.1.0",
"rimraf": "^2.4.3",
"sinon": "^1.15.4",
"webpack": "^1.12.1"
},
"dependencies": {
"deep-equal": "^1.0.1"
}
But history is installed in node_modules when I install redux-router#1.0.0-beta4.
Why is history installed in it?
history is used in redux-router#1.0.0-beta4. But it doesn't specify its dependencies same as react, redux...
It occurs regardless of npm versions.
npm v3.4.1
% npm i redux-router#1.0.0-beta4
/Users/koba04/test
└─┬ redux-router#1.0.0-beta4
└── deep-equal#1.0.1
% ls node_modules/
deep-equal redux-router
% ls node_modules/redux-router/node_modules
history
npm v2.14.3
% npm i redux-router#1.0.0-beta4
redux-router#1.0.0-beta4 node_modules/redux-router
└── deep-equal#1.0.1
% ls node_modules
redux-router
% ls node_modules/redux-router/node_modules
deep-equal history

It was an npm's bug and fixed it.
https://github.com/reactjs/react-router-redux/issues/133

Related

Npm install try to install dependency not in package.json and prints error

On a project, I try to npm install for the first time. But it tries to install the dependency "js-xlsx" but i can't see it in package.json
Moreover, it prints error and can't install it, and install nothing else .
The error when npm install :
npm WARN deprecated har-validator#5.1.5: this library is no longer supported
npm ERR! Error while executing:
npm ERR! C:\Program Files\Git\mingw64\bin\git.EXE ls-remote -h -t https://github.com/securedeveloper/js-xlsx.git
npm ERR!
npm ERR! fatal: unable to access 'https://github.com/securedeveloper/js-xlsx.git/': Could not resolve host: github.com
npm ERR!
npm ERR! exited with error code: 128
Here is my package.json :
"dependencies": {
"axios": "^0.17.1",
"bootstrap": "^3.3.7",
"chart.js": "^2.4.0",
"create-react-class": "^15.6.3",
"fixed-data-table": "^0.6.3",
"jsx-to-string": "^1.0.2",
"lodash": "^4.17.5",
"moment": "^2.18.1",
"object-unfreeze": "^1.1.0",
"react": "^15.5.4",
"react-bootstrap": "^0.30.7",
"react-calendar-timeline": "^0.15.12",
"react-chartjs-2": "^2.1.0",
"react-data-export": "^0.4.2",
"react-dom": "^15.5.4",
"react-grid-layout": "^0.16.0",
"react-notification-system": "^0.2.16",
"react-redux": "^5.0.1",
"react-router": "^3.0.0",
"react-treebeard": "^2.0.3",
"redux": "^3.6.0",
"xhr": "^2.4.0"
},
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.4",
"babel-preset-env": "^1.7.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"clean-webpack-plugin": "^0.1.19",
"css-entry-webpack-plugin": "^1.0.0-beta.4",
"css-loader": "^0.28.11",
"enzyme": "^3.3.0",
"enzyme-adapter-react-15": "^1.0.5",
"eslint": "^4.19.1",
"eslint-plugin-react": "^7.6.1",
"file-loader": "^1.1.11",
"html-webpack-plugin": "^3.2.0",
"identity-obj-proxy": "^3.0.0",
"jest": "^23.1.0",
"jest-sonar-reporter": "^2.0.0",
"mini-css-extract-plugin": "^0.4.0",
"mock-local-storage": "^1.0.5",
"optimize-css-assets-webpack-plugin": "^4.0.2",
"react-css-modules": "^4.1.0",
"react-datetime": "^2.8.9",
"react-test-renderer": "^15.6.2",
"style-loader": "^0.16.1",
"uglifyjs-webpack-plugin": "^1.2.5",
"webpack": "^4.20.2",
"webpack-cli": "^3.1.1",
"webpack-dev-server": "^3.1.4",
"webpack-merge": "^4.1.2"
},
Why does it try to install it ? Does it need it for another dependency ?
How can i solve this ?
So, I needed to configure not only the proxy of npm, but git also :
git config --global http.proxy http://proxyUsername:proxyPassword#proxy.server.com:port
git config --global https.proxy http://proxyUsername:proxyPassword#proxy.server.com:port
git config http.sslVerify false

How to install all packages from Gatsby V3

I currently have Gatsby installed on version 4, but I wanted to "downgrade" it to version 3, and all dependencies to be compatible with version 3.
Is there any method to "downgrade" everything to the most up-to-date V3 version?
My package.json
"dependencies": {
"#babel/plugin-transform-typescript": "^7.16.1",
"#styled-icons/boxicons-regular": "^10.38.0",
"#types/node": "^16.11.7",
"#types/react": "^17.0.34",
"#types/react-helmet": "^6.1.4",
"gatsby": "^4.1.1",
"gatsby-plugin-gatsby-cloud": "^4.1.0",
"gatsby-plugin-image": "^2.1.2",
"gatsby-plugin-manifest": "^4.1.0",
"gatsby-plugin-offline": "^5.1.0",
"gatsby-plugin-react-helmet": "^5.1.0",
"gatsby-plugin-sharp": "^4.1.3",
"gatsby-source-filesystem": "^4.1.2",
"gatsby-transformer-sharp": "^4.1.0",
"plop": "^2.7.6",
"prop-types": "^15.7.2",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-helmet": "^6.1.0",
"react-icons": "^4.3.1",
"react-markdown": "^7.1.0",
"rehype-raw": "^6.1.0",
"styled-components": "^5.3.3",
"styled-media-query": "^2.1.2",
"swiper": "^7.2.0",
"tslint": "^6.1.3",
"typescript": "^4.4.4"
},
"devDependencies": {
"#babel/core": "^7.16.0",
"#react-icons/all-files": "^4.1.0",
"#storybook/addon-actions": "^6.3.12",
"#storybook/addon-essentials": "^6.3.12",
"#storybook/addon-links": "^6.3.12",
"#storybook/builder-webpack5": "^6.3.12",
"#storybook/manager-webpack5": "^6.3.12",
"#storybook/react": "^6.3.12",
"#types/react-dom": "^17.0.11",
"#types/styled-components": "^5.1.15",
"#types/swiper": "^5.4.3",
"#typescript-eslint/eslint-plugin": "^5.3.1",
"#typescript-eslint/parser": "^5.3.1",
"babel-loader": "^8.2.3",
"babel-plugin-styled-components": "^1.13.3",
"chromatic": "^6.0.6",
"eslint": "^8.2.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-react": "^7.27.0",
"eslint-plugin-react-hooks": "^4.3.0",
"gatsby-plugin-scss-typescript": "^5.1.0",
"gatsby-plugin-styled-components": "^5.1.0",
"gatsby-plugin-typescript-scss-modules": "^1.0.7",
"prettier": "^2.4.1",
"storybook-addon-gatsby": "^0.0.2"
},
There's no magic command to downgrade automatically Gatsby version and all related dependencies. Basically, you need uninstall and reinstall Gatsby to your desired version:
If you need to reset your gatsby-cli version:
npm uninstall -g gatsby-cli
npm install -g gatsby-cli#latest
After that:
npm install gatsby#3.14
Where 3.14 is your desired version (according to the releases notes it should be 3.14).
Then, you will need to run:
npm outdated
To fix your dependency versions.
You'll need to remove the node_modules and the package-lock.json before installing and auditing the packages to avoid locked dependencies and odd behaviors.

Unable to resolve module util from node_modules\uuidv4\build\lib\uuidv4.js: util could not be found within the project

I've updated my modules in the package.json and I'm now getting the error "Unable to resolve module util from node_modules\uuidv4\build\lib\uuidv4.js: util could not be found within the project."
Of the steps below, I've done #2. I'm not using watchman for #1, I'm using npm instead of yarn for #3, and I don't know what path #4 is referring to. Here is my full output.
PS C:\Dev\myProj> react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
(node:16148) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use node --trace-warnings ... to show where the warning was created)
Welcome to React Native!
Learn once, write anywhere
error Unable to resolve module util from node_modules\uuidv4\build\lib\uuidv4.js: util could not be found within the project.
If you are sure the module exists, try these steps:
Clear watchman watches: watchman watch-del-all
Delete node_modules: rm -rf node_modules and run yarn install
Reset Metro's cache: yarn start --reset-cache
Remove the cache: rm -rf /tmp/metro-*. Run CLI with --verbose flag for more details.
Error: Unable to resolve module util from node_modules\uuidv4\build\lib\uuidv4.js: util could not be found within the project.
If you are sure the module exists, try these steps:
Clear watchman watches: watchman watch-del-all
Delete node_modules: rm -rf node_modules and run yarn install
Reset Metro's cache: yarn start --reset-cache
Remove the cache: rm -rf /tmp/metro-*
at ModuleResolver.resolveDependency (C:\Dev\myProj\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:186:15)
at ResolutionRequest.resolveDependency (C:\Dev\myProj\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:52:18)
at DependencyGraph.resolveDependency (C:\Dev\myProj\node_modules\metro\src\node-haste\DependencyGraph.js:287:16)
at Object.resolve (C:\Dev\myProj\node_modules\metro\src\lib\transformHelpers.js:267:42)
at C:\Dev\myProj\node_modules\metro\src\DeltaBundler\traverseDependencies.js:434:31
at Array.map ()
at resolveDependencies (C:\Dev\myProj\node_modules\metro\src\DeltaBundler\traverseDependencies.js:431:18)
at C:\Dev\myProj\node_modules\metro\src\DeltaBundler\traverseDependencies.js:275:33
at Generator.next ()
at asyncGeneratorStep (C:\Dev\myProj\node_modules\metro\src\DeltaBundler\traverseDependencies.js:87:24)
Here is my package.json file
{
"name": "myproj",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "react-native start",
"prettier": "prettier --write '*.js' 'src/**/*.js'",
"test": "jest",
"lint": "eslint .",
"android": " cd android && ./gradlew clean && cd .. && react-native run-android",
"ios": "react-native run-ios"
},
"dependencies": {
"#react-native-community/async-storage": "^1.11.0",
"#react-native-community/cameraroll": "^4.0.0",
"#react-native-community/geolocation": "^2.0.2",
"#react-native-community/masked-view": "^0.1.10",
"#react-native-firebase/app": "^8.3.1",
"#react-native-firebase/auth": "^8.3.3",
"#react-native-firebase/messaging": "^7.7.1",
"#skele/components": "^1.0.0-alpha.40",
"axios": "^0.19.2",
"base-64": "^0.1.0",
"crypto-js": "^4.0.0",
"expo-av": "~8.4.0",
"expo-blur": "^8.1.2",
"expo-camera": "^8.3.1",
"expo-constants": "~9.1.1",
"expo-facebook": "~8.2.1",
"expo-file-system": "^9.1.0",
"expo-firebase-recaptcha": "^1.1.3",
"expo-image-picker": "~8.4.0",
"expo-localization": "~8.2.1",
"expo-location": "~8.3.0",
"expo-permissions": "^9.1.0",
"firebase": "7.18.0",
"formik": "^2.1.5",
"i18n-js": "^3.7.1",
"invert-color": "^2.0.0",
"jest-haste-map": "^26.3.0",
"jest-serializer": "^26.3.0",
"jest-worker": "^26.3.0",
"lodash": "^4.17.20",
"lodash.isequal": "^4.5.0",
"lodash.memoize": "^4.1.2",
"mobx": "^5.15.6",
"mobx-react": "^6.2.5",
"moment": "^2.27.0",
"oauth-1.0a": "^2.2.6",
"react": "16.13.1",
"react-native": "0.63.2",
"react-native-actionsheet": "^2.4.2",
"react-native-animatable": "^1.3.3",
"react-native-app-intro-slider": "^4.0.4",
"react-native-appearance": "~0.3.4",
"react-native-autogrow-textinput": "^5.4.0",
"react-native-button": "^3.0.1",
"react-native-confirmation-code-field": "^6.5.0",
"react-native-dialog-input": "^1.0.8",
"react-native-fast-image": "^8.3.2",
"react-native-fbsdk": "2.0.0",
"react-native-geocoding": "^0.4.0",
"react-native-gesture-handler": "^1.7.0",
"react-native-get-random-values": "^1.4.0",
"react-native-google-places-autocomplete": "^1.8.0",
"react-native-image-crop-picker": "^0.32.2",
"react-native-image-filter-kit": "^0.7.3",
"react-native-image-picker": "^2.3.3",
"react-native-image-progress": "^1.1.1",
"react-native-image-view": "^2.1.9",
"react-native-indicators": "^0.17.0",
"react-native-iphone-x-helper": "^1.2.1",
"react-native-keyboard-aware-scroll-view": "^0.9.2",
"react-native-keyboard-aware-view": "0.0.14",
"react-native-keyboard-input": "^6.0.2",
"react-native-keyboard-tracking-view": "^5.7.0",
"react-native-localize": "^1.4.1",
"react-native-maps": "0.27.1",
"react-native-modal": "^11.5.6",
"react-native-modal-patch": "git+https://github.com/HarvestProfit/react-native-modal-patch.git",
"react-native-modalbox": "^2.0.0",
"react-native-phone-input": "^0.2.4",
"react-native-popup-menu": "^0.15.9",
"react-native-progress": "^4.1.2",
"react-native-reanimated": "^1.13.0",
"react-native-safe-area-context": "^3.1.4",
"react-native-screens": "^2.10.1",
"react-native-search-box": "0.0.19",
"react-native-slider": "^0.11.0",
"react-native-splash-screen": "^3.2.0",
"react-native-swiper": "^1.6.0-nightly.5",
"react-native-unimodules": "^0.10.1",
"react-native-vector-icons": "7.0.0",
"react-native-video": "^5.0.2",
"react-native-view-more-text": "^2.1.0",
"react-native-webview": "^10.7.0",
"react-navigation": "^4.4.0",
"react-navigation-drawer": "^2.5.0",
"react-navigation-redux-helpers": "^4.0.1",
"react-navigation-stack": "^2.8.2",
"react-navigation-tabs": "^2.9.0",
"react-redux": "^7.2.1",
"redux": "^4.0.5",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0",
"remote-redux-devtools": "^0.5.16",
"uuidv4": "^6.2.2"
},
"devDependencies": {
"#babel/core": "^7.11.1",
"#babel/plugin-proposal-decorators": "^7.10.5",
"#babel/runtime": "^7.11.2",
"#react-native-community/eslint-config": "^2.0.0",
"babel-jest": "^26.3.0",
"babel-plugin-transform-remove-console": "^6.9.4",
"eslint": "7.7.0",
"jest": "^26.4.0",
"metro-react-native-babel-preset": "^0.62.0",
"prettier": "2.0.5",
"react-test-renderer": "16.13.1"
},
"jest": {
"preset": "react-native"
}
}
I had to roll back:
"uuidv4": "^5.0.1"
None of the answers provided here worked for me. I tried
Reverting to "uuidv4": "^5.0.1"
Reverting to "uuidv4": "^3.0.1"
Deliting the node_modules folder and then running npm i
What fixed it for me was using this UUID generation instead https://www.npmjs.com/package/react-native-uuid
Search somewhere you have imported "uuidv4" in your project and remove it.
Delete the node-modules folder from your project and after that run npm-install for generating it again. This worked for me.
Then import uuidv4 from uuid library
const { v4: uuidv4 } = require('uuid');
Inside function:
setTodo(prevTodo => {
`return [...prevTodo,{id:uuidv4(), name: name, complete:false}]
})

Does publishing to NPM add dependencies?

The package react-canvas-draw has the following in its package.json on GitHub:
"dependencies": {
"catenary-curve": "^1.0.1",
"lazy-brush": "^1.0.1",
"prop-types": "^15.6.2",
"resize-observer-polyfill": "^1.5.0"
},
"peerDependencies": {
"react": "16.x"
},
"devDependencies": {
"all-contributors-cli": "^5.4.1",
"babel-eslint": "^7.2.3",
"css-loader": "^0.28.9",
"enzyme": "^3.3.0",
"enzyme-adapter-react-16": "^1.1.1",
"eslint": "^4.1.1",
"eslint-config-react-app": "^2.1.0",
"eslint-plugin-flowtype": "^2.34.1",
"eslint-plugin-import": "^2.6.0",
"eslint-plugin-jsx-a11y": "^5.1.1",
"eslint-plugin-react": "^7.1.0",
"gh-pages": "^1.1.0",
"nwb": "0.21.x",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"style-loader": "^0.19.1"
},
However, when I view the package on NPM, I see:
"dependencies": {
"catenary-curve": "^1.0.1",
"codecov": "^3.5.0", // <-- note
"coveralls": "^3.0.4", // <-- note
"lazy-brush": "^1.0.1",
"prop-types": "^15.6.2",
"resize-observer-polyfill": "^1.5.0"
},
"peerDependencies": {
"react": "16.x"
},
"devDependencies": {
"all-contributors-cli": "^5.4.1",
"babel-eslint": "^7.2.3",
"css-loader": "^0.28.9",
"enzyme": "^3.3.0",
"enzyme-adapter-react-16": "^1.1.1",
"eslint": "^4.1.1",
"eslint-config-react-app": "^2.1.0",
"eslint-plugin-flowtype": "^2.34.1",
"eslint-plugin-import": "^2.6.0",
"eslint-plugin-jsx-a11y": "^5.1.1",
"eslint-plugin-react": "^7.1.0",
"gh-pages": "^1.1.0",
"nwb": "^0.21.5",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"style-loader": "^0.19.1"
},
I noted above the two additional packages that I see: codecov and coveralls. They're also displayed in the user-friendly site.
Why are these in the NPM package entry, but not in the GitHub source?
My only thought: the words codecov and coveralls only really exist in the .travis.yml file:
before_install:
- npm install codecov coveralls
- npm install nwb
...So, npm publish is detecting the npm install commands and adding dependencies to package.json? I can't find anything to support this, but I don't have any better ideas.
You're correct in your assumption, executing npm install as of NPM v5 will add them to the package.json as dependencies. The subsequent npm publish that travis runs is then including this "updated" dependency list in the package.
It's interesting that they're shipping with those packages, as they're primarily "dev dependencies" so don't need to be included in the distributed bundle. You may want to open an issue or pull request that either declares these as dev dependencies in the package.json or includes a --save-dev in the .travis.yml.
(Though the latter would not be that great either as it would "add" those as dev deps of the published module that are not reflected on the github source).

why npm install no needed package?

I want to know what make "npm install" install #angula from this package.json dependecies ?
"dependencies": {
"#trust/webcrypto": "^0.9.0",
"body-parser": "^1.18.2",
"civic-sip-api": "^1.0.1",
"cookie-parser": "^1.4.3",
"cors": "^2.8.4",
"ethereumjs-testrpc": "^6.0.3",
"express": "^4.16.3",
"express-jwt": "^5.3.1",
"gun": "^0.9.993",
"ipfs": "^0.28.2",
"jsonwebtoken": "^8.2.1",
"md5": "^2.2.1",
"orbit-db": "^0.19.7",
"passport": "^0.4.0",
"passport-local": "^1.0.0",
"sha3": "^1.2.0",
"socket.io": "^2.1.0",
"socketio-jwt": "^4.5.0",
"uport-connect": "^0.7.2",
"web3": "^0.20.6"
},
after running "npm install" in the project folder I got some non needed package such as #angular, #angular-devkit, #ngtools
They are dependencies of each module. If you open up each module it has a package.json with the dependencies of the installing module.