canonical
Version:
Canonical code style linter and formatter for JavaScript, SCSS and CSS.
59 lines (58 loc) • 3.55 kB
JSON
{
"_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"
}