1

I have a huge array like

[ { src:
   [ './src/branding/appLogo/template.hbs',
     './src/buttons/append/template.hbs',
     './src/buttons/button/template.hbs',
     './src/buttons/clean/template.hbs',
     './src/buttons/clear/template.hbs',
     './src/buttons/danger/template.hbs',
     './src/buttons/default/template.hbs',
     './src/buttons/disabled/template.hbs',
     './src/buttons/large/template.hbs',
     './src/buttons/link/template.hbs',
     './src/buttons/primary/template.hbs',
     './src/buttons/small/template.hbs',
     './src/buttons/success/template.hbs',
     './src/documentation/technology-overview/template.hbs',
     './src/forms/checkbox/template.hbs',
     './src/forms/fieldAppend/template.hbs',
     './src/forms/fieldDefault/template.hbs',
     './src/forms/fieldError/template.hbs',
     './src/forms/fieldPrepend/template.hbs',
     './src/forms/fieldPrependAppend/template.hbs',
     './src/forms/radioButton/template.hbs',
     './src/forms/select/template.hbs',
     './src/forms/textarea/template.hbs',
     './src/icons/appSwitch/template.hbs',
     './src/modules/alerts/template.hbs',
     './src/modules/attributions/template.hbs',
     './src/modules/avatar/template.hbs',
     './src/modules/beacon/template.hbs',
     './src/modules/d3DonutChart/template.hbs',
     './src/navigation/appSwitcher/template.hbs',
     './src/navigation/avatarDropdown/template.hbs',
     './src/navigation/contextMenu/template.hbs',
     './src/navigation/headerMenu/template.hbs',
     './src/navigation/paginate/template.hbs',
     './src/prototypes/home/template.hbs',
     './src/structures/form/template.hbs',
     './src/structures/header/template.hbs',
     './src/typography/blockquote/template.hbs',
     './src/typography/floats/template.hbs',
     './src/typography/headers/template.hbs',
     './src/typography/hidden/template.hbs',
     './src/typography/hr/template.hbs',
     './src/typography/hrText/template.hbs',
     './src/typography/lists/template.hbs',
     './src/typography/paragraph/template.hbs',
     './src/typography/pre/template.hbs',
     './src/typography/table/template.hbs',
     './src/typography/tags/template.hbs',
     './src/utilities/extends/template.hbs',
     './src/utilities/keyframes/template.hbs',
     './src/utilities/mixins/template.hbs',
     './src/utilities/svgFilterPieShrink/template.hbs',
     './src/utilities/svgFilterSubtleDropShadow/template.hbs' ],
  dest: './build/scripts/handlebars.js' } ]

I want to render all those handlebars templates and they should all end up in a single file.

module.exports = (grunt) ->
  config = grunt.file.readJSON("config.json")
  hbsGlob = ''
  grunt.task.loadTasks('./tasks')
  grunt.option('config', config)

  grunt.initConfig
    pkg: grunt.file.readJSON("package.json")

    handlebars:
      options:
        namespace: 'Guide'
        processName: (path) ->
          return path.replace('.js', '').replace('/', '.') + '.template'

      guide:
        files:
          @hbsGlob


  grunt.registerTask 'etch-scripts', =>
    glob = grunt.option('filteredGlob')
    glob.push "!./src/**/*.{md,js,json}"

    options =
      rename: (dest, matchedSrcPath, options) ->
        return dest

    @hbsGlob = grunt.file.expandMapping(glob,  config.build + '/scripts/handlebars.js', options)

    grunt.task.run 'handlebars:guide'

  grunt.loadNpmTasks('grunt-contrib-handlebars');

The only output I am getting is

Running "handlebars:guide" (handlebars) task
>> 0 files created.

Done, without errors.

Any idea what is going wrong so I can use that glob as the src/dest?

LostInQuery
  • 519
  • 4
  • 19

1 Answers1

0

After lots of research on this, I found a slight alternative that ended up working perfectly!

After setting the hbsGlob variable, I added that var to a Grunt config grunt.config.set('hbsGlob', @hbsGlob)

Then in the handlebars:guide task I set it to

guide:
  files: '<%= hbsGlob %>'

And everything built out perfectly!

Edit -- Source: https://stackoverflow.com/a/14780870/399742

Community
  • 1
  • 1
LostInQuery
  • 519
  • 4
  • 19