Commit Graph

1727 Commits

Author SHA1 Message Date
Natalie Weizenbaum
93dcf994d5
Update outdated docs for ImportCache.importCanonical(). (#982) 2020-05-13 12:47:52 -07:00
Awjin Ahn
39358fbb7b
Merge pull request #991 from sass/node-importer-file-and-contents
Don't read `file` if Node importer returns `file` and `contents`.
2020-04-29 15:58:13 -07:00
awjin
21a1c58b20 Don't read file if Node importer returns file and contents.
Instead, use `contents` with `file` as the canonical url.

Closes https://github.com/sass/dart-sass/issues/975.
2020-04-24 17:38:30 -07:00
Jennifer Thakar
7160b6426d
Add missing constants to JS API (#990)
Fixes #977.
2020-04-24 16:11:46 -07:00
Natalie Weizenbaum
a7b0ad8e64
Release 1.26.5 (#987)
This needs a release because the release process for 1.26.4 was broken
by dart-lang/sdk#41259.
2020-04-23 18:39:10 -07:00
Sam Rawlins
da6b2c5d01
Remove two unused constructors named '_none' (#979) 2020-04-23 12:24:59 -07:00
Natalie Weizenbaum
83ec64a1f2
Work around dart-lang/sdk#41259 (#984) 2020-04-21 16:03:58 -07:00
Natalie Weizenbaum
bf35513a4c
Avoid adding duplicate modules when importing forwarded stylesheets (#973)
Avoid adding duplicate modules when importing forwarded stylesheets

In Google stylesheets that imported import-only stylesheets with many
forwards many of times, we were seeing Environment._globalModules grow
large enough that variable accesses were a problem. This addresses
that in several ways:

* Forwarded modules are now ignored if the module is already being
  forwarded.

* Module equality is more intelligent, so that shadowed and forwarded
  modules can be effectively de-duplicated.

* If a module would be fully shadowed by a later import *and* that
  module has no CSS, we no longer add an empty ShadowedModule to the
  module list.
2020-03-24 15:31:06 -07:00
georgpukk
4d78316cb7
Fix a check that prevents compiling .css files to themselves (#968)
Co-Authored-By: Natalie Weizenbaum <nweiz@google.com>
2020-03-11 14:48:00 -07:00
Natalie Weizenbaum
cf43f0d851
Add a release header (#961)
This got dropped in the move to cli_pkg.

Closes #944
2020-03-09 12:17:09 -07:00
Natalie Weizenbaum
cb8a048e58
Refactor Extender._extendOrReplace() (#965)
This combines all targets into a single extender invocation, which is
more efficient and allows it to more aggressively do redundant
selector elimination.
2020-02-28 15:48:36 -08:00
Natalie Weizenbaum
f81f57dbaa
Merge pull request #962 from sass/watch-bug
Fix a --watch bug
2020-02-25 14:05:10 -08:00
Natalie Weizenbaum
3318efa087
Export the Bazel deploy task from grind.dart (#963) 2020-02-25 14:05:01 -08:00
Natalie Weizenbaum
116165f76e Don't do a bunch of useless initial recanonicalization 2020-02-24 20:18:03 -08:00
Natalie Weizenbaum
a333059e71 Keep recompiling downstream dependencies after an error in --watch
Prior to this, the watcher handled all the logic around recompiling
stylesheets if an upstream file was deleted or added in a way that
could affect their import resolution. This left a gap where the
stylesheet graph wouldn't be aware that a newly-added file had become
upstream dependency of an existing downstream file, leading to
recompilation failures.

This commit fixes that by moving all that logic into the stylesheet
graph. The graph now has full and sole responsibility for providing a
consistent view of which stylesheets depend on one another even as the
shape of the graph changes, and the watcher is just a client of that
logic.

Closes #550
2020-02-24 20:18:03 -08:00
Natalie Weizenbaum
f8c74d1315 Add a regression test for #550 2020-02-24 19:03:23 -08:00
Natalie Weizenbaum
01ed720e9c
Temporarily disable deploying to Chocolatey (#960)
The cli_pkg Chocolatey deployment is still failing for unknown
reasons, and until I have time to debug it I want to get a full
release out.
2020-02-24 11:38:42 -08:00
Natalie Weizenbaum
c5daba6439
Don't load cli_pkg/testing on Node (#959)
This transitively loads dart:mirrors, which has stopped working as of
Dart 2.8.0-dev.9.0.

See dart-lang/sdk#40698
2020-02-19 22:42:33 -08:00
Natalie Weizenbaum
4f8f509584
Cut a release (#958)
* Use cli_pkg's updated Chocolatey support
* Stop running Node tests on the Dart dev channel for now

See dart-lang/test#1184
2020-02-19 13:42:56 -08:00
Natalie Weizenbaum
0d0270cb12
Cut a release (#957) 2020-02-13 16:05:04 -08:00
Natalie Weizenbaum
6d388248b6
Eagerly initialize Environment._globalModules (#952)
We had been lazily initializing this to be more efficient when no
global modules were used, but this meant that the object wasn't shared
with closures created for mixins and functions that were created when
it was still `null`, so later imported forwards weren't visible to
those members.
2020-02-13 15:23:53 -08:00
Natalie Weizenbaum
0a2142dc86
Don't include leading underscores in implicit namespaces (#955)
Closes #934
See sass/sass#2800
2020-02-12 12:52:53 -08:00
Natalie Weizenbaum
3e47570847
Properly check for double-forwarded functions and mixins (#951)
See #946
See sass/sass#2820
2020-02-10 16:30:00 -08:00
Natalie Weizenbaum
5e644a36cd
Merge pull request #948 from sass/release
Cut a release
2020-02-07 17:55:05 -08:00
Natalie Weizenbaum
7d8002ec9b Cut a release 2020-02-07 17:04:13 -08:00
Natalie Weizenbaum
9a23831cb9 Fix a typo in the Chocolatey XML 2020-02-07 17:03:45 -08:00
Natalie Weizenbaum
718cfdd6e3
Fix a bug where the wrong module was used for identity comparisons (#949) 2020-02-07 17:03:05 -08:00
Natalie Weizenbaum
67c4e1bdea
Don't throw conflict errors for identical members (#947)
See sass/sass#2820
Closes #946
2020-02-07 15:17:05 -08:00
Natalie Weizenbaum
9676cc9a13
Merge pull request #945 from sass/fix-bugs
Fix a number of defects related to imported environments
2020-02-07 03:02:33 -08:00
Natalie Weizenbaum
73ddae9c34 Bump the pubspec and add a CHANGELOG entry
Normally I'd just release this, but releasing is currently on hold
until a few cli_pkg bugs are fixed.
2020-02-07 01:00:41 -08:00
Natalie Weizenbaum
fa1ddd28ad Add a separate Environment method to create dummy import modules
This avoids triggering `assert(!atRoot)` for nested environments,
while still having that precaution for normal `toModule()` calls.
2020-02-07 01:00:41 -08:00
Natalie Weizenbaum
77a58b34b6 Never return a null expression node when source maps are enabled 2020-02-07 01:00:41 -08:00
Natalie Weizenbaum
a95c5b8ccb Do variable index adjustments when accessing variables, not nodes
Doing this for variable *nodes* was breaking in extremely specific
circumstances:

* A null node is passed into setVariable() and, if source maps are
  enabled, recorded in _variableNodes.

* Later on, getVariableNode() is called for that variable. Because
  that variable's node is null, it calls
  _getVariableNodeFromGlobalModule() even though the variable is
  actually defined.

* _getVariableNodeFromGlobalModule() sets _lastVariableIndex to 0 on
  the assumption that the variable is undefined, which turns out to be
  incorrect in this specific case.

The next commit will fix the issue where a null node can be passed
into setVariable() when source maps are enabled, but it makes more
sense to assign the variable index to 0 in the variable access anyway,
since it happens first and isn't skipped when source maps are
disabled.
2020-02-07 00:51:46 -08:00
Natalie Weizenbaum
5709d90aaa Rename Environment.global to Environment.forImport
The previous name was misleading, since the environment could exist in
a nested context and thus contain local members.
2020-02-06 01:54:55 -08:00
Natalie Weizenbaum
7457d2e9e7
Create a release to test cli_pkg infrastructure (#940) 2020-01-24 16:49:59 -08:00
Natalie Weizenbaum
6234489eaa
Explicitly set the JS class names for SassNull and SassBoolean (#941)
For whatever reason the default name seems to have changed.
2020-01-24 15:51:50 -08:00
Natalie Weizenbaum
5450c1c07b
Use cli_pkg to build and release executables (#924) 2020-01-24 13:05:04 -08:00
Natalie Weizenbaum
33cb6aa499
Re-enable Node.js tests on Dart 2.8.0-dev (#937)
These should work now that dart-lang/sdk#40152 is fixed.
2020-01-21 14:34:19 -08:00
Natalie Weizenbaum
eeeac1d689
Give JavaScript value objects useful constructor.name values (#936)
Closes #810
2020-01-17 14:46:10 -08:00
Awjin Ahn
244a1d9cb8
Merge pull request #930 from sass/math-functions
More Math functions
2020-01-16 17:21:57 -08:00
awjin
4c0c6b48e4 Merge branch 'master' into math-functions 2020-01-16 14:55:40 -08:00
Natalie Weizenbaum
5e29ea63be
Merge pull request #935 from sass/release
Bump the pubspec version
2020-01-16 12:48:32 -08:00
Natalie Weizenbaum
7ddd7563ca Add a test case to verify that the pubspec version is bumped 2020-01-15 17:35:32 -08:00
Natalie Weizenbaum
99c58029d8 Bump the pubspec version 2020-01-15 17:20:58 -08:00
Natalie Weizenbaum
1fd8eb1a8d
Merge pull request #926 from sass/multi-span
Throw multi-span exceptions
2020-01-15 17:18:56 -08:00
Natalie Weizenbaum
e4db19be3f Resynchronize 2020-01-15 16:21:07 -08:00
Natalie Weizenbaum
aa18e65f57 Code review 2020-01-15 15:55:55 -08:00
Awjin Ahn
75cab86448 Add trigonometric math functions. (#921)
See https://github.com/sass/sass-spec/pull/1504
2020-01-15 14:44:13 -08:00
Awjin Ahn
3cbaec11b2 Add exponential math functions. (#909) 2020-01-15 14:44:13 -08:00
awjin
d487d761bd Revert "Revert "Add built-in variables e and pi. (#907)""
This reverts commit 3c64addbf3.
2020-01-15 14:44:13 -08:00