* Switch fetch-package to use Github instead of Buildkite
* Tweak build to version match better
* Fix version match fetching
* Remove check for `BUILDKITE_API_KEY` as it is no longer required
* Fix develop fetching
* Revert back to using libsqlcipher0 for Debian & Ubuntu packages of Element Desktop
Add option to static link for linux instead of forcing it
* Fix linux variants and add CI job
* Fix workflow syntax and add concurrency
* public all the things
* Improve hak & build ia32 again by default
* Test both x86_64 and i686 in CI
* Improve macOS job name
* Try other things
* Iterating this is no fun
* Attempt again
* pwsh is the default, use cmd
* Update the incantation for 2022
* Avoid warning multiple times
* Consolidate build tool setup
* Move default targets to electron-builder and fix warnings
Prevents this:
```
+ git clone git://github.com/matrix-org/matrix-js-sdk.git matrix-js-sdk --branch develop --depth 1
Cloning into 'matrix-js-sdk'...
fatal: remote error:
The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
```
* Convert hak to TypeScript
* Fix linter & remove stray log line
* Fix more linting errors
In one case by switching to import() and hence esnext
* Return type for getNodeModuleBin
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
* More types
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Fact: 8 out of 10 native node module packages published to npm are broken.
Actual fact: npm has a library called pacote that handles resolving the
package specifier you put in your dependencies to files on disk, and it's
actually really nice.
Change hak to use that library so now it's much simpler, handles
versions correctly and supports git / github etc. urls so we can
specify dependencies from git when a package author only publishes
half of the package to npm.
This arranges the hak environment target info around target IDs that come from
the builder, which simplifies cross-compiling. The `target.js` module is a
generated copy of the builder's `target.ts`.
A bit hacky, but for now we paste in the JS generated version of the builder's
`target.ts` module. It's quite unlikely to change often, so this is perhaps
enough for now.
The hak environment's `target` is more like a runtime version, so this renames
to call it that, especially since we're about to add more traditional target
strings. `npm_config_target` remains, since that's what `npm` expects.