{"id":13659219,"url":"https://github.com/mozilla/doctorjs","last_synced_at":"2025-10-04T13:30:43.339Z","repository":{"id":1119321,"uuid":"990822","full_name":"mozilla/doctorjs","owner":"mozilla","description":"A set of static analysis tools for JavaScript","archived":true,"fork":true,"pushed_at":"2016-04-03T20:01:44.000Z","size":2741,"stargazers_count":737,"open_issues_count":29,"forks_count":67,"subscribers_count":38,"default_branch":"master","last_synced_at":"2024-09-19T02:27:37.356Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"evilpie/jsctags","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mozilla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-10-15T17:47:48.000Z","updated_at":"2024-08-08T15:20:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mozilla/doctorjs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fdoctorjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fdoctorjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fdoctorjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fdoctorjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mozilla","download_url":"https://codeload.github.com/mozilla/doctorjs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219866554,"owners_count":16554245,"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":[],"created_at":"2024-08-02T05:01:06.434Z","updated_at":"2025-10-04T13:30:37.829Z","avatar_url":"https://github.com/mozilla.png","language":"JavaScript","readme":"Overview\n--------\njsctags is a [ctags] [1]-compatible code indexing solution for JavaScript. Its\ninterface and output are essentially identical to [Exuberant Ctags] [2], but,\ninstead of simply parsing the JavaScript, jsctags uses a simple form of\nabstract interpretation to determine which symbols are exported. This allows\njsctags to achieve much better results than Exuberant Ctags. Popular libraries\nsuch as jQuery and CommonJS modules can now be meaningfully indexed.\n\nYou can use jsctags to create `tags` files that are usable in many editors,\nfrom Vim to TextMate (via the [CodeBrowser] [3] plugin). jsctags is slated to\nbecome a key component of the [Bespin] [4] IDE, where it will be used to\nprovide code completion.\n\njsctags is written entirely in JavaScript, using CommonJS modules, the\n[node.js] [5] framework, and the [Narcissus] [6] engine.\n\nLicense\n-------\njsctags is tri-licensed under the Mozilla Public License 1.1, the GNU General\nPublic License 2.0, and the GNU Lesser General Public License 2.1.\n\nRequirements\n------------\n* node.js\n* `make`\n\nBuilding\n--------\nTo install:\n\n* `make install`\n\nTo uninstall:\n\n* `make uninstall`\n\nTo play with Narcissus' parser:\n\n* `make serve`\n* Navigate to [`http://localhost:8080/html/parser.html`] [parser].\n\nUsage\n-----\nSimply go to your project root and invoke `jsctags lib` (replacing `lib` with\nthe directory in which your JavaScript source files are stored). The `tags`\nfile will be placed in the current directory.\n\nFor more options, try `jsctags -h`.\n\nDirectory structure\n-------------------\nThe directory structure mostly follows the CommonJS packaging scheme:\n\n* `bin/`: tools runnable from node.js (should be directly executable in Unix)\n* `html/`: in-browser demo files\n* `js/`: support files for the HTML demos\n* `lib/`: CommonJS-compliant library files\n* `lib/ctags/`: the core jsctags code\n* `narcissus/`: the Narcissus engine\n* `test/`: test cases for the indexer\n\n[1]: http://en.wikipedia.org/wiki/Ctags\n[2]: http://ctags.sourceforge.net/\n[3]: http://www.cocoabits.com/TmCodeBrowser/\n[4]: http://mozillalabs.com/bespin/\n[5]: http://nodejs.org/\n[6]: http://mxr.mozilla.org/mozilla/source/js/narcissus/\n\n[parser]: http://localhost:8080/html/parser.html\n\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozilla%2Fdoctorjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmozilla%2Fdoctorjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozilla%2Fdoctorjs/lists"}