We operate a TeamCity build server that is utilizing three different buildusers all configured similarly. We have integrated an angular/grunt project using yeoman
Update 6
Noted an issue with bower https://github.com/bower/bower/issues/1709
Why does bower occasionally install packages like angular-animate in the following structure:
bower_components/angular-animate/bower-angular-animate-1.3.13/angular-animate.js
while other times it places the contents of bower-angular-animate-1.3.13 directly in the root resulting in this structure:
bower_components/angular-animate/angular-animate.js
The former causes our tests to fail, naturally..
Any insights on this? It always seems to happen with the same packages and works fine locally.
Update:
It seems that when running bower, it fails to locate the main JavaScript file specified in the package's bower.json which appears to be the root cause. However, I am unsure how to address this issue.
Update 2:
It appears that bower cannot find the "main" key in bower.json for example:
[09:27:40]bower angular-animate#1.3.13 invalid-meta angular-animate is missing "main" entry in bower.json
[09:27:40]bower angular-animate#1.3.13 invalid-meta angular-animate is missing "ignore" entry in bower.json
What could be causing the inconsistency in finding the main file?
Update 3:
If my understanding is correct, the .bower.json file is generated by bower after downloading and extracting the archive. Upon observation, there are differences in the generated .bower.json file where the main and ignore entries are missing. Additionally, the extraction process varies as mentioned previously.
This package fails:
[pejn@bx0023 1.3.13]$ more .bower.json
{
"name": "angular-animate",
"homepage": "https://github.com/angular/bower-angular-animate",
"version": "1.3.13",
"_release": "1.3.13",
"_resolution": {
"type": "version",
"tag": "v1.3.13",
"commit": "f18cb98590471ad9c1e5ae0e57178e9ecb8d384c"
},
"_source": "https://github.com/angular/bower-angular-animate.git",
"_target": "1.3.13"
}
And this one works:
[pejn@bx0023 1.3.13]$ more .bower.json
{
"name": "angular-animate",
"version": "1.3.13",
"main": "./angular-animate.js",
"ignore": [],
"dependencies": {
"angular": "1.3.13"
},
"homepage": "https://github.com/angular/bower-angular-animate",
"_release": "1.3.13",
"_resolution": {
"type": "version",
"tag": "v1.3.13",
"commit": "f18cb98590471ad9c1e5ae0e57178e9ecb8d384c"
},
"_source": "https://github.com/angular/bower-angular-animate.git",
"_target": "1.3.13"
}
Update 4:
Presenting my bower.json file
{
"name": "App",
"version": "0.0.1",
"dependencies": {
"angular": "1.3.13",
"json3": "3.3.0",
...
// Truncated for brevity
...
"angular-ui-utils": "bower-unique"
},
"devDependencies": {
"angular-mocks": "1.3.13",
"angular-scenario": "1.3.13"
},
...
}
Update 5
After running the bower tests on the buildserver, it appears there may be a proxy or permission issue surfaced. We are encountering a 403 error. Sections of the output regarding the bower tests are highlighted below:
// Output snippet showcasing errors related to proxy/permission issues from the buildserver
...