_Layout.cshtml: Changed "Development" environment for css and js to m… #1676

Open
wants to merge 4 commits into
from

Projects

None yet

3 participants

@dcbrewster
Contributor

…atch production. Now pages in the multiple environments look alike.

site.css - fixed error with "a:not". ":not" is only allow 1 selector. Broke original declaration into two.

@dcbrewster dcbrewster _Layout.cshtml: Changed "Development" environment for css and js to m…
…atch production. Now pages in the multiple environments look alike.

site.css - fixed error with "a:not". ":not" is only allow 1 selector. Broke original declaration into two.
0d2cae8
@dpaquette dpaquette self-requested a review Dec 30, 2016
@tonysurma
Member

@dpaquette did you get a chance to review?

@dpaquette
Collaborator

Not yet. I will review this tonight

@dpaquette

Thanks for the contribution @dcbrewster

I do have a couple of comments / questions regarding this PR.

  1. We typically want to reference the local scripts when running in the development environment and use the CDNs (with local fallbacks) in Staging and Production. If the two environments are exactly the same then we wouldn't need the tag helper. What prompted this change?

  2. This PR includes changes to a couple JavaScript files that seem unrelated to the PR. Where these files accidently included?

  3. I suggested a minor change to the CSS rule that was modified.

@@ -2,107 +2,107 @@
(function (HTBox) {
var EventDetailAdmin = (function () {
function EventDetailAdmin() {
- $("#messageVolunteersModal").on("show.bs.modal", function (e) {
+ $('#messageVolunteersModal').on('show.bs.modal', function (e) {
@dpaquette
dpaquette Jan 2, 2017 Collaborator

The changes to this file and taskDetails.js seem to be unrelated to the pull request

@dcbrewster
dcbrewster Jan 2, 2017 Contributor

These two files should not have been included. There are the solution to issue 1411 which I wanted to commit after this pull was accepted. Will commit them later.

text-decoration: none;
color: #ab6627;
}
+a:not(.btn) {
@dpaquette
dpaquette Jan 2, 2017 Collaborator

These could be combined to a single rule which would avoid duplicating the values:

a:not(.unvolunteer),
a:not(.btn) {
    text-decoration: none; 
     color: #ab6627; 
}
@dcbrewster
dcbrewster Jan 2, 2017 Contributor

Better

</environment>
<environment names="Staging,Production">
<script src="//ajax.aspnetcdn.com/ajax/jquery/jquery-2.1.4.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery">
</script>
+ <script src="//cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.js"></script>
@dpaquette
dpaquette Jan 2, 2017 Collaborator

Needs asp-fallback-src and asp-fallback-test attributes. See the CDNs and Fallbacks section here: http://www.davepaquette.com/archive/2015/05/06/link-and-script-tag-helpers-in-mvc6.aspx

@dcbrewster
dcbrewster Jan 3, 2017 Contributor

While working on issue 1411, I was having a lot problems with the differences between the "Development" environment and "Staging". There were bower problems with tether, knockout and others not building properly or being located in a "dist" directory.

I put the two environments in the same order in order to be able to identify any variances or omissions. Tether was not included in the "Development" environment. Using CDN's with fallback helps to insure developers can accurately recreate issues.

@tonysurma
Member

Thanks @dcbrewster for the contribution. @dpaquette have you reviewed the updates?

@dcbrewster
Contributor
dcbrewster commented Jan 6, 2017 edited

@dpaquette and @tonysurma
This is the user experience when we clone the current allReady repository. This experience is why I have suggested the changes to the “Development” environment in _Layout.cshtml.

At this point no changes have been made to the source code. The project is loaded into Visual Studio 2015 and all packages (Nuget and Bower) restored. The initial execution of the code results in the following:

Navigation Menu
menu

Right off the bat you can see that the navigation menu does not display properly. This has been the case since at least the beginning of December 2016.

Loading of index.cshtml for the first time.
This is the debug log from Firefox for the above screen. A number of errors are highlighted.

GET http://localhost:48408/lib/font-awesome/css/font-awesome.css [HTTP/1.1 200 OK 131ms]
GET http://localhost:48408/lib/bootstrap-tagsinput/src/bootstrap-tagsinput.css [HTTP/1.1 200 OK 123ms]
GET http://localhost:48408/css/site.css [HTTP/1.1 200 OK 73ms]
GET http://localhost:48408/lib/fullcalendar/dist/fullcalendar.css [HTTP/1.1 302 Redirect 229ms]
GET http://localhost:48408/images/Web-Logo-small.png [HTTP/1.1 200 OK 502ms]
GET http://localhost:48408/images/Web-Logo.png [HTTP/1.1 200 OK 524ms]
GET http://localhost:48408/images/blog-small.png [HTTP/1.1 200 OK 527ms]
GET http://localhost:48408/images/fb-small.png [HTTP/1.1 200 OK 532ms]
GET http://localhost:48408/images/twitter-small.png [HTTP/1.1 200 OK 579ms]
GET http://localhost:48408/images/youtube-small.png [HTTP/1.1 200 OK 613ms]
GET http://localhost:48408/lib/jquery/dist/jquery.js [HTTP/1.1 200 OK 432ms]
GET http://localhost:48408/lib/bootstrap/dist/js/bootstrap.js [HTTP/1.1 200 OK 303ms]
GET http://localhost:48408/lib/bootstrap-toggle/js/bootstrap-toggle.js [HTTP/1.1 200 OK 378ms]
GET http://localhost:48408/lib/knockout/dist/knockout.js [HTTP/1.1 302 Redirect 373ms]
Headers
Response
Response body was not stored.
Knockout.js does not exist at location

GET http://localhost:48408/lib/moment/moment.js [HTTP/1.1 200 OK 334ms]
GET http://localhost:48408/lib/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js [HTTP/1.1 200 OK 443ms]
GET http://localhost:48408/lib/tota11y/build/tota11y.js [HTTP/1.1 200 OK 751ms]
GET http://localhost:48408/lib/tinymce/tinymce.js [HTTP/1.1 200 OK 1189ms]
GET http://localhost:48408/lib/bootstrap-tagsinput/dist/bootstrap-tagsinput.js [HTTP/1.1 200 OK 474ms]
GET http://localhost:48408/lib/d3/d3.js [HTTP/1.1 200 OK 793ms]
GET http://localhost:48408/lib/jquery.maskedinput/dist/jquery.maskedinput.js [HTTP/1.1 200 OK 639ms]
GET http://localhost:48408/lib/fullcalendar/dist/fullcalendar.js [HTTP/1.1 302 Redirect 759ms]
GET http://localhost:48408/lib/knockout-bootstrap/src/knockout-bootstrap.js [HTTP/1.1 200 OK 649ms]
GET http://localhost:48408/js/site.js [HTTP/1.1 200 OK 824ms]
GET http://localhost:48408/js/ko.filterableList.js [HTTP/1.1 200 OK 824ms]
GET http://localhost:48408/js/ko.validation.js [HTTP/1.1 200 OK 842ms]
Missing closing ‘)’ in negation pseudo-class ‘,’. Ruleset ignored due to bad selector. site.css:52:18
CSS error fixed by pull request.

Unknown property ‘-moz-border-radius’. Declaration dropped. site.css:251:22
Expected ‘none’, URL, or filter function but found ‘progid’. Error in parsing value for ‘filter’. Declaration dropped. site.css:711:12
Unknown property ‘-moz-osx-font-smoothing’. Declaration dropped. font-awesome.css:20:25
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’. Ruleset ignored due to bad selector. bootstrap-tagsinput.css:28:40
Unknown pseudo-class or pseudo-element ‘-webkit-input-placeholder’. Ruleset ignored due to bad selector. bootstrap-tagsinput.css:31:41
Error in parsing value for ‘-webkit-text-size-adjust’. Declaration dropped. bootstrap.css:12:28
Unknown pseudo-class or pseudo-element ‘-webkit-inner-spin-button’. Ruleset ignored due to bad selector. bootstrap.css:210:17
Unknown pseudo-class or pseudo-element ‘-webkit-search-cancel-button’. Ruleset ignored due to bad selector. bootstrap.css:220:17
Unknown pseudo-class or pseudo-element ‘-webkit-file-upload-button’. Ruleset ignored due to bad selector. bootstrap.css:225:2
Unknown property ‘orphans’. Declaration dropped. bootstrap.css:292:11
Unknown property ‘widows’. Declaration dropped. bootstrap.css:293:10
Expected color but found ‘auto’. Expected color but found ‘-webkit-focus-ring-color’. Expected end of value but found ‘-webkit-focus-ring-color’. Error in parsing value for ‘outline’. Declaration dropped. bootstrap.css:416:15
Unknown property ‘touch-action’. Declaration dropped. bootstrap.css:462:18
Expected color but found ‘auto’. Expected color but found ‘-webkit-focus-ring-color’. Expected end of value but found ‘-webkit-focus-ring-color’. Error in parsing value for ‘outline’. Declaration dropped. bootstrap.css:489:15
Unknown pseudo-class or pseudo-element ‘-ms-expand’. Ruleset ignored due to bad selector. bootstrap.css:2049:15
Unknown pseudo-class or pseudo-element ‘-webkit-input-placeholder’. Ruleset ignored due to bad selector. bootstrap.css:2061:15
Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’. Ruleset ignored due to bad selector. bootstrap.css:2071:14
Unknown pseudo-class or pseudo-element ‘placeholder’. Ruleset ignored due to bad selector. bootstrap.css:2076:15
Unknown pseudo-class or pseudo-element ‘-ms-value’. Ruleset ignored due to bad selector. bootstrap.css:2094:27
Unknown property ‘user-select’. Declaration dropped. bootstrap.css:2379:21
Expected color but found ‘auto’. Expected color but found ‘-webkit-focus-ring-color’. Expected end of value but found ‘-webkit-focus-ring-color’. Error in parsing value for ‘outline’. Declaration dropped. bootstrap.css:2390:15
Expected ‘none’, URL, or filter function but found ‘"progid:DXImageTransform.Microsoft.gradient(enabled = false)"’. Error in parsing value for ‘filter’. Declaration dropped. bootstrap.css:3126:10
Unknown property ‘user-select’. Declaration dropped. bootstrap.css:3565:21
Expected end of value but found ‘\9 ’. Error in parsing value for ‘padding-right’. Declaration dropped. bootstrap.css:3608:25
Expected end of value but found ‘\9 ’. Error in parsing value for ‘background-image’. Declaration dropped. bootstrap.css:3612:25
Unknown pseudo-class or pseudo-element ‘-ms-value’. Ruleset ignored due to bad selector. bootstrap.css:3626:22
Unknown pseudo-class or pseudo-element ‘-ms-expand’. Ruleset ignored due to bad selector. bootstrap.css:3637:16
Expected ‘none’, URL, or filter function but found ‘alpha(’. Error in parsing value for ‘filter’. Declaration dropped. bootstrap.css:3660:10
Unknown property ‘user-select’. Declaration dropped. bootstrap.css:3677:21
Error in parsing value for ‘position’. Declaration dropped. bootstrap.css:3890:12
Unknown property ‘column-count’. Declaration dropped. bootstrap.css:4531:24
Unknown property ‘column-gap’. Declaration dropped. bootstrap.css:4534:22
Unknown property ‘appearance’. Declaration dropped. bootstrap.css:4891:20
Unknown pseudo-class or pseudo-element ‘-ms-fill’. Ruleset ignored due to bad selector. bootstrap.css:4895:18
Unknown pseudo-class or pseudo-element ‘-webkit-progress-value’. Ruleset ignored due to bad selector. bootstrap.css:4904:18
Unknown pseudo-class or pseudo-element ‘-webkit-progress-bar’. Ruleset ignored due to bad selector. bootstrap.css:4908:18
Found invalid value for media feature. bootstrap.css:4917:30
Unknown pseudo-class or pseudo-element ‘-webkit-progress-value’. Ruleset ignored due to bad selector. bootstrap.css:4930:26
Unknown pseudo-class or pseudo-element ‘-ms-fill’. Ruleset ignored due to bad selector. bootstrap.css:4942:26
Found invalid value for media feature. bootstrap.css:4947:30
Error in parsing value for ‘background-image’. Declaration dropped. bootstrap.css:4950:22
Unknown pseudo-class or pseudo-element ‘-webkit-progress-value’. Ruleset ignored due to bad selector. bootstrap.css:4957:27
Found invalid value for media feature. bootstrap.css:4966:30
Unknown pseudo-class or pseudo-element ‘-webkit-progress-value’. Ruleset ignored due to bad selector. bootstrap.css:4974:26
Unknown pseudo-class or pseudo-element ‘-ms-fill’. Ruleset ignored due to bad selector. bootstrap.css:4982:26
Found invalid value for media feature. bootstrap.css:4986:30
Unknown pseudo-class or pseudo-element ‘-webkit-progress-value’. Ruleset ignored due to bad selector. bootstrap.css:4992:23
Unknown pseudo-class or pseudo-element ‘-ms-fill’. Ruleset ignored due to bad selector. bootstrap.css:5000:23
Found invalid value for media feature. bootstrap.css:5004:30
Unknown pseudo-class or pseudo-element ‘-webkit-progress-value’. Ruleset ignored due to bad selector. bootstrap.css:5010:26
Unknown pseudo-class or pseudo-element ‘-ms-fill’. Ruleset ignored due to bad selector. bootstrap.css:5018:26
Found invalid value for media feature. bootstrap.css:5022:30
Unknown pseudo-class or pseudo-element ‘-webkit-progress-value’. Ruleset ignored due to bad selector. bootstrap.css:5028:25
Unknown pseudo-class or pseudo-element ‘-ms-fill’. Ruleset ignored due to bad selector. bootstrap.css:5036:25
Found invalid value for media feature. bootstrap.css:5040:30
Unknown property ‘line-break’. Declaration dropped. bootstrap.css:5527:12
Unknown property ‘line-break’. Declaration dropped. bootstrap.css:5631:12
Error in parsing value for ‘background-image’. Declaration dropped. bootstrap.css:5917:20
Expected ‘none’, URL, or filter function but found ‘progid’. Error in parsing value for ‘filter’. Declaration dropped. bootstrap.css:5920:10
Error in parsing value for ‘background-image’. Declaration dropped. bootstrap.css:5928:20
Expected ‘none’, URL, or filter function but found ‘progid’. Error in parsing value for ‘filter’. Declaration dropped. bootstrap.css:5931:10
Error in parsing value for ‘display’. Declaration dropped. bootstrap.css:6205:11
Error in parsing value for ‘display’. Declaration dropped. bootstrap.css:6231:13
Error in parsing value for ‘display’. Declaration dropped. bootstrap.css:6258:13
Error in parsing value for ‘display’. Declaration dropped. bootstrap.css:6285:13
Error in parsing value for ‘display’. Declaration dropped. bootstrap.css:6312:13
GET http://localhost:48408/Error/Error404 [HTTP/1.1 200 OK 1831ms]
The stylesheet http://localhost:48408/Error/Error404 was not loaded because its MIME type, “text/html”, is not “text/css”. localhost:48408
GET http://localhost:48408/Error/Error404 [HTTP/1.1 200 OK 199ms]
Error: Bootstrap tooltips require Tether (http://tether.io/) bootstrap.js:2730:11
Tether must be loaded before bootstrap – fixed by pull request

SyntaxError: expected expression, got '<'[Learn More] knockout.js:1
GET http://localhost:48408/Error/Error404 [HTTP/1.1 200 OK 170ms]
Unknown property ‘user-select’. Declaration dropped. localhost:48408:9:21
Unknown property ‘user-select’. Declaration dropped. localhost:48408:17:21
Unknown property ‘user-select’. Declaration dropped. localhost:48408:168:21
Unknown property ‘user-select’. Declaration dropped. localhost:48408:15:21
SyntaxError: expected expression, got '<'[Learn More] fullcalendar.js:1
TypeError: koObject is undefined[Learn More] knockout-bootstrap.js:33:5
ReferenceError: ko is not defined[Learn More] ko.filterableList.js:5:1
ReferenceError: ko is not defined[Learn More] ko.validation.js:3:1

After the packages have been stored, Nuget (37) and Bower(11) still indicate there are a number of updates that can be applied.

bower.json before applying any updates:
{
"name": "AllReady",
"private": true,
"version": "1.0.0",
"description": "AllReady",
"dependencies": {
"bootstrap": "~3.3.5",
"bootstrap-toggle": "2.2.1",
"eonasdan-bootstrap-datetimepicker": "4.17.42",
"bootstrap-touch-carousel": "0.8.0",
"hammer.js": "2.0.4",
"jquery": "2.1.4",
"jquery-validation": "1.11.1",
"jquery-validation-unobtrusive": "3.2.2",
"font-awesome": "4.3.0",
"knockout": "3.3.0",
"knockout-bootstrap": "0.3.2",
"knockout-mapping" : "2.4.1",
"moment": "2.10.6",
"tota11y": "0.1.2",
"tinymce": "4.2.6",
"bootstrap-tagsinput": "0.6.1",
"d3": "3.5.9",
"jquery.maskedinput": "1.4.1",
"system.js": "0.19.26",
"fullcalendar": "2.9.1"
}
}

_Layout.cshtml
Example of problems:
The production environment indicates that jquery (version: 2.1.4) should be used and bower.json indicates the same thing.
In actual fact the version loaded by Visual Studio is 3.1.1.
The “Development” environment should not be allowed to move ahead of production unless required by the particular functionality being developed.
There is a way (not tested by me) that should restrict the version level to which bower will upgrade. I have no idea how this is done via Nuget.
The problem with jquery is repeated for a number of packages.

Manage Bower Packages (in Visual Studio)
Bower indicates that there is an update available for jquery and 10 other packages. It indicates that we can update to version 2.2.3 even though we know that we already have 3.1.1 in development.
Update button is selected and the following output is generated:
PATH=.\node_modules.bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\git
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\Bower.cmd" install jquery#2.2.3 --force-latest --save
PATH=.\node_modules.bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\git
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\Bower.cmd" install jquery#2.2.3 --force-latest --save
bower jquery#2.2.3 cached https://github.com/jquery/jquery-dist.git#2.2.3
bower jquery#2.2.3 cached https://github.com/jquery/jquery-dist.git#2.2.3
bower jquery#2.2.3 validate 2.2.3 against https://github.com/jquery/jquery-dist.git#2.2.3
bower jquery#2.2.3 validate 2.2.3 against https://github.com/jquery/jquery-dist.git#2.2.3
bower jquery#1.9.1 - 3 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#1.9.1 - 3 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#1.9.1 - 3
bower jquery#>=1.8 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>=1.8 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>=1.8
bower jquery#>= 1.9.1 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>= 1.9.1 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>= 1.9.1
bower jquery#>= 1.7.2 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>= 1.7.2 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>= 1.7.2
bower jquery#>=1.8.3 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>=1.8.3 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>=1.8.3
bower jquery#>=1.7 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>=1.7 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>=1.7
bower jquery#>=2.0.0 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>=2.0.0 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>=2.0.0
bower jquery#~2.1.1 cached https://github.com/jquery/jquery-dist.git#2.1.4
bower jquery#~2.1.1 validate 2.1.4 against https://github.com/jquery/jquery-dist.git#~2.1.1
Please note that,
AllReady depends on jquery#2.1.4 which resolved to jquery#2.1.4
bootstrap-tagsinput#0.6.1 depends on jquery#~2.1.1 which resolved to jquery#2.1.4
none depends on jquery#2.2.3 which resolved to jquery#2.2.3
bootstrap#3.3.7 depends on jquery#1.9.1 - 3 which resolved to jquery#3.1.1
jquery-validation-unobtrusive#3.2.2 depends on jquery#>=1.8 which resolved to jquery#3.1.1
knockout-bootstrap#0.3.2 depends on jquery#>= 1.9.1 which resolved to jquery#3.1.1
jquery-validation#1.11.1 depends on jquery#>= 1.7.2 which resolved to jquery#3.1.1
eonasdan-bootstrap-datetimepicker#4.17.42 depends on jquery#>=1.8.3 which resolved to jquery#3.1.1
typeahead.js#0.11.1 depends on jquery#>=1.7 which resolved to jquery#3.1.1
fullcalendar#2.9.1 depends on jquery#>=2.0.0 which resolved to jquery#3.1.1
Resort to using jquery# which resolved to jquery#3.1.1
Code incompatibilities may occur.
bower jquery resolution Saved jquery#>=2.0.0 as resolution
bower jquery#>=2.0.0 install jquery#3.1.1
bower jquery#>=1.8.3 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>=1.8.3 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>=1.8.3
bower jquery#1.9.1 - 3 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#1.9.1 - 3 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#1.9.1 - 3
bower jquery#>= 1.7.2 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>= 1.7.2 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>= 1.7.2
bower jquery#>= 1.9.1 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>= 1.9.1 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>= 1.9.1
bower jquery#~2.1.1 cached https://github.com/jquery/jquery-dist.git#2.1.4
bower jquery#~2.1.1 validate 2.1.4 against https://github.com/jquery/jquery-dist.git#~2.1.1
bower jquery#>=1.8 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>=1.8 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>=1.8
bower jquery#>=1.7 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>=1.7 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>=1.7
bower jquery#>=2.0.0 cached https://github.com/jquery/jquery-dist.git#3.1.1
bower jquery#>=2.0.0 validate 3.1.1 against https://github.com/jquery/jquery-dist.git#>=2.0.0
Please note that,
AllReady depends on jquery#2.1.4 which resolved to jquery#2.1.4
bootstrap-tagsinput#0.6.1 depends on jquery#~2.1.1 which resolved to jquery#2.1.4
none depends on jquery#2.2.3 which resolved to jquery#2.2.3
eonasdan-bootstrap-datetimepicker#4.17.42 depends on jquery#>=1.8.3 which resolved to jquery#3.1.1
bootstrap#3.3.7 depends on jquery#1.9.1 - 3 which resolved to jquery#3.1.1
jquery-validation#1.11.1 depends on jquery#>= 1.7.2 which resolved to jquery#3.1.1
knockout-bootstrap#0.3.2 depends on jquery#>= 1.9.1 which resolved to jquery#3.1.1
jquery-validation-unobtrusive#3.2.2 depends on jquery#>=1.8 which resolved to jquery#3.1.1
typeahead.js#0.11.1 depends on jquery#>=1.7 which resolved to jquery#3.1.1
fullcalendar#2.9.1 depends on jquery#>=2.0.0 which resolved to jquery#3.1.1
Resort to using jquery# which resolved to jquery#3.1.1
Code incompatibilities may occur.
bower jquery resolution Saved jquery#>=2.0.0 as resolution
bower jquery#>=2.0.0 install jquery#3.1.1
jquery#3.1.1 wwwroot\lib\jquery
jquery#3.1.1 wwwroot\lib\jquery

The version of jquery remains at 3.1.1 but Bower still indicates that an update to 2.2.3 is still available.
If you repeatedly apply updates to different packages, you can finally get bower to indicate that all updates have been applied.

With all of these problems, there is little confidence that the source code is accurate, the developer can find the actual problem (of the assigned issue) or make the proper modifications.

Hope this helps.

Dave

@dpaquette
Collaborator

Thanks @dcbrewster. We clearly have some cleanup to do with our client side packages.

The typical new developer workflow should not involve updating Bower (or NuGet) packages. A developer should only need to do a restore which should happen automatically. I think that is part of the reason things have gotten confused and why the menus are not working as expected. For example, Tether is only required for Bootstrap 4. AllReady uses Bootstrap 3 so you shouldn't get that error message.

I don't think changing the development version to reference the CDN packages solves that problem. We have some work to do but I think this should be tracked as a separate issue and more thought needs to be put in to the packages we are referencing and how we are going to resolve to a particular version of jQuery.

I will review the workflow and ensure a better "out-of-box" experience for new developers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment