"ignore" in Bower's bower.json?

Bower

Bower Problem Overview


Bower's website describes the ignore key in bower.json:

> ignore [array]: An array of paths not needed in production that you want Bower to ignore when installing your package.

Does this mean that it's ignoring paths in installed components, or in your package? Or something else? I was confused by this.

Bower Solutions


Solution 1 - Bower

TL;DR:

ignore only works within the scope of packages being installed, ignoring matching patterns.


Somewhat longer answer:

Bower will ignore all files matching the patterns specified in the ignore property of bower.json in installed packages.

So, suppose if you ran bower install someBowerPackage which had following structure:

someBowerPackage
|- css/
|- js/
|- index.html
|- bower.json

with a bower.json file having:

{
  ...
  "ignore": [ "index.html" ]
}

then, index.html file of this someBowerPackage will not be installed within this package.

Solution 2 - Bower

  • ignore is related to the files in your package
  • You can't ignore on behalf of other packages
  • Dependencies are loaded all or none

Solution 3 - Bower

ignore values are only applied to packages fetched from a bower install endpoint by that component's bower.json file.
ignore values specified in project-root/bower.json have no effect on packages fetched as that project's components.

The bower.json Spec has been documented in its own github repo since this question was originally asked.

>Ignore
>
>Recommended
>Type: Array of String
>
>A list of files for Bower to ignore when installing your package.
>
>Note: symbolic links will always be ignored. However bower.json will never be ignored.
>
>The ignore rules follow the same rules specified in the gitignore pattern spec.

Files matching globs or file values in ignore will not be downloaded from an endpoint as part of the package.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionEvan HahnView Question on Stackoverflow
Solution 1 - BowergustavohenkeView Answer on Stackoverflow
Solution 2 - BoweruicodedView Answer on Stackoverflow
Solution 3 - BowerremyActualView Answer on Stackoverflow