UNPKG

7.82 kBMarkdownView Raw
1# grunt-contrib-sass v2.0.0 [![Build Status: Linux](https://travis-ci.org/gruntjs/grunt-contrib-sass.svg?branch=master)](https://travis-ci.org/gruntjs/grunt-contrib-sass) [![Build Status: Windows](https://ci.appveyor.com/api/projects/status/ugf9aop97slt5anb/branch/master?svg=true)](https://ci.appveyor.com/project/gruntjs/grunt-contrib-sass/branch/master)
2
3> Compile Sass to CSS
4
5
6
7## Getting Started
8
9If you haven't used [Grunt](https://gruntjs.com/) before, be sure to check out the [Getting Started](https://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](https://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
10
11```shell
12npm install grunt-contrib-sass --save-dev
13```
14
15Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
16
17```js
18grunt.loadNpmTasks('grunt-contrib-sass');
19```
20
21
22
23
24## Sass task
25_Run this task with the `grunt sass` command._
26
27[Sass](http://sass-lang.com/) is a preprocessor that adds nested rules, variables, mixins and functions, selector inheritance, and more to CSS. Sass files compile into well-formatted, standard CSS to use in your site or application.
28
29This task requires you to have [Ruby](http://www.ruby-lang.org/en/downloads/) and [Sass](http://sass-lang.com/install) installed. If you're on OS X or Linux you probably already have Ruby installed; test with `ruby -v` in your terminal. When you've confirmed you have Ruby installed, run `gem install sass` to install Sass.
30
31Note: Files that begin with "_" are ignored even if they match the globbing pattern. This is done to match the expected [Sass partial behaviour](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#partials).
32
33### Options
34
35
36#### sourcemap
37
38Type: `String`
39Default: `auto`
40
41Values:
42
43- `auto` - relative paths where possible, file URIs elsewhere
44- `file` - always absolute file URIs
45- `inline` - include the source text in the sourcemap
46- `none`- no sourcemaps
47
48**Requires Sass 3.4.0, which can be installed with `gem install sass`**
49
50
51#### trace
52
53Type: `Boolean`
54Default: `false`
55
56Show a full traceback on error.
57
58
59#### unixNewlines
60
61Type: `Boolean`
62Default: `false` on Windows, otherwise `true`
63
64Force Unix newlines in written files.
65
66
67#### check
68
69Type: `Boolean`
70Default: `false`
71
72Just check the Sass syntax, does not evaluate and write the output.
73
74
75#### style
76
77Type: `String`
78Default: `nested`
79
80Output style. Can be `nested`, `compact`, `compressed`, `expanded`.
81
82
83#### precision
84
85Type: `Number`
86Default: `5`
87
88How many digits of precision to use when outputting decimal numbers.
89
90
91#### quiet
92
93Type: `Boolean`
94Default: `false`
95
96Silence warnings and status messages during compilation.
97
98
99#### compass
100
101Type: `Boolean`
102Default: `false`
103
104Make Compass imports available and load project configuration (`config.rb` located close to the `Gruntfile.js`).
105
106
107#### debugInfo
108
109Type: `Boolean`
110Default: `false`
111
112Emit extra information in the generated CSS that can be used by the FireSass Firebug plugin.
113
114
115#### lineNumbers
116
117Type: `Boolean`
118Default: `false`
119
120Emit comments in the generated CSS indicating the corresponding source line.
121
122
123#### loadPath
124
125Type: `String|Array`
126
127Add a (or multiple) Sass import path.
128
129
130#### require
131
132Type: `String|Array`
133
134Require a (or multiple) Ruby library before running Sass.
135
136
137#### cacheLocation
138
139Type: `String`
140Default: `.sass-cache`
141
142The path to put cached Sass files.
143
144
145#### noCache
146
147Type: `Boolean`
148Default: `false`
149
150Don't cache to sassc files.
151
152
153#### bundleExec
154
155Type: `Boolean`
156Default: `false`
157
158Run `sass` with [bundle exec](https://bundler.io/man/bundle-exec.1.html): `bundle exec sass`.
159
160
161#### update
162
163Type: `Boolean`
164Default: `false`
165
166Only compile changed files.
167
168### Examples
169
170#### Example config
171
172```js
173grunt.initConfig({
174 sass: { // Task
175 dist: { // Target
176 options: { // Target options
177 style: 'expanded'
178 },
179 files: { // Dictionary of files
180 'main.css': 'main.scss', // 'destination': 'source'
181 'widgets.css': 'widgets.scss'
182 }
183 }
184 }
185});
186
187grunt.loadNpmTasks('grunt-contrib-sass');
188
189grunt.registerTask('default', ['sass']);
190```
191
192#### Compile
193
194```js
195grunt.initConfig({
196 sass: {
197 dist: {
198 files: {
199 'main.css': 'main.scss'
200 }
201 }
202 }
203});
204```
205
206#### Concat and compile
207
208Instead of concatenating the files, just `@import` them into another `.sass` file eg. `main.scss`.
209
210
211#### Compile multiple files
212
213You can specify multiple `destination: source` items in `files`.
214
215```js
216grunt.initConfig({
217 sass: {
218 dist: {
219 files: {
220 'main.css': 'main.scss',
221 'widgets.css': 'widgets.scss'
222 }
223 }
224 }
225});
226```
227
228#### Compile files in a directory
229
230Instead of naming all files you want to compile, you can use the `expand` property allowing you to specify a directory. More information available in the [grunt docs](https://gruntjs.com/configuring-tasks) - `Building the files object dynamically`.
231
232```js
233grunt.initConfig({
234 sass: {
235 dist: {
236 files: [{
237 expand: true,
238 cwd: 'styles',
239 src: ['*.scss'],
240 dest: '../public',
241 ext: '.css'
242 }]
243 }
244 }
245});
246```
247
248
249## Release History
250
251 * 2020-03-04   v2.0.0   Update dependencies. Now requires at least Node 8.
252 * 2016-03-04   v1.0.0   Bump `chalk`. Update to docs and project structure.
253 * 2015-02-06   v0.9.0   Remove `banner` option. Allow using `--force` to ignore compile errors. Increase concurrency count from `2` to `4`. Improve Windows support.
254 * 2014-08-24   v0.8.1   Fix `check` option.
255 * 2014-08-21   v0.8.0   Support Sass 3.4 Source Map option. Add `update` option.
256 * 2014-08-09   v0.7.4   Fix `bundleExec` option. Fix `os.cpus()` issue. Log `sass` command when `--verbose` flag is set.
257 * 2014-03-06   v0.7.3   Only create empty dest files when they don't already exist.
258 * 2014-02-02   v0.7.2   Fix error reporting when Sass is not available.
259 * 2014-01-28   v0.7.1   Fix regression of Bundler support.
260 * 2014-01-26   v0.7.0   Improve Windows support.
261 * 2013-12-10   v0.6.0   Ignore files where filename have leading underscore.
262 * 2013-08-21   v0.5.0   Add `banner` option.
263 * 2013-07-06   v0.4.1   Use `file.orig.src` if `file.src` does not exist and return early to avoid passing non-existent files to sass binary.
264 * 2013-06-30   v0.4.0   Rewrite task to be able to support Source Maps. Compile Sass files in parallel for better performance.
265 * 2013-03-26   v0.3.0   Add support for `bundle exec`. Make sure `.css` files are compiled with SCSS.
266 * 2013-02-15   v0.2.2   First official release for Grunt 0.4.0.
267 * 2013-01-25   v0.2.2rc7   Updating grunt/gruntplugin dependencies to rc7. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions.
268 * 2013-01-09   v0.2.2rc5   Updating to work with grunt v0.4.0rc5. Switching to `this.files` API. Add `separator` option.
269 * 2012-11-05   v0.2.0   Grunt 0.4 compatibility. Improve error message when Sass binary couldn't be found
270 * 2012-10-12   v0.1.3   Rename grunt-contrib-lib dep to grunt-lib-contrib.
271 * 2012-10-08   v0.1.2   Fix regression for darwin.
272 * 2012-10-05   v0.1.1   Windows support.
273 * 2012-09-24   v0.1.0   Initial release.
274
275---
276
277Task submitted by [Sindre Sorhus](https://github.com/sindresorhus)
278
279*This file was generated on Thu Aug 20 2020 12:31:17.*