45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| 
								 | 
							
								# globals
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								> Global identifiers from different JavaScript environments
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								It's just a [JSON file](globals.json), so use it in any environment.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This package is used by ESLint.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**This package [no longer accepts](https://github.com/sindresorhus/globals/issues/82) new environments. If you need it for ESLint, just [create a plugin](http://eslint.org/docs/developer-guide/working-with-plugins#environments-in-plugins).**
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Install
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```sh
							 | 
						||
| 
								 | 
							
								npm install globals
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Usage
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								const globals = require('globals');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								console.log(globals.browser);
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									addEventListener: false,
							 | 
						||
| 
								 | 
							
									applicationCache: false,
							 | 
						||
| 
								 | 
							
									ArrayBuffer: false,
							 | 
						||
| 
								 | 
							
									atob: false,
							 | 
						||
| 
								 | 
							
									…
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								*/
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Each global is given a value of `true` or `false`. A value of `true` indicates that the variable may be overwritten. A value of `false` indicates that the variable should be considered read-only. This information is used by static analysis tools to flag incorrect behavior. We assume all variables should be `false` unless we hear otherwise.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For Node.js this package provides two sets of globals:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								- `globals.nodeBuiltin`: Globals available to all code running in Node.js.
							 | 
						||
| 
								 | 
							
									These will usually be available as properties on the `global` object and include `process`, `Buffer`, but not CommonJS arguments like `require`.
							 | 
						||
| 
								 | 
							
									See: https://nodejs.org/api/globals.html
							 | 
						||
| 
								 | 
							
								- `globals.node`: A combination of the globals from `nodeBuiltin` plus all CommonJS arguments ("CommonJS module scope").
							 | 
						||
| 
								 | 
							
									See: https://nodejs.org/api/modules.html#modules_the_module_scope
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								When analyzing code that is known to run outside of a CommonJS wrapper, for example, JavaScript modules, `nodeBuiltin` can find accidental CommonJS references.
							 |