Giter VIP home page Giter VIP logo

fullstackproltd / aspnetcorespa Goto Github PK

View Code? Open in Web Editor NEW
1.5K 136.0 461.0 17.91 MB

Asp.Net 7.0 & Angular 15 SPA Fullstack application with plenty of examples. Live demo:

Home Page: https://aspnetcorespa.fullstackpro.co.uk

License: MIT License

TypeScript 9.88% HTML 4.72% CSS 0.09% C# 84.78% JavaScript 0.07% PowerShell 0.14% Dockerfile 0.12% Batchfile 0.05% SCSS 0.15%
aspnetcore angular-cli efcore best-practices spa compodoc aspnetcorespa typescript globalization security

aspnetcorespa's Introduction

Actions Status Web Actions Status STS Build Status Build status MIT license

Features

Pre-requisites

  1. .Net 7.0 SDK
  2. Visual studio 2019 OR VSCode with C# extension
  3. NodeJs (Latest LTS)
  4. Microsoft SQL Server (Optional: If MS SQL server required instead of Sqlite during development)
  5. Docker (Optional: If application will run inside docker container)

Installation

  1. Clone the repo:

    git clone https://github.com/asadsahi/AspNetCoreSpa

  2. Change directory:

    cd AspNetCoreSpa

  3. Restore packages:

    dotnet restore AspNetCoreSpa.sln

  4. Install npm packages:

    • cd src/Presentation/Web/ClientApp:

    • npm install

  5. Start Frontend:

    • npm start
  6. Run Backend:

    • Using VSCode:

      • If you are running for the first time, install dev certificates using command:
      dotnet dev-certs https --trust
      
      • From debug menu select Web profile to run api application
      • From debug menu select STS profile to run Identity Server application
    • Using Visual Studio IDE:

      • Run Web and STS projects either individually or by setting multiple projects in solutions properties and hit F5
  7. Target either Sqlite or Microsoft SQL Server

This project supports both databases OOTB.

  • Run with Sqlite: (Already configured to quickly run the project)

    • Project is already setup with Sqlite specific database migrations
  • Run with Microsoft SQL Server:

    • Delete Migrations folder from src/Infrastructure/Infrastructure/Persistence
    • Change setting in appsettings.json called useSqLite from true to false and change Web connection string to your local Sql Server connection string
  1. Once the project is running use following test users to login:

    2 Test users: Username: [email protected] Password: P@ssw0rd! OR Username: [email protected] Password: P@ssw0rd!

    Note: For production use Identity server hosted with appropriate configuration.

Managing Migrations

Make sure you have ef core global tools installed

dotnet tool install --global dotnet-ef

Web Migrations

Using command line (from root of the project)

Create Migration

dotnet ef migrations add migrationname --startup-project ./src/Presentation/Web --project ./src/Infrastructure/Infrastructure --context ApplicationDbContext -o Persistence/Migrations

Update database

dotnet ef database update --startup-project ./src/Presentation/Web --project ./src/Infrastructure/Infrastructure --context ApplicationDbContext

Drop database

dotnet ef database drop --startup-project ./src/Presentation/Web --project ./src/Infrastructure/Infrastructure --context ApplicationDbContext

Localization Migrations

Using command line (from root of the project)

Create Migration

dotnet ef migrations add migrationname --startup-project ./src/Presentation/Web --project ./src/Infrastructure/Infrastructure --context LocalizationDbContext -o Localization/Migrations

Update database

dotnet ef database update --startup-project ./src/Presentation/Web --project ./src/Infrastructure/Infrastructure --context LocalizationDbContext

Drop database

dotnet ef database drop --startup-project ./src/Presentation/Web --project ./src/Infrastructure/Infrastructure --context LocalizationDbContext

Identity Migrations

Using command line (from root of the project)

Create Migration

dotnet ef migrations add migrationname --startup-project ./src/Presentation/STS --project ./src/Infrastructure/Infrastructure --context IdentityServerDbContext -o Identity/Migrations

Update database

dotnet ef database update --startup-project ./src/Presentation/STS --project ./src/Infrastructure/Infrastructure --context IdentityServerDbContext

Drop database

dotnet ef database drop --startup-project ./src/Presentation/STS --project ./src/Infrastructure/Infrastructure --context IdentityServerDbContext

Other commands

