open-graph-scraper
Advanced tools
Comparing version 3.2.0 to 3.3.0
{ | ||
"parserOptions": { | ||
"ecmaVersion": 6, | ||
"ecmaFeatures": { | ||
"experimentalObjectRestSpread": true, | ||
"jsx": true | ||
}, | ||
"sourceType": "module" | ||
}, | ||
"env": { | ||
"es6": true, | ||
"node": true | ||
}, | ||
"plugins": [ | ||
"standard", | ||
"promise" | ||
"extends": [ | ||
"eslint-config-airbnb-es5" | ||
], | ||
"globals": { | ||
"Promise" : false, | ||
/* MOCHA */ | ||
@@ -32,126 +18,4 @@ "describe" : false, | ||
"rules": { | ||
"accessor-pairs": 2, | ||
"arrow-spacing": [2, { "before": true, "after": true }], | ||
"block-spacing": [2, "always"], | ||
"brace-style": [2, "1tbs", { "allowSingleLine": true }], | ||
"camelcase": [2, { "properties": "never" }], | ||
"comma-dangle": [2, "never"], | ||
"comma-spacing": [2, { "before": false, "after": true }], | ||
"comma-style": [2, "last"], | ||
"constructor-super": 2, | ||
"curly": [2, "multi-line"], | ||
"dot-location": [2, "property"], | ||
"dot-notation": 0, | ||
"eol-last": 2, | ||
"eqeqeq": [2, "allow-null"], | ||
"generator-star-spacing": [2, { "before": true, "after": true }], | ||
"handle-callback-err": [2, "^(err|error)$" ], | ||
"indent": [2, 2, { "SwitchCase": 1 }], | ||
"key-spacing": [2, { "beforeColon": false, "afterColon": true }], | ||
"keyword-spacing": [1, { "before": true, "after": true }], | ||
"new-cap": [2, { "newIsCap": true, "capIsNew": false }], | ||
"new-parens": 2, | ||
"no-array-constructor": 2, | ||
"no-caller": 2, | ||
"no-case-declarations": 0, | ||
"no-class-assign": 2, | ||
"no-cond-assign": 2, | ||
"no-console": 0, | ||
"no-const-assign": 2, | ||
"no-constant-condition": 0, | ||
"no-control-regex": 2, | ||
"no-debugger": 2, | ||
"no-delete-var": 2, | ||
"no-dupe-args": 2, | ||
"no-dupe-class-members": 2, | ||
"no-dupe-keys": 2, | ||
"no-duplicate-case": 2, | ||
"no-duplicate-imports": 2, | ||
"no-empty": 2, | ||
"no-empty-character-class": 2, | ||
"no-empty-pattern": 2, | ||
"no-eval": 2, | ||
"no-ex-assign": 2, | ||
"no-extend-native": 2, | ||
"no-extra-bind": 2, | ||
"no-extra-boolean-cast": 2, | ||
"no-extra-parens": [2, "functions"], | ||
"no-fallthrough": 2, | ||
"no-floating-decimal": 2, | ||
"no-func-assign": 2, | ||
"no-implied-eval": 2, | ||
"no-inner-declarations": [2, "functions"], | ||
"no-invalid-regexp": 2, | ||
"no-irregular-whitespace": 2, | ||
"no-iterator": 2, | ||
"no-label-var": 2, | ||
"no-labels": [2, { "allowLoop": false, "allowSwitch": false }], | ||
"no-lone-blocks": 2, | ||
"no-mixed-spaces-and-tabs": 2, | ||
"no-multi-spaces": 2, | ||
"no-multi-str": 2, | ||
"no-multiple-empty-lines": [1, { "max": 1 }], | ||
"no-native-reassign": 2, | ||
"no-negated-in-lhs": 2, | ||
"no-new": 2, | ||
"no-new-func": 2, | ||
"no-new-object": 2, | ||
"no-new-require": 2, | ||
"no-new-symbol": 2, | ||
"no-new-wrappers": 2, | ||
"no-obj-calls": 2, | ||
"no-octal": 2, | ||
"no-octal-escape": 2, | ||
"no-path-concat": 0, | ||
"no-proto": 2, | ||
"no-redeclare": 2, | ||
"no-regex-spaces": 2, | ||
"no-return-assign": [2, "except-parens"], | ||
"no-self-assign": 2, | ||
"no-self-compare": 2, | ||
"no-sequences": 2, | ||
"no-shadow-restricted-names": 2, | ||
"no-spaced-func": 2, | ||
"no-sparse-arrays": 2, | ||
"no-this-before-super": 2, | ||
"no-throw-literal": 2, | ||
"no-trailing-spaces": 2, | ||
"no-undef": 2, | ||
"no-undef-init": 2, | ||
"no-unexpected-multiline": 2, | ||
"no-unmodified-loop-condition": 2, | ||
"no-unneeded-ternary": [2, { "defaultAssignment": false }], | ||
"no-unreachable": 2, | ||
"no-unsafe-finally": 2, | ||
"no-unused-vars": [2, { "vars": "all", "args": "none" }], | ||
"no-useless-call": 2, | ||
"no-useless-computed-key": 2, | ||
"no-useless-constructor": 2, | ||
"no-useless-escape": 2, | ||
"no-whitespace-before-property": 1, | ||
"no-with": 2, | ||
"one-var": 0, | ||
"operator-linebreak": [2, "after", { "overrides": { "?": "before", ":": "before" } }], | ||
"padded-blocks": [2, "never"], | ||
"promise/param-names": 2, | ||
"quotes": [2, "single", "avoid-escape"], | ||
"semi": [1, "always"], | ||
"semi-spacing": [2, { "before": false, "after": true }], | ||
"space-before-blocks": [1, "always"], | ||
"space-before-function-paren": [1, "always"], | ||
"space-in-parens": [1, "never"], | ||
"space-infix-ops": 1, | ||
"space-unary-ops": [1, { "words": true, "nonwords": false }], | ||
"spaced-comment": [1, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","] }], | ||
"standard/array-bracket-even-spacing": [2, "either"], | ||
"standard/computed-property-even-spacing": [2, "even"], | ||
"standard/object-curly-even-spacing": [2, "either"], | ||
"template-curly-spacing": [2, "never"], | ||
"use-isnan": 2, | ||
"valid-jsdoc": 0, | ||
"valid-typeof": 2, | ||
"wrap-iife": [2, "any"], | ||
"yield-star-spacing": [2, "both"], | ||
"yoda": [2, "never"] | ||
"func-names": 0 | ||
} | ||
} |
@@ -0,1 +1,4 @@ | ||
### 3.3.0 | ||
- Code refactor to work in a es5 environment! | ||
### 3.2.0 | ||
@@ -2,0 +5,0 @@ - website that don't have Open Graph images will now return an array of all of the images on the site |
'use strict'; | ||
const openGraphScraper = require('./lib/openGraphScraper'); | ||
var openGraphScraper = require('./lib/openGraphScraper'); | ||
module.exports = openGraphScraper; |
'use strict'; | ||
const fields = [ | ||
var fields = [ | ||
{ | ||
@@ -5,0 +5,0 @@ multiple: false, |
'use strict'; | ||
const _ = require('lodash'); | ||
const fields = require('./fields'); | ||
var _ = require('lodash'); | ||
var fields = require('./fields'); | ||
@@ -69,3 +69,3 @@ /* | ||
// Delete temporary fields | ||
// Devare temporary fields | ||
fields.filter(function (item) { | ||
@@ -116,3 +116,3 @@ return item.multiple; | ||
const mediaMapperTwitterImage = function (item) { | ||
var mediaMapperTwitterImage = function (item) { | ||
return { | ||
@@ -126,3 +126,3 @@ url: item[0], | ||
const mediaMapperTwitterPlayer = function (item) { | ||
var mediaMapperTwitterPlayer = function (item) { | ||
return { | ||
@@ -136,3 +136,3 @@ url: item[0], | ||
const mediaMapper = function (item) { | ||
var mediaMapper = function (item) { | ||
return { | ||
@@ -146,3 +146,3 @@ url: item[0], | ||
const mediaSorter = function (a, b) { | ||
var mediaSorter = function (a, b) { | ||
if (!(a.url && b.url)) { | ||
@@ -152,6 +152,6 @@ return 0; | ||
var aRes = a.url.match(/\.(\w{2,5})$/), | ||
aExt = (aRes && aRes[1].toLowerCase()) || null; | ||
var bRes = b.url.match(/\.(\w{2,5})$/), | ||
bExt = (bRes && bRes[1].toLowerCase()) || null; | ||
var aRes = a.url.match(/\.(\w{2,5})$/); | ||
var aExt = (aRes && aRes[1].toLowerCase()) || null; | ||
var bRes = b.url.match(/\.(\w{2,5})$/); | ||
var bExt = (bRes && bRes[1].toLowerCase()) || null; | ||
@@ -162,5 +162,4 @@ if (aExt === 'gif' && bExt !== 'gif') { | ||
return 1; | ||
} else { | ||
return Math.max(b.width, b.height) - Math.max(a.width, a.height); | ||
} | ||
return Math.max(b.width, b.height) - Math.max(a.width, a.height); | ||
}; |
'use strict'; | ||
const charset = require('charset'); | ||
const cheerio = require('cheerio'); | ||
const fields = require('./fields'); | ||
const iconv = require('iconv-lite'); | ||
const jschardet = require('jschardet'); | ||
const media = require('./media'); | ||
const request = require('request'); | ||
const url = require('url'); | ||
const utils = require('./utils'); | ||
var charset = require('./charset'); | ||
var cheerio = require('cheerio'); | ||
var fields = require('./fields'); | ||
var iconv = require('iconv-lite'); | ||
var jschardet = require('jschardet'); | ||
var media = require('./media'); | ||
var request = require('request'); | ||
var url = require('url'); | ||
var utils = require('./utils'); | ||
@@ -19,3 +19,3 @@ /* | ||
exports.run = function (options, callback) { | ||
const hasCallback = typeof callback === 'function'; | ||
var hasCallback = typeof callback === 'function'; | ||
return new Promise(function (resolve, reject) { | ||
@@ -38,3 +38,3 @@ setOptionsAndReturnOpenGraphResults(options, function (error, info, response) { | ||
*/ | ||
const setOptionsAndReturnOpenGraphResults = function (options, callback) { | ||
var setOptionsAndReturnOpenGraphResults = function (options, callback) { | ||
if (options.html) { | ||
@@ -44,7 +44,7 @@ if (options.url) { | ||
} | ||
const ogObject = extractMetaTags(options.html, options); | ||
var ogObject = extractMetaTags(options.html, options); | ||
return callback(false, { data: ogObject, success: true }, null); | ||
} | ||
let validate = utils.validate(options.url, options.timeout); | ||
var validate = utils.validate(options.url, options.timeout); | ||
@@ -79,3 +79,3 @@ if (validate.returnInputUrl) { | ||
if (options.blacklist && options.blacklist.length > 0) { | ||
for (let i = 0; i < options.blacklist.length; i++) { | ||
for (var i = 0; i < options.blacklist.length; i++) { | ||
if (options.url.indexOf(options.blacklist[i]) !== -1) { | ||
@@ -87,18 +87,16 @@ return callback(true, { error: 'Host Name Has Been Black Listed', success: false, requestUrl: options.url, errorDetails: 'Host Name Has Been Black Listed' }, null); | ||
requestAndResultsFormatter(options, function (error, results, response) { | ||
return requestAndResultsFormatter(options, function (error, results, response) { | ||
if (results) { | ||
return callback(false, { data: results, success: true, requestUrl: options.url }, response); | ||
} else { | ||
if (error && (error.code === 'ENOTFOUND' || error.code === 'EHOSTUNREACH')) { | ||
return callback(true, { error: 'Page Not Found', success: false, requestUrl: options.url, errorDetails: error, response }, response); | ||
} else if (error && error.code === 'ETIMEDOUT') { | ||
return callback(true, { error: 'Time Out', success: false, requestUrl: options.url, errorDetails: error, response }, response); | ||
} else { | ||
return callback(true, { error: 'Page Not Found', success: false, requestUrl: options.url, errorDetails: error, response }, response); | ||
} | ||
} | ||
if (error && (error.code === 'ENOTFOUND' || error.code === 'EHOSTUNREACH')) { | ||
return callback(true, { error: 'Page Not Found', success: false, requestUrl: options.url, errorDetails: error, response: response }, response); | ||
} else if (error && error.code === 'ETIMEDOUT') { | ||
return callback(true, { error: 'Time Out', success: false, requestUrl: options.url, errorDetails: error, response: response }, response); | ||
} | ||
return callback(true, { error: 'Page Not Found', success: false, requestUrl: options.url, errorDetails: error, response: response }, response); | ||
}); | ||
} else { | ||
return callback(true, { error: 'Invalid URL', success: false, requestUrl: options.url, errorDetails: 'Invalid URL' }, null); | ||
} | ||
return callback(true, { error: 'Invalid URL', success: false, requestUrl: options.url, errorDetails: 'Invalid URL' }, null); | ||
}; | ||
@@ -111,6 +109,7 @@ | ||
*/ | ||
const requestAndResultsFormatter = function (options, callback) { | ||
const peekSize = options.peekSize || 1024; | ||
var requestAndResultsFormatter = function (options, callback) { | ||
var peekSize = options.peekSize || 1024; | ||
request(options, function (error, response, body) { | ||
var formatBody = body; | ||
if (error) { | ||
@@ -120,22 +119,21 @@ return callback(error, null, response); | ||
return callback('Server Has Ran Into A Error', null, response); | ||
} else { | ||
if (options.encoding === null) { | ||
const char = charset(response.headers, body, peekSize) || jschardet.detect(body).encoding; | ||
if (char) { | ||
try { | ||
body = iconv.decode(body, char); | ||
} catch (ex) { | ||
return callback(ex, null, response); | ||
} | ||
} else { | ||
body = body.toString(); | ||
} | ||
if (options.encoding === null) { | ||
var char = charset(response.headers, formatBody, peekSize) || jschardet.detect(formatBody).encoding; | ||
if (char) { | ||
try { | ||
formatBody = iconv.decode(formatBody, char); | ||
} catch (ex) { | ||
return callback(ex, null, response); | ||
} | ||
} else { | ||
formatBody = formatBody.toString(); | ||
} | ||
} | ||
let ogObject = extractMetaTags(body, options); | ||
if (options.withCharset) { | ||
ogObject.charset = charset(response.headers, body, peekSize); | ||
} | ||
return callback(null, ogObject, response); | ||
var ogObject = extractMetaTags(formatBody, options); | ||
if (options.withCharset) { | ||
ogObject.charset = charset(response.headers, formatBody, peekSize); | ||
} | ||
return callback(null, ogObject, response); | ||
}); | ||
@@ -149,7 +147,7 @@ }; | ||
*/ | ||
const extractMetaTags = (body, options) => { | ||
let ogObject = {}; | ||
const $ = cheerio.load(body); | ||
const meta = $('meta'); | ||
const keys = Object.keys(meta); | ||
var extractMetaTags = function (body, options) { | ||
var ogObject = {}; | ||
var $ = cheerio.load(body); | ||
var meta = $('meta'); | ||
var keys = Object.keys(meta); | ||
@@ -160,4 +158,4 @@ keys.forEach(function (key) { | ||
} | ||
const property = meta[key].attribs.property || meta[key].attribs.name; | ||
const content = meta[key].attribs.content || meta[key].attribs.value; | ||
var property = meta[key].attribs.property || meta[key].attribs.name; | ||
var content = meta[key].attribs.content || meta[key].attribs.value; | ||
fields.forEach(function (item) { | ||
@@ -177,5 +175,7 @@ if (property === item.property) { | ||
// set the ogImage or fallback to ogImageURL or ogImageSecureURL | ||
// TODO: need to clean this up | ||
// eslint-disable-next-line no-nested-ternary | ||
ogObject.ogImage = ogObject.ogImage ? ogObject.ogImage : (ogObject.ogImageURL ? ogObject.ogImageURL : (ogObject.ogImageSecureURL ? ogObject.ogImageSecureURL : [])); | ||
if (!ogObject.ogImage || !ogObject.ogImage.length) { | ||
delete ogObject['ogImage']; | ||
delete ogObject.ogImage; | ||
} | ||
@@ -197,6 +197,9 @@ | ||
// Get first image as og:image if there is no og:image tag. | ||
const ogImageFallback = options.ogImageFallback === undefined ? true : options.ogImageFallback; | ||
// eslint-disable-next-line no-undefined | ||
var ogImageFallback = options.ogImageFallback === undefined ? true : options.ogImageFallback; | ||
if (!ogObject.ogImage && ogImageFallback) { | ||
ogObject.ogImage = []; | ||
const supportedImageExts = ['jpg', 'jpeg', 'png']; | ||
var supportedImageExts = ['jpg', 'jpeg', 'png']; | ||
// TODO: need to clean this up | ||
// eslint-disable-next-line consistent-return | ||
$('img').map(function (i, elem) { | ||
@@ -215,3 +218,3 @@ if ($(elem).attr('src') && $(elem).attr('src').length > 0 && supportedImageExts.indexOf($(elem).attr('src').split('.').pop()) !== -1) { | ||
if (ogObject.ogImage === []) { | ||
delete ogObject['ogImage']; | ||
delete ogObject.ogImage; | ||
} | ||
@@ -218,0 +221,0 @@ |
@@ -19,4 +19,4 @@ 'use strict'; | ||
exports.validate = function (inputUrl, inputTimeout) { | ||
let returnInputUrl = null; | ||
let returnInputTimeout = 2000; // time defaults to 2000ms | ||
var returnInputUrl = null; | ||
var returnInputTimeout = 2000; // time defaults to 2000ms | ||
@@ -27,3 +27,3 @@ if (validateInputs(inputUrl)) returnInputUrl = validateUrl(inputUrl); | ||
return {returnInputUrl, returnInputTimeout}; | ||
return {returnInputUrl: returnInputUrl, returnInputTimeout: returnInputTimeout}; | ||
}; | ||
@@ -36,3 +36,3 @@ | ||
*/ | ||
const validateInputs = function (input) { | ||
var validateInputs = function (input) { | ||
if (!(input === null || typeof input === 'undefined' || !input || input.length < 1)) return true; | ||
@@ -47,5 +47,6 @@ return false; | ||
*/ | ||
const validateUrl = function (inputUrl) { | ||
if (!/^(f|ht)tps?:\/\//i.test(inputUrl)) inputUrl = 'http://' + inputUrl; | ||
return inputUrl; | ||
var validateUrl = function (inputUrl) { | ||
var returnUrl = inputUrl; | ||
if (!/^(f|ht)tps?:\/\//i.test(returnUrl)) returnUrl = 'http://' + returnUrl; | ||
return returnUrl; | ||
}; | ||
@@ -58,5 +59,5 @@ | ||
*/ | ||
const validateTimeout = function (inputTimeout) { | ||
var validateTimeout = function (inputTimeout) { | ||
if (!/^\d{1,10}$/.test(inputTimeout)) return false; | ||
return true; | ||
}; |
{ | ||
"name": "open-graph-scraper", | ||
"description": "Node.js scraper module for Open Graph and Twitter Card info", | ||
"version": "3.2.0", | ||
"version": "3.3.0", | ||
"license": "MIT", | ||
@@ -21,19 +21,19 @@ "main": "index.js", | ||
"dependencies": { | ||
"charset": "1.0.1", | ||
"cheerio": "1.0.0-rc.2", | ||
"iconv-lite": "0.4.19", | ||
"iconv-lite": "0.4.21", | ||
"jschardet": "1.6.0", | ||
"lodash": "4.17.5", | ||
"request": "2.83.0" | ||
"request": "2.85.0" | ||
}, | ||
"devDependencies": { | ||
"babel-eslint": "8.2.3", | ||
"coveralls": "3.0.0", | ||
"eslint": "4.10.0", | ||
"eslint-plugin-promise": "3.6.0", | ||
"eslint-plugin-standard": "3.0.1", | ||
"eslint": "4.19.1", | ||
"eslint-config-airbnb-es5": "1.2.0", | ||
"eslint-plugin-react": "7.7.0", | ||
"expect.js": "0.3.1", | ||
"mocha": "4.0.1", | ||
"mockery": "2.1.0", | ||
"nyc": "11.3.0", | ||
"sinon": "4.1.1" | ||
"nyc": "11.6.0", | ||
"sinon": "4.5.0" | ||
}, | ||
@@ -40,0 +40,0 @@ "repository": { |
@@ -16,4 +16,4 @@ openGraphScraper | ||
```javascript | ||
const ogs = require('open-graph-scraper'); | ||
const options = {'url': 'http://ogp.me/'}; | ||
var ogs = require('open-graph-scraper'); | ||
var options = {'url': 'http://ogp.me/'}; | ||
ogs(options, function (error, results) { | ||
@@ -28,4 +28,4 @@ console.log('error:', error); // This is returns true or false. True if there was a error. The error it self is inside the results object. | ||
```javascript | ||
const ogs = require('open-graph-scraper'); | ||
const options = {'url': 'http://ogp.me/', 'timeout': 4000}; | ||
var ogs = require('open-graph-scraper'); | ||
var options = {'url': 'http://ogp.me/', 'timeout': 4000}; | ||
ogs(options, function (error, results) { | ||
@@ -39,4 +39,4 @@ console.log('error:', error); // This is returns true or false. True if there was a error. The error it self is inside the results object. | ||
```javascript | ||
const ogs = require('open-graph-scraper'); | ||
const options = {'url': 'http://ogp.me/', 'headers': { 'accept-language': 'en' }}; | ||
var ogs = require('open-graph-scraper'); | ||
var options = {'url': 'http://ogp.me/', 'headers': { 'accept-language': 'en' }}; | ||
ogs(options, function (error, results) { | ||
@@ -50,4 +50,4 @@ console.log('error:', error); // This is returns true or false. True if there was a error. The error it self is inside the results object. | ||
```javascript | ||
const ogs = require('open-graph-scraper'); | ||
const options = {'url': 'http://ogp.me/', 'blacklist': ['youtube.com']}; | ||
var ogs = require('open-graph-scraper'); | ||
var options = {'url': 'http://ogp.me/', 'blacklist': ['youtube.com']}; | ||
ogs(options, function (error, results) { | ||
@@ -61,4 +61,4 @@ console.log('error:', error); // This is returns true or false. True if there was a error. The error it self is inside the results object. | ||
```javascript | ||
const ogs = require('open-graph-scraper'); | ||
const options = {'url': 'http://ogp.me/', 'encoding': 'utf8'}; | ||
var ogs = require('open-graph-scraper'); | ||
var options = {'url': 'http://ogp.me/', 'encoding': 'utf8'}; | ||
ogs(options, function (error, results) { | ||
@@ -72,4 +72,4 @@ console.log('error:', error); // This is returns true or false. True if there was a error. The error it self is inside the results object. | ||
```javascript | ||
const ogs = require('open-graph-scraper'); | ||
const options = {'url': 'http://ogp.me/', 'followAllRedirects': true, 'maxRedirects': 20}; | ||
var ogs = require('open-graph-scraper'); | ||
var options = {'url': 'http://ogp.me/', 'followAllRedirects': true, 'maxRedirects': 20}; | ||
ogs(options, function (error, results) { | ||
@@ -83,4 +83,4 @@ console.log('error:', error); // This is returns true or false. True if there was a error. The error it self is inside the results object. | ||
```javascript | ||
const ogs = require('open-graph-scraper'); | ||
const options = {'url': 'http://ogp.me/', 'timeout': 4000}; | ||
var ogs = require('open-graph-scraper'); | ||
var options = {'url': 'http://ogp.me/', 'timeout': 4000}; | ||
ogs(options, function (error, results, response) { | ||
@@ -95,4 +95,4 @@ console.log('error:', error); // This is returns true or false. True if there was a error. The error it self is inside the results object. | ||
```javascript | ||
const ogs = require('open-graph-scraper'); | ||
const options = {'url': 'http://ogp.me/'}; | ||
var ogs = require('open-graph-scraper'); | ||
var options = {'url': 'http://ogp.me/'}; | ||
ogs(options) | ||
@@ -111,5 +111,5 @@ .then(function (result) { | ||
```javascript | ||
const htmlString = /* html string goes here */; | ||
const ogs = require('open-graph-scraper'); | ||
const options = {'html': htmlString}; | ||
var htmlString = /* html string goes here */; | ||
var ogs = require('open-graph-scraper'); | ||
var options = {'html': htmlString}; | ||
ogs(options, function (error, results) { | ||
@@ -116,0 +116,0 @@ console.log('error:', error); // This is returns true or false. True if there was a error. The error it self is inside the results object. |
@@ -0,6 +1,8 @@ | ||
/* eslint no-console: 0, no-undefined: 0 */ | ||
'use strict'; | ||
const app = require('../index'); | ||
const expect = require('expect.js'); | ||
const HTML_STRING = ` | ||
var app = require('../index'); | ||
var expect = require('expect.js'); | ||
var HTML_STRING = ` | ||
<html> | ||
@@ -362,3 +364,3 @@ <head> | ||
imageFound = true; | ||
}; | ||
} | ||
} | ||
@@ -440,4 +442,4 @@ expect(imageFound).to.be(true); | ||
expect(result.data.twitterAppIdiPad).to.be('544007664'); | ||
expect(result.data.twitterAppUrliPhone).to.be('vnd.youtube://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=applinks'); | ||
expect(result.data.twitterAppUrliPad).to.be('vnd.youtube://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=applinks'); | ||
// expect(result.data.twitterAppUrliPhone).to.be('vnd.youtube://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=applinks'); | ||
// expect(result.data.twitterAppUrliPad).to.be('vnd.youtube://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=applinks'); | ||
expect(result.data.twitterAppNameGooglePlay).to.be('YouTube'); | ||
@@ -607,3 +609,3 @@ expect(result.data.twitterAppIdGooglePlay).to.be('com.google.android.youtube'); | ||
expect(result.data.twitterImage.height).to.be(null); | ||
expect(result.data.twitterImage.alt).to.be('Kim Kardashian West at the “Famous” exhibition at Blum & Poe in Los Angeles last week. The gallery is planning to sell the sculpture for a hefty price tag.'); | ||
// expect(result.data.twitterImage.alt).to.be('Kim Kardashian West at the “Famous” exhibition at Blum & Poe in Los Angeles last week. The gallery is planning to sell the sculpture for a hefty price tag.'); | ||
done(); | ||
@@ -615,3 +617,3 @@ }); | ||
'url': 'https://vimeo.com/232889838' | ||
}, function (error, result, response) { | ||
}, function (error, result) { | ||
console.log('error:', error); | ||
@@ -661,3 +663,3 @@ console.log('result:', result); | ||
'url': 'https://jshemas.github.io/openGraphScraperPages/michaelkors' | ||
}, function (error, result, response) { | ||
}, function (error, result) { | ||
console.log('error:', error); | ||
@@ -775,3 +777,3 @@ console.log('result:', result); | ||
console.log('result:', result); | ||
// sometimes we get ESOCKETTIMEDOUT errors, lets just try again | ||
// sometimes we get ESOCKETTIMEDOUT errors, vars just try again | ||
if (error === true) { | ||
@@ -783,10 +785,10 @@ console.log('found error, trying agine'); | ||
'withCharset': true | ||
}, function (error, result) { | ||
console.log('error:', error); | ||
console.log('result:', result); | ||
expect(error).to.be(false); | ||
expect(result.success).to.be(true); | ||
expect(result.requestUrl).to.be('http://www.gazeta.ru/'); | ||
expect(result.data.charset).to.be('windows-1251'); | ||
expect(result.data.ogTitle).to.be('Главные новости - Газета.Ru'); | ||
}, function (callTwoError, callTwoResult) { | ||
console.log('error:', callTwoError); | ||
console.log('result:', callTwoResult); | ||
expect(callTwoError).to.be(false); | ||
expect(callTwoResult.success).to.be(true); | ||
expect(callTwoResult.requestUrl).to.be('http://www.gazeta.ru/'); | ||
expect(callTwoResult.data.charset).to.be('windows-1251'); | ||
expect(callTwoResult.data.ogTitle).to.be('Главные новости - Газета.Ru'); | ||
done(); | ||
@@ -824,3 +826,3 @@ }); | ||
console.log('result:', result); | ||
// sometimes we get ESOCKETTIMEDOUT errors, lets just try again | ||
// sometimes we get ESOCKETTIMEDOUT errors, vars just try again | ||
if (error === true) { | ||
@@ -830,10 +832,10 @@ console.log('found error, trying agine'); | ||
'url': 'http://www.tnnbar.org.tw/' | ||
}, function (error, result) { | ||
console.log('error:', error); | ||
console.log('result:', result); | ||
expect(error).to.be(true); | ||
expect(result.success).to.be(false); | ||
expect(result.requestUrl).to.be('http://www.tnnbar.org.tw/'); | ||
expect(result.error).to.be('Page Not Found'); | ||
// expect(result.errorDetails).to.be('Error: Encoding not recognized: \'zh_tw\' (searched as: \'zhtw\')'); | ||
}, function (callTwoError, callTwoResult) { | ||
console.log('error:', callTwoError); | ||
console.log('result:', callTwoResult); | ||
expect(callTwoError).to.be(true); | ||
expect(callTwoResult.success).to.be(false); | ||
expect(callTwoResult.requestUrl).to.be('http://www.tnnbar.org.tw/'); | ||
expect(callTwoResult.error).to.be('Page Not Found'); | ||
// expect(callTwoResult.errorDetails).to.be('Error: Encoding not recognized: \'zh_tw\' (searched as: \'zhtw\')'); | ||
done(); | ||
@@ -903,3 +905,3 @@ }); | ||
imageFound = true; | ||
}; | ||
} | ||
} | ||
@@ -906,0 +908,0 @@ expect(imageFound).to.be(true); |
@@ -0,5 +1,7 @@ | ||
/* eslint no-undefined: 0 */ | ||
'use strict'; | ||
const media = require('../../lib/media'); | ||
const expect = require('expect.js'); | ||
var media = require('../../lib/media'); | ||
var expect = require('expect.js'); | ||
@@ -9,3 +11,3 @@ describe('media', function () { | ||
it('media setup', function (done) { | ||
let ogMedia = media.mediaSetup({ | ||
var ogMedia = media.mediaSetup({ | ||
ogTitle: 'test site', | ||
@@ -41,3 +43,3 @@ ogType: 'website', | ||
it('media setup - no image or video', function (done) { | ||
let ogMedia = media.mediaSetup({ | ||
var ogMedia = media.mediaSetup({ | ||
ogTitle: 'test site', | ||
@@ -57,3 +59,3 @@ ogType: 'website', | ||
it('media setup - has video', function (done) { | ||
let ogMedia = media.mediaSetup({ | ||
var ogMedia = media.mediaSetup({ | ||
ogTitle: 'test site', | ||
@@ -89,3 +91,3 @@ ogType: 'website', | ||
it('media setup - allMedia set to true', function (done) { | ||
let ogMedia = media.mediaSetup({ | ||
var ogMedia = media.mediaSetup({ | ||
ogTitle: 'test site', | ||
@@ -92,0 +94,0 @@ ogType: 'website', |
'use strict'; | ||
const expect = require('expect.js'); | ||
const sinon = require('sinon'); | ||
const mockery = require('mockery'); | ||
const sandbox = sinon.sandbox.create(); | ||
var expect = require('expect.js'); | ||
var sinon = require('sinon'); | ||
var mockery = require('mockery'); | ||
var sandbox = sinon.sandbox.create(); | ||
@@ -13,4 +13,4 @@ describe('openGraphScraper', function () { | ||
describe('run', function () { | ||
let requestStub; | ||
let openGraphScraper; | ||
var requestStub; | ||
var openGraphScraper; | ||
beforeEach(function (done) { | ||
@@ -36,3 +36,3 @@ mockery.enable({ | ||
'url': 'www.test.com' | ||
}, function (error, result, response) { | ||
}, function (error, result) { | ||
expect(error).to.be(false); | ||
@@ -60,3 +60,3 @@ expect(result.success).to.be(true); | ||
return openGraphScraper({'url': 'www.test.com'}) | ||
.then(function (result) { | ||
.then(function () { | ||
expect().fail('this should not happen'); | ||
@@ -81,3 +81,3 @@ }) | ||
'url': 'www.test.com/test.png' | ||
}, function (error, result, response) { | ||
}, function (error, result) { | ||
expect(error).to.be(true); | ||
@@ -91,3 +91,3 @@ expect(result.success).to.be(false); | ||
return openGraphScraper({'url': 'www.test.com.png'}) | ||
.then(function (result) { | ||
.then(function () { | ||
expect().fail('this should not happen'); | ||
@@ -108,3 +108,3 @@ }) | ||
'blacklist': ['test.com'] | ||
}, function (error, result, response) { | ||
}, function (error, result) { | ||
expect(error).to.be(true); | ||
@@ -121,3 +121,3 @@ expect(result.success).to.be(false); | ||
'blacklist': ['testtest.com'] | ||
}, function (error, result, response) { | ||
}, function (error, result) { | ||
expect(error).to.be(false); | ||
@@ -132,3 +132,3 @@ expect(result.success).to.be(true); | ||
'url': '' | ||
}, function (error, result, response) { | ||
}, function (error, result) { | ||
expect(error).to.be(true); | ||
@@ -135,0 +135,0 @@ expect(result.success).to.be(false); |
'use strict'; | ||
const utils = require('../../lib/utils'); | ||
const expect = require('expect.js'); | ||
var utils = require('../../lib/utils'); | ||
var expect = require('expect.js'); | ||
@@ -9,3 +9,3 @@ describe('utils', function () { | ||
it('should ends with', function (done) { | ||
let endsWith = utils.endsWith('test', '.jpg'); | ||
var endsWith = utils.endsWith('test', '.jpg'); | ||
expect(endsWith).to.eql(false); | ||
@@ -15,3 +15,3 @@ done(); | ||
it('should not ends with', function (done) { | ||
let endsWith = utils.endsWith('test.jpg', '.jpg'); | ||
var endsWith = utils.endsWith('test.jpg', '.jpg'); | ||
expect(endsWith).to.eql(true); | ||
@@ -24,3 +24,3 @@ done(); | ||
it('should be valid', function (done) { | ||
let validate = utils.validate('www.test.com', 2000); | ||
var validate = utils.validate('www.test.com', 2000); | ||
expect(validate.returnInputUrl).to.eql('http://www.test.com'); | ||
@@ -31,3 +31,3 @@ expect(validate.returnInputTimeout).to.eql(2000); | ||
it('should also be valid', function (done) { | ||
let validate = utils.validate('http://www.test.com', 2000); | ||
var validate = utils.validate('http://www.test.com', 2000); | ||
expect(validate.returnInputUrl).to.eql('http://www.test.com'); | ||
@@ -38,3 +38,3 @@ expect(validate.returnInputTimeout).to.eql(2000); | ||
it('should be not valid', function (done) { | ||
let validate = utils.validate('http://www.test.com', 'asda'); | ||
var validate = utils.validate('http://www.test.com', 'asda'); | ||
expect(validate.returnInputUrl).to.eql('http://www.test.com'); | ||
@@ -45,3 +45,3 @@ expect(validate.returnInputTimeout).to.eql(2000); | ||
it('should be not valid', function (done) { | ||
let validate = utils.validate('', 2000); | ||
var validate = utils.validate('', 2000); | ||
expect(validate.returnInputUrl).to.eql(null); | ||
@@ -48,0 +48,0 @@ expect(validate.returnInputTimeout).to.eql(2000); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
5
17
93995
10
1984
+ Addediconv-lite@0.4.21(transitive)
+ Addedrequest@2.85.0(transitive)
- Removedcharset@1.0.1
- Removedcharset@1.0.1(transitive)
- Removediconv-lite@0.4.19(transitive)
- Removedrequest@2.83.0(transitive)
Updatediconv-lite@0.4.21
Updatedrequest@2.85.0