node package manager

synt

synt Circle CI Windows Build status travis build score-badge security-badge coverage-badge dependency-badge npm version

Find similar functions and classes in your JavaScript/TypeScript code.

demo image

Supported Languages

Non-Standard JavaScript Support

For more info on support for ECMAScript Stage-3 and below proposals, see issue #94.

System Requirements

Installation & Usage

npm i synt

CLI

install

npm i -g synt

help

synt -h

example

git clone https://github.com/brentlintner/synt.git
cd synt
synt analyze src

Library

example

const synt = require("synt")
 
const files = [ "a.js", "b.ts" ]
 
const { js, ts } = synt.compare(files, {
  similarity: 70,
  ngram: 1,
  minlength: 10,
  estype: "module"
})
 
synt.print(js)
 
synt.print(ts)

Versioning

This project ascribes to semantic versioning.

Name

synt is short for synteny, and is an (attempted) play on comparing code evolution to genetic (evolution).

Licensing

This project is licensed under the MPL-2.0 license.

Any contributions made to this project are made under the current license.

Contributions

Current list of contributors.

Any contributions are welcome and appreciated!

All you need to do is submit a Pull Request.

  1. Please consider tests and code quality before submitting.
  2. Please try to keep commits clean, atomic and well explained (for others).

Issues

Current issue tracker is on github.

Even if you are uncomfortable with code, an Issue helps!

Code Of Conduct

This project ascribes to contributor-covenant.org.

By participating in this project you agree to our Code of Conduct.

Hacking

git clone git@github.com:brentlintner/synt.git
cd synt
npm i
npm run -s compile

Testing

npm test
npm run -s test-cov

Dev Scripts

watch and compile files on save:

npm run dev