Skip to content

mxskylar/phlexicon

Repository files navigation

Phlexicon

A catalog of phonemes in hundreds of languages, dialects, and lexicons—both signed and spoken.

Demo of Phlexicon app

See the user guide for details about the app. Read the reast of this README for technical details.

Phlexicon would be nothing without the open source data and frameworks it depends on. Read more about those here.

Install

Download the latest release for your operating system:

  • macOS: If your Mac uses an M1 chip, download an arm64 file. Download either a zip or dmg file.

At the moment, the app has only been tested on macOS (both Intel & M1 chips). App installation does not work on Windows yet, and app has not been tested on Linux.

  • Windows: Download the exe installer.
  • Linux: Download an rpm, deb, AppImage, pacman file.

Development

Phlexicon is an Electron app built with Node v23.10.0.

Use the following commands to build and debug the application. See the package.json to understand how they are configured.

Commands

Builds then launches the app from scratch.

npm start

Deletes cache? Yes, web resources & raw data previously downloaded by postinstall script are deleted then re-installed. If it exists, the previous version of the application bundled by npm run app are deleted then re-created.


Installs Node packages listed in the package.json, web resources (JavaScript UI frameworks, CSS style themes, & fonts), and raw data that will be inserted into the database by the npm run app command.

npm install

Deletes cache? Yes, web resources & raw data previously previously downloaded by the command are deleted, then re-installed. This does not apply to Node packages listed in the package.json, which are only re-installed if they do not exist in the cache.


Only installs Node packages listed in the package.json. Skips the postinstall script that installs all other dependencies.

npm install --ignore-scripts

Deletes cache? No, only installs Node packages that are not already in the cache. Preserves all other dependency caches that may contain web resources, raw data, etc.


Rebuilds sqlite3 module for Electron build.

npm install --ignore-scripts

Deletes cache? Only rebuilds sqlite3 package used by Electron build.


Bundles then launches the app.

npm run app

Deletes cache? Yes, deletes the bundle for the previous version of the app, if it exists, then re-creates it.


Bundles the application by copying web resources (JavaScript UI frameworks, CSS style themes, & fonts) into the bundle directory, parsing and inserting raw data into the database, compiling TypeScript into JavaScript, and bundling React with Webpack.

npm run init-app

Deletes cache? Yes, deletes the bundle for the previous version of the app, if it exists, then re-creates it.


Compiles TypeScript into JavaScript.

npm run compile-typescript

Deletes cache? Partially, replaces JavaScript files in application bundle, if they exist, with newly compiled files.


Bundles React JavaScript framework with Webpack.

npm run compile-react

Deletes cache? Partially, replaces JavaScript files in application bundle, if they exist, with newly compiled files.


Creates the database from scratch, inserts data, transpiles Typescript into JavaScript, then bundles the application with Webpack.

npm run build

Deletes cache? Yes, deletes the bundle for the previous version of the app, if it exists, then re-creates it.


Launches the Electron application.

npm run electron

Deletes cache? No, launches the app using its existing bundle.


Packages app distribution for macOS. Only works when run on macOS.

npm run dist-mac

Deletes cache? Partially, replaces files for previous app macOS distribution, if they exist.


Packages app distribution for Windows.

./electron-builder-docker win
npm run dist-win

These commands may give the following, expected error while still succeeding to package the app for Windows.

0024:err:environ:run_wineboot failed to start wineboot 1

Deletes cache? Partially, replaces files for previous app Windows distributions, if they exist.


Packages app distribution for Linux.

./electron-builder-docker linux
npm run dist-linux

Deletes cache? Partially, replaces files for previous app Linux distributions, if they exist.

About

A catalog of phonemes in hundreds of languages, dialects, and lexicons—both signed and spoken.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages