UNPKG

canonical

Version:

Canonical code style linter and formatter for JavaScript, SCSS and CSS.

59 lines (58 loc) 3.55 kB
{ "_args": [ [ "acorn-to-esprima@https://registry.npmjs.org/acorn-to-esprima/-/acorn-to-esprima-2.0.6.tgz", "/Users/gajus/Documents/dev/canonical-code-style/canonical" ] ], "_from": "acorn-to-esprima@>=2.0.4 <3.0.0", "_id": "acorn-to-esprima@2.0.6", "_inCache": true, "_location": "/acorn-to-esprima", "_phantomChildren": {}, "_requested": { "name": "acorn-to-esprima", "raw": "acorn-to-esprima@https://registry.npmjs.org/acorn-to-esprima/-/acorn-to-esprima-2.0.6.tgz", "rawSpec": "https://registry.npmjs.org/acorn-to-esprima/-/acorn-to-esprima-2.0.6.tgz", "scope": null, "spec": "https://registry.npmjs.org/acorn-to-esprima/-/acorn-to-esprima-2.0.6.tgz", "type": "remote" }, "_requiredBy": [ "/babel-eslint" ], "_resolved": "https://registry.npmjs.org/acorn-to-esprima/-/acorn-to-esprima-2.0.6.tgz", "_shasum": "49bf4ef465375a9684d8c5e2c04d6db9d60b89f2", "_shrinkwrap": null, "_spec": "acorn-to-esprima@https://registry.npmjs.org/acorn-to-esprima/-/acorn-to-esprima-2.0.6.tgz", "_where": "/Users/gajus/Documents/dev/canonical-code-style/canonical", "author": { "email": "sebmck@gmail.com", "name": "Sebastian McKenzie" }, "bugs": { "url": "https://github.com/babel/acorn-to-esprima/issues" }, "dependencies": {}, "description": "Convert acorn tokens to esprima", "devDependencies": {}, "homepage": "https://github.com/babel/acorn-to-esprima#readme", "keywords": [ "acorn", "babel", "babel-eslint", "babel-jscs", "esprima" ], "license": "MIT", "main": "src/index.js", "name": "acorn-to-esprima", "optionalDependencies": {}, "readme": "# acorn-to-esprima\n\nSome functions to help transform an acorn/babel ast to esprima format.\n\nPrimarily for use in [babel-eslint](https://github.com/babel/babel-eslint), [babel-jscs](https://github.com/jscs-dev/babel-jscs), and [ast explorer](https://github.com/fkling/esprima_ast_explorer)\n\n**There are no dependencies** (the methods were changed to pass in dependencies instead)\n\nThe current functions exposed are:\n\n- `function attachComments(ast, comments, tokens)`\n - This modifies the comments passed in.\n- `function toTokens(tokens, tt)`\n - `tt` is `require(\"babel-core\").acorn.tokTypes`\n - Converts template string tokens (`convertTemplateType`)\n - filters out comment tokens\n - runs `toToken` over each token\n- `function toToken(token, tt)`\n - Sets `token.type`, `token.range`, and `token.value`\n- `function toAST(ast, traverse)`\n - `traverse` is `require(\"babel-core\").traverse;`\n - traverses over the ast and makes any necessary changes (usually es6+)\n- `function convertComments(comments)`\n - Modifies `comment.type`\n\nHow to use:\n\nCheck out the parse method of https://github.com/babel/babel-eslint/blob/master/index.js\n```js\n// example\nexports.parse = function (code) {\n var comments = opts.onComment = [];\n var tokens = opts.onToken = [];\n\n var ast;\n try {\n ast = parse(code, {\n locations: true,\n ranges: true\n });\n } catch (err) { throw err; }\n\n tokens.pop();\n ast.tokens = acornToEsprima.toTokens(tokens, tt);\n\n acornToEsprima.convertComments(comments);\n ast.comments = comments;\n acornToEsprima.attachComments(ast, comments, ast.tokens);\n\n acornToEsprima.toAST(ast, traverse);\n\n return ast;\n}\n```", "readmeFilename": "README.md", "repository": { "type": "git", "url": "git+https://github.com/babel/acorn-to-esprima.git" }, "version": "2.0.6" }