I found this VS Code extension: https://marketplace.visualstudio.com/items?itemName=adrianwilczynski.terminal-commands With this I'm writing a script, so then after build-release, right-click on the release folder to clean files and inject the version.
Hugo Ferreira <hferreira...@gmail.com> escreveu no dia sexta, 10/03/2023 à(s) 00:05: > Thank you all. > You all gave me greate ideas. > Josh, no need to spend time on this. > I will create my own script (remove the .DS files is also a good idea - I > hate the mac pollute all my folders with that). > > Harbs <harbs.li...@gmail.com> escreveu no dia quinta, 9/03/2023 à(s) > 21:56: > >> Yes. My script also has some "aws s3 sync", "aws s3 cp” and "aws >> cloudfront create-invalidation” commands to upload the app after updating >> the version info. >> >> The sync commands (for the whole release directory has these arguments: >> >> --exclude "*.DS_Store*" --delete --cache-control max-age=2592000 --acl >> public-read >> >> The cp command for the index.html file has these arguments: >> >> --metadata-directive REPLACE --cache-control max-age=60,public >> --content-type text/html --acl public-read >> >> >> > On Mar 9, 2023, at 11:42 PM, Hugo Ferreira <hferreira...@gmail.com> >> wrote: >> > >> > Thank you. >> > >> > OK, after you build-release you run a script that does exactly that. >> > >> > Harbs <harbs.li...@gmail.com> escreveu no dia quinta, 9/03/2023 à(s) >> 21:37: >> > >> >> I have a bash script to stage my app that looks like this: >> >> >> >> version=$(cat $DIR/releases.json | jq '.version') >> >> version="${version%\"}" >> >> version="${version#\"}" >> >> >> >> build=$(node -e 'console.log(Date.now())') >> >> jq '.build = '$build releases.json > tmp.$$.json && mv tmp.$$.json >> >> releases.json >> >> >> >> sed -ie "s/MyApp.js/MyApp.js?{build_number}/g" >> bin/js-release/index.html >> >> sed -ie "s/{build_number}/$build/g" bin/js-release/index.html >> >> sed -ie "s/{version_number}/$version/g" bin/js-release/index.html >> >> >> >> releases.json has the version and the build number is updated by this >> >> script. >> >> >> >> The template html has this: >> >> >> >> <meta name="build" content="{build_number}"> >> >> <meta name="version" content="{version_number}"> >> >> <link rel="stylesheet" type="text/css" >> >> href="${application}.css?{build_number}"> >> >> >> >> The HTML file on the server has a very short TTL. The rest of the files >> >> have a much longer TTL. The build script busts the cache when it’s >> deployed. >> >> >> >> Change “MyApp” to the name of your app. >> >> >> >> HTH, >> >> Harbs >> >> >> >> >> >>> On Mar 9, 2023, at 10:43 PM, Hugo Ferreira <hferreira...@gmail.com> >> >> wrote: >> >>> >> >>> Hi, >> >>> >> >>> I'm releasing now updates more often and sometimes (many times), the >> >>> browser cache my App.js >> >>> In a quick google search I found a solution (more a workaround) => >> >>> >> >> >> https://stackoverflow.com/questions/1011605/clear-the-cache-in-javascript >> >>> When I build - release with VS Code, it inject this line on my html >> >>> file:<script type="text/javascript" src="./App.js"></script> >> >>> So, I don't have control over it. >> >>> >> >>> What I would like to do is something like have a version flag of my >> App >> >> in >> >>> the asconfig.json and when I build - relase the compiler inject >> something >> >>> like:<script type="text/javascript" src="./App.js?v=1"></script> >> >>> <script type="text/javascript" src="./App.js?v=2"></script> >> >>> ... >> >>> >> >>> This is possible today ? >> >>> >> >>> Regards, >> >>> Hugo. >> >> >> >> >> >>