@putout/operate
Advanced tools
Comparing version 6.0.0 to 6.1.0
@@ -7,2 +7,3 @@ 'use strict'; | ||
matchesPattern, | ||
isImportDeclaration, | ||
} = require('@babel/types'); | ||
@@ -125,1 +126,11 @@ | ||
module.exports.getPathAfterImports = (body) => { | ||
const n = body.length; | ||
let i = 0; | ||
while (i < n - 1 && isImportDeclaration(body[i])) | ||
++i; | ||
return body[i]; | ||
}; | ||
{ | ||
"name": "@putout/operate", | ||
"version": "6.0.0", | ||
"version": "6.1.0", | ||
"author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)", | ||
@@ -36,6 +36,6 @@ "description": "operate on ast", | ||
"@cloudcmd/stub": "^3.0.0", | ||
"coveralls": "^3.0.0", | ||
"c8": "^7.5.0", | ||
"eslint": "^7.0.0", | ||
"eslint-plugin-node": "^11.0.0", | ||
"eslint-plugin-putout": "^6.0.0", | ||
"eslint-plugin-putout": "^7.0.0", | ||
"just-camel-case": "^4.0.2", | ||
@@ -46,3 +46,2 @@ "lerna": "^3.8.5", | ||
"nodemon": "^2.0.1", | ||
"nyc": "^15.0.1", | ||
"putout": "*", | ||
@@ -49,0 +48,0 @@ "supertape": "^4.0.0", |
# Operate [![NPM version][NPMIMGURL]][NPMURL] [![Dependency Status][DependencyStatusIMGURL]][DependencyStatusURL] [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Coverage Status][CoverageIMGURL]][CoverageURL] | ||
[NPMIMGURL]: https://img.shields.io/npm/v/putout.svg?style=flat&longCache=true | ||
[BuildStatusIMGURL]: https://img.shields.io/travis/coderaiser/putout/master.svg?style=flat&longCache=true | ||
[DependencyStatusIMGURL]: https://david-dm.org/coderaiser/putout.svg?path=packages/putout | ||
[NPMURL]: https://npmjs.org/package/putout "npm" | ||
[BuildStatusURL]: https://travis-ci.org/coderaiser/putout "Build Status" | ||
[DependencyStatusURL]: https://david-dm.org/coderaiser/putout?path=packages/operate "Dependency Status" | ||
[NPMIMGURL]: https://img.shields.io/npm/v/putout.svg?style=flat&longCache=true | ||
[BuildStatusIMGURL]: https://img.shields.io/travis/coderaiser/putout/master.svg?style=flat&longCache=true | ||
[DependencyStatusIMGURL]: https://david-dm.org/coderaiser/putout.svg?path=packages/putout | ||
[NPMURL]: https://npmjs.org/package/putout "npm" | ||
[BuildStatusURL]: https://travis-ci.org/coderaiser/putout "Build Status" | ||
[DependencyStatusURL]: https://david-dm.org/coderaiser/putout?path=packages/operate "Dependency Status" | ||
[CoverageURL]: https://coveralls.io/github/coderaiser/putout?branch=master | ||
[CoverageIMGURL]: https://coveralls.io/repos/coderaiser/putout/badge.svg?branch=master&service=github | ||
[CoverageURL]: https://coveralls.io/github/coderaiser/putout?branch=master | ||
[CoverageIMGURL]: https://coveralls.io/repos/coderaiser/putout/badge.svg?branch=master&service=github | ||
`operate` provide you a way to manipulate `path` nodes and keep `comments` and `loc` information. | ||
@@ -24,2 +23,3 @@ | ||
## API | ||
### replaceWith(path, node) | ||
@@ -55,5 +55,13 @@ | ||
## getPathAfterImports(body) | ||
Get next `path` after latest `ImportDeclaration`: | ||
```js | ||
const programPath = path.scope.getProgramParent().path; | ||
const afterImportsPath = getPathAfterImports(programPath.get('body')); | ||
``` | ||
## License | ||
MIT | ||
34731
13
95
66