0.0.2 • Published 2 years ago
sveltemod v0.0.2
sveltemod
A CLI to run codemods for Svelte This project use jscodeshift underneath which allows this tool to leverage the standard codemod tooling for JavaScript in Svelte projects.
Install
npm install -g sveltemodUsage
sveltemod <codemod> <file>Example:
sveltemod transforms/v5-derived.js src/App.svelteYou can also use jscodeshift to run the codemods like:
jscodeshift --transform=./transforms/v5-derived.js --extensions=svelte ./src/App.svelteAvailable codemods:
v5/derived.js
Before
$: area = width * height;After
const area = $derived(width * height);v5/effect.js
Before
$: console.log(area);After
$effect(() => {
console.log(area);
});v5/props.js
Before
export let width;
export let height;After
let { width, height } = $props();v5/state.js
Before
let count = 0;After
let count = $state(0);Differences from svelte-migrate
- It uses jscodeshift underneath which is kind of standard tooling for codemods
- It completely uses AST based transforms instead of regex replacement which svelte-migrate mostly uses
- You can run any Jscodeshift based transform available out there not just something comes with svelte-migrate
- Currently svelte-migrate doesn't have codemods for v5 or runes, I try to address that
- It is extendable with other transforms for html, css, sass and so on