https://discord.umbraco.com logo
I usually inject IFileVersionProvider (default dot...
# package-development
s
I usually inject IFileVersionProvider (default dotnet thing used for
asp-append-version
) in my PackageManifestReader, and have that append a querstring to my entrypoint js file eg.:
Copy code
cs
public class BackofficeManifest(IFileVersionProvider fileVersionProvider) : IPackageManifestReader
{
    public Task<IEnumerable<PackageManifest>> ReadPackageManifestsAsync()
    {
        var filePath = "/build/backoffice/backoffice.mjs";
        var filePathVersioned = fileVersionProvider.AddFileVersionToPath(
            new PathString("/"),
            filePath
        );
        var manifest =
            (IEnumerable<PackageManifest>)
                new List<PackageManifest>()
                {
                    new PackageManifest()
                    {
                        AllowTelemetry = true,
                        Version = filePathVersioned.TrimStart(filePath).TrimStart("?v="),
                        Name = "MyProject.Backoffice",
                        Extensions =
                        [
                            new
                            {
                                type = "bundle",
                                alias = "MyProject.Backoffice.Bundle",
                                name = "MyProjectBackoffice Bundle",
                                js = filePathVersioned,
                            },
                        ],
                    },
                };

        return Task.FromResult(manifest);
    }
}
3 Views