He estado siguiendo el manual de babel para actualizar un complemento para una biblioteca. Usando el código del manual como ejemplo, mi complemento actual sigue esta plantilla:
export default function({ types: t }) { return { visitor: { FunctionDeclaration(path, state) { const color = state.opts.color // Do something } } } }Sin embargo, para evitar que los cambios se rompan, necesito establecer un valor predeterminado para las opciones de estado. ¿Babel tiene una manera de hacer eso? ¿O tendría que recurrir a algo como a continuación?
export default function({ types: t }) { return { visitor: { FunctionDeclaration(path, state) { const color = state.opts.color || "Green" // Do something } } } }Editar: Idealmente, ninguno de estos daría como resultado un error.
import { transform } from '@babel/core' const result = transform(code, { plugins: ['@babel/plugin-syntax-jsx', myCustomPlugin] }) console.log(result.code) const result = transform(code, { plugins: ['@babel/plugin-syntax-jsx', [myCustomPlugin, { color: 'red' }]] }) console.log(result.code)