0.2.2 • Published 8 years ago

grunt-sass-compile-imports v0.2.2

Weekly downloads
86
License
-
Repository
github
Last release
8 years ago

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

0.2.2

8 years ago

0.2.1

8 years ago

0.2.0

9 years ago

0.1.1

10 years ago

0.1.0

10 years ago