Angular component scaffolding

Note: You need to run commands from src/Presentation/Web/ClientApp directory: More information here

Angular tests - Using Jest and Angular jest preset

cd src/Presentation/Web/ClientApp

npm test

Compodoc Angular documentation

  • Steps to generate:
    • npm i compodoc -g
    • cd src/Presentation/Web/ClientApp
    • npm run compodoc
    • cd documentation
    • http-server

Compodoc documentation: alt text

### run end-to-end tests
```bash
# make sure you have your server running in another terminal (i.e run "dotnet run" command)
npm run e2e

run Protractor's elementExplorer (for end-to-end)

npm run webdriver:start
# in another terminal
npm run e2e:live

Azure Deploy

  • You can set an environment variable for azure app deployment password Set-Item -path env:AzureAppPass -value passwordhere
From powershell:
./deploy-azure.ps1

Deploy to heroku using its container service

Replace your app name where it is aspnetcorespa

  • dotnet publish -c release
  • docker build -t aspnetcorespa ./bin/release/net7.0/publish
  • heroku login
  • heroku container:login
  • docker tag aspnetcorespa registry.heroku.com/aspnetcorespa/web
  • docker push registry.heroku.com/aspnetcorespa/web Note: There is a deploy.heroku.ps1 script included with this project which automates above steps.

Deploy to Azure as App Service

Set-Item -path env:AzureAppPass -value passwordhere

From powershell:
./deploy-azure.ps1

paypal

aspnetcorespa's People

Contributors

asadsahi avatar asadsahilg avatar chris-house avatar fullstack-pro avatar hampzter avatar heightpi avatar kmiskiewicz avatar lecksc avatar martinoss avatar razzeee avatar slang123 avatar trojaner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aspnetcorespa's Issues

build scripts not working

I guess ... config/webpack.dev.config.js ... needs to be ... config config/webpack.config.js ... and the environment variable has to be set in the command aswell.
Otherwise the configurations will not be merged.

Where to add custom CSS

Hi,

I have based a project on this template as it is exceptionally easy to understand. However, I am wanting to add in a 3rd party library and CSS - called DevExtreme by DevExpress.

I have added their package into the package.json file so that it gets downloaded by NPM - success.
I have added the control into the HTML file - success.
I have added the import into the TS file - success.

However, the appears is not correct as I am not sure of the best place to include their CSS files. I have tried various things with the webpack files and when I did managed to get their controls to appear correct, the bootstrap css doesn't appear to work.

Do you have an example of how to configure this template for 3rd party CSS and libraries. Many thanks

Typings installation fails

typings install fail with following error:

Unable to read typings for "angular2-beta-to-rc-alias". You should check the entry paths in "typings.d.ts" are up to date

{
"globalDependencies": {
"angular2-beta-to-rc-alias": "file:./node_modules/@AngularClass/angular2-beta-to-rc-alias/src/beta-17/typings.d.ts",
"es6-collections": "registry:dt/es6-collections#0.5.1+20160316155526",
"require": "registry:dt/require#2.1.20+20160316155526",
"sinon": "registry:dt/sinon#1.16.0+20160517064723"
}
}

I guess it's because @AngularClass is not present in package.json. I'll check it.

Invalid configuration object.

i'm getting this error after i

npm run build:vendor

C:\websites\AspNetCoreSpa>npm run build:vendor

[email protected] build:vendor C:\websites\AspNetCoreSpa
node node_modules/webpack/bin/webpack.js --config config/webpack.config.vendor.js

Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.

  • configuration.resolve.extensions[0] should not be empty.

Cannot read property '0' of undefined

Hi,

I just cloned your repo. Went through the steps in the readme. Hit F5. Got the following error under configure() where webpackdevmiddleware is registered.

System.AggregateException was unhandled by user code
HResult=-2146233088
Message=One or more errors occurred. (Call to Node module failed with error: TypeError: Cannot read property '0' of undefined
at ExternalModuleFactoryPlugin. (C:\Users\tyson\Source\Repos\AspNetCoreSpa\node_modules\webpack\lib\ExternalModuleFactoryPlugin.js:18:38)
at C:\Users\tyson\node_modules\webpack\lib\NormalModuleFactory.js:159:3
at NormalModuleFactory.applyPluginsAsyncWaterfall (C:\Users\tyson\node_modules\tapable\lib\Tapable.js:75:69)
at NormalModuleFactory.create (C:\Users\tyson\node_modules\webpack\lib\NormalModuleFactory.js:144:8)
at C:\Users\tyson\node_modules\webpack\lib\Compilation.js:214:11
at C:\Users\tyson\node_modules\async\lib\async.js:181:20
at Object.async.forEachOf.async.eachOf (C:\Users\tyson\node_modules\async\lib\async.js:233:13)
at Object.async.forEach.async.each (C:\Users\tyson\node_modules\async\lib\async.js:209:22)
at Compilation.addModuleDependencies (C:\Users\tyson\node_modules\webpack\lib\Compilation.js:185:8)
at Compilation.processModuleDependencies (C:\Users\tyson\node_modules\webpack\lib\Compilation.js:170:7))
Source=System.Private.CoreLib
StackTrace:
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at Microsoft.AspNetCore.Builder.WebpackDevMiddleware.UseWebpackDevMiddleware(IApplicationBuilder appBuilder, WebpackDevMiddlewareOptions options) at AspNetCoreSpa.Startup.<Configure>d__7.MoveNext() in C:\Users\tyson\Source\Repos\AspNetCoreSpa\Startup.cs:line 162 InnerException: HResult=-2146233088 Message=Call to Node module failed with error: TypeError: Cannot read property '0' of undefined at ExternalModuleFactoryPlugin.<anonymous> (C:\Users\tyson\Source\Repos\AspNetCoreSpa\node_modules\webpack\lib\ExternalModuleFactoryPlugin.js:18:38) at C:\Users\tyson\node_modules\webpack\lib\NormalModuleFactory.js:159:3 at NormalModuleFactory.applyPluginsAsyncWaterfall (C:\Users\tyson\node_modules\tapable\lib\Tapable.js:75:69) at NormalModuleFactory.create (C:\Users\tyson\node_modules\webpack\lib\NormalModuleFactory.js:144:8) at C:\Users\tyson\node_modules\webpack\lib\Compilation.js:214:11 at C:\Users\tyson\node_modules\async\lib\async.js:181:20 at Object.async.forEachOf.async.eachOf (C:\Users\tyson\node_modules\async\lib\async.js:233:13) at Object.async.forEach.async.each (C:\Users\tyson\node_modules\async\lib\async.js:209:22) at Compilation.addModuleDependencies (C:\Users\tyson\node_modules\webpack\lib\Compilation.js:185:8) at Compilation.processModuleDependencies (C:\Users\tyson\node_modules\webpack\lib\Compilation.js:170:7) Source=Microsoft.AspNetCore.NodeServices StackTrace: at Microsoft.AspNetCore.NodeServices.HostingModels.HttpNodeInstance.<InvokeExportAsync>d__71.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter1.GetResult() at Microsoft.AspNetCore.NodeServices.HostingModels.OutOfProcessNodeInstance.<InvokeExportAsync>d__131.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter1.GetResult() at Microsoft.AspNetCore.NodeServices.NodeServicesImpl.<InvokeExportWithPossibleRetryAsync>d__101.MoveNext()
InnerException:

Any tips to fix?
Cheers
Tyson

Adding NPM packages

This question is similar to the previous question…

I'm still struggling with WebPack? I thought an example may help me understand better…

I would like to add a modal view to the application. There is a bunch to choose from but I have selected "https://www.npmjs.com/package/ng2-bs4-modal". I'm struggling how to include this package into the application and I was wondering if you would show me/us be example?

Would you please consider adding this package and publishing an update so that the process can be better understood?

TIA

watch and compile on fly problem

I tried "npm run dev" and "donet watch run" and when I tried to modify a component template (just html part) but the page doesnet get update on executing F5 in the browser and nothing logged in the commandline console.

I have to execute npm run build:prod then donet watch run each time I modify something.

It is possible that I am not executing the correct script?

Thanks

karma tests

cannot get tests to run.

I used npm run test and get the following errors:

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs
node_modules\npm\bin\npm-cli.js" "run" "tslint" "Client/**/.ts"
npm ERR! node v4.4.7
npm ERR! npm v2.15.8
npm ERR! code ELIFECYCLE
npm ERR! [email protected] tslint: tslint "Client/**/_.ts"
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the [email protected] tslint script 'tslint "Client/__/_.ts
"'.
npm ERR! This is most likely a problem with the aspnetnetcore package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! tslint "Client/
/.ts"
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs aspnetnetcore
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls aspnetnetcore
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! C:\Users\housec\Downloads\AspNetCoreSpa-master (1)\AspNetCoreSpa-ma
ster\npm-debug.log

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs
node_modules\npm\bin\npm-cli.js" "run" "lint"
npm ERR! node v4.4.7
npm ERR! npm v2.15.8
npm ERR! code ELIFECYCLE
npm ERR! [email protected] lint: npm run tslint "Client/**/*.ts"
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] lint script 'npm run tslint "Client/*
/.ts"'.
npm ERR! This is most likely a problem with the aspnetnetcore package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! npm run tslint "Client/*/.ts"
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs aspnetnetcore
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls aspnetnetcore
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! C:\Users\housec\Downloads\AspNetCoreSpa-master (1)\AspNetCoreSpa-ma
ster\npm-debug.log

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\housec\AppData
\Roaming\npm\node_modules\npm\bin\npm-cli.js" "run" "test"
npm ERR! node v4.4.7
npm ERR! npm v3.10.5
npm ERR! code ELIFECYCLE
npm ERR! [email protected] pretest: npm run lint
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] pretest script 'npm run lint'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the aspnetnetcore package
,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! npm run lint
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs aspnetnetcore
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls aspnetnetcore
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! C:\Users\housec\Downloads\AspNetCoreSpa-master (1)\AspNetCoreSpa-ma
ster\npm-debug.log

Server Side Rendering

Hi @asadsahi
Your template is really great, thanks for the hard work!
The only thing missing would be SSR. Do you think it's possible to implement it like this?
Kind Regards,
Michael

Typescript Issue??

If you open api-gateway.service.ts and look at line 102
I get the error "Supplied parameters do not match any signature of call target"

I suspect this issue only came to light after the last commit?

dotnet run : no such file

[Node] { [Error: ENOENT: no such file or directory, open 'C:\GIT\asad\AspNetCoreSpa\typings\globals\angular-protractor\index.d.ts']

there is no angular-protractor folder

Project doesn't run

We get follow error:
The program '[13320] dotnet.exe' has exited with code -2147450751 (0x80008081).

and where we can find the database: Data Source=AspNetCoreSpa.db ?

We have done everything according to instructions.

My SQL Server Express experience

I changed the database engine to SQL Server Express by
(a) Changing the DefaultConnection in appsettings.json
(b) Changing the ApplicationDBContext options in Startup.cs to UseSQLServer (instead of UseSQLLite).

I found I had to make the following changes to your entities to enable SeedData to work with SQL Express.

  public class Language : IEntityBase
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.None)]
        public int Id { get; set; }
      …
     }

    public class Content : IEntityBase
    {
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.None)]
        public int Id { get; set; }
        …
     }

ie9&10&11 support

I noticed that your demo don't work on IE. Could you tell me why?
Isn't it related to ES6 support?

thx

Live Demo not working

I tried accessing the live demo for this application but found an error on the page.

Right align not showing correctly on Menu items

Since this update was published the register, login & logout menu items (pull-md-right) sits on the left hand side of the page. This can also be seen on your live version. What has changed?

publish options for a production build

I am trying to create a production build with publish and CI but in the project.json file there is the publishoptions:

"publishOptions": {
"include": [
"appsettings.json",
"Client",
"Views",
"tsconfig.json",
"web.config",
"config",
"wwwroot"
]
},

For a production build, can I simple use:

"publishOptions": {
"include": [
"appsettings.json",
"tsconfig.json",
"web.config",
"wwwroot"
]
},

lint is failing

If I run tsling "Client/*/.ts" it runs fine, but does show lint cleanup issues that still need work, but no error. If I run npm run lint or npm run ci, I get the following error messages.

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs
node_modules\npm\bin\npm-cli.js" "run" "tslint" "Client/**/.ts"
npm ERR! node v4.4.7
npm ERR! npm v2.15.8
npm ERR! code ELIFECYCLE
npm ERR! [email protected] tslint: tslint "Client/**/_.ts"
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the [email protected] tslint script 'tslint "Client/__/_.t
"'.
npm ERR! This is most likely a problem with the aspnetnetcore package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! tslint "Client/
/.ts"
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs aspnetnetcore
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls aspnetnetcore
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! C:\dev\angular2\AspNetCoreSpa\npm-debug.log

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs
node_modules\npm\bin\npm-cli.js" "run" "lint"
npm ERR! node v4.4.7
npm ERR! npm v2.15.8
npm ERR! code ELIFECYCLE
npm ERR! [email protected] lint: npm run tslint "Client/**/*.ts"
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] lint script 'npm run tslint "Client/
/.ts"'.
npm ERR! This is most likely a problem with the aspnetnetcore package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! npm run tslint "Client/*/.ts"
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs aspnetnetcore
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls aspnetnetcore
npm ERR! There is likely additional logging output above.

npm run docs error

cannot generate docs. this is due to an issue in tsconfig. if you remove the comment the docs generate. Im opening an issue for a paper trail. will add the fix to my pull request

Unable to get AOT working

I tried "npm run build:aot" and then "dotnet run". Its having errors in console log that vendor.css is missing. Am I missing something?

Thanks!

JWT or Cookies authentication?

In single page applications JWT makes more sense to me. Just wanted to hear from people what they want in this project? JWT or Cookies based authentication?

Right now we have Cookies authentication implemented.

testing not working. update the spec-bundle.js file

npm run test is failing.
They of course changed alot of stuff in zone and rc6.
Change the spec-bundle.js file to:

/**
 * @author: @AngularClass
 */

/*
 * When testing with webpack and ES6, we have to do some extra
 * things to get testing to work right. Because we are gonna write tests
 * in ES6 too, we have to compile those as well. That's handled in
 * karma.conf.js with the karma-webpack plugin. This is the entry
 * file for webpack test. Just like webpack will create a bundle.js
 * file for our client, when we run test, it will compile and bundle them
 * all here! Crazy huh. So we need to do some setup
 */
Error.stackTraceLimit = Infinity;

require('core-js/es6');
require('core-js/es7/reflect');

// Typescript emit helpers polyfill
require('ts-helpers');

require('zone.js/dist/zone');
require('zone.js/dist/long-stack-trace-zone');
require('zone.js/dist/proxy'); // since zone.js 0.6.15
require('zone.js/dist/sync-test');
require('zone.js/dist/jasmine-patch'); // put here since zone.js 0.6.14
require('zone.js/dist/async-test');
require('zone.js/dist/fake-async-test');

// RxJS
require('rxjs/Rx');

var testing = require('@angular/core/testing');
var browser = require('@angular/platform-browser-dynamic/testing');

testing.TestBed.initTestEnvironment(
  browser.BrowserDynamicTestingModule,
  browser.platformBrowserDynamicTesting()
);

/*
 * Ok, this is kinda crazy. We can use the context method on
 * require that webpack created in order to tell webpack
 * what files we actually want to require or import.
 * Below, context will be a function/object with file names as keys.
 * Using that regex we are saying look in ../src then find
 * any file that ends with spec.ts and get its path. By passing in true
 * we say do this recursively
 */
var testContext = require.context('../Client', true, /\.spec\.ts/);

/*
 * get all the files, for each file, call the context function
 * that will require the file and load it up here. Context will
 * loop and require those spec files here
 */
function requireAll(requireContext) {
    return requireContext.keys().map(requireContext);
}

// requires and returns all modules that match
var modules = requireAll(testContext);

Control changes

export class ControlCheckbox extends ControlBase<string>  //  s/b boolean
export class ControlTextbox extends ControlBase<Boolean>  // s/b string

Example site not working 100%

  • Register button never becomes enabled and no validation messages are shown
  • Trying to log in with any of the external services throws a http 500 error
  • Animation example also does not do anything for go

WebAPI integration

Do you consider WebAPI integration instead of MVC?
One advantage of WebAPI is; it is built for single page angular2 projects, mobile apps, etc.

Some issues i have found.

Dear,

I got some issues when running your template.
1/ External login not working (please give some guide on how to setup the login on google or facebook, the guide from Microsoft is old)
2/ Maybe DbSeed not running. nothing on database.
3/ Change namespace and dll name -> IIS express could not be run with visual studio.

  • Can i switch to Mysql database?

Viet Anh,
Cheers

Error: Cannot find file: "coverage/coverage.json"

Running on Windows 10, Node 6.9.2, NPM 3.10.9.
Cloned the repo and followed installation instructions with no problem. When I run the 'npm run test' command, it produces the following output and errors out:

F:\github\asadsahi\AspNetCoreSpa>npm run test

[email protected] pretest F:\github\asadsahi\AspNetCoreSpa
npm run lint

[email protected] lint F:\github\asadsahi\AspNetCoreSpa
npm run tslint "Client/**/*.ts"

[email protected] tslint F:\github\asadsahi\AspNetCoreSpa
tslint "Client/**/*.ts"

[email protected] test F:\github\asadsahi\AspNetCoreSpa
karma start

START:

webpack: bundle is now VALID.
webpack: bundle is now INVALID.

[at-loader] Using [email protected] from typescript and "tsconfig.json" from F:\github\asadsahi\AspNetCoreSpa/tsconfig.json.

[at-loader] Checking started in a separate process...

[at-loader] Ok, 0.751 sec.

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (250 kB).
This can impact web performance.
Assets:
config/spec-bundle.js (9.34 MB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (250 kB). This can impact web performance.
Entrypoints:
config/spec-bundle.js (9.34 MB)
config/spec-bundle.js

WARNING in webpack performance recommendations:
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/
webpack: bundle is now VALID.
03 01 2017 12:12:48.201:INFO [karma]: Karma v1.3.0 server started at http://localhost:9876/
03 01 2017 12:12:48.203:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
03 01 2017 12:12:48.376:INFO [launcher]: Starting browser PhantomJS
03 01 2017 12:12:49.814:INFO [PhantomJS 2.1.1 (Windows 8 0.0.0)]: Connected on socket /#bOpsUzgrVTxxWcz_AAAA with id 15427442
  Component: Animation
    √ should create an instance
  Component: ExamplesHome
    √ should create an instance
  Component: Examples
    √ should create an instance
  Component: Typeahead
    √ should create an instance
  Login Model
    √ has email
    √ has password
    √ has rememberMe
  Register Model
    √ has email
    √ has password
    √ has username
  Component: PageNotFound
    √ should create an instance
  x-large directive
    √ should sent font-size to x-large
  User Model
    √ has displayName
    √ has displayName
  Pipe appfUppercase
    √ transforms "abc" to "ABC"
    √ transforms "abc def" to "ABC DEF"
    √ leaves "ABC DEF" unchanged

Finished in 0.031 secs / 0.246 secs

SUMMARY:
√ 17 tests completed

> [email protected] posttest F:\github\asadsahi\AspNetCoreSpa
> npm run coverage


> [email protected] coverage F:\github\asadsahi\AspNetCoreSpa
> npm run coverage:remap && npm run coverage:report


> [email protected] coverage:remap F:\github\asadsahi\AspNetCoreSpa
> remap-istanbul -i coverage/coverage.json -o coverage/coverage.json -t json -e node_modules

Error: Cannot find file: "coverage/coverage.json"
    at readJSON (F:\github\asadsahi\AspNetCoreSpa\node_modules\remap-istanbul\lib\loadCoverage.js:27:10)
    at F:\github\asadsahi\AspNetCoreSpa\node_modules\remap-istanbul\lib\loadCoverage.js:41:18
    at Array.forEach (native)
    at loadCoverage (F:\github\asadsahi\AspNetCoreSpa\node_modules\remap-istanbul\lib\loadCoverage.js:40:11)
    at F:\github\asadsahi\AspNetCoreSpa\node_modules\remap-istanbul\bin\remap-istanbul:118:38
    at main (F:\github\asadsahi\AspNetCoreSpa\node_modules\remap-istanbul\bin\remap-istanbul:117:9)
    at Object.<anonymous> (F:\github\asadsahi\AspNetCoreSpa\node_modules\remap-istanbul\bin\remap-istanbul:163:2)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)

> [email protected] coverage:report F:\github\asadsahi\AspNetCoreSpa
> istanbul report

Done

The actual coverage/coverage.json file is generated, but it only contains brackets {} and nothing more.

version script calls non-existent build script

This is more a question, than an issue.

In package.json there is a "version" script which calls "npm run build." No build script exists in the project, so an error occurs. I have encountered this in other packages, is this an intentional omission or should there be a build script present?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.