parcel-bundler / parcel

The zero configuration build tool for the web. πŸ“¦πŸš€

Home Page:https://parceljs.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`parcel/config-webextension` can build extensions incompatible with Firefox's Add-Ons Store

derenrich opened this issue Β· comments

πŸ› bug report

I am building a web extension at https://github.com/derenrich/wwwyzzerdd and I am using parcel to build it. The extension works in Chrome and FF but Mozilla will not allow me to upload the extension because some of the generated .js files are larger than 5MB.

See Mozilla's bug report at https://discourse.mozilla.org/t/bug-with-uploading-large-files-in-addon/85407/6

wwwyzzerdd ff error

πŸŽ› Configuration (.babelrc, package.json, cli command)

{
  "extends": "@parcel/config-webextension",
  "transformers": {
    "*.{ts,tsx}": ["@parcel/transformer-typescript-tsc"]
  },
  "validators": {
    "*.{ts,tsx}": ["@parcel/validator-typescript"]
  }  
}
{
    "compilerOptions": {
        "allowSyntheticDefaultImports": true,
        "jsx": "react",
        "outDir": "./dist/",
        "sourceMap": true,
        "strict": true,
        "isolatedModules": true,
        "noImplicitReturns": true,
        "noImplicitAny": true,
        "module": "esnext",
        "moduleResolution": "node",
        "target": "esnext",
        "allowJs": true,
        "baseUrl": "./src",
        "paths": {
            "~*": ["./*"]
        },
        "types": ["chrome"]
    },
    "include": [
        "src/**/*"
    ]
}

πŸ€” Expected Behavior

Built extension should work on all browsers making files <5MB.

😯 Current Behavior

Dumps >5MB of data into a single file and fails to upload

πŸ’ Possible Solution

To achieve this the extension should split the minimized js file across multiple 5MB files

πŸ”¦ Context

I upgraded my dependencies and then the extension's files grew above 5MB and now I can only deploy new versions to Chrome. Unsure how to split this up more.

πŸ’» Code Sample

🌍 Your Environment

Software Version(s)
Parcel 2.8.2
Node v15.14.0
npm/Yarn yarn=1.22.10
Operating System ubuntu

Ah. Passing --no-source-maps drastically reduces my build sizes. I guess that's the ticket though I guess maybe it should emit a warning when this happens? I'd also be fine just closing this.