# Syndicate/js A third-generation implementation of Dataspaces and Syndicate for TypeScript and JavaScript, in both node.js and the browser. The implementation techniques herein are the subject of a forthcoming paper. **IMPORTANT: Use branch `typescript1` when cloning this project from git.** git clone -b typescript1 https://git.syndicate-lang.org/syndicate-lang/syndicate-js The `main` branch is under active development, and is quite a different system. ## Building This project uses [`yarn`](https://yarnpkg.com/), not `npm`. The repository is a monorepo, using [yarn workspaces](https://classic.yarnpkg.com/en/docs/workspaces/). [Lerna](https://lerna.js.org/) is used as a thin [veneer atop yarn workspaces](https://medium.com/@jsilvax/a-workflow-guide-for-lerna-with-yarn-workspaces-60f97481149d), providing convenient automation for package version management and publication. After a checkout, run: ```shell make bootstrap ``` Alternatively, running: ```shell yarn install ./node_modules/.bin/lerna exec yarn prepare ``` will download and install all dependencies and then build all the packages. ## Licence @syndicate-lang, an implementation of Syndicate for JS. Copyright (C) 2016-2021 Tony Garnock-Jones This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see .