Override ignored files in bower package?

I’d like to give a Sage fork with Google’s Material Design Lite a try. Looking at their bower file, however, I find that they’ve ignored all the sass source files and only included compiled css in the package:

{
  "name": "material-design-lite",
  "version": "1.0.0",
  "homepage": "https://github.com/google/material-design-lite",
  "authors": [
    "Material Design Lite team"
  ],
  "description": "Material Design Components in CSS, JS and HTML",
  "main": [
    "material.min.css",
    "material.min.js"
  ],
  "keywords": [
    "material",
    "design",
    "styleguide",
    "style",
    "guide"
  ],
  "license": "Apache-2",
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "./lib/.bower_components",
    "test",
    "tests"
  ]
}

Is there a way to use negation on the ignore, such as:

    "material-design-lite": {
      "main": [
        "./src/animation/_animation.scss"
        ...and so on
      ],
      "ignore": [
        "!*"
      ]
    }

or something similar in the overrides section of Sage’s bower.json in order to force bower to install content that is being ignored in the original bower package? Maybe @austin has run into something similar during his adventures with wiredep?

I don’t think ignored files matter. And I don’t see that package ignoring *.scss files either.

If you set up overrides for the main array of a package, then whatever the original package declared will be ignored. So you should be able to just add the files you want included and be off to the races.

Can’t get it to download the files I want. I have created a branch in my sage fork. Based on how the MDL repo is setup the paths should be correct. Tried clearing my bower cache and then reinstalling the package multiple times, but only the declared files are downloaded.

Nevermind – they’ll add a more bootstrap-like folder structure where they’ll include the source files in the bower package in 1.0.1 and then this won’t be a problem.

I guess I’m still a little confused. What happens if you set up the override with something with a bunch of includes, like ./src/material-design-lite.scss ?

Tried that already. This is what the override should look like:

"material-design-lite": {
  "main": [
    "./src/material-design-lite.scss",
    "./src/mdlComponentHandler.js",
    "./src/button/button.js",
    "./src/checkbox/checkbox.js",
    "./src/data-table/data-table.js",
    "./src/icon-toggle/icon-toggle.js",
    "./src/button/button.js",
    "./src/images/*.svg",
    "./src/layout/layout.js",
    "./src/menu/menu.js",
    "./src/progress/progress.js",
    "./src/radio/radio.js",
    "./src/ripple/ripple.js",
    "./src/slider/slider.js",
    "./src/spinner/spinner.js",
    "./src/switch/switch.js",
    "./src/tabs/tabs.js",
    "./src/textfield/textfield.js",
    "./src/third_party/rAF.js",
    "./src/tooltip/tooltip.js"
  ]
}

But it still only downloads the compiled css and js files, i.e. they aren’t even including files from ./src in the bower or npm package. However, as I found out earlier, it is a known issue and they’ll be rectifying it in 1.0.1.

Oh, I see, the actual bower package that’s downloaded only contains a few compiled files. Well that’s unhelpful.

I tried downloading the package directly using the Github URL, but since there is already a bower file, it just got the same thing. Guess it’s either manual or wait until they fix it.

The whole issue is caused by their bower file not following bower spec. In main instead of sources and entry-points they put dist files… Completely reverse of what bower suggests :smiling_imp: