* Initial attempt at CI to annotate new TSC errors
* Make tsconfig file valid
* enable debug
* Specify commit
* Fix commit specification
* Switch back to main
* Tweak permissions
* Add strict mode failure
* Attempt number two
* Fix ts-extra-args
* Add static analysis for tsc --strict
1829 added the spec files to 'src', presumably because they just
were't type checked otherwise, but this chaqnged the implicit rootDir
so the lib directory we shipped has types in src/ and spec/ which
meant lib/index.d.ts was at lib/src/index.d.ts.
Specify the rootDir on the build tsconfig to put it back in the
right place, and also try to make the base tsconfig never emit
to avoid it ever generating .d.ts files in silly places. Move all
the optoins related to emitting to -build since they aren't relevant
in the main one.
Is this a sensible way to do this? It doesn't feel terribly elegant.
Fixes https://github.com/vector-im/element-web/issues/18503
Regressed in https://github.com/matrix-org/matrix-js-sdk/pull/1829
Fixesvector-im/element-web#17743
The package @types/jest was not discovered because if types is specified, only packages listed will be included in the global scope.
Fixes https://github.com/vector-im/element-web/issues/14947
Much like element-web's Jitsi wrapper build steps, this downloads the emoji JSON at build time to ensure it gets reasonably updated. In the future, the spec might want to consider publishing a dedicated i18n package on npm for this, however this is fine for now. We download rather than copy/paste to ensure we always have an updated copy.
We'll let babel decide where best to put the sourcemaps. We previously needed inline sourcemaps for browserify to work, though `babelify` takes care of this now that we use `src/` (without sourcemaps in `lib/` being inline, the transform wouldn't work).
Typescript sourcemaps have also been enabled as a mental reminder that they will be exported. Babel is the only thing that uses the tsconfig for generation right now, and it appears to ignore the sourcemaps field.
For https://github.com/vector-im/riot-web/issues/8880
Features:
* Export modern JS
* Export typings
* Export source maps that actually mean something
* No longer supporting minified builds
This is a step towards being a boring SDK and not anticipating an install location.
This commit requires a major version bump of the SDK.