axyseo 2.0.0-alpha.0.0.63 → 2.0.0-alpha.0.0.67

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.
@@ -78,7 +78,7 @@ class InternalLinksAssessment extends Assessment {
78
78
  */
79
79
  calculateResult() {
80
80
  let status = '';
81
- if (this.linkStatistics.internalTotal === 0 || this.linkStatistics.internalNofollow === this.linkStatistics.internalTotal) {
81
+ if (this.linkStatistics.internalTotal === 0) {
82
82
  status = 'bad';
83
83
  } else {
84
84
  status = 'good';
@@ -1 +1 @@
1
- {"version":3,"file":"InternalLinksAssessment.js","names":["merge","Assessment","AssessmentResult","LinkIcon","INTERNAL_LINKS_ID","InternalLinksAssessment","constructor","config","defaultConfig","id","fixPosition","docUrl","icon","priority","title","content","good","improve","bad","identifier","_config","getResult","paper","researcher","linkStatistics","getResearch","assessmentResult","calculatedResult","calculateResult","setScore","score","setStatus","status","isApplicable","hasText","internalTotal","internalNofollow","getScore"],"sources":["../../../../src/scoring/assessments/seo/InternalLinksAssessment.js"],"sourcesContent":["import {merge} from 'lodash';\nimport Assessment from '../assessment';\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport {LinkIcon} from '@shopify/polaris-icons';\nimport {INTERNAL_LINKS_ID} from '@axyseo/const/analysis';\n\n/**\n * Assessment to check whether the text has internal links and whether they are followed or no-followed.\n */\nclass InternalLinksAssessment extends Assessment {\n /**\n * Sets the identifier and the config.\n *\n * @param {Object} [config] The configuration to use.\n * @param {number} [config.parameters.recommendedMinimum] The recommended minimum number of internal links in the text.\n * @param {number} [config.scores.allInternalFollow] The score to return if all internal links are do-follow.\n * @param {number} [config.scores.someInternalFollow] The score to return if some but not all internal links are do-follow.\n * @param {number} [config.scores.noneInternalFollow] The score to return if all internal links are no-follow.\n * @param {number} [config.scores.noInternal] The score to return if there are no internal links.\n * @param {string} [config.url] The URL to the relevant KB article.\n *\n * @returns {void}\n */\n constructor(config = {}) {\n super();\n\n const defaultConfig = {\n id: INTERNAL_LINKS_ID,\n fixPosition: '',\n docUrl:\n 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist#internal-links-outbound-links',\n icon: LinkIcon,\n priority: 'high',\n title: 'Internal links',\n content: {\n good: 'Internal links are used effectively.',\n improve: '',\n bad: 'No internal links found. Add links to other relevant pages on your website.'\n }\n };\n\n this.identifier = INTERNAL_LINKS_ID;\n this._config = merge(defaultConfig, config);\n }\n\n /**\n * Runs the getLinkStatistics module, based on this returns an assessment result with score.\n *\n * @param {Paper} paper The paper to use for the assessment.\n * @param {Researcher} researcher The researcher used for calling research.\n * @returns {AssessmentResult} The result of the assessment.\n */\n getResult({paper, researcher}) {\n this.linkStatistics = researcher.getResearch('getLinkStatistics');\n const assessmentResult = new AssessmentResult({config: this._config});\n\n const calculatedResult = this.calculateResult();\n assessmentResult.setScore(calculatedResult.score);\n assessmentResult.setStatus(calculatedResult.status);\n\n return assessmentResult;\n }\n\n /**\n * Checks if assessment is applicable to the paper.\n *\n * @param {Paper} paper The paper to be analyzed.\n *\n * @returns {boolean} Whether the paper has text.\n */\n isApplicable(paper) {\n return paper.hasText();\n }\n\n /**\n *\n * @returns {{score: number, status: string}}\n */\n calculateResult() {\n let status = '';\n if (\n this.linkStatistics.internalTotal === 0 ||\n this.linkStatistics.internalNofollow === this.linkStatistics.internalTotal\n ) {\n status = 'bad';\n } else {\n status = 'good';\n }\n\n const score = this.getScore(this._config.priority, status);\n\n return {\n score,\n status\n };\n }\n}\n\nexport default InternalLinksAssessment;\n"],"mappings":"AAAA,SAAQA,KAAK,QAAO,QAAQ;AAC5B,OAAOC,UAAU;AACjB,OAAOC,gBAAgB;AACvB,SAAQC,QAAQ,QAAO,wBAAwB;AAC/C,SAAQC,iBAAiB;;AAEzB;AACA;AACA;AACA,MAAMC,uBAAuB,SAASJ,UAAU,CAAC;EAC/C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEK,WAAWA,CAACC,MAAM,GAAG,CAAC,CAAC,EAAE;IACvB,KAAK,CAAC,CAAC;IAEP,MAAMC,aAAa,GAAG;MACpBC,EAAE,EAAEL,iBAAiB;MACrBM,WAAW,EAAE,EAAE;MACfC,MAAM,EACJ,2GAA2G;MAC7GC,IAAI,EAAET,QAAQ;MACdU,QAAQ,EAAE,MAAM;MAChBC,KAAK,EAAE,gBAAgB;MACvBC,OAAO,EAAE;QACPC,IAAI,EAAE,sCAAsC;QAC5CC,OAAO,EAAE,EAAE;QACXC,GAAG,EAAE;MACP;IACF,CAAC;IAED,IAAI,CAACC,UAAU,GAAGf,iBAAiB;IACnC,IAAI,CAACgB,OAAO,GAAGpB,KAAK,CAACQ,aAAa,EAAED,MAAM,CAAC;EAC7C;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEc,SAASA,CAAC;IAACC,KAAK;IAAEC;EAAU,CAAC,EAAE;IAC7B,IAAI,CAACC,cAAc,GAAGD,UAAU,CAACE,WAAW,CAAC,mBAAmB,CAAC;IACjE,MAAMC,gBAAgB,GAAG,IAAIxB,gBAAgB,CAAC;MAACK,MAAM,EAAE,IAAI,CAACa;IAAO,CAAC,CAAC;IAErE,MAAMO,gBAAgB,GAAG,IAAI,CAACC,eAAe,CAAC,CAAC;IAC/CF,gBAAgB,CAACG,QAAQ,CAACF,gBAAgB,CAACG,KAAK,CAAC;IACjDJ,gBAAgB,CAACK,SAAS,CAACJ,gBAAgB,CAACK,MAAM,CAAC;IAEnD,OAAON,gBAAgB;EACzB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEO,YAAYA,CAACX,KAAK,EAAE;IAClB,OAAOA,KAAK,CAACY,OAAO,CAAC,CAAC;EACxB;;EAEA;AACF;AACA;AACA;EACEN,eAAeA,CAAA,EAAG;IAChB,IAAII,MAAM,GAAG,EAAE;IACf,IACE,IAAI,CAACR,cAAc,CAACW,aAAa,KAAK,CAAC,IACvC,IAAI,CAACX,cAAc,CAACY,gBAAgB,KAAK,IAAI,CAACZ,cAAc,CAACW,aAAa,EAC1E;MACAH,MAAM,GAAG,KAAK;IAChB,CAAC,MAAM;MACLA,MAAM,GAAG,MAAM;IACjB;IAEA,MAAMF,KAAK,GAAG,IAAI,CAACO,QAAQ,CAAC,IAAI,CAACjB,OAAO,CAACP,QAAQ,EAAEmB,MAAM,CAAC;IAE1D,OAAO;MACLF,KAAK;MACLE;IACF,CAAC;EACH;AACF;AAEA,eAAe3B,uBAAuB","ignoreList":[]}
1
+ {"version":3,"file":"InternalLinksAssessment.js","names":["merge","Assessment","AssessmentResult","LinkIcon","INTERNAL_LINKS_ID","InternalLinksAssessment","constructor","config","defaultConfig","id","fixPosition","docUrl","icon","priority","title","content","good","improve","bad","identifier","_config","getResult","paper","researcher","linkStatistics","getResearch","assessmentResult","calculatedResult","calculateResult","setScore","score","setStatus","status","isApplicable","hasText","internalTotal","getScore"],"sources":["../../../../src/scoring/assessments/seo/InternalLinksAssessment.js"],"sourcesContent":["import {merge} from 'lodash';\nimport Assessment from '../assessment';\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport {LinkIcon} from '@shopify/polaris-icons';\nimport {INTERNAL_LINKS_ID} from '@axyseo/const/analysis';\n\n/**\n * Assessment to check whether the text has internal links and whether they are followed or no-followed.\n */\nclass InternalLinksAssessment extends Assessment {\n /**\n * Sets the identifier and the config.\n *\n * @param {Object} [config] The configuration to use.\n * @param {number} [config.parameters.recommendedMinimum] The recommended minimum number of internal links in the text.\n * @param {number} [config.scores.allInternalFollow] The score to return if all internal links are do-follow.\n * @param {number} [config.scores.someInternalFollow] The score to return if some but not all internal links are do-follow.\n * @param {number} [config.scores.noneInternalFollow] The score to return if all internal links are no-follow.\n * @param {number} [config.scores.noInternal] The score to return if there are no internal links.\n * @param {string} [config.url] The URL to the relevant KB article.\n *\n * @returns {void}\n */\n constructor(config = {}) {\n super();\n\n const defaultConfig = {\n id: INTERNAL_LINKS_ID,\n fixPosition: '',\n docUrl:\n 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist#internal-links-outbound-links',\n icon: LinkIcon,\n priority: 'high',\n title: 'Internal links',\n content: {\n good: 'Internal links are used effectively.',\n improve: '',\n bad: 'No internal links found. Add links to other relevant pages on your website.'\n }\n };\n\n this.identifier = INTERNAL_LINKS_ID;\n this._config = merge(defaultConfig, config);\n }\n\n /**\n * Runs the getLinkStatistics module, based on this returns an assessment result with score.\n *\n * @param {Paper} paper The paper to use for the assessment.\n * @param {Researcher} researcher The researcher used for calling research.\n * @returns {AssessmentResult} The result of the assessment.\n */\n getResult({paper, researcher}) {\n this.linkStatistics = researcher.getResearch('getLinkStatistics');\n const assessmentResult = new AssessmentResult({config: this._config});\n\n const calculatedResult = this.calculateResult();\n assessmentResult.setScore(calculatedResult.score);\n assessmentResult.setStatus(calculatedResult.status);\n\n return assessmentResult;\n }\n\n /**\n * Checks if assessment is applicable to the paper.\n *\n * @param {Paper} paper The paper to be analyzed.\n *\n * @returns {boolean} Whether the paper has text.\n */\n isApplicable(paper) {\n return paper.hasText();\n }\n\n /**\n *\n * @returns {{score: number, status: string}}\n */\n calculateResult() {\n let status = '';\n if (this.linkStatistics.internalTotal === 0) {\n status = 'bad';\n } else {\n status = 'good';\n }\n\n const score = this.getScore(this._config.priority, status);\n\n return {\n score,\n status\n };\n }\n}\n\nexport default InternalLinksAssessment;\n"],"mappings":"AAAA,SAAQA,KAAK,QAAO,QAAQ;AAC5B,OAAOC,UAAU;AACjB,OAAOC,gBAAgB;AACvB,SAAQC,QAAQ,QAAO,wBAAwB;AAC/C,SAAQC,iBAAiB;;AAEzB;AACA;AACA;AACA,MAAMC,uBAAuB,SAASJ,UAAU,CAAC;EAC/C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEK,WAAWA,CAACC,MAAM,GAAG,CAAC,CAAC,EAAE;IACvB,KAAK,CAAC,CAAC;IAEP,MAAMC,aAAa,GAAG;MACpBC,EAAE,EAAEL,iBAAiB;MACrBM,WAAW,EAAE,EAAE;MACfC,MAAM,EACJ,2GAA2G;MAC7GC,IAAI,EAAET,QAAQ;MACdU,QAAQ,EAAE,MAAM;MAChBC,KAAK,EAAE,gBAAgB;MACvBC,OAAO,EAAE;QACPC,IAAI,EAAE,sCAAsC;QAC5CC,OAAO,EAAE,EAAE;QACXC,GAAG,EAAE;MACP;IACF,CAAC;IAED,IAAI,CAACC,UAAU,GAAGf,iBAAiB;IACnC,IAAI,CAACgB,OAAO,GAAGpB,KAAK,CAACQ,aAAa,EAAED,MAAM,CAAC;EAC7C;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEc,SAASA,CAAC;IAACC,KAAK;IAAEC;EAAU,CAAC,EAAE;IAC7B,IAAI,CAACC,cAAc,GAAGD,UAAU,CAACE,WAAW,CAAC,mBAAmB,CAAC;IACjE,MAAMC,gBAAgB,GAAG,IAAIxB,gBAAgB,CAAC;MAACK,MAAM,EAAE,IAAI,CAACa;IAAO,CAAC,CAAC;IAErE,MAAMO,gBAAgB,GAAG,IAAI,CAACC,eAAe,CAAC,CAAC;IAC/CF,gBAAgB,CAACG,QAAQ,CAACF,gBAAgB,CAACG,KAAK,CAAC;IACjDJ,gBAAgB,CAACK,SAAS,CAACJ,gBAAgB,CAACK,MAAM,CAAC;IAEnD,OAAON,gBAAgB;EACzB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEO,YAAYA,CAACX,KAAK,EAAE;IAClB,OAAOA,KAAK,CAACY,OAAO,CAAC,CAAC;EACxB;;EAEA;AACF;AACA;AACA;EACEN,eAAeA,CAAA,EAAG;IAChB,IAAII,MAAM,GAAG,EAAE;IACf,IAAI,IAAI,CAACR,cAAc,CAACW,aAAa,KAAK,CAAC,EAAE;MAC3CH,MAAM,GAAG,KAAK;IAChB,CAAC,MAAM;MACLA,MAAM,GAAG,MAAM;IACjB;IAEA,MAAMF,KAAK,GAAG,IAAI,CAACM,QAAQ,CAAC,IAAI,CAAChB,OAAO,CAACP,QAAQ,EAAEmB,MAAM,CAAC;IAE1D,OAAO;MACLF,KAAK;MACLE;IACF,CAAC;EACH;AACF;AAEA,eAAe3B,uBAAuB","ignoreList":[]}
@@ -78,11 +78,7 @@ export default class OutboundLinksAssessment extends Assessment {
78
78
  let status = '';
79
79
  if (linkStatistics.externalTotal === 0) {
80
80
  status = 'bad';
81
- } else if (linkStatistics.externalNofollow === linkStatistics.externalTotal) {
82
- status = 'bad';
83
- } else if (linkStatistics.externalDofollow < linkStatistics.externalTotal) {
84
- status = 'good';
85
- } else if (linkStatistics.externalDofollow === linkStatistics.externalTotal) {
81
+ } else {
86
82
  status = 'good';
87
83
  }
88
84
  const score = this.getScore(this._config.priority, status);
@@ -1 +1 @@
1
- {"version":3,"file":"OutboundLinksAssessment.js","names":["isEmpty","merge","Assessment","AssessmentResult","ExternalIcon","EXTERNAL_LINKS_ID","OutboundLinksAssessment","constructor","config","defaultConfig","id","docUrl","fixPosition","icon","title","priority","content","improve","good","bad","identifier","_config","getResult","paper","researcher","linkStatistics","getResearch","assessmentResult","calculatedResult","calculateResult","setScore","score","setStatus","status","isApplicable","hasText","externalTotal","externalNofollow","externalDofollow","getScore"],"sources":["../../../../src/scoring/assessments/seo/OutboundLinksAssessment.js"],"sourcesContent":["import {isEmpty, merge} from 'lodash';\n\nimport Assessment from '../assessment';\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport {ExternalIcon} from '@shopify/polaris-icons';\nimport {EXTERNAL_LINKS_ID} from '@axyseo/const/analysis';\n\n/**\n * Assessment for calculating the outbound links in the text.\n */\nexport default class OutboundLinksAssessment extends Assessment {\n /**\n * Sets the identifier and the config.\n *\n * @param {Object} [config] The configuration to use.\n *\n * @returns {void}\n */\n constructor(config = {}) {\n super();\n\n const defaultConfig = {\n id: EXTERNAL_LINKS_ID,\n docUrl:\n 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist#internal-links-outbound-links',\n fixPosition: 'description',\n icon: ExternalIcon,\n title: 'External links',\n priority: 'high',\n content: {\n improve: '',\n good: 'External links are used effectively.',\n bad: 'No external links found. Add relevant links to be more authoritative and informative.'\n }\n };\n\n this.identifier = EXTERNAL_LINKS_ID;\n this._config = merge(defaultConfig, config);\n }\n\n /**\n * Runs the getLinkStatistics module, based on this returns an assessment result with score.\n *\n * @param {Paper} paper The paper to use for the assessment.\n * @param {Researcher} researcher The researcher used for calling research.\n *\n * @returns {AssessmentResult} The assessment result.\n */\n getResult({paper, researcher}) {\n const linkStatistics = researcher.getResearch('getLinkStatistics');\n const assessmentResult = new AssessmentResult({config: this._config});\n\n const calculatedResult = this.calculateResult(linkStatistics);\n\n if (!isEmpty(linkStatistics)) {\n assessmentResult.setScore(calculatedResult.score);\n assessmentResult.setStatus(calculatedResult.status);\n }\n return assessmentResult;\n }\n\n /**\n * Checks whether paper has text.\n *\n * @param {Paper} paper The paper to use for the assessment.\n *\n * @returns {boolean} True when there is text.\n */\n isApplicable(paper) {\n return paper.hasText();\n }\n\n /**\n *\n * @param linkStatistics\n * @returns {{score: number, status: string}}\n */\n calculateResult(linkStatistics) {\n let status = '';\n if (linkStatistics.externalTotal === 0) {\n status = 'bad';\n } else if (linkStatistics.externalNofollow === linkStatistics.externalTotal) {\n status = 'bad';\n } else if (linkStatistics.externalDofollow < linkStatistics.externalTotal) {\n status = 'good';\n } else if (linkStatistics.externalDofollow === linkStatistics.externalTotal) {\n status = 'good';\n }\n\n const score = this.getScore(this._config.priority, status);\n\n return {\n score,\n status\n };\n }\n}\n"],"mappings":"AAAA,SAAQA,OAAO,EAAEC,KAAK,QAAO,QAAQ;AAErC,OAAOC,UAAU;AACjB,OAAOC,gBAAgB;AACvB,SAAQC,YAAY,QAAO,wBAAwB;AACnD,SAAQC,iBAAiB;;AAEzB;AACA;AACA;AACA,eAAe,MAAMC,uBAAuB,SAASJ,UAAU,CAAC;EAC9D;AACF;AACA;AACA;AACA;AACA;AACA;EACEK,WAAWA,CAACC,MAAM,GAAG,CAAC,CAAC,EAAE;IACvB,KAAK,CAAC,CAAC;IAEP,MAAMC,aAAa,GAAG;MACpBC,EAAE,EAAEL,iBAAiB;MACrBM,MAAM,EACJ,2GAA2G;MAC7GC,WAAW,EAAE,aAAa;MAC1BC,IAAI,EAAET,YAAY;MAClBU,KAAK,EAAE,gBAAgB;MACvBC,QAAQ,EAAE,MAAM;MAChBC,OAAO,EAAE;QACPC,OAAO,EAAE,EAAE;QACXC,IAAI,EAAE,sCAAsC;QAC5CC,GAAG,EAAE;MACP;IACF,CAAC;IAED,IAAI,CAACC,UAAU,GAAGf,iBAAiB;IACnC,IAAI,CAACgB,OAAO,GAAGpB,KAAK,CAACQ,aAAa,EAAED,MAAM,CAAC;EAC7C;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEc,SAASA,CAAC;IAACC,KAAK;IAAEC;EAAU,CAAC,EAAE;IAC7B,MAAMC,cAAc,GAAGD,UAAU,CAACE,WAAW,CAAC,mBAAmB,CAAC;IAClE,MAAMC,gBAAgB,GAAG,IAAIxB,gBAAgB,CAAC;MAACK,MAAM,EAAE,IAAI,CAACa;IAAO,CAAC,CAAC;IAErE,MAAMO,gBAAgB,GAAG,IAAI,CAACC,eAAe,CAACJ,cAAc,CAAC;IAE7D,IAAI,CAACzB,OAAO,CAACyB,cAAc,CAAC,EAAE;MAC5BE,gBAAgB,CAACG,QAAQ,CAACF,gBAAgB,CAACG,KAAK,CAAC;MACjDJ,gBAAgB,CAACK,SAAS,CAACJ,gBAAgB,CAACK,MAAM,CAAC;IACrD;IACA,OAAON,gBAAgB;EACzB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEO,YAAYA,CAACX,KAAK,EAAE;IAClB,OAAOA,KAAK,CAACY,OAAO,CAAC,CAAC;EACxB;;EAEA;AACF;AACA;AACA;AACA;EACEN,eAAeA,CAACJ,cAAc,EAAE;IAC9B,IAAIQ,MAAM,GAAG,EAAE;IACf,IAAIR,cAAc,CAACW,aAAa,KAAK,CAAC,EAAE;MACtCH,MAAM,GAAG,KAAK;IAChB,CAAC,MAAM,IAAIR,cAAc,CAACY,gBAAgB,KAAKZ,cAAc,CAACW,aAAa,EAAE;MAC3EH,MAAM,GAAG,KAAK;IAChB,CAAC,MAAM,IAAIR,cAAc,CAACa,gBAAgB,GAAGb,cAAc,CAACW,aAAa,EAAE;MACzEH,MAAM,GAAG,MAAM;IACjB,CAAC,MAAM,IAAIR,cAAc,CAACa,gBAAgB,KAAKb,cAAc,CAACW,aAAa,EAAE;MAC3EH,MAAM,GAAG,MAAM;IACjB;IAEA,MAAMF,KAAK,GAAG,IAAI,CAACQ,QAAQ,CAAC,IAAI,CAAClB,OAAO,CAACN,QAAQ,EAAEkB,MAAM,CAAC;IAE1D,OAAO;MACLF,KAAK;MACLE;IACF,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"file":"OutboundLinksAssessment.js","names":["isEmpty","merge","Assessment","AssessmentResult","ExternalIcon","EXTERNAL_LINKS_ID","OutboundLinksAssessment","constructor","config","defaultConfig","id","docUrl","fixPosition","icon","title","priority","content","improve","good","bad","identifier","_config","getResult","paper","researcher","linkStatistics","getResearch","assessmentResult","calculatedResult","calculateResult","setScore","score","setStatus","status","isApplicable","hasText","externalTotal","getScore"],"sources":["../../../../src/scoring/assessments/seo/OutboundLinksAssessment.js"],"sourcesContent":["import {isEmpty, merge} from 'lodash';\n\nimport Assessment from '../assessment';\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport {ExternalIcon} from '@shopify/polaris-icons';\nimport {EXTERNAL_LINKS_ID} from '@axyseo/const/analysis';\n\n/**\n * Assessment for calculating the outbound links in the text.\n */\nexport default class OutboundLinksAssessment extends Assessment {\n /**\n * Sets the identifier and the config.\n *\n * @param {Object} [config] The configuration to use.\n *\n * @returns {void}\n */\n constructor(config = {}) {\n super();\n\n const defaultConfig = {\n id: EXTERNAL_LINKS_ID,\n docUrl:\n 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist#internal-links-outbound-links',\n fixPosition: 'description',\n icon: ExternalIcon,\n title: 'External links',\n priority: 'high',\n content: {\n improve: '',\n good: 'External links are used effectively.',\n bad: 'No external links found. Add relevant links to be more authoritative and informative.'\n }\n };\n\n this.identifier = EXTERNAL_LINKS_ID;\n this._config = merge(defaultConfig, config);\n }\n\n /**\n * Runs the getLinkStatistics module, based on this returns an assessment result with score.\n *\n * @param {Paper} paper The paper to use for the assessment.\n * @param {Researcher} researcher The researcher used for calling research.\n *\n * @returns {AssessmentResult} The assessment result.\n */\n getResult({paper, researcher}) {\n const linkStatistics = researcher.getResearch('getLinkStatistics');\n const assessmentResult = new AssessmentResult({config: this._config});\n\n const calculatedResult = this.calculateResult(linkStatistics);\n\n if (!isEmpty(linkStatistics)) {\n assessmentResult.setScore(calculatedResult.score);\n assessmentResult.setStatus(calculatedResult.status);\n }\n return assessmentResult;\n }\n\n /**\n * Checks whether paper has text.\n *\n * @param {Paper} paper The paper to use for the assessment.\n *\n * @returns {boolean} True when there is text.\n */\n isApplicable(paper) {\n return paper.hasText();\n }\n\n /**\n *\n * @param linkStatistics\n * @returns {{score: number, status: string}}\n */\n calculateResult(linkStatistics) {\n let status = '';\n if (linkStatistics.externalTotal === 0) {\n status = 'bad';\n } else {\n status = 'good';\n }\n\n const score = this.getScore(this._config.priority, status);\n\n return {\n score,\n status\n };\n }\n}\n"],"mappings":"AAAA,SAAQA,OAAO,EAAEC,KAAK,QAAO,QAAQ;AAErC,OAAOC,UAAU;AACjB,OAAOC,gBAAgB;AACvB,SAAQC,YAAY,QAAO,wBAAwB;AACnD,SAAQC,iBAAiB;;AAEzB;AACA;AACA;AACA,eAAe,MAAMC,uBAAuB,SAASJ,UAAU,CAAC;EAC9D;AACF;AACA;AACA;AACA;AACA;AACA;EACEK,WAAWA,CAACC,MAAM,GAAG,CAAC,CAAC,EAAE;IACvB,KAAK,CAAC,CAAC;IAEP,MAAMC,aAAa,GAAG;MACpBC,EAAE,EAAEL,iBAAiB;MACrBM,MAAM,EACJ,2GAA2G;MAC7GC,WAAW,EAAE,aAAa;MAC1BC,IAAI,EAAET,YAAY;MAClBU,KAAK,EAAE,gBAAgB;MACvBC,QAAQ,EAAE,MAAM;MAChBC,OAAO,EAAE;QACPC,OAAO,EAAE,EAAE;QACXC,IAAI,EAAE,sCAAsC;QAC5CC,GAAG,EAAE;MACP;IACF,CAAC;IAED,IAAI,CAACC,UAAU,GAAGf,iBAAiB;IACnC,IAAI,CAACgB,OAAO,GAAGpB,KAAK,CAACQ,aAAa,EAAED,MAAM,CAAC;EAC7C;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEc,SAASA,CAAC;IAACC,KAAK;IAAEC;EAAU,CAAC,EAAE;IAC7B,MAAMC,cAAc,GAAGD,UAAU,CAACE,WAAW,CAAC,mBAAmB,CAAC;IAClE,MAAMC,gBAAgB,GAAG,IAAIxB,gBAAgB,CAAC;MAACK,MAAM,EAAE,IAAI,CAACa;IAAO,CAAC,CAAC;IAErE,MAAMO,gBAAgB,GAAG,IAAI,CAACC,eAAe,CAACJ,cAAc,CAAC;IAE7D,IAAI,CAACzB,OAAO,CAACyB,cAAc,CAAC,EAAE;MAC5BE,gBAAgB,CAACG,QAAQ,CAACF,gBAAgB,CAACG,KAAK,CAAC;MACjDJ,gBAAgB,CAACK,SAAS,CAACJ,gBAAgB,CAACK,MAAM,CAAC;IACrD;IACA,OAAON,gBAAgB;EACzB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEO,YAAYA,CAACX,KAAK,EAAE;IAClB,OAAOA,KAAK,CAACY,OAAO,CAAC,CAAC;EACxB;;EAEA;AACF;AACA;AACA;AACA;EACEN,eAAeA,CAACJ,cAAc,EAAE;IAC9B,IAAIQ,MAAM,GAAG,EAAE;IACf,IAAIR,cAAc,CAACW,aAAa,KAAK,CAAC,EAAE;MACtCH,MAAM,GAAG,KAAK;IAChB,CAAC,MAAM;MACLA,MAAM,GAAG,MAAM;IACjB;IAEA,MAAMF,KAAK,GAAG,IAAI,CAACM,QAAQ,CAAC,IAAI,CAAChB,OAAO,CAACN,QAAQ,EAAEkB,MAAM,CAAC;IAE1D,OAAO;MACLF,KAAK;MACLE;IACF,CAAC;EACH;AACF","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "axyseo",
3
- "version": "2.0.0-alpha.0.0.63",
3
+ "version": "2.0.0-alpha.0.0.67",
4
4
  "main": "build/index.js",
5
5
  "scripts": {
6
6
  "prepublishOnly": "npm run build && npm version prerelease --preid=alpha",