open-index/open-npm huggingface dataset:
npm package: @jsreport/jsreport-base
Description: jsreport extension automatically adding html base tag
Author: Jan Blaha
Latest version: 4.1.0

# @jsreport/jsreport-base
[![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-base.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-base)

**jsreport extension automatically injecting [html base tag](https://www.tutorialspoint.com/html/html_base_tag.htm) to allow relative referencing of local files**

See https://jsreport.net/learn/base

## Changelog

### 4.1.0
- minimum node.js version is now `22.18.0`

### 4.0.0

- minimum node.js version is now `18.15.0`

### 3.0.1

- fix typo in log

### 3.0.0-beta.1

Adaptations for the v3 APIs
npm package: @jsreport/jsreport-chrome-pdf
Description: jsreport recipe which is rendering pdf from html using headless chrome
Author: Jan Blaha
Latest version: 4.4.0

# @jsreport/jsreport-chrome-pdf
[![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-chrome-pdf.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-chrome-pdf)

**jsreport recipe which is rendering pdf and images from html using headless chrome**

See the docs

- https://jsreport.net/learn/chrome-pdf
- https://jsreport.net/learn/chrome-image

## Usage
To use `recipe` in for template rendering set `template.recipe=chrome-pdf` or `template.recipe=chrome-image` according to your needs in the rendering request.

chrome-pdf

```js
{
  template: { content: '...', recipe: 'chrome-pdf', engine: '...', chrome: { ... } }
}
```

chrome-image

```js
{
  template: { content: '...', recipe: 'chrome-image', engine: '...', chromeImage: { ... } }
}
```

## Changelog

### 4.4.0
- update Chrome to `142.0.7444.175`
- minimum node.js version is now `22.18.0`

### 4.3.0

- allow to use default docker image without extra flags

### 4.2.0

- implement chrome connect strategy
- add resources timeout for chrome

### 4.1.1

- set chrome protocolTimeout based on reportTimeout

### 4.1.0

- save generated pdf chrome as file streams to avoid keeping whole pdf in memory
- internal changes to support new `response.output` api

### 4.0.0

- update puppeteer to work with chrome 116
- minimum node.js version is now `18.15.0`
- update studio build against new webpack and babel

### 3.4.0

- empty values `''` for pdf width, height and other options throw errors on recent versions of puppeteer, we now normalize options and don't pass empty values
- set explicit `launchOptions.headless: old` to avoid warnings, for now we use the old headless mode until the new mode gets stable

### 3.3.0

- use `Studio.openTab` with `docProp` option to open chrome header/footer tabs

### 3.2.1

- user level logs now use `logger.debug`
- threat timeout errors as weak errors
- use url.pathToFileURL to avoid problems with space in file paths for windows

### 3.2.0

- mark user logs appropriately to the logger

### 3.1.1

- changes to enable new `trustUserCode` option

### 3.1.1

- fix not applying the root chrome config

### 3.0.0-beta.1

Adaptations for the v3 APIs
npm package: @jsreport/jsreport-cli
Description: Command line interface for jsreport
Author: BJR Matos
Latest version: 4.2.0

# @jsreport/jsreport-cli
[![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-cli.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-cli)

**Command line interface for jsreport**

See http://jsreport.net/learn/cli for documentation

## Changelog

### 4.2.0
- minimum node.js version is now `22.18.0`

### 4.1.2

- update deps to fix audit

### 4.1.1

- update deps to fix audit
- print nested errors from error.cause

### 4.1.0

- update deps to fix audit
- add graceful shutdown to the server.js

### 4.0.5

- update dev prompt to prompts to fix audit

### 4.0.4

- dont use console.error(e.stack) and just console.error(e) to avoid loosing e.cause inner error

### 4.0.3

- update nodejs-client to fix audit

### 4.0.2

- update nodejs-client to fix npm audit

### 4.0.1

- fix cli .launch does not exists
- fix `jsreport.config.json` requires metadata for v4

### 4.0.0

- minimum node.js version is now `18.15.0`
- update deps to fix npm audit

### 3.2.3

- improve error logging

### 3.2.2

- add support for tempDirectory and service name to win-install command

### 3.2.0

- change the configure command questions to fit better with new `trustUserCode` option
- changes to enable new `trustUserCode` option

### 3.1.2

- update deps to fix npm audit

### 3.1.1

- update deps to fix npm audit

### 3.1.0

internal refactor (use latest version of yargs)

### 3.0.0-beta.1

Adaptations for the v3 APIs
npm package: @jsreport/jsreport-components
Description: jsreport extension for dynamic creating dynamic templating engine components
Author: Jan Blaha
Latest version: 4.1.0

# @jsreport/jsreport-components
[![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-data.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-components)

**Decompose templates into reusable components**

See https://jsreport.net/learn/components

## Changelog

### 4.1.0
- studio: highlight components in template source and allow ctrl+click to open them
- minimum node.js version is now `22.18.0`

### 4.0.2

- fix component rendering in loop with async helpers

### 4.0.1

- fix recursive components async rendering when wrapped in async helper

### 4.0.0

- minimum node.js version is now `18.15.0`
- update studio build against new webpack and babel

### 3.3.1

- fix components cache

### 3.3.0

- component helper hash data is not propagated/merged to component data
- add support for specifying what are the main document properties of components entitySet

### 3.2.1

- changes to enable caching of system helpers

### 3.0.0-beta.1

Initial release
npm package: @jsreport/jsreport-docker-workers
Description: [![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-docker-workers.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-docker-workers)
Author: Jan Blaha
Latest version: 4.0.2

# @jsreport/jsreport-docker-workers
[![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-docker-workers.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-docker-workers)

**jsreport extension managing docker containers and delegating work to them**

See https://jsreport.net/learn/docker-workers

## Changelog

### 4.0.2

- fix temp autocleanup

### 4.0.0

- support response streaming introduced in jsreport 4.3.0

### 3.8.0

- optimization using axios stream type instead of text
- fix request aborting causing main container restarts
npm package: @jsreport/jsreport-docxtemplater
Description: jsreport recipe using docxtemplater to create docx files
Author: Jan Blaha
Latest version: 4.2.0

# @jsreport/jsreport-docxtemplater
[![NPM Version](http://img.shields.io/npm/v/jsreport-docxtemplater.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-docxtemplater)
jsreport recipe for creating docx word document using [docxtemplater](https://docxtemplater.readthedocs.io/en/latest/)

See https://jsreport.net/learn/docxtemplater

## Installation

> **npm install @jsreport/jsreport-docxtemplater**


## jsreport-core
You can apply this extension also manually to [jsreport-core](https://github.com/jsreport/jsreport/tree/master/packages/jsreport-core)

```js
const jsreport = require('@jsreport/jsreport-core')()
jsreport.use(require('@jsreport/jsreport-docxtemplater')())

const result = await reporter.render({
  template: {
      engine: 'none',
      recipe: 'docxtemplater',
      docxtemplater: {
        templateAsset: {
          content: fs.readFileSync(path.join(__dirname, 'template.docx'))
        }
      }
    },
    data: {
      name: 'John'
    }
  }
)
```
npm package: @jsreport/jsreport-ejs
Description: jsreport ejs templating engine
Author: Jan Blaha
Latest version: 4.1.0

# @jsreport/jsreport-ejs
[![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-ejs.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-ejs)

[EJS](http://www.embeddedjs.com/) templating engine for jsreport.
See the docs https://jsreport.net/learn/ejs

## Installation
> npm install @jsreport/jsreport-ejs

## Usage
To use `ejs` in for template rendering set `template.engine=ejs` in the rendering request.

```js
{
  template: { content: '...', recipe: '...', enginne: 'ejs' }
}
```

## jsreport-core
You can apply this extension also manually to [jsreport-core](https://github.com/jsreport/jsreport/tree/master/packages/jsreport-core)

```js
var jsreport = require('@jsreport/jsreport-core')()
jsreport.use(require('@jsreport/jsreport-ejs')())
```
npm package: @jsreport/jsreport-freeze
Description: jsreport extension allowing to freeze editing of templates
Author: Jan Blaha
Latest version: 4.1.0

# @jsreport/jsreport-freeze
[![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-freeze.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-freeze)

**jsreport extension allowing to freeze editing of entities**

See the documentation https://jsreport.net/learn/freeze

## Changelog

### 4.1.0
- minimum node.js version is now `22.18.0`

### 4.0.0

- minimum node.js version is now `18.15.0`
- update studio build against new webpack and babel
- cache freeze option for single request to improve import performance
- internal changes to support multi admin users

### 3.0.0-beta.1

Adaptations for the v3 APIs
npm package: @jsreport/jsreport-fs-store-aws-s3-persistence
Description: Make jsreport fs store using aws s3 to store entities
Author: Jan Blaha
Latest version: 4.2.0

# @jsreport/jsreport-fs-store-aws-s3-persistence
[![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-fs-store-aws-s3-persistence.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-fs-store-aws-s3-persistence)

**Make jsreport [fs store](https://jsreport.net/learn/fs-store) persisting entities into AWS S3.**

## Installation

> npm install @jsreport/jsreport-fs-store-aws-s3-persistence

Create an IAM user with permissions to S3 and SQS and copy the access key and secret access key.
Create a bucket and copy its name. Then alter the jsreport configuration:
```js
"store": {
  "provider": "fs"
},
"extensions": {
  "fs-store": {
    "persistence": {
      "provider": "aws-s3"
    },
    // it is typically good idea to increase the compacting flat files interval from 5000
    // otherwise store does too many locks which can be slow when s3 not in the same datacenter
    "compactionInterval": 20000
  },
  "fs-store-aws-s3-persistence": {
    "bucket": "...",
    // the rest is otional
    "accessKeyId": "...",
    "secretAccessKey": "...",
    "prefix": "someBucketInFolder",
    "lock": {
      "queueName": "jsreport-lock.fifo",
      "region": "us-east-1",
      "enabled": true,
      "attributes": {}
    },
    "s3Options": {
       // additional s3 constructor options
       "maxRetries": 10
    }
  }
}
```

This persistence implementation also guarantees consistency for parallel access from multiple instances. This is assured using locking mechanism enabling only single write at once. The locking is implemented trough AWS SQS. The queue is automatically created during the instance startup with attributes specified in the configuration `lock`. You can disable it by setting `false` to `lock.enabled`.

## Changelog

### 4.2.0
- minimum node.js version is now `22.18.0`

### 4.1.0

- update aws client

### 4.0.1

- fix jsreport v4 regression #1104

### 4.0.0

- minimum node.js version is now `18.15.0`

### 3.1.0

Add prefix config to allow storing in specific folder inside bucket

### 3.0.1

fix for persisting more than 1000 files


### 3.0.0-beta.1

Adaptations for the v3 APIs
npm package: @jsreport/jsreport-fs-store-azure-storage-persistence
Description: Make jsreport fs store persist entities into azure blob storage
Author: Jan Blaha
Latest version: 4.2.0

# @jsreport/jsreport-fs-store-azure-storage-persistence
[![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-fs-store-azure-storage-persistence.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-fs-store-azure-storage-persistence)

**Make jsreport [fs store](https://jsreport.net/learn/fs-store) persisting entities into azure blob storage.**

## Installation

> npm install @jsreport/jsreport-fs-store-azure-storage-persistence

Create an azure storage account and copy account name and access key.  Then alter jsreport configuration:
```js
"store": {
  "provider": "fs"
},
"extensions": {
  "fs-store": {
    "persistence": {
      "provider": "azure-storage"
    }
  },
  "fs-store-azure-storage-persistence": {
    "accountName": "...",
    // omit in case of azure managed identity
    "accountKey": "...",
    // the rest is optional
    "container": "jsreport",
    "lock": {
      "retry": 100,
      "leaseDuration": 30,
      "enabled": true
    }
  }
}
```

## Changelog

### 4.2.0
- minimum node.js version is now `22.18.0`

### 4.1.0

- support azure managed identity
- reimplement using @azure/storage-blob dep

### 4.0.1

- fix jsreport v4 regression #1104

### 4.0.0

- minimum node.js version is now `18.15.0`

### 3.0.0-beta.1

Adaptations for the v3 APIs
npm package: @jsreport/jsreport-html-embedded-in-docx
Description: jsreport recipe embedding output html into the docx
Author: Jan Blaha
Latest version: 4.2.0

# @jsreport/jsreport-html-embedded-in-docx

[![NPM Version](http://img.shields.io/npm/v/@jsreport/jsreport-html-embedded-in-docx.svg?style=flat-square)](https://npmjs.com/package/@jsreport/jsreport-html-embedded-in-docx)

> jsreport recipe which takes the output html and embed it into the docx file

See the docs https://jsreport.net/learn/html-embedded-in-docx

## Installation

>npm install @jsreport/jsreport-html-embedded-in-docx
npm package: @jsreport/jsreport-html-to-text
Description: jsreport recipe converting html into text
Author: Jan Blaha
Latest version: 4.3.0

# @jsreport/jsreport-html-to-text

jsreport recipe transforming html to text using node package [html-to-text](https://github.com/werk85/node-html-to-text). See the docs https://jsreport.net/learn/html-to-text

## Installation

> **npm install @jsreport/jsreport-html-to-text**

## Usage
To use `recipe` in for template rendering set `template.recipe=html-to-text` in the rendering request.

```js
{
  template: { content: '...', recipe: 'html-to-text', engine: '...' }
}
```

## jsreport-core
You can apply this extension also manually to [jsreport-core](https://github.com/jsreport/jsreport/tree/master/packages/jsreport-core)

```js
const jsreport = require('@jsreport/jsreport-core')()
jsreport.use(require('@jsreport/jsreport-html-to-text')())
```