Skip to content

@gluonjs/core / packages/compiler/src / GluonSfcCompileError

Class: GluonSfcCompileError ​

Extends ​

  • Error

Constructors ​

Constructor ​

new GluonSfcCompileError(message, filename): GluonSfcCompileError

Parameters ​

message ​

string

filename ​

string

Returns ​

GluonSfcCompileError

Overrides ​

Error.constructor

Properties ​

code ​

readonly code: "GLUON_SFC_INVALID" = 'GLUON_SFC_INVALID'


filename ​

readonly filename: string

Example ​

Handle a source-named SFC contract violation without treating malformed or unsupported authoring as valid runtime code:

ts
import {
  GluonSfcCompileError,
  compileGluonSfc,
  type GluonSfcCompileOptions,
  type GluonSfcCompileResult,
  type GluonSfcLayer,
} from '@gluonjs/compiler';

const source = `
<script lang="ts">
export interface BadgeProps { readonly label: string; }
</script>
<template component="Badge" layer="atom" props="BadgeProps">
  <strong>{{ label }}</strong>
</template>
<style id="docs-badge">.docs-badge { font-weight: 600; }</style>
`;
const options = { filename: '/src/Badge.gluon' } satisfies GluonSfcCompileOptions;
try {
  const result: GluonSfcCompileResult = compileGluonSfc(source, options);
  const layer: GluonSfcLayer = result.layer;
  console.log(result.componentName, layer, result.styleId, result.code);
} catch (error) {
  if (error instanceof GluonSfcCompileError) console.error(error.code, error.filename);
}

Version-matched documentation. Examples are checked against the public package contracts.