Skip to content

CAgcoder/jayvee

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jayvee

Jayvee is a DSL to model and execute automated data pipelines, e.g., for data engineering.

Official Docs

Development Quickstart

  1. Run npm ci to install the dependencies.
  2. Run npm run generate to generate TypeScript code from the Jayvee grammar definition.
  3. Run npm run build to compile all projects.
  4. In Visual Studio Code, press F5 to open a new window with the Jayvee extension loaded.
  5. Create a new file with a .jv file name suffix or open an existing file in the directory example.
  6. Verify that syntax highlighting, validation, completion etc. are working as expected.
  7. Run node dist/apps/interpreter/main.js to see options for the CLI of the interpreter; node dist/apps/interpreter/main.js <file> interprets a given .jv file.

In case you run into problems, make sure to use the current LTS version of Node.js and npm.

Projects overview

Name Description NPM package
language-server Jayvee language definition and language server implementation @jvalue/jayvee-language-server
interpreter Command line tool for interpreting Jayvee files @jvalue/jayvee-interpreter
language-server-web-worker Ready-to-use Jayvee language server, bundled as a Web Worker @jvalue/jayvee-language-server-web-worker
vs-code-extension Visual Studio Code extension for editing Jayvee files -
docs Website for Jayvee user documentation -
monaco-editor React component for editing Jayvee files @jvalue/jayvee-monaco
execution Shared code for Jayvee extensions and the interpreter -
extensions/std Standard Jayvee extension consisting of the extensions below -
extensions/rdbms Jayvee extension for relational databases -
extensions/tabular Jayvee extension for tabular data -

Scripts

Building all projects

npm run build

Linting all projects

npm run lint

Formatting project files via Nx

npm run format

Testing all projects

npm run test

Generating TypeScript code from the grammar definition

npm run generate

Examples

Load data about cars into a local SQLite db

npm run example:cars

Load GTFS data into SQLite db

npm run example:gtfs

Load data about german gas reserves into a postgres database

  1. Start postgres database
docker compose -f ./example/docker-compose.example.yml up
  1. Run example
npm run example:gas

About

Jayvee is a domain-specific language to describe automated data pipelines

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.4%
  • JavaScript 4.0%
  • CSS 0.6%