Now, when you download or start to install these to request and request promise packages that we use
a lot inside of this course, you might see a warning about that.
These two packages have been deprecated, so that sounds like a really scary thing, especially when
we're developers.
We try to stay away from packages that are deprecated because it means that no one is going to update
the package anymore.
And it's basically like a dead thing now and we should be looking for other things.
Now that's more up to date, but in this case, it's actually a pretty good thing that they have gone
into maintenance mode in this module.
And let's take a look at the reasoning behind this deprecation of the package.
So this is a rather long post.
I'm not going to go into too much detail about it, but basically they write that the most valuable
thing they can do is to go into maintenance mode and stop considering new features, major or breaking
changes in the package.
Basically, it is because the package is being depended on by 41,000 modules.
At the time of this writing, it's been downloaded 14 million times a week.
It's probably one of the oldest and most popular packages for NodeJS, and they don't want to start
introducing new things in this package.
That's going to break a lot of things for the existing modules that's depending on it.
Now, he does go on to write about that.
The patterns at the core of requests are out of date.
Personally, I don't really see where that is, but he probably knows it better than I do.
But as just a simple web scraper for me, I don't really see anything wrong with the patterns of requests,
and especially not requests promise, because I can use request or I can use promises and async await.
And it basically seems like the same as with alternative libraries that you could use the APIs more
or less the same.
So for me as a web scraper, I don't really see any bad patterns or old things in this package that
makes me want to go somewhere else.
But I mean, it's up to you guys if you want to use another library.
You're always free to do that.
But they are very similar for me personally.
When I make a new package or a new web scraping project, I still use request and request promise because
I know it, I'm used to it.
And also this maintenance mode means that, well, it just means that it's not going to have any new
features or breaking changes.
Now, new features.
Well, as Http protocol is not really going to change tomorrow or the day after tomorrow or this year,
I think, or next year.
And.
Breaking changes is a good thing for me because they're not going to change up things a lot.
And for you as a student, it means that the content is in this course, is still going to match what
you download.
When you download request package that will still have to they will still try to merge fixes in a timely
fashion.
No promises though, but since the request is really a well tested, well used package, I don't think
they have any other deep box hidden somewhere, to be honest with you.
That being said, if you want to look at alternative libraries, I'm going to put a link for that also.
But you can also find it in the request GitHub.
I've taken a look at some of these libraries.
We all some of you might already know Axios if you're in the React environment, sort of it's quite
popular Http client, but all we're doing in the end is just doing some Http getting and some Http post
most of the time when we are web scraping.
And sometimes we also use cookies to do some of its education.
If it's a site where you have to be logged in.
I personally kind of like the needle package also because it had seemed to have some cookie support.
There's also URL lib and I tended to go to the needle package myself, but maybe Axios can also be used,
especially if you're used to it already from React, although they you have to kind of set your cookies
manually in the header.
But personally, again, for me I just use request and request promise.
As always, it doesn't really mean anything bad that it's deprecated.
It simply means there's not going to be any new major changes or features inside this package anymore
because too many people are depending on us.
We don't want to ruin the lives for 41,000 module maintainers, basically.
So but what you can expect is that the API request in the course is basically the same as what you download
today.
So I hope that cleared things up a little for you.
And you're not too scared when you see this deprecation message now.