wide / forge

Zero-based configuration builder for frontend integration projects.
MIT License
0 stars 0 forks source link

Sass configuration: adding output group #2

Closed jdacosta closed 4 years ago

jdacosta commented 4 years ago

It may be useful to create more than one output group.

Here's an example:


module.exports = {
  sass: {
    observe: '**/*.{scss,sass}',

    entries: [
      // group A
      //  -> desired output: assets/css/FILENAME.css
      'assets/{scss,sass}/*.{scss,sass}',

      // group B
      //  -> desired output: assets/css/components/FILENAME.css
      'views/blocks/**/*.{scss,sass}',
      'views/includes/**/*.{scss,sass}',

      // group C
      //  -> desired output: assets/css/pages/FILENAME.css
      'views/pages/**/*.{scss,sass}',
    ],

    output: 'assets/css'
  }
}
jdacosta commented 4 years ago

It's ok with forge 2.1.0 : [https://github.com/wide/forge/releases/tag/2.1.0]()

Example :

targets: ['sass_global', 'sass_pages', 'sass_components' ],
sass_global: {
    compiler: 'sass',
    flatten: true,
    observe: 'assets/scss/*.scss',
    entries: [
      'assets/scss/*.scss',
    ],
    output: 'assets/css'
  },
  sass_components: {
    compiler: 'sass',
    flatten: true,
    observe: 'views/{blocks,includes}/**/*.scss',
    entries: [
      'views/blocks/**/*.scss',
      'views/includes/**/*.scss',
    ],
    output: 'assets/css/components'
  },
  sass_pages: {
    compiler: 'sass',
    flatten: true,
    observe: 'views/pages/**/*.scss',
    entries: [
      'views/pages/**/*.scss',
    ],
    output: 'assets/css/pages'
  },