OpenFn/devtools ![CircleCI](https://circleci.com/gh/OpenFn/devtools.svg?style=svg)
A set of tools for writing & testing expressions, managing OpenFn projects,
and developing new adaptors.
🔥 The documentation for this project can be found at
docs.openfn.org. 🔥
Up and running
- Make sure you've got git (maybe GitBash for
Windows?)
- And Node.js (version 12 or greater)
- Run
git clone git@github.com:OpenFn/devtools.git
for SSH or
git clone https://github.com/OpenFn/devtools.git
- Run
cd devtools
- Run
./install.sh ssh
or ./install.sh https
to install core,
language-common, and language-http
Note: If you get a "permission denied" message when running ./install.sh
, try
run chmod +x ./install.sh
then retry the install command.
To install specific adaptors, run
./install.sh ${ssh || https} language-${name}
To interactively generate a project configuration yaml, run
./scripts/generate-project.js
You can run core from anywhere by using npm install -g
for global install
npm install -g github:openfn/core#main
Usage
Read the docs at
docs.openfn.org.
execute
takes:
-l [language-xyz].Adaptor
: The adaptor being used-e [expression.js]:
The expression being tested-s [state.json]
: The message data: {...}
and
credentialconfiguration: {...}
-o [output.json]
: The file to which the output will be written
Run a job like this:
./core/bin/core execute \
-l ./adaptors/language-XXXXXXX/ \
-s ./tmp/state.json \
-o ./tmp/output.json \
-e ./tmp/expression.js
Deploying Adaptors
CLI
Using the CLI via ./bin/cli
:
- release
- package-release
- check-package-json
via Docker
docker build -t dev
docker run --rm -it \
--name devtools \
-e GH_TOKEN=$GH_TOKEN \
-v $PWD:/opt \
-v $(realpath ../adaptor):/tmp/adaptor \
devtools \
cli release /tmp/adaptor