
Security News
Rust RFC Proposes a Security Tab on crates.io for RustSec Advisories
Rustâs crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.
@bcgov/carbone-render
Advanced tools
Note: This package has been deprecated and will no longer be receiving support updates.
Library to generate a document from an existing template and JSON data. This is a wrapper around carbone, please refer to their documentation for more detail.
This library will require LibreOffice installed to do pdf generation.
npm i @bcgov/carbone-render
const carboneRenderer = require('@bcgov/carbone-render');
Optional call to start up the carbone python converter. This is recommended to call on the start of your application. Otherwise, the first call to render will take longer as it starts the converter in the background.
carboneRenderer.startFactory();
Return a dictionary of allowable file conversions. Convert to pdf is always allowed.
const allowedConversions = carboneRenderer.fileTypes;
Returns dictionary
{
"csv": [
"doc",
"docx",
"html",
"odt",
"pdf",
"rtf",
"txt",
"csv"
],
"docx": [
"doc",
"docx",
"html",
"odt",
"pdf",
"rtf",
"txt"
],
"html": [
"html",
"odt",
"pdf",
"rtf",
"txt"
],
"odt": [
"doc",
"docx",
"html",
"odt",
"pdf",
"rtf",
"txt"
],
"pptx": [
"odt",
"pdf"
],
"rtf": [
"docx",
"pdf"
],
"txt": [
"doc",
"docx",
"html",
"odt",
"pdf",
"rtf",
"txt"
],
"xlsx": [
"odt",
"pdf",
"rtf",
"txt",
"csv",
"xls",
"xlsx"
]
}
Generate a new document from a template and JSON data. Render the report.
const data = {
"firstName": "Jane",
"lastName": "Smith",
"title": "Who?"
};
const options = {
"convertTo": "pdf",
"reportName": "{d.firstName}-{d.lastName}.docx",
"overwrite": "true",
"cacheReport": "true"
};
const formatters = {
// this formatter can be used in a template with {d.myBoolean:yesOrNo()}
yesOrNo : function (data) { // data = d.myBoolean
if (this.lang === 'fr') {
return data === true ? 'oui' : 'non';
}
return data === true ? 'yes' : 'no';
}
};
const output = await carboneRenderer.render(template.path, data, options, formatters);
| Parameters | Description |
|---|---|
| template | template file |
| data | object or array of objects used in the template |
| options | Options object to pass to carbone. See carbone documenation. |
| options.convertTo | What file type to convert to, see fileTypes or pdf |
| options.reportName | Name of the generated report, should include expected extension. Can contain template placeholders, see carbone documentation. |
| formatters | Object. Additional formatters to add to carbone. See carbone documenation. |
Returns object
{
"success": false,
"errorType": null,
"errorMsg": null,
"reportName": null,
"report": null
}
| Field | Description |
|---|---|
| success | boolean, true indicates report generated, false otherwise |
| errorType | number - error number if not successful. |
| errorMsg | string - error message if not successful. |
| reportName | string - name of the generated report |
| report | binary - generated file |
FAQs
Async wrapper around Carbone render
We found that @bcgov/carbone-render demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 12 open source maintainers collaborating on the project.
Did you know?

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.

Security News
Rustâs crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.

Security News
/Research
Socket found a Rust typosquat (finch-rust) that loads sha-rust to steal credentials, using impersonation and an unpinned dependency to auto-deliver updates.

Research
/Security Fundamentals
A pair of typosquatted Go packages posing as Googleâs UUID library quietly turn helper functions into encrypted exfiltration channels to a paste site, putting developer and CI data at risk.