1. Oct 09, 2023
    • Marc Durdin's avatar
      chore(developer): add --for-publishing to kmc · 35814bc2
      Marc Durdin authored
      The new --for-publishing flag allows us to enforce additional
      requirements for keyboards and lexical models that are to be published
      to the keymanapp repositories. This flag will always be switched on in
      the repository builds. This flag overrides the 'skipMetadata' option
      which is a project-level option.
      
      There is a bit of a delicate balance of requirements here:
      
      1. We want to be able to automatically verify keyboards and package
         licenses if they are in the repository.
      2. We do not want to force license checks on privately built keyboards
         and models.
      3. We want to provide pathways for users to check locally before
         submitting to the repository.
      4. If possible, we want to be able to build the .keyboard_info and
         .model_info files locally, but this should be up to the user for
         local builds.
      
      For now, the only additional check that this flag provides is to verify
      that the license is MIT, which was an unchecked requirement for the
      repositories in the past.
      
      Future checks can be added for file layout, additional required
      metadata files.
      
      Anticipate adding this as a tool to Keyman Developer IDE -- a
      'pre-publish' check -- in the future.
      35814bc2
    • Marc Durdin's avatar
      52291b1c
    • Marc Durdin's avatar
      chore(developer): Update kmc-package xml2js dependency · 0f5e8819
      Marc Durdin authored
      I missed adding this as a dependency for @keymanapp/kmc-package. because
      node has a very lenient dependency search, it found xml2js from other
      @keymanapp/common-types, so never caused errors locally.
      0f5e8819
    • Marc Durdin's avatar
      chore(common): stop using xml2js.processors.firstCharLowerCase · f76efc38
      Marc Durdin authored
      Fixes #9713.
      f76efc38
    • Marc Durdin's avatar
      fix(developer): non-minimal BCP 47 tags in kps should be a hint · 36a3a27b
      Marc Durdin authored
      Fixes #9266.
      
      For historical reasons there are many non-minimal BCP 47 tags in package
      metadata in the repository (over 2500). Furthermore, earlier versions of
      kmcomp did not fail the build on package compilation warnings. This
      means it is better to reduce WARN_LanguageTagIsNotMinimal to
      HINT_LanguageTagIsNotMinimal, so that we can otherwise respect the
      'treat warnings as errors' flag on the keyboard projects.
      
      We may be able to upgrade this to a warning again one day in the future.
      36a3a27b
  2. Oct 08, 2023
    • Marc Durdin's avatar
      refactor(developer): .keyboard_info examples should use keys as a string · cc5b8da6
      Marc Durdin authored
      Fixes #9708.
      
      Matches the kmp.json format of keys string in the .keyboard_info schema
      and compiler, in order to reduce the number of formats we are working
      with. This same format may be used elsewhere in Keyman schemas in the
      future for sets of keys, for example, I hope we can use it in regression
      tests.
      cc5b8da6
    • Marc Durdin's avatar
      feat(developer): introduce WelcomeFile property to packages · 40044493
      Marc Durdin authored
      Fixes #9478.
      
      This adds a property WelcomeFile to .kps and kmp.json, which allows us
      to move away from the hardcoded welcome.htm filename in the future, and
      makes transform from Markdown (#9477) a simpler operation, and just
      generally starts the cleanup of the messiness of hard-coded filenames.
      
      The package compiler will fallback to injecting welcome.htm into this
      property if (a) welcome.htm is present, and (b) the property does not
      already have a value. This doesn't buy us much because we still need to
      support welcome.htm for existing legacy packages, but does mean that
      our .kmp package metadata will be more consistent for packages compiled
      with 17.0+ compilers.
      40044493
  3. Oct 07, 2023
  4. Oct 06, 2023
  5. Oct 05, 2023
  6. Oct 04, 2023