sass-guidelines icon indicating copy to clipboard operation
sass-guidelines copied to clipboard

Replace `@import` by `@use`?

Open robsonsobral opened this issue 3 years ago • 12 comments

I don't even understand @use yet, but they say it's the future.

robsonsobral avatar Jul 04 '20 21:07 robsonsobral

I guess at some point I should probably catch up with Sass and try to understand what’s new. 😅

KittyGiraudel avatar Nov 07 '20 11:11 KittyGiraudel

I came here to open an issue and... I already did!


I'm testing things. If I came to a conclusion, I come back and tell you!

robsonsobral avatar Jun 07 '21 13:06 robsonsobral

Alright! 😊

KittyGiraudel avatar Jun 07 '21 15:06 KittyGiraudel

Hey, big boss!

Remembering the current recommendation:

  • abstracts/:
    • _font-stacks.scss
    • _mixins.scss
    • ...
  • base/
  • components/
  • layout/
  • pages/
  • themes/
  • vendor/
  • index.scss

The abstracts need to be linked on every file of other folders, using @use '../abstracts/index' as my;, let's combine them on abstracts/_index.scss:

@use 'config';

@forward 'constants';
@forward 'font-stacks';
@forward 'functions' with (
  $my-base-url: config.$base-url,
  $my-breakpoints: config.$breakpoints,
  $my-font-weights: config.$font-weights,
  $my-gutter: config.$gutter,
  $my-palette: config.$palette,
);
@forward 'config';
@forward 'mixins';

The section 1 of the joining all file (which you insist on calling main.scss 😉 ) turns useless

@charset 'UTF-8';

// 1. Configuration and helpers
// @use 'abstracts/constants' as *;
// @use 'abstracts/stacks' as *;
// @use 'abstracts/functions' as *;
// @use 'abstracts/config' as *;
// @use 'abstracts/mixins' as *;

[...]

I'm considering to split the configurations in _color-palettes.scss, _ratios-and-scales.scss, _general.scss...

Too confusing?

robsonsobral avatar Jun 11 '21 14:06 robsonsobral

Too confusing?

At this stage, yes. 😅 But I appreciate you taking the time to share your thoughts—thank you very much! I’ll try to make some time (and mind space) to come back to this issue soonish. :)

KittyGiraudel avatar Jun 18 '21 13:06 KittyGiraudel

I already found more things to improve. Soon I'll show you!

robsonsobral avatar Jul 05 '21 00:07 robsonsobral

Hello,

As sass official announced the deprecation of import and that use comes with a lot more features it would be amazing to update the guidelines 😊 (See Sass module system & official documentation of import and use)

Would you be open to a PR to propose new guidelines with use ?

Have a nice day,

Elrendio

Elrendio avatar Oct 21 '21 11:10 Elrendio

Hello! :wave:

I think we probably should, yes. However, it would be a good idea to draft version 1.4 of the Sass Guidelines, so we don’t sneak changes into the current version (1.3). By issuing a proper version 1.4 in English (including @use changes and other things we might find valuable to bundle), we can let translators bring their version to 1.4 as well in their own time.

Speaking of time, I have limited of it, and more importantly haven’t worked with Sass in 5+ years, so I’m not the best person to work on future versions of Sass Guidelines unfortunately. But maybe we could open an issue and list things that should be changed? Of the top of my head, I’d say @import to @use, and maybe the SCSS-lint version?

TL;DR: I’m all for updating literature around @import to suggest using @use, but I would love for it to be done as part of the next version of Sass Guidelines, and not just sneaked into the current English version. :)

KittyGiraudel avatar Oct 21 '21 12:10 KittyGiraudel

Amazing :star_struck: and completely agree!

I have a team specialized in front at my company and we're working on our guidelines. It could be the basis for Sass Guidelines (1.4). I'll create an issue by the end of the week 😊

PS: I'm very much impressed by your reaction time!

Elrendio avatar Oct 21 '21 12:10 Elrendio

Nice, that sounds great. Let’s move that discussion to a dedicated issue then, and we can pick it up from there. ✨

KittyGiraudel avatar Oct 21 '21 12:10 KittyGiraudel

I would like to keep helping (in case @KittyGiraudel accepts, of course).

robsonsobral avatar Oct 22 '21 08:10 robsonsobral

@robsonsobral Obviously! The more the merrier. My only expectation for the future of Sass Guidelines is that they are considered with the same amount of care they have been until now. :)

KittyGiraudel avatar Oct 22 '21 08:10 KittyGiraudel