{"id":28713205,"url":"https://github.com/andreaspitzer/require-extensions","last_synced_at":"2026-05-04T03:37:34.855Z","repository":{"id":57354243,"uuid":"49859066","full_name":"andreaspitzer/require-extensions","owner":"andreaspitzer","description":"Get executable file extensions as glob pattern or regular expression","archived":false,"fork":false,"pushed_at":"2018-11-18T08:10:04.000Z","size":14,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-20T18:21:08.384Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreaspitzer.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":"2016-01-18T07:21:23.000Z","updated_at":"2016-01-18T08:34:14.000Z","dependencies_parsed_at":"2022-09-12T04:01:17.247Z","dependency_job_id":null,"html_url":"https://github.com/andreaspitzer/require-extensions","commit_stats":null,"previous_names":["andreaspitzer/require-extensions","andreaspizsa/require-extensions"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andreaspitzer/require-extensions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaspitzer%2Frequire-extensions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaspitzer%2Frequire-extensions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaspitzer%2Frequire-extensions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaspitzer%2Frequire-extensions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreaspitzer","download_url":"https://codeload.github.com/andreaspitzer/require-extensions/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaspitzer%2Frequire-extensions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32593947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-06-15T00:08:25.474Z","updated_at":"2026-05-04T03:37:34.806Z","avatar_url":"https://github.com/andreaspitzer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# require-extensions ![Travis](https://img.shields.io/travis/AndreasPizsa/require-extensions.svg?style=flat-square) ![Coverage Status](https://img.shields.io/coveralls/AndreasPizsa/require-extensions.svg?style=flat-square) ![Downloads](https://img.shields.io/npm/dm/require-extensions.svg?style=flat-square)\n\n\u003e Get the extensions of executable file names as glob pattern or regular expression\n\nInstall with [npm](https://www.npmjs.com/)\n\n```sh\n$ npm i require-extensions --save\n```\n\n## Usage\n\n```javascript\nrequire.extensions.glob             // -\u003e '.{js,coffee}'      (String)\nrequire.extensions.regexp           // -\u003e /(?:\\.js|\\.coffee)/ (RegExp)\nrequire.extensions.regexp_string    // -\u003e '(?:\\.js|\\.coffee)' (String)\n```\n\n```javascript\nrequire('require-extensions');\n\nvar glob = require('glob');\nvar files = glob.sync(\"plugins/*\" + require.extensions.glob);\n// -\u003e ['plugins/thisfile.js', 'plugins/thatfile.coffee', 'plugins/thisfile.litcoffee']\n\nfiles[0].match(require.extensions.regexp);\n// -\u003e != null\n```\n\n### Functions\n\n### [glob](index.js#L19)\n\nreturn a glob pattern for `require.extensions`\n\n### [regexp](index.js#L30)\n\nreturn a new `RegExp` object that matches `require.extensions`\n\n### [regexp_string](index.js#L43)\n\nreturn a new `String` regular expression that matches `require.extensions`\n\n## Motivation\n\nMany libraries use a hardcoded `.js` string to discover executable file names, unfortunately leaving out other extensions that contain executable code such as `.coffee`, `.litcoffee`, and potentially others that are accessible through Node’s `require.extensions` property. By making this property accessible as a glob pattern and regular expression, it will become easier to use it as a search pattern and load code that was written in other languages or dialects.\n\n## Author\n\n**Andreas Pizsa**\n\n+ [github/AndreasPizsa](https://github.com/AndreasPizsa)\n+ [twitter/AndreasPizsa](http://twitter.com/AndreasPizsa)\n\n## License\n\nCopyright © 2016 Andreas Pizsa\nReleased under the MIT license.\n\n***\n\n_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on January 21, 2016._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreaspitzer%2Frequire-extensions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreaspitzer%2Frequire-extensions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreaspitzer%2Frequire-extensions/lists"}