Starting a Dataweave Track

I would like to spearhead starting a track for the Dataweave programming language.

You can find the documentation for the language here:

There is a testing framework that is available with the Dataweave Extension for VSCode:

I, and any other developers that use the Mulesoft integration platform, use this languag every day. Having a well-developed language track for new developers would be very helpful as a learning tool.

I’m happy to drive the development of the track, and I know a number of people in the Dataweave community who would be interested in helping out as well.

I’m walking my way through the documentation here to start the track.

Language Variant
Dataweave 2.X
Dataweave 1.x is specific to Mule 3 and is not what new developers will be learning for the most part.

Testing Framework
Testing framework should be the unit testing framework bundled with the Dataweave Extension for Visual Studio Code. It is the only Dataweave unit testing framework actively supported by Mulesoft and is currently available across Windows, Mac and Linux platforms as an Extension of VSCode.

Link to Extension
Installation Guide for the VSCode Extension
Dataweave Testing Framework Documentation

Can the tests be run from the command line? That would simplify the test runner, which runs in a docker container.

Yes, it’s a maven plugin, so you can just run mvn test to run all of the tests.

Is there an internal process for getting the language repo set up to start developing it?


That should give you the details you need to get started.

%dw 2.4
fun hello(): String =
    "Goodbye, Mars!"    

Here is the test file.

%dw 2.4
import * from dw::test::Tests
import * from dw::test::Asserts

import hello from HelloWorld

"HelloWorld" describedBy [
    "hello" describedBy [
        "It says Hello, world!" in do {
            hello() must equalTo("Hello, world!")
1 Like

See GitHub - exercism/generic-track, which contains instructions.

Thanks Erik!

I think at this point I’ve done everything listed there that isn’t for the internal team.

@ErikSchierboom Could you init this please :slight_smile:

Okay great. Two small questions:

  • The name of the track/language is Dataweave
  • What is you GitHub username?

Yes Dataweave is the language
My github username is claytonflesher

Great. You should have a GitHub invite for the GitHub - exercism/dataweave: Exercism exercises in Dataweave. repository.

Launch tracking · Issue #1 · exercism/dataweave · GitHub contains some useful information and links.

1 Like

@ErikSchierboom I don’t think I ever got a GitHub invite for that repo.

Could you double-checl?

I see the email now, but when I click on it I get the following. Maybe it expired?

Is it possible you have two different GitHub accounts?

I don’t have two accounts. I think the initial invite just expired before I accepted it.

I’ve sent a new invite.

Got it, thanks.