sassc 1.11.4 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.travis.yml +2 -2
- data/CODE_OF_CONDUCT.md +10 -0
- data/README.md +4 -1
- data/ext/libsass/.editorconfig +1 -1
- data/ext/libsass/.github/CONTRIBUTING.md +7 -7
- data/ext/libsass/.github/ISSUE_TEMPLATE.md +31 -6
- data/ext/libsass/.gitignore +3 -0
- data/ext/libsass/.travis.yml +37 -18
- data/ext/libsass/GNUmakefile.am +23 -37
- data/ext/libsass/Makefile +10 -6
- data/ext/libsass/Makefile.conf +3 -0
- data/ext/libsass/Readme.md +68 -63
- data/ext/libsass/appveyor.yml +7 -3
- data/ext/libsass/configure.ac +10 -14
- data/ext/libsass/docs/api-context-internal.md +29 -21
- data/ext/libsass/docs/api-context.md +26 -6
- data/ext/libsass/docs/api-doc.md +49 -16
- data/ext/libsass/docs/api-function-example.md +1 -1
- data/ext/libsass/docs/api-function.md +31 -7
- data/ext/libsass/docs/api-importer.md +19 -19
- data/ext/libsass/docs/api-value.md +4 -2
- data/ext/libsass/docs/build-on-windows.md +4 -4
- data/ext/libsass/docs/build-with-mingw.md +3 -3
- data/ext/libsass/docs/build.md +9 -9
- data/ext/libsass/docs/custom-functions-internal.md +10 -8
- data/ext/libsass/docs/implementations.md +20 -8
- data/ext/libsass/docs/unicode.md +16 -10
- data/ext/libsass/include/sass/base.h +0 -3
- data/ext/libsass/include/sass/context.h +20 -2
- data/ext/libsass/include/sass/functions.h +31 -0
- data/ext/libsass/include/sass/values.h +3 -1
- data/ext/libsass/include/sass/version.h +1 -1
- data/ext/libsass/include/sass/version.h.in +1 -1
- data/ext/libsass/include/sass2scss.h +1 -1
- data/ext/libsass/res/resource.rc +6 -6
- data/ext/libsass/script/ci-build-libsass +10 -5
- data/ext/libsass/script/ci-build-plugin +62 -0
- data/ext/libsass/script/ci-install-compiler +1 -1
- data/ext/libsass/script/ci-install-deps +4 -7
- data/ext/libsass/script/ci-report-coverage +13 -3
- data/ext/libsass/script/tap-driver +1 -1
- data/ext/libsass/script/tap-runner +1 -1
- data/ext/libsass/src/GNUmakefile.am +1 -1
- data/ext/libsass/src/ast.cpp +537 -762
- data/ext/libsass/src/ast.hpp +377 -419
- data/ext/libsass/src/ast_def_macros.hpp +26 -1
- data/ext/libsass/src/ast_fwd_decl.cpp +29 -0
- data/ext/libsass/src/ast_fwd_decl.hpp +94 -21
- data/ext/libsass/src/b64/encode.h +3 -1
- data/ext/libsass/src/backtrace.cpp +46 -0
- data/ext/libsass/src/backtrace.hpp +7 -54
- data/ext/libsass/src/bind.cpp +72 -50
- data/ext/libsass/src/bind.hpp +0 -1
- data/ext/libsass/src/cencode.c +6 -0
- data/ext/libsass/src/check_nesting.cpp +157 -135
- data/ext/libsass/src/check_nesting.hpp +11 -10
- data/ext/libsass/src/color_maps.cpp +10 -6
- data/ext/libsass/src/color_maps.hpp +6 -8
- data/ext/libsass/src/constants.cpp +4 -3
- data/ext/libsass/src/constants.hpp +4 -3
- data/ext/libsass/src/context.cpp +110 -47
- data/ext/libsass/src/context.hpp +11 -1
- data/ext/libsass/src/cssize.cpp +105 -94
- data/ext/libsass/src/cssize.hpp +4 -5
- data/ext/libsass/src/debugger.hpp +247 -244
- data/ext/libsass/src/emitter.cpp +30 -6
- data/ext/libsass/src/emitter.hpp +7 -0
- data/ext/libsass/src/environment.cpp +67 -16
- data/ext/libsass/src/environment.hpp +28 -7
- data/ext/libsass/src/error_handling.cpp +92 -64
- data/ext/libsass/src/error_handling.hpp +64 -43
- data/ext/libsass/src/eval.cpp +494 -544
- data/ext/libsass/src/eval.hpp +17 -23
- data/ext/libsass/src/expand.cpp +182 -154
- data/ext/libsass/src/expand.hpp +4 -5
- data/ext/libsass/src/extend.cpp +299 -291
- data/ext/libsass/src/extend.hpp +46 -11
- data/ext/libsass/src/file.cpp +103 -36
- data/ext/libsass/src/file.hpp +21 -4
- data/ext/libsass/src/functions.cpp +561 -312
- data/ext/libsass/src/functions.hpp +8 -5
- data/ext/libsass/src/inspect.cpp +108 -53
- data/ext/libsass/src/inspect.hpp +5 -2
- data/ext/libsass/src/lexer.cpp +15 -7
- data/ext/libsass/src/lexer.hpp +13 -4
- data/ext/libsass/src/listize.cpp +3 -2
- data/ext/libsass/src/listize.hpp +0 -1
- data/ext/libsass/src/memory/SharedPtr.cpp +16 -18
- data/ext/libsass/src/memory/SharedPtr.hpp +47 -43
- data/ext/libsass/src/node.cpp +34 -38
- data/ext/libsass/src/node.hpp +6 -8
- data/ext/libsass/src/operation.hpp +2 -2
- data/ext/libsass/src/operators.cpp +240 -0
- data/ext/libsass/src/operators.hpp +30 -0
- data/ext/libsass/src/output.cpp +22 -20
- data/ext/libsass/src/parser.cpp +719 -358
- data/ext/libsass/src/parser.hpp +57 -22
- data/ext/libsass/src/plugins.cpp +28 -10
- data/ext/libsass/src/position.cpp +21 -3
- data/ext/libsass/src/position.hpp +2 -1
- data/ext/libsass/src/prelexer.cpp +104 -19
- data/ext/libsass/src/prelexer.hpp +10 -3
- data/ext/libsass/src/remove_placeholders.cpp +9 -10
- data/ext/libsass/src/remove_placeholders.hpp +1 -5
- data/ext/libsass/src/sass.cpp +62 -4
- data/ext/libsass/src/sass.hpp +5 -2
- data/ext/libsass/src/sass_context.cpp +96 -58
- data/ext/libsass/src/sass_context.hpp +7 -5
- data/ext/libsass/src/sass_functions.cpp +63 -1
- data/ext/libsass/src/sass_functions.hpp +19 -1
- data/ext/libsass/src/sass_util.cpp +3 -3
- data/ext/libsass/src/sass_util.hpp +4 -4
- data/ext/libsass/src/sass_values.cpp +42 -39
- data/ext/libsass/src/sass_values.hpp +2 -1
- data/ext/libsass/src/source_map.cpp +16 -18
- data/ext/libsass/src/subset_map.cpp +6 -8
- data/ext/libsass/src/subset_map.hpp +6 -6
- data/ext/libsass/src/to_c.cpp +2 -2
- data/ext/libsass/src/to_value.cpp +8 -3
- data/ext/libsass/src/to_value.hpp +1 -0
- data/ext/libsass/src/units.cpp +349 -45
- data/ext/libsass/src/units.hpp +39 -22
- data/ext/libsass/src/utf8/checked.h +7 -0
- data/ext/libsass/src/utf8/unchecked.h +7 -0
- data/ext/libsass/src/utf8_string.cpp +1 -1
- data/ext/libsass/src/util.cpp +139 -45
- data/ext/libsass/src/util.hpp +4 -7
- data/ext/libsass/src/values.cpp +15 -23
- data/ext/libsass/win/libsass.sln +13 -2
- data/ext/libsass/win/libsass.sln.DotSettings +9 -0
- data/ext/libsass/win/libsass.targets +3 -0
- data/ext/libsass/win/libsass.vcxproj.filters +9 -0
- data/lib/sassc/version.rb +1 -1
- data/sassc.gemspec +1 -1
- data/test/native_test.rb +1 -1
- metadata +11 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: ab44abdb4f517313bbeca4618c3c5263c5a2ce18f80344b53cad2a13abca571c
|
|
4
|
+
data.tar.gz: e3a28dae62d1fe1ea9c4f97ee67c8952081facad4816c80d0e55b72b414476a1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6c564ec31e5a8f3e3d13390803acbe204f4033160f2881a5b69b200e1e6c24995e1b0f9e22959dd14c2481fd6b8ccc3f0c3fc692030cbe10c5e077614a1476e4
|
|
7
|
+
data.tar.gz: '09be01e502cf20d52ced8e4e975c8a2327403b51b99c76a9121bc24d821158ff6f016e2779f632fa94f2db3fb7a71d40fcada1f8ecdbb39ae08f82ec4eaf3c10'
|
data/.travis.yml
CHANGED
data/CODE_OF_CONDUCT.md
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Sass is more than a technology; Sass is driven by the community of individuals
|
|
2
|
+
that power its development and use every day. As a community, we want to embrace
|
|
3
|
+
the very differences that have made our collaboration so powerful, and work
|
|
4
|
+
together to provide the best environment for learning, growing, and sharing of
|
|
5
|
+
ideas. It is imperative that we keep Sass a fun, welcoming, challenging, and
|
|
6
|
+
fair place to play.
|
|
7
|
+
|
|
8
|
+
[The full community guidelines can be found on the Sass website.][link]
|
|
9
|
+
|
|
10
|
+
[link]: http://sass-lang.com/community-guidelines
|
data/README.md
CHANGED
|
@@ -6,7 +6,7 @@ This gem combines the speed of `libsass`, the [Sass C implementation](https://gi
|
|
|
6
6
|
|
|
7
7
|
### libsass Version
|
|
8
8
|
|
|
9
|
-
[3.4
|
|
9
|
+
[3.5.4](https://github.com/sass/libsass/releases/tag/3.5.4)
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
@@ -48,6 +48,9 @@ This gem is maintained by [Ryan Boland](https://ryanboland.com)
|
|
|
48
48
|
and [awesome contributors](https://github.com/bolandrm/sassc-ruby/graphs/contributors).
|
|
49
49
|
|
|
50
50
|
## Changelog
|
|
51
|
+
- **1.12.0**
|
|
52
|
+
- [Update Libsass to 3.5.4](https://github.com/sass/sassc-ruby/pull/78)
|
|
53
|
+
- [bundler is a development dependency](https://github.com/sass/sassc-ruby/pull/51)
|
|
51
54
|
- **1.11.4**
|
|
52
55
|
- Fix `Value::List` related issue with sass 3.5.0
|
|
53
56
|
- **1.11.3**
|
data/ext/libsass/.editorconfig
CHANGED
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
The following is a set of guidelines for contributing to LibSass, which is hosted in the [Sass Organization](https://github.com/sass) on GitHub.
|
|
6
6
|
These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request.
|
|
7
7
|
|
|
8
|
-
LibSass is a library that implements a [sass language]
|
|
8
|
+
LibSass is a library that implements a [sass language][8] compiler. As such it does not directly interface with end users (frontend developers).
|
|
9
9
|
For direct contributions to the LibSass code base you will need to have at least a rough idea of C++, we will not lie about that.
|
|
10
10
|
But there are other ways to contribute to the progress of LibSass. All contributions are done via github pull requests.
|
|
11
11
|
|
|
12
|
-
You can also contribute to the LibSass [documentation]
|
|
12
|
+
You can also contribute to the LibSass [documentation][9] or provide additional [spec tests][10] (and we will gladly point you in the
|
|
13
13
|
direction for corners that lack test coverage). Foremost we rely on good and concise bug reports for issues the spec tests do not yet catch.
|
|
14
14
|
|
|
15
15
|
## Precheck: My Sass isn't compiling
|
|
16
|
-
- [ ] Check if you can reproduce the issue via [SourceMap Inspector]
|
|
17
|
-
- [ ] Validate official ruby sass compiler via [SassMeister]
|
|
18
|
-
- [ ] Search for similar issue in [LibSass]
|
|
19
|
-
- [ ] Optionally test your code directly with [sass]
|
|
16
|
+
- [ ] Check if you can reproduce the issue via [SourceMap Inspector][5] (updated regularly).
|
|
17
|
+
- [ ] Validate official ruby sass compiler via [SassMeister][6] produces your expected result.
|
|
18
|
+
- [ ] Search for similar issue in [LibSass][1] and [node-sass][2] (include closed tickets)
|
|
19
|
+
- [ ] Optionally test your code directly with [sass][7] or [sassc][3] ([installer][4])
|
|
20
20
|
|
|
21
21
|
## Precheck: My build/install fails
|
|
22
22
|
- [ ] Problems with building or installing libsass should be directed to implementors first!
|
|
@@ -47,7 +47,7 @@ direction for corners that lack test coverage). Foremost we rely on good and con
|
|
|
47
47
|
## What makes a code test case
|
|
48
48
|
|
|
49
49
|
Important is that someone else can get the test case up and running to reproduce it locally. For this
|
|
50
|
-
we urge you to verify that your sample yields the expected result by testing it via [SassMeister]
|
|
50
|
+
we urge you to verify that your sample yields the expected result by testing it via [SassMeister][6]
|
|
51
51
|
or directly via ruby sass or node-sass (or any other libsass implementor) before submitting your bug
|
|
52
52
|
report. Once you verified all of the above, you may use the template below to file your bug report.
|
|
53
53
|
|
|
@@ -1,29 +1,54 @@
|
|
|
1
|
-
|
|
1
|
+
[todo]: # (Title: Be as meaningful as possible)
|
|
2
|
+
[todo]: # (Title: Try to use 60 or less chars)
|
|
3
|
+
|
|
4
|
+
[todo]: # (This is only a template!)
|
|
5
|
+
[todo]: # (remove unneeded bits)
|
|
6
|
+
[todo]: # (use github preview!)
|
|
7
|
+
|
|
8
|
+
## input.scss
|
|
9
|
+
|
|
10
|
+
[todo]: # (always test and report with scss syntax)
|
|
11
|
+
[todo]: # (use sass only when results differ from scss)
|
|
2
12
|
|
|
3
|
-
input.scss
|
|
4
13
|
```scss
|
|
5
14
|
test {
|
|
6
15
|
content: bar
|
|
7
16
|
}
|
|
8
17
|
```
|
|
9
18
|
|
|
10
|
-
|
|
19
|
+
## Actual results
|
|
20
|
+
|
|
21
|
+
[todo]: # (update version info!)
|
|
22
|
+
|
|
23
|
+
[libsass 3.X.y][1]
|
|
11
24
|
```css
|
|
12
25
|
test {
|
|
13
26
|
content: bar; }
|
|
14
27
|
```
|
|
15
28
|
|
|
16
|
-
|
|
29
|
+
## Expected result
|
|
30
|
+
|
|
31
|
+
[todo]: # (update version info!)
|
|
32
|
+
|
|
33
|
+
ruby sass 3.X.y
|
|
17
34
|
```css
|
|
18
35
|
test {
|
|
19
36
|
content: bar; }
|
|
20
37
|
```
|
|
21
38
|
|
|
39
|
+
[todo]: # (update version info!)
|
|
40
|
+
[todo]: # (example for node-sass!)
|
|
41
|
+
|
|
22
42
|
version info:
|
|
23
43
|
```cmd
|
|
24
44
|
$ node-sass --version
|
|
25
|
-
node-sass 3.
|
|
26
|
-
libsass 3.
|
|
45
|
+
node-sass 3.X.y (Wrapper) [JavaScript]
|
|
46
|
+
libsass 3.X.y (Sass Compiler) [C/C++]
|
|
27
47
|
```
|
|
28
48
|
|
|
49
|
+
[todo]: # (Go to http://libsass.ocbnet.ch/srcmap)
|
|
50
|
+
[todo]: # (Enter your SCSS code and hit compile)
|
|
51
|
+
[todo]: # (Click `bookmark` and replace the url)
|
|
52
|
+
[todo]: # (link is used in actual results above)
|
|
53
|
+
|
|
29
54
|
[1]: http://libsass.ocbnet.ch/srcmap/#dGVzdCB7CiAgY29udGVudDogYmFyOyB9Cg==
|
data/ext/libsass/.gitignore
CHANGED
data/ext/libsass/.travis.yml
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
language: cpp
|
|
2
2
|
sudo: false
|
|
3
3
|
|
|
4
|
-
os:
|
|
5
|
-
- linux
|
|
6
|
-
- osx
|
|
7
|
-
|
|
8
|
-
compiler:
|
|
9
|
-
- gcc
|
|
10
|
-
- clang
|
|
11
4
|
|
|
12
5
|
# don't create redundant code coverage reports
|
|
13
6
|
# - AUTOTOOLS=yes COVERAGE=yes BUILD=static
|
|
@@ -19,27 +12,53 @@ compiler:
|
|
|
19
12
|
# this will still catch all coding errors!
|
|
20
13
|
# - AUTOTOOLS=yes COVERAGE=no BUILD=static
|
|
21
14
|
|
|
22
|
-
env:
|
|
23
|
-
- AUTOTOOLS=no COVERAGE=no BUILD=shared
|
|
24
|
-
- AUTOTOOLS=no COVERAGE=yes BUILD=static
|
|
25
|
-
- AUTOTOOLS=yes COVERAGE=no BUILD=shared
|
|
26
|
-
|
|
27
15
|
# currenty there are various issues when
|
|
28
16
|
# built with coverage, clang and autotools
|
|
29
17
|
# - AUTOTOOLS=yes COVERAGE=yes BUILD=shared
|
|
30
18
|
|
|
31
19
|
matrix:
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
|
|
20
|
+
include :
|
|
21
|
+
- os: linux
|
|
22
|
+
compiler: gcc
|
|
23
|
+
env: AUTOTOOLS=no COVERAGE=yes BUILD=static
|
|
35
24
|
- os: linux
|
|
25
|
+
compiler: g++-5
|
|
26
|
+
env: AUTOTOOLS=yes COVERAGE=no BUILD=shared
|
|
27
|
+
addons:
|
|
28
|
+
apt:
|
|
29
|
+
sources:
|
|
30
|
+
- ubuntu-toolchain-r-test
|
|
31
|
+
packages:
|
|
32
|
+
- g++-5
|
|
33
|
+
- os: linux
|
|
34
|
+
compiler: clang++-3.7
|
|
35
|
+
env: AUTOTOOLS=no COVERAGE=yes BUILD=static
|
|
36
|
+
addons:
|
|
37
|
+
apt:
|
|
38
|
+
sources:
|
|
39
|
+
- ubuntu-toolchain-r-test
|
|
40
|
+
- llvm-toolchain-precise-3.7
|
|
41
|
+
packages:
|
|
42
|
+
- clang-3.7
|
|
43
|
+
- os: linux
|
|
44
|
+
compiler: clang
|
|
45
|
+
env: AUTOTOOLS=yes COVERAGE=no BUILD=shared
|
|
46
|
+
- os: osx
|
|
47
|
+
compiler: clang
|
|
36
48
|
env: AUTOTOOLS=no COVERAGE=no BUILD=shared
|
|
37
49
|
- os: osx
|
|
38
|
-
compiler:
|
|
50
|
+
compiler: clang
|
|
51
|
+
env: AUTOTOOLS=no COVERAGE=yes BUILD=static
|
|
39
52
|
- os: osx
|
|
40
|
-
|
|
53
|
+
compiler: clang
|
|
54
|
+
env: AUTOTOOLS=yes COVERAGE=no BUILD=shared
|
|
41
55
|
|
|
42
|
-
script:
|
|
56
|
+
script:
|
|
57
|
+
- ./script/ci-build-libsass
|
|
58
|
+
- ./script/ci-build-plugin math
|
|
59
|
+
- ./script/ci-build-plugin glob
|
|
60
|
+
- ./script/ci-build-plugin digest
|
|
61
|
+
- ./script/ci-build-plugin tests
|
|
43
62
|
before_install: ./script/ci-install-deps
|
|
44
63
|
install: ./script/ci-install-compiler
|
|
45
64
|
after_success: ./script/ci-report-coverage
|
data/ext/libsass/GNUmakefile.am
CHANGED
|
@@ -4,7 +4,7 @@ AM_COPT = -Wall -O2
|
|
|
4
4
|
AM_COVLDFLAGS =
|
|
5
5
|
|
|
6
6
|
if ENABLE_COVERAGE
|
|
7
|
-
AM_COPT = -
|
|
7
|
+
AM_COPT = -Wall -O1 -fno-omit-frame-pointer --coverage
|
|
8
8
|
AM_COVLDFLAGS += -lgcov
|
|
9
9
|
endif
|
|
10
10
|
|
|
@@ -25,63 +25,49 @@ else
|
|
|
25
25
|
AM_CXXFLAGS += -std=c++0x
|
|
26
26
|
endif
|
|
27
27
|
|
|
28
|
+
TEST_EXTENSIONS = .rb
|
|
29
|
+
|
|
28
30
|
if ENABLE_TESTS
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
SASS_SASSC_PATH ?= $(top_srcdir)/sassc
|
|
33
|
+
SASS_SPEC_PATH ?= $(top_srcdir)/sass-spec
|
|
31
34
|
|
|
35
|
+
noinst_PROGRAMS = tester
|
|
32
36
|
tester_LDADD = src/libsass.la
|
|
33
|
-
tester_SOURCES = $(SASS_SASSC_PATH)/sassc.c
|
|
34
|
-
tester_VERSION ?= `cd "$(SASS_SASSC_PATH)" && ./version.sh`
|
|
35
|
-
tester_CFLAGS = $(AM_CFLAGS) -DSASSC_VERSION="\"$(tester_VERSION)\""
|
|
36
|
-
tester_CXXFLAGS = $(AM_CXXFLAGS) -DSASSC_VERSION="\"$(tester_VERSION)\""
|
|
37
37
|
tester_LDFLAGS = $(AM_LDFLAGS)
|
|
38
|
+
nodist_tester_SOURCES = $(SASS_SASSC_PATH)/sassc.c
|
|
39
|
+
SASS_SASSC_VERSION ?= `cd "$(SASS_SASSC_PATH)" && ./version.sh`
|
|
40
|
+
tester_CFLAGS = $(AM_CFLAGS) -DSASSC_VERSION="\"$(SASS_SASSC_VERSION)\""
|
|
41
|
+
tester_CXXFLAGS = $(AM_CXXFLAGS) -DSASSC_VERSION="\"$(SASS_SASSC_VERSION)\""
|
|
38
42
|
|
|
39
43
|
if ENABLE_COVERAGE
|
|
40
44
|
nodist_EXTRA_tester_SOURCES = non-existent-file-to-force-CXX-linking.cxx
|
|
41
45
|
endif
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
|
|
47
|
+
TESTS = $(SASS_SPEC_PATH)/sass-spec.rb
|
|
48
|
+
RB_LOG_COMPILER = ./script/tap-runner
|
|
49
|
+
AM_RB_LOG_FLAGS = $(RUBY)
|
|
45
50
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
$(SASS_SPEC_PATH)/spec/extends \
|
|
51
|
-
$(SASS_SPEC_PATH)/spec/libsass \
|
|
52
|
-
$(SASS_SPEC_PATH)/spec/libsass-closed-issues \
|
|
53
|
-
$(SASS_SPEC_PATH)/spec/maps \
|
|
54
|
-
$(SASS_SPEC_PATH)/spec/misc \
|
|
55
|
-
$(SASS_SPEC_PATH)/spec/regressions \
|
|
56
|
-
$(SASS_SPEC_PATH)/spec/scss \
|
|
57
|
-
$(SASS_SPEC_PATH)/spec/scss-tests \
|
|
58
|
-
$(SASS_SPEC_PATH)/spec/types
|
|
59
|
-
|
|
60
|
-
SASS_TEST_FLAGS = -V 3.4 --impl libsass
|
|
61
|
-
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) ./script/tap-driver
|
|
62
|
-
AM_LOG_FLAGS = -c ./tester $(LOG_FLAGS)
|
|
63
|
-
if USE_TAP
|
|
64
|
-
AM_LOG_FLAGS += -t
|
|
65
|
-
SASS_TEST_FLAGS += -t | tapout
|
|
66
|
-
LOG_COMPILER = ./script/tap-runner $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
|
|
67
|
-
else
|
|
68
|
-
LOG_COMPILER = $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
|
|
69
|
-
endif
|
|
51
|
+
SASS_TEST_FLAGS = -V 3.5 --impl libsass
|
|
52
|
+
SASS_TEST_FLAGS += -r $(SASS_SPEC_PATH)
|
|
53
|
+
SASS_TEST_FLAGS += -c $(top_srcdir)/tester$(EXEEXT)
|
|
54
|
+
AM_TESTS_ENVIRONMENT = TEST_FLAGS='$(SASS_TEST_FLAGS)'
|
|
70
55
|
|
|
71
56
|
SASS_TESTER = $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
|
|
72
|
-
SASS_TESTER += -c $(SASS_LIBSASS_PATH)/tester$(EXEEXT)
|
|
73
57
|
|
|
74
58
|
test:
|
|
75
|
-
$(SASS_TESTER) $(
|
|
59
|
+
$(SASS_TESTER) $(SASS_TEST_FLAGS)
|
|
76
60
|
|
|
77
61
|
test_build:
|
|
78
|
-
$(SASS_TESTER) $(
|
|
62
|
+
$(SASS_TESTER) $(SASS_TEST_FLAGS)
|
|
79
63
|
|
|
80
64
|
test_full:
|
|
81
|
-
$(SASS_TESTER) --run-todo $(
|
|
65
|
+
$(SASS_TESTER) --run-todo $(SASS_TEST_FLAGS)
|
|
82
66
|
|
|
83
67
|
test_probe:
|
|
84
|
-
$(SASS_TESTER) --probe-todo $(
|
|
68
|
+
$(SASS_TESTER) --probe-todo $(SASS_TEST_FLAGS)
|
|
69
|
+
|
|
70
|
+
.PHONY: test test_build test_full test_probe
|
|
85
71
|
|
|
86
72
|
endif
|
|
87
73
|
|
data/ext/libsass/Makefile
CHANGED
|
@@ -15,10 +15,14 @@ INSTALL ?= install
|
|
|
15
15
|
CFLAGS ?= -Wall
|
|
16
16
|
CXXFLAGS ?= -Wall
|
|
17
17
|
LDFLAGS ?= -Wall
|
|
18
|
-
|
|
18
|
+
ifeq "x$(COVERAGE)" "x"
|
|
19
19
|
CFLAGS += -O2
|
|
20
20
|
CXXFLAGS += -O2
|
|
21
21
|
LDFLAGS += -O2
|
|
22
|
+
else
|
|
23
|
+
CFLAGS += -O1 -fno-omit-frame-pointer
|
|
24
|
+
CXXFLAGS += -O1 -fno-omit-frame-pointer
|
|
25
|
+
LDFLAGS += -O1 -fno-omit-frame-pointer
|
|
22
26
|
endif
|
|
23
27
|
LDFLAGS += -Wl,-undefined,error
|
|
24
28
|
CAT ?= $(if $(filter $(OS),Windows_NT),type,cat)
|
|
@@ -295,7 +299,7 @@ install-shared: $(DESTDIR)$(PREFIX)/lib/libsass.so \
|
|
|
295
299
|
install-headers
|
|
296
300
|
|
|
297
301
|
$(SASSC_BIN): $(BUILD)
|
|
298
|
-
$(MAKE) -C $(SASS_SASSC_PATH)
|
|
302
|
+
$(MAKE) -C $(SASS_SASSC_PATH) build-$(BUILD)-dev
|
|
299
303
|
|
|
300
304
|
sassc: $(SASSC_BIN)
|
|
301
305
|
$(SASSC_BIN) -v
|
|
@@ -305,16 +309,16 @@ version: $(SASSC_BIN)
|
|
|
305
309
|
$(SASSC_BIN) -v
|
|
306
310
|
|
|
307
311
|
test: $(SASSC_BIN)
|
|
308
|
-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.
|
|
312
|
+
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.5 -c $(SASSC_BIN) --impl libsass $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
|
|
309
313
|
|
|
310
314
|
test_build: $(SASSC_BIN)
|
|
311
|
-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.
|
|
315
|
+
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.5 -c $(SASSC_BIN) --impl libsass $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
|
|
312
316
|
|
|
313
317
|
test_full: $(SASSC_BIN)
|
|
314
|
-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.
|
|
318
|
+
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.5 -c $(SASSC_BIN) --impl libsass --run-todo $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
|
|
315
319
|
|
|
316
320
|
test_probe: $(SASSC_BIN)
|
|
317
|
-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.
|
|
321
|
+
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.5 -c $(SASSC_BIN) --impl libsass --probe-todo $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
|
|
318
322
|
|
|
319
323
|
clean-objects: lib
|
|
320
324
|
-$(RM) lib/*.a lib/*.so lib/*.dll lib/*.la
|
data/ext/libsass/Makefile.conf
CHANGED
|
@@ -13,6 +13,7 @@ SOURCES = \
|
|
|
13
13
|
functions.cpp \
|
|
14
14
|
color_maps.cpp \
|
|
15
15
|
environment.cpp \
|
|
16
|
+
ast_fwd_decl.cpp \
|
|
16
17
|
bind.cpp \
|
|
17
18
|
file.cpp \
|
|
18
19
|
util.cpp \
|
|
@@ -40,6 +41,8 @@ SOURCES = \
|
|
|
40
41
|
sass_context.cpp \
|
|
41
42
|
sass_functions.cpp \
|
|
42
43
|
sass2scss.cpp \
|
|
44
|
+
backtrace.cpp \
|
|
45
|
+
operators.cpp \
|
|
43
46
|
to_c.cpp \
|
|
44
47
|
to_value.cpp \
|
|
45
48
|
source_map.cpp \
|
data/ext/libsass/Readme.md
CHANGED
|
@@ -1,95 +1,100 @@
|
|
|
1
|
-
LibSass
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
[](https://coveralls.io/r/sass/libsass?branch=feature%2Ftest-travis-ci-3)
|
|
10
|
-
[![
|
|
11
|
-
|
|
12
|
-
https://
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
https://github.com/sass/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
LibSass - Sass compiler written in C++
|
|
2
|
+
======================================
|
|
3
|
+
|
|
4
|
+
Currently maintained by Marcel Greter ([@mgreter]) and Michael Mifsud ([@xzyfer])
|
|
5
|
+
Originally created by Aaron Leung ([@akhleung]) and Hampton Catlin ([@hcatlin])
|
|
6
|
+
|
|
7
|
+
[](https://travis-ci.org/sass/libsass "Travis CI")
|
|
8
|
+
[](https://ci.appveyor.com/project/sass/libsass/branch/master "Appveyor CI")
|
|
9
|
+
[](https://coveralls.io/r/sass/libsass?branch=feature%2Ftest-travis-ci-3 "Code coverage of spec tests")
|
|
10
|
+
[](http://isitmaintained.com/project/sass/libsass "Percentage of issues still open")
|
|
11
|
+
[](http://isitmaintained.com/project/sass/libsass "Average time to resolve an issue")
|
|
12
|
+
[](https://www.bountysource.com/trackers/283068-libsass?utm_source=283068&utm_medium=shield&utm_campaign=TRACKER_BADGE "Bountysource")
|
|
13
|
+
[](https://libsass-slack.herokuapp.com/ "Slack communication channels")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
[LibSass](https://github.com/sass/libsass "LibSass GitHub Project") is just a library!
|
|
17
|
+
If you want to use LibSass to compile Sass, you need an implementer. Some
|
|
18
|
+
implementations are only bindings into other programming languages. But most also
|
|
19
|
+
ship with a command line interface (CLI) you can use directly. There is also
|
|
20
|
+
[SassC](https://github.com/sass/sassc), which is the official lightweight
|
|
21
|
+
CLI tool built by the same people as LibSass.
|
|
22
|
+
|
|
23
|
+
### Excerpt of "sanctioned" implementations:
|
|
24
|
+
|
|
25
|
+
- https://github.com/sass/node-sass (Node.js)
|
|
26
|
+
- https://github.com/sass/perl-libsass (Perl)
|
|
27
|
+
- https://github.com/sass/libsass-python (Python)
|
|
28
|
+
- https://github.com/wellington/go-libsass (Go)
|
|
29
|
+
- https://github.com/sass/sassc-ruby (Ruby)
|
|
30
|
+
- https://github.com/sass/libsass-net (C#)
|
|
31
|
+
- https://github.com/medialize/sass.js (JS)
|
|
32
|
+
- https://github.com/bit3/jsass (Java)
|
|
33
|
+
|
|
34
|
+
This list does not say anything about the quality of either the listed or not listed [implementations](docs/implementations.md)!
|
|
35
|
+
The authors of the listed projects above are just known to work regularly together with LibSass developers.
|
|
22
36
|
|
|
23
37
|
About
|
|
24
38
|
-----
|
|
25
39
|
|
|
26
|
-
LibSass is a C
|
|
27
|
-
|
|
28
|
-
|
|
40
|
+
LibSass is a C++ port of the original Ruby Sass CSS compiler with a [C API](docs/api-doc.md).
|
|
41
|
+
We coded LibSass with portability and efficiency in mind. You can expect LibSass to be a lot
|
|
42
|
+
faster than Ruby Sass and on par or faster than the best alternative CSS compilers around.
|
|
29
43
|
|
|
30
44
|
Developing
|
|
31
45
|
----------
|
|
32
46
|
|
|
33
|
-
As
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
LibSass repository. When developing LibSass, it is best to actually
|
|
39
|
-
checkout SassC and develop in that directory with the SassC spec
|
|
40
|
-
and tests there.
|
|
41
|
-
|
|
42
|
-
We even run Travis tests for SassC!
|
|
47
|
+
As noted above, the LibSass repository does not contain any binaries or other way to execute
|
|
48
|
+
LibSass. Therefore, you need an implementer to develop LibSass. Easiest is to start with
|
|
49
|
+
the official [SassC](http://github.com/sass/sassc) CLI wrapper. It is *guaranteed* to compile
|
|
50
|
+
with the latest code in LibSass master, since it is also used in the CI process. There is no
|
|
51
|
+
limitation here, as you may use any other LibSass implementer to test your LibSass branch!
|
|
43
52
|
|
|
44
|
-
|
|
53
|
+
Testing
|
|
45
54
|
-------
|
|
46
55
|
|
|
47
|
-
Since LibSass is a pure library, tests are run through the [
|
|
56
|
+
Since LibSass is a pure library, tests are run through the [Sass-Spec](https://github.com/sass/sass-spec)
|
|
57
|
+
project using the [SassC](http://github.com/sass/sassc) CLI wrapper. To run the tests against LibSass while
|
|
58
|
+
developing, you can run `./script/spec`. This will clone SassC and Sass-Spec under the project folder and
|
|
59
|
+
then run the Sass-Spec test suite. You may want to update the clones to ensure you have the latest version.
|
|
60
|
+
Note that the scripts in the `./script` folder are mainly intended for our CI needs.
|
|
48
61
|
|
|
49
|
-
|
|
62
|
+
Building
|
|
63
|
+
--------
|
|
50
64
|
|
|
51
|
-
|
|
65
|
+
To build LibSass you need GCC 4.6+ or Clang/LLVM. If your OS is older, you may need to upgrade
|
|
66
|
+
them first (or install clang as an alternative). On Windows, you need MinGW with GCC 4.6+ or VS 2013
|
|
67
|
+
Update 4+. It is also possible to build LibSass with Clang/LLVM on Windows with various build chains
|
|
68
|
+
and/or command line interpreters.
|
|
52
69
|
|
|
53
|
-
|
|
54
|
-
with `gdb`, `lldb` and others. E.g.: use `$ DEBUG=1 ./script/spec` to run the tests with
|
|
55
|
-
a debug build.
|
|
70
|
+
See the [build docs for further instructions](docs/build.md)!
|
|
56
71
|
|
|
57
|
-
|
|
72
|
+
Compatibility
|
|
58
73
|
-------------
|
|
59
74
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
[
|
|
64
|
-
to your favorite programing language.
|
|
65
|
-
|
|
66
|
-
If you want to build or interface with LibSass, we recommend to check out the
|
|
67
|
-
documentation pages about [building LibSass](docs/build.md) and
|
|
68
|
-
the [C-API documentation](docs/api-doc.md).
|
|
75
|
+
Current LibSass 3.4 should be compatible with Sass 3.4. Please refer to the [sass compatibility
|
|
76
|
+
page](http://sass-compatibility.github.io/) for a more detailed comparison. But note that there
|
|
77
|
+
are still a few incomplete edges which we are aware of. Otherwise LibSass has reached a good level
|
|
78
|
+
of stability, thanks to our ever growing [Sass-Spec test suite](https://github.com/sass/sass-spec).
|
|
69
79
|
|
|
70
80
|
About Sass
|
|
71
81
|
----------
|
|
72
82
|
|
|
73
|
-
Sass is a CSS pre-processor language to add on exciting, new,
|
|
74
|
-
|
|
75
|
-
and by far the most mature and up to date codebase.
|
|
83
|
+
Sass is a CSS pre-processor language to add on exciting, new, awesome features to CSS. Sass was
|
|
84
|
+
the first language of its kind and by far the most mature and up to date codebase.
|
|
76
85
|
|
|
77
|
-
Sass was originally
|
|
78
|
-
|
|
79
|
-
|
|
86
|
+
Sass was originally conceived of by the co-creator of this library, Hampton Catlin ([@hcatlin]).
|
|
87
|
+
Most of the language has been the result of years of work by Natalie Weizenbaum ([@nex3]) and
|
|
88
|
+
Chris Eppstein ([@chriseppstein]).
|
|
80
89
|
|
|
81
90
|
For more information about Sass itself, please visit http://sass-lang.com
|
|
82
91
|
|
|
83
|
-
Initial development of
|
|
92
|
+
Initial development of LibSass by Aaron Leung and Hampton Catlin was supported by [Moovweb](http://www.moovweb.com).
|
|
84
93
|
|
|
85
94
|
Licensing
|
|
86
95
|
---------
|
|
87
96
|
|
|
88
|
-
Our MIT license is designed to be as simple
|
|
89
|
-
|
|
90
|
-
sass2scss was originally written by [Marcel Greter][@mgreter]
|
|
91
|
-
and he happily agreed to have it merged into the project.
|
|
92
|
-
|
|
97
|
+
Our [MIT license](LICENSE) is designed to be as simple and liberal as possible.
|
|
93
98
|
|
|
94
99
|
[@hcatlin]: https://github.com/hcatlin
|
|
95
100
|
[@akhleung]: https://github.com/akhleung
|