@cather/kwc-compiler
v1.0.0
Published
KWC compiler
Readme
KWC Compiler
Summary
@cather/kwc-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 @cather/kwc-compilerAPIs
transformSync
Transform the content of individual file.
import { transformSync } from '@cather/kwc-compiler';
const source = `
import { LightningElement } from 'kwc';
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. Thenameand thenamespaceof the component is a minimum required for transformation.name(type:string, required) - name of the component, e.g.fooinx/foo.namespace(type:string, required) - namespace of the component, e.g.xinx/foo.stylesheetConfig(type:object, default:{}) - Deprecated. Ignored by compiler.experimentalDynamicComponent(type:DynamicImportConfig, default:null) - The configuration to pass to@cather/kwc-compiler.experimentalDynamicDirective(type:boolean, default:false) - The configuration to pass to@cather/kwc-template-compilerto enable deprecated dynamic components.enableDynamicComponents(type:boolean, default:false) - The configuration to pass to@cather/kwc-template-compilerto enable dynamic components.outputConfig(type:object, optional) - see below:sourcemap(type:boolean|'inline', optional) - iftrue, 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@cather/kwc-template-compiler.isExplicitImport(type:boolean, optional) - true if this is an explicit import, passed to@cather/kwc-babel-plugin-component.preserveHtmlComments(type:boolean, default:false) - The configuration to pass to the@cather/kwc-template-compiler.scopedStyles(type:boolean, optional) - True if the CSS file being compiled is a scoped stylesheet. Passed to@cather/kwc-style-compiler.enableStaticContentOptimization(type:boolean, optional) - True if the static content optimization should be enabled. Passed to@cather/kwc-template-compiler.customRendererConfig(type:object, optional) - custom renderer config to pass to@cather/kwc-template-compiler. See that package's README for details.enableLightningWebSecurityTransforms(type:boolean, default:false) - The configuration to enable Lighting Web Security specific transformations.enableKwcSpread(boolean, optional,trueby default) - Deprecated. Ignored by compiler.kwc:spreadis 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@cather/kwc-errorspackage 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 '@cather/kwc-compiler';
console.log(version);Return
version(string) - the current version of the compiler ex:0.25.1.
