Commit Graph

1386 Commits

Author SHA1 Message Date
なつき
2836216ba5
Fix deprotofy SassCalculation.clamp (#2043) 2023-07-21 15:08:08 -07:00
Natalie Weizenbaum
b1d56a4f07
Change terminology to refer to JS instead of Node.js (#2039)
Now that we support running in a browser, saying "Node.js" is
generally inaccurate. It's still preserved in places that are
genuinely Node-specific.
2023-07-21 14:36:12 -07:00
Natalie Weizenbaum
89bd36b14e Revert "Start writing implementation documentation"
This reverts commit 6c592134fe. This was
supposed to land on a separate branch.
2023-07-20 19:01:13 -07:00
Natalie Weizenbaum
6c592134fe Start writing implementation documentation 2023-07-19 18:36:50 -07:00
Ed Rivas
ca2be2ace9
Expose calculations in JS API (#1988)
Co-authored-by: Jonny Gerig Meyer <jonny@oddbird.net>
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2023-07-19 14:36:22 -07:00
Goodwine
fe7f9a146d
Do not validate a CSS declaration if its key is interpolated (#2036)
* Do not validate a CSS declaration if itss key is interpolated

* add changelog
2023-07-13 17:02:24 -07:00
Natalie Weizenbaum
262961cb57
Check the fs library to determine if we're on Node.js (#2033)
This fixes an issue where some environments (like VS Code) define
`process` but don't load the Node.js entrypoint, causing Sass to think
it's running under Node without access to its Node dependencies.

Closes #2032
2023-07-06 16:03:32 -07:00
Natalie Weizenbaum
e9e44d7edb
Emit comments in source order where possible (#1989)
See sass/sass#2848
Closes #1939
2023-06-23 15:52:06 -07:00
なつき
61af9ee0ac
Use a common error handler for embedded protocol errors (#2027) 2023-06-22 18:12:20 -07:00
Natalie Weizenbaum
a48ced8ec9
Fix a race condition with re-used compilation isolate IDs (#2018)
Closes #2004
2023-06-20 17:55:46 -07:00
なつき
b11840eaa1
Limit pool size (#2019)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2023-06-15 15:01:40 -07:00
なつき
aa59a5f4a9
Fix race condition between spawning and killing isolates during shutdown (#2007)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2023-06-09 15:55:47 -07:00
なつき
760fa2ead1
Add current stylesheet to loadedUrls when throwing parsing error (#1991)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2023-06-09 13:41:25 -07:00
Natalie Weizenbaum
a88318f5a9
Run embedded compilations across multiple isolates (#1981)
Closes #1980
Closes #1959
2023-06-06 14:23:17 -07:00
Ed Rivas
cca9464b09
Add support for running in the browser (#1895)
Closes #25

Co-authored-by: Jonny Gerig Meyer <jonny@oddbird.net>
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2023-05-19 13:22:44 -07:00
なつき
cb039c7efd
Format with dart 3.0.1 (#1967) 2023-05-17 13:09:54 -07:00
Natalie Weizenbaum
6d6d5ee5a4 Merge branch 'embedded-move' into embedded 2023-05-15 14:34:52 -07:00
Natalie Weizenbaum
3fc6a42e8f Move source and test files to namespaced subdirectories 2023-05-08 17:34:32 -07:00
Natalie Weizenbaum
8dddcb7b7d
Split SilentComment nodes on empty lines in SCSS (#1945)
Closes #1941
2023-04-25 16:21:05 -07:00
Natalie Weizenbaum
3091de542c
Fix :has(+ &) (#1938)
Closes #1937
2023-04-19 15:29:31 -07:00
Natalie Weizenbaum
c55235d166
Don't separate out media queries after one has bubbled (#1933)
Closes #777
2023-04-11 15:44:19 -07:00
Goodwine
e68818a86e
Allow global Sass function colliding with CSS native functions to use CSS variables (#1926)
* Allow global Sass function colliding with CSS native functions to use CSS variables

Many Sass functions are available globally even without loading their module. Some of these are also valid CSS native functions. Sass performs validations which disallow the use of CSS variables because the arguments are asserted a given type of value. For these collisions allow the use of CSS variables and in such cases assume the entire function call is meant to be the CSS native function rather than the global Sass function.

Fixes https://github.com/sass/sass/issues/3507

* Also allow for special numbers, not only for var()

* add changelog oops
2023-04-10 16:58:55 -07:00
Natalie Weizenbaum
283bdc0063
Deprecate duplicate !global and !default declarations (#1931)
See #604
See sass/sass#2607
2023-04-07 16:29:57 -07:00
Natalie Weizenbaum
702a7ee7a1
Fix the performance of selector span expansion (#1929)
Instead of calling `SourceFile.getText()`, which creates string copies
of a substantial subset of the text of the file every time, this
directly accesses the file's underlying code units without doing any
copies.

Closes #1913
2023-04-06 14:44:29 -07:00
Natalie Weizenbaum
f5a3dea748
Add support for constants in calculations (#1922)
Closes #1900
See sass/sass#3258
2023-03-23 15:59:27 -07:00
Jennifer Thakar
09a5f09638
Fix performance regression from selector spans (#1916) 2023-03-14 14:08:46 -07:00
Jennifer Thakar
8f8138dfab
Add --fatal-deprecations and --future-deprecations (#1820)
* Add fatal/futureDeprecations to Dart API

This adds a new `Deprecation` class that specifies an ID for each
deprecated feature along with what Dart Sass version deprecated it.

The compile functions allow you to pass a set of `fatalDeprecations`
that will cause an error instead of a warning. You can also pass a set
of `futureDeprecations`, which let you opt-in to deprecations (like
`@import`) early.

* Add future deprecation for `@import`

* Add flags

* Merge colorUnits and randomWithUnits

* Update changelogs and pubspecs

* Add tests

* Use isFuture instead of deprecatedIn == null
* Split warnForDeprecation from warn

* Add missing word to error message
2023-03-10 14:24:33 -08:00
Natalie Weizenbaum
9417b6e8d8
Track original source spans for selectors (#1903)
Closes #1783
2023-03-08 14:59:12 -08:00
Natalie Weizenbaum
f022e02bc5
Improve errors for invalid CSS values passed to CSS functions (#1901)
Closes #1769
2023-03-03 15:07:15 -08:00
Goodwine
eb1ced15d6
Pull @font-face out to root (#1899)
Closes sass/sass#1251
2023-03-01 18:12:11 -08:00
dannypernik
c4523884bf
Add timestamp to printed compile statement (#1876)
Co-authored-by: dannypernik <dannypernik@mail.com>
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
Co-authored-by: なつき <i@ntk.me>
2023-02-16 17:27:30 -08:00
Natalie Weizenbaum
13cc7d2da4
Improve the suggested replacements for unary minus in /-as-division (#1888)
Closes #1887
2023-02-16 13:34:57 -08:00
Natalie Weizenbaum
c8b4cd09eb
Don't emit "deg" for hsl hues (#1885) 2023-02-13 16:44:14 -08:00
Andreas Deininger
5eb66fc219
Fixes typos (#1879) 2023-02-03 14:47:13 -08:00
Natalie Weizenbaum
6310dfb129
Update synchronization tests to verify the entire file (#1880)
This catches cases where the target file is edited directly without
also editing the source file.

Also re-run `pub run grinder`.
2023-02-01 16:23:37 -08:00
Natalie Weizenbaum
98fe9a43dd
Track dependencies through meta.load-css() with --watch (#1877)
Closes #1808
2023-01-31 16:58:45 -08:00
Christophe Coevoet
5a521b86f9
Add all CSS length units in known compatibilities (#1868)
This allows more validation of wrong computations in first-class calc.
2023-01-30 23:29:04 +00:00
Jennifer Thakar
00069241b9
Fix escaped backslash crash (#1870)
* Fix escaped backslash crash

Fixes #1855.

* Code review
2023-01-24 16:03:49 -08:00
Goodwine
0248608c44
Return an error when using a custom property in a propset instead of crashing (#1874)
Fixes: #1857
See: sass/sass-spec#1873
2023-01-24 15:42:09 -08:00
Natalie Weizenbaum
b98fa4fbd1
Fix an edge case in superselector computation (#1866)
Closes #1843
2023-01-06 00:30:49 -08:00
Natalie Weizenbaum
14c1634057
Don't crash when parsing +. (#1865)
Closes #1856
2023-01-04 17:03:08 -08:00
Goodwine
aceb1e8c51
Remove sourcemap comments from Sass sources (#1860)
* Remove sourcemap comments from Sass sources

* add changelog

* update version to cut a release and update sass_api changelog and pubspec
2023-01-04 16:08:50 -08:00
Natalie Weizenbaum
441be809a5
Delete dead code (#1864)
Closes #1861
2023-01-04 15:58:45 -08:00
なつき
288bbddea0
Fix dart analyze issues (#135) 2022-12-28 00:21:41 +00:00
Natalie Weizenbaum
100f76fa7f
Implement string.split() (#1839)
Closes #1821
See sass/sass#1950
2022-12-16 15:53:16 -08:00
Natalie Weizenbaum
641d8e196f
Be strict about whitespace in custom functions (#1848) 2022-12-15 14:44:40 -08:00
なつき
e87176a52a
Add a factory method for creating host callable (#1829)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2022-12-08 12:07:56 -08:00
なつき
bec6b3da67
Do not throw ProtocolErrorType.PARAMS for custom functions and importers (#118) 2022-12-08 12:07:54 -08:00
Goodwine
f3293dbe0f
JS API: Validate that importer result 'contents' is a string and improve ArgumentError output (#1816)
* Validate ImporterResult 'contents' and improve ArgumentError output
* only use JS stuff in the nodejs bindings
* handle non-string contents for legacy importer too
* make it work with node 12
2022-11-03 16:50:06 -07:00
Natalie Weizenbaum
00c351746e
Make `cloneCss() clone modules that transitively contain CSS (#1824)
Previously we were only cloning modules that directly contained CSS,
but this created a problem where extensions could be added to their
*shared* extension store across `load-css()` boundaries and thereby
applied to upstream CSS.

Closes #3322
2022-11-03 16:11:36 -07:00