title: Jquery conflict with css Grunt build
body: <p>I have a issue in my grunt file, while doing grunt build i got main.css file but with <strong>jQuery</strong> inside the top of the css file.
  please help</p>
  
  <p>I tried debugging the code to check where is the issue so i got the issue is from <strong>jQuery</strong> file which is in the libs folder.</p>
  
  <pre><code>// Generated on 2013-02-27 using generator-webapp 0.1.5
  'use strict';
  var lrSnippet = require('grunt-contrib-livereload/lib                
  /utils').livereloadSnippet;
  
  var mountFolder = function (connect, dir) {
  return connect.static(require('path').resolve(dir));
  };
  
  // # Globbing
  // for performance reasons we're only matching one level down:
  // 'test/spec/{,*/}*.js'
  // use this if you want to match all subfolders:
  // 'test/spec/**/*.js'
  
  module.exports = function (grunt) {
  // load all grunt tasks
  require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
  
  // configurable paths
  var yeomanConfig = {
      app: 'app',
      dist: 'dist'
  };
  
  var barstaskdef = {
              files: {
                  "app/scripts/compiled-templates.js": [
                  "app/bundles/**/templates/*.bars"
              ]
          },
          options: {
                  namespace: 'JST',
                  processName: function(filename) {
                      return filename
                      .replace(/^app\//, '')
                      .replace(/\.bars$/, '')
                      .replace('bundles/', '')
                      .replace('app/', '') // TODO: just make a regex once
  moving is complete
                      .replace('common/', '') // see above todo
                      .replace('templates/', '');
                  },
                  amd: true
              }
          };
  
  grunt.initConfig({
      yeoman: yeomanConfig,
  
      handlebars: {
        compile: barstaskdef
      },
  
      replace: {
          compile: {
              src: ['dist/index.html'],
              overwrite: true,                 // overwrite matched source 
  files
              replacements: [{ 
                  from: "window.isOptimized = false;",
                  to: "window.isOptimized = true;"
              }]
          }
      },
  
      watch: {
          handlebars: {
              files: [
                  "app/bundles/**/templates/*.bars"
              ],
              tasks: ['handlebars', 'livereload']
          },
          livereload: {
              files: [
                  '&lt;%= yeoman.app %&gt;/*.html',
                  '{.tmp,&lt;%= yeoman.app %&gt;}/styles/{,*/}*.css',
                  '{.tmp,&lt;%= yeoman.app %&gt;}/scripts/{,*/}*.js',
                  '&lt;%= yeoman.app %&gt;/img/UI_icons/{,*/}*. 
  {png,jpg,jpeg,webp}'
              ],
              tasks: ['livereload']
          }
      },
      connect: {
          options: {
              port: 9000,
              // change this to '0.0.0.0' to access the server from outside
              hostname: '0.0.0.0'
          },
          livereload: {
              options: {
                  middleware: function (connect) {
                      return [
                          lrSnippet,
                          mountFolder(connect, '.tmp'),
                          mountFolder(connect, 'app')
                      ];
                  }
              }
          },
          test: {
              options: {
                  middleware: function (connect) {
                      return [
                          mountFolder(connect, '.tmp'),
                          mountFolder(connect, 'test')
                      ];
                  }
              }
          },
          dist: {
              options: {
                  middleware: function (connect) {
                      return [
                          mountFolder(connect, 'dist')
                      ];
                  }
              }
          }
      },
      open: {
          server: {
              path: 'http://localhost:&lt;%= connect.options.port %&gt;'
          }
      },
      clean: {
          dist: ['.tmp', '&lt;%= yeoman.dist %&gt;/*'],
          server: '.tmp'
      },
      jshint: {
          options: {
              jshintrc: '.jshintrc'
          },
          all: [
              'Gruntfile.js',
              '&lt;%= yeoman.app %&gt;/scripts/{,*/}*.js',
              '!&lt;%= yeoman.app %&gt;/scripts/vendor/*',
              'test/spec/{,*/}*.js'
          ]
      },
      mocha: {
          all: {
              options: {
                  run: true,
                  urls: ['http://localhost:&lt;%= connect.options.port 
  %&gt;/index.html']
              }
          }
      },
      // not used since Uglify task does concat,
      // but still available if needed
      /*concat: {
          dist: {}
      },*/
      requirejs: {
          dist: {
              // Options: https://github.com/jrburke/r.js/blob/master/build
  /example.build.js
              options: {
                  // `name` and `out` is set by grunt-usemin
                  baseUrl: 'app/scripts',
                  optimize: 'none',
                  mainConfigFile: 'app/scripts/main.js',
                  // TODO: Figure out how to make sourcemaps work with 
  grunt-usemin
                  // https://github.com/yeoman/grunt-usemin/issues/30
                  //generateSourceMaps: true,
                  // required to support SourceMaps
                  // http://requirejs.org/docs/errors.html#sourcemapcomments
                  preserveLicenseComments: false,
                  useStrict: true,
                  wrap: true,
                  //uglify2: {} // https://github.com/mishoo/UglifyJS2
              }
          }
      },
      useminPrepare: {
          html: '&lt;%= yeoman.app %&gt;/index.html',
          options: {
              dest: '&lt;%= yeoman.dist %&gt;'
          }
      },
      usemin: {
          html: ['&lt;%= yeoman.dist %&gt;/{,*/}*.html'],
          css: ['&lt;%= yeoman.dist %&gt;/styles/{,*/}*.css'],
          options: {
              dirs: ['&lt;%= yeoman.dist %&gt;']
          }
      },
      imagemin: {
          dist: {
              files: [{
                  expand: true,
                  cwd: '&lt;%= yeoman.app %&gt;/img/UI_icons/',
  
                  src: '{,*/}*.{png,jpg,jpeg}',
                  dest: '&lt;%= yeoman.dist %&gt;/img/UI_icons/'
              }]
          }
      },
      // cssmin: {
      //     dist: {
      //         files: {
      //             '&lt;%= yeoman.dist %&gt;/styles/main.css': [
      //                 '.tmp/styles/{,*/}*.css',
      //                 '&lt;%= yeoman.app %&gt;/styles/{,*/}*.css'
      //             ]
      //         }
      //     }
      // },
      htmlmin: {
          dist: {
              options: {
                  /*removeCommentsFromCDATA: true,
                  // https://github.com/yeoman/grunt-usemin/issues/44
                  //collapseWhitespace: true,
                  collapseBooleanAttributes: true,
                  removeAttributeQuotes: true,
                  removeRedundantAttributes: true,
                  useShortDoctype: true,
                  removeEmptyAttributes: true,
                  removeOptionalTags: true*/
              },
              files: [{
                  expand: true,
                  cwd: '&lt;%= yeoman.app %&gt;',
                  src: '*.html',
                  dest: '&lt;%= yeoman.dist %&gt;'
              }]
          }
      },
      copy: {
          dist: {
              files: [{
                  expand: true,
                  dot: true,
                  cwd: '&lt;%= yeoman.app %&gt;',
                  dest: '&lt;%= yeoman.dist %&gt;',
                  src: [
                      '.htaccess',
                      'empty.html',
                      'preview_export/**',
                      'zip/**'
                  ]
              },
              {
                  expand: true,
                  dot: true,
                  flatten: true,
                  cwd: '&lt;%= yeoman.app %&gt;',
                  dest: '&lt;%= yeoman.dist %&gt;/styles/img',
                  src: [
                      '**/*.{ico,txt,png,jpg,gif}',
                  ]
              },
              // TODO: figure out what the deal is with the fonts in dist mode...
              {
                  expand: true,
                  dot: true,
                  flatten: true,
                  cwd: '&lt;%= yeoman.app %&gt;',
                  dest: '&lt;%= yeoman.dist %&gt;/styles',
                  src: [
                      '**/*.woff'
                  ]
              },
              {
                  expand: true,
                  cwd: '&lt;%= yeoman.app %&gt;/styles/strut.themes',
                  dest: '&lt;%= yeoman.dist %&gt;/styles/strut.themes',
                  src: [
                      '**/*.png',
                      '*.css'
                  ]
              }]
          }
      },
      bower: {
          all: {
              rjsConfig: '&lt;%= yeoman.app %&gt;/scripts/main.js'
          }
      },
      jasmine : {
          src: ['common/collections/MultiMap.js', 
  'framework/ServiceRegistry.js'],
          options: {
            specs : 'jtest/spec/*.js',
            vendors : ['libs/jQuery.js', 'libs/lodash.js', 
  'libs/backbone.js'],
            template: require('grunt-template-jasmine-requirejs'),
            templateOptions: {
              requireConfig: {
                      baseUrl: 'app/scripts/',
                      path : {
                         jquery : 'libs/jQuery',
                         lodash : 'libs/lodash'
                      }
              }
            }
          }
      }
  });
  
  // grunt.renameTask('regarde', 'watch');
  
  grunt.registerTask('server', function (target) {
      if (target === 'dist') {
          return grunt.task.run(['build', 'open', 
  'connect:dist:keepalive']);
      }
  
      grunt.task.run([
          'clean:server',
          'handlebars',
          'livereload-start',
          'connect:livereload',
          'watch'
      ]);
  });
  
  grunt.registerTask('test', [
      'clean:server',
      'connect:test',
      'mocha'
  ]);
  
  grunt.registerTask('build', [
      'clean:dist',
      'handlebars',
      'useminPrepare',
      'requirejs',
      'imagemin',
      'htmlmin',
      'concat',
      // 'cssmin',
      'uglify',
      'copy',
      'replace',
      'usemin'
  ]);
  
  grunt.registerTask('default', [
      // 'jshint',
      'jasmine',
  //        'test',
      'build'
  ]);
  };
  </code></pre>