You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							81 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							81 lines
						
					
					
						
							1.8 KiB
						
					
					
				| # acorn-globals | |
|  | |
| Detect global variables in JavaScript using acorn | |
| 
 | |
| [Get supported acorn-globals with the Tidelift Subscription](https://tidelift.com/subscription/pkg/npm-acorn_globals?utm_source=npm-acorn-globals&utm_medium=referral&utm_campaign=readme) | |
| 
 | |
| [](https://travis-ci.org/ForbesLindesay/acorn-globals) | |
| [](https://david-dm.org/ForbesLindesay/acorn-globals) | |
| [](https://www.npmjs.org/package/acorn-globals) | |
| 
 | |
| ## Installation | |
|  | |
|     npm install acorn-globals | |
| 
 | |
| ## Usage | |
|  | |
| detect.js | |
| 
 | |
| ```js | |
| var fs = require('fs'); | |
| var detect = require('acorn-globals'); | |
| 
 | |
| var src = fs.readFileSync(__dirname + '/input.js', 'utf8'); | |
| 
 | |
| var scope = detect(src); | |
| console.dir(scope); | |
| ``` | |
| 
 | |
| input.js | |
| 
 | |
| ```js | |
| var x = 5; | |
| var y = 3, z = 2; | |
| 
 | |
| w.foo(); | |
| w = 2; | |
| 
 | |
| RAWR=444; | |
| RAWR.foo(); | |
| 
 | |
| BLARG=3; | |
| 
 | |
| foo(function () { | |
|     var BAR = 3; | |
|     process.nextTick(function (ZZZZZZZZZZZZ) { | |
|         console.log('beep boop'); | |
|         var xyz = 4; | |
|         x += 10; | |
|         x.zzzzzz; | |
|         ZZZ=6; | |
|     }); | |
|     function doom () { | |
|     } | |
|     ZZZ.foo(); | |
| 
 | |
| }); | |
| 
 | |
| console.log(xyz); | |
| ``` | |
| 
 | |
| output: | |
| 
 | |
| ``` | |
| $ node example/detect.js | |
| [ { name: 'BLARG', nodes: [ [Object] ] }, | |
|   { name: 'RAWR', nodes: [ [Object], [Object] ] }, | |
|   { name: 'ZZZ', nodes: [ [Object], [Object] ] }, | |
|   { name: 'console', nodes: [ [Object], [Object] ] }, | |
|   { name: 'foo', nodes: [ [Object] ] }, | |
|   { name: 'process', nodes: [ [Object] ] }, | |
|   { name: 'w', nodes: [ [Object], [Object] ] }, | |
|   { name: 'xyz', nodes: [ [Object] ] } ] | |
| ``` | |
| 
 | |
| ## Security contact information | |
|  | |
| To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure. | |
| 
 | |
| ## License | |
|  | |
|   MIT
 | |
| 
 |