Create Sourcemap in Prod but do not Include in apk


#1

Is there a way of creating a main.js.map file but not copying it over to the apk for release?

My use case is for error reporting. I can upload the main.js and main.js.map to sentry and it will generate a pretty stacktrace. However I don’t want to include it in the apk.

I know I can switch the sourcemap on and off but not how to do the above. Does anyone have any ideas?

Thanks

@ionic/app-scripts              : 1.3.8
Ionic Framework                 : ionic-angular 3.4.1

#2

Did you find a way? I’m after the source map for the same reason (uploading to Sentry).


#3

You can make a build with sourcemaps like this :
./node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js build --prod --generateSourceMap true

I use this to analyze my source maps via source-map-explorer.

If you create a npm run command in your package.json you don’t have to put the whole path. Hope this works for you.


Analyze bundle size
#4

The way I’m doing it is putting a build task in to move the map out to a different folder before the APK is built. Then as part of a gulp task to create the Sentry release I shift it back (to preserve the relative path) and at the end of the task shift it back.

Not ideal but it works


#5

Yes that creates the source map but can you confirm that the source map is not included in the APK by this method?


#6

They won’t go in the APK, when you make your release build via ionic cordova build android --prod --release the project is build again and the source maps are not created.


#7

Can you confirm that the source map really matches the one in release built when you run 2 separate builds (first for source map, second for release build)?

Does anybody have a working script/hook to automate that copying around (maybe even with automatic sentry upload?)