Commit graph

2721 commits

Author SHA1 Message Date
Marc Durdin
73275daeb2
Merge pull request #10927 from keymanapp/fix/developer/10372-hint-special-text-rendering
fix(developer): hint text special characters
2024-03-05 16:04:28 +07:00
Marc Durdin
7ddc7e315e
Merge pull request #10903 from keymanapp/fix/developer/10872-move-osk-dep-into-kmc-kmn
fix(developer): move osk.ts from developer-utils to kmc-kmn
2024-03-05 13:47:20 +07:00
Marc Durdin
e6db899453 fix(developer): hint text special characters
Fixes #10372.
2024-03-05 08:30:37 +07:00
Marc Durdin
dd6b942182
Merge pull request #10906 from keymanapp/chore/developer/10889-deploy-compiler-messages-to-help-site
chore(developer): deploy compiler messages to help site
2024-03-04 12:10:18 +07:00
Marc Durdin
5ad76f9921 chore(developer): split export * for api-extractor for Osk
api-extractor returned the following error:
```
ERROR: The "export * as ___" syntax is not supported yet; as a workaround, use "import * as ___" with a separate "export { ___ }" declaration
```
2024-03-01 11:05:40 +07:00
Marc Durdin
d1aef64460 chore(developer): deploy compiler messages to help site
Fixes #10889.

This involved a bit more refactoring to help-keyman-com.sh in order to
allow for multiple paths to be uploaded.

I opted _not_ to move the entire Keyman Developer documentation into
this repository, partly because a number of pages are still in PHP
rather than Markdown.
2024-03-01 11:01:47 +07:00
Marc Durdin
ccb29e63d3
Merge pull request #10825 from keymanapp/test/developer/kmc-unit-test-infrastructure-messages
test(developer): kmc unit test infrastructure messages
2024-03-01 10:16:20 +07:00
Marc Durdin
9776aa7dbf fix(developer): move osk.ts from developer-utils to kmc-kmn
Fixes #10872. Modifies #10845.

developer-utils is also used by server. Because osk.ts depends on
common-types, this introduced a transitive dependency for
developer-utils. Packaging server for deployment as part of Keyman
Developer is fragile and we need to hand-code our internal dependencies,
as npm bundling struggles with in-repo dependencies. So we need to avoid
introducing extra dependencies into developer-utils at this time.

It turns out that osk.ts is used by kmc-kmn and kmc-analyze. kmc-analyze
already has a dependency on kmc-kmn, so it makes sense to put it there.
2024-03-01 08:47:04 +07:00
Marc Durdin
44ab67575f
Merge branch 'beta' into feat/developer/10207-kmc-message-command 2024-03-01 08:29:12 +07:00
Marc Durdin
abd5a86196
Merge branch 'beta' into refactor/developer/10207-message-detail 2024-03-01 07:54:31 +07:00
Marc Durdin
8e05592d41
Merge pull request #10867 from keymanapp/refactor/developer/10207-kmn-compiler-message-namespaces
refactor(developer): cleanup kmn compiler message namespaces
2024-03-01 07:52:31 +07:00
Marc Durdin
4f15c03ee6
Merge pull request #10856 from keymanapp/docs/developer/10207-kmc-kmn-documentation
docs(developer): kmc-kmn api documentation and some message documentation
2024-03-01 07:52:23 +07:00
Marc Durdin
02b459f231
Merge pull request #10818 from keymanapp/fix/developer/10817-project-welcome-scroll-bar
fix(developer): make sure scroll bar appears when needed in global welcome
2024-03-01 07:52:05 +07:00
Dr Mark C. Sinclair
29bfedbb78 chore(developer): Merge branch 'beta' into test/developer/kmc-unit-test-infrastructure-messages 2024-02-29 09:40:55 +00:00
Dr Mark C. Sinclair
c6ae4b183d chore(developer): change empty strings for nulls in unneeded outfile parameter for consistency 2024-02-29 09:39:36 +00:00
Marc Durdin
80ed28943f
Merge branch 'refactor/developer/10207-kmn-compiler-message-namespaces' into refactor/developer/10207-message-detail 2024-02-29 15:07:53 +07:00
Marc Durdin
8fd9b18ae6
Merge branch 'docs/developer/10207-kmc-kmn-documentation' into refactor/developer/10207-kmn-compiler-message-namespaces 2024-02-29 14:38:23 +07:00
Marc Durdin
7ea3b503c1
chore: Apply suggestions from code review
Co-authored-by: Steven R. Loomis <srl295@gmail.com>
2024-02-29 18:03:52 +11:00
Marc Durdin
5062bbad98 feat(developer): adds kmc message command
Realtes to #10207.

