`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
π 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.