mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-23 10:08:57 +00:00
Compare commits
34 Commits
rel/2.0.0-
...
aspnet-web
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
117c1a6cbd | ||
|
|
53f5a77490 | ||
|
|
5fd9b93324 | ||
|
|
55bd0c05cb | ||
|
|
f9068819be | ||
|
|
85bf621386 | ||
|
|
bc7742148e | ||
|
|
4ceed817a3 | ||
|
|
6d85e752e1 | ||
|
|
460f202832 | ||
|
|
73054559cc | ||
|
|
d007a3fbba | ||
|
|
fcd3cf9dd7 | ||
|
|
48bca777fe | ||
|
|
aadcfa1fb7 | ||
|
|
f683b39806 | ||
|
|
ed7e07a057 | ||
|
|
749d112b08 | ||
|
|
90922fb3c6 | ||
|
|
bcb359e355 | ||
|
|
a7a3a359fa | ||
|
|
627da65692 | ||
|
|
67ba6271a0 | ||
|
|
32d9bdee6c | ||
|
|
e50d4825c3 | ||
|
|
06c94d54eb | ||
|
|
3685592b01 | ||
|
|
2acdad38cd | ||
|
|
e331355c1d | ||
|
|
d8c0bd8898 | ||
|
|
0626bb1594 | ||
|
|
d9e75c89ae | ||
|
|
ebe9d8ae92 | ||
|
|
d42cd10975 |
@@ -94,7 +94,7 @@ If you're interested in contributing to the various packages, samples, and proje
|
|||||||
* Run `dotnet restore` at the repo root dir
|
* Run `dotnet restore` at the repo root dir
|
||||||
* Go to whatever sample or template you want to run (for example, `cd templates/AngularSpa`)
|
* Go to whatever sample or template you want to run (for example, `cd templates/AngularSpa`)
|
||||||
* Restore NPM dependencies (run `npm install`)
|
* Restore NPM dependencies (run `npm install`)
|
||||||
* If the sample/template you're trying to run has a file called `webpack.config.vendor.js` at its root, run `webpack --config webpack.config.vendor.js`. It it has a file called `webpack.config.js`, run `webpack` (no args). You might need to install webpack first, by running `npm install -g webpack`.
|
* If the sample/template you're trying to run has a file called `webpack.config.vendor.js` at its root, run `webpack --config webpack.config.vendor.js`. If it has a file called `webpack.config.js`, run `webpack` (no args). You might need to install webpack first, by running `npm install -g webpack`.
|
||||||
* Launch it (`dotnet run`)
|
* Launch it (`dotnet run`)
|
||||||
|
|
||||||
If you're planning to submit a pull request, and if it's more than a trivial fix (for example, for a typo), it's usually a good idea first to file an issue describing what you're proposing to do and how it will work. Then you can find out if it's likely that such a pull request will be accepted, and how it fits into wider ongoing plans.
|
If you're planning to submit a pull request, and if it's more than a trivial fix (for example, for a typo), it's usually a good idea first to file an issue describing what you're proposing to do and how it will work. Then you can find out if it's likely that such a pull request will be accepted, and how it fits into wider ongoing plans.
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ init:
|
|||||||
install:
|
install:
|
||||||
- ps: Install-Product node 6.9.2 x64
|
- ps: Install-Product node 6.9.2 x64
|
||||||
# .NET Core SDK binaries
|
# .NET Core SDK binaries
|
||||||
# Download .NET Core 2.0 Preview 1 SDK and add to PATH
|
# Download .NET Core 2.0 Preview 2 SDK and add to PATH
|
||||||
- ps: $urlCurrent = "https://download.microsoft.com/download/0/6/5/0656B047-5F2F-4281-A851-F30776F8616D/dotnet-dev-win-x64.2.0.0-preview1-005977.zip"
|
- ps: $urlCurrent = "https://dotnetcli.azureedge.net/dotnet/Sdk/2.0.0-preview2-006497/dotnet-sdk-2.0.0-preview2-006497-win-x64.zip"
|
||||||
- ps: $env:DOTNET_INSTALL_DIR = "$pwd\.dotnetsdk"
|
- ps: $env:DOTNET_INSTALL_DIR = "$pwd\.dotnetsdk"
|
||||||
- ps: mkdir $env:DOTNET_INSTALL_DIR -Force | Out-Null
|
- ps: mkdir $env:DOTNET_INSTALL_DIR -Force | Out-Null
|
||||||
- ps: $tempFileCurrent = [System.IO.Path]::GetTempFileName()
|
- ps: $tempFileCurrent = [System.IO.Path]::GetTempFileName()
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ cd $PSScriptRoot
|
|||||||
$repoFolder = $PSScriptRoot
|
$repoFolder = $PSScriptRoot
|
||||||
$env:REPO_FOLDER = $repoFolder
|
$env:REPO_FOLDER = $repoFolder
|
||||||
|
|
||||||
$koreBuildZip="https://github.com/aspnet/KoreBuild/archive/rel/2.0.0-preview2.zip"
|
$koreBuildZip="https://github.com/aspnet/KoreBuild/archive/dev.zip"
|
||||||
if ($env:KOREBUILD_ZIP)
|
if ($env:KOREBUILD_ZIP)
|
||||||
{
|
{
|
||||||
$koreBuildZip=$env:KOREBUILD_ZIP
|
$koreBuildZip=$env:KOREBUILD_ZIP
|
||||||
|
|||||||
2
build.sh
2
build.sh
@@ -2,7 +2,7 @@
|
|||||||
repoFolder="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
repoFolder="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
cd $repoFolder
|
cd $repoFolder
|
||||||
|
|
||||||
koreBuildZip="https://github.com/aspnet/KoreBuild/archive/rel/2.0.0-preview2.zip"
|
koreBuildZip="https://github.com/aspnet/KoreBuild/archive/dev.zip"
|
||||||
if [ ! -z $KOREBUILD_ZIP ]; then
|
if [ ! -z $KOREBUILD_ZIP ]; then
|
||||||
koreBuildZip=$KOREBUILD_ZIP
|
koreBuildZip=$KOREBUILD_ZIP
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(TargetFrameworkIdentifier)'=='.NETFramework'">
|
<ItemGroup Condition="'$(TargetFrameworkIdentifier)'=='.NETFramework'">
|
||||||
<PackageReference Include="NETStandard.Library" Version="$(BundledNETStandardPackageVersion)" />
|
<PackageReference Include="NETStandard.Library" Version="$(NETStandardImplicitPackageVersion)" />
|
||||||
<PackageReference Include="NETStandard.Library.NETFramework" Version="$(NETStandardLibraryNETFrameworkVersion)" />
|
<PackageReference Include="NETStandard.Library.NETFramework" Version="$(NETStandardLibraryNETFrameworkVersion)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<AspNetCoreVersion>2.0.0-preview2-*</AspNetCoreVersion>
|
<AspNetCoreVersion>2.0.0-*</AspNetCoreVersion>
|
||||||
<AutoMapperVersion>5.0.2</AutoMapperVersion>
|
<AutoMapperVersion>5.0.2</AutoMapperVersion>
|
||||||
<InternalAspNetCoreSdkVersion>2.1.0-*</InternalAspNetCoreSdkVersion>
|
<InternalAspNetCoreSdkVersion>2.1.0-*</InternalAspNetCoreSdkVersion>
|
||||||
<JsonNetVersion>10.0.1</JsonNetVersion>
|
<JsonNetVersion>10.0.1</JsonNetVersion>
|
||||||
<NETStandardImplicitPackageVersion>$(BundledNETStandardPackageVersion)</NETStandardImplicitPackageVersion>
|
<NETStandardImplicitPackageVersion>2.0.0-*</NETStandardImplicitPackageVersion>
|
||||||
<NETStandardLibraryNETFrameworkVersion>2.0.0-*</NETStandardLibraryNETFrameworkVersion>
|
<NETStandardLibraryNETFrameworkVersion>2.0.0-*</NETStandardLibraryNETFrameworkVersion>
|
||||||
<RuntimeFrameworkVersion Condition="'$(TargetFramework)'=='netcoreapp2.0'">2.0.0-*</RuntimeFrameworkVersion>
|
<RuntimeFrameworkVersion Condition="'$(TargetFramework)'=='netcoreapp2.0'">2.0.0-*</RuntimeFrameworkVersion>
|
||||||
<ThreadingDataflowVersion>4.7.0</ThreadingDataflowVersion>
|
<ThreadingDataflowVersion>4.8.0-*</ThreadingDataflowVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -67,8 +67,10 @@ namespace Microsoft.AspNetCore.NodeServices.HostingModels
|
|||||||
if (!response.IsSuccessStatusCode)
|
if (!response.IsSuccessStatusCode)
|
||||||
{
|
{
|
||||||
// Unfortunately there's no true way to cancel ReadAsStringAsync calls, hence AbandonIfCancelled
|
// Unfortunately there's no true way to cancel ReadAsStringAsync calls, hence AbandonIfCancelled
|
||||||
var responseErrorString = await response.Content.ReadAsStringAsync().OrThrowOnCancellation(cancellationToken);
|
var responseJson = await response.Content.ReadAsStringAsync().OrThrowOnCancellation(cancellationToken);
|
||||||
throw new Exception("Call to Node module failed with error: " + responseErrorString);
|
var responseError = JsonConvert.DeserializeObject<RpcJsonResponse>(responseJson, jsonSerializerSettings);
|
||||||
|
|
||||||
|
throw new NodeInvocationException(responseError.ErrorMessage, responseError.ErrorDetails);
|
||||||
}
|
}
|
||||||
|
|
||||||
var responseContentType = response.Content.Headers.ContentType;
|
var responseContentType = response.Content.Headers.ContentType;
|
||||||
@@ -136,5 +138,13 @@ namespace Microsoft.AspNetCore.NodeServices.HostingModels
|
|||||||
_disposed = true;
|
_disposed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma warning disable 649 // These properties are populated via JSON deserialization
|
||||||
|
private class RpcJsonResponse
|
||||||
|
{
|
||||||
|
public string ErrorMessage { get; set; }
|
||||||
|
public string ErrorDetails { get; set; }
|
||||||
|
}
|
||||||
|
#pragma warning restore 649
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,5 +86,8 @@ function readRequestBodyAsJson(request, callback) {
|
|||||||
|
|
||||||
function respondWithError(res: http.ServerResponse, errorValue: any) {
|
function respondWithError(res: http.ServerResponse, errorValue: any) {
|
||||||
res.statusCode = 500;
|
res.statusCode = 500;
|
||||||
res.end(errorValue.stack || errorValue.toString());
|
res.end(JSON.stringify({
|
||||||
|
errorMessage: errorValue.message || errorValue,
|
||||||
|
errorDetails: errorValue.stack || null
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ Behind the scenes, it uses the [`Microsoft.AspNetCore.NodeServices`](https://git
|
|||||||
|
|
||||||
### Installation into existing projects
|
### Installation into existing projects
|
||||||
|
|
||||||
* Add `Microsoft.AspNetCore.SpaServices` to the dependencies list in your `project.json` file
|
* Install the `Microsoft.AspNetCore.SpaServices` NuGet package
|
||||||
* Run `dotnet restore` (or if you use Visual Studio, just wait a moment - it will restore dependencies automatically)
|
* Run `dotnet restore` (or if you use Visual Studio, just wait a moment - it will restore dependencies automatically)
|
||||||
* Install supporting NPM packages for the features you'll be using:
|
* Install supporting NPM packages for the features you'll be using:
|
||||||
* For **server-side prerendering**, install `aspnet-prerendering`
|
* For **server-side prerendering**, install `aspnet-prerendering`
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "aspnet-prerendering",
|
"name": "aspnet-prerendering",
|
||||||
"version": "2.0.5",
|
"version": "2.0.6",
|
||||||
"description": "Helpers for server-side rendering of JavaScript applications in ASP.NET Core projects. Works in conjunction with the Microsoft.AspNetCore.SpaServices NuGet package.",
|
"description": "Helpers for server-side rendering of JavaScript applications in ASP.NET Core projects. Works in conjunction with the Microsoft.AspNetCore.SpaServices NuGet package.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
/// <reference path="./PrerenderingInterfaces.d.ts" />
|
|
||||||
import * as url from 'url';
|
import * as url from 'url';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as domain from 'domain';
|
import * as domain from 'domain';
|
||||||
import { run as domainTaskRun, baseUrl as domainTaskBaseUrl } from 'domain-task/main';
|
import { run as domainTaskRun, baseUrl as domainTaskBaseUrl } from 'domain-task/main';
|
||||||
|
import { BootFunc, BootFuncParams, BootModuleInfo, RenderToStringCallback, RenderToStringFunc } from './PrerenderingInterfaces';
|
||||||
|
|
||||||
const defaultTimeoutMilliseconds = 30 * 1000;
|
const defaultTimeoutMilliseconds = 30 * 1000;
|
||||||
|
|
||||||
|
|||||||
@@ -1,26 +1,28 @@
|
|||||||
interface RenderToStringFunc {
|
export interface RenderToStringFunc {
|
||||||
(callback: RenderToStringCallback, applicationBasePath: string, bootModule: BootModuleInfo, absoluteRequestUrl: string, requestPathAndQuery: string, customDataParameter: any, overrideTimeoutMilliseconds: number, requestPathBase: string): void;
|
(callback: RenderToStringCallback, applicationBasePath: string, bootModule: BootModuleInfo, absoluteRequestUrl: string, requestPathAndQuery: string, customDataParameter: any, overrideTimeoutMilliseconds: number, requestPathBase: string): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface RenderToStringCallback {
|
export interface RenderToStringCallback {
|
||||||
(error: any, result?: RenderToStringResult): void;
|
(error: any, result?: RenderResult): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface RenderToStringResult {
|
export interface RenderToStringResult {
|
||||||
html: string;
|
html: string;
|
||||||
statusCode?: number;
|
statusCode?: number;
|
||||||
globals?: { [key: string]: any };
|
globals?: { [key: string]: any };
|
||||||
}
|
}
|
||||||
|
|
||||||
interface RedirectResult {
|
export interface RedirectResult {
|
||||||
redirectUrl: string;
|
redirectUrl: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface BootFunc {
|
export type RenderResult = RenderToStringResult | RedirectResult;
|
||||||
(params: BootFuncParams): Promise<RenderToStringResult>;
|
|
||||||
|
export interface BootFunc {
|
||||||
|
(params: BootFuncParams): Promise<RenderResult>;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface BootFuncParams {
|
export interface BootFuncParams {
|
||||||
location: any; // e.g., Location object containing information '/some/path'
|
location: any; // e.g., Location object containing information '/some/path'
|
||||||
origin: string; // e.g., 'https://example.com:1234'
|
origin: string; // e.g., 'https://example.com:1234'
|
||||||
url: string; // e.g., '/some/path'
|
url: string; // e.g., '/some/path'
|
||||||
@@ -30,7 +32,7 @@ interface BootFuncParams {
|
|||||||
data: any; // any custom object passed through from .NET
|
data: any; // any custom object passed through from .NET
|
||||||
}
|
}
|
||||||
|
|
||||||
interface BootModuleInfo {
|
export interface BootModuleInfo {
|
||||||
moduleName: string;
|
moduleName: string;
|
||||||
exportName?: string;
|
exportName?: string;
|
||||||
webpackConfig?: string;
|
webpackConfig?: string;
|
||||||
@@ -1,5 +1,2 @@
|
|||||||
/// <reference path="./PrerenderingInterfaces.d.ts" />
|
|
||||||
|
|
||||||
export * from './Prerendering';
|
export * from './Prerendering';
|
||||||
|
export * from './PrerenderingInterfaces';
|
||||||
export type RenderResult = RenderToStringResult | RedirectResult;
|
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "aspnet-webpack-react",
|
"name": "aspnet-webpack-react",
|
||||||
"version": "2.0.0",
|
"version": "2.0.1",
|
||||||
"description": "Helpers for using Webpack with React in ASP.NET Core projects. Works in conjunction with the Microsoft.AspNetCore.SpaServices NuGet package.",
|
"description": "Helpers for using Webpack with React in ASP.NET Core projects. Works in conjunction with the Microsoft.AspNetCore.SpaServices NuGet package.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"prepublish": "rimraf *.d.ts && tsc && echo 'Finished building NPM package \"aspnet-webpack-react\"'",
|
"prepublish": "rimraf *.d.ts && tsc && echo 'Finished building NPM package \"aspnet-webpack-react\"'",
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
|
"postinstall": "node scripts/postinstall.js"
|
||||||
},
|
},
|
||||||
"author": "Microsoft",
|
"author": "Microsoft",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
@@ -16,8 +17,12 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/aspnet/JavaScriptServices.git"
|
"url": "https://github.com/aspnet/JavaScriptServices.git"
|
||||||
},
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@types/webpack": "2.2.15",
|
||||||
|
"hjson": "2.4.3"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/webpack": "^2.2.0",
|
"@types/react": "15.0.29",
|
||||||
"rimraf": "^2.5.4",
|
"rimraf": "^2.5.4",
|
||||||
"typescript": "^2.0.0",
|
"typescript": "^2.0.0",
|
||||||
"webpack": "^2.2.0"
|
"webpack": "^2.2.0"
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
var fs = require('fs');
|
||||||
|
var path = require('path');
|
||||||
|
var Hjson = require('hjson');
|
||||||
|
|
||||||
|
// This logic is a workaround for #1066.
|
||||||
|
// See the comment in index.ts for details.
|
||||||
|
|
||||||
|
function findInDirOrAncestor(targetFilename, rootDir) {
|
||||||
|
var candidateFilename = path.join(rootDir, targetFilename);
|
||||||
|
if (fs.existsSync(candidateFilename)) {
|
||||||
|
return candidateFilename;
|
||||||
|
}
|
||||||
|
|
||||||
|
var parentDir = path.join(rootDir, '..');
|
||||||
|
return parentDir !== rootDir ? findInDirOrAncestor(targetFilename, parentDir) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function findTsConfigFile() {
|
||||||
|
var rootDir = path.join(__dirname, '..', '..'); // Start 2 levels up because this package has a tsconfig file of its own
|
||||||
|
var tsConfigFile = 'tsconfig.json';
|
||||||
|
var tsConfigFileName = findInDirOrAncestor(tsConfigFile, rootDir);
|
||||||
|
if (!tsConfigFileName) {
|
||||||
|
console.error('Could not locate ' + tsConfigFile + ' in ' + rootDir + ' or any ancestor directory.');
|
||||||
|
}
|
||||||
|
return tsConfigFileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
function ensureTsConfigContainsTypesEntry(packageName) {
|
||||||
|
var tsConfigFileName = findTsConfigFile();
|
||||||
|
if (tsConfigFileName) {
|
||||||
|
var parsedTsConfig = Hjson.rt.parse(fs.readFileSync(tsConfigFileName, 'utf8'));
|
||||||
|
parsedTsConfig.compilerOptions = parsedTsConfig.compilerOptions || {};
|
||||||
|
parsedTsConfig.compilerOptions.types = parsedTsConfig.compilerOptions.types || [];
|
||||||
|
|
||||||
|
if (parsedTsConfig.compilerOptions.types.indexOf(packageName) < 0) {
|
||||||
|
parsedTsConfig.compilerOptions.types.push(packageName);
|
||||||
|
|
||||||
|
var hjsonOptions = {
|
||||||
|
bracesSameLine: true,
|
||||||
|
multiline: 'off',
|
||||||
|
quotes: 'all',
|
||||||
|
separator: true,
|
||||||
|
space: 2
|
||||||
|
};
|
||||||
|
fs.writeFileSync(tsConfigFileName, Hjson.rt.stringify(parsedTsConfig, hjsonOptions), 'utf8');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
ensureTsConfigContainsTypesEntry('aspnet-webpack-react');
|
||||||
|
} catch(ex) {
|
||||||
|
console.error(ex);
|
||||||
|
process.exit(0); // Don't break installation
|
||||||
|
}
|
||||||
@@ -4,3 +4,23 @@ export { addReactHotModuleReplacementConfig } from './HotModuleReplacement';
|
|||||||
// compatibility with aspnet-webpack 1.x. In aspnet-webpack 2.0, we can drop the old name (and also deprecate
|
// compatibility with aspnet-webpack 1.x. In aspnet-webpack 2.0, we can drop the old name (and also deprecate
|
||||||
// some other no-longer-supported functionality, such as LoadViaWebpack).
|
// some other no-longer-supported functionality, such as LoadViaWebpack).
|
||||||
export { addReactHotModuleReplacementConfig as addReactHotModuleReplacementBabelTransform } from './HotModuleReplacement';
|
export { addReactHotModuleReplacementConfig as addReactHotModuleReplacementBabelTransform } from './HotModuleReplacement';
|
||||||
|
|
||||||
|
// Workaround for #1066
|
||||||
|
//
|
||||||
|
// The issue is that @types/react-router@4.0.12 is incompatible with @types/react@15.0.29
|
||||||
|
// This is a problem because the ReactReduxSpa template that ships in 2.0.0-preview2 is pinned
|
||||||
|
// to @types/react@15.0.29 but does *not* declare a direct dependency on @types/react-router,
|
||||||
|
// which means we end up grabbing the latest @types/react-router.
|
||||||
|
//
|
||||||
|
// The temporary solution is for aspnet-webpack-react to add the following extra type information
|
||||||
|
// that patches the compatibility issue. The longer-term solution will be for the templates to
|
||||||
|
// pin versions of *every* package in the transitive closure, not just their direct dependencies.
|
||||||
|
//
|
||||||
|
// Note that for this workaround to work, the developer also needs 'aspnet-webpack-react' to be
|
||||||
|
// present in the 'types' array in tsconfig.json. We automate the task of adding that in the
|
||||||
|
// scripts/postinstall.js file in this package. Later, that action can be removed.
|
||||||
|
|
||||||
|
import * as React from 'react';
|
||||||
|
declare module 'react' {
|
||||||
|
interface Component<P, S={}> {}
|
||||||
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"target": "es5",
|
"target": "es5",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"outDir": ".",
|
"outDir": ".",
|
||||||
"lib": ["es2015"]
|
"lib": ["dom", "es2015"]
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"src/index.ts"
|
"src/index.ts"
|
||||||
|
|||||||
3037
templates/AngularSpa/npm-shrinkwrap.json
generated
3037
templates/AngularSpa/npm-shrinkwrap.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "WebApplicationBasic",
|
"name": "WebApplicationBasic",
|
||||||
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "karma start ClientApp/test/karma.conf.js"
|
"test": "karma start ClientApp/test/karma.conf.js"
|
||||||
|
|||||||
2615
templates/AureliaSpa/npm-shrinkwrap.json
generated
2615
templates/AureliaSpa/npm-shrinkwrap.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "WebApplicationBasic",
|
"name": "WebApplicationBasic",
|
||||||
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"aurelia-bootstrapper": "^2.0.1",
|
"aurelia-bootstrapper": "^2.0.1",
|
||||||
|
|||||||
2503
templates/KnockoutSpa/npm-shrinkwrap.json
generated
2503
templates/KnockoutSpa/npm-shrinkwrap.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "WebApplicationBasic",
|
"name": "WebApplicationBasic",
|
||||||
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/core-js": "^0.9.34",
|
"@types/core-js": "^0.9.34",
|
||||||
|
|||||||
2271
templates/ReactReduxSpa/npm-shrinkwrap.json
generated
2271
templates/ReactReduxSpa/npm-shrinkwrap.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,19 +1,19 @@
|
|||||||
{
|
{
|
||||||
"name": "WebApplicationBasic",
|
"name": "WebApplicationBasic",
|
||||||
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/history": "4.5.1",
|
"@types/history": "4.5.1",
|
||||||
"@types/react": "15.0.24",
|
"@types/react": "15.0.29",
|
||||||
"@types/react-dom": "15.5.0",
|
"@types/react-dom": "15.5.0",
|
||||||
"@types/react-redux": "4.4.40",
|
"@types/react-redux": "4.4.40",
|
||||||
"@types/react-router": "4.0.11",
|
|
||||||
"@types/react-router-dom": "4.0.4",
|
"@types/react-router-dom": "4.0.4",
|
||||||
"@types/react-router-redux": "5.0.1",
|
"@types/react-router-redux": "5.0.1",
|
||||||
"@types/webpack": "2.2.15",
|
"@types/webpack": "2.2.15",
|
||||||
"@types/webpack-env": "1.13.0",
|
"@types/webpack-env": "1.13.0",
|
||||||
"aspnet-prerendering": "^2.0.5",
|
"aspnet-prerendering": "^2.0.5",
|
||||||
"aspnet-webpack": "^1.0.29",
|
"aspnet-webpack": "^1.0.29",
|
||||||
"aspnet-webpack-react": "^3.0.0-beta",
|
"aspnet-webpack-react": "^2.0.0",
|
||||||
"awesome-typescript-loader": "3.1.3",
|
"awesome-typescript-loader": "3.1.3",
|
||||||
"bootstrap": "3.3.7",
|
"bootstrap": "3.3.7",
|
||||||
"css-loader": "0.28.1",
|
"css-loader": "0.28.1",
|
||||||
|
|||||||
2587
templates/ReactSpa/npm-shrinkwrap.json
generated
2587
templates/ReactSpa/npm-shrinkwrap.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,14 +1,15 @@
|
|||||||
{
|
{
|
||||||
"name": "WebApplicationBasic",
|
"name": "WebApplicationBasic",
|
||||||
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/history": "4.5.1",
|
"@types/history": "4.5.1",
|
||||||
"@types/react": "15.0.24",
|
"@types/react": "15.0.29",
|
||||||
"@types/react-dom": "15.5.0",
|
"@types/react-dom": "15.5.0",
|
||||||
"@types/react-router": "4.0.9",
|
"@types/react-router": "4.0.9",
|
||||||
"@types/webpack-env": "1.13.0",
|
"@types/webpack-env": "1.13.0",
|
||||||
"aspnet-webpack": "^1.0.29",
|
"aspnet-webpack": "^1.0.29",
|
||||||
"aspnet-webpack-react": "^3.0.0-beta",
|
"aspnet-webpack-react": "^2.0.0",
|
||||||
"awesome-typescript-loader": "3.1.3",
|
"awesome-typescript-loader": "3.1.3",
|
||||||
"bootstrap": "3.3.7",
|
"bootstrap": "3.3.7",
|
||||||
"css-loader": "0.28.1",
|
"css-loader": "0.28.1",
|
||||||
|
|||||||
2603
templates/VueSpa/npm-shrinkwrap.json
generated
2603
templates/VueSpa/npm-shrinkwrap.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "WebApplicationBasic",
|
"name": "WebApplicationBasic",
|
||||||
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/requirejs": "^2.1.28",
|
"@types/requirejs": "^2.1.28",
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ const bundleOutputDir = './wwwroot/dist';
|
|||||||
module.exports = (env) => {
|
module.exports = (env) => {
|
||||||
const isDevBuild = !(env && env.prod);
|
const isDevBuild = !(env && env.prod);
|
||||||
|
|
||||||
const bundleOutputDir = './wwwroot/dist';
|
|
||||||
return [{
|
return [{
|
||||||
stats: { modules: false },
|
stats: { modules: false },
|
||||||
context: __dirname,
|
context: __dirname,
|
||||||
|
|||||||
@@ -2,6 +2,6 @@
|
|||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<VersionPrefix>2.0.0</VersionPrefix>
|
<VersionPrefix>2.0.0</VersionPrefix>
|
||||||
<VersionSuffix>preview2</VersionSuffix>
|
<VersionSuffix>preview3</VersionSuffix>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
Reference in New Issue
Block a user