Programming language for distributed systems & p2p
Go to file
Anatolios Laskaris aa10706506
chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763)
* move integration tests to repo

* Move aqua-playground CI

* Fix

* Use local aqua cli

* Move aqua tests to e2e

* Test new build.sbt

* Fix?

* Test

* Test

* Test

* Test

* Update

* Fix

* Fix

* Fix

* fix

* Fix

* Rename aqua-api to api directory for consistency

* Migrate to pnpm

* Add bump version script

* Test snapshot workflow

* fix

* Fix

* Fix

* Setup pnpm

* Update pnpm version

* Fix

* Do not publish tests

* Update

* Fix

* Fix?

* delete import

* Fix

* Fix

* Fix?

* Fix

* Fix

* Use main branch

* Fix quotes

* Fix

* Fix release

* Cleanup

* Remove compiled examples

* Cleanup

---------

Co-authored-by: DieMyst <dmitry.shakhtarin@fluence.ai>
2023-06-22 14:59:56 +03:00
.devcontainer feat(devcontainer): Add js-client to devcontainer (#736) 2023-06-09 08:44:54 +00:00
.github chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00
.vscode Add support for the new features of JS SDK API (#251) 2021-09-08 13:16:59 +03:00
api chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00
aqua-run/src/main/scala/aqua/run feat(tracing): Introduce function calls tracing [fixes LNG-169] (#732) 2023-06-12 15:28:27 +02:00
aqua-src refactor: fix: LNG-143 LNG-144 definitions and locations algebras (#705) 2023-05-03 16:24:19 +03:00
backend feat(aqua-api): return JS and TS sources from API [LNG-164] (#730) 2023-06-07 14:07:14 +02:00
cli chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00
compiler/src fix(aqua-api): Add default constants to Aqua API [LNG-194] (#738) 2023-06-09 10:59:41 +00:00
integration-tests chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00
io refactor(js): NPM modules resolution (#722) 2023-05-31 12:00:13 +02:00
js refactor(js): NPM modules resolution (#722) 2023-05-31 12:00:13 +02:00
language-server chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00
linker/src Module and Use expressions (#245) 2021-08-20 18:03:47 +03:00
model refactor(compiler): Refactor Topology (#754) 2023-06-19 17:10:25 +02:00
parser/src fix(parser): Fix compare ops parsing (#748) 2023-06-14 12:52:30 +00:00
project chore(deps): update dependency sbt/sbt to v1.9.0 (#728) 2023-06-05 15:00:03 +03:00
semantics/src feat(tracing): Introduce function calls tracing [fixes LNG-169] (#732) 2023-06-12 15:28:27 +02:00
types/src feat(tracing): Introduce function calls tracing [fixes LNG-169] (#732) 2023-06-12 15:28:27 +02:00
utils Api for fluence cli (#611) 2022-12-28 11:30:42 +03:00
.gitignore chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00
.jvmopts Upper cased constants (#260) 2021-09-07 11:09:48 +03:00
.scalafmt.conf VarModel -> VarRaw in collect functions (#405) 2022-01-20 07:08:26 +03:00
build.sbt chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00
CHANGELOG.md chore(main): release aqua 0.11.7 (#758) 2023-06-16 15:41:56 +03:00
ci.cjs chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00
CONTRIBUTING.md feat(docs): README update (#667) 2023-02-20 11:42:55 +03:00
INSTALL.md feat(docs): README update (#667) 2023-02-20 11:42:55 +03:00
LICENSE feat(docs): README update (#667) 2023-02-20 11:42:55 +03:00
pnpm-lock.yaml chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00
pnpm-workspace.yaml chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00
README.md chore: Refactor CI after moving tests from aqua-playground [fixes FLU-352] (#763) 2023-06-22 14:59:56 +03:00

Aqua

release npm

Aqua is an open-source language for distributed workflow coordination in p2p networks. Aqua programs are executed on many peers, sequentially or in parallel, forming a single-use coordination network. Applications are turned into hostless workflows over distributed function calls, which enables various levels of decentralization: from handling by a limited set of servers to complete peer-to-peer architecture by connecting user devices directly. Aqua is the core of the Fluence protocol and a framework for internet or private cloud applications.

Installation and Usage

The easiest way to use Aqua is to download the latest build from npm: @fluencelabs/aqua.

npm i -g @fluencelabs/aqua
aqua --input src/aqua --output src/generated

Input directory should contain files with .aqua scripts.

Other ways of installing Aqua can be found in INSTALL.md.

Documentation

Comprehensive documentation and usage examples as well as a number of videos can be found in Aqua Book. Aqua Playground demonstrates how to start writing Aqua and integrate it into a TypeScript application. Numerous videos are available at our YouTube channel.

Repository Structure

  • api - Aqua API for JS
  • aqua-run - Aqua API to run functions
  • backend - compilation backend interface
  • cli - CLI interface
  • compiler - compiler as a pure function made from linker, semantics and backend
  • model - middle-end, internal representation of the code, optimizations and transformations
    • transform - optimizations and transformations, converting model to the result, ready to be rendered
    • test-kit - tests and test helpers for the model and transformations
  • linker - checks dependencies between modules, builds and combines an abstract dependencies tree
  • parser - parser, takes source text and produces a source AST
  • semantics - rules to convert source AST into the model
  • types - data types, arrows, stream types definitions and variance

Support

Please, file an issue if you find a bug. You can also contact us at Discord or Telegram. We will do our best to resolve the issue ASAP.

Contributing

Any interested person is welcome to contribute to the project. Please, make sure you read and follow some basic rules.

License

All software code is copyright (c) Fluence Labs, Inc. under the Apache-2.0 license.