ast-metadata-inferer ====================== [![Build Status](https://travis-ci.org/amilajack/ast-metadata-inferer.svg?branch=master&maxAge=2592)](https://travis-ci.org/amilajack/ast-metadata-inferer) A collection of metadata about browser API's. This collection is intended for tools that analyze JS. It currently supports `3993` compatibility records. For all the API's it supports, it gives the * AST node type of the API (`MemberExpression`, `NewExpression`, or `CallExpression`) * Determines if an API is statically invoked (ex. `document.querySelector()`) * Determines if an API is a CSS or JS API * Provides compatibility information from `mdn-browser-compat-data` ## Usage ```js import AstMetadata from 'ast-metadata-inferer'; const [firstRecord] = AstMetadata; console.log(firstRecord); // { // "language":"js-api", // "protoChain":["document","querySelector"], // "protoChainId":"document.querySelector", // "astNodeTypes":["MemberExpression"], // "isStatic":true, // "compat": { // support: { // chrome: { // version_added: "14" // }, // chrome_android: { version_added: "18" }, // ... // } // } // } ``` ## Support If this project is saving you (or your team) time, please consider supporting it on Patreon 👍 thank you!

## Related * [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat) * [compat-db](https://github.com/amilajack/compat-db)