Merge pull request #771 from dotnet-maestro-bot/merge/release/2.2-to-master
[automated] Merge branch 'release/2.2' => 'master'
This commit is contained in:
Коммит
bcc6a17c3d
|
@ -2,7 +2,10 @@
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<Description>Web Client-Side File Templates for Microsoft Template Engine</Description>
|
<Description>Web Client-Side File Templates for Microsoft Template Engine
|
||||||
|
|
||||||
|
To install the templates in this package, run 'dotnet new --install $(PackageId)::$(PackageVersion)'.
|
||||||
|
</Description>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -2,7 +2,9 @@
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<Description>Web File Templates for Microsoft Template Engine</Description>
|
<Description>Web File Templates for Microsoft Template Engine
|
||||||
|
|
||||||
|
To install the templates in this package, run 'dotnet new --install $(PackageId)::$(PackageVersion)'.</Description>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -8,10 +8,6 @@
|
||||||
<RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">Company.WebApplication1</RootNamespace>
|
<RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">Company.WebApplication1</RootNamespace>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="wwwroot\" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup Condition="'$(TargetFrameworkOverride)' == ''">
|
<ItemGroup Condition="'$(TargetFrameworkOverride)' == ''">
|
||||||
<PackageReference Include="Microsoft.AspNetCore.App" />
|
<PackageReference Include="Microsoft.AspNetCore.App" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="${MicrosoftAspNetCoreRazorDesignPackageVersion}" PrivateAssets="All" />
|
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="${MicrosoftAspNetCoreRazorDesignPackageVersion}" PrivateAssets="All" />
|
||||||
|
|
|
@ -5,7 +5,9 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<PackageId>Microsoft.DotNet.Web.ProjectTemplates.3.0</PackageId>
|
<PackageId>Microsoft.DotNet.Web.ProjectTemplates.3.0</PackageId>
|
||||||
<Description>ASP.NET Core Web Template Pack for Microsoft Template Engine</Description>
|
<Description>ASP.NET Core Web Template Pack for Microsoft Template Engine
|
||||||
|
|
||||||
|
To install the templates in this package, run 'dotnet new --install $(PackageId)::$(PackageVersion)'.</Description>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
||||||
|
|
|
@ -11,10 +11,6 @@
|
||||||
<RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">Company.WebApplication1</RootNamespace>
|
<RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">Company.WebApplication1</RootNamespace>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="wwwroot\" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup Condition="'$(TargetFrameworkOverride)' == ''">
|
<ItemGroup Condition="'$(TargetFrameworkOverride)' == ''">
|
||||||
<PackageReference Include="Microsoft.AspNetCore.App" />
|
<PackageReference Include="Microsoft.AspNetCore.App" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="${MicrosoftAspNetCoreAuthenticationAzureADUIPackageVersion}" Condition="'$(OrganizationalAuth)' == 'True'" />
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="${MicrosoftAspNetCoreAuthenticationAzureADUIPackageVersion}" Condition="'$(OrganizationalAuth)' == 'True'" />
|
||||||
|
|
|
@ -11,7 +11,8 @@
|
||||||
<environment exclude="Development">
|
<environment exclude="Development">
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css"
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css"
|
||||||
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
|
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
|
||||||
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
|
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute"
|
||||||
|
integrity="sha256-eSi1q2PG6J7g7ib17yAaWMcrr5GrtohYChqibrV7PBE="/>
|
||||||
</environment>
|
</environment>
|
||||||
<link rel="stylesheet" href="~/css/site.css" />
|
<link rel="stylesheet" href="~/css/site.css" />
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
{
|
|
||||||
"name": "jquery-validation",
|
|
||||||
"homepage": "https://jqueryvalidation.org/",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git://github.com/jquery-validation/jquery-validation.git"
|
|
||||||
},
|
|
||||||
"authors": [
|
|
||||||
"Jörn Zaefferer <joern.zaefferer@gmail.com>"
|
|
||||||
],
|
|
||||||
"description": "Form validation made easy",
|
|
||||||
"main": "dist/jquery.validate.js",
|
|
||||||
"keywords": [
|
|
||||||
"forms",
|
|
||||||
"validation",
|
|
||||||
"validate"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"ignore": [
|
|
||||||
"**/.*",
|
|
||||||
"node_modules",
|
|
||||||
"bower_components",
|
|
||||||
"test",
|
|
||||||
"demo",
|
|
||||||
"lib"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"jquery": ">= 1.7.2"
|
|
||||||
},
|
|
||||||
"version": "1.17.0",
|
|
||||||
"_release": "1.17.0",
|
|
||||||
"_resolution": {
|
|
||||||
"type": "version",
|
|
||||||
"tag": "1.17.0",
|
|
||||||
"commit": "fc9b12d3bfaa2d0c04605855b896edb2934c0772"
|
|
||||||
},
|
|
||||||
"_source": "https://github.com/jzaefferer/jquery-validation.git",
|
|
||||||
"_target": "^1.17.0",
|
|
||||||
"_originalSource": "jquery-validation",
|
|
||||||
"_direct": true
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
{
|
|
||||||
"name": "jquery",
|
|
||||||
"main": "dist/jquery.js",
|
|
||||||
"license": "MIT",
|
|
||||||
"ignore": [
|
|
||||||
"package.json"
|
|
||||||
],
|
|
||||||
"keywords": [
|
|
||||||
"jquery",
|
|
||||||
"javascript",
|
|
||||||
"browser",
|
|
||||||
"library"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/jquery/jquery-dist",
|
|
||||||
"version": "3.3.1",
|
|
||||||
"_release": "3.3.1",
|
|
||||||
"_resolution": {
|
|
||||||
"type": "version",
|
|
||||||
"tag": "3.3.1",
|
|
||||||
"commit": "9e8ec3d10fad04748176144f108d7355662ae75e"
|
|
||||||
},
|
|
||||||
"_source": "https://github.com/jquery/jquery-dist.git",
|
|
||||||
"_target": "^3.3.1",
|
|
||||||
"_originalSource": "jquery",
|
|
||||||
"_direct": true
|
|
||||||
}
|
|
|
@ -11,7 +11,8 @@
|
||||||
<environment exclude="Development">
|
<environment exclude="Development">
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css"
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css"
|
||||||
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
|
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
|
||||||
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
|
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute"
|
||||||
|
integrity="sha256-eSi1q2PG6J7g7ib17yAaWMcrr5GrtohYChqibrV7PBE="/>
|
||||||
</environment>
|
</environment>
|
||||||
<link rel="stylesheet" href="~/css/site.css" />
|
<link rel="stylesheet" href="~/css/site.css" />
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
{
|
|
||||||
"name": "jquery-validation",
|
|
||||||
"homepage": "https://jqueryvalidation.org/",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git://github.com/jquery-validation/jquery-validation.git"
|
|
||||||
},
|
|
||||||
"authors": [
|
|
||||||
"Jörn Zaefferer <joern.zaefferer@gmail.com>"
|
|
||||||
],
|
|
||||||
"description": "Form validation made easy",
|
|
||||||
"main": "dist/jquery.validate.js",
|
|
||||||
"keywords": [
|
|
||||||
"forms",
|
|
||||||
"validation",
|
|
||||||
"validate"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"ignore": [
|
|
||||||
"**/.*",
|
|
||||||
"node_modules",
|
|
||||||
"bower_components",
|
|
||||||
"test",
|
|
||||||
"demo",
|
|
||||||
"lib"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"jquery": ">= 1.7.2"
|
|
||||||
},
|
|
||||||
"version": "1.17.0",
|
|
||||||
"_release": "1.17.0",
|
|
||||||
"_resolution": {
|
|
||||||
"type": "version",
|
|
||||||
"tag": "1.17.0",
|
|
||||||
"commit": "fc9b12d3bfaa2d0c04605855b896edb2934c0772"
|
|
||||||
},
|
|
||||||
"_source": "https://github.com/jzaefferer/jquery-validation.git",
|
|
||||||
"_target": "^1.17.0",
|
|
||||||
"_originalSource": "jquery-validation",
|
|
||||||
"_direct": true
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
{
|
|
||||||
"name": "jquery",
|
|
||||||
"main": "dist/jquery.js",
|
|
||||||
"license": "MIT",
|
|
||||||
"ignore": [
|
|
||||||
"package.json"
|
|
||||||
],
|
|
||||||
"keywords": [
|
|
||||||
"jquery",
|
|
||||||
"javascript",
|
|
||||||
"browser",
|
|
||||||
"library"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/jquery/jquery-dist",
|
|
||||||
"version": "3.3.1",
|
|
||||||
"_release": "3.3.1",
|
|
||||||
"_resolution": {
|
|
||||||
"type": "version",
|
|
||||||
"tag": "3.3.1",
|
|
||||||
"commit": "9e8ec3d10fad04748176144f108d7355662ae75e"
|
|
||||||
},
|
|
||||||
"_source": "https://github.com/jquery/jquery-dist.git",
|
|
||||||
"_target": "^3.3.1",
|
|
||||||
"_originalSource": "jquery",
|
|
||||||
"_direct": true
|
|
||||||
}
|
|
|
@ -11,7 +11,8 @@
|
||||||
<environment exclude="Development">
|
<environment exclude="Development">
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css"
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css"
|
||||||
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
|
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
|
||||||
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
|
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute"
|
||||||
|
integrity="sha256-eSi1q2PG6J7g7ib17yAaWMcrr5GrtohYChqibrV7PBE=" />
|
||||||
</environment>
|
</environment>
|
||||||
<link rel="stylesheet" href="~/css/site.css" />
|
<link rel="stylesheet" href="~/css/site.css" />
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
{
|
|
||||||
"name": "jquery-validation",
|
|
||||||
"homepage": "https://jqueryvalidation.org/",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git://github.com/jquery-validation/jquery-validation.git"
|
|
||||||
},
|
|
||||||
"authors": [
|
|
||||||
"Jörn Zaefferer <joern.zaefferer@gmail.com>"
|
|
||||||
],
|
|
||||||
"description": "Form validation made easy",
|
|
||||||
"main": "dist/jquery.validate.js",
|
|
||||||
"keywords": [
|
|
||||||
"forms",
|
|
||||||
"validation",
|
|
||||||
"validate"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"ignore": [
|
|
||||||
"**/.*",
|
|
||||||
"node_modules",
|
|
||||||
"bower_components",
|
|
||||||
"test",
|
|
||||||
"demo",
|
|
||||||
"lib"
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"jquery": ">= 1.7.2"
|
|
||||||
},
|
|
||||||
"version": "1.17.0",
|
|
||||||
"_release": "1.17.0",
|
|
||||||
"_resolution": {
|
|
||||||
"type": "version",
|
|
||||||
"tag": "1.17.0",
|
|
||||||
"commit": "fc9b12d3bfaa2d0c04605855b896edb2934c0772"
|
|
||||||
},
|
|
||||||
"_source": "https://github.com/jzaefferer/jquery-validation.git",
|
|
||||||
"_target": "^1.17.0",
|
|
||||||
"_originalSource": "jquery-validation",
|
|
||||||
"_direct": true
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
{
|
|
||||||
"name": "jquery",
|
|
||||||
"main": "dist/jquery.js",
|
|
||||||
"license": "MIT",
|
|
||||||
"ignore": [
|
|
||||||
"package.json"
|
|
||||||
],
|
|
||||||
"keywords": [
|
|
||||||
"jquery",
|
|
||||||
"javascript",
|
|
||||||
"browser",
|
|
||||||
"library"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/jquery/jquery-dist",
|
|
||||||
"version": "3.3.1",
|
|
||||||
"_release": "3.3.1",
|
|
||||||
"_resolution": {
|
|
||||||
"type": "version",
|
|
||||||
"tag": "3.3.1",
|
|
||||||
"commit": "9e8ec3d10fad04748176144f108d7355662ae75e"
|
|
||||||
},
|
|
||||||
"_source": "https://github.com/jquery/jquery-dist.git",
|
|
||||||
"_target": "^3.3.1",
|
|
||||||
"_originalSource": "jquery",
|
|
||||||
"_direct": true
|
|
||||||
}
|
|
|
@ -4,7 +4,9 @@
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||||
<Description>Single Page Application templates for ASP.NET Core</Description>
|
<Description>Single Page Application templates for ASP.NET Core
|
||||||
|
|
||||||
|
To install the templates in this package, run 'dotnet new --install $(PackageId)::$(PackageVersion)'.</Description>
|
||||||
<PackageTags>$(PackageTags);spa</PackageTags>
|
<PackageTags>$(PackageTags);spa</PackageTags>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using AngleSharp;
|
||||||
|
using AngleSharp.Dom;
|
||||||
using AngleSharp.Dom.Html;
|
using AngleSharp.Dom.Html;
|
||||||
using AngleSharp.Parser.Html;
|
using AngleSharp.Parser.Html;
|
||||||
using System;
|
using System;
|
||||||
|
@ -23,6 +25,7 @@ namespace Templates.Test
|
||||||
private static readonly string _solutionDir;
|
private static readonly string _solutionDir;
|
||||||
private static readonly string _artifactsDir;
|
private static readonly string _artifactsDir;
|
||||||
private static List<ScriptTag> _scriptTags;
|
private static List<ScriptTag> _scriptTags;
|
||||||
|
private static List<LinkTag> _linkTags;
|
||||||
|
|
||||||
static CdnScriptTagTests()
|
static CdnScriptTagTests()
|
||||||
{
|
{
|
||||||
|
@ -31,9 +34,12 @@ namespace Templates.Test
|
||||||
var packages = Directory.GetFiles(_artifactsDir, "*.nupkg");
|
var packages = Directory.GetFiles(_artifactsDir, "*.nupkg");
|
||||||
|
|
||||||
_scriptTags = new List<ScriptTag>();
|
_scriptTags = new List<ScriptTag>();
|
||||||
|
_linkTags = new List<LinkTag>();
|
||||||
foreach (var packagePath in packages)
|
foreach (var packagePath in packages)
|
||||||
{
|
{
|
||||||
_scriptTags.AddRange(GetScriptTags(packagePath));
|
var tags = GetTags(packagePath);
|
||||||
|
_scriptTags.AddRange(tags.scripts);
|
||||||
|
_linkTags.AddRange(tags.links);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,21 +49,33 @@ namespace Templates.Test
|
||||||
_httpClient = new HttpClient();
|
_httpClient = new HttpClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IEnumerable<object[]> SubresourceIntegrityCheckData
|
public static IEnumerable<object[]> SubresourceIntegrityCheckScriptData
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
var scriptTags = _scriptTags
|
var scriptTags = _scriptTags
|
||||||
.Where(st => st.Integrity != null)
|
.Where(st => st.FallbackSrc != null)
|
||||||
.Select(st => new object[] { st });
|
.Select(st => new object[] { st });
|
||||||
Assert.NotEmpty(scriptTags);
|
Assert.NotEmpty(scriptTags);
|
||||||
return scriptTags;
|
return scriptTags;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static IEnumerable<object[]> SubresourceIntegrityCheckLinkData
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
var linkTags = _linkTags
|
||||||
|
.Where(st => st.FallbackHRef != null)
|
||||||
|
.Select(st => new object[] { st });
|
||||||
|
Assert.NotEmpty(linkTags);
|
||||||
|
return linkTags;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Theory]
|
[Theory]
|
||||||
[MemberData(nameof(SubresourceIntegrityCheckData))]
|
[MemberData(nameof(SubresourceIntegrityCheckScriptData))]
|
||||||
public async Task CheckSubresourceIntegrity(ScriptTag scriptTag)
|
public async Task CheckScriptSubresourceIntegrity(ScriptTag scriptTag)
|
||||||
{
|
{
|
||||||
string expectedIntegrity;
|
string expectedIntegrity;
|
||||||
using (var responseStream = await _httpClient.GetStreamAsync(scriptTag.Src))
|
using (var responseStream = await _httpClient.GetStreamAsync(scriptTag.Src))
|
||||||
|
@ -67,7 +85,28 @@ namespace Templates.Test
|
||||||
expectedIntegrity = "sha256-" + Convert.ToBase64String(hash);
|
expectedIntegrity = "sha256-" + Convert.ToBase64String(hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
Assert.Equal(expectedIntegrity, scriptTag.Integrity);
|
if (!expectedIntegrity.Equals(scriptTag.Integrity, StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
Assert.False(true, $"Expected {scriptTag.Src} to have Integrity '{expectedIntegrity}' but it had '{scriptTag.Integrity}'.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Theory]
|
||||||
|
[MemberData(nameof(SubresourceIntegrityCheckLinkData))]
|
||||||
|
public async Task CheckLinkSubresourceIntegrity(LinkTag linkTag)
|
||||||
|
{
|
||||||
|
string expectedIntegrity;
|
||||||
|
using (var responseStream = await _httpClient.GetStreamAsync(linkTag.HRef))
|
||||||
|
using (var alg = SHA256.Create())
|
||||||
|
{
|
||||||
|
var hash = alg.ComputeHash(responseStream);
|
||||||
|
expectedIntegrity = "sha256-" + Convert.ToBase64String(hash);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!expectedIntegrity.Equals(linkTag.Integrity, StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
Assert.False(true, $"Expected {linkTag.HRef} to have Integrity '{expectedIntegrity}' but it had '{linkTag.Integrity}'.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IEnumerable<object[]> FallbackSrcCheckData
|
public static IEnumerable<object[]> FallbackSrcCheckData
|
||||||
|
@ -96,6 +135,19 @@ namespace Templates.Test
|
||||||
Assert.Equal(RemoveLineEndings(cdnContent), RemoveLineEndings(fallbackSrcContent));
|
Assert.Equal(RemoveLineEndings(cdnContent), RemoveLineEndings(fallbackSrcContent));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public struct LinkTag
|
||||||
|
{
|
||||||
|
public string Rel;
|
||||||
|
public string HRef;
|
||||||
|
public string FallbackHRef;
|
||||||
|
public string Integrity;
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return $"{HRef}, {Integrity}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public struct ScriptTag
|
public struct ScriptTag
|
||||||
{
|
{
|
||||||
public string Src;
|
public string Src;
|
||||||
|
@ -130,9 +182,10 @@ namespace Templates.Test
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<ScriptTag> GetScriptTags(string zipFile)
|
private static (List<ScriptTag> scripts, List<LinkTag> links) GetTags(string zipFile)
|
||||||
{
|
{
|
||||||
var scriptTags = new List<ScriptTag>();
|
var scriptTags = new List<ScriptTag>();
|
||||||
|
var linkTags = new List<LinkTag>();
|
||||||
using (var zip = new ZipArchive(File.OpenRead(zipFile), ZipArchiveMode.Read, leaveOpen: false))
|
using (var zip = new ZipArchive(File.OpenRead(zipFile), ZipArchiveMode.Read, leaveOpen: false))
|
||||||
{
|
{
|
||||||
foreach (var entry in zip.Entries)
|
foreach (var entry in zip.Entries)
|
||||||
|
@ -143,12 +196,28 @@ namespace Templates.Test
|
||||||
}
|
}
|
||||||
|
|
||||||
IHtmlDocument htmlDocument;
|
IHtmlDocument htmlDocument;
|
||||||
var htmlParser = new HtmlParser();
|
var options = new HtmlParserOptions
|
||||||
|
{
|
||||||
|
IsStrictMode = false,
|
||||||
|
IsEmbedded = false,
|
||||||
|
};
|
||||||
|
var config = Configuration.Default;
|
||||||
|
var htmlParser = new HtmlParser(options, config);
|
||||||
using (var reader = new StreamReader(entry.Open()))
|
using (var reader = new StreamReader(entry.Open()))
|
||||||
{
|
{
|
||||||
htmlDocument = htmlParser.Parse(entry.Open());
|
htmlDocument = htmlParser.Parse(entry.Open());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (IElement link in htmlDocument.Body.GetElementsByTagName("link"))
|
||||||
|
{
|
||||||
|
linkTags.Add(new LinkTag
|
||||||
|
{
|
||||||
|
HRef = link.GetAttribute("href"),
|
||||||
|
Integrity = link.GetAttribute("integrity"),
|
||||||
|
FallbackHRef = link.GetAttribute("asp-fallback-href"),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
foreach (var scriptElement in htmlDocument.Scripts)
|
foreach (var scriptElement in htmlDocument.Scripts)
|
||||||
{
|
{
|
||||||
var fallbackSrcAttribute = scriptElement.Attributes
|
var fallbackSrcAttribute = scriptElement.Attributes
|
||||||
|
@ -163,9 +232,10 @@ namespace Templates.Test
|
||||||
Entry = entry.FullName
|
Entry = entry.FullName
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return scriptTags;
|
return (scriptTags, linkTags);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string GetSolutionDir()
|
private static string GetSolutionDir()
|
||||||
|
|
|
@ -183,7 +183,14 @@ $@"<Project>
|
||||||
{
|
{
|
||||||
|
|
||||||
}";
|
}";
|
||||||
Assert.Contains(emptyMigration, contents);
|
|
||||||
|
// This comparison can break depending on how GIT checked out newlines on different files.
|
||||||
|
Assert.Contains(RemoveNewLines(emptyMigration), RemoveNewLines(contents));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string RemoveNewLines(string str)
|
||||||
|
{
|
||||||
|
return str.Replace("\n", string.Empty).Replace("\r", string.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void AssertFileExists(string path, bool shouldExist)
|
protected void AssertFileExists(string path, bool shouldExist)
|
||||||
|
|
|
@ -51,12 +51,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -112,12 +110,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -174,12 +170,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -236,12 +230,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -297,12 +289,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -363,12 +353,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -500,12 +488,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -560,12 +546,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -621,12 +605,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -682,12 +664,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -742,12 +722,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
@ -803,12 +781,10 @@
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js",
|
||||||
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
"wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map",
|
||||||
"wwwroot/lib/jquery/.bower.json",
|
|
||||||
"wwwroot/lib/jquery/LICENSE.txt",
|
"wwwroot/lib/jquery/LICENSE.txt",
|
||||||
"wwwroot/lib/jquery/dist/jquery.js",
|
"wwwroot/lib/jquery/dist/jquery.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.js",
|
"wwwroot/lib/jquery/dist/jquery.min.js",
|
||||||
"wwwroot/lib/jquery/dist/jquery.min.map",
|
"wwwroot/lib/jquery/dist/jquery.min.map",
|
||||||
"wwwroot/lib/jquery-validation/.bower.json",
|
|
||||||
"wwwroot/lib/jquery-validation/LICENSE.md",
|
"wwwroot/lib/jquery-validation/LICENSE.md",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.js",
|
||||||
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
"wwwroot/lib/jquery-validation/dist/additional-methods.min.js",
|
||||||
|
|
Загрузка…
Ссылка в новой задаче