Also, added more UrlChecks to the MVC app so it checks all its dependencies.
Plus minor bugs/missing code in docker-compose.pro.yml that was evolved in the .override.yml
Controllers/AccountController:
Replace single line methods with expression bodied members.
Includes constructor, C# 7 feature.
Controllers/CatalogController:
Remove unnecessary ToString() call.
Replace single line methods with expression bodied members.
Extensions/HttpClientExtensions:
Replace single line methods with expression bodied members.
Extensions/SessionExtensions:
Replace single line methods with expression bodied members.
Services/BasketService:
Remove unnecessary ToString() calls.
Add ?? to simplify conditional initialization
Use TryGetValue and out variable initialization to simplify Quantity
calculation
Services/CatalogService:
Use Value<T> generic method instead of dynamic types.
There is a lot of overhead for dynamic and it seems overkill here.
Services/IdentityParser:
Use the pattern matching is expression.
Refactor the LINQ queries to enumerate the collection (and create an
enumerator)
only once. The previous code had 3 enumerations.
Services/Utilities/HttpApiClient:
Remove the 'async' modifier and 'await' statements from methods where
the only asynchronous statement is the final statement of the method,
and
the task from the underlying method can be returned.
Services/Utilities/HttpApiClientWrapper:
Use expression bodied members where applicable.
Remove the 'async' modifier and 'await' statements from methods where
the only asynchronous statement is the final statement of the method,
and
the task from the underlying method can be returned.
ViewComponents/Cart:
Use expression bodied members where applicable.
ViewComponents/CartList:
Use expression bodied members where applicable.
Remove the 'async' modifier and 'await' statements from methods where
the only asynchronous statement is the final statement of the method,
and
the task from the underlying method can be returned.
ViewModels/Annotations/CardExpiration:
Use the out variable initializer to simplify the validation of the
card expiration date.
ViewModels/Basket:
Use property initializer syntax instead of constructor body
ViewModels/CatalogViewModels/IndexViewModel:
Use expression bodied property to return the calculated 'Disabled'
property
ViewModels/Order:
Use property initializer syntax.
- upgrade BundlerMinifier.Core dependencies (fixes a globbing bug)
- ensure minification includes all css
- only copy what's needed in production to the publish directory
Until adding these, the project would not build correctly on a Mac.
script working for SPA
Add execute permissions to build-bits.sh on macOS
fix a rebase / automatic merge issue.
Somehow, the MVC image got in there twice.
update content nodes
Bug workaround for for the CLI. It turns out that the CLI does not
handle content nodes that have multiple paths. Instead, multiple nodes
are needed.
use the standard names for the web docker images.
fix a typo and update the csproj content listings.
Also, execute nom install as part of publishing the spa application.