Adds a new `kmc message` command which prints detailed information about
any or all compiler messages, in JSON, text, or markdown formats.

Markdown format is emitted to file in a structured way to be deployed to
the help site automatically (coming in a subsequent commit).
2024-02-29 11:05:27 +07:00
Marc Durdin
4bb9b39ba2 refactor(developer): reorganize messages for adding details
Moved the ERROR_Message line above the Error_Message line for every
message in the compiler message files, as it makes the grouping clearer
once we start adding message details. For example, see the start of the
KmnCompilerMessages class.

Also wraps potentially-undefined parameters to the messages with a new
function `def`, shorthand for `CompilerMessageDef`, which converts the
parameter to '<param>' if it is undefined, which is helpful for
documentation.
2024-02-28 16:00:02 +07:00
Marc Durdin
c7afed7201 refactor(developer): split messages with callstacks into separate generator
Relates to #10207.

In order to include message detail in messages, it is helpful to split
out the exception messages which have a separate parameter, so that
parameter at the same position can be the message detail.

Introduces the CompilerMessageSpecWithException function which takes an
exceptionVar parameter to achieve this differentiation.
2024-02-28 11:34:49 +07:00
Steven R. Loomis
9c2a73a290 chore(common,developer): rename unicodeSet to uset in code
Fixes: rename unicodeSet to uset 🙀  #10657
2024-02-27 18:15:57 -06:00
Steven R. Loomis
209717a24a chore(core,developer): rename unicodeSet to uset in xml
chore(developer): rename unicodeSet to uset 🙀  #10657
2024-02-27 18:11:18 -06:00
Marc Durdin
534d5ec64f refactor(developer): cleanup kmn compiler message namespaces
This is in preparation for message documentation.

Moves all messages with the KmnCompiler namespace into
KmnCompilerMessages. For now, keeps CompilerMessages class as a subclass
of KmnCompilerMessages, for removal in 18.0.

Moves messages with KmnCompiler namespace from kmw-compiler-messages.ts
to kmn-compiler-messages.ts. This avoids confusion as to source of
message, and should allow us in the future to split the classes
entirely.
2024-02-28 06:58:19 +07:00
Marc Durdin
a350e6c161
Merge pull request #10854 from keymanapp/docs/developer/10207-kmc-analyze-documentation
docs(developer): add documentation for kmc-analyze
2024-02-27 16:05:15 +07:00
Marc Durdin
e1a8ce47e3
Merge pull request #10821 from keymanapp/fix/developer/10396-repeated-options-in-kmc
fix(developer): repeated options in kmc must now be fully specified
2024-02-27 16:04:50 +07:00
Marc Durdin
bfb2e53481 docs(developer): kmc-kmn api documentation and some message documentation
Relates to #10207.

Adds basic documentation for the API surfaces for kmc-kmn, and provides
documentation for a small subset of compiler messages.
2024-02-27 14:55:06 +07:00
Marc Durdin
413c26c934 docs(developer): add documentation for kmc-analyze
Relates to #10207.
2024-02-27 12:06:11 +07:00
Marc Durdin
912317a293
Merge pull request #10845 from keymanapp/refactor/developer/osk-module
refactor(developer): move osk module from common-types to developer-utils 📚
2024-02-27 11:35:03 +07:00
Marc Durdin
e2908262f5
Merge pull request #10842 from keymanapp/docs/developer/10207-package-READMEs
docs(developer): npm package readme files 📚
2024-02-27 11:34:56 +07:00
Marc Durdin
c3ae2b5050
Merge pull request #10839 from keymanapp/feat/developer/typescript-api-docs
feat(developer): add api-extractor and api-documenter, config, and build integration 📚
2024-02-27 11:34:42 +07:00
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