# acorn-globals

> Detect global variables in JavaScript using acorn

Latest version **7.0.1** (published 2022-09-02) · MIT license · 0 weekly downloads

## Install

```sh
npm install acorn-globals
pnpm add acorn-globals
yarn add acorn-globals
bun add acorn-globals
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 7.0.1 |
| Published | 2022-09-02 |
| First published | 2014-09-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 9.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 47 |
| Author | ForbesLindesay |
| Maintainers | forbeslindesay, timothygu, acorn-globals-bot |
| Keywords | ast, variable, name, lexical, scope, local, global, implicit |

## Links

- npm: https://www.npmjs.com/package/acorn-globals
- Repository: https://github.com/ForbesLindesay/acorn-globals
- Homepage: https://github.com/ForbesLindesay/acorn-globals#readme
- Issues: https://github.com/ForbesLindesay/acorn-globals/issues
- npm.io page: https://npm.io/package/acorn-globals

## Dependencies (2)

- [acorn](https://npm.io/package/acorn.md) ^8.1.0
- [acorn-walk](https://npm.io/package/acorn-walk.md) ^8.0.2

## Alternatives

- [update-check](https://npm.io/package/update-check.md) — 4.0M weekly downloads
- [react-native-onesignal](https://npm.io/package/react-native-onesignal.md) — 134.5K weekly downloads
- [react-redux-toastr](https://npm.io/package/react-redux-toastr.md) — 33.7K weekly downloads
- [@nocobase/plugin-notification-manager](https://npm.io/package/@nocobase/plugin-notification-manager.md) — 2.0K weekly downloads
- [react-simple-toasts](https://npm.io/package/react-simple-toasts.md) — 1.9K weekly downloads

## Recent versions

- 7.0.1 (latest) — 2022-09-02
- 7.0.1-canary-4 (canary) — 2022-09-02
- 7.0.0 — 2022-08-31
- 7.0.0-canary-3 — 2022-08-31
- 6.0.0 — 2020-03-08
- 5.0.0 — 2020-03-08
- 4.3.4 — 2019-09-10
- 4.3.3 — 2019-08-03
- 4.3.2 — 2019-04-21
- 4.3.1 — 2019-04-12
- 4.3.0 — 2018-09-15
- 4.2.0 — 2018-09-15
- 4.1.0 — 2017-10-24
- 4.0.0 — 2017-06-23
- 3.1.0 — 2017-01-30
- … 12 more at https://npm.io/package/acorn-globals/versions

## README

# 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)

[![Build Status](https://img.shields.io/github/workflow/status/ForbesLindesay/acorn-globals/Publish%20Canary/master?style=for-the-badge)](https://github.com/ForbesLindesay/acorn-globals/actions?query=workflow%3APublish%20Canary+branch%3Amaster)
[![Rolling Versions](https://img.shields.io/badge/Rolling%20Versions-Enabled-brightgreen?style=for-the-badge)](https://rollingversions.com/ForbesLindesay/acorn-globals)
[![NPM version](https://img.shields.io/npm/v/acorn-globals?style=for-the-badge)](https://www.npmjs.com/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

---
_Source: https://npm.io/package/acorn-globals · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
