If you search for any related problem or solution, you will see many old articles about this tool. For me, it was an interesting recognition.
A vast amount of the information is outdated. At first, this is sad, but if you go deeper, you will see that we don’t need most of that information. There are many mixins and functions now in the core (like the deep get). All you need for Sass is the official documentation that can seem small, but it is more than enough (and well-written).
In the end, Sass (for us, the end users) is not a complicated tool; it is an extension for writing CSS in a more manageable way.
In some cases, Sass is less relevant today because CSS has evolved on a grand scale. We don’t need a (12-column) grid system; we have Flex and CSS Grid. We also have variables (a different kind of one), so why bother?
Also, the newer CSS-in-JS solutions solve the code-breaking, nesting, and more.
To talk about modern Sass, first, we must speak a little about old Sass. Let’s see how we used it in the old days (4-6 years ago):
Please note that we can still use the listed things (except @import, which is deprecated), but today we do not need them as much as we needed some years ago. Also, this is a personal list, nothing more.
Today Sass is an old companion with new tools. Developers still use Sass, a lot of them. You may not use it directly, but one of the tools you use is built on it. I wrote a separate article about why to use it.
In my opinion, our daily job is the best way to use Sass in a minimal setup. Use just the parts that make your job easier (file separation, nesting); you don’t have to utilize all of its capabilities.
For generic purposes, for a simple project (where you don’t have many dependencies), you will find the following useful:
Although knowing Sass is basic and straightforward, it still has a learning curve depending on your needs. Its language is close to CSS by intention, which is a good design feature.
I think Sass is the best investment if you plan to make a complete system, like a library or framework. If you use a CSS tool that needs it (like Bootstrap), you have to go with it. One more reason to learn it.
The modern Sass - for me - means that we can use the new CSS features, but we can still get a lot of advantages from the preprocessor as we would get in a simple programming language.
One thing that developed is the build tools. Knowing your console is a generic skill for any developer, but it can be a barrier. You can easily include Sass into any tooling system, but my favorite is Sass CLI, which we can use from npm scripts.