Concordia Language Compiler

raw JSON →
2.0.0-alpha.20 verified Fri May 01 auth: no javascript

Concordia Language Compiler (concordialang) is a CLI tool for acceptance testing driven by natural language specifications. It compiles Gherkin-like feature files into executable test scripts using pluggable test frameworks (e.g., CodeceptJS, Playwright). Version 2.0.0-alpha.20 is the latest alpha, released sporadically with incremental features like multi-package-manager support (npm, yarn, pnpm), plugin updates, and XPath support. Differentiators: test-framework-agnostic plugin architecture, built-in report generation, and focus on BDD/ATDD workflows with support for actions like 'accept alert'.

error Error: Cannot find module 'commander'
cause Missing commander dependency, or incorrect install.
fix
Run 'npm install concordialang' which includes commander as a dependency.
error SyntaxError: Unexpected token 'export'
cause Using require() on an ESM-only package.
fix
Use ES import syntax, or switch to CJS build if available.
error Plugin 'concordialang-plugin-codeceptjs' not found.
cause Plugin not installed or name misspelled.
fix
Install plugin: npm install concordialang-plugin-codeceptjs
breaking Plugin structure changed in v2.0.0-alpha.19, breaking compatibility with older plugins.
fix Update plugins to new structure; see concordialang-fake-plugin for example.
breaking ESM-only since v2.0.0-alpha.14; CommonJS require() not supported.
fix Use ES import syntax: import { compile } from 'concordialang'
deprecated --init option behavior changed; now creates output directory.
fix Review generated folder structure; output dir is now automatically created.
deprecated Version 2.0.0-alpha.20 is alpha; APIs unstable.
fix Pin exact version in package.json and test thoroughly.
gotcha Plugin version must match Concordia major version; v2 plugins incompatible with v1.
fix Use plugins marked for Concordia 2.
npm install concordialang
yarn add concordialang
pnpm add concordialang

Install concordialang and a plugin, create a feature file, then compile and run tests.

// Install the compiler and a plugin
npm install concordialang
npm install concordialang-plugin-codeceptjs

// Create a feature file 'hello.feature'
// Feature: Hello
//   Scenario: Say hello
//     Given I have a browser
//     When I go to "about:blank"
//     Then I see the page title is ""

// Compile and run
npx concordia compile hello.feature --plugin=codeceptjs --runner=webdriverio