Introducing the Artifact Generator
If you’re working on Solid applications, you know the challenges that come with using and sharing vocabularies with others. Whether you are working with (or extending) existing vocabularies or creating your own, it can be challenging to use vocabularies consistently and share them within your team or across multiple teams. Keeping everyone in sync with term changes, often across multiple programming languages, can be difficult (e.g., server-side backend code in Java, front-end code in JavaScript, analytics code in Python, etc.).
We are excited to announce the first public release of the Artifact Generator. This is the outcome of months of work on our client libraries, not just providing convenient JavaScript objects for well-known vocabularies but also using them ourselves. In the process, we’ve tested different approaches and developed a tool that works across multiple vocabularies and programming languages.
The Artifact Generator is designed to make it easier for developers to use vocabularies in applications by generating language-native source-code constants from all the terms contained within those vocabularies.
You can use this command-line tool to generate source-code constants from vocabulary terms, bundle that source-code into artifacts, and publish them to artifact repositories (such as npmjs, Maven Central, Verdaccio, CloudSmith, etc.). You can use it with your vocabularies or extend existing ones.
In this first release, the Artifact Generator comes pre-configured with support for Java, JavaScript, and TypeScript. Still, you can easily extend it to more languages using your language-specific templates. It also comes with several features to facilitate managing multiple vocabularies across multiple programming languages, e.g., file watchers to automatically re-generate a vocabulary when it changes, local cache for remote vocabularies, support for meta-data, bundles, auto-generated documentation, and more.
The Artifact Generator is open source, and we hope you give it the same support and trust that the other Inrupt libraries have so far benefited from.
Check out our documentation to learn more about the Artifact Generator and how to use it with your own or existing vocabularies in your Solid apps.