Commit graph

64 commits

Author SHA1 Message Date
Joshua A. Horton
f6e77a3736 feat(web): alternate artifact - es6-bundled Web
Does not affect the worker.

Bundling is in a temp-script and not properly connected to our actual build infrastructure.
2023-12-18 10:32:35 +07:00
Marc Durdin
3e51389e17
Merge branch 'chore/common/9679-keyman-version-esm-only' into chore/common/9262-cleanup-final-non-esm 2023-10-04 19:07:37 +11:00
Marc Durdin
27dfef024d chore(common): restore (unused) test target for keyman-version 2023-10-04 14:41:31 +07:00
Marc Durdin
39699f75d5 chore(common): restore es5 target for keyman-version 2023-10-04 14:24:17 +07:00
Marc Durdin
d4e4992714 chore(common): cleanup final Typescript non-ESM metadata
Fixes #9262.
2023-10-04 12:55:51 +07:00
Marc Durdin
f432cab851 chore(common): keyman-version now generates only es module 2023-10-04 12:06:46 +07:00
Marc Durdin
de1c171f46 chore(developer): cleanup compiler messages in kmc
Fixes #8795.
Relates to #9090.

Cleans up and makes consistent compiler messages in kmc, and related
unit tests.

Adds support for colorized messages.

After installing chalk for ansi coloring in kmc, @types/node needed to
be brought in sync with the Typescript version, per the suggestion of
checking against `npm dist-tags @types/node`,found in a discussion at
https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/64262#discussioncomment-4905069

Additional tidying up includes:
* Deprecating a set of functions in compiler-interfaces, bringing them
  together under a new CompilerError class.
  Separating CompilerErrorSeverity and CompilerErrorMask enums.
* Making CompilerError.formatEvent (formerly compilerEventFormat) print
  messages in the same format as NodeCompilerCallbacks (sans coloring).
* Adding a wrapper class for CompilerCallbacks that manages the filename
  reporting, used currently exclusively by kmc itself.
2023-07-10 15:13:48 +07:00
Joshua A. Horton
e42fa70aa8 chore(web): Merge branch 'feature-esmodule-web-engine' into chore/web/update-feature-esmodule-a17s12-start 2023-05-02 12:59:35 +07:00
Marc Durdin
501cf03dc2 chore(common): update description for 'build.sh pack' 2023-04-12 14:18:31 +07:00
Marc Durdin
3265a714f2 chore(common): add missing deps and files for npm publish
The build/ folder for most packages was missing due to being listed in
.gitignore.

Also, @keymanapp/ldml-keyboard-constants package was not being published
despite being a dependency of @keymanapp/kmc-keyboard.

Instead of relying on npm's use of .gitignore / .npmignore (which has
seriously wonky behaviours), we list the files that should be included
in package.json.

NPM Wonky behaviours: it seems that .npmignore causes .gitignore in the
same folder to be ignored. But, higher level .gitignore files still
affect the files included in the package, which makes
specification-by-exclusion painful (negating exclusions, etc). We do not
recommend use of .npmignore anywhere for this reason.
2023-04-12 14:05:05 +07:00
Marc Durdin
10a59f789d fix(common): support npm pack and consolidate npm publishing
Fixes #8586.

All npm publish actions in the repository are now run as part of the
Developer release build, hosted at present by kmc, until we setup a
higher-level build script to do it.

Adds a 'pack' action which mirrors 'publish' for all npm packages.

Removes unnecessary dev dependencies of models-templates and
models-wordbreakers from kmc-model.

Web Release build CI step has been updated to check for presence of
.build-builder.
2023-04-12 11:55:31 +07:00
Marc Durdin
787b32ba34
Revert "chore(web): merge master into feature-esmodule-web-engine (A17S9 end) 🧩" 2023-03-31 14:17:37 +11:00
Joshua A. Horton
b85087f392 chore(web): Merge branch 'master' into chore/web/update-feature-esmodule-for-configure-fix 2023-03-23 15:15:07 +07:00
Marc Durdin
8c519861d9
Merge pull request #8431 from keymanapp/chore/common/common-test-build-configurations
chore(common): add common test build configurations
2023-03-15 11:33:16 +11:00
Marc Durdin
0811282ccf chore(common): add common/web/build.sh, small cleanup 2023-03-14 13:05:27 +07:00
Joshua Horton
10518dd62e
Merge pull request #8429 from keymanapp/chore/common/ldml-ts-and-node-updates
chore(common): TS updates to non-sync'd packages, feature-esmodule merge conflict prevention
2023-03-14 12:06:15 +07:00
Joshua A. Horton
f7d082981c chore: Merge branch 'master' into chore/feature-esmodule-master-update 2023-03-14 11:51:57 +07:00
Joshua A. Horton
befc3b4b3a chore(common): keyman-version clean action was incomplete 2023-03-14 09:39:09 +07:00
Joshua A. Horton
f5e64a10a5 chore: Merge branch 'chore/common/ldml-ts-and-node-updates' into chore/feature-esmodule-master-update 2023-03-14 09:23:39 +07:00
Joshua A. Horton
0da7ac24be chore(common): updates TS, sets export map for keyman-version 2023-03-14 08:22:26 +07:00
Marc Durdin
92ed99c4d6 chore(common): build script performance improvements
Improves build script performance by:
* using built-ins wherever possible (e.g. string splitting)
* eliminating redundant code
* using absolute (to $KEYMAN_ROOT) rather than relative paths to avoid realpath
* removing unnecessary `npm run` calls

BEFORE                         | AFTER
-------------------------------|----------------------
time ./core/build.sh --help    |
real    0m2.116s               | real    0m0.874s
user    0m0.578s               | user    0m0.198s
sys     0m0.984s               | sys     0m0.289s
-------------------------------|----------------------
time ./web/build.sh --help     |
real    0m3.523s               | real    0m0.757s
user    0m1.166s               | user    0m0.320s
sys     0m2.273s               | sys     0m0.455s
-------------------------------|----------------------
time ./web/build.sh -d         |
real    1m34.750s              | real    0m59.974s
user    0m9.721s               | user    0m6.284s
sys     0m19.652s              | sys     0m13.202s

