1
00:00:00,330 --> 00:00:03,900
As far as the package like Jason, why do we need it?

2
00:00:04,290 --> 00:00:09,300
Well, if we take a look at our dependencies, we can see that they have versions.

3
00:00:09,900 --> 00:00:15,790
And if you remember, some of the dependencies have dependencies on their own.

4
00:00:16,170 --> 00:00:21,410
And, of course, we need to keep in mind that those dependencies have versions as well.

5
00:00:22,110 --> 00:00:29,670
And, for example, the person who gets your project, you probably want them to have the same exact

6
00:00:29,670 --> 00:00:37,020
setup, because keep in mind, as these versions change, well, so does some of the functionality.

7
00:00:37,020 --> 00:00:37,470
Correct.

8
00:00:37,740 --> 00:00:44,550
So, for example, you set up the whole project, you use some kind of dependency that uses some other

9
00:00:44,550 --> 00:00:45,000
package.

10
00:00:45,150 --> 00:00:50,370
And that version changes not, for example, for the bootstrap, but for the jury.

11
00:00:50,790 --> 00:00:59,100
And then pretty much your project is obsolete, meaning it might get some bugs because the version of

12
00:00:59,100 --> 00:01:00,740
the query changed.

13
00:01:00,900 --> 00:01:08,250
So that's why you have this package log JSON and in there you have those specific versions for all the

14
00:01:08,250 --> 00:01:16,980
packages, not only for dependencies, but also for the packages that the dependency is using.

15
00:01:17,280 --> 00:01:24,810
Now, as far as this version, we have three values and you can think of it as a contract between us,

16
00:01:25,200 --> 00:01:32,490
the people who are using the package and the person who is creating and the first number is a major

17
00:01:32,490 --> 00:01:32,800
change.

18
00:01:33,000 --> 00:01:36,450
So when this changes, that means that there are some breaking changes.

19
00:01:36,740 --> 00:01:42,510
Now, the second one is a minor one, so that means that it is backward compatible.

20
00:01:42,670 --> 00:01:47,760
So, for example, if this changes to 18, I shouldn't expect any breaking changes.

21
00:01:47,970 --> 00:01:51,030
And the last one is just a patch for the bug fix.

22
00:01:51,240 --> 00:01:56,820
So that's also something to keep in mind when you decide to publish your own package.

23
00:01:57,000 --> 00:02:00,520
But of course, that's why you have here of this version.

24
00:02:00,900 --> 00:02:06,690
Now, lastly, I would just want to mention that if you're interested in more info about the package

25
00:02:06,960 --> 00:02:09,060
on, I would suggest this resource.

26
00:02:09,810 --> 00:02:13,890
So I simply went with packages on and keep on scrolling, keep on scrolling.

27
00:02:14,220 --> 00:02:17,340
And you're looking for, I guess, this blog post.

28
00:02:17,340 --> 00:02:17,520
Right.

29
00:02:17,850 --> 00:02:20,670
So the name is the basics of package.

30
00:02:20,670 --> 00:02:28,260
Drayson And in here you'll literally find everything explained to the smallest detail, whether that

31
00:02:28,260 --> 00:02:34,320
is a name version and rest of the field that you can find in the package on.

