@lighthouse/common 6.7.0 → 6.8.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,7 +15,8 @@ var _images = require("../../../images");
15
15
  var _ = require("../");
16
16
  function buildFile({
17
17
  file,
18
- settings
18
+ settings,
19
+ signedAsset
19
20
  }) {
20
21
  const {
21
22
  extension,
@@ -23,9 +24,11 @@ function buildFile({
23
24
  path
24
25
  } = file;
25
26
  const {
26
- awsS3BaseUrl
27
+ awsS3BaseUrl,
28
+ shouldUseCloudfront,
29
+ cloudfrontBaseUrl
27
30
  } = settings;
28
- const link = `${awsS3BaseUrl}/${path}`;
31
+ const link = shouldUseCloudfront ? `${cloudfrontBaseUrl}/${signedAsset}` : `${awsS3BaseUrl}/${path}`;
29
32
  return (0, _.text)(`${name}.${extension}`, {
30
33
  link,
31
34
  margin: [0, 0, 0, 10]
@@ -294,10 +297,14 @@ function buildTemplateFieldRow({
294
297
  });
295
298
  }
296
299
  if (isFileField) {
297
- const fileList = (0, _lodash.map)(value, file => buildFile({
298
- file,
299
- settings
300
- }));
300
+ const fileList = (0, _lodash.map)(value, (file, index) => {
301
+ const signedAsset = signedAssets[index];
302
+ return buildFile({
303
+ file,
304
+ settings,
305
+ signedAsset
306
+ });
307
+ });
301
308
  return [labelText, {
302
309
  ol: fileList
303
310
  }];
@@ -35,7 +35,7 @@ var _helpers2 = require("../../helpers");
35
35
  */
36
36
 
37
37
  const publicSubmissionTextColor = '#FF8C2F';
38
- const staffSubmissionTextColor = '#00AAE4';
38
+ const internalSubmissionTextColor = '#00AAE4';
39
39
  function buildIssuePdf(pdfOptions, data) {
40
40
  const {
41
41
  entity,
@@ -145,8 +145,8 @@ function generateContent(data, pdfOptions) {
145
145
  const assigneeValueText = (0, _helpers.text)(assigneeNames);
146
146
  metaTable.table.body.push([assigneeLabelText, assigneeValueText]);
147
147
  if (plugins.publicForms?.enabled) {
148
- const sourceText = isPublicSubmission ? 'PUBLIC SUBMISSION' : 'STAFF SUBMISSION';
149
- const sourceColor = isPublicSubmission ? publicSubmissionTextColor : staffSubmissionTextColor;
148
+ const sourceText = isPublicSubmission ? 'PUBLIC SUBMISSION' : 'INTERNAL SUBMISSION';
149
+ const sourceColor = isPublicSubmission ? publicSubmissionTextColor : internalSubmissionTextColor;
150
150
  const sourceLabelText = (0, _helpers.text)('Source', {
151
151
  bold: true
152
152
  });
@@ -7,12 +7,15 @@ import { videoIcon } from '../../../images';
7
7
  import { imageTables, parseValue, text, toPdf } from '../';
8
8
  export function buildFile(_ref) {
9
9
  var file = _ref.file,
10
- settings = _ref.settings;
10
+ settings = _ref.settings,
11
+ signedAsset = _ref.signedAsset;
11
12
  var extension = file.extension,
12
13
  name = file.name,
13
14
  path = file.path;
14
- var awsS3BaseUrl = settings.awsS3BaseUrl;
15
- var link = "".concat(awsS3BaseUrl, "/").concat(path);
15
+ var awsS3BaseUrl = settings.awsS3BaseUrl,
16
+ shouldUseCloudfront = settings.shouldUseCloudfront,
17
+ cloudfrontBaseUrl = settings.cloudfrontBaseUrl;
18
+ var link = shouldUseCloudfront ? "".concat(cloudfrontBaseUrl, "/").concat(signedAsset) : "".concat(awsS3BaseUrl, "/").concat(path);
16
19
  return text("".concat(name, ".").concat(extension), {
17
20
  link: link,
18
21
  margin: [0, 0, 0, 10]
@@ -298,10 +301,12 @@ export function buildTemplateFieldRow(_ref3) {
298
301
  });
299
302
  }
300
303
  if (isFileField) {
301
- var fileList = map(value, function (file) {
304
+ var fileList = map(value, function (file, index) {
305
+ var signedAsset = signedAssets[index];
302
306
  return buildFile({
303
307
  file: file,
304
- settings: settings
308
+ settings: settings,
309
+ signedAsset: signedAsset
305
310
  });
306
311
  });
307
312
  return [labelText, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isArray","isEmpty","join","first","map","startsWith","Promise","moment","buildFetchUrl","fetchImage","videoIcon","imageTables","parseValue","text","toPdf","buildFile","_ref","file","settings","extension","name","path","awsS3BaseUrl","link","concat","margin","buildImage","options","_options$alignment","alignment","filepath","_options$height","height","_options$settings","signedAsset","_options$width","width","cloudinaryBaseUrl","cloudfrontBaseUrl","shouldUseCloudfront","isVideoType","RegExp","test","fit","image","url","quality","then","base64String","buildSummaryField","_ref2","field","timezone","fieldtype","_field$options","value","signedAssets","isDayFirstDateField","format","isMonthFirstDateField","isFileField","isHtmlField","type","isNumberField","isPhotoField","isReferenceField","isSelectField","isSignatureField","isStarField","isSwitchField","isTextField","is12HourTimeField","is24HourTimeField","isDataImage","fileList","ol","parsedValue","displayValue","fontSize","filter","val","label","tz","buildTemplateFieldRow","_ref3","skipped","_field$options2","_options$showOnRead","showOnRead","isDisplayImageField","length","labelText","parsed","replace","values","index","signedAssetValue","fieldImages","tables","imagesRow","colSpan","layout","hLineWidth","paddingLeft","paddingRight","paddingTop","paddingBottom","vLineWidth","table","body","_toConsumableArray","widths","string"],"sources":["../../../../src/pdf/helpers/fields/index.js"],"sourcesContent":["import { isArray, isEmpty, join, first, map, startsWith } from 'lodash'\nimport Promise from 'bluebird'\nimport moment from 'moment-timezone'\n\nimport { buildFetchUrl, fetchImage } from '../../../helpers'\nimport { videoIcon } from '../../../images'\nimport { imageTables, parseValue, text, toPdf } from '../'\n\nexport function buildFile({ file, settings }) {\n const { extension, name, path } = file\n const { awsS3BaseUrl } = settings\n\n const link = `${awsS3BaseUrl}/${path}`\n return text(`${name}.${extension}`, { link, margin: [0, 0, 0, 10] })\n}\n\nfunction buildImage(options) {\n const {\n alignment = 'center',\n filepath,\n height = 210,\n settings = {},\n signedAsset,\n width = 210,\n } = options\n const {\n awsS3BaseUrl,\n cloudinaryBaseUrl,\n cloudfrontBaseUrl,\n shouldUseCloudfront,\n } = settings\n\n const isVideoType = new RegExp('.mp4$').test(filepath)\n\n const link = shouldUseCloudfront\n ? `${cloudfrontBaseUrl}/${signedAsset || filepath}`\n : `${awsS3BaseUrl}/${filepath}`\n\n if (isVideoType) {\n return {\n alignment,\n fit: [width, height],\n image: videoIcon,\n link,\n }\n }\n\n const url = buildFetchUrl(filepath, {\n awsS3BaseUrl,\n cloudfrontBaseUrl,\n cloudinaryBaseUrl,\n fit: true,\n height: 400,\n width: 600,\n quality: 50,\n shouldUseCloudfront,\n })\n\n // NOTE: shouldUseCloudfront, Signature, Policy and KeyPairId from settings are used in this context\n return fetchImage(url, settings).then((base64String) => ({\n alignment,\n fit: [width, height],\n image: base64String,\n link,\n }))\n}\n\nexport function buildSummaryField({ field, settings, timezone }) {\n const { fieldtype, options = {}, value, signedAssets } = field\n const isDayFirstDateField =\n fieldtype === 'date' && options.format === 'DD/MM/YY'\n const isMonthFirstDateField =\n fieldtype === 'date' && options.format === 'MM/DD/YY'\n const isFileField = fieldtype === 'file'\n const isHtmlField = fieldtype === 'text' && options.type === 'html'\n const isNumberField = fieldtype === 'number'\n const isPhotoField = fieldtype === 'list' && options.type === 'media'\n const isReferenceField = fieldtype === 'reference'\n const isSelectField = fieldtype === 'select' && options.type !== 'stars'\n const isSignatureField = fieldtype === 'text' && options.type === 'signature'\n const isStarField = fieldtype === 'select' && options.type === 'stars'\n const isSwitchField = fieldtype === 'switch'\n const isTextField = fieldtype === 'text'\n const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a'\n const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm'\n\n // NOTE: html field is not supported for the summary fields but adding\n // logic to catch this and return empty text for completeness\n if (isHtmlField) {\n return { text: '' }\n }\n\n if (isSignatureField) {\n if (!value) return ''\n\n if (isDataImage(value)) {\n return { alignment: 'left', image: value, width: 140 }\n }\n // NOTE: shouldUseCloudfront, Signature, Policy and KeyPairId from settings are used in this context\n return fetchImage(value, settings).then((base64String) => {\n return {\n alignment: 'left',\n image: base64String,\n width: 140,\n }\n })\n }\n\n if (isPhotoField) {\n const filepath = first(value)\n\n // NOTE: if no filepath return empty text as user has not uploaded an image\n // for this field\n if (!filepath) {\n return { text: '' }\n }\n\n const image = buildImage({\n alignment: 'left',\n filepath,\n height: 140,\n width: 140,\n settings,\n signedAsset:\n signedAssets && isArray(signedAssets) ? signedAssets[0] : null,\n })\n\n return image\n }\n\n if (isFileField) {\n const fileList = map(value, (file) => buildFile({ file, settings }))\n return { ol: fileList }\n }\n\n if (isNumberField || isSelectField || isSwitchField || isTextField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? { text: join(parsedValue, ', '), fontSize: 7 }\n : { text: parsedValue, fontSize: 7 }\n\n return displayValue\n }\n\n if (isReferenceField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? {\n text: parsedValue\n .filter((val) => val && val.label)\n .map((val) => val.label)\n .join(', '),\n fontSize: 7,\n }\n : { text: parsedValue.label, fontSize: 7 }\n\n return displayValue\n }\n\n if (isStarField) {\n if (!value) return ''\n const displayValue = value === '1' ? `${value} star` : `${value} stars`\n return displayValue\n }\n\n if (\n isDayFirstDateField ||\n isMonthFirstDateField ||\n is12HourTimeField ||\n is24HourTimeField\n ) {\n const format = options.format\n const displayValue = moment(value).tz(timezone).format(format)\n\n return displayValue\n }\n\n // NOTE: return empty text fallback value when no match\n return { text: '' }\n}\n\nexport function buildTemplateFieldRow({ field, settings, timezone, skipped }) {\n const { fieldtype, label, options = {}, value, signedAssets } = field\n const { showOnRead = true } = options\n\n const isDayFirstDateField =\n fieldtype === 'date' && options.format === 'DD/MM/YY'\n const isMonthFirstDateField =\n fieldtype === 'date' && options.format === 'MM/DD/YY'\n const isFileField = fieldtype === 'file'\n const isHtmlField = fieldtype === 'text' && options.type === 'html'\n const isNumberField = fieldtype === 'number'\n const isPhotoField = fieldtype === 'list' && options.type === 'media'\n const isSelectField = fieldtype === 'select' && options.type !== 'stars'\n const isSignatureField = fieldtype === 'text' && options.type === 'signature'\n const isStarField = fieldtype === 'select' && options.type === 'stars'\n const isSwitchField = fieldtype === 'switch'\n const isTextField = fieldtype === 'text'\n const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a'\n const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm'\n const isDisplayImageField =\n fieldtype === 'image-display' &&\n showOnRead &&\n !(isArray(value) && value.length === 0)\n const isReferenceField = fieldtype === 'reference'\n // NOTE: only show field when show on read is true\n if (!showOnRead) return null\n\n const labelText = [{ text: label }]\n\n if (skipped) {\n return [labelText, [{ text: '-' }]]\n }\n\n if (isHtmlField) {\n const parsed = value.replace(/<p><\\/p>/g, '')\n return [labelText, toPdf(parsed)]\n }\n\n if (isSignatureField) {\n if (!value) return [labelText, '']\n // NOTE: shouldUseCloudfront, Signature, Policy and KeyPairId from settings are used in this context\n return fetchImage(value, settings).then((base64String) => {\n const values = {\n alignment: 'left',\n image: base64String,\n width: 140,\n }\n return [labelText, values]\n })\n }\n\n if (isDisplayImageField) {\n return Promise.map([value], (filepath, index) => {\n const signedAssetValue = isArray(signedAssets)\n ? signedAssets[index]\n : signedAssets\n return buildImage({ filepath, settings, signedAsset: signedAssetValue })\n }).then((fieldImages) => [fieldImages, {}])\n }\n\n if (isPhotoField) {\n return Promise.map(value, (filepath, index) => {\n const signedAssetValue = isArray(signedAssets)\n ? signedAssets[index]\n : signedAssets\n return buildImage({ filepath, settings, signedAsset: signedAssetValue })\n }).then((fieldImages) => {\n const tables = !isEmpty(fieldImages) ? imageTables(fieldImages) : []\n\n const imagesRow = {\n colSpan: 2,\n layout: {\n hLineWidth: () => 0,\n paddingLeft: () => 0,\n paddingRight: () => 0,\n paddingTop: () => 0,\n paddingBottom: () => 0,\n vLineWidth: () => 0,\n },\n table: {\n body: [labelText, ...tables],\n widths: ['*'],\n },\n }\n\n // NOTE: pass empty value here as otherwise\n // we can accidentally hide content below\n // this row. Please see the following issue:\n // https://github.com/bpampuch/pdfmake/issues/1598\n return [imagesRow, {}]\n })\n }\n\n if (isFileField) {\n const fileList = map(value, (file) => buildFile({ file, settings }))\n return [labelText, { ol: fileList }]\n }\n\n if (isNumberField || isSelectField || isSwitchField || isTextField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? { text: join(parsedValue, ', ') }\n : { text: parsedValue }\n\n return [labelText, displayValue]\n }\n\n if (isReferenceField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? {\n text: parsedValue\n .filter((val) => val && val.label)\n .map((val) => val.label)\n .join(', '),\n fontSize: 7,\n }\n : { text: parsedValue.label, fontSize: 7 }\n\n return [labelText, displayValue]\n }\n\n if (isStarField) {\n if (!value) return [labelText, '']\n const displayValue = value === '1' ? `${value} star` : `${value} stars`\n return [labelText, displayValue]\n }\n\n if (\n isDayFirstDateField ||\n isMonthFirstDateField ||\n is12HourTimeField ||\n is24HourTimeField\n ) {\n const format = options.format\n const displayValue = value ? moment(value).tz(timezone).format(format) : ''\n\n return [labelText, displayValue]\n }\n\n // NOTE: if no match above null values will be stripped within calling fn\n return null\n}\n\nfunction isDataImage(string) {\n return startsWith(string, 'data:image/png;')\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["isArray","isEmpty","join","first","map","startsWith","Promise","moment","buildFetchUrl","fetchImage","videoIcon","imageTables","parseValue","text","toPdf","buildFile","_ref","file","settings","signedAsset","extension","name","path","awsS3BaseUrl","shouldUseCloudfront","cloudfrontBaseUrl","link","concat","margin","buildImage","options","_options$alignment","alignment","filepath","_options$height","height","_options$settings","_options$width","width","cloudinaryBaseUrl","isVideoType","RegExp","test","fit","image","url","quality","then","base64String","buildSummaryField","_ref2","field","timezone","fieldtype","_field$options","value","signedAssets","isDayFirstDateField","format","isMonthFirstDateField","isFileField","isHtmlField","type","isNumberField","isPhotoField","isReferenceField","isSelectField","isSignatureField","isStarField","isSwitchField","isTextField","is12HourTimeField","is24HourTimeField","isDataImage","fileList","ol","parsedValue","displayValue","fontSize","filter","val","label","tz","buildTemplateFieldRow","_ref3","skipped","_field$options2","_options$showOnRead","showOnRead","isDisplayImageField","length","labelText","parsed","replace","values","index","signedAssetValue","fieldImages","tables","imagesRow","colSpan","layout","hLineWidth","paddingLeft","paddingRight","paddingTop","paddingBottom","vLineWidth","table","body","_toConsumableArray","widths","string"],"sources":["../../../../src/pdf/helpers/fields/index.js"],"sourcesContent":["import { isArray, isEmpty, join, first, map, startsWith } from 'lodash'\nimport Promise from 'bluebird'\nimport moment from 'moment-timezone'\n\nimport { buildFetchUrl, fetchImage } from '../../../helpers'\nimport { videoIcon } from '../../../images'\nimport { imageTables, parseValue, text, toPdf } from '../'\n\nexport function buildFile({ file, settings, signedAsset }) {\n const { extension, name, path } = file\n const { awsS3BaseUrl, shouldUseCloudfront, cloudfrontBaseUrl } = settings\n\n const link = shouldUseCloudfront\n ? `${cloudfrontBaseUrl}/${signedAsset}`\n : `${awsS3BaseUrl}/${path}`\n\n return text(`${name}.${extension}`, { link, margin: [0, 0, 0, 10] })\n}\n\nfunction buildImage(options) {\n const {\n alignment = 'center',\n filepath,\n height = 210,\n settings = {},\n signedAsset,\n width = 210,\n } = options\n const {\n awsS3BaseUrl,\n cloudinaryBaseUrl,\n cloudfrontBaseUrl,\n shouldUseCloudfront,\n } = settings\n\n const isVideoType = new RegExp('.mp4$').test(filepath)\n\n const link = shouldUseCloudfront\n ? `${cloudfrontBaseUrl}/${signedAsset || filepath}`\n : `${awsS3BaseUrl}/${filepath}`\n\n if (isVideoType) {\n return {\n alignment,\n fit: [width, height],\n image: videoIcon,\n link,\n }\n }\n\n const url = buildFetchUrl(filepath, {\n awsS3BaseUrl,\n cloudfrontBaseUrl,\n cloudinaryBaseUrl,\n fit: true,\n height: 400,\n width: 600,\n quality: 50,\n shouldUseCloudfront,\n })\n\n // NOTE: shouldUseCloudfront, Signature, Policy and KeyPairId from settings are used in this context\n return fetchImage(url, settings).then((base64String) => ({\n alignment,\n fit: [width, height],\n image: base64String,\n link,\n }))\n}\n\nexport function buildSummaryField({ field, settings, timezone }) {\n const { fieldtype, options = {}, value, signedAssets } = field\n const isDayFirstDateField =\n fieldtype === 'date' && options.format === 'DD/MM/YY'\n const isMonthFirstDateField =\n fieldtype === 'date' && options.format === 'MM/DD/YY'\n const isFileField = fieldtype === 'file'\n const isHtmlField = fieldtype === 'text' && options.type === 'html'\n const isNumberField = fieldtype === 'number'\n const isPhotoField = fieldtype === 'list' && options.type === 'media'\n const isReferenceField = fieldtype === 'reference'\n const isSelectField = fieldtype === 'select' && options.type !== 'stars'\n const isSignatureField = fieldtype === 'text' && options.type === 'signature'\n const isStarField = fieldtype === 'select' && options.type === 'stars'\n const isSwitchField = fieldtype === 'switch'\n const isTextField = fieldtype === 'text'\n const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a'\n const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm'\n\n // NOTE: html field is not supported for the summary fields but adding\n // logic to catch this and return empty text for completeness\n if (isHtmlField) {\n return { text: '' }\n }\n\n if (isSignatureField) {\n if (!value) return ''\n\n if (isDataImage(value)) {\n return { alignment: 'left', image: value, width: 140 }\n }\n // NOTE: shouldUseCloudfront, Signature, Policy and KeyPairId from settings are used in this context\n return fetchImage(value, settings).then((base64String) => {\n return {\n alignment: 'left',\n image: base64String,\n width: 140,\n }\n })\n }\n\n if (isPhotoField) {\n const filepath = first(value)\n\n // NOTE: if no filepath return empty text as user has not uploaded an image\n // for this field\n if (!filepath) {\n return { text: '' }\n }\n\n const image = buildImage({\n alignment: 'left',\n filepath,\n height: 140,\n width: 140,\n settings,\n signedAsset:\n signedAssets && isArray(signedAssets) ? signedAssets[0] : null,\n })\n\n return image\n }\n\n if (isFileField) {\n const fileList = map(value, (file) => buildFile({ file, settings }))\n return { ol: fileList }\n }\n\n if (isNumberField || isSelectField || isSwitchField || isTextField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? { text: join(parsedValue, ', '), fontSize: 7 }\n : { text: parsedValue, fontSize: 7 }\n\n return displayValue\n }\n\n if (isReferenceField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? {\n text: parsedValue\n .filter((val) => val && val.label)\n .map((val) => val.label)\n .join(', '),\n fontSize: 7,\n }\n : { text: parsedValue.label, fontSize: 7 }\n\n return displayValue\n }\n\n if (isStarField) {\n if (!value) return ''\n const displayValue = value === '1' ? `${value} star` : `${value} stars`\n return displayValue\n }\n\n if (\n isDayFirstDateField ||\n isMonthFirstDateField ||\n is12HourTimeField ||\n is24HourTimeField\n ) {\n const format = options.format\n const displayValue = moment(value).tz(timezone).format(format)\n\n return displayValue\n }\n\n // NOTE: return empty text fallback value when no match\n return { text: '' }\n}\n\nexport function buildTemplateFieldRow({ field, settings, timezone, skipped }) {\n const { fieldtype, label, options = {}, value, signedAssets } = field\n const { showOnRead = true } = options\n\n const isDayFirstDateField =\n fieldtype === 'date' && options.format === 'DD/MM/YY'\n const isMonthFirstDateField =\n fieldtype === 'date' && options.format === 'MM/DD/YY'\n const isFileField = fieldtype === 'file'\n const isHtmlField = fieldtype === 'text' && options.type === 'html'\n const isNumberField = fieldtype === 'number'\n const isPhotoField = fieldtype === 'list' && options.type === 'media'\n const isSelectField = fieldtype === 'select' && options.type !== 'stars'\n const isSignatureField = fieldtype === 'text' && options.type === 'signature'\n const isStarField = fieldtype === 'select' && options.type === 'stars'\n const isSwitchField = fieldtype === 'switch'\n const isTextField = fieldtype === 'text'\n const is12HourTimeField = fieldtype === 'time' && options.format === 'h:mm a'\n const is24HourTimeField = fieldtype === 'time' && options.format === 'HH:mm'\n const isDisplayImageField =\n fieldtype === 'image-display' &&\n showOnRead &&\n !(isArray(value) && value.length === 0)\n const isReferenceField = fieldtype === 'reference'\n // NOTE: only show field when show on read is true\n if (!showOnRead) return null\n\n const labelText = [{ text: label }]\n\n if (skipped) {\n return [labelText, [{ text: '-' }]]\n }\n\n if (isHtmlField) {\n const parsed = value.replace(/<p><\\/p>/g, '')\n return [labelText, toPdf(parsed)]\n }\n\n if (isSignatureField) {\n if (!value) return [labelText, '']\n // NOTE: shouldUseCloudfront, Signature, Policy and KeyPairId from settings are used in this context\n return fetchImage(value, settings).then((base64String) => {\n const values = {\n alignment: 'left',\n image: base64String,\n width: 140,\n }\n return [labelText, values]\n })\n }\n\n if (isDisplayImageField) {\n return Promise.map([value], (filepath, index) => {\n const signedAssetValue = isArray(signedAssets)\n ? signedAssets[index]\n : signedAssets\n return buildImage({ filepath, settings, signedAsset: signedAssetValue })\n }).then((fieldImages) => [fieldImages, {}])\n }\n\n if (isPhotoField) {\n return Promise.map(value, (filepath, index) => {\n const signedAssetValue = isArray(signedAssets)\n ? signedAssets[index]\n : signedAssets\n return buildImage({ filepath, settings, signedAsset: signedAssetValue })\n }).then((fieldImages) => {\n const tables = !isEmpty(fieldImages) ? imageTables(fieldImages) : []\n\n const imagesRow = {\n colSpan: 2,\n layout: {\n hLineWidth: () => 0,\n paddingLeft: () => 0,\n paddingRight: () => 0,\n paddingTop: () => 0,\n paddingBottom: () => 0,\n vLineWidth: () => 0,\n },\n table: {\n body: [labelText, ...tables],\n widths: ['*'],\n },\n }\n\n // NOTE: pass empty value here as otherwise\n // we can accidentally hide content below\n // this row. Please see the following issue:\n // https://github.com/bpampuch/pdfmake/issues/1598\n return [imagesRow, {}]\n })\n }\n\n if (isFileField) {\n const fileList = map(value, (file, index) => {\n const signedAsset = signedAssets[index]\n return buildFile({ file, settings, signedAsset })\n })\n return [labelText, { ol: fileList }]\n }\n\n if (isNumberField || isSelectField || isSwitchField || isTextField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? { text: join(parsedValue, ', ') }\n : { text: parsedValue }\n\n return [labelText, displayValue]\n }\n\n if (isReferenceField) {\n const parsedValue = parseValue(value)\n const displayValue = isArray(parsedValue)\n ? {\n text: parsedValue\n .filter((val) => val && val.label)\n .map((val) => val.label)\n .join(', '),\n fontSize: 7,\n }\n : { text: parsedValue.label, fontSize: 7 }\n\n return [labelText, displayValue]\n }\n\n if (isStarField) {\n if (!value) return [labelText, '']\n const displayValue = value === '1' ? `${value} star` : `${value} stars`\n return [labelText, displayValue]\n }\n\n if (\n isDayFirstDateField ||\n isMonthFirstDateField ||\n is12HourTimeField ||\n is24HourTimeField\n ) {\n const format = options.format\n const displayValue = value ? moment(value).tz(timezone).format(format) : ''\n\n return [labelText, displayValue]\n }\n\n // NOTE: if no match above null values will be stripped within calling fn\n return null\n}\n\nfunction isDataImage(string) {\n return startsWith(string, 'data:image/png;')\n}\n"],"mappings":"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","ignoreList":[]}
@@ -33,7 +33,7 @@ import { getIssueDetails, getStatusDetails, getTimezoneAbbr, getTimezoneDatetime
33
33
  */
34
34
 
35
35
  var publicSubmissionTextColor = '#FF8C2F';
36
- var staffSubmissionTextColor = '#00AAE4';
36
+ var internalSubmissionTextColor = '#00AAE4';
37
37
  export function buildIssuePdf(pdfOptions, data) {
38
38
  var entity = data.entity,
39
39
  timezone = data.timezone;
@@ -138,8 +138,8 @@ function generateContent(data, pdfOptions) {
138
138
  var assigneeValueText = text(assigneeNames);
139
139
  metaTable.table.body.push([assigneeLabelText, assigneeValueText]);
140
140
  if ((_plugins$publicForms = plugins.publicForms) !== null && _plugins$publicForms !== void 0 && _plugins$publicForms.enabled) {
141
- var sourceText = isPublicSubmission ? 'PUBLIC SUBMISSION' : 'STAFF SUBMISSION';
142
- var sourceColor = isPublicSubmission ? publicSubmissionTextColor : staffSubmissionTextColor;
141
+ var sourceText = isPublicSubmission ? 'PUBLIC SUBMISSION' : 'INTERNAL SUBMISSION';
142
+ var sourceColor = isPublicSubmission ? publicSubmissionTextColor : internalSubmissionTextColor;
143
143
  var sourceLabelText = text('Source', {
144
144
  bold: true
145
145
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["get","filter","isEmpty","map","moment","buildTemplateContent","generateDefinition","getFormattedAddress","horizontalLine","table","text","threeColumnTable","getIssueDetails","getStatusDetails","getTimezoneAbbr","getTimezoneDatetime","publicSubmissionTextColor","staffSubmissionTextColor","buildIssuePdf","pdfOptions","data","entity","timezone","sequenceId","timestamp","createdAt","title","fileTitle","concat","generateContent","then","content","_objectSpread","type","_plugins$publicForms","entry","_entity$gps","gps","_entity$timeline","timeline","_pdfOptions$plugins","plugins","entityDetails","assigneeNames","durationText","gpsText","isPublicSubmission","locationText","statusColor","statusText","reverseGeocoded","subTitle","headerTitle","style","headerSubTitle","address","headerAddress","body","submittedAtInTimezone","submittedAt","tz","format","showSimplifiedDuration","push","startedAtInTimezone","startedAt","momentDuration","duration","Math","abs","formDuration","days","floor","asDays","toString","padStart","hours","minutes","seconds","formattedFormDuration","titleTable","layout","statusLabelText","bold","statusValueText","color","metaTable","durationLabelText","durationValueText","assigneeLabelText","assigneeValueText","publicForms","enabled","sourceText","sourceColor","sourceLabelText","sourceValueText","timelineTitle","timelineHorizontalLine","timelineTable","createTimelineTable","formGroups","_toConsumableArray","timezoneAbbr","timelineHeaderRow","alignment","statusUpdates","timelineBodyRows","colSpan","item","_item$meta","meta","source","next","firstName","lastName","fullName","isNew","isUpdate","isOpen","statusDetails","nextStatusText","activity","datetime","showTzAbbr"],"sources":["../../../src/pdf/issue/index.js"],"sourcesContent":["import { get, filter, isEmpty, map } from 'lodash'\nimport moment from 'moment-timezone'\n\nimport {\n buildTemplateContent,\n generateDefinition,\n getFormattedAddress,\n horizontalLine,\n table,\n text,\n threeColumnTable,\n} from '../helpers'\n\nimport {\n getIssueDetails,\n getStatusDetails,\n getTimezoneAbbr,\n getTimezoneDatetime,\n} from '../../helpers'\n\n/**\n * buildIssuePdf\n *\n * @param {object} pdfOptions - the pdf options\n * @param {string} pdfOptions.fileTitle - pdf file title\n * @param {function} pdfOptions.footer - function executed to generate footer\n * @param {function} pdfOptions.header - function executed to generate header\n * @param {string} pdfOptions.logoUrl - pdf logo url\n * @param {array} pdfOptions.pageMargins - pdf page margins\n * @param {string} pdfOptions.pageOrientation - pdf page orientation\n * @param {string} pdfOptions.pageSize - pdf page size\n * @param {object} pdfOptions.styles - pdf styles\n * @param {object} pdfOptions.title - pdf title\n * @param {object} data - pdf data\n * @param {object} data.entity - issue document\n * @param {object} data.locations - locations documents\n * @param {object} data.settings - settings properties\n * @param {string} data.settings.awsS3BaseUrl - aws S3 base url\n * @param {string} data.settings.cloudinaryBaseUrl - cloudinary base url\n * @param {string} data.timezone - timezone string\n * @param {object} data.users - application user documents\n * @param {object} data.zones - zone documents\n * @returns {Promise} returns pdfmake definition object\n */\n\nconst publicSubmissionTextColor = '#FF8C2F'\nconst staffSubmissionTextColor = '#00AAE4'\n\nexport function buildIssuePdf(pdfOptions, data) {\n const { entity, timezone } = data\n\n const sequenceId = entity.sequenceId\n const timestamp = entity.createdAt\n const title = entity.title || 'Unknown'\n\n const fileTitle = `Issue Report - ${title}`\n\n return generateContent(data, pdfOptions).then((content) =>\n generateDefinition({\n content,\n fileTitle,\n sequenceId,\n timestamp,\n timezone,\n type: 'Issue',\n ...pdfOptions,\n })\n )\n}\n\nfunction generateContent(data, pdfOptions) {\n const { entity, timezone } = data\n const { entry, gps = {}, timeline = [], title } = entity\n const { plugins = {} } = pdfOptions\n\n const entityDetails = getIssueDetails(data)\n\n const {\n assigneeNames,\n durationText,\n gpsText,\n isPublicSubmission,\n locationText,\n statusColor,\n statusText,\n } = entityDetails\n\n const reverseGeocoded = gps.reverseGeocoded\n\n const subTitle = `${locationText || gpsText}`\n const headerTitle = text(title, { style: 'title' })\n const headerSubTitle = text(subTitle, { style: 'subTitle' })\n const address = !isEmpty(reverseGeocoded)\n ? getFormattedAddress(reverseGeocoded)\n : ''\n const headerAddress = text(address, { style: 'small' })\n\n const body = !isEmpty(reverseGeocoded)\n ? [[headerTitle], [headerSubTitle], [headerAddress]]\n : [[headerTitle], [headerSubTitle]]\n\n const submittedAtInTimezone = entity.submittedAt\n ? moment(entity.submittedAt).tz(timezone).format('YYYY-MM-DD HH:mm:ss z')\n : 'Not recorded'\n const submittedAt = text(`Submitted: ${submittedAtInTimezone}`, {\n style: 'small',\n })\n\n if (entity.showSimplifiedDuration) {\n body.push([submittedAt])\n } else {\n const startedAtInTimezone = entity.startedAt\n ? moment(entity.startedAt).tz(timezone).format('YYYY-MM-DD HH:mm:ss z')\n : 'Not recorded'\n const startedAt = text(`Started: ${startedAtInTimezone}`, {\n style: 'small',\n })\n\n const momentDuration = moment.duration(Math.abs(entity.formDuration))\n const days = Math.floor(momentDuration.asDays()).toString().padStart(2, '0')\n const hours = Math.floor(momentDuration.hours()).toString().padStart(2, '0')\n const minutes = momentDuration.minutes().toString().padStart(2, '0')\n const seconds = momentDuration.seconds().toString().padStart(2, '0')\n const formattedFormDuration = entity.formDuration\n ? `${\n entity.formDuration < 0 ? '-' : ''\n }${days}:${hours}:${minutes}:${seconds}`\n : 'Not recorded'\n const formDuration = text(\n `Form Duration (DD:HH:MM:SS): ${formattedFormDuration}`,\n {\n style: 'small',\n }\n )\n\n body.push([startedAt])\n body.push([submittedAt])\n body.push([formDuration])\n }\n\n const titleTable = table({\n body,\n layout: 'noBorders',\n style: 'titleTable',\n })\n\n const statusLabelText = text('Status', { bold: true })\n const statusValueText = text(statusText, { color: statusColor })\n\n const metaTable = table({\n body: [[statusLabelText, statusValueText]],\n layout: 'noBorders',\n style: 'metaTable',\n })\n\n if (statusText === 'CLOSED') {\n const durationLabelText = text('Duration', { bold: true })\n const durationValueText = text(durationText)\n metaTable.table.body.push([durationLabelText, durationValueText])\n }\n\n const assigneeLabelText = text('Assignees', { bold: true })\n const assigneeValueText = text(assigneeNames)\n metaTable.table.body.push([assigneeLabelText, assigneeValueText])\n\n if (plugins.publicForms?.enabled) {\n const sourceText = isPublicSubmission\n ? 'PUBLIC SUBMISSION'\n : 'STAFF SUBMISSION'\n\n const sourceColor = isPublicSubmission\n ? publicSubmissionTextColor\n : staffSubmissionTextColor\n const sourceLabelText = text('Source', { bold: true })\n const sourceValueText = text(sourceText, { color: sourceColor })\n metaTable.table.body.push([sourceLabelText, sourceValueText])\n }\n\n const timelineTitle = text('Timeline', { style: 'timelineTitle' })\n const timelineHorizontalLine = horizontalLine()\n const timelineTable = createTimelineTable(timeline, timezone)\n\n return buildTemplateContent(entry.formGroups, data).then((entry) => [\n titleTable,\n metaTable,\n timelineTitle,\n timelineHorizontalLine,\n timelineTable,\n ...entry,\n ])\n}\n\nfunction createTimelineTable(timeline, timezone) {\n const timezoneAbbr = getTimezoneAbbr(timezone)\n\n const timelineHeaderRow = [\n text('Activity', { bold: true }),\n text('User', { bold: true }),\n text(`Date & Timestamp (${timezoneAbbr})`, {\n alignment: 'right',\n bold: true,\n }),\n ]\n\n const statusUpdates = filter(timeline, ['meta.field', 'status'])\n\n const timelineBodyRows = isEmpty(statusUpdates)\n ? [text('No Timeline activity', { colSpan: 3 })]\n : map(statusUpdates, (item) => {\n const { meta = {}, source, timestamp, type } = item\n\n const next = get(meta, 'next')\n const firstName = get(source, 'meta.firstName')\n const lastName = get(source, 'meta.lastName')\n\n const fullName =\n firstName && lastName ? `${firstName} ${lastName}` : 'Unknown User'\n\n const isNew = type === 'issue-new'\n const isUpdate = type === 'issue-update'\n const isOpen = next === 'open'\n\n const statusDetails = getStatusDetails(next)\n const nextStatusText = statusDetails.text\n\n const activity =\n isNew && isOpen\n ? 'Issue opened'\n : isNew && !isOpen\n ? `Issue opened with status ${nextStatusText}`\n : isUpdate\n ? `Issue updated to ${nextStatusText}`\n : 'Unknown status timeline change'\n\n const datetime = getTimezoneDatetime({\n format: 'ddd, MMM D h:mm:ssa z',\n showTzAbbr: false,\n timestamp,\n timezone,\n })\n\n return [\n text(activity),\n text(fullName),\n text(datetime, { alignment: 'right' }),\n ]\n })\n\n const timelineTable = threeColumnTable({\n body: [timelineHeaderRow, ...timelineBodyRows],\n })\n\n return timelineTable\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["get","filter","isEmpty","map","moment","buildTemplateContent","generateDefinition","getFormattedAddress","horizontalLine","table","text","threeColumnTable","getIssueDetails","getStatusDetails","getTimezoneAbbr","getTimezoneDatetime","publicSubmissionTextColor","internalSubmissionTextColor","buildIssuePdf","pdfOptions","data","entity","timezone","sequenceId","timestamp","createdAt","title","fileTitle","concat","generateContent","then","content","_objectSpread","type","_plugins$publicForms","entry","_entity$gps","gps","_entity$timeline","timeline","_pdfOptions$plugins","plugins","entityDetails","assigneeNames","durationText","gpsText","isPublicSubmission","locationText","statusColor","statusText","reverseGeocoded","subTitle","headerTitle","style","headerSubTitle","address","headerAddress","body","submittedAtInTimezone","submittedAt","tz","format","showSimplifiedDuration","push","startedAtInTimezone","startedAt","momentDuration","duration","Math","abs","formDuration","days","floor","asDays","toString","padStart","hours","minutes","seconds","formattedFormDuration","titleTable","layout","statusLabelText","bold","statusValueText","color","metaTable","durationLabelText","durationValueText","assigneeLabelText","assigneeValueText","publicForms","enabled","sourceText","sourceColor","sourceLabelText","sourceValueText","timelineTitle","timelineHorizontalLine","timelineTable","createTimelineTable","formGroups","_toConsumableArray","timezoneAbbr","timelineHeaderRow","alignment","statusUpdates","timelineBodyRows","colSpan","item","_item$meta","meta","source","next","firstName","lastName","fullName","isNew","isUpdate","isOpen","statusDetails","nextStatusText","activity","datetime","showTzAbbr"],"sources":["../../../src/pdf/issue/index.js"],"sourcesContent":["import { get, filter, isEmpty, map } from 'lodash'\nimport moment from 'moment-timezone'\n\nimport {\n buildTemplateContent,\n generateDefinition,\n getFormattedAddress,\n horizontalLine,\n table,\n text,\n threeColumnTable,\n} from '../helpers'\n\nimport {\n getIssueDetails,\n getStatusDetails,\n getTimezoneAbbr,\n getTimezoneDatetime,\n} from '../../helpers'\n\n/**\n * buildIssuePdf\n *\n * @param {object} pdfOptions - the pdf options\n * @param {string} pdfOptions.fileTitle - pdf file title\n * @param {function} pdfOptions.footer - function executed to generate footer\n * @param {function} pdfOptions.header - function executed to generate header\n * @param {string} pdfOptions.logoUrl - pdf logo url\n * @param {array} pdfOptions.pageMargins - pdf page margins\n * @param {string} pdfOptions.pageOrientation - pdf page orientation\n * @param {string} pdfOptions.pageSize - pdf page size\n * @param {object} pdfOptions.styles - pdf styles\n * @param {object} pdfOptions.title - pdf title\n * @param {object} data - pdf data\n * @param {object} data.entity - issue document\n * @param {object} data.locations - locations documents\n * @param {object} data.settings - settings properties\n * @param {string} data.settings.awsS3BaseUrl - aws S3 base url\n * @param {string} data.settings.cloudinaryBaseUrl - cloudinary base url\n * @param {string} data.timezone - timezone string\n * @param {object} data.users - application user documents\n * @param {object} data.zones - zone documents\n * @returns {Promise} returns pdfmake definition object\n */\n\nconst publicSubmissionTextColor = '#FF8C2F'\nconst internalSubmissionTextColor = '#00AAE4'\n\nexport function buildIssuePdf(pdfOptions, data) {\n const { entity, timezone } = data\n\n const sequenceId = entity.sequenceId\n const timestamp = entity.createdAt\n const title = entity.title || 'Unknown'\n\n const fileTitle = `Issue Report - ${title}`\n\n return generateContent(data, pdfOptions).then((content) =>\n generateDefinition({\n content,\n fileTitle,\n sequenceId,\n timestamp,\n timezone,\n type: 'Issue',\n ...pdfOptions,\n })\n )\n}\n\nfunction generateContent(data, pdfOptions) {\n const { entity, timezone } = data\n const { entry, gps = {}, timeline = [], title } = entity\n const { plugins = {} } = pdfOptions\n\n const entityDetails = getIssueDetails(data)\n\n const {\n assigneeNames,\n durationText,\n gpsText,\n isPublicSubmission,\n locationText,\n statusColor,\n statusText,\n } = entityDetails\n\n const reverseGeocoded = gps.reverseGeocoded\n\n const subTitle = `${locationText || gpsText}`\n const headerTitle = text(title, { style: 'title' })\n const headerSubTitle = text(subTitle, { style: 'subTitle' })\n const address = !isEmpty(reverseGeocoded)\n ? getFormattedAddress(reverseGeocoded)\n : ''\n const headerAddress = text(address, { style: 'small' })\n\n const body = !isEmpty(reverseGeocoded)\n ? [[headerTitle], [headerSubTitle], [headerAddress]]\n : [[headerTitle], [headerSubTitle]]\n\n const submittedAtInTimezone = entity.submittedAt\n ? moment(entity.submittedAt).tz(timezone).format('YYYY-MM-DD HH:mm:ss z')\n : 'Not recorded'\n const submittedAt = text(`Submitted: ${submittedAtInTimezone}`, {\n style: 'small',\n })\n\n if (entity.showSimplifiedDuration) {\n body.push([submittedAt])\n } else {\n const startedAtInTimezone = entity.startedAt\n ? moment(entity.startedAt).tz(timezone).format('YYYY-MM-DD HH:mm:ss z')\n : 'Not recorded'\n const startedAt = text(`Started: ${startedAtInTimezone}`, {\n style: 'small',\n })\n\n const momentDuration = moment.duration(Math.abs(entity.formDuration))\n const days = Math.floor(momentDuration.asDays()).toString().padStart(2, '0')\n const hours = Math.floor(momentDuration.hours()).toString().padStart(2, '0')\n const minutes = momentDuration.minutes().toString().padStart(2, '0')\n const seconds = momentDuration.seconds().toString().padStart(2, '0')\n const formattedFormDuration = entity.formDuration\n ? `${\n entity.formDuration < 0 ? '-' : ''\n }${days}:${hours}:${minutes}:${seconds}`\n : 'Not recorded'\n const formDuration = text(\n `Form Duration (DD:HH:MM:SS): ${formattedFormDuration}`,\n {\n style: 'small',\n }\n )\n\n body.push([startedAt])\n body.push([submittedAt])\n body.push([formDuration])\n }\n\n const titleTable = table({\n body,\n layout: 'noBorders',\n style: 'titleTable',\n })\n\n const statusLabelText = text('Status', { bold: true })\n const statusValueText = text(statusText, { color: statusColor })\n\n const metaTable = table({\n body: [[statusLabelText, statusValueText]],\n layout: 'noBorders',\n style: 'metaTable',\n })\n\n if (statusText === 'CLOSED') {\n const durationLabelText = text('Duration', { bold: true })\n const durationValueText = text(durationText)\n metaTable.table.body.push([durationLabelText, durationValueText])\n }\n\n const assigneeLabelText = text('Assignees', { bold: true })\n const assigneeValueText = text(assigneeNames)\n metaTable.table.body.push([assigneeLabelText, assigneeValueText])\n\n if (plugins.publicForms?.enabled) {\n const sourceText = isPublicSubmission\n ? 'PUBLIC SUBMISSION'\n : 'INTERNAL SUBMISSION'\n\n const sourceColor = isPublicSubmission\n ? publicSubmissionTextColor\n : internalSubmissionTextColor\n const sourceLabelText = text('Source', { bold: true })\n const sourceValueText = text(sourceText, { color: sourceColor })\n metaTable.table.body.push([sourceLabelText, sourceValueText])\n }\n\n const timelineTitle = text('Timeline', { style: 'timelineTitle' })\n const timelineHorizontalLine = horizontalLine()\n const timelineTable = createTimelineTable(timeline, timezone)\n\n return buildTemplateContent(entry.formGroups, data).then((entry) => [\n titleTable,\n metaTable,\n timelineTitle,\n timelineHorizontalLine,\n timelineTable,\n ...entry,\n ])\n}\n\nfunction createTimelineTable(timeline, timezone) {\n const timezoneAbbr = getTimezoneAbbr(timezone)\n\n const timelineHeaderRow = [\n text('Activity', { bold: true }),\n text('User', { bold: true }),\n text(`Date & Timestamp (${timezoneAbbr})`, {\n alignment: 'right',\n bold: true,\n }),\n ]\n\n const statusUpdates = filter(timeline, ['meta.field', 'status'])\n\n const timelineBodyRows = isEmpty(statusUpdates)\n ? [text('No Timeline activity', { colSpan: 3 })]\n : map(statusUpdates, (item) => {\n const { meta = {}, source, timestamp, type } = item\n\n const next = get(meta, 'next')\n const firstName = get(source, 'meta.firstName')\n const lastName = get(source, 'meta.lastName')\n\n const fullName =\n firstName && lastName ? `${firstName} ${lastName}` : 'Unknown User'\n\n const isNew = type === 'issue-new'\n const isUpdate = type === 'issue-update'\n const isOpen = next === 'open'\n\n const statusDetails = getStatusDetails(next)\n const nextStatusText = statusDetails.text\n\n const activity =\n isNew && isOpen\n ? 'Issue opened'\n : isNew && !isOpen\n ? `Issue opened with status ${nextStatusText}`\n : isUpdate\n ? `Issue updated to ${nextStatusText}`\n : 'Unknown status timeline change'\n\n const datetime = getTimezoneDatetime({\n format: 'ddd, MMM D h:mm:ssa z',\n showTzAbbr: false,\n timestamp,\n timezone,\n })\n\n return [\n text(activity),\n text(fullName),\n text(datetime, { alignment: 'right' }),\n ]\n })\n\n const timelineTable = threeColumnTable({\n body: [timelineHeaderRow, ...timelineBodyRows],\n })\n\n return timelineTable\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@lighthouse/common",
3
- "version": "6.7.0",
3
+ "version": "6.8.0-canary.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "lib/index.js",
7
7
  "scripts": {
8
+ "watch": "yarn clear:es && babel src --out-dir lib --extensions '.js,.ts' --ignore 'src/**/fixtures.js,src/**/fixtures/*,src/**/*.story.js,src/**/*.story.ts,src/**/*.test.js,src/**/*.test.ts' --source-maps --watch",
8
9
  "build": "yarn clear && yarn build:es && yarn build:node",
9
10
  "build:es": "yarn clear:es && babel src --out-dir lib --extensions '.js,.ts' --ignore 'src/**/fixtures.js,src/**/fixtures/*,src/**/*.story.js,src/**/*.story.ts,src/**/*.test.js,src/**/*.test.ts' --source-maps",
10
11
  "build:node": "yarn clear:node && BABEL_ENV=node babel src --out-dir dist --extensions '.js,.ts' --ignore 'src/**/fixtures.js,src/**/fixtures/*,src/**/*.story.js,src/**/*.story.ts,src/**/*.test.js,src/**/*.test.ts'",