grunt usemin doesnt affect the html file(index.html)
Asked Answered
F

1

7

i have a grunt script that uses usemin but the weird thing is is that the index.html file is not affected by usemin at all! it means that my file still has all the

    <!-- build:css styles/main.css -->
    <link rel="stylesheet" href="styles/style.css">
    <link rel="stylesheet" href="styles/bs-growl-notifications.css">
    <!-- endbuild -->

the weirdest part in the log is this(it does nothing although it found the blocks-see full log):

Processing as HTML - dist/index.html
Update the HTML to reference our concat/min/revved script files
Update the HTML with the new css filenames
Update the HTML with the new img filenames
Update the HTML with data-main tags
Update the HTML with the data tags
Update the HTML with background imgs, case there is some inline style
Update the HTML with anchors images
Update the HTML with reference in input

and here is a full log:

Running "clean:dist" (clean) task
Cleaning .tmp...OK
Cleaning dist/index.html...OK
Cleaning dist/scripts...OK
Cleaning dist/styles...OK

Running "replace:dist" (replace) task
Replace app/index.html -> .tmp/index.html

Running "useminPrepare:html" (useminPrepare) task
Going through .tmp/index.html to update the config
Looking for build script HTML comment blocks

Found a block:
        <!-- build:css styles/main.css -->
        <link rel="stylesheet" href="styles/style.css">
        <link rel="stylesheet" href="styles/bs-growl-notifications.css">
        <!-- endbuild -->
Updating config with the following assets:
    - .tmp\styles\style.css
    - .tmp\styles\bs-growl-notifications.css

Found a block:
        <!-- build:js(app) scripts/components.js -->
        <script src="bower_components/jquery/dist/jquery.js"></script>
        <script src="bower_components/handlebars/handlebars.runtime.js"></script
>
        <script src="bower_components/ember/ember.prod.js"></script>
        <script src="bower_components/ember-data/ember-data.prod.js"></script>
        <!-- endbuild -->
Updating config with the following assets:
    - app\bower_components\jquery\dist\jquery.js
    - app\bower_components\handlebars\handlebars.runtime.js
    - app\bower_components\ember\ember.prod.js
    - app\bower_components\ember-data\ember-data.prod.js

Found a block:
        <!-- build:js(.tmp) scripts/templates.js -->
        <script src="scripts/compiled-templates.js"></script>
        <!-- endbuild -->
Updating config with the following assets:
    - .tmp\scripts\compiled-templates.js

Found a block:
        <!-- build:js(.tmp) scripts/main.js -->
        <script src="scripts/combined-scripts.js"></script>
        <!-- endbuild -->
Updating config with the following assets:
    - .tmp\scripts\combined-scripts.js

Found a block:
        <!-- build:js scripts/plugins.js -->
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-core.
max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-alert
.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-badge
.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-basic
.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-butto
n.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-growl
-notifications.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-items
-action-bar.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-label
.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-list-
group.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-modal
.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-nav.m
ax.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-notif
ications.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-progr
essbar.max.js"></script>
        <script src="bower_components/ember-addons.bs_for_ember/dist/js/bs-wizar
d.max.js"></script>
        <!-- endbuild -->
Updating config with the following assets:
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-core.max.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-alert.max.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-badge.max.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-basic.max.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-button.max.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-growl-notificat
ions.max.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-items-action-ba
r.max.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-label.max.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-list-group.max.
js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-modal.max.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-nav.max.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-notifications.m
ax.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-progressbar.max
.js
    - .tmp\bower_components\ember-addons.bs_for_ember\dist\js\bs-wizard.max.js

Configuration is now:

  cssmin:
  { dist:
   { files:
      { '<%= yeoman.dist %>/styles/main.css':
         [ '.tmp/styles/{,*/}*.css',
           'app/styles/{,*/}*.css' ] } },
  'dist\\styles\\main.css': 'dist\\styles\\main.css' }

  concat:
  { 'dist\\styles\\main.css':
   [ '.tmp\\styles\\style.css',
     '.tmp\\styles\\bs-growl-notifications.css' ],
  'dist\\scripts\\components.js':
   [ 'app\\bower_components\\jquery\\dist\\jquery.js',
     'app\\bower_components\\handlebars\\handlebars.runtime.js',
     'app\\bower_components\\ember\\ember.prod.js',
     'app\\bower_components\\ember-data\\ember-data.prod.js' ],
  'dist\\scripts\\templates.js': [ '.tmp\\scripts\\compiled-templates.js' ],
  'dist\\scripts\\main.js': [ '.tmp\\scripts\\combined-scripts.js' ],
  'dist\\scripts\\plugins.js':
   [ '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-core.max.j
s',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-alert.max.
js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-badge.max.
js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-basic.max.
js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-button.max
.js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-growl-noti
fications.max.js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-items-acti
on-bar.max.js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-label.max.
js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-list-group
.max.js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-modal.max.
js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-nav.max.js
',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-notificati
ons.max.js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-progressba
r.max.js',
     '.tmp\\bower_components\\ember-addons.bs_for_ember\\dist\\js\\bs-wizard.max
.js' ] }

  uglify:
  { 'dist\\scripts\\components.js': 'dist\\scripts\\components.js',
  'dist\\scripts\\templates.js': 'dist\\scripts\\templates.js',
  'dist\\scripts\\main.js': 'dist\\scripts\\main.js',
  'dist\\scripts\\plugins.js': 'dist\\scripts\\plugins.js' }

  requirejs:
  {}

Running "concurrent:dist" (concurrent) task

Running "imagemin:dist" (imagemin) task
Minified 0 images (saved 0 B)

Done, without errors.

Running "svgmin:dist" (svgmin) task

Done, without errors.

Running "htmlmin:dist" (htmlmin) task
File dist/index.html created.

Done, without errors.

Running "emberTemplates:dist" (emberTemplates) task
File ".tmp/scripts/compiled-templates.js" created.

Done, without errors.

Running "compass:dist" (compass) task
directory .tmp/styles/
       create .tmp/styles/style.css (2.682s)
    Compilation took 2.686s

Done, without errors.

Running "neuter:app" (neuter) task

Running "concat:dist\styles\main.css" (concat) task
File "dist\styles\main.css" created.

Running "concat:dist\scripts\components.js" (concat) task
File "dist\scripts\components.js" created.

Running "concat:dist\scripts\templates.js" (concat) task
File "dist\scripts\templates.js" created.

Running "concat:dist\scripts\main.js" (concat) task
File "dist\scripts\main.js" created.

Running "concat:dist\scripts\plugins.js" (concat) task
File "dist\scripts\plugins.js" created.

Running "cssmin:dist" (cssmin) task
File dist/styles/main.css created.

Running "cssmin:dist\styles\main.css" (cssmin) task
File dist\styles\main.css created.

Running "uglify:dist\scripts\components.js" (uglify) task
File "dist\scripts\components.js" created.

Running "uglify:dist\scripts\templates.js" (uglify) task
File "dist\scripts\templates.js" created.

Running "uglify:dist\scripts\main.js" (uglify) task
File "dist\scripts\main.js" created.

Running "uglify:dist\scripts\plugins.js" (uglify) task
File "dist\scripts\plugins.js" created.

Running "copy:fonts" (copy) task
Copied 9 files

Running "copy:dist" (copy) task
Copied 9 files

Running "rev:dist" (rev) task
dist/scripts/components.js >> bb1ae45b.components.js
dist/scripts/main.js >> 69c75525.main.js
dist/scripts/plugins.js >> d41d8cd9.plugins.js
dist/scripts/templates.js >> e425eb4f.templates.js
dist/styles/main.css >> 5baff5b5.main.css
dist/styles/fonts/FontAwesome.otf >> 543846b5.FontAwesome.otf
dist/styles/fonts/fontawesome-webfont.eot >> 906d33f8.fontawesome-webfont.eot
dist/styles/fonts/fontawesome-webfont.svg >> 776d58f4.fontawesome-webfont.svg
dist/styles/fonts/fontawesome-webfont.ttf >> 370c636d.fontawesome-webfont.ttf
dist/styles/fonts/fontawesome-webfont.woff >> 3f97f72d.fontawesome-webfont.woff
dist/styles/fonts/glyphicons-halflings-regular.eot >> e56f39cb.glyphicons-halfli
ngs-regular.eot
dist/styles/fonts/glyphicons-halflings-regular.svg >> 32941d63.glyphicons-halfli
ngs-regular.svg
dist/styles/fonts/glyphicons-halflings-regular.ttf >> 38e827a0.glyphicons-halfli
ngs-regular.ttf
dist/styles/fonts/glyphicons-halflings-regular.woff >> deae260a.glyphicons-halfl
ings-regular.woff

Running "usemin:html" (usemin) task

Processing as HTML - dist/index.html
Update the HTML to reference our concat/min/revved script files
Update the HTML with the new css filenames
Update the HTML with the new img filenames
Update the HTML with data-main tags
Update the HTML with the data tags
Update the HTML with background imgs, case there is some inline style
Update the HTML with anchors images
Update the HTML with reference in input

Running "usemin:css" (usemin) task

Processing as CSS - dist/styles/5baff5b5.main.css
Update the CSS with new img filenames
url(../styles/fonts/glyphicons-halflings-regular.eot) changed to url(../styles/f
onts/e56f39cb.glyphicons-halflings-regular.eot)
url(../styles/fonts/glyphicons-halflings-regular.eot?#iefix) changed to url(../s
tyles/fonts/e56f39cb.glyphicons-halflings-regular.eot?#iefix)
url(../styles/fonts/glyphicons-halflings-regular.woff) changed to url(../styles/
fonts/deae260a.glyphicons-halflings-regular.woff)
url(../styles/fonts/glyphicons-halflings-regular.ttf) changed to url(../styles/f
onts/38e827a0.glyphicons-halflings-regular.ttf)
url(../styles/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular
) changed to url(../styles/fonts/32941d63.glyphicons-halflings-regular.svg#glyph
icons_halflingsregular)

Done, without errors.
Foreordination answered 27/5, 2014 at 17:21 Comment(0)
F
21

OK THIS IS THE MOST STUPID THING EVER seems like usemin cant handle windows new lines so it just fails silently to update the html file... i've changed all my new lines to UNIX new lines and it worked...

it was extremely hard to spot this bug :(

Foreordination answered 28/5, 2014 at 13:56 Comment(6)
+1.. I've used grunt-eol to set line endings on my target files: eol: { dist: { options: { eol: 'lf', replace: true }, files: [{ src: ['<%= yeoman.dist %>/*.html'], }] } }Garment
this must have been broken in a newer version of usemin as it appears to work in 2.4.0Vowell
@Foreordination thx for that. Your answer solved my problem after hours of failings :-)Bruges
oh my god I wasted so many hours on this today before finding your post.Tavel
@Nick: You deserve so many upvotes - i was SOOO frustrated because my build failed for no apparent reason while working perfectly the last day. This is a really stupid problem. THANK YOUArabian
Thank you! You saved me hours of googling!Duster

© 2022 - 2024 — McMap. All rights reserved.