OC Jade Template Compiler
raw JSON → 7.5.0 verified Fri May 01 auth: no javascript
Compiler module for OC (OpenComponents) that compiles Jade/Pug templates used by oc-template-jade components. Version 7.5.0 is the latest stable release with intermittent updates. Key differentiators: provides legacy support for both .jade and .pug files; part of the OC micro-frontends ecosystem; ships TypeScript types for safer integration. Known for version mismatches with OC core and template runtime packages.
Common errors
error Cannot find module 'pug' ↓
cause Missing pug peer dependency.
fix
Install pug: npm install pug
error TypeError: compile is not a function ↓
cause Incorrect import – likely using default export instead of named export.
fix
Use named import: import { compile } from 'oc-template-jade-compiler'
error ENOENT: no such file or directory, open '...' ↓
cause The compile function requires a 'filename' option to resolve includes.
fix
Provide options object with filename: compile(template, { filename: '/path/to/template.jade' })
Warnings
breaking v7.0.0 dropped support for .jade extension by default; only .pug is compiled unless legacy mode enabled. ↓
fix Upgrade templates to .pug extension or configure legacy support.
deprecated compile function with callback signature is deprecated in favor of sync compile returning a function. ↓
fix Use compile(template)(locals) instead of compile(template, options, callback).
gotcha TypeScript types may be out of sync with actual exports; compile expects options object with 'filename' required for includes. ↓
fix Always pass { filename: String } in options even if empty.
Install
npm install oc-template-jade-compiler yarn add oc-template-jade-compiler pnpm add oc-template-jade-compiler Imports
- compile wrong
const compile = require('oc-template-jade-compiler')correctimport { compile } from 'oc-template-jade-compiler' - JadeCompiler
import { JadeCompiler } from 'oc-template-jade-compiler' - default wrong
import { default as ocTemplateJadeCompiler } from 'oc-template-jade-compiler'correctimport ocTemplateJadeCompiler from 'oc-template-jade-compiler'
Quickstart
import { compile } from 'oc-template-jade-compiler';
const template = 'h1 Hello #{name}';
const rendered = compile(template)({ name: 'World' });
console.log(rendered); // '<h1>Hello World</h1>'