chai-http installs a deprecated version of formidable - superagent

When I install chai-http it warns that formidable 1.2.6 is deprecated, and even though this is a dev dependency, when I push to my server the node app fails when asking it to npm install.
formidable is actually a dependency of superagent
I've tried updating chai-http, superagent and formidable, but my package.lock.json reference of "formidable": "^1.2.0", never gets updated.
npm outdated --depth=5 doesn't show me formidable as being installed but its in my package.lock.json under superagent, and that's where the error log points.
At present my workaround is to remove chai-http before pushing to server.
How can I update the formidable module?

Related

How to solve dependency error for yarn global add #vue/cli?

Within a mac environment I am trying to upgrade the Vue CLI v4.5.13 to 5.0.8 using yarn as a packet manager
enter image description here
After fetching the packages the terminal result is:
ted (end-of-life October 22nd 2023). This package's functionality is now found in the `#apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.
[2/4] 🚚 Fetching packages...
error create-strapi-app#3.6.5: The engine "node" is incompatible with this module. Expected version ">=10.16.0 <=14.x.x". Got "16.17.1"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/global for documentation about this command.
Reading the documentation at https://classic.yarnpkg.com/en/docs/cli/global does not help.
I expect to update the VUE CLI regardless to project dependencies and I am missing the command that the command
yarn global upgrade #vue/cli
ignores all existent dependencies and simply updates...
yarn add #vue/cli
finished successfully, but that does not help, due the Vue CLI remains to v4.5.13
What does
Fetching packages...
error create-strapi-app#3.6.5: The engine "node" is incompatible with this module. Expected version ">=10.16.0 <=14.x.x". Got "16.17.1"
states?
Node is incompatible to the node module defined in a local strapi project, right?
How should I handle this and why?
Thank you very much, for your kind explanations...
Trying to update Vue CLI to the latest version and hitting dependency blocks on global layer

aldeed:collection2 not working with iron cli

I am new to meteor iron and I am trying to install aldeed collection2 but the app is crushing
W20190215-12:44:48.023(2)? (STDERR) WARNING: npm peer requirements (for aldeed:collection2) not installed:
W20190215-12:44:48.024(2)? (STDERR) - simpl-schema#>=0.0.0 not installed.
I have tried to install simple-schema but nothing is working.
meteor npm install simpl-schema --save
I have also removed and reinstalled collection2 but I still get the same error. What is it that I am missing?
I tried to reproduce the error with a new created repo, that contains the dependencies you have listed but everything runs fine on my side.
However, I found, thataldeed:collection2-core is now somewhat deprecated and being merged back into aldeed:collection2 as you can read in the project repository on GitHub:
MPORTANT: This package has been merged back into aldeed:collection2 as version 3.0.0 of that package. Refer to https://github.com/aldeed/meteor-collection2/blob/master/CHANGELOG.md#300
Create issues and PRs in the other repo going forward: https://github.com/aldeed/meteor-collection2/issues
Issues remain enabled on this repo for reference to existing issues only.
So a good first step would be to remove the deprecated package and install the updated one:
meteor remove aldeed:collection2-core
meteor add aldeed:collection2
If you want to start from a new clean project you can reproduce these steps to get to a running starting point here:
meteor create someprojectname
cd someprojectname
meteor add iron:router twbs:bootstrap aldeed:autoform aldeed:collection2
meteor npm install --save iron simpl-schema
meteor
The project will start without errors. From here you can start including your former code and see if the error will come back (which is then likely to be an issue inside your code) or not.
Important note on twbs:bootstrap:
The package twbs:bootstrap is using an old version (3.3.6) which is considered to contain several security vulnerabilities (read here and here).
If you want to use the latest Bootstrap you may rather install bootstrap using npm like so:
meteor remove twbs:bootstrap
meteor npm install --save bootstrap#latest jquery#latest popper.js#latest
You need jquery here, too because Meteor does not contain the required version and popper.js handles the Popover, Modal etc.
To include it in your code you need to add these lines to your client code:
import 'bootstrap'
import popper from 'popper.js'
global.Popper = popper
To use Bootstrap 4 with AutoForm you can install imajus:autoform-bootstrap4 (repo) and add the following to your client code:
AutoForm.setDefaultTemplate('bootstrap4')

Meteor 1.3 node build: doesn't work anymore with React

With 1.2.*, I used to build my staging/production bundles with meteor build, then moving into ./bundle/programs/server and npm install there.
I do the same thing with 1.3 version but now I have error message on trying to run bundle main file with node:
WARNING: npm peer requirements not installed:
- react#0.14.x not installed.
- react-addons-pure-render-mixin#0.14.x not installed.
Read more about installing npm peer dependencies:
http://guide.meteor.com/using-packages.html#peer-npm-dependencies
/var/www/builds/1459320997/bundle/programs/server/node_modules/fibers/future.js:267
throw(ex);
^
Error: Can't find npm module 'react'. Did you forget to call 'Npm.depends' in package.js within the 'modules-runtime' package?
I use react-meteor-data meteor package.
However, I already have "react": "^0.14.8", and "react-addons-linked-state-mixin": "^0.14.8", in my package.json and of course installed it with npm install ... --save and it is working fine on development environment when I use meteor command.
Any additional actions needed to run it? Did they change how meteor package should be build for production and didn't changed their docs? (because I don't see any changes in docs concerning meteor build so far.
Update: I tried to manually npm install these packages into ./bundle/program/server. Now they consequentially requires packages already listed in my package.json. I suppose Meteor just ignore this file on bundle. Will try to add a bug in their tracker.
I used Meteor 1.2 to build new 1.3 code so it is the issue. It happened because currently I build on the server that had another Meteor version.
I used answer from another Stackoverflow user (Ian) Updating all Meteor packages to latest versions
Easiest way is to delete the contents of .meteor/versions and then save

