This should (hopefully) resolve occasional errors where the rename step would
fail because the temporary file did not exist. In addition, this also exits with
an error code if something goes wrong so we notice it early, rather than having
to scroll through pages of logs at release time.
This updates to Node 14 (current LTS) as well as moving from Debian Stretch to
Buster for the base OS. The Debian upgrade brings along a newer Python 3.8,
which is actively supported.
Fixes https://github.com/vector-im/element-web/issues/16272
This ensures we correctly wait for `component-index.js.tmp` to be written to
disk before trying to rename into place. This fixes an issue where stray temp
files were being strewn about the repos after renaming failures.
This changes the nesting style because some CI / CD systems do not allow moving
to a directory above the checkout for the primary repo (`react-sdk` in this
case).
Part of https://github.com/vector-im/element-web/issues/12624
We've been relying on flow being close enough to TypeScript for so long that it is starting to run into issues. Here we switch to babel's parser given we already use babel in the project.
Babel's parser is also *slightly* faster, allowing us to generate strings 0.1s faster.
Includes: compilation, translations, IDE support (use .tsx not .ts), typings, and other build tools.
TypeScript component have to import PropTypes and React with `import * as React from 'react';`
We were checking out & installing the develop js-sdk explicitly
in cases where we didn't need it at all. We were babeling the src
folder many, many times over (in some cases twice in the same job)
and never using the output at all.