New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@formfeed/devkit

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@formfeed/devkit

Formfeed template folders, project config and local rendering, shared by the CLI and @formfeed/testing.

latest
Source
npmnpm
Version
0.3.10
Version published
Weekly downloads
950
138.69%
Maintainers
1
Weekly downloads
 
Created
Source

@formfeed/devkit

The local half of the Formfeed development kit: template folders, project configuration (formfeed.json) and offline rendering with the same engine the API uses. The formfeed CLI and @formfeed/testing are built on it; use it directly when you write your own tooling around a template repository.

npm install @formfeed/devkit
import { defaultData, diagnose, projectAround, readTemplate, renderLocal } from '@formfeed/devkit';

// a folder with template.html, template.json, style.css, data/*.json (see the project layout docs)
const project = projectAround('templates/invoice-de');
const tpl = readTemplate(project, 'invoice-de');
const { data } = defaultData(tpl); // data/default.json, or the first data set

console.log(diagnose(tpl, data)); // the editor's diagnostics: syntax errors, unknown variables
const { document } = await renderLocal(project, tpl, data, { mode: 'print' }); // complete HTML, no browser

A folder can hold a Word or PowerPoint document (template.docx or template.pptx) instead of the HTML files; readTemplate returns it as tpl.file and templateFileName(kind) names the file for a kind. diagnose lists such a template's findings by part and paragraph, renderOfficeLocal fills it (bytes, warnings) and officeSnapshot(bytes) turns the filled file into readable XML for snapshot tests:

import { officeSnapshot, readTemplate, renderOfficeLocal } from '@formfeed/devkit';

const offer = readTemplate(project, 'offer');
const filled = await renderOfficeLocal(project, offer, { customer: { name: 'Olvarest GmbH' } });
console.log(filled.warnings, officeSnapshot(filled.bytes));

renderLocal works on HTML templates only. Errors are DevkitError instances with a code, which the CLI maps to its exit codes.

Documentation

Licence

MIT

Keywords

formfeed

FAQs

Package last updated on 25 Sep 2026

Related posts