@pinnacle0/codemod
TypeScript icon, indicating that this package has built-in type declarations

1.2.4 • Public • Published

@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

Readme

Keywords

none

Package Sidebar

Install

npm i @pinnacle0/codemod

Weekly Downloads

15

Version

1.2.4

License

MIT

Unpacked Size

61.4 kB

Total Files

35

Last publish

Collaborators

  • pinnaclechuen
  • dionshi
  • davidyau
  • hososlch