Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/psalaets/vue-jscodeshift-adapter

Run jscodeshift on Vue single file components
https://github.com/psalaets/vue-jscodeshift-adapter

Last synced: about 2 months ago
JSON representation

Run jscodeshift on Vue single file components

Awesome Lists containing this project

README

        

# vue-jscodeshift-adapter

[![Build Status](https://travis-ci.org/psalaets/vue-jscodeshift-adapter.svg?branch=master)](https://travis-ci.org/psalaets/vue-jscodeshift-adapter)

Run [jscodeshift](https://github.com/facebook/jscodeshift) on Vue single file components

## Install

```
npm install vue-jscodeshift-adapter -D
```

## Usage

The instructions below assume you're familiar with [jscodeshift](https://github.com/facebook/jscodeshift).

### Run a codemod on some `.js` and/or `.vue` files

|When transforming|`fileInfo.source` will be|
|-----------------|-------------------------|
|`.js` | the contents of the file|
|`.vue` | the contents of ``|

The source file will be updated appropriately based on the return value of your `transform()`.

*If `.vue` file doesn't have a `<script>`, your `transform()` will not be called and the source file will not be changed.*

#### 1. Create wrapped transform function

```js
// my-transform.js
import adapt from 'vue-jscodeshift-adapter';
import someCodemod from 'some-codemod';

export default adapt(someCodemod);
```

#### 2. Run jscodeshift

```
$ jscodeshift <path> -t my-transform.js --extensions vue,js
```

See [jscodeshift readme](https://github.com/facebook/jscodeshift#usage-cli) for more info on jscodeshift CLI.

## License

MIT