@discord/intl-message-database
TypeScript icon, indicating that this package has built-in type declarations

0.23.1 • Public • Published

intl_message_database

A Rust-based native Node extension module for quickly parsing, processing, and generating structured message definitions across an entire project. This is the core module powering all of the loaders, transformer plugins, and other tooling that relate to messages and translations. It includes a custom parser to handle a combination of ICU MessageFormat syntax for variable interpolations, along with (almost) full support for Markdown's inline styling syntax, and is able to output reformatted strings, ASTs, type definitions, perform validations across multiple translations, and more.

This crate is primarily developed for the Node API, but is implemented in a way that allows for other interfaces in the future (or splitting into multiple crates).

Business logic for this crate should be exposed as a Rust interface through the public.rs module. Interfaces for other languages should then be added as separate modules that proxy types from those languages to the public module. They should not perform any other work or logic independently.

Development

This crate is managed by the intl-cli, including commands for building and testing it across platforms:

# Build the library locally
pnpm intl-cli db build --target local
# Build specifically for a given target name
pnpm intl-cli db build --target darwin-arm64
# Run the benchmark tests on a local build to compare performance
pnpm intl-cli db bench

Readme

Keywords

none

Package Sidebar

Install

npm i @discord/intl-message-database

Weekly Downloads

5,718

Version

0.23.1

License

MIT

Unpacked Size

11.4 kB

Total Files

5

Last publish

Collaborators

  • discord_npmjs