grunt-sass-compile-imports
v0.2.2
Published
Create an import file by scanning a directory for SASS files
Downloads
274
Readme
grunt-sass-compile-imports
Create an import file by scanning a directory for SASS files
Getting Started
This plugin requires Grunt ~0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-sass-compile-imports --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-sass-compile-imports');
The "sass_compile_imports" task
Overview
In your project's Gruntfile, add a section named sass_compile_imports
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
sass_compile_imports: {
compile: {
target: 'sass/_partials.scss',
files: [{
expand: true,
cwd : 'sass/partials/',
src : ['**/*.scss']
}]
}
}
});
This will generate a file called _partials.scss in a directory named sass. The contents of the file will be similar to the following:
// This file imports all other named scss files.
// It is automatically generated by the grunt sassimports task.
// Do not directly modify this file.
@import "path/to/partial/variables";
@import "path/to/partial/fonts";
Options
options.removeExtension
Type: Boolean
Default value: true
Flag specifying if the generated paths should exclude the .scss extension.
grunt.initConfig({
sass_compile_imports: {
keep_extension: {
options: {
removeExtension: false
},
target: 'sass/_partials.scss',
files: [{
expand: true,
cwd : 'sass/partials/',
src : ['**/*.scss']
}]
}
}
});
This will generate the imports in the following way:
// This file imports all other named scss files.
// It is automatically generated by the grunt sassimports task.
// Do not directly modify this file.
@import "path/to/partial/variables.scss";
@import "path/to/partial/fonts.scss";
options.quiet
Type: Boolean
Default value: false
A flag used to specify if the task should output information about the files it is importing to the command line
grunt.initConfig({
sass_compile_imports: {
keep_extension: {
options: {
quiet: true
},
target: 'sass/_partials.scss',
files: [{
expand: true,
cwd : 'sass/partials/',
src : ['**/*.scss']
}]
}
}
});
options.importPath
Type: String
Default value: false
If set the specified path will be used to import the sass files rather than the one automatically created. A trailing slash will be automatically added if one is not present.
grunt.initConfig({
sass_compile_imports: {
import_path: {
options: {
importPath: '../components'
},
target: 'sass/_partials.scss',
files: [{
expand: true,
cwd : 'components/partials/',
src : ['**/*.scss']
}]
}
}
});
This will generate the imports in the following way:
// This file imports all other named scss files.
// It is automatically generated by the grunt sassimports task.
// Do not directly modify this file.
@import "../components/variables";
@import "../components/fonts";
options.replacePath
Type: String
Default value: false
If set the import path for each partial will be modified using the pattern provided.
grunt.initConfig({
sass_compile_imports: {
replace_path: {
options: {
replacePath: {
pattern: '/location',
replace: '../_styles'
}
},
target: 'sass/_partials.scss',
files: [{
expand: true,
cwd : 'components/partials/',
src : ['**/*.scss']
}]
}
}
});
options.header
Type: Array
Default value: [
'// This file imports all other named scss files.',
'// It is automatically generated by the grunt sassimports task.',
'// Do not directly modify this file.',
'']
Allows the default header to be customised. Each element in the array is output as a line at the top of the generated partials file
grunt.initConfig({
sass_compile_imports: {
replace_path: {
options: {
header: [
'// Holy custom header Batman!',
'']
},
target: 'sass/_partials.scss',
files: [{
expand: true,
cwd : 'components/partials/',
src : ['**/*.scss']
}]
}
}
});
This will generate the partial file in the following way:
// Holy custom header Batman!.
@import "path/to/partial/variables";
@import "path/to/partial/fonts";
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
Contributors
History
0.2.x - Several options added 0.1.x - Initial version