Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@lwc/compiler

Package Overview
Dependencies
Maintainers
15
Versions
783
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lwc/compiler

LWC compiler


Version published
Weekly downloads
88K
decreased by-1.53%
Maintainers
15
Weekly downloads
 
Created
Source

LWC Compiler

Summary

@lwc/compiler is an open source project that enables developers to take full control of processing a single Lightning Web Components module for runtime consumption.

Installation

npm install @lwc/compiler

APIs

transformSync

Transform the content of individual file.

import { transformSync } from '@lwc/compiler';

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

const filename = 'app.js';

const options = {
    namespace: 'c',
    name: 'app',
};

const { code } = transformSync(source, filename, options);

Parameters:

  • source (string, required) - the source to be transformed. Can be the content of a JavaScript, HTML, or CSS file.
  • filename (string, required) - the source filename with extension.
  • options (object, required) - the transformation options. The name and the namespace of the component is a minimum required for transformation.
    • name (type: string, required) - name of the component, e.g. foo in x/foo.
    • namespace (type: string, required) - namespace of the component, e.g. x in x/foo.
    • stylesheetConfig (type: object, default: {}) - Deprecated. Ignored by compiler.
    • experimentalDynamicComponent (type: DynamicImportConfig, default: null) - The configuration to pass to @lwc/compiler.
    • experimentalDynamicDirective (type: boolean, default: false) - The configuration to pass to @lwc/template-compiler to enable deprecated dynamic components.
    • enableDynamicComponents (type: boolean, default: false) - The configuration to pass to @lwc/template-compiler to enable dynamic components.
    • outputConfig (type: object, optional) - see below:
      • sourcemap (type: boolean | 'inline', optional) - if true, a sourcemap is generated for the transformed file. If 'inline', an inline sourcemap is generated and appended to the transformed file.
      • minify (type: boolean, optional, deprecated) - this option has no effect.
    • experimentalComplexExpressions (type: boolean, optional) - set to true to enable use of (a subset of) JavaScript expressions in place of template bindings. Passed to @lwc/template-compiler.
    • isExplicitImport (type: boolean, optional) - true if this is an explicit import, passed to @lwc/babel-plugin-component.
    • preserveHtmlComments (type: boolean, default: false) - The configuration to pass to the @lwc/template-compiler.
    • scopedStyles (type: boolean, optional) - True if the CSS file being compiled is a scoped stylesheet. Passed to @lwc/style-compiler.
    • enableStaticContentOptimization (type: boolean, optional) - True if the static content optimization should be enabled. Passed to @lwc/template-compiler.
    • customRendererConfig (type: object, optional) - custom renderer config to pass to @lwc/template-compiler. See that package's README for details.
    • enableLightningWebSecurityTransforms (type: boolean, default: false) - The configuration to enable Lighting Web Security specific transformations.
    • enableLwcSpread (boolean, optional, true by default) - Deprecated. Ignored by compiler. lwc:spread is always enabled.
    • disableSyntheticShadowSupport (type: boolean, default: false) - Set to true if synthetic shadow DOM support is not needed, which can result in smaller/faster output.
    • 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 module.

Return

  • code (string) - the compiled source code.
  • map (object) - the generated source map.
  • warnings (array, optional) - the array of diagnostic warnings, if any.
  • cssScopeTokens (array, optional) - String tokens used for style scoping in synthetic shadow DOM and *.scoped.css (as either attributes or classes), if any.

transform (deprecated)

Deprecated asynchronous equivalent of transformSync.

version

import { version } from '@lwc/compiler';

console.log(version);

Return

  • version (string) - the current version of the compiler ex: 0.25.1.

Keywords

FAQs

Package last updated on 11 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc