Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Load theme JavaScript module earlier from HTML #4888

Merged
merged 2 commits into from
Jul 15, 2024
Merged

Conversation

JamesNK
Copy link
Member

@JamesNK JamesNK commented Jul 14, 2024

After changes, the theme module finishes loading at approximately 175ms instead of 1050ms. The theme module has a Fluent Blazor dependency and referencing it from HTML reduces its load time.

Before:
image

After:
image

Microsoft Reviewers: Open in CodeFlow

Copy link
Member

@tlmii tlmii left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for following up on this, and with great detail.

@JamesNK
Copy link
Member Author

JamesNK commented Jul 15, 2024

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@JamesNK JamesNK merged commit 21dfbfb into main Jul 15, 2024
9 checks passed
@JamesNK JamesNK deleted the jamesnk/theme-performance branch July 15, 2024 06:41
radical added a commit to radical/aspire that referenced this pull request Jul 16, 2024
commit fee146f
Author: Ankit Jain <radical@gmail.com>
Date:   Tue Jul 16 02:06:47 2024 -0400

    Fix up EndToEnd tests

commit bcb2595
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 22:16:08 2024 -0400

    workload-tests: use testassets only, unify with others

commit e19e311
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 22:00:30 2024 -0400

    restore workloads project

commit 45156b7
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 21:38:33 2024 -0400

    clean out hosting, and testproject's dbprops

commit 0df27a5
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 21:34:56 2024 -0400

    out-of-repo bits

commit 6bc9921
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 21:30:12 2024 -0400

    move out more shared files from workload testing for use in other projects

commit d8ebe90
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 21:26:08 2024 -0400

    Add new target to generate a Packages.Versions.props with all the relevant properties, and remove old custom tasks

commit b06fadf
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 21:24:29 2024 -0400

    Move '_ExtractTestClassNames' target to tests/Directory.Build.targets for more common use

