Skip to content

SvelteKit plugin is broken (treats every build as a new app) #252

@rChaoz

Description

@rChaoz

It seems like the version number/hash it added to the bundle name, causing every build to be treated as a different app. For example, this is how the bundle report looks like for any one of my PRs, regardless of the changes:

Bundle name Previous size New size Change
todo-boards-__sveltekit_1uzgg2h.app-client-esm 0B 3.26MB +3.26MB
todo-boards-__sveltekit_1uzgg2h.app-server-esm 0B 2.85MB +2.85MB
todo-boards-__sveltekit_rjtutb.app-client-esm 3.25MB 3.25MB 0B
todo-boards-__sveltekit_rjtutb.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_md9ml7.app-client-esm 3.25MB 3.25MB 0B
todo-boards-__sveltekit_md9ml7.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_rw61bm.app-client-esm 3.25MB 3.25MB 0B
todo-boards-__sveltekit_rw61bm.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_oc9q2g.app-client-esm 3.25MB 3.25MB 0B
todo-boards-__sveltekit_oc9q2g.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_pd0dha.app-client-esm 3.25MB 3.25MB 0B
todo-boards-__sveltekit_pd0dha.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_9048ew.app-client-esm 3.26MB 3.26MB 0B
todo-boards-__sveltekit_9048ew.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_jb7hj3.app-client-esm 3.26MB 3.26MB 0B
todo-boards-__sveltekit_jb7hj3.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_15434l3.app-client-esm 3.26MB 3.26MB 0B
todo-boards-__sveltekit_15434l3.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_wbgdw4.app-client-esm 3.26MB 3.26MB 0B
todo-boards-__sveltekit_wbgdw4.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_1ul4wew.app-client-esm 3.26MB 3.26MB 0B
todo-boards-__sveltekit_3mgeqa.app-client-esm 3.26MB 3.26MB 0B
todo-boards-__sveltekit_3mgeqa.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_10ypcbc.app-client-esm 3.26MB 3.26MB 0B
todo-boards-__sveltekit_10ypcbc.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_1xcvy2i.app-client-esm 3.26MB 3.26MB 0B
todo-boards-__sveltekit_1xcvy2i.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_v9cwmu.app-client-esm 3.26MB 3.26MB 0B
todo-boards-__sveltekit_v9cwmu.app-server-esm 2.85MB 2.85MB 0B
todo-boards-__sveltekit_znjpv5.app-client-esm 3.26MB 3.26MB 0B
todo-boards-__sveltekit_znjpv5.app-server-esm 2.85MB 2.85MB 0B

This then gets incorrectly reported as a large change, even though it isn't:

Image

It seems like this is the code at fault:

const name = getBundleName(
output.originalBundleName,
options.dir,
options.format,
options.name,
);

here, options.name is __sveltekit_1uzgg2h.app, changing on every build.

Workaround

Patch (can be applied for example using yarn patch):

diff --git a/dist/index.mjs b/dist/index.mjs
index af4d577bb316858597a9f420574129e0e799684f..6dfaaedd4fddf5a4edd5e2fbc49bb1485913943f 100644
--- a/dist/index.mjs
+++ b/dist/index.mjs
@@ -31,7 +31,6 @@ const sveltekitBundleAnalysisPlugin = ({
         output.originalBundleName,
         options.dir,
         options.format,
-        options.name
       );
       output.unlockBundleName();
       output.setBundleName(name);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions