Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support the @use directive #60

Closed
real-felix opened this issue Jan 23, 2020 · 3 comments
Closed

Support the @use directive #60

real-felix opened this issue Jan 23, 2020 · 3 comments

Comments

@real-felix
Copy link

I define a color palette in a _palette.scss file:

$color-0: white;

and then I @use is from another file:

@use "palette";

$font-color: palette.$color-0;

I've tried as well to use an explicit namespace @use palette as palette or to put everything in the global namespace @use palette as * but I get the same error message:

Undefined variable: "$color-0"
@kaj
Copy link
Owner

kaj commented Jan 24, 2020

Yes, @use / modules is a relatively new addition to sass, and is still not supported by any implementation other than dart sass. You don't get an error message for the @use line itself, as it could be a general @-rule that should be preserved to the css.

Status of module support in rsass:

@kaj kaj changed the title "@use" doesn't export correctly the variables Support the "@use" directive Apr 19, 2020
kaj added a commit that referenced this issue Nov 10, 2020
Progress: 2718 of 5840 tests passed in dart-sass compatiblilty mode.

### Breaking changes

* `SourceName` and `sass::Item::Import` was changed by #62.
* `Use` was added to the `sass::Item` enum by #80.
* Changes to `sass::Value` and `css::Vaue` by #81.

### Improvements

* PR #80: Implement `@use` for standard sass modules.  All standard
  modules are at least partially supported, only `sass:string` is
  fully supported.  See issue #60 for for module support status.
* PR 82: Implement hwb support in `sass:color`.
  Also, provide `From<Rgba>` for `css::Value` and deprecate color
  value constructors.
* Provide `From<bool>` for `css::Value` (and deprecate `Value::bool(v)`).
* PR #62: Improve `ParseError`, `SourcePos`, and `SourceName` by using
  located spans by [nom_locate](https://lib.rs/crates/nom_locate) in
  the parser.  A `sass::Item::Import` now handles where each file is
  imported from, to improve error reporting.
* PR #81: Improved number handlig.  Now `Value::Number` handles both
  machine-sized rationals, bignum rationals and floats internally and
  `Value::NumberBig` is removed.  Also, `Value` no longer implemnts
  `Ord` but only `PartialOrd`, to handle f64 NaN an infinite values
  correctly.
* Improve parsing of `@else` clauses.
* Update spec to 2020-10-29.

Tested with rustc 1.47.0 (18bf6b4f0 2020-10-07),
1.44.1 (c7087fe00 2020-06-17), 1.42.0 (b8cedc004 2020-03-09),
1.40.0 (73528e339 2019-12-16), 1.38.0 (625451e37 2019-09-23),
1.48.0-beta.8 (121901459 2020-11-08), and
1.49.0-nightly (25f6938da 2020-11-09),
@kaj
Copy link
Owner

kaj commented Feb 27, 2021

@Boiethios , I think your code should work with release 0.18.

@kaj kaj changed the title Support the "@use" directive Support the @use directive May 28, 2021
@kaj kaj mentioned this issue Aug 2, 2022
15 tasks
@kaj
Copy link
Owner

kaj commented Nov 11, 2023

I'll close this issue now. @use is mainly supported, and there are separate issues for the pieces remaining.

@kaj kaj closed this as completed Nov 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants