Commit Graph

59 Commits

Author SHA1 Message Date
Andrii Kurdiumov 6546c55f4c Removal of global.json from the template
I remove only global.json from the template, and leave global.json in the repository root, since it is required for the build.
See #1324
2018-09-07 12:44:52 +01:00
Steve Sanderson facc1e466e Pre-trim Mono BCL (#1382)
* Add "ilwipe" build command

* Perform BCL wipe as part of build

* Simplify by converting ilwipe command to process entire directories

* Clean up the build
2018-09-05 10:03:54 +01:00
Steve Sanderson cf59ed94ad Consume jsinterop from submodule (#1351)
* Remove JSInterop files from this repo

* Add jsinterop submodule

* In Blazor.sln, reference jsinterop projects from submodule

* Update other references to jsinterop

* Fix TypeScript warning

* Include submodules in test/pack

* Update to newer jsinterop to fix JS pack issue

* Update to newer jsinterop to obtain strong naming

* Allow jsinterop submodule to inherit Directory.Build.props/targets

* Get latest jsinterop

* For AppVeyor builds, restore git submodules (happens automatically elsewhere)

* Update README.md with instructions to restore submodules
2018-08-29 11:10:35 +01:00
Ryan Nowak 3370113a05 Move ITagHelper to another assembly 2018-08-22 17:46:48 -07:00
Steve Sanderson d3bc28de55 E2E benchmarks (#1307) 2018-08-14 13:21:19 +01:00
Steve Sanderson 1236b77dfc Server template tweaks (#1181)
* Add server template projects to Blazor.sln

* Disable linking for server execution

* Minor tweaks to Startup.cs
2018-07-24 12:00:07 -07:00
Ryan Nowak 9778b2054a Add blazor.server.js (#1116)
Adds a server-side flavored blazor script.
2018-07-13 18:01:05 -07:00
Ryan Nowak e0168eb0c8 Implement server-side sync context
This is a synchronization context we can use for server side blazor to
support a single logical thread of execution. This is optimized for
scalability and non-blocking behavior.
2018-07-05 12:41:31 -07:00
Steve Sanderson a2bade57c3 Move Mono.WebAssembly.Interop project into "src" dir to match build conventions 2018-06-26 13:16:36 +01:00
Steve Sanderson b275055835 JavaScript interop v3 (#1033)
* JavaScript interop via new IJSRuntime abstraction

* CR feedback
2018-06-25 15:14:42 +01:00
Nikolei, Stefan 54eda39cb8 Update Anglesharp 2018-05-29 17:08:01 +01:00
Steve Sanderson 18b9a70dbe Encourage encapsulation of component parameter properties (#713)
* Before refactoring ParameterCollection assignment logic, add more test coverage

* Begin caching parameter assignment info

* Factor out some reflection code to a reusable location

* Use IPropertySetter to avoid all per-property-assignment reflection

* More error cases and tests for parameter assignment

* Enable binding to nonpublic properties

* Add analyzer to warn and provide fix for public component parameters

* Unit test for analyzer

* Component tag helper now includes private properties if they have [Parameter]

* CR feedback: Remove garbage from csproj

* CR feedback: Rename .Build.Analyzers to .Analyzers

* CR feedback: Move BlazorApi.cs to shared; use it from Analyzers test

* Fix incorrect test name

* Make as many parameters private as possible. Replace ILayoutComponent with BlazorLayoutComponent.

* In component tag helper discovery, consider private members too

* Reduce the work in component parameter discovery by not inspecting the BlazorComponent base class (or System.Object)
2018-05-01 10:08:01 +01:00
Daniel Roth ec1b220b7d Fixup project templates to handle project names with dashes (#692)
Fixes #291
2018-04-30 21:27:22 -07:00
Steve Sanderson e727cf2419 Rename "blazor content" project to "blazor library". Fixes #539 2018-04-11 14:26:29 +01:00
Steve Sanderson fef5a52183 Reference static content from referenced assemblies. Implements #340 2018-04-06 09:50:10 +01:00
Steve Sanderson 902625579b For better consistency between VS and CLI, specify resource sources in csproj rather than NuGet.config
This was not possible before because of the
`Microsoft.NET.Sdk.Razor/2.1.0-preview2-30230` entry in `Sdk`, which
can't be loaded from a custom restore source. But since that's on
NuGet.org now, it's no longer a problem.
2018-04-05 10:41:13 +01:00
Steve Sanderson d3dc294d5e Revert live reloading implementation. See PR for explanation. 2018-04-04 18:10:12 +01:00
Ryan Nowak d097190824 Add support for conditional attributes
Adds conditional attributes for HTML elements.

This means that an attribute with a 'false' .NET bool value or a null
.NET value of another type will not be rendered in the HTML.
2018-04-03 14:06:48 -07:00
Steve Sanderson 2c268a4eca Live reloading (currently enabled only for command-line builds - will
add VS support next)
2018-04-02 15:33:00 +01:00
Steve Sanderson 4eb78b3a8f Add global.json files to templates. Implements #300. 2018-03-20 19:45:43 +00:00
Steve Sanderson eb0a0a8154 Due to #267, revert "In templates, specify blazor-dev feed in csproj instead of NuGet.config. Fixes #255"
This reverts commit d75e518ed0b9c22f80955261e98ad368d8e5ac65.
2018-03-15 13:04:33 +00:00
Steve Sanderson 1d4ed4c0d6 In templates, specify blazor-dev feed in csproj instead of NuGet.config. Fixes #255 2018-03-14 12:13:16 +00:00
Steve Sanderson 0e9d52fe11 Support components and static content in external NuGet packages (#247)
* On build, drop <BlazorPackageContentFiles> items into dist\_content\(PackageName)\

* Add <script> and <link> tags to generated index.html

* Add testapp coverage of external content package. Still need to add E2E tests that uses it.

* Add missing unit test update

* Add example of packaging an entire Blazor component including CSS and images

* Add E2E test for component from NuGet package
2018-03-14 11:23:43 +00:00
Javier Calvarro Nelson 700c2203c6 [Fixes #66] Adds linking support to the build
* Switch the tasks used to generate the blazor output to be MSBuild based.
* Package the optimized mono runtime and the BCL inside a nuget package.
* Add opt-in support for linking the application on build.
* Make the whole build process incremental.
2018-03-14 11:23:43 +00:00
Ryan Nowak d175b4d38a Konvert to KoreBuild 2018-03-14 11:23:42 +00:00
Ryan Nowak daf6a404f9 Implement basic Component discovery
This is the basics of component discovery along with some tests.

The next set of changes will integrate it into the compilation process.
2018-03-14 11:23:40 +00:00
Steve Sanderson f3b10bfa4c Template updates (#185)
* Remove unnecessary <OutputType>Exe</OutputType> from templates

* Rename BlazorHosted.* projects to BlazorHosted.CSharp.(Client|Server)

* Add empty BlazorHosted.CSharp.Shared, referenced from the two other BlazorHosted.CSharp.* projects

* Have BlazorHosted.CSharp.Client fetch data from BlazorHosted.CSharp.Server

* Update templates to Blazor 0.0.5-preview1-10037

* Make date handling consistent across the templates

* Enable response compression in "hosted" template

* Enable response compression in dev server

* Simplify template app code using new namespace arrangement

* Fix project name in hosted template
2018-02-28 12:02:35 +00:00
Steve Sanderson 89ebeda38c Add multi-project template "BlazorHosted" 2018-02-27 21:40:24 +00:00
Steve Sanderson 39153955d6 Add "dotnet new" template BlazorStandalone.CSharp 2018-02-27 21:40:24 +00:00
Steve Sanderson 3e5381c17e Rename .DevHost project to .Cli, and make it work as a DotNetCliTool 2018-02-27 12:17:35 +00:00
Steve Sanderson ea6b6bcd19 Add an example API server project that can be used in E2E tests 2018-02-23 13:07:49 +00:00
Steve Sanderson 7073429cd5 Clean up and include routing unit tests 2018-02-21 10:22:03 +00:00
Ryan Nowak 043e623d5b Split Razor extensibility into its own assembly
This functionality will need to cross-compile to desktop framework
(net461) so that we can use it in VS. VS doesn't yet have netstandard2.0
support.
2018-02-14 14:08:14 -08:00
Steve Sanderson 0aa164073d Rename Microsoft.Blazor.* -> Microsoft.AspNetCore.Blazor.* everywhere 2018-01-24 15:48:38 -08:00
Steve Sanderson 75b083911c Add AngleSharp with temporary InternalsVisibleTo 2018-01-16 11:11:49 +00:00
Steve Sanderson ce04fde7bd Begin adding BasicTestApp for more E2E tests 2018-01-04 15:37:32 +00:00
Steve Sanderson 5e25ab16a2 Add unit tests for UITreeBuilder 2018-01-04 15:25:14 +00:00
Steve Sanderson d1069e2d1e Begin on Microsoft.Blazor.Browser project 2017-12-15 11:31:05 +00:00
Steve Sanderson 809528676b Rename Microsoft.Blazor.Browser project to Microsoft.Blazor.Browser.JS 2017-12-15 11:24:03 +00:00
Steve Sanderson a4b85ddf53 Split BuildTools into "Build" (for end-user app builds) and "BuildTools" (for building this repo only) 2017-12-14 15:32:28 +00:00
Steve Sanderson aa63da5151 Write out all client app files to disk at build time instead of serving dynamically at runtime 2017-12-14 11:59:55 +00:00
Steve Sanderson affc66c24e Move Server.Test project to correct location on disk 2017-12-13 11:15:31 +00:00
Steve Sanderson 0ed4a4eba5 Implement directory-capable InMemoryFileProvider 2017-12-11 14:01:34 +00:00
Steve Sanderson c439787ab5 Begin implementing ReferencedAssemblyFileProvider 2017-12-09 00:53:44 +00:00
Steve Sanderson 1cb0df2e74 Solution layout tweak 2017-12-08 17:38:20 +00:00
Steve Sanderson 4618edead4 Rename BlazorStandalone sample to StandaloneApp for consistency 2017-12-08 17:36:29 +00:00
Steve Sanderson 4138b3a049 Make Blazor apps actually start up Mono and execute the specified .NET entrypoint 2017-12-08 17:06:40 +00:00
Steve Sanderson 4d764d78df Beginning UseBlazorDevelopmentServer middleware and HostedInAspNet sample 2017-12-08 14:42:59 +00:00
Steve Sanderson da4df729ee Verify that the local Node.js version is 8.3.0+ (for NPM 5) before using it to build the static resources
Verify that the local Node.js version is 9.2.0+ before using it to build
the static resources
2017-12-08 13:09:18 +00:00
Steve Sanderson 82b2128bd9 Remove HelloWorld static site (it's now superseded by more relevant E2E samples) 2017-12-07 12:08:11 +00:00