I need to replace a couple values in a minified javascript file with sed. The OS is alpine Linux.
I'm trying to workout a generic regex which will find foo: and any characters until the next , like so: foo:____  and replace with foo:"bar" or foo:!0 whatever the value in the variable might be. This script needs to work all the time. It shouldn't depend on was is coming after the : ( meaning whatever the value from the property is).
Here are the first couple characters from the file
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{3:function(l,n,t){l.exports=t("zUnb")},AytR:function(l,n,t){"use strict";t.d(n,"a",function(){return e});var e={appVersion:"1.4-beta",buildNr:"123.123",production:!0,tracking:!0,apiHost:"/api/",foo:""}},Cdxl:function(l,n,t){"use strict";t.d(n,"a",function(){return a});
Here is my start it isn't generic at all ...
APP_VERSION='"1.4-beta"'
BUILD_NR='"20190118.1"'
PRODUCTION="!"
TRACKING="!0"
API_HOST='"/api/"'
FOO='"bar"'
# demo for the first 3 variables 
sed -i "s/appVersion:[\"0-9A-Za-z.]*/appVersion:${APP_VERSION}/;s/buildNr:[\"0-9A-Za-z.]*/buildNr:${BUILD_NR}/;s/production:[!0-9A-Za-z.]*/production:${PRODUCTION}/" path/to/js-file.js
I tried for hours - Any suggestions are more than welcome.
Thanks in advance!
 
    