Description.
npm install unplugin-restructure
``bash`
npm i -D unplugin-restructure
Only functions that start with / @restructure / will be transfromed.
`tsx
/ @restructure / function App({ foo, bar: [baz] }){
return {
foo,
baz
}
}
// convert to
function App(__MACROS_props){
return {
foo: __MACROS_props.foo,
baz: __MACROS_props.bar[0]
}
}
`
Vite
`ts
// vite.config.ts
import Restructure from 'unplugin-restructure/vite'
export default defineConfig({
plugins: [Restructure()],
})
`
Rollup
`ts
// rollup.config.js
import Restructure from 'unplugin-restructure/rollup'
export default {
plugins: [Restructure()],
}
`
Rolldown
`ts
// rolldown.config.js
import Restructure from 'unplugin-restructure/rolldown'
export default {
plugins: [Restructure()],
}
`
esbuild
`ts
import { build } from 'esbuild'
import Restructure from 'unplugin-restructure/esbuild'
build({
plugins: [Restructure()],
})
`
Webpack
`js
// webpack.config.js
import Restructure from 'unplugin-restructure/webpack'
export default {
/ ... /
plugins: [Restructure()],
}
`
Rspack
`ts
// rspack.config.js
import Restructure from 'unplugin-restructure/rspack'
export default {
/ ... /
plugins: [Restructure()],
}
``
MIT License © 2025-PRESENT zhiyuanzmj