Commit graph

2740 commits

Author SHA1 Message Date
Marc Durdin
212922dab6
chore: Update developer/src/kmc/README.md 2024-02-27 15:33:38 +11:00
Marc Durdin
1fe67bbd2a
chore: Update developer/build.sh 2024-02-27 15:29:14 +11:00
Marc Durdin
4319d30ca3
chore: Update developer/src/kmc/README.md
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2024-02-27 15:28:19 +11:00
Steven R. Loomis
845a6fe501 fix(developer): exit kmc test data generation if any failure messages
- check for failing messages in the callback, not just failing compiles (no output)

Fixes: #10752

Co-authored-by: Marc Durdin <marc@durdin.net>
2024-02-26 14:32:19 -06:00
Dr Mark C. Sinclair
5e64ddbf57 chore(developer): suppress code coverage check on Error_OutFileCanOnlyBeSpecifiedWithSingleInfile 2024-02-26 12:07:40 +00:00
Dr Mark C. Sinclair
5eb6eb54e1 chore(developer): focus HINT_ProjectIsVersion10 test on just that message 2024-02-26 12:02:32 +00:00
Marc Durdin
70a50f0f67 refactor(developer): move osk module from common-types to developer-utils
This module is used only by Keyman Developer compiler. It was originally
in common-types because we didn't have a shared module for Developer.

Moving it to @keymanapp/developer-utils in order to improve its
documentation.
2024-02-26 14:57:27 +07:00
Marc Durdin
7a12fdb6dc chore(developer): Merge branch 'feat/developer/10207-publish-api-docs' into docs/developer/10207-package-READMEs 2024-02-26 14:07:17 +07:00
Marc Durdin
ff421e0442 chore(developer): baseline api report files for kmc modules 2024-02-26 14:03:25 +07:00
Marc Durdin
602b519057 docs(developer): npm package readme files 2024-02-26 14:00:51 +07:00
Marc Durdin
ec1238e35f chore(developer): only build api on build target 2024-02-26 13:26:38 +07:00
Marc Durdin
a8d0d8454c feat(developer): add api documentation to build
Relates to #10207.

Adds the `api` action to build.sh for each affected module. The `api`
action for each module will generate the api metadata files, and then
the markdown files are generated by /developer/build.sh api.

Note that developer-utils, kmc, and kmcmplib have no api documentation
at this time (and kmcmplib is not Typescript so would need separate
tooling anyway).
2024-02-26 11:45:36 +07:00
Marc Durdin
661069c0c3 feat(developer): add api-extractor and api-documenter and config
Relates to #10207.

Adds @microsoft/api-extractor and @microsoft/api-documenter NPM
packages for validating and generating API documentation from Typescript
modules.

Adds basic configuration for each module that we will be publishing at
this time.

api-extractor's output will be emitted to /developer/docs/api/etc/, for
future release comparisons. A baseline output will be committed
separately.

The build outputs will be in /developer/build/docs and the intermediate
files will be in /developer/build/api.

Note that at this time, we will not enable the checks and validations.
That is a task for alpha rather than beta. The primary intent at this
time is to select a solid, well-supported toolchain for generating the
API documentation for kmc.
2024-02-26 11:37:32 +07:00
Dr Mark C. Sinclair
9e9c6031db chore(developer): add HINT_ProjectIsVersion10 unit test 2024-02-23 16:04:56 +00:00
Dr Mark C. Sinclair
b60fa29964 chore(developer): remove duplicate ERROR_InvalidProjectFolder (invalid source folder) test 2024-02-23 12:11:06 +00:00
Marc Durdin
7b198eb4a4 fix(developer): repeated options in kmc must now be fully specified
Fixes #10396.

Instead of `--message 20ae 5006`, which is ambiguous, because 5006 could
be a filename, you must now specify the parameter option flag each time:
`--message 20ae --message 5006` (or `-m 20ae -m 5006`).
2024-02-23 13:17:11 +07:00
Marc Durdin
05136e5dea fix(developer): make sure scroll bar appears when needed in global welcome
Fixes #10817.

This fix is a patch rather than a rework to use grid or flex css, which
would be better, but should not be done in beta.
2024-02-23 09:26:43 +07:00
Marc Durdin
b60243075d chore(common): upgrade sentry to 7.102.0 for Windows + Developer
Updates to version 7.102.0 of Sentry, in order to get working sourcemap
matching.
2024-02-22 12:51:01 +07:00
Marc Durdin
e50966f265 chore(developer): sentry 7.102.0 for Server 2024-02-22 12:45:28 +07:00
Marc Durdin
9a3d4e30f4 chore(developer): restore previous tags 2024-02-22 12:45:12 +07:00
Marc Durdin
d7411ec4c4 fix(developer): version string matches for sentry
Fixes two things:
* $VERSION_GIT_TAG was being misinterpreted by mkver as
  $VERSION + "_GIT_TAG". This has been addressed by making the $VERSION
  match the last one in the replaceVersionStrings_Mkver function, and
  also have moved to using the newer $VersionGitTag and $Environment
  vartiables instead.
* The 'dist' property was being set in sentry-cli sourcemap uploads,
  though we never set the dist prop when we initialize sentry.
2024-02-22 11:48:56 +07:00
Marc Durdin
335675dd6c chore(developer): try paths from resource parent instead
This matches the paths as shown in the server URLs
2024-02-22 10:14:38 +07:00
Marc Durdin
34f144259a fix(developer): strip paths from keymanweb sourcemaps when uploading to sentry
For keymanweb distribution only, strip all paths from sourcemaps when
uploading to Sentry, by running the sourcemap upload from the specific
folder. This maps to sentry-manager's stripping of paths in its
reporting.
2024-02-22 10:12:17 +07:00
Marc Durdin
5900ab4079 fix(developer): use --no-dedupe flag to avoid HTTP 414 in sentry-cli
Ref https://github.com/getsentry/sentry-cli/issues/1657

Seeing requests with > 16K URI (e.g. 48KB!) like:

  GET https://sentry.io/api/0/projects/keyman/keyman-developer/releases/release@17.0.273-beta-test-10798/files/?cursor=&checksum=004512221481ac19e94117147b07f028ba6c31d4&...

This will skip the de-dupe phase which is intended to reduce the number
of files being uploaded; as it was failing in some cases, and thus
uploading the files anyway, I am hopeful that it will have no
significant impact on the build time.
2024-02-22 05:53:15 +07:00
Marc Durdin
d66da2da91 fix(developer): improve uploading of sourcemaps to sentry
Fixes #10720.

This makes three fixes:
* Uploads each sourcemap path separately to try and avoid the 413 error
  noted in the issue above.
* Starts from the parent folder, as it is possible that paths starting
  with .. may be ignored, as they were not being uploaded to sentry.
* Removes a number of unneeded test files and debug symbols, which
  should reduce the size of each release's debug data upload, and
  slightly speed up the build.
2024-02-21 15:49:20 +07:00
Marc Durdin
dc93c5495c fix(developer): publish keymancore-1.dll symbols
Fixes #10737.

Two parts to this: first, Keyman Core release build needs to generate
the .pdb file, and second, the build needs to put it and the .dll into
a place where the sentry-cli scan will find it.
2024-02-21 13:53:52 +07:00
Marc Durdin
978fb125e6
Merge pull request #10781 from keymanapp/fix/developer/10684-crash-opening-invalid-project
fix(developer): crash opening invalid project
2024-02-21 12:00:57 +07:00
Marc Durdin
6a2bc432d6
Merge pull request #10780 from keymanapp/fix/developer/10545-reset-debugger-after-compile
fix(developer): reset debugger after ldml keyboard compile
2024-02-21 12:00:49 +07:00
Marc Durdin
16ece15653
Merge pull request #10779 from keymanapp/chore/developer/10543-ldml-project-text
chore(developer): add LDML specific text to Project view
2024-02-21 12:00:42 +07:00
Marc Durdin
0eaabe0283
Merge pull request #10777 from keymanapp/fix/developer/10678-fatal-errors-losing-message
fix(developer): ensure fatal errors report message or made non-fatal
2024-02-21 12:00:35 +07:00
Marc Durdin
7601ac9fca
Merge pull request #10775 from keymanapp/fix/developer/10546-tike-ide-message-formatting
fix(developer): match kmc console formatting for messages in IDE
2024-02-21 12:00:28 +07:00
Marc Durdin
5881645042 fix(developer): crash opening invalid project
Fixes #10684.

If a project .kpj file was not saved in UTF-8 or ANSI, or had a BOM,
then Keyman Developer would crash with an access violation due to an
uninitialized variable.
2024-02-20 13:04:07 +07:00
Marc Durdin
64c0a9c57c
Merge pull request #10759 from keymanapp/fix/developer/10751-kmc-parameters
fix(developer): allow more parameters in kmc.cmd
2024-02-20 12:52:32 +07:00
Marc Durdin
9045d2f970 fix(developer): reset debugger after ldml keyboard compile
Fixes #10545.
2024-02-20 12:51:36 +07:00
Marc Durdin
8115c15c3a chore(developer): add LDML specific text to Project view
Fixes #10543. Very basic text relating to LDML keyboards. Tweaks the
remaining text to match our project development model.
2024-02-20 12:03:34 +07:00
Marc Durdin
457275e46f fix(developer): ensure fatal errors report message or made non-fatal
Fixes #10678.

Some messages have been reduced to ERROR instead of FATAL, as they are
not internal compiler errors.

Where fatal messages are raised, the message will now be reported
through correctly to Sentry.
2024-02-20 11:10:39 +07:00
Marc Durdin
320f5c7519
Merge pull request #10765 from keymanapp/fix/developer/10752-exit-for-buildTestData
fix(developer): return an error code if build-test-data fails
2024-02-20 10:40:07 +07:00
Marc Durdin
3743c02eaa
Merge pull request #10767 from keymanapp/fix/developer/10548-no-rename-in-new-project
fix(developer): prevent renaming of new project types in New Project dialog
2024-02-20 10:39:59 +07:00
Marc Durdin
85e04a4745
Merge pull request #10766 from keymanapp/chore/developer/10741-hint-not-warn-for-gesture-support
chore(developer): reduce WARN_TouchLayoutUsesUnsupportedGesturesDownlevel to HINT
2024-02-20 10:39:52 +07:00
Marc Durdin
e431f850a0 fix(developer): match kmc console formatting for messages in IDE
Fixes #10546.

Format compiler messages in the same way as kmc, and match the colors
from kmc's console log messages.
2024-02-20 07:12:49 +07:00
Marc Durdin
0921ae0354 chore(developer): handle shift and root path in kmc.cmd 2024-02-20 06:18:15 +07:00
Steven R. Loomis
470a62aaaf fix(developer): missing variables tests. everywhere.
Fixes #10731
2024-02-19 16:39:53 -06:00
Steven R. Loomis
349168f237 chore(developer): rename MarkerTracker to SubstitutionTracker
- preparing to track variables also

For #10731
2024-02-19 14:16:04 -06:00
Marc Durdin
013fdfaf0c fix(developer): prevent renaming of new project types in New Project dialog
Fixes #10548.
2024-02-19 15:32:31 +07:00
Marc Durdin
3219754a6a chore(developer): reduce WARN_TouchLayoutUsesUnsupportedGesturesDownlevel to HINT
Fixes #10741.
2024-02-19 14:10:13 +07:00
Marc Durdin
d0d1e5e6fe fix(developer): return an error code if build-test-data fails
Fixes #10752.

Also removes `console.log()` call and replaces with appropriate call to
`callbacks.reportMessage()`.
2024-02-19 14:06:03 +07:00
Marc Durdin
3b02db860d fix(developer): allow more parameters in kmc.cmd
Fixes #10751.
2024-02-19 07:39:47 +07:00
Marc Durdin
1b22019941
Merge pull request #10756 from keymanapp/chore/developer/kmc-unit-test-infrastructure-messages
chore(developer): add infrastructure messages tests
2024-02-19 06:00:50 +07:00
Dr Mark C. Sinclair
d670e47186 chore(developer): corrected assert message in both ERROR_InvalidProjectFolder tests 2024-02-17 15:58:37 +07:00
Dr Mark C. Sinclair
dc5a6aabb4 chore(developer): added missing underscore in filename in ERROR_CannotCreateFolder test 2024-02-17 15:58:36 +07:00