commit b6cbbd8
Author: Sébastien Ros <sebastienros@gmail.com>
Date:   Mon Jul 15 16:52:38 2024 -0700

    Extract Aspire.Hosting.PostgreSQL.Tests project (dotnet#4862)

commit 639d9cb
Author: Eric Erhardt <eric.erhardt@microsoft.com>
Date:   Mon Jul 15 18:12:46 2024 -0500

    Update runtime, aspnetcore, and extensions versions in a single dependabot PR (dotnet#4911)

    * Update runtime, aspnetcore, and extensions versions in a single dependabot PR

    * Add Orleans group

commit c6ec314
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Jul 15 17:26:56 2024 -0500

    Bump the entityframeworkcore group with 4 updates (dotnet#4899)

    Bumps the entityframeworkcore group with 4 updates: Microsoft.EntityFrameworkCore.Design, Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.Tools and Microsoft.EntityFrameworkCore.Cosmos.

    Updates `Microsoft.EntityFrameworkCore.Design` from 8.0.6 to 8.0.7

    Updates `Microsoft.EntityFrameworkCore.SqlServer` from 8.0.6 to 8.0.7

    Updates `Microsoft.EntityFrameworkCore.Tools` from 8.0.6 to 8.0.7

    Updates `Microsoft.EntityFrameworkCore.Design` from 8.0.6 to 8.0.7

    Updates `Microsoft.EntityFrameworkCore.Cosmos` from 8.0.6 to 8.0.7

    ---
    updated-dependencies:
    - dependency-name: Microsoft.EntityFrameworkCore.Design
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: entityframeworkcore
    - dependency-name: Microsoft.EntityFrameworkCore.SqlServer
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: entityframeworkcore
    - dependency-name: Microsoft.EntityFrameworkCore.Tools
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: entityframeworkcore
    - dependency-name: Microsoft.EntityFrameworkCore.Design
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: entityframeworkcore
    - dependency-name: Microsoft.EntityFrameworkCore.Cosmos
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: entityframeworkcore
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 861f931
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Jul 15 17:08:53 2024 -0500

    Bump the microsoftextensions group with 7 updates (dotnet#4898)

    Bumps the microsoftextensions group with 7 updates:

    | Package | From | To |
    | --- | --- | --- |
    | Microsoft.Extensions.Configuration.Binder | `8.0.1` | `8.0.2` |
    | Microsoft.Extensions.Http.Resilience | `8.6.0` | `8.7.0` |
    | Microsoft.Extensions.Diagnostics.HealthChecks | `8.0.6` | `8.0.7` |
    | Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore | `8.0.6` | `8.0.7` |
    | Microsoft.Extensions.Caching.StackExchangeRedis | `8.0.6` | `8.0.7` |
    | Microsoft.Extensions.Diagnostics.Testing | `8.6.0` | `8.7.0` |
    | Microsoft.Extensions.TimeProvider.Testing | `8.6.0` | `8.7.0` |

    Updates `Microsoft.Extensions.Configuration.Binder` from 8.0.1 to 8.0.2

    Updates `Microsoft.Extensions.Http.Resilience` from 8.6.0 to 8.7.0

    Updates `Microsoft.Extensions.Diagnostics.HealthChecks` from 8.0.6 to 8.0.7

    Updates `Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore` from 8.0.6 to 8.0.7

    Updates `Microsoft.Extensions.Diagnostics.HealthChecks` from 8.0.6 to 8.0.7

    Updates `Microsoft.Extensions.Caching.StackExchangeRedis` from 8.0.6 to 8.0.7

    Updates `Microsoft.Extensions.Diagnostics.Testing` from 8.6.0 to 8.7.0

    Updates `Microsoft.Extensions.TimeProvider.Testing` from 8.6.0 to 8.7.0

    ---
    updated-dependencies:
    - dependency-name: Microsoft.Extensions.Configuration.Binder
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Http.Resilience
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Caching.StackExchangeRedis
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Diagnostics.Testing
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.TimeProvider.Testing
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: microsoftextensions
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit f38b6cb
Author: Sébastien Ros <sebastienros@gmail.com>
Date:   Mon Jul 15 10:05:11 2024 -0700

    Add cgmanifest.json for templates dependencies (dotnet#4841)

commit 8dcd456
Author: Adam Ratzman <adam@adamratzman.com>
Date:   Mon Jul 15 11:05:23 2024 -0400

    Reduce dashboard log noise (dotnet#4821)

commit 8e55b6e
Author: Eric Erhardt <eric.erhardt@microsoft.com>
Date:   Mon Jul 15 09:44:02 2024 -0500

    Extract Aspire.Hosting.Qdrant.Tests project (dotnet#4879)

    Also add functional tests including volume and bind mount tests.

commit cf816c7
Author: James Newton-King <james@newtonking.com>
Date:   Mon Jul 15 22:26:29 2024 +0800

    Order endpoints in resource details (dotnet#4798)

commit 986c09e
Author: Kevin Jones <vcsjones@github.com>
Date:   Mon Jul 15 05:52:45 2024 -0400

    Remove static SHA1 field (dotnet#4885)

commit 21dfbfb
Author: James Newton-King <james@newtonking.com>
Date:   Mon Jul 15 14:40:58 2024 +0800

    Load theme JavaScript module earlier from HTML (dotnet#4888)

# Conflicts:
#	playground/Directory.Packages.props
#	tests/Aspire.EndToEnd.Tests/Aspire.EndToEnd.Tests.csproj
#	tests/Aspire.EndToEnd.Tests/IntegrationServicesFixture.cs
#	tests/Directory.Build.targets
#	tests/Shared/RepoTesting/Aspire.Testing.Repo.props
#	tests/Shared/RepoTesting/Aspire.Testing.Repo.targets
radical added a commit to radical/aspire that referenced this pull request Jul 16, 2024
commit f63fb3d
Author: Ankit Jain <radical@gmail.com>
Date:   Tue Jul 16 02:23:45 2024 -0400

    update docs

commit ad26d1d
Author: Ankit Jain <radical@gmail.com>
Date:   Tue Jul 16 02:06:47 2024 -0400

    Fix up EndToEnd tests

    - `TestsRunningOutsideOfRepo` now means that the whole project builds
      from source outside the repo.
      - But for `EndToEnd` tests only supporting test project is built in
        that mode.
      - So, update the property and the corresponding `#define` to reflect
        that

    - And track changes from adding the new props/targets

commit 430a996
Author: Ankit Jain <radical@gmail.com>
Date:   Tue Jul 16 02:18:10 2024 -0400

    Track changes in Aspire.Hosting.Tests

commit a30e992
Author: Ankit Jain <radical@gmail.com>
Date:   Tue Jul 16 02:17:50 2024 -0400

    Track changes in Workload tests

commit b4fcc88
Author: Ankit Jain <radical@gmail.com>
Date:   Tue Jul 16 02:16:34 2024 -0400

    Remove the redundant Directory.Build.props for various projects

    .. which were there essentially to import Hosting.props/targets .
    Instead, now the `Aspire.Testing.Repo.{props,targets}` are imported by
    default, which decide how to get the hosting targets.

commit d24b1eb
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 21:34:56 2024 -0400

    Extract bits required for running tests outside of repo into

    .. `Aspire.Testing.Repo.{props,targets}`.

    From the comments:
    ```
        This provides support for running tests outside of the repo, for example on a helix agent.
        - For this you need the source of the tests, and any dependencies.
        - Instead of direct `ProjectReferences` to the various Aspire hosting, and component projects use
          `@(ComponentReferenceForTests)`, and @(NonComponentReferenceForTests)`.
          - These are converted to `ProjectReference` when `$(TestsRunningOutsideOfRepo) != true`.
          - But converted to `PackageReference` when `$(TestsRunningOutsideOfRepo) == true`.

        - To allow building such test projects, the build is isolated and patched to build outside the
          repo by adding appropriate `Directory.Build.{props,targets}`, and `Directory.Packages.props`
          - and using a custom `nuget.config` which resolves the Aspire packages from the locally built packages
          - and a `Directory.Packages.Versions.props` is generated with PackageVersions taken from the repo
            - This also adds properties named in `@(PropertyForHelixRun)` from the repo, like `$(NetCurrent)`
    ```

commit 6bc9921
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 21:30:12 2024 -0400

    move out more shared files from workload testing for use in other projects

commit d8ebe90
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 21:26:08 2024 -0400

    Add new target to generate a Packages.Versions.props with all the relevant properties, and remove old custom tasks

commit b06fadf
Author: Ankit Jain <radical@gmail.com>
Date:   Fri Jul 12 21:24:29 2024 -0400

    Move '_ExtractTestClassNames' target to tests/Directory.Build.targets for more common use

commit b6cbbd8
Author: Sébastien Ros <sebastienros@gmail.com>
Date:   Mon Jul 15 16:52:38 2024 -0700

    Extract Aspire.Hosting.PostgreSQL.Tests project (dotnet#4862)

commit 639d9cb
Author: Eric Erhardt <eric.erhardt@microsoft.com>
Date:   Mon Jul 15 18:12:46 2024 -0500

    Update runtime, aspnetcore, and extensions versions in a single dependabot PR (dotnet#4911)

    * Update runtime, aspnetcore, and extensions versions in a single dependabot PR

    * Add Orleans group

commit c6ec314
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Jul 15 17:26:56 2024 -0500

    Bump the entityframeworkcore group with 4 updates (dotnet#4899)

    Bumps the entityframeworkcore group with 4 updates: Microsoft.EntityFrameworkCore.Design, Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.Tools and Microsoft.EntityFrameworkCore.Cosmos.

    Updates `Microsoft.EntityFrameworkCore.Design` from 8.0.6 to 8.0.7

    Updates `Microsoft.EntityFrameworkCore.SqlServer` from 8.0.6 to 8.0.7

    Updates `Microsoft.EntityFrameworkCore.Tools` from 8.0.6 to 8.0.7

    Updates `Microsoft.EntityFrameworkCore.Design` from 8.0.6 to 8.0.7

    Updates `Microsoft.EntityFrameworkCore.Cosmos` from 8.0.6 to 8.0.7

    ---
    updated-dependencies:
    - dependency-name: Microsoft.EntityFrameworkCore.Design
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: entityframeworkcore
    - dependency-name: Microsoft.EntityFrameworkCore.SqlServer
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: entityframeworkcore
    - dependency-name: Microsoft.EntityFrameworkCore.Tools
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: entityframeworkcore
    - dependency-name: Microsoft.EntityFrameworkCore.Design
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: entityframeworkcore
    - dependency-name: Microsoft.EntityFrameworkCore.Cosmos
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: entityframeworkcore
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 861f931
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Jul 15 17:08:53 2024 -0500

    Bump the microsoftextensions group with 7 updates (dotnet#4898)

    Bumps the microsoftextensions group with 7 updates:

    | Package | From | To |
    | --- | --- | --- |
    | Microsoft.Extensions.Configuration.Binder | `8.0.1` | `8.0.2` |
    | Microsoft.Extensions.Http.Resilience | `8.6.0` | `8.7.0` |
    | Microsoft.Extensions.Diagnostics.HealthChecks | `8.0.6` | `8.0.7` |
    | Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore | `8.0.6` | `8.0.7` |
    | Microsoft.Extensions.Caching.StackExchangeRedis | `8.0.6` | `8.0.7` |
    | Microsoft.Extensions.Diagnostics.Testing | `8.6.0` | `8.7.0` |
    | Microsoft.Extensions.TimeProvider.Testing | `8.6.0` | `8.7.0` |

    Updates `Microsoft.Extensions.Configuration.Binder` from 8.0.1 to 8.0.2

    Updates `Microsoft.Extensions.Http.Resilience` from 8.6.0 to 8.7.0

    Updates `Microsoft.Extensions.Diagnostics.HealthChecks` from 8.0.6 to 8.0.7

    Updates `Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore` from 8.0.6 to 8.0.7

    Updates `Microsoft.Extensions.Diagnostics.HealthChecks` from 8.0.6 to 8.0.7

    Updates `Microsoft.Extensions.Caching.StackExchangeRedis` from 8.0.6 to 8.0.7

    Updates `Microsoft.Extensions.Diagnostics.Testing` from 8.6.0 to 8.7.0

    Updates `Microsoft.Extensions.TimeProvider.Testing` from 8.6.0 to 8.7.0

    ---
    updated-dependencies:
    - dependency-name: Microsoft.Extensions.Configuration.Binder
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Http.Resilience
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Caching.StackExchangeRedis
      dependency-type: direct:production
      update-type: version-update:semver-patch
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.Diagnostics.Testing
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: microsoftextensions
    - dependency-name: Microsoft.Extensions.TimeProvider.Testing
      dependency-type: direct:production
      update-type: version-update:semver-minor
      dependency-group: microsoftextensions
    ...

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit f38b6cb
Author: Sébastien Ros <sebastienros@gmail.com>
Date:   Mon Jul 15 10:05:11 2024 -0700

    Add cgmanifest.json for templates dependencies (dotnet#4841)

commit 8dcd456
Author: Adam Ratzman <adam@adamratzman.com>
Date:   Mon Jul 15 11:05:23 2024 -0400

    Reduce dashboard log noise (dotnet#4821)

commit 8e55b6e
Author: Eric Erhardt <eric.erhardt@microsoft.com>
Date:   Mon Jul 15 09:44:02 2024 -0500

    Extract Aspire.Hosting.Qdrant.Tests project (dotnet#4879)

    Also add functional tests including volume and bind mount tests.

commit cf816c7
Author: James Newton-King <james@newtonking.com>
Date:   Mon Jul 15 22:26:29 2024 +0800

    Order endpoints in resource details (dotnet#4798)

commit 986c09e
Author: Kevin Jones <vcsjones@github.com>
Date:   Mon Jul 15 05:52:45 2024 -0400

    Remove static SHA1 field (dotnet#4885)

commit 21dfbfb
Author: James Newton-King <james@newtonking.com>
Date:   Mon Jul 15 14:40:58 2024 +0800

    Load theme JavaScript module earlier from HTML (dotnet#4888)

# Conflicts:
#	playground/Directory.Packages.props
#	tests/Aspire.EndToEnd.Tests/Aspire.EndToEnd.Tests.csproj
@github-actions github-actions bot locked and limited conversation to collaborators Aug 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants