{"_id":"amdetective","_rev":"164275","name":"amdetective","description":"Like node-detective, but for AMD/r.js files. Finds all calls to `require()` in AMD modules by walking the AST.","dist-tags":{"latest":"0.3.0"},"maintainers":[{"name":"mixu","email":"mixu@mixu.net"}],"time":{"modified":"2021-06-03T11:43:46.000Z","created":"2014-01-17T00:12:18.571Z","0.3.0":"2017-01-05T02:47:37.724Z","0.2.1":"2016-04-15T05:46:52.462Z","0.2.0":"2015-11-16T19:50:06.153Z","0.1.0":"2015-10-22T17:12:25.885Z","0.0.2":"2014-06-23T22:30:40.158Z","0.0.1":"2014-01-17T00:12:18.571Z"},"users":{"themiddleman":true,"mindcookin":true},"author":{"name":"Mikito Takada","email":"mikito.takada@gmail.com","url":"http://mixu.net/"},"repository":{"type":"git","url":"git://github.com/mixu/amdetective.git"},"versions":{"0.3.0":{"name":"amdetective","version":"0.3.0","description":"Like node-detective, but for AMD/r.js files. Finds all calls to `require()` in AMD modules by walking the AST.","main":"index.js","scripts":{"test":"mocha -R spec ./test/test.js"},"keywords":["require","source","analyze","ast","amd","detective"],"repository":{"type":"git","url":"git://github.com/mixu/amdetective.git"},"author":{"name":"Mikito Takada","email":"mikito.takada@gmail.com","url":"http://mixu.net/"},"license":"BSD-3-Clause","dependencies":{"esprima":"3.1.0"},"devDependencies":{"mocha":"^3.1.2"},"gitHead":"91e160dd3b67db26c0cb24767d6b81c4ca06572b","bugs":{"url":"https://github.com/mixu/amdetective/issues"},"homepage":"https://github.com/mixu/amdetective#readme","_id":"amdetective@0.3.0","_shasum":"59694a196f84732b1ab002f9d192e1efb4fa3de3","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"mixu","email":"mixu@mixu.net"},"dist":{"shasum":"59694a196f84732b1ab002f9d192e1efb4fa3de3","size":14223,"noattachment":false,"key":"/amdetective/-/amdetective-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/amdetective/download/amdetective-0.3.0.tgz"},"maintainers":[{"name":"mixu","email":"mixu@mixu.net"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/amdetective-0.3.0.tgz_1483584457481_0.4161730476189405"},"directories":{},"publish_time":1483584457724,"_cnpm_publish_time":1483584457724,"_hasShrinkwrap":false},"0.2.1":{"name":"amdetective","version":"0.2.1","description":"Like node-detective, but for AMD/r.js files. Finds all calls to `require()` in AMD modules by walking the AST.","main":"index.js","scripts":{"test":"mocha -R spec ./test/test.js"},"keywords":["require","source","analyze","ast","amd","detective"],"repository":{"type":"git","url":"git://github.com/mixu/amdetective.git"},"author":{"name":"Mikito Takada","email":"mikito.takada@gmail.com","url":"http://mixu.net/"},"license":"BSD","dependencies":{"esprima":"~2.7.0"},"gitHead":"baa5d9f7f20d4f72ed398edcf04325e4a1fa11b0","bugs":{"url":"https://github.com/mixu/amdetective/issues"},"homepage":"https://github.com/mixu/amdetective#readme","_id":"amdetective@0.2.1","_shasum":"bd96fcb67e5dfd51dafd4afecff46269efa7dca9","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"mixu","email":"mixu@mixu.net"},"dist":{"shasum":"bd96fcb67e5dfd51dafd4afecff46269efa7dca9","size":12437,"noattachment":false,"key":"/amdetective/-/amdetective-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/amdetective/download/amdetective-0.2.1.tgz"},"maintainers":[{"name":"mixu","email":"mixu@mixu.net"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/amdetective-0.2.1.tgz_1460699210365_0.33011368848383427"},"directories":{},"publish_time":1460699212462,"_cnpm_publish_time":1460699212462,"_hasShrinkwrap":false},"0.2.0":{"name":"amdetective","version":"0.2.0","description":"Like node-detective, but for AMD/r.js files. Finds all calls to `require()` in AMD modules by walking the AST.","main":"index.js","scripts":{"test":"mocha -R spec ./test/test.js"},"keywords":["require","source","analyze","ast","amd","detective"],"repository":{"type":"git","url":"git://github.com/mixu/amdetective.git"},"author":{"name":"Mikito Takada","email":"mikito.takada@gmail.com","url":"http://mixu.net/"},"license":"BSD","dependencies":{"esprima":"~2.7.0"},"gitHead":"64caca7211aa0fbef5417d0ee1a4fcb6defd0440","bugs":{"url":"https://github.com/mixu/amdetective/issues"},"homepage":"https://github.com/mixu/amdetective#readme","_id":"amdetective@0.2.0","_shasum":"a7a02a80ed10408ae83931242d697a4f6616ca13","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.6","_npmUser":{"name":"mixu","email":"mixu@mixu.net"},"dist":{"shasum":"a7a02a80ed10408ae83931242d697a4f6616ca13","size":12322,"noattachment":false,"key":"/amdetective/-/amdetective-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/amdetective/download/amdetective-0.2.0.tgz"},"maintainers":[{"name":"mixu","email":"mixu@mixu.net"}],"directories":{},"publish_time":1447703406153,"_cnpm_publish_time":1447703406153,"_hasShrinkwrap":false},"0.1.0":{"name":"amdetective","version":"0.1.0","description":"Like node-detective, but for AMD/r.js files. Finds all calls to `require()` in AMD modules by walking the AST.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["require","source","analyze","ast","amd","detective"],"repository":{"type":"git","url":"git://github.com/mixu/amdetective.git"},"author":{"name":"Mikito Takada","email":"mikito.takada@gmail.com","url":"http://mixu.net/"},"license":"BSD","dependencies":{"esprima-fb":"^15001.1001.0-dev-harmony-fb"},"gitHead":"5048f7d79fc803755cb4ccc5aa3be1b58dc76189","bugs":{"url":"https://github.com/mixu/amdetective/issues"},"homepage":"https://github.com/mixu/amdetective#readme","_id":"amdetective@0.1.0","_shasum":"4890643d766796472d38cb7c1bc716ecb19fbca3","_from":".","_npmVersion":"2.11.2","_nodeVersion":"0.12.6","_npmUser":{"name":"mixu","email":"mixu@mixu.net"},"dist":{"shasum":"4890643d766796472d38cb7c1bc716ecb19fbca3","size":12160,"noattachment":false,"key":"/amdetective/-/amdetective-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/amdetective/download/amdetective-0.1.0.tgz"},"maintainers":[{"name":"mixu","email":"mixu@mixu.net"}],"directories":{},"publish_time":1445533945885,"_cnpm_publish_time":1445533945885,"_hasShrinkwrap":false},"0.0.2":{"name":"amdetective","version":"0.0.2","description":"Like node-detective, but for AMD/r.js files. Finds all calls to `require()` in AMD modules by walking the AST.","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["require","source","analyze","ast","amd","detective"],"repository":{"type":"git","url":"git://github.com/mixu/amdetective.git"},"author":{"name":"Mikito Takada","email":"mikito.takada@gmail.com","url":"http://mixu.net/"},"license":"BSD","dependencies":{"esprima":"~1.2.2"},"bugs":{"url":"https://github.com/mixu/amdetective/issues"},"_id":"amdetective@0.0.2","dist":{"shasum":"260777ab35a6b9ba6edd1b8d7280d3a8ef4859b0","size":11355,"noattachment":false,"key":"/amdetective/-/amdetective-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/amdetective/download/amdetective-0.0.2.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"mixu","email":"mixu@mixu.net"},"maintainers":[{"name":"mixu","email":"mixu@mixu.net"}],"directories":{},"publish_time":1403562640158,"_cnpm_publish_time":1403562640158,"_hasShrinkwrap":false},"0.0.1":{"name":"amdetective","version":"0.0.1","description":"Like node-detective, but for AMD/r.js files","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git://github.com/mixu/amdetective.git"},"author":{"name":"Mikito Takada","email":"mikito.takada@gmail.com","url":"http://mixu.net/"},"license":"BSD","dependencies":{"esprima":"~1.0.4"},"readmeFilename":"readme.md","bugs":{"url":"https://github.com/mixu/amdetective/issues"},"_id":"amdetective@0.0.1","dist":{"shasum":"d3f5af931f4156d4390221254c0a9a16ab961d8b","size":10112,"noattachment":false,"key":"/amdetective/-/amdetective-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/amdetective/download/amdetective-0.0.1.tgz"},"_from":".","_npmVersion":"1.2.30","_npmUser":{"name":"mixu","email":"mixu@mixu.net"},"maintainers":[{"name":"mixu","email":"mixu@mixu.net"}],"directories":{},"publish_time":1389917538571,"_hasShrinkwrap":false,"_cnpm_publish_time":1389917538571}},"readme":"# amdetective\n\nFind all calls to `require()` in AMD modules by walking the AST.\n\nThis module uses code extracted from [r.js](https://github.com/jrburke/r.js) rather than trying to write it's own version of r.js parsing. It depends on esprima (but not r.js).\n\n# Install\n\n```\nnpm install amdetective\n```\n\n# example\n\nFirst, create `detect.js` which is just a four line CLI wrapper around `amdetective`:\n\n````js\nvar fs = require('fs'),\n    amdetective = require('amdetective');\n\nconsole.log('Reading file from first argument: ' + process.argv[2]);\nconsole.log(amdetective(fs.readFileSync(process.argv[2]).toString()));\n````\n\nNow, let's run it on a bunch of examples to see some output. You can also run this command on your own files to get more realistic examples.\n\n## Definition Functions with Dependencies (simple.js)\n\n````js\nrequire(['module1', 'path/to/module2'], function(a, b){\n  // ...\n});\n````\n\nRunning `node detect.js simple.js` produces:\n\n````\nReading file from first argument: simple.js\n[ 'module1', 'path/to/module2' ]\n````\n\n## Simplified CommonJS Wrapper (simple2.js)\n\n````js\ndefine(function(require) {\n  var a = require('some/file'),\n      b = require('json!foo/bar');\n  // ...\n});\n````\n\nRunning `node detect.js simple2.js` produces:\n\n````\nReading file from first argument: simple2.js\n[ 'require', 'some/file', 'json!foo/bar' ]\n````\n\n## Named module (named.js)\n\n````js\ndefine(\"foo/title\",\n    [\"my/cart\", \"my/inventory\"],\n    function(cart, inventory) {\n   }\n);\n````\n\nRunning `node detect.js simple2.js` produces:\n\n````\nReading file from first argument: named.js\n[ { name: 'foo/title', deps: [ 'my/cart', 'my/inventory' ] } ]\n````\n\nNote how named modules are treated differently - this is just something that the underlying resolution code does so be prepared to deal with it.\n\n# Methods\n\n## amdetective(src, opts)\n\nGiven some source body `src`, return an array of all the `require()` call arguments detected by AMD/r.js.\n\nThe options parameter `opts` is passed along to `parse.recurse()` in [lib/parse.js](https://github.com/mixu/amdetective/blob/master/lib/parse.js#L196). This is normally the build config options if it is passed.\n\n# License\n\nBSD\n","_attachments":{},"homepage":"https://github.com/mixu/amdetective#readme","bugs":{"url":"https://github.com/mixu/amdetective/issues"},"license":"BSD-3-Clause"}