@lighthouse/common 4.31.1-canary.7 → 4.31.1

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.
@@ -47,9 +47,7 @@ function buildAuditPdf(pdfOptions, data) {
47
47
  const {
48
48
  flags = {}
49
49
  } = pdfOptions;
50
- console.log('buildAuditPdf', {
51
- version: '4.31.1-canary.7'
52
- });
50
+ console.info('buildAuditPdf');
53
51
  const sequenceId = entity.sequenceId;
54
52
  const timestamp = entity.createdAt;
55
53
  const title = entity.title || 'Unknown';
@@ -84,9 +82,6 @@ function generateContent(data, flags) {
84
82
  title = 'Unknown'
85
83
  } = entity;
86
84
  const entityDetails = (0, _helpers2.getAuditEntryDetails)(data);
87
- console.log('buildAuditPdf', {
88
- rolloutAuditFollowUps
89
- });
90
85
  const {
91
86
  gpsText,
92
87
  groupedData,
@@ -198,7 +193,7 @@ function generateContent(data, flags) {
198
193
  entry,
199
194
  footerTemplate,
200
195
  headerTemplate
201
- }) => [titleTable, ...headerTemplate, followUpItems, ...auditItemsTitle, ...entry, hLineTop, totalScoreTable, hLineBottom, ...footerTemplate]).catch(err => {
196
+ }) => [titleTable, followUpItems, ...auditItemsTitle, ...headerTemplate, ...entry, hLineTop, totalScoreTable, hLineBottom, ...footerTemplate]).catch(err => {
202
197
  throw new Error(`GenerateContentError: ${err.message}`);
203
198
  });
204
199
  }
@@ -18,10 +18,6 @@ var _images = require("../../../images");
18
18
  const LIGHTHOUSE_BASE_URL = 'https://app.lighthouse.io';
19
19
 