@keymanapp-test-bot skip
2023-03-13 07:18:09 +07:00
Marc Durdin
06afdd262b chore(common): cleanup build.inc.sh echo
Makes the output of log messages from builder scripts more consistent,
and uses color more effectively to highlight specific parts of lines.
2023-03-01 14:51:08 +07:00
Marc Durdin
9eb472579c chore: Merge branch 'feature-ldml' into chore/merge-master-to-feature-ldml-A17S7-2 2023-02-23 08:05:31 +07:00
Marc Durdin
ce864ea923 chore: update standard script prolog to use builtin instead of dirname 2023-02-22 11:04:15 +07:00
Marc Durdin
463c7ff907 chore: remove greadlink from standard script prolog 2023-02-22 10:43:06 +07:00
Steven R. Loomis
bccc1e5720 Merge remote-tracking branch 'upstream/master' into chore/merge-master-20230217-epic-ldml 2023-02-17 18:52:33 -06:00
Joshua A. Horton
8fb5b42818 chore(common/web): Merge branch 'feature-esmodule-web-engine' into change/common/web/early-import-path-cleanup 2023-02-16 15:52:25 +07:00
Joshua A. Horton
6af1e4890e chore(web): Merge branch 'feature-esmodule-web-engine' into chore/web/feature-esmodule-update 2023-02-16 15:18:50 +07:00
Joshua A. Horton
878e0f0ea2 chore(common): updates typescript to 4.9.5 2023-02-09 08:40:52 +07:00
Steven R. Loomis
ae45295dc6 Merge remote-tracking branch 'upstream/master' into chore/merge-master-a17s5-REDO-epic-ldml 2023-02-03 16:53:35 -06:00
Joshua A. Horton
8f37539dfa chore(common/web): input-processor import path cleanup 2023-02-03 15:58:12 +07:00
Joshua A. Horton
24e71b849a fix(common): keyman-version describe_outputs path 2023-02-03 14:01:43 +07:00
Joshua A. Horton
b7e66406c7 chore(common/web): Merge branch 'feature-esmodule-web-engine' into change/common/web/early-import-path-cleanup 2023-02-03 12:57:27 +07:00
Joshua A. Horton
c577334e54 chore(common/web): post-merge patchup 2023-02-02 15:46:38 +07:00
Joshua A. Horton
9eded6c78d chore(common/web): Merge branch 'feature-esmodule-web-engine' into change/common/web/input-processor-modularization 2023-02-02 15:42:07 +07:00
Joshua A. Horton
dc6a2b909d change(common/web): cleaner import paths between in-repo packages 2023-02-02 12:41:51 +07:00
Joshua A. Horton
1d29b9adf3 chore(web): Merge branch 'feature-esmodule-web-engine' into change/web/util-modularization 2023-02-02 10:16:19 +07:00
Joshua A. Horton
d97f2b0bef change(common/web): dependency builds should also make CJS version artifact 2023-01-30 12:38:45 +07:00
Joshua A. Horton
0783516216 fix(common/web): generates a parallel CommonJS output for KEYMAN_VERSION 2023-01-27 10:40:58 +07:00
Marc Durdin
067028cec2 chore: revise tag variable name to VERSION_GIT_TAG
Introduce new $VERSION_GIT_TAG environment variable, and update all
references to release@version in all projects to use the new variable.
2023-01-21 17:02:50 +07:00
Joshua A. Horton
0e979a8fdf change(web): input-processor modularization - first pass 2023-01-20 14:50:56 +07:00
Joshua A. Horton
2f940935e8 fix(common/web): import path compat with node exec 2023-01-20 13:02:00 +07:00
Joshua A. Horton
588ccd49f5 change(web): util package modularization, bundling 2023-01-20 13:01:58 +07:00
Marc Durdin
34ece2182d fix(common): update sentry release identifiers to support semver
Fixes #7895.

This should mean that Sentry reports start to track semantic versions. I
have reviewed each project and I _think_ I've captured all the locations
where we need to construct release identifiers. Note that one of them
was fixed from a plain version number.

Docs on release format: https://docs.sentry.io/platforms/node/guides/serverless-cloud/configuration/releases/#bind-the-version
2023-01-17 17:04:24 +07:00
Steven R. Loomis
bc14f18460 Merge remote-tracking branch 'origin/master' into chore/core/mergemaster4-epic-ldml 2022-12-15 17:55:13 -06:00
Marc Durdin
c336a8052c fix(developer): publish @keymanapp/keyman-version to npm
Fixes #7582.

Because of https://github.com/npm/cli/issues/3466, we must publish our
internal dependency @keymanapp/keyman-version. This change adds a common
builder function builder_publish_to_npm in build-utils-ci.inc.sh to help
with that task, which should be adopted by other scripts that need to
publish to npm, in the future.

For now, responsibility for publishing keyman-version is delegated to
kmlmc. In the future, we will move this to a single top-level build
action that publishes all npm modules across the entire repo for the
given version.
2022-11-02 13:33:24 +11:00
Marc Durdin
cbb15b2cb9 chore(core): tweak scripts 2022-10-14 16:32:57 +11:00
Marc Durdin
0945b92732 chore: Merge branch 'master' into chore/merge-master-into-feature-ldml 2022-10-13 13:38:31 +11:00
Marc Durdin
1cecb87f7f feat(common): builder dependency support 2022-10-12 12:50:26 +11:00
Marc Durdin
cae408edc5 chore: merge feature-ldml into branch 2022-09-21 14:56:45 +10:00