How to upgrade a meteor app from 0.9.4 to 1.0.0?

Meteor example app, microscope has version 0.9.4, when I try use meteor run command to launch application .
There have a print:
Sorry, this project uses Meteor METEOR#0.9.4, which is not installed and
could not be downloaded. Please check to make sure that you are online.
I am behind a proxy in corporate.
When I install the Meteor, only latest 1.0.0 can be installed.
How can I do?
Upgrade the app to 1.0.0, and how?
Downgrade the meteor to 0.9.4, and how?
I tried use meteor update --release 0.9.4, not work or using meteor update, other error pop up:
/home/hunter/.meteor/packages/meteor-tool/.1.0.35.hgbesu++os.linux.x86_32+web.browser+web.cordova/meteor-tool-os.linux.x86_32/dev_bundle/lib/node_modules/fibers/future.js:206
throw(ex);
..
Error: tunneling socket could not be established, cause=socket hang up
at Object.Future.wait (/home/hunter/.meteor/packages/meteor-tool/.1.0.35.hgbesu++os.linux.x86_32+web.browser+web.cordova/meteor-tool-os.linux.x86_32/dev_bundle/lib/node_modules/fibers/future.js:326:15)
at _.extend._createSocket (packages/ddp/stream_client_nodejs.js:265)
at _.extend._launchConnection (packages/ddp/stream_client_nodejs.js:142)
at new LivedataTest.ClientStream (packages/ddp/stream_client_nodejs.js:28)
at new Connection (packages/ddp/livedata_connection.js:52)
at Object.DDP.connect (packages/ddp/livedata_connection.js:1581)
This should proxy issue.
No document there after search.
I was able to successfully update a project from 0.9.3.1 to 1.1 with:
meteor update
Using meteor run like this:
meteor run --release
…won’t upgrade your meteor installation, but will download the --release and run the current app with it.
I had similar issue after updating meteor to 1.4.1. I happened to fix it with this help Github Issue
Reset your app
meteor reset
Install npm with meteor again
meteor npm install
Rebuild npm (Optional)
meteor npm rebuild
This is a bit late and slightly different: I have a similar problem when I upgraded from 1.0.3.1 to 1.0.3.2. After reading the answers here, and here, I tried the following which worked for me:
meteor update --release <new version>
replacing <new version> with the latest version you're running. This updated my project, and subsequent runs using meteor works as expected.
I was to update by change the file .meteor/release to meteor 1.0. I had packages issues, I also noticed that iron router inner actions changed (I fixed this by fixing the files load order) and on Meteor 1.0 you’ve a package for everything.
Try to add the package meteor-platform, it’s a meta package that contains the most used packages.
I also had issue with some atmosphere packages, it’s a tough job to upgrade it.

Can I undo updating Meteor?

I think updating Meteor might have broken my app. It was working, then I ran meteor update, and now it is not working. Can I do something like meteor downgrade?
Meteor 0.6.0 and above ships with a new distribution system. You can now pass the --release argument to any Meteor command and it will run against the requested release. For example, to bundle your app against Meteor 0.6.1, run: meteor bundle --release 0.6.1. Notably, this only works for post-0.6.0 releases.
If you want to pin your app to a specific release, run: meteor update --release <release>. This modifies the .meteor/release file in your app directory. Then simply run Meteor as usual. You'll still get notified when there's a new release available.
UPDATE: As of Meteor 0.6.0, this functionality is available without using Meteorite. See Avital's answer. (for versions > 0.6.0. To use functionality on versions less than 0.6.0 you can still use Meteorite:
If you want to control versions with your apps (so your existing app can still use an older version, or 0.57.1 (with the security bug fix) you can use meteorite: https://github.com/oortcloud/meteorite
Install it via npm install -g meteorite
Its also helpful with loads of other packages from http://atmosphere.meteor.com.
To control the version of your app edit your smart.json to something with:
{
"meteor": {
"tag": "v0.5.7"
}
}
Only the app you've already made will be affected & you can upgrade it when you're ready.
I have tried this and it is very hard. My best advice is to try and copy all the files from an app running the version you want, then paste your app's code in there.
There is no meteor downgrade command from its CLI. The best and easy way if you have version control like GIT, just undo your recent changes by git stash save, and run meteor again.
On Windows, I was able to effectively "downgrade" from a failed upgrade by editing the version number to a previous working release in the file:
C:\Users\Paul\AppData\Local.meteor\meteor.bat
You need to change it to a version which has a corresponding folder in: .meteor\packages\meteor-tool

Resources