From 70838ff1ac16eefd91d933c0982232e2f891b4aa Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Thu, 3 Apr 2025 09:23:58 +0700 Subject: [PATCH] refactor(developer): rename to developer-utils-messages.ts Renames common-messages.ts to developer-utils-messages.ts. This was split from /common/web/types, but the messages module retained the old name, which was confusing (two modules with same name). --- .../web/utils/src/compiler-interfaces.ts | 5 +++-- ...messages.ts => developer-utils-messages.ts} | 14 +++++++------- developer/src/common/web/utils/src/index.ts | 2 +- .../web/utils/src/types/kps/kps-file-reader.ts | 4 ++-- .../ldml-keyboard/ldml-keyboard-xml-reader.ts | 18 +++++++++--------- .../utils/test/kps/kps-file-reader.tests.ts | 4 ++-- .../ldml/ldml-keyboard-xml-reader.tests.ts | 16 ++++++++-------- .../src/compiler/package-compiler-messages.ts | 4 ++-- .../src/kmc/src/messages/messageNamespaces.ts | 6 +++--- 9 files changed, 37 insertions(+), 36 deletions(-) rename developer/src/common/web/utils/src/{common-messages.ts => developer-utils-messages.ts} (86%) diff --git a/developer/src/common/web/utils/src/compiler-interfaces.ts b/developer/src/common/web/utils/src/compiler-interfaces.ts index 869e0165da..18b93d9c88 100644 --- a/developer/src/common/web/utils/src/compiler-interfaces.ts +++ b/developer/src/common/web/utils/src/compiler-interfaces.ts @@ -233,9 +233,10 @@ export enum CompilerErrorNamespace { */ LdmlKeyboardCompiler = 0x0000, /** - * common/web/types errors between 0x1000…0x1FFF + * common/web/utils errors between 0x1000…0x1FFF + * was previously called CommonTypes */ - CommonTypes = 0x1000, + DeveloperUtils = 0x1000, /** * kmc-kmn errors between 0x2000…0x2FFF; these map to * the base codes found in kmn_compiler_errors.h, exclusive severity flags diff --git a/developer/src/common/web/utils/src/common-messages.ts b/developer/src/common/web/utils/src/developer-utils-messages.ts similarity index 86% rename from developer/src/common/web/utils/src/common-messages.ts rename to developer/src/common/web/utils/src/developer-utils-messages.ts index 6eca08d37c..eb69e42385 100644 --- a/developer/src/common/web/utils/src/common-messages.ts +++ b/developer/src/common/web/utils/src/developer-utils-messages.ts @@ -4,14 +4,14 @@ import { CompilerErrorNamespace, CompilerErrorSeverity, CompilerMessageDef as def, CompilerMessageSpec as m } from './compiler-interfaces.js'; import { constants } from '@keymanapp/ldml-keyboard-constants'; -const CommonTypesErrMask = CompilerErrorNamespace.CommonTypes; -// const SevInfo = CompilerErrorSeverity.Info | CommonTypesErrMask; -// const SevHint = CompilerErrorSeverity.Hint | CommonTypesErrMask; -// const SevWarn = CompilerErrorSeverity.Warn | CommonTypesErrMask; -const SevError = CompilerErrorSeverity.Error | CommonTypesErrMask; -// const SevFatal = CompilerErrorSeverity.Fatal | CommonTypesErrMask; +const DeveloperUtilsErrMask = CompilerErrorNamespace.DeveloperUtils; +// const SevInfo = CompilerErrorSeverity.Info | DeveloperUtilsErrMask; +// const SevHint = CompilerErrorSeverity.Hint | DeveloperUtilsErrMask; +// const SevWarn = CompilerErrorSeverity.Warn | DeveloperUtilsErrMask; +const SevError = CompilerErrorSeverity.Error | DeveloperUtilsErrMask; +// const SevFatal = CompilerErrorSeverity.Fatal | DeveloperUtilsErrMask; -export class CommonTypesMessages { +export class DeveloperUtilsMessages { // structured Ajv validation error static ERROR_SchemaValidationError = SevError | 0x0001; static Error_SchemaValidationError = (o:{instancePath:string, keyword:string, message: string, params: string}) => m(this.ERROR_SchemaValidationError, diff --git a/developer/src/common/web/utils/src/index.ts b/developer/src/common/web/utils/src/index.ts index f3e23e79f2..5a435a577e 100644 --- a/developer/src/common/web/utils/src/index.ts +++ b/developer/src/common/web/utils/src/index.ts @@ -63,7 +63,7 @@ export { defaultCompilerOptions, CompilerBaseOptions, CompilerOptions, CompilerE export { UrlSubpathCompilerCallback } from './utils/UrlSubpathCompilerCallback.js'; -export { CommonTypesMessages } from './common-messages.js'; +export { DeveloperUtilsMessages } from './developer-utils-messages.js'; export * as SourceFilenamePatterns from './source-filename-patterns.js'; export { KeymanXMLType, KeymanXMLWriter, KeymanXMLReader } from './xml-utils.js'; diff --git a/developer/src/common/web/utils/src/types/kps/kps-file-reader.ts b/developer/src/common/web/utils/src/types/kps/kps-file-reader.ts index 73f2280ebc..c41a30ebb4 100644 --- a/developer/src/common/web/utils/src/types/kps/kps-file-reader.ts +++ b/developer/src/common/web/utils/src/types/kps/kps-file-reader.ts @@ -9,7 +9,7 @@ import { util } from '@keymanapp/common-types'; import boxXmlArray = util.boxXmlArray; -import { CommonTypesMessages } from "../../common-messages.js"; +import { DeveloperUtilsMessages } from "../../developer-utils-messages.js"; import { CompilerCallbacks } from "../../compiler-callbacks.js"; import { KeymanXMLReader } from "../../xml-utils.js"; import { KpsPackage } from "./kps-file.js"; @@ -29,7 +29,7 @@ export class KpsFileReader { a = new KeymanXMLReader('kps') .parse(data) as KpsPackage; } catch(e) { - this.callbacks.reportMessage(CommonTypesMessages.Error_InvalidPackageFile({e})); + this.callbacks.reportMessage(DeveloperUtilsMessages.Error_InvalidPackageFile({e})); } return a; })(); diff --git a/developer/src/common/web/utils/src/types/ldml-keyboard/ldml-keyboard-xml-reader.ts b/developer/src/common/web/utils/src/types/ldml-keyboard/ldml-keyboard-xml-reader.ts index 0a5abf6355..c8bbbe40dd 100644 --- a/developer/src/common/web/utils/src/types/ldml-keyboard/ldml-keyboard-xml-reader.ts +++ b/developer/src/common/web/utils/src/types/ldml-keyboard/ldml-keyboard-xml-reader.ts @@ -4,7 +4,7 @@ * Reads a LDML XML keyboard file into JS object tree and resolves imports */ import { SchemaValidators, util } from '@keymanapp/common-types'; -import { CommonTypesMessages } from '../../common-messages.js'; +import { DeveloperUtilsMessages } from '../../developer-utils-messages.js'; import { CompilerCallbacks } from "../../compiler-callbacks.js"; import { LDMLKeyboardXMLSourceFile, LKImport, ImportStatus } from './ldml-keyboard-xml.js'; import { constants } from '@keymanapp/ldml-keyboard-constants'; @@ -219,7 +219,7 @@ export class LDMLKeyboardXMLSourceFileReader { const { base, path } = asImport; // If base is not an empty string (or null/undefined), then it must be 'cldr' if (base && base !== constants.cldr_import_base) { - this.callbacks.reportMessage(CommonTypesMessages.Error_ImportInvalidBase({base, path, subtag})); + this.callbacks.reportMessage(DeveloperUtilsMessages.Error_ImportInvalidBase({base, path, subtag})); return false; } let importData: Uint8Array; @@ -228,7 +228,7 @@ export class LDMLKeyboardXMLSourceFileReader { // CLDR import const paths = path.split('/'); if (paths[0] == '' || paths[1] == '' || paths.length !== 2) { - this.callbacks.reportMessage(CommonTypesMessages.Error_ImportInvalidPath({base, path, subtag})); + this.callbacks.reportMessage(DeveloperUtilsMessages.Error_ImportInvalidPath({base, path, subtag})); return false; } if (constants.treatAsLatest(paths[0])) { @@ -241,7 +241,7 @@ export class LDMLKeyboardXMLSourceFileReader { importData = this.readLocalImportFile(path); } if (!importData || !importData.length) { - this.callbacks.reportMessage(CommonTypesMessages.Error_ImportReadFail({base, path, subtag})); + this.callbacks.reportMessage(DeveloperUtilsMessages.Error_ImportReadFail({base, path, subtag})); return false; } const importXml: any = this.loadUnboxed(importData); // TODO-LDML: have to load as any because it is an arbitrary part @@ -249,7 +249,7 @@ export class LDMLKeyboardXMLSourceFileReader { // importXml will have one property: the root element. if (!importRootNode) { - this.callbacks.reportMessage(CommonTypesMessages.Error_ImportWrongRoot({base, path, subtag})); + this.callbacks.reportMessage(DeveloperUtilsMessages.Error_ImportWrongRoot({base, path, subtag})); return false; } // pull all children of importXml[subtag] into obj @@ -259,7 +259,7 @@ export class LDMLKeyboardXMLSourceFileReader { if (!Array.isArray(subsubval)) { // This is somewhat of an internal error, indicating that a non-mergeable XML file was imported // Not exercisable with the standard LDML imports. - this.callbacks.reportMessage(CommonTypesMessages.Error_ImportMergeFail({base, path, subtag, subsubtag})); + this.callbacks.reportMessage(DeveloperUtilsMessages.Error_ImportMergeFail({base, path, subtag, subsubtag})); return false; } // Mark all children as an import @@ -286,7 +286,7 @@ export class LDMLKeyboardXMLSourceFileReader { public validate(source: LDMLKeyboardXMLSourceFile | LDMLKeyboardTestDataXMLSourceFile): boolean { if(!SchemaValidators.default.ldmlKeyboard3(source)) { for (const err of (SchemaValidators.default.ldmlKeyboard3).errors) { - this.callbacks.reportMessage(CommonTypesMessages.Error_SchemaValidationError({ + this.callbacks.reportMessage(DeveloperUtilsMessages.Error_SchemaValidationError({ instancePath: err.instancePath, keyword: err.keyword, message: err.message || 'Unknown AJV Error', // docs say 'message' is optional if 'messages:false' in options @@ -318,7 +318,7 @@ export class LDMLKeyboardXMLSourceFileReader { try { source = this.loadUnboxed(file); } catch(e) { - this.callbacks.reportMessage(CommonTypesMessages.Error_InvalidXml({e})); + this.callbacks.reportMessage(DeveloperUtilsMessages.Error_InvalidXml({e})); return null; } @@ -359,7 +359,7 @@ export class LDMLKeyboardXMLSourceFileReader { } else if (r.length === 1) { return r[0]; } else { - this.callbacks.reportMessage(CommonTypesMessages.Error_TestDataUnexpectedArray({subtag})); + this.callbacks.reportMessage(DeveloperUtilsMessages.Error_TestDataUnexpectedArray({subtag})); return null; // ERROR } } diff --git a/developer/src/common/web/utils/test/kps/kps-file-reader.tests.ts b/developer/src/common/web/utils/test/kps/kps-file-reader.tests.ts index 1b809f39d0..ddf6ec48a9 100644 --- a/developer/src/common/web/utils/test/kps/kps-file-reader.tests.ts +++ b/developer/src/common/web/utils/test/kps/kps-file-reader.tests.ts @@ -14,7 +14,7 @@ import { makePathToFixture } from '../helpers/index.js'; import { KpsFileReader } from "../../src/types/kps/kps-file-reader.js"; import { KpsFileWriter } from '../../src/types/kps/kps-file-writer.js'; -import { CommonTypesMessages } from '../../src/common-messages.js'; +import { DeveloperUtilsMessages } from '../../src/developer-utils-messages.js'; const callbacks = new TestCompilerCallbacks(); @@ -80,6 +80,6 @@ describe('kps-file-reader', function () { assert.isNull(kps); assert.lengthOf(callbacks.messages, 1); - assert.isTrue(callbacks.hasMessage(CommonTypesMessages.ERROR_InvalidPackageFile)); + assert.isTrue(callbacks.hasMessage(DeveloperUtilsMessages.ERROR_InvalidPackageFile)); }); }); diff --git a/developer/src/common/web/utils/test/ldml/ldml-keyboard-xml-reader.tests.ts b/developer/src/common/web/utils/test/ldml/ldml-keyboard-xml-reader.tests.ts index dc6f3021ae..d2dfb86370 100644 --- a/developer/src/common/web/utils/test/ldml/ldml-keyboard-xml-reader.tests.ts +++ b/developer/src/common/web/utils/test/ldml/ldml-keyboard-xml-reader.tests.ts @@ -1,7 +1,7 @@ import 'mocha'; import {assert} from 'chai'; +import { DeveloperUtilsMessages } from '../../src/developer-utils-messages.js'; import { Constants } from '@keymanapp/common-types'; -import { CommonTypesMessages } from '../../src/common-messages.js'; import { LKKey, ImportStatus } from '../../src/types/ldml-keyboard/ldml-keyboard-xml.js'; import { testReaderCases } from '../helpers/reader-callback-test.js'; @@ -19,7 +19,7 @@ describe('ldml keyboard xml reader tests', function () { testReaderCases([ { subpath: 'invalid-structure-per-dtd.xml', - errors: [CommonTypesMessages.Error_SchemaValidationError({ + errors: [DeveloperUtilsMessages.Error_SchemaValidationError({ instancePath: '/keyboard3', keyword: 'required', message: `must have required property 'info'`, @@ -28,7 +28,7 @@ describe('ldml keyboard xml reader tests', function () { }, { subpath: 'invalid-conforms-to.xml', - errors: [CommonTypesMessages.Error_SchemaValidationError({ + errors: [DeveloperUtilsMessages.Error_SchemaValidationError({ instancePath: '/keyboard3/conformsTo', keyword: 'enum', message: `must be equal to one of the allowed values`, @@ -150,7 +150,7 @@ describe('ldml keyboard xml reader tests', function () { subpath: 'invalid-import-base.xml', loadfail: true, errors: [ - CommonTypesMessages.Error_ImportInvalidBase({ + DeveloperUtilsMessages.Error_ImportInvalidBase({ base: 'SOME_INVALID_BASE', path: 'B', subtag: 'C' @@ -161,7 +161,7 @@ describe('ldml keyboard xml reader tests', function () { subpath: 'invalid-import-local.xml', loadfail: true, errors: [ - CommonTypesMessages.Error_ImportReadFail({ + DeveloperUtilsMessages.Error_ImportReadFail({ base: undefined, path: 'keys-Zyyy-DOESNOTEXIST.xml', subtag: 'keys' @@ -172,7 +172,7 @@ describe('ldml keyboard xml reader tests', function () { subpath: 'invalid-import-path.xml', loadfail: true, errors: [ - CommonTypesMessages.Error_ImportInvalidPath({ + DeveloperUtilsMessages.Error_ImportInvalidPath({ base: 'cldr', path: '45/too/many/slashes/leading/to/nothing-Zxxx-does-not-exist.xml', subtag: null, @@ -183,7 +183,7 @@ describe('ldml keyboard xml reader tests', function () { subpath: 'invalid-import-readfail.xml', loadfail: true, errors: [ - CommonTypesMessages.Error_ImportReadFail({ + DeveloperUtilsMessages.Error_ImportReadFail({ base: 'cldr', path: '45/none-Zxxx-does-not-exist.xml', subtag: null, @@ -194,7 +194,7 @@ describe('ldml keyboard xml reader tests', function () { subpath: 'invalid-import-wrongroot.xml', loadfail: true, errors: [ - CommonTypesMessages.Error_ImportWrongRoot({ + DeveloperUtilsMessages.Error_ImportWrongRoot({ base: null, path: '45/keys-Zyyy-punctuation.xml', subtag: 'flicks', diff --git a/developer/src/kmc-package/src/compiler/package-compiler-messages.ts b/developer/src/kmc-package/src/compiler/package-compiler-messages.ts index 5a088be128..d98ff747e0 100644 --- a/developer/src/kmc-package/src/compiler/package-compiler-messages.ts +++ b/developer/src/kmc-package/src/compiler/package-compiler-messages.ts @@ -144,7 +144,7 @@ export class PackageCompilerMessages { `The source file '${def(o.filename)}' should not be included in the package; instead include the compiled result.` ); - // 0x001E was ERROR_InvalidPackageFile, now CommonTypesMessages.Error_InvalidPackageFile + // 0x001E was ERROR_InvalidPackageFile, now DeveloperUtilsMessages.Error_InvalidPackageFile static ERROR_FileRecordIsMissingName = SevError | 0x001F; static Error_FileRecordIsMissingName = (o:{description:string}) => m(this.ERROR_FileRecordIsMissingName, @@ -191,7 +191,7 @@ export class PackageCompilerMessages { `The format for version numbers should be number[.number[.number]]. Each number component should be an integer, without leading zeroes.` ); - + static ERROR_PackageMustNotContainItself = SevError | 0x0028; static Error_PackageMustNotContainItself = (o:{outputFilename: string}) => m( this.ERROR_PackageMustNotContainItself, `The package may not include a .kmp file of the same name '${def(o.outputFilename)}'.`, ` diff --git a/developer/src/kmc/src/messages/messageNamespaces.ts b/developer/src/kmc/src/messages/messageNamespaces.ts index 3918d7183d..792acffd19 100644 --- a/developer/src/kmc/src/messages/messageNamespaces.ts +++ b/developer/src/kmc/src/messages/messageNamespaces.ts @@ -1,4 +1,4 @@ -import { CommonTypesMessages, CompilerErrorNamespace } from '@keymanapp/developer-utils'; +import { DeveloperUtilsMessages, CompilerErrorNamespace } from '@keymanapp/developer-utils'; import { AnalyzerMessages } from '@keymanapp/kmc-analyze'; import { CopierMessages } from '@keymanapp/kmc-copy'; import { GeneratorMessages } from '@keymanapp/kmc-generate'; @@ -13,7 +13,7 @@ import { InfrastructureMessages } from './infrastructureMessages.js'; // Maps every compiler error namespace to the corresponding implementation const messageNamespaces: Record = { [CompilerErrorNamespace.LdmlKeyboardCompiler]: LdmlCompilerMessages, - [CompilerErrorNamespace.CommonTypes]: CommonTypesMessages, + [CompilerErrorNamespace.DeveloperUtils]: DeveloperUtilsMessages, [CompilerErrorNamespace.KmnCompiler]: KmnCompilerMessages, [CompilerErrorNamespace.ModelCompiler]: ModelCompilerMessages, [CompilerErrorNamespace.PackageCompiler]: PackageCompilerMessages, @@ -38,7 +38,7 @@ export type CompilerMessageSource = { // TODO: consolidate with messageNamespaces above export const messageSources: Record = { [CompilerErrorNamespace.LdmlKeyboardCompiler]: { module: 'kmc-ldml', class: LdmlCompilerMessages }, - [CompilerErrorNamespace.CommonTypes]: { module: 'common-types', class: CommonTypesMessages }, + [CompilerErrorNamespace.DeveloperUtils]: { module: 'developer-utils', class: DeveloperUtilsMessages }, [CompilerErrorNamespace.KmnCompiler]: { module: 'kmc-kmn', class: KmnCompilerMessages }, [CompilerErrorNamespace.ModelCompiler]: { module: 'kmc-model', class: ModelCompilerMessages }, [CompilerErrorNamespace.PackageCompiler]: { module: 'kmc-package', class: PackageCompilerMessages },