TypeScript and JavaScript implementation of Dataspaces, Syndicate, and TypeScript language support for Syndicate. Targets both the browser and node.js.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Tony Garnock-Jones 25698ce4b0 Publish 1 month ago
packages Publish 1 month ago
todo Fix handling of template string substitutions in scanner/reader; timer driver; flappy bird demo; associated repairs 5 months ago
.dir-locals.el Updates to ts-plugin README, and a .dir-locals.el 2 months ago
.gitignore Dependencies among packages 5 months ago
.npmignore Switch to apenwarr's `redo` 3 years ago
LICENCE README 3 years ago
Makefile Switch to yarn workspaces 2 months ago
Makefile.generic-package Switch to yarn workspaces 2 months ago
README.md Tweak README 1 month ago
TODO.md Subprocess support 3 years ago
gpl-3.0.txt Prepare for publication 3 years ago
lerna.json Switch to yarn workspaces 2 months ago
package.json Switch to yarn workspaces 2 months ago
rollup.js More fixes 5 months ago
veryclean.do Don't automatically remove package-lock.json 6 months ago
watchall Switch to yarn workspaces 2 months ago
yarn.lock Major update to @preserves/core from old preserves package. 1 month ago

README.md

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, not npm.

The repository is a monorepo, using yarn workspaces. Lerna is used as a thin veneer atop yarn workspaces, providing convenient automation for package version management and publication.

After a checkout, run:

make bootstrap

Alternatively, running:

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 tonyg@leastfixedpoint.com

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 https://www.gnu.org/licenses/.