20
20
  function buildAuditFollowUps(rawFollowUpIssues = [], options = {}) {
21
- console.log('buildAuditFollowUps', {
22
- rawFollowUpIssues,
23
- options
24
- });
25
21
  const sectionTitle = [{
26
22
  text: 'Follow-up Issues',
27
23
  style: {
@@ -84,8 +80,8 @@ function buildAuditFollowUps(rawFollowUpIssues = [], options = {}) {
84
80
  text: ''
85
81
  };
86
82
  const assignees = item.assignees || [];
87
- const assigneeUsername = assignees.length === 0 ? 'Unassigned' : assignees.length === 1 // TODO Currently this gives `first last`, I don't think it can fall back to 'Unknown User' here
88
- ? (0, _helpers.getUserFullName)(assignees, 0) : `${assignees.length} users`;
83
+ const assigneeUsername = assignees.length === 0 ? 'Unassigned' : assignees.length === 1 ? // TODO Currently this gives `first last`, I don't think it can fall back to 'Unknown User' here
84
+ (0, _helpers.getUserFullName)(assignees, 0) : `${assignees.length} users`;
89
85
  tableBody.push([iconLinkCell, {
90
86
  text: item.issueTitle || '',
91
87
  link,
@@ -148,8 +144,5 @@ function buildAuditFollowUps(rawFollowUpIssues = [], options = {}) {
148
144
  widths: [6, '*', 55, 55, 6, '*', '16%'],
149
145
  margin: [0, 0, 0, 30]
150
146
  });
151
- console.log('buildAuditFollowUps', {
152
- followUpsTable
153
- });
154
147
  return [sectionTitle, sectionDivider, followUpsTable];
155
148
  }
@@ -39,9 +39,7 @@ export function buildAuditPdf(pdfOptions, data) {
39
39
  timezone = data.timezone;
40
40
  var _pdfOptions$flags = pdfOptions.flags,
41
41
  flags = _pdfOptions$flags === void 0 ? {} : _pdfOptions$flags;
42
- console.log('buildAuditPdf', {
43
- version: '4.31.1-canary.7'
44
- });
42
+ console.info('buildAuditPdf');
45
43
  var sequenceId = entity.sequenceId;
46
44
  var timestamp = entity.createdAt;
47
45
  var title = entity.title || 'Unknown';
@@ -77,9 +75,6 @@ function generateContent(data, flags) {
77
75
  _entity$title = entity.title,
78
76
  title = _entity$title === void 0 ? 'Unknown' : _entity$title;
79
77
  var entityDetails = getAuditEntryDetails(data);
80
- console.log('buildAuditPdf', {
81
- rolloutAuditFollowUps: rolloutAuditFollowUps
82
- });
83
78
  var gpsText = entityDetails.gpsText,
84
79
  groupedData = entityDetails.groupedData,
85
80
  locationText = entityDetails.locationText,
@@ -189,7 +184,7 @@ function generateContent(data, flags) {
189
184
  var entry = _ref.entry,
190
185
  footerTemplate = _ref.footerTemplate,
191
186
  headerTemplate = _ref.headerTemplate;
192
- return [titleTable].concat(_toConsumableArray(headerTemplate), [followUpItems], auditItemsTitle, _toConsumableArray(entry), [hLineTop, totalScoreTable, hLineBottom], _toConsumableArray(footerTemplate));
187
+ return [titleTable, followUpItems].concat(auditItemsTitle, _toConsumableArray(headerTemplate), _toConsumableArray(entry), [hLineTop, totalScoreTable, hLineBottom], _toConsumableArray(footerTemplate));
193
188
  }).catch(function (err) {
194
189
  throw new Error("GenerateContentError: ".concat(err.message));
195
190
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pdf/audit/index.js"],"names":["Promise","isEmpty","round","buildAuditContent","buildAuditFollowUps","buildTemplateContent","generateDefinition","getFormattedAddress","horizontalLine","text","twoColumnTable","getAuditEntryDetails","buildAuditPdf","pdfOptions","data","entity","timezone","flags","console","log","version","sequenceId","timestamp","createdAt","title","fileTitle","generateContent","then","content","type","catch","err","Error","message","rolloutAuditFollowUps","followUps","footerFields","gps","headerFields","score","entityDetails","gpsText","groupedData","locationText","referenceValue","timezoneHourTime","scoreText","target","targetServiceLevel","renderTargetFields","headerTitle","style","headerScore","alignment","firstRow","subTitle","headerSubTitle","colSpan","secondRow","reverseGeocoded","address","renderHeaderAddress","dummyColumn","headerAddress","renderThirdRow","thirdRow","serviceLevelBelow","serviceLevelText","scoreServiceLevelSubTitle","truncatedTargetPercent","scoreTargetText","scoreTargetSubTitle","scoreBreakdown","actual","max","scorePercentage","scoreTitle","body","titleTable","layout","widths","margin","totalScoreTable","hLineTop","hLineBottom","followUpItems","promises","entry","items","footerTemplate","formGroups","headerTemplate","auditItemsTitle","font","lineHeight","props"],"mappings":"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","sourcesContent":["import Promise from 'bluebird'\nimport { isEmpty, round } from 'lodash'\n\nimport {\n buildAuditContent,\n buildAuditFollowUps,\n buildTemplateContent,\n generateDefinition,\n getFormattedAddress,\n horizontalLine,\n text,\n twoColumnTable,\n} from '../helpers'\n\nimport { getAuditEntryDetails } from '../../helpers'\n\n/**\n * buildAuditPdf\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} pdfOptions.flags - flags to conditionally render parts of the pdf\n * @param {object} data - pdf data\n * @param {object} data.entity - audit 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 * @returns {Promise} returns pdfmake definition object\n */\nexport function buildAuditPdf(pdfOptions, data) {\n const { entity, timezone } = data\n const { flags = {} } = pdfOptions\n\n console.log('buildAuditPdf', {\n version: '4.31.1-canary.7',\n })\n \n const sequenceId = entity.sequenceId\n const timestamp = entity.createdAt\n const title = entity.title || 'Unknown'\n const fileTitle = `Audit Report - ${title}`\n\n return generateContent(data, flags)\n .then(content =>\n generateDefinition({\n content,\n fileTitle,\n sequenceId,\n timestamp,\n timezone,\n type: 'Audit',\n ...pdfOptions,\n })\n )\n .catch(err => {\n throw new Error(`BuildAuditPdfError: ${err.message}`)\n })\n}\n\nfunction generateContent(data, flags) {\n const { rolloutAuditFollowUps } = flags\n const { entity } = data\n\n const {\n followUps = [],\n footerFields = {},\n gps = {},\n headerFields = {},\n score = {},\n timezone,\n title = 'Unknown',\n } = entity\n\n const entityDetails = getAuditEntryDetails(data)\n \n console.log('buildAuditPdf', {\n rolloutAuditFollowUps,\n })\n\n const {\n gpsText,\n groupedData,\n locationText,\n referenceValue,\n timezoneHourTime,\n scoreText,\n target,\n targetServiceLevel,\n } = entityDetails\n\n const renderTargetFields = !!targetServiceLevel\n const headerTitle = text(title, { style: 'title' })\n const headerScore = text(scoreText, { alignment: 'right', style: 'title' })\n const firstRow = [headerTitle, headerScore]\n const subTitle = `${locationText ||\n gpsText} - ${timezoneHourTime} by ${referenceValue}`\n\n let headerSubTitle = text(subTitle, { colSpan: 2, style: 'subTitle' })\n let secondRow = [headerSubTitle]\n\n const reverseGeocoded = gps.reverseGeocoded\n const address = !isEmpty(reverseGeocoded)\n ? getFormattedAddress(reverseGeocoded)\n : ''\n const renderHeaderAddress = !isEmpty(reverseGeocoded)\n const dummyColumn = text(' ', { style: 'small' })\n\n let headerAddress = text(address, { colSpan: 2, style: 'small' })\n const renderThirdRow = renderHeaderAddress || renderTargetFields\n let thirdRow = renderHeaderAddress ? [headerAddress] : []\n\n if (renderTargetFields) {\n headerSubTitle = text(subTitle, { style: 'subTitle' })\n\n const serviceLevelBelow = targetServiceLevel === 'below'\n const serviceLevelText =\n targetServiceLevel === 'above'\n ? 'Above Target'\n : targetServiceLevel === 'on'\n ? 'On Target'\n : targetServiceLevel === 'below'\n ? 'Below Target'\n : ''\n\n const scoreServiceLevelSubTitle = text(serviceLevelText, {\n alignment: 'right',\n style: serviceLevelBelow ? 'serviceLevelBelow' : 'serviceLevelAboveOrOn',\n })\n\n secondRow = [headerSubTitle, scoreServiceLevelSubTitle]\n headerAddress = text(address, { style: 'small' })\n\n const truncatedTargetPercent = round(target, 2)\n const scoreTargetText = `(Target - ${truncatedTargetPercent}%)`\n const scoreTargetSubTitle = text(scoreTargetText, {\n alignment: 'right',\n style: 'subTitle',\n })\n\n thirdRow = renderHeaderAddress\n ? [headerAddress, scoreTargetSubTitle]\n : [dummyColumn, scoreTargetSubTitle]\n }\n\n const scoreBreakdown = text(\n `${round(score.actual, 2)} / ${round(score.max, 2)}`,\n {\n alignment: 'right',\n style: 'totalScore',\n }\n )\n const scorePercentage = text(scoreText, {\n alignment: 'right',\n colSpan: 2,\n style: 'totalAuditScore',\n })\n const scoreTitle = text('Total Score', { style: 'totalScore' })\n\n const body = renderThirdRow\n ? [firstRow, secondRow, thirdRow]\n : [firstRow, secondRow]\n\n const titleTable = twoColumnTable({\n body,\n layout: 'noBorders',\n style: 'titleTable',\n widths: ['*', 100],\n margin: [0, 0, 0, 30],\n })\n\n const totalScoreTable = twoColumnTable({\n body: [[scoreTitle, scoreBreakdown], [scorePercentage]],\n layout: 'noBorders',\n widths: ['*', 100],\n })\n\n const hLineTop = horizontalLine({ margin: [0, 10, 0, 0] })\n const hLineBottom = horizontalLine()\n\n const followUpItems = rolloutAuditFollowUps\n ? buildAuditFollowUps(followUps, { timezone })\n : []\n\n const promises = {\n entry: buildAuditContent(groupedData.items, { rolloutAuditFollowUps }),\n footerTemplate: buildTemplateContent(footerFields.formGroups, data),\n headerTemplate: buildTemplateContent(headerFields.formGroups, data),\n }\n\n const auditItemsTitle = rolloutAuditFollowUps\n ? [\n {\n text: 'Audit Items',\n style: {\n font: 'Gotham',\n lineHeight: 1.1,\n },\n },\n hLineTop,\n ]\n : []\n\n return Promise.props(promises)\n .then(({ entry, footerTemplate, headerTemplate }) => [\n titleTable,\n ...headerTemplate,\n followUpItems,\n ...auditItemsTitle,\n ...entry,\n hLineTop,\n totalScoreTable,\n hLineBottom,\n ...footerTemplate,\n ])\n .catch(err => {\n throw new Error(`GenerateContentError: ${err.message}`)\n })\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/pdf/audit/index.js"],"names":["Promise","isEmpty","round","buildAuditContent","buildAuditFollowUps","buildTemplateContent","generateDefinition","getFormattedAddress","horizontalLine","text","twoColumnTable","getAuditEntryDetails","buildAuditPdf","pdfOptions","data","entity","timezone","flags","console","info","sequenceId","timestamp","createdAt","title","fileTitle","generateContent","then","content","type","catch","err","Error","message","rolloutAuditFollowUps","followUps","footerFields","gps","headerFields","score","entityDetails","gpsText","groupedData","locationText","referenceValue","timezoneHourTime","scoreText","target","targetServiceLevel","renderTargetFields","headerTitle","style","headerScore","alignment","firstRow","subTitle","headerSubTitle","colSpan","secondRow","reverseGeocoded","address","renderHeaderAddress","dummyColumn","headerAddress","renderThirdRow","thirdRow","serviceLevelBelow","serviceLevelText","scoreServiceLevelSubTitle","truncatedTargetPercent","scoreTargetText","scoreTargetSubTitle","scoreBreakdown","actual","max","scorePercentage","scoreTitle","body","titleTable","layout","widths","margin","totalScoreTable","hLineTop","hLineBottom","followUpItems","promises","entry","items","footerTemplate","formGroups","headerTemplate","auditItemsTitle","font","lineHeight","props"],"mappings":"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","sourcesContent":["import Promise from 'bluebird'\nimport { isEmpty, round } from 'lodash'\n\nimport {\n buildAuditContent,\n buildAuditFollowUps,\n buildTemplateContent,\n generateDefinition,\n getFormattedAddress,\n horizontalLine,\n text,\n twoColumnTable,\n} from '../helpers'\n\nimport { getAuditEntryDetails } from '../../helpers'\n\n/**\n * buildAuditPdf\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} pdfOptions.flags - flags to conditionally render parts of the pdf\n * @param {object} data - pdf data\n * @param {object} data.entity - audit 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 * @returns {Promise} returns pdfmake definition object\n */\nexport function buildAuditPdf(pdfOptions, data) {\n const { entity, timezone } = data\n const { flags = {} } = pdfOptions\n\n console.info('buildAuditPdf')\n\n const sequenceId = entity.sequenceId\n const timestamp = entity.createdAt\n const title = entity.title || 'Unknown'\n const fileTitle = `Audit Report - ${title}`\n\n return generateContent(data, flags)\n .then(content =>\n generateDefinition({\n content,\n fileTitle,\n sequenceId,\n timestamp,\n timezone,\n type: 'Audit',\n ...pdfOptions,\n })\n )\n .catch(err => {\n throw new Error(`BuildAuditPdfError: ${err.message}`)\n })\n}\n\nfunction generateContent(data, flags) {\n const { rolloutAuditFollowUps } = flags\n const { entity } = data\n\n const {\n followUps = [],\n footerFields = {},\n gps = {},\n headerFields = {},\n score = {},\n timezone,\n title = 'Unknown',\n } = entity\n\n const entityDetails = getAuditEntryDetails(data)\n\n const {\n gpsText,\n groupedData,\n locationText,\n referenceValue,\n timezoneHourTime,\n scoreText,\n target,\n targetServiceLevel,\n } = entityDetails\n\n const renderTargetFields = !!targetServiceLevel\n const headerTitle = text(title, { style: 'title' })\n const headerScore = text(scoreText, { alignment: 'right', style: 'title' })\n const firstRow = [headerTitle, headerScore]\n const subTitle = `${locationText ||\n gpsText} - ${timezoneHourTime} by ${referenceValue}`\n\n let headerSubTitle = text(subTitle, { colSpan: 2, style: 'subTitle' })\n let secondRow = [headerSubTitle]\n\n const reverseGeocoded = gps.reverseGeocoded\n const address = !isEmpty(reverseGeocoded)\n ? getFormattedAddress(reverseGeocoded)\n : ''\n const renderHeaderAddress = !isEmpty(reverseGeocoded)\n const dummyColumn = text(' ', { style: 'small' })\n\n let headerAddress = text(address, { colSpan: 2, style: 'small' })\n const renderThirdRow = renderHeaderAddress || renderTargetFields\n let thirdRow = renderHeaderAddress ? [headerAddress] : []\n\n if (renderTargetFields) {\n headerSubTitle = text(subTitle, { style: 'subTitle' })\n\n const serviceLevelBelow = targetServiceLevel === 'below'\n const serviceLevelText =\n targetServiceLevel === 'above'\n ? 'Above Target'\n : targetServiceLevel === 'on'\n ? 'On Target'\n : targetServiceLevel === 'below'\n ? 'Below Target'\n : ''\n\n const scoreServiceLevelSubTitle = text(serviceLevelText, {\n alignment: 'right',\n style: serviceLevelBelow ? 'serviceLevelBelow' : 'serviceLevelAboveOrOn',\n })\n\n secondRow = [headerSubTitle, scoreServiceLevelSubTitle]\n headerAddress = text(address, { style: 'small' })\n\n const truncatedTargetPercent = round(target, 2)\n const scoreTargetText = `(Target - ${truncatedTargetPercent}%)`\n const scoreTargetSubTitle = text(scoreTargetText, {\n alignment: 'right',\n style: 'subTitle',\n })\n\n thirdRow = renderHeaderAddress\n ? [headerAddress, scoreTargetSubTitle]\n : [dummyColumn, scoreTargetSubTitle]\n }\n\n const scoreBreakdown = text(\n `${round(score.actual, 2)} / ${round(score.max, 2)}`,\n {\n alignment: 'right',\n style: 'totalScore',\n }\n )\n const scorePercentage = text(scoreText, {\n alignment: 'right',\n colSpan: 2,\n style: 'totalAuditScore',\n })\n const scoreTitle = text('Total Score', { style: 'totalScore' })\n\n const body = renderThirdRow\n ? [firstRow, secondRow, thirdRow]\n : [firstRow, secondRow]\n\n const titleTable = twoColumnTable({\n body,\n layout: 'noBorders',\n style: 'titleTable',\n widths: ['*', 100],\n margin: [0, 0, 0, 30],\n })\n\n const totalScoreTable = twoColumnTable({\n body: [[scoreTitle, scoreBreakdown], [scorePercentage]],\n layout: 'noBorders',\n widths: ['*', 100],\n })\n\n const hLineTop = horizontalLine({ margin: [0, 10, 0, 0] })\n const hLineBottom = horizontalLine()\n\n const followUpItems = rolloutAuditFollowUps\n ? buildAuditFollowUps(followUps, { timezone })\n : []\n\n const promises = {\n entry: buildAuditContent(groupedData.items, { rolloutAuditFollowUps }),\n footerTemplate: buildTemplateContent(footerFields.formGroups, data),\n headerTemplate: buildTemplateContent(headerFields.formGroups, data),\n }\n\n const auditItemsTitle = rolloutAuditFollowUps\n ? [\n {\n text: 'Audit Items',\n style: {\n font: 'Gotham',\n lineHeight: 1.1,\n },\n },\n hLineTop,\n ]\n : []\n\n return Promise.props(promises)\n .then(({ entry, footerTemplate, headerTemplate }) => [\n titleTable,\n followUpItems,\n ...auditItemsTitle,\n ...headerTemplate,\n ...entry,\n hLineTop,\n totalScoreTable,\n hLineBottom,\n ...footerTemplate,\n ])\n .catch(err => {\n throw new Error(`GenerateContentError: ${err.message}`)\n })\n}\n"],"file":"index.js"}
@@ -12,10 +12,6 @@ var LIGHTHOUSE_BASE_URL = 'https://app.lighthouse.io';
12
12
  export function buildAuditFollowUps() {
13
13
  var rawFollowUpIssues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
14
14
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
15
- console.log('buildAuditFollowUps', {
16
- rawFollowUpIssues: rawFollowUpIssues,
17
- options: options
18
- });
19
15
  var sectionTitle = [{
20
16
  text: 'Follow-up Issues',
21
17
  style: {
@@ -79,8 +75,8 @@ export function buildAuditFollowUps() {
79
75
  text: ''
80
76
  };
81
77
  var assignees = item.assignees || [];
82
- var assigneeUsername = assignees.length === 0 ? 'Unassigned' : assignees.length === 1 // TODO Currently this gives `first last`, I don't think it can fall back to 'Unknown User' here
83
- ? getUserFullName(assignees, 0) : "".concat(assignees.length, " users");
78
+ var assigneeUsername = assignees.length === 0 ? 'Unassigned' : assignees.length === 1 ? // TODO Currently this gives `first last`, I don't think it can fall back to 'Unknown User' here
79
+ getUserFullName(assignees, 0) : "".concat(assignees.length, " users");
84
80
  tableBody.push([iconLinkCell, {
85
81
  text: item.issueTitle || '',
86
82
  link: link,
@@ -143,9 +139,6 @@ export function buildAuditFollowUps() {
143
139
  widths: [6, '*', 55, 55, 6, '*', '16%'],
144
140
  margin: [0, 0, 0, 30]
145
141
  });
146
- console.log('buildAuditFollowUps', {
147
- followUpsTable: followUpsTable
148
- });
149
142
  return [sectionTitle, sectionDivider, followUpsTable];
150
143
  }
151
144
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/pdf/helpers/build-audit-follow-ups/index.js"],"names":["moment","getStatusDetails","getUserFullName","defaultStyles","horizontalLine","sixColumnTable","launchIcon","internalLinkIcon","LIGHTHOUSE_BASE_URL","buildAuditFollowUps","rawFollowUpIssues","options","console","log","sectionTitle","text","style","font","lineHeight","margin","sectionDivider","followUpIssues","filter","item","errorMessage","length","subTitle","timezone","tableBody","forEach","mappedStatus","status","toUpperCase","small","color","alignment","updatedAt","format","tz","link","issueId","iconLinkCell","fit","image","linkToDestination","questionId","iconJumpCell","assignees","assigneeUsername","push","issueTitle","questionLabel","headerLinkIconCell","headerJumpIconCell","headerStyle","bold","fontSize","headerRow","followUpsTable","body","widths"],"mappings":"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","sourcesContent":["import moment from 'moment-timezone'\nimport { getStatusDetails, getUserFullName } from '../../../helpers'\nimport { defaultStyles, horizontalLine, sixColumnTable } from '../'\nimport { launchIcon, internalLinkIcon } from '../../../images'\n\nconst LIGHTHOUSE_BASE_URL = 'https://app.lighthouse.io'\n\nexport function buildAuditFollowUps(rawFollowUpIssues = [], options = {}) {\n console.log('buildAuditFollowUps', {\n rawFollowUpIssues,\n options,\n })\n\n const sectionTitle = [\n {\n text: 'Follow-up Issues',\n style: {\n font: 'Gotham',\n lineHeight: 1.1,\n margin: [0, 0, 0, 50],\n },\n },\n ]\n const sectionDivider = horizontalLine({ margin: [0, 0, 0, 0] })\n\n const followUpIssues = rawFollowUpIssues.filter(item => !item.errorMessage)\n if (!followUpIssues.length) {\n // Show a `no follow-up issues` message if there are no follow up issues\n return [\n sectionTitle,\n sectionDivider,\n {\n text: 'No follow-up issues exist for this audit',\n style: defaultStyles.subTitle,\n margin: [0, 5, 0, 50],\n },\n ]\n }\n\n const { timezone = 'America/New_York' } = options\n const tableBody = []\n followUpIssues.forEach(item => {\n const mappedStatus = getStatusDetails(item.status)\n const status = {\n text: mappedStatus.text.toUpperCase(),\n style: {\n ...defaultStyles.small,\n color: mappedStatus.style.color,\n alignment: 'center',\n },\n }\n\n let updatedAt = ''\n if (item.updatedAt) {\n const format = 'MMM D h:mma' // e.g. Jan 21 12:59am in the Audit timezone\n updatedAt = moment.tz(item.updatedAt, timezone).format(format)\n }\n\n const link = `${LIGHTHOUSE_BASE_URL}/reports/issues/${item.issueId}`\n const iconLinkCell = launchIcon\n ? { alignment: 'center', fit: [8, 8], image: launchIcon, link }\n : { text: '' }\n\n const linkToDestination = item.questionId\n const iconJumpCell = launchIcon\n ? {\n alignment: 'center',\n fit: [8, 8],\n image: internalLinkIcon,\n linkToDestination,\n }\n : { text: '' }\n\n const assignees = item.assignees || []\n const assigneeUsername = assignees.length === 0\n ? 'Unassigned'\n : assignees.length === 1\n // TODO Currently this gives `first last`, I don't think it can fall back to 'Unknown User' here\n ? getUserFullName(assignees, 0)\n : `${assignees.length} users`\n \n tableBody.push([\n iconLinkCell,\n { text: item.issueTitle || '', link, style: 'small', image: launchIcon },\n status,\n { text: assigneeUsername, style: 'small' },\n iconJumpCell,\n { text: item.questionLabel || '', style: 'small', linkToDestination },\n { text: updatedAt || '', style: 'small', alignment: 'right' },\n ])\n })\n\n const headerLinkIconCell = launchIcon\n ? { alignment: 'center', fit: [8, 8], image: launchIcon }\n : { text: '' }\n \n const headerJumpIconCell = launchIcon\n ? { alignment: 'center', fit: [8, 8], image: internalLinkIcon }\n : { text: '' }\n \n const headerStyle = {\n bold: true,\n font: 'Gotham',\n fontSize: 8,\n alignment: 'left',\n }\n \n const headerRow = [\n headerLinkIconCell,\n { text: 'Issue Title', style: headerStyle },\n { text: 'Status', style: headerStyle, alignment: 'center' },\n { text: 'Assignees', style: headerStyle },\n headerJumpIconCell,\n { text: 'Audit Question', style: headerStyle },\n { text: 'Last Updated', style: headerStyle , alignment: 'right'},\n ]\n \n const followUpsTable = sixColumnTable({\n body: [headerRow, ...tableBody],\n style: 'titleTable',\n widths: [6, '*', 55, 55, 6, '*', '16%'],\n margin: [0, 0, 0, 30],\n })\n\n console.log('buildAuditFollowUps', {\n followUpsTable,\n })\n\n return [sectionTitle, sectionDivider, followUpsTable]\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/pdf/helpers/build-audit-follow-ups/index.js"],"names":["moment","getStatusDetails","getUserFullName","defaultStyles","horizontalLine","sixColumnTable","launchIcon","internalLinkIcon","LIGHTHOUSE_BASE_URL","buildAuditFollowUps","rawFollowUpIssues","options","sectionTitle","text","style","font","lineHeight","margin","sectionDivider","followUpIssues","filter","item","errorMessage","length","subTitle","timezone","tableBody","forEach","mappedStatus","status","toUpperCase","small","color","alignment","updatedAt","format","tz","link","issueId","iconLinkCell","fit","image","linkToDestination","questionId","iconJumpCell","assignees","assigneeUsername","push","issueTitle","questionLabel","headerLinkIconCell","headerJumpIconCell","headerStyle","bold","fontSize","headerRow","followUpsTable","body","widths"],"mappings":"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","sourcesContent":["import moment from 'moment-timezone'\nimport { getStatusDetails, getUserFullName } from '../../../helpers'\nimport { defaultStyles, horizontalLine, sixColumnTable } from '../'\nimport { launchIcon, internalLinkIcon } from '../../../images'\n\nconst LIGHTHOUSE_BASE_URL = 'https://app.lighthouse.io'\n\nexport function buildAuditFollowUps(rawFollowUpIssues = [], options = {}) {\n const sectionTitle = [\n {\n text: 'Follow-up Issues',\n style: {\n font: 'Gotham',\n lineHeight: 1.1,\n margin: [0, 0, 0, 50],\n },\n },\n ]\n const sectionDivider = horizontalLine({ margin: [0, 0, 0, 0] })\n\n const followUpIssues = rawFollowUpIssues.filter(item => !item.errorMessage)\n if (!followUpIssues.length) {\n // Show a `no follow-up issues` message if there are no follow up issues\n return [\n sectionTitle,\n sectionDivider,\n {\n text: 'No follow-up issues exist for this audit',\n style: defaultStyles.subTitle,\n margin: [0, 5, 0, 50],\n },\n ]\n }\n\n const { timezone = 'America/New_York' } = options\n const tableBody = []\n followUpIssues.forEach(item => {\n const mappedStatus = getStatusDetails(item.status)\n const status = {\n text: mappedStatus.text.toUpperCase(),\n style: {\n ...defaultStyles.small,\n color: mappedStatus.style.color,\n alignment: 'center',\n },\n }\n\n let updatedAt = ''\n if (item.updatedAt) {\n const format = 'MMM D h:mma' // e.g. Jan 21 12:59am in the Audit timezone\n updatedAt = moment.tz(item.updatedAt, timezone).format(format)\n }\n\n const link = `${LIGHTHOUSE_BASE_URL}/reports/issues/${item.issueId}`\n const iconLinkCell = launchIcon\n ? { alignment: 'center', fit: [8, 8], image: launchIcon, link }\n : { text: '' }\n\n const linkToDestination = item.questionId\n const iconJumpCell = launchIcon\n ? {\n alignment: 'center',\n fit: [8, 8],\n image: internalLinkIcon,\n linkToDestination,\n }\n : { text: '' }\n\n const assignees = item.assignees || []\n const assigneeUsername =\n assignees.length === 0\n ? 'Unassigned'\n : assignees.length === 1\n ? // TODO Currently this gives `first last`, I don't think it can fall back to 'Unknown User' here\n getUserFullName(assignees, 0)\n : `${assignees.length} users`\n\n tableBody.push([\n iconLinkCell,\n { text: item.issueTitle || '', link, style: 'small', image: launchIcon },\n status,\n { text: assigneeUsername, style: 'small' },\n iconJumpCell,\n { text: item.questionLabel || '', style: 'small', linkToDestination },\n { text: updatedAt || '', style: 'small', alignment: 'right' },\n ])\n })\n\n const headerLinkIconCell = launchIcon\n ? { alignment: 'center', fit: [8, 8], image: launchIcon }\n : { text: '' }\n\n const headerJumpIconCell = launchIcon\n ? { alignment: 'center', fit: [8, 8], image: internalLinkIcon }\n : { text: '' }\n\n const headerStyle = {\n bold: true,\n font: 'Gotham',\n fontSize: 8,\n alignment: 'left',\n }\n\n const headerRow = [\n headerLinkIconCell,\n { text: 'Issue Title', style: headerStyle },\n { text: 'Status', style: headerStyle, alignment: 'center' },\n { text: 'Assignees', style: headerStyle },\n headerJumpIconCell,\n { text: 'Audit Question', style: headerStyle },\n { text: 'Last Updated', style: headerStyle, alignment: 'right' },\n ]\n\n const followUpsTable = sixColumnTable({\n body: [headerRow, ...tableBody],\n style: 'titleTable',\n widths: [6, '*', 55, 55, 6, '*', '16%'],\n margin: [0, 0, 0, 30],\n })\n\n return [sectionTitle, sectionDivider, followUpsTable]\n}\n"],"file":"index.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lighthouse/common",
3
- "version": "4.31.1-canary.7",
3
+ "version": "4.31.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "lib/index.js",