@lwc/babel-plugin-component
TypeScript icon, indicating that this package has built-in type declarations

6.5.3 • Public • Published

@lwc/babel-plugin-component

Summary

This babel plugin does the following transform:

  • Global decorator transform:
    • Transform @api decorator to publicProperties and publicMethods static properties.
    • Transform @wire decorator to wire static property.
    • Transform @track decorator to track static property.
  • LWC component class sugar syntax:
    • Check for misspelled lifecycle hooks.
    • Import and inject render from a collocated template if a component class doesn't already implement a render method.
  • Optimization:
    • If the compiler inject the default template a component, it will also wire the template style to the component.

Installation

npm install babel @lwc/babel-plugin-component

Usage

const babel = require('@babel/core');
const lwcPlugin = require('@lwc/babel-plugin-component');

const source = `
import { LightningElement } from 'lwc';
export default class extends LightningElement {}`;

const { code } = babel.transformSync(source, {
    plugins: [
        [
            lwcPlugin,
            {
                /* options */
            },
        ],
    ],
});

Options

  • name (type: string, optional) - name of the component, e.g. foo in x/foo.
  • namespace (type: string, optional) - namepace of the component, e.g. x in x/foo.
  • isExplicitImport (type: boolean, optional) - true if this is an explicit import.
  • dynamicImports (type: object, optional) - see below:
    • loader (type: string, optional) - loader to use at runtime.
    • strictSpecifier (type: boolean, optional) - true if a strict specifier should be used.
  • instrumentation (type: InstrumentationObject, optional) - instrumentation object to gather metrics and non-error logs for internal use. See the @lwc/errors package for details on the interface.
  • apiVersion (type: number, optional) - API version to associate with the compiled component.

Dependents (2)

Package Sidebar

Install

npm i @lwc/babel-plugin-component

Homepage

lwc.dev

Weekly Downloads

72,161

Version

6.5.3

License

MIT

Unpacked Size

202 kB

Total Files

27

Last publish

Collaborators

  • divmain
  • lwc-admin
  • caridy
  • tbliss
  • pmdartus
  • ekashida
  • kevinv11n
  • jye-sf
  • rui.qiu
  • ravi.jayaramappa
  • jodarove
  • abdulsattar
  • nolanlawson
  • jmsjtu