{"id":13440627,"url":"https://github.com/brentlintner/synt","last_synced_at":"2025-05-16T01:07:33.986Z","repository":{"id":18994499,"uuid":"22216390","full_name":"brentlintner/synt","owner":"brentlintner","description":"Find similar functions and classes in your JavaScript/TypeScript code","archived":false,"fork":false,"pushed_at":"2024-10-23T21:36:37.000Z","size":492,"stargazers_count":182,"open_issues_count":10,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-08T13:51:25.052Z","etag":null,"topics":["duplicate","javascript","nodejs","similarity","static-analysis","typescript"],"latest_commit_sha":null,"homepage":"https://npmjs.org/synt","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brentlintner.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-07-24T14:37:12.000Z","updated_at":"2024-10-23T21:36:40.000Z","dependencies_parsed_at":"2024-01-16T02:01:27.265Z","dependency_job_id":"4df8650b-ed80-4fc9-8762-279e853f2267","html_url":"https://github.com/brentlintner/synt","commit_stats":{"total_commits":158,"total_committers":1,"mean_commits":158.0,"dds":0.0,"last_synced_commit":"50f91ad27a838739f50523fa59acbd44c7024844"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brentlintner%2Fsynt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brentlintner%2Fsynt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brentlintner%2Fsynt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brentlintner%2Fsynt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brentlintner","download_url":"https://codeload.github.com/brentlintner/synt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254448579,"owners_count":22072764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["duplicate","javascript","nodejs","similarity","static-analysis","typescript"],"created_at":"2024-07-31T03:01:24.570Z","updated_at":"2025-05-16T01:07:28.977Z","avatar_url":"https://github.com/brentlintner.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# synt [![Circle CI](https://circleci.com/gh/brentlintner/synt.svg?style=shield)](https://circleci.com/gh/brentlintner/synt) [![Windows Build status](https://ci.appveyor.com/api/projects/status/t2hy3nxlqc685n1m/branch/master?svg=true)](https://ci.appveyor.com/project/brentlintner/synt/branch/master) [![npm version](https://badge.fury.io/js/synt.svg)](https://badge.fury.io/js/synt)\n\nFind similar functions and classes in your JavaScript/TypeScript code.\n\n## Supported Languages\n\n* JavaScript ([ES3-ES15](https://github.com/eslint/espree?tab=readme-ov-file#options))\n* TypeScript ([5.x](https://github.com/microsoft/TypeScript/tree/v5.3.3))\n\n## System Requirements\n\n* [NodeJS](http://nodejs.org)\n\n## Installation \u0026 Usage\n\n```sh\nnpm i synt\n```\n\n### CLI\n\n*install*\n\n```sh\nnpm i -g synt\n```\n\n*help*\n\n```sh\nsynt -h\n```\n\n*example*\n\n```sh\ngit clone https://github.com/brentlintner/synt.git\ncd synt\nsynt analyze src\n```\n\n### Library\n\n*example*\n\n```javascript\nconst synt = require(\"synt\")\n\nconst files = [ \"a.js\", \"b.ts\" ]\n\nconst { js, ts } = synt.compare(files, {\n  similarity: 80,\n  ngram: 1,\n  minLength: 20,\n  sourceType: \"module\",\n  ecmaVersion: 6\n})\n\nsynt.print(js)\n\nsynt.print(ts)\n```\n\n## Licensing\n\nThis project is licensed under the [MPL-2.0](LICENSE) license.\n\nAny contributions made to this project are made under the current license.\n\n## Contributing\n\nAny contributions are welcome and appreciated!\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md) for more info.\n\n## Versioning\n\nThis project ascribes to [semantic versioning](http://semver.org).\n\n## Name\n\n`synt` is short for [synteny](http://en.wikipedia.org/wiki/Synteny), and is\nan (attempted) play on comparing code evolution to genetic (evolution).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrentlintner%2Fsynt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrentlintner%2Fsynt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrentlintner%2Fsynt/lists"}