New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@jsreport/jsreport-html-to-xlsx

Package Overview
Dependencies
Maintainers
2
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jsreport/jsreport-html-to-xlsx - npm Package Compare versions

Comparing version 3.0.0-beta.1 to 3.0.0

0

index.js

@@ -0,0 +0,0 @@ const config = require('./jsreport.config.js')

@@ -0,0 +0,0 @@

@@ -0,0 +0,0 @@ const path = require('path')

5

lib/main.js

@@ -36,9 +36,4 @@ /*!

reporter.documentStore.registerComplexType('BaseXlsxTemplateRefType', {
shortid: { type: 'Edm.String', referenceTo: 'xlsxTemplates', schema: { type: 'null' } }
})
if (reporter.documentStore.model.entityTypes.TemplateType) {
reporter.documentStore.model.entityTypes.TemplateType.htmlToXlsx = { type: 'jsreport.HtmlToXlsxType' }
reporter.documentStore.model.entityTypes.TemplateType.baseXlsxTemplate = { type: 'jsreport.BaseXlsxTemplateRefType', schema: { type: 'null' } }
}

@@ -45,0 +40,0 @@

33

lib/recipe.js

@@ -6,6 +6,5 @@ const fs = require('fs')

module.exports = (reporter, definition) => async (req, res) => {
module.exports = async (reporter, definition, req, res) => {
const htmlEngines = definition.options.htmlEngines
const htmlToXlsxOptions = req.template.htmlToXlsx || {}
const baseXlsxTemplate = req.template.baseXlsxTemplate || {}

@@ -83,5 +82,3 @@ if (htmlToXlsxOptions.htmlEngine == null) {

htmlToXlsxOptions.templateAssetShortid ||
(htmlToXlsxOptions.templateAsset && htmlToXlsxOptions.templateAsset.content) ||
baseXlsxTemplate.content ||
baseXlsxTemplate.shortid
(htmlToXlsxOptions.templateAsset && htmlToXlsxOptions.templateAsset.content)
) {

@@ -92,9 +89,4 @@ reporter.logger.info('html-to-xlsx is going to insert table generation into base xlsx template', req)

xlsxTemplateBuf = Buffer.from(htmlToXlsxOptions.templateAsset.content, htmlToXlsxOptions.templateAsset.encoding || 'utf8')
} else if (baseXlsxTemplate.content) {
xlsxTemplateBuf = Buffer.from(req.template.baseXlsxTemplate.content, 'base64')
} else {
if (
!baseXlsxTemplate.shortid &&
!htmlToXlsxOptions.templateAssetShortid
) {
if (!htmlToXlsxOptions.templateAssetShortid) {
throw reporter.createError('No valid base xlsx template specified, make sure to set a correct one', {

@@ -105,3 +97,3 @@ weak: true

let docs
let docs = []
let xlsxTemplateShortid

@@ -114,10 +106,11 @@

}, req)
} else {
xlsxTemplateShortid = baseXlsxTemplate.shortid
docs = await reporter.documentStore.collection('xlsxTemplates').find({
shortid: xlsxTemplateShortid
}, req)
}
if (!docs.length) {
if (!xlsxTemplateShortid) {
throw reporter.createError('Unable to find xlsx template. xlsx template not specified', {
statusCode: 404
})
}
throw reporter.createError(`Unable to find xlsx template with shortid ${xlsxTemplateShortid}`, {

@@ -128,7 +121,3 @@ statusCode: 404

if (htmlToXlsxOptions.templateAssetShortid) {
xlsxTemplateBuf = docs[0].content
} else {
xlsxTemplateBuf = docs[0].contentRaw
}
xlsxTemplateBuf = docs[0].content
}

@@ -135,0 +124,0 @@ }

@@ -0,0 +0,0 @@ const path = require('path')

@@ -1,4 +0,2 @@

const recipe = require('./recipe')
const fs = require('fs').promises
const path = require('path')

@@ -11,3 +9,3 @@

name: 'html-to-xlsx',
execute: recipe(reporter, definition)
execute: (req, res) => require('./recipe')(reporter, definition, req, res)
})

@@ -14,0 +12,0 @@

{
"name": "@jsreport/jsreport-html-to-xlsx",
"version": "3.0.0-beta.1",
"version": "3.0.0",
"description": "jsreport recipe capable of converting html into excel",

@@ -38,4 +38,4 @@ "keywords": [

"chrome-page-eval": "1.3.0",
"html-to-xlsx": "2.1.0",
"@jsreport/office": "3.0.0-beta.1",
"html-to-xlsx": "2.2.0",
"@jsreport/office": "3.0.0",
"nanoid": "1.0.7",

@@ -48,7 +48,7 @@ "node.extend.without.arrays": "1.1.6",

"handlebars": "4.7.7",
"@jsreport/jsreport-core": "3.0.0-beta.1",
"@jsreport/jsreport-handlebars": "3.0.0-beta.1",
"@jsreport/studio-dev": "3.0.0-beta.1",
"@jsreport/jsreport-core": "3.0.0",
"@jsreport/jsreport-handlebars": "3.0.0",
"@jsreport/studio-dev": "3.0.0",
"mocha": "5.2.0",
"puppeteer": "9.1.1",
"puppeteer": "10.4.0",
"should": "13.2.3",

@@ -59,3 +59,3 @@ "standard": "16.0.3",

"engines": {
"node": ">=14.17.4"
"node": ">=16.11"
},

@@ -71,2 +71,2 @@ "standard": {

}
}
}

@@ -0,0 +0,0 @@ # @jsreport/jsreport-html-to-xlsx

@@ -0,0 +0,0 @@ // eslint-disable-next-line no-unused-vars

@@ -0,0 +0,0 @@ /* eslint no-unused-vars: 1 */

@@ -5,8 +5,5 @@ import React, { Component } from 'react'

const EntityRefSelect = Studio.EntityRefSelect
const sharedComponents = Studio.sharedComponents
class HtmlToXlsxProperties extends Component {
static selectXlsxTemplates (entities) {
return Object.keys(entities).filter((k) => entities[k].__entitySet === 'xlsxTemplates').map((k) => entities[k])
}
static selectAssets (entities) {

@@ -18,3 +15,2 @@ return Object.keys(entities).filter((k) => entities[k].__entitySet === 'assets').map((k) => entities[k])

if (
(!entity.baseXlsxTemplate || !entity.baseXlsxTemplate.shortid) &&
(!entity.htmlToXlsx || !entity.htmlToXlsx.templateAssetShortid)

@@ -25,17 +21,10 @@ ) {

const foundItems = HtmlToXlsxProperties.selectXlsxTemplates(entities).filter((e) => entity.baseXlsxTemplate != null && entity.baseXlsxTemplate.shortid === e.shortid)
const foundAssets = HtmlToXlsxProperties.selectAssets(entities).filter((e) => entity.htmlToXlsx != null && entity.htmlToXlsx.templateAssetShortid === e.shortid)
if (!foundItems.length && !foundAssets.length) {
if (!foundAssets.length) {
return 'xlsx template'
}
let name
const name = foundAssets[0].name
if (foundAssets.length) {
name = foundAssets[0].name
} else {
name = foundItems[0].name
}
return 'xlsx template: ' + name

@@ -68,9 +57,8 @@ }

removeInvalidXlsxTemplateReferences () {
const { entity, entities, onChange } = this.props
const { entity, entities } = this.props
if (!entity.baseXlsxTemplate && !entity.htmlToXlsx) {
if (!entity.htmlToXlsx) {
return
}
const updatedXlsxTemplates = Object.keys(entities).filter((k) => entities[k].__entitySet === 'xlsxTemplates' && entity.baseXlsxTemplate != null && entities[k].shortid === entity.baseXlsxTemplate.shortid)
const updatedXlsxAssets = Object.keys(entities).filter((k) => entities[k].__entitySet === 'assets' && entity.htmlToXlsx != null && entities[k].shortid === entity.htmlToXlsx.templateAssetShortid)

@@ -83,6 +71,2 @@

}
if (entity.baseXlsxTemplate && entity.baseXlsxTemplate.shortid && updatedXlsxTemplates.length === 0) {
onChange({ _id: entity._id, baseXlsxTemplate: null })
}
}

@@ -135,3 +119,3 @@

render () {
const { entity, onChange } = this.props
const { entity } = this.props
const htmlToXlsx = entity.htmlToXlsx || {}

@@ -157,2 +141,3 @@ const htmlEngines = Studio.extensions['html-to-xlsx'].options.htmlEngines

headingLabel='Select xlsx template'
newLabel='New xlsx asset for template'
filter={(references) => ({ data: references.assets })}

@@ -163,13 +148,5 @@ value={entity.htmlToXlsx ? entity.htmlToXlsx.templateAssetShortid : null}

})}
renderNew={(modalProps) => <sharedComponents.NewAssetModal {...modalProps} options={{ ...modalProps.options, defaults: { folder: entity.folder }, activateNewTab: false }} />}
/>
</div>
<div className='form-group'>
<label>xlsx template (deprecated)</label>
<EntityRefSelect
headingLabel='Select xlsx template'
filter={(references) => ({ xlsxTemplates: references.xlsxTemplates })}
value={entity.baseXlsxTemplate ? entity.baseXlsxTemplate.shortid : null}
onChange={(selected) => onChange({ _id: entity._id, baseXlsxTemplate: selected != null && selected.length > 0 ? { shortid: selected[0].shortid } : null })}
/>
</div>
{htmlToXlsx.htmlEngine !== 'cheerio' && (

@@ -176,0 +153,0 @@ <div className='form-group'>

@@ -0,0 +0,0 @@ import Properties from './HtmlToXlsxProperties'

@@ -184,2 +184,3 @@ /******/ (function(modules) { // webpackBootstrap

var EntityRefSelect = _jsreportStudio2.default.EntityRefSelect;
var sharedComponents = _jsreportStudio2.default.sharedComponents;

@@ -190,11 +191,2 @@ var HtmlToXlsxProperties = function (_Component) {

_createClass(HtmlToXlsxProperties, null, [{
key: 'selectXlsxTemplates',
value: function selectXlsxTemplates(entities) {
return Object.keys(entities).filter(function (k) {
return entities[k].__entitySet === 'xlsxTemplates';
}).map(function (k) {
return entities[k];
});
}
}, {
key: 'selectAssets',

@@ -211,9 +203,6 @@ value: function selectAssets(entities) {

value: function title(entity, entities) {
if ((!entity.baseXlsxTemplate || !entity.baseXlsxTemplate.shortid) && (!entity.htmlToXlsx || !entity.htmlToXlsx.templateAssetShortid)) {
if (!entity.htmlToXlsx || !entity.htmlToXlsx.templateAssetShortid) {
return 'xlsx template';
}
var foundItems = HtmlToXlsxProperties.selectXlsxTemplates(entities).filter(function (e) {
return entity.baseXlsxTemplate != null && entity.baseXlsxTemplate.shortid === e.shortid;
});
var foundAssets = HtmlToXlsxProperties.selectAssets(entities).filter(function (e) {

@@ -223,14 +212,8 @@ return entity.htmlToXlsx != null && entity.htmlToXlsx.templateAssetShortid === e.shortid;

if (!foundItems.length && !foundAssets.length) {
if (!foundAssets.length) {
return 'xlsx template';
}
var name = void 0;
var name = foundAssets[0].name;
if (foundAssets.length) {
name = foundAssets[0].name;
} else {
name = foundItems[0].name;
}
return 'xlsx template: ' + name;

@@ -273,13 +256,9 @@ }

entity = _props.entity,
entities = _props.entities,
onChange = _props.onChange;
entities = _props.entities;
if (!entity.baseXlsxTemplate && !entity.htmlToXlsx) {
if (!entity.htmlToXlsx) {
return;
}
var updatedXlsxTemplates = Object.keys(entities).filter(function (k) {
return entities[k].__entitySet === 'xlsxTemplates' && entity.baseXlsxTemplate != null && entities[k].shortid === entity.baseXlsxTemplate.shortid;
});
var updatedXlsxAssets = Object.keys(entities).filter(function (k) {

@@ -294,6 +273,2 @@ return entities[k].__entitySet === 'assets' && entity.htmlToXlsx != null && entities[k].shortid === entity.htmlToXlsx.templateAssetShortid;

}
if (entity.baseXlsxTemplate && entity.baseXlsxTemplate.shortid && updatedXlsxTemplates.length === 0) {
onChange({ _id: entity._id, baseXlsxTemplate: null });
}
}

@@ -352,5 +327,3 @@ }, {

var _props2 = this.props,
entity = _props2.entity,
_onChange = _props2.onChange;
var entity = this.props.entity;

@@ -398,2 +371,3 @@ var htmlToXlsx = entity.htmlToXlsx || {};

headingLabel: 'Select xlsx template',
newLabel: 'New xlsx asset for template',
filter: function filter(references) {

@@ -407,21 +381,5 @@ return { data: references.assets };

});
}
})
),
_react2.default.createElement(
'div',
{ className: 'form-group' },
_react2.default.createElement(
'label',
null,
'xlsx template (deprecated)'
),
_react2.default.createElement(EntityRefSelect, {
headingLabel: 'Select xlsx template',
filter: function filter(references) {
return { xlsxTemplates: references.xlsxTemplates };
},
value: entity.baseXlsxTemplate ? entity.baseXlsxTemplate.shortid : null,
onChange: function onChange(selected) {
return _onChange({ _id: entity._id, baseXlsxTemplate: selected != null && selected.length > 0 ? { shortid: selected[0].shortid } : null });
renderNew: function renderNew(modalProps) {
return _react2.default.createElement(sharedComponents.NewAssetModal, _extends({}, modalProps, { options: _extends({}, modalProps.options, { defaults: { folder: entity.folder }, activateNewTab: false }) }));
}

@@ -428,0 +386,0 @@ })

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc