Understanding Semantic Versioning with Real World Examples

  Рет қаралды 7,523

Swashbuckling with Code

Swashbuckling with Code

Күн бұрын

Semantic Versioning, or semver for short, is one of those systems that's used all the time by JavaScript or Ruby developers (and others) but often not understood. It's one of those systems that just sorta works and you don't have to think about it too much, but it actually helps a lot to take some time and understand what the numbers mean and the implications of updating to a new version.
In this video, I'm going to show some really popular packages being used and updated as a sort of real world example, while still keeping the code itself simple. I'm hoping by doing this you can get a hands on example of what it means to update each version number (Major, Minor, and Patch) and how to troubleshoot breaking changes. Knowing this just gives you a lot more control over your project dependencies, and I think it makes you a better software developer if the ideas are new.
Code Repositories for reference:
github.com/Jimmydalecleveland...
github.com/Jimmydalecleveland...
NPM Semantic Versioning video:
• Semantic versioning an...
Old package lockfile video:
• Should you commit Java...
~~~~~~
00:00 - What we'll cover
01:05 - Explanation of Semantic Versioning
07:48 - Quick project setup and npm commands
15:17 - Minor update example (inquirer)
19:15 - Patch update examples (inquirer)
20:36 - Tilde (~) character example (inquirer)
22:29 - How to see versions of a package
24:06 - Major (breaking change) example (inquirer)
29:44 - Chalk package and a Major update fix example
38:33 - Thinking in a semver mindset
~~~~~~
Follow Jimmy Cleveland's doings:
twitter: / jimmydcleveland
blog: blog.jimmydc.com/
#javascript #npm #semver

Пікірлер: 40
@migom6
@migom6 2 жыл бұрын
JS Jesus is back !
@kasperchristensen8416
@kasperchristensen8416 Жыл бұрын
Very nice to see semantic versioning in real world action by a person who has a solid understanding of the system. Thank you!
@SwashbucklingwithCode
@SwashbucklingwithCode Жыл бұрын
Kind words, thank you.
@coldCoders
@coldCoders 8 ай бұрын
This is a beuatiful explanation and walk through. I never thought I would be so engaged and interested in SemVer. I am doing freecodebootcamp, back end developer course/certification and have been learning how to make my own local server and now this regarding version. I play videogames, and seeing how versions play into breakchanges, minors, pathes and majors, makes so much sense now :) Thank you for this. I learned so much. Thank you :)
@amphibia95
@amphibia95 2 жыл бұрын
Holy moly, I'm literally building a component library for a client at work right now (never did anything like it in my life). This video couldn't have happened at a better time for me haha Extremely helpful as always, thanks so much!
@SwashbucklingwithCode
@SwashbucklingwithCode 2 жыл бұрын
That's awesome. I've been considering making some videos on design systems/component libraries, but it's a lot of work.
@sairaj5660
@sairaj5660 2 жыл бұрын
Thanks for this awesome value bomb
@tobiasfedder1390
@tobiasfedder1390 2 жыл бұрын
Wow! Excellent examples to show the utility of SemVer. Also, I learned something new about npm again - thank you.
@SwashbucklingwithCode
@SwashbucklingwithCode 2 жыл бұрын
I'm happy to hear it was helpful.
@1kuos
@1kuos 2 жыл бұрын
Thank you for the comprehensive tutorial!
@LazarTas
@LazarTas Жыл бұрын
Great tutoring skill you have. You should make more videos with same breakdown examples. Keep it up
@SwashbucklingwithCode
@SwashbucklingwithCode Жыл бұрын
Thank you.👍
@yacine101
@yacine101 2 жыл бұрын
very informative video, thank you ❤️!
@larrybenedictomarzanjr.8288
@larrybenedictomarzanjr.8288 2 ай бұрын
I finally know what ^ and ~ means :) THanks
@FlutterShipp
@FlutterShipp 2 жыл бұрын
Omg, you deserve more views! I suggest you to put an attractive thumpnail. the content is so good to know! Thanks a lot
@zacalves
@zacalves 2 жыл бұрын
I watched a few of your videos not too long ago and loved it, but just now it took me like (excruciating) 5 minutes to find it because I couldn't remember the name. Lots of content in the internet these days hahaha
@SwashbucklingwithCode
@SwashbucklingwithCode 2 жыл бұрын
That's funny. I've been there before.
@WalterWhite-du6zx
@WalterWhite-du6zx Жыл бұрын
Great video. What font do you use throughout the video? Thanks.
@adithyakiransekar
@adithyakiransekar Жыл бұрын
Great video, thank you. As a follow up, can you make a video on semantic-release or any other package, which makes managing this tagging and versioning easier, than manually bumping up version when releasing a package
@SwashbucklingwithCode
@SwashbucklingwithCode Жыл бұрын
Sure, I will add it to the list when I get started making videos again. In the meantime, I use changeset as my favorite versioning solution.
@muhammedemam3159
@muhammedemam3159 9 ай бұрын
this is owesomeeeeeeeeeeeee
@miltontoms
@miltontoms 15 күн бұрын
Now I understand
@epicrealmIN
@epicrealmIN 2 жыл бұрын
Long time 🧐. Was waiting for ur videos.
@SwashbucklingwithCode
@SwashbucklingwithCode 2 жыл бұрын
Thank you for waiting. It's been a busy time for me.
@andystevenson6336
@andystevenson6336 2 жыл бұрын
very useful
@SwashbucklingwithCode
@SwashbucklingwithCode 2 жыл бұрын
Nice.
@sekharareddy26
@sekharareddy26 Жыл бұрын
I need to onboard semver in gitlab side , is it possible to do, if it is possible how to do can you please guide me
@SwashbucklingwithCode
@SwashbucklingwithCode Жыл бұрын
semver is the same regardless of the platform. Is there a particular arrow you could narrow down that is confusing or needs more clarification?
@bhavyabansal1143
@bhavyabansal1143 2 жыл бұрын
Thanks, can you do a new video on package lock?
@alpachino468
@alpachino468 Жыл бұрын
I wasn't able to watch the entire video yet, so I'm not sure if this gets answered. Let's say I make a minor change to the codebase that isn't a new feature or a bugfix, and therefore shouldn't break the version, do I increment the version as a minor a patch?
@SwashbucklingwithCode
@SwashbucklingwithCode Жыл бұрын
Do you have an example in mind? I haven't ever run into a situation which isn't one of those categories. If you are upgrading anything at all, that's a feature. If you are fixing anything at all, that's a patch. However, if you are thinking about something like a refactor where the code is better but nothing changed for your user, you wouldn't bump the version at all because it doesn't affect the user.
@raghur5678
@raghur5678 Жыл бұрын
Hi thanks for the video.. i have one problm like when i am running on my feature branch the Tag version is 1.0.1, whn merging with the Develop Branch its getting changed to 271.1.0, but i want to be with 1.0.1 version for the Client SDK and the Data N Service Dll... but why its getting changed? any idea
@SwashbucklingwithCode
@SwashbucklingwithCode Жыл бұрын
Sorry, I don't have enough details of the intentions to figure that out. I hope you've had some luck figuring it out by now.
@raghur5678
@raghur5678 Жыл бұрын
@@SwashbucklingwithCode ok thanks.. for the reply.
@Venopon
@Venopon 2 жыл бұрын
Does the version start at 0.0.0 or 1.0.0?
@SwashbucklingwithCode
@SwashbucklingwithCode 2 жыл бұрын
Great question, the semver standard says you should start with `0.1.0` until you get to the first stable version, then you'd update to `1.0.0`. In reality, people do all sorts of stuff, but that's the recommended pattern.
@tony-ma
@tony-ma 2 жыл бұрын
do you use vite? will you do a video on it?
@SwashbucklingwithCode
@SwashbucklingwithCode 2 жыл бұрын
I don't, so it is unlikely I'd have one anytime soon, sorry. I like to dabble in all the frameworks but I don't make videos on anything I haven't used a decent amount.
@khoroshoigra8388
@khoroshoigra8388 2 жыл бұрын
Thanks john wick!!
How to Create and Publish an NPM Package
13:28
Swashbuckling with Code
Рет қаралды 3,3 М.
La final estuvo difícil
00:34
Juan De Dios Pantoja
Рет қаралды 28 МЛН
Be kind🤝
00:22
ISSEI / いっせい
Рет қаралды 21 МЛН
Semantic Versioning
10:35
Drupalize.Me
Рет қаралды 21 М.
How to Manage Releases with Semantic Versioning and Git Tags
43:14
Semantic Versioning with NPM
10:04
Steve Griffith - Prof3ssorSt3v3
Рет қаралды 10 М.
Catch Type Errors at Runtime with Zod: An Intro to this JavaScript Library
18:35
Swashbuckling with Code
Рет қаралды 4,5 М.
Semantic Versioning
4:42
DonovanBrown
Рет қаралды 1,8 М.
Don't learn Webpack in 2023: A dive into 3 alternatives
16:00
Swashbuckling with Code
Рет қаралды 9 М.
What is Span in C# and why you should be using it
15:15
Nick Chapsas
Рет қаралды 247 М.