Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Grunt jade error

Whenever I run grunt jade I get an error:

Warning: pattern.indexOf is not a function Use --force to continue.

Now here is my jade task:

    jade: {
        options: {
            pretty: true
        },
        all: {
            files: {
                expand:true,
                cwd: 'src/static/jade',
                ext: "html",
                src: ['src/static/jade/**/*.jade', '!src/static/jade/_includes'],
                dest: 'build/'
            }
        }
    }

So basically I am trying to take the jade files in src/static/jade (including subdirs, except _include) and put them in build, keeping the directory structure. I have tryed commenting the expand line, however it gives me:

 Warning: Unable to read "src/static/jade" file (Error code: EISDIR). Use --force to continue.

Perhaps I am going about this the wrong way. How should I fix this?

like image 647
Kaiden Prince Avatar asked Oct 13 '15 01:10

Kaiden Prince


1 Answers

Your initial issues is that files should be an array of objects, not just an object: files: [{...}].

But then you have other troubles with your file definition:

  • if you specify cwd, your src should not repeat it
  • your ext needs a starting .
  • your ! pattern needs to specify files instead of a dir

So you need:

files: [{
       expand:true,
       cwd: 'src/static/jade/',
       ext: ".html",
       src: ['**/*.jade', '!_includes/**/*.jade'],
       dest: 'build/'
}]
like image 59
Xavier Priour Avatar answered Oct 03 '22 04:10

Xavier Priour