1.2.4 • Published 2 years ago

@pinnacle0/codemod v1.2.4

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

@pinnacle0/codemod

This package provide various codemod to refactor code related to other pinnacle published packages.

Codemod does not guarantee 100% accuracy, please double check your source file after transform.

Installation

npm install -g @pinnacle0/codemod

or to install locally in order to use JavaScript API provided by use

pnpm add -D @pinnacle0/codemod

Usages

There to two way to execute the code: using command line and through JavaScript API

CLI usage

# list all avaliable codemod
pinnacle-codemod list
# Transform file, add --dry flat to dry-run
pinnacle-codemod transform <codemod> <path> 
# Help for advanced usage
pinnacle-codemod --help

It is recommanded to run transform with --dry flag first to make sure there are going to be no error during transform.

API usage

import { run } from '@pinnacle0/codemod'

// eg:
run('select-your-code-mod', './src/**/*.ts' , { dry: true });

Development

use new-codemod script to generate new template for creating the new codemod.

use codgen script to auto update the codemod list and type.

Core

@babel/parser is used to parse the source code to AST, and use recast to travel and transform the tree node.

The main reason of using recast instead of @babel/travse and @babel/generator is the former tries to preserve the style of original code as much as possible where later do not.

Known issues

  • Unable to preserve code style of JSX

  • Parse HTML entities incorrectly

License

MIT

1.2.4

2 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago