Skip to content

Latest commit

 

History

History
90 lines (56 loc) · 2.36 KB

README.md

File metadata and controls

90 lines (56 loc) · 2.36 KB

lameta (the Metadata Editor for Transparent Archiving) is a tool for Language Documentation.

Mac & Windows Installers

Download Installers

Linux Installer

n8marti has kindly created a snap package

For Users

Learn more about this tool on its website: https://www.lameta.org/ lameta was previously known as SayMoreX.

For Developers

Stack: Typescript, React, mobx, webpack, electron.

Get Started

Make sure volta is installed. Verify that it is working correctly via volta list. You should see the same versions of node & yarn as are listed in packages.json.

yarn
yarn lingui compile  <-- just once, before dev will work
yarn dev

Packaging

To package apps for the local platform:

yarn package

More information available in the upstream project: electron-react-typescript-boilerplate

unit tests

yarn test

e2e tests

We are using playwright with "experimental electron support". As of this writing, it does not appear to be possible to make use of the vite dev server for this. While playwright can point to an arbitrary URL, the render process in electron is tied up with its own chromium browser and, in the case of electron, even has nodejs access. Therefore, e2e tests have to actually run a built exe of lameta.

yarn  e2ebuildwatch
yarn e2e

Note that at the time of this writing, playwright does not have a "watch" mode via command line, and the "ui" mode, which can watch, does not work with electron.

To run just one e2e fixture, name it:

yarn e2e registration.e2e.ts

To show the Playwright Inspector (which has a recorder), use

yarn e2erecord

l10n

When running lameta, if you see this in the Chrome debug console:

Uncaught Error: Cannot find module './en/messages.js'

then you need to do yarn lingui-compile.

Publishing a new release

The current process, which I don't love, is this:

  1. Change the version in package.json
  2. Commit, push. A github action will build installers for Mac and Windows and create an unpublished "Release" on github.
  3. Find that release, type in the description, and publish it.

License

MIT