- ASP.NET Core
- Entity Framework Core
- Angular 2.4.3 Final & Typescript 2
- Webpack 2
- Bootstrap 4 (SASS) & ng-bootstrap
- Testing Angular 2 code with Jasmine and Karma.
- End-to-end Angular 2 code using Protractor.
- Istanbul for test coverage
- with Remap Istanbul for remapping Javascript to TypeScript coverage
- Type manager with Typings
- Typedoc for typescript documentation
- Serilog with Seq support to manage structured logging.
- Swagger as Api explorer (Visit url http://localhost:5000/swagger/ui after running the application)
- Server and client watches
- HMR (Hot Module Replacement) with Webpack
- Angular 2 dynamic forms for reusability and to keep html code DRY.
- Webpack DLL support for fast rebuilds (~ < 0.5 second)
- Lazy loading of all routes, child routes
- .Net core sdk
- Either VSCode with C# extension OR Visual studio 2015 update 4 with .Net Core tooling
- Nodejs
Make sure you have Node version >= 6.0 and NPM >= 3
1. Clone the repo
git clone https://github.com/jpwiddy/NgDotNetCore
2. Change directory to our repo
cd NgDotNetCore
3. dotnet restore
4. Install global dependencies
npm install --global webpack typescript protractor rimraf
5. npm install
Note: On Windows machines (Visual Studio 15), there tends to be issues with the `node-sass` plugin
if VS automagically installs your node dependencies for you. TLDR it'll be complaining about
architecture not matching bindings. If this is the case, please do the following:
> rm node_modules # or just delete then manually via file browser
> npm install # manually install deps
> npm rebuild node-sass
6. Create webpack vendor manifest file for fast webpack rebuilds
For Development:
> npm run build:dev
For Production:
> npm run build:prod
8. Run the app:
Note: To setup Development build with HMR, first run in dev console-
Windows:
`set ASPNETCORE_ENVIRONMENT=Development`
*nix/OSX:
`export ASPNETCORE_ENVIRONMENT=Development`
Two ways to run:
1) `dotnet run` (for single run) OR `dotnet watch run` (in watch mode)
2) Just F5 key if you are using VS code editor or Visual Studio IDE
9. Browse using http://localhost:5000 or http://localhost:5001
npm run test
# this will also create coverage remaped to typescript files in coverage folder after test run completes
npm run watch:test
npm run docs
# this will create documentation in doc folder at the root location (open index.html file)
# make sure you have your server running in another terminal (i.e run "dotnet run" command)
# AND make sure your webdrivers are updated
npm run e2e
npm run webdriver:update
npm run webdriver:start
npm run webdriver:start
# in another terminal
npm run e2e:live