Tony execution and REPL for Node.js.
Tony is a functional, strongly typed, high level, general purpose programming language. Tony employs refinement types, allowing its type checker to catch domain-specific bugs at compile time.
Other core components of Tony can be found through the following links:
The tony-node
package is published on NPM.
You may install it
Import Tony Node with
import * as TonyNode from 'tony-node'
exec
takes an absolute path to a JavaScript file and a list of arguments and runs the file using Node.js.
To start development you first have to fork this repository and locally clone your fork.
Use yarn start
to listen to changes and rebuild dynamically.
To run the tests:
$ yarn test
To let TypeScript check types:
$ yarn tsc
The linter can be run as follows:
$ yarn lint
We use Prettier for automated code formatting:
$ yarn prettier
You can find all commands run by the CI workflow in .github/workflows/ci.yml
.
We warmly welcome everyone who is intersted in contributing. Please reference our contributing guidelines and our Code of Conduct.
Here you can find details on all past releases. Unreleased breaking changes that are on the current master can be found here.
Tony follows Semantic Versioning 2.0 as defined at http://semver.org. Reference our security policy.
- Review breaking changes and deprecations in
CHANGELOG.md
. - Change the version in
package.json
. - Reset
CHANGELOG.md
. - Create a pull request to merge the changes into
master
. - After the pull request was merged, create a new release listing the breaking changes, deprecations and commits on
master
since the last release. - The release workflow will publish the package to NPM.