Socket
Socket
Sign inDemoInstall

cheerio

Package Overview
Dependencies
Maintainers
1
Versions
70
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cheerio - npm Package Compare versions

Comparing version 0.3.2 to 0.4.0

lib/parse.js

10

History.md

@@ -0,1 +1,11 @@

0.4.0 / 2011-12-19
==================
* Rewrote all unit tests as cheerio transitioned from vows -> mocha
* Internally, renderer.render -> render(...), parser.parse -> parse(...)
* Append, prepend, html, before, after all work with only text (no tags)
* Bugfix: Attributes can now be removed from script and style tags
* Added yield as a single tag
* Cheerio now compatible with node >=0.4.7
0.3.2 / 2011-12-1

@@ -2,0 +12,0 @@ =================

18

index.js
// Use source if we have coffeescript otherwise use lib
try {
require('coffee-script');
module.exports = require(__dirname + "/src/cheerio.coffee");
require('coffee-script');
base = './src/'
} catch (e) {
module.exports = require(__dirname + "/lib/cheerio.js");
}
base = './lib/'
}
exports = module.exports = require(base + 'cheerio')
exports.parse = require(base + 'parse')
exports.render = require(base + 'render')
exports.utils = require(base + 'utils')
/*
Attach other modules on here, this will allow testing to be done in mocha without recompiling
*/
(function() {
var $, after, append, before, empty, html, parser, prepend, remove, removeChild, replaceWith, text, _;
var $, after, append, before, empty, html, parse, prepend, remove, removeChild, replaceWith, text, _;
var __slice = Array.prototype.slice;

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

parser = require('../parser');
parse = require('../parse');

@@ -24,3 +24,7 @@ removeChild = function(parent, elem) {

elem = elems[_i];
dom = dom.concat($(elem).get());
if (elem.cheerio) {
dom = dom.concat(elem.toArray());
} else {
dom = dom.concat(parse.eval(elem));
}
}

@@ -43,3 +47,7 @@ this.each(function() {

elem = elems[_i];
dom = dom.concat($(elem).get());
if (elem.cheerio) {
dom = dom.concat(elem.toArray());
} else {
dom = dom.concat(parse.eval(elem));
}
}

@@ -62,3 +70,7 @@ this.each(function() {

elem = elems[_i];
dom = dom.concat($(elem).get());
if (elem.cheerio) {
dom = dom.concat(elem.toArray());
} else {
dom = dom.concat(parse.eval(elem));
}
}

@@ -82,3 +94,7 @@ this.each(function() {

elem = elems[_i];
dom = dom.concat($(elem).get());
if (elem.cheerio) {
dom = dom.concat(elem.toArray());
} else {
dom = dom.concat(parse.eval(elem));
}
}

@@ -113,3 +129,3 @@ this.each(function() {

var elems;
elems = $(content).get();
elems = parse.eval(content);
return this.each(function() {

@@ -134,7 +150,7 @@ var index, siblings;

if (typeof htmlString !== "object" && htmlString !== void 0) {
htmlElement = parser.parse(htmlString);
return this.each(function(i) {
if (this.children) this.children = htmlElement;
return this;
htmlElement = parse.eval(htmlString);
this.each(function(i) {
return this.children = htmlElement;
});
return this;
} else {

@@ -141,0 +157,0 @@ return $.html(this[0]);

@@ -18,2 +18,3 @@ (function() {

var elem;
if (!selector) return this;
elem = soupselect.select(this.toArray(), selector);

@@ -20,0 +21,0 @@ return $(elem);

(function() {
var $, access, attr, class2type, dom, each, html, inArray, indexOf, isArray, isTag, load, makeArray, merge, parser, push, rboolean, removeAttr, renderer, tags, text, toString, type, updateDOM, _;
var $, access, attr, class2type, dom, each, html, inArray, indexOf, isArray, isTag, load, makeArray, merge, parse, push, rboolean, removeAttr, render, tags, text, toString, type, updateDOM, _;

@@ -8,5 +8,5 @@ _ = require("underscore");

parser = require("../parser");
parse = require("../parse");
renderer = require("../renderer");
render = require("../render");

@@ -100,3 +100,3 @@ class2type = {};

ret = results || [];
if (array != null) {
if (array) {
type = $.type(array);

@@ -184,3 +184,3 @@ if (!(array.length != null) || type === "string" || type === "function" || type === "regexp") {

removeAttr = exports.removeAttr = function(elem, name) {
if (elem.type === 'tag' && elem.attribs) {
if (isTag(elem.type) && elem.attribs) {
if (elem.attribs[name]) {

@@ -213,3 +213,3 @@ if (rboolean.test(elem.attribs[name])) {

var fn, root;
root = parser.parse(html);
root = parse(html);
$.extend({

@@ -219,3 +219,3 @@ 'root': root

fn = function(selector, context, r) {
if (r) root = parser.parse(r);
if (r) root = parse(r);
return $(selector, context, root);

@@ -228,5 +228,5 @@ };

if (dom !== void 0 && dom.type) {
return renderer.render(dom);
return render(dom);
} else if (this.root && this.root.children) {
return renderer.render(this.root.children);
return render(this.root.children);
} else {

@@ -233,0 +233,0 @@ return "";

(function() {
var api, cheerio, parser, path, plugin, soupselect, _, _i, _len;
var api, cheerio, parse, path, plugin, soupselect, _, _i, _len;

@@ -10,3 +10,3 @@ path = require("path");

parser = require("./parser");
parse = require("./parse");

@@ -22,3 +22,3 @@ cheerio = (function() {

cheerio.fn = cheerio.prototype = {
cheerio: "0.3.2",
cheerio: "0.4.0",
constructor: cheerio,

@@ -43,5 +43,5 @@ init: function(selector, context, root) {

if (match[1]) {
root = parser.parse(selector);
root = parse(selector);
return cheerio.merge(this, root.children);
} else {
} else if (context) {
elems = soupselect.select(context, selector);

@@ -52,6 +52,9 @@ this.selector = selector;

}
/*
Refactor
*/
if (!context || context.cheerio) {
return (context || root).find(selector);
return this.constructor(context || root).find(selector);
} else {
if (_.isString(context)) context = parser.parse(context);
if (_.isString(context)) context = parse(context);
return this.constructor(context).find(selector);

@@ -58,0 +61,0 @@ }

(function() {
var createTree, fs, htmlparser, parse, splice;
var createTree, eval, fs, htmlparser, parse, splice;
htmlparser = require("htmlparser2");
fs = require("fs");
splice = [].splice;
parse = exports.parse = function(content) {
var dom, handler, parser, root;
eval = exports.eval = function(content) {
var handler, parser;
handler = new htmlparser.DefaultHandler();

@@ -16,3 +12,7 @@ parser = new htmlparser.Parser(handler);

parser.parseComplete(content);
dom = handler.dom;
return handler.dom;
};
parse = exports.parse = function(content) {
var dom, root;
dom = eval(content);
root = {

@@ -29,6 +29,7 @@ type: 'root',

};
createTree = function(dom, parent) {
createTree = exports.createTree = function(dom, parent) {
var elem, i, lastElem, prev, prevIndex, _len;
if (parent == null) parent = null;
if (parent == null) {
parent = null;
}
prevIndex = -1;

@@ -46,4 +47,8 @@ lastElem = null;

dom[i].next = null;
if (lastElem) lastElem.next = dom[i];
if (dom[i].children) createTree(dom[i].children, dom[i]);
if (lastElem) {
lastElem.next = dom[i];
}
if (dom[i].children) {
createTree(dom[i].children, dom[i]);
}
prevIndex = i;

@@ -54,5 +59,3 @@ lastElem = dom[i];

};
module.exports = exports;
}).call(this);
(function() {
var render, renderComment, renderDirective, renderTag, renderText, singleTag, tagType, utils, _;
_ = require("underscore");
utils = require("./utils");
singleTag = {

@@ -23,5 +20,5 @@ area: 1,

embed: 1,
include: 1
include: 1,
yield: 1
};
tagType = {

@@ -34,13 +31,20 @@ tag: 1,

};
render = exports.render = function(dom, output) {
var data, elem, str, _i, _len;
if (output == null) output = [];
if (!_.isArray(dom)) dom = [dom];
if (output == null) {
output = [];
}
if (!_.isArray(dom)) {
dom = [dom];
}
for (_i = 0, _len = dom.length; _i < _len; _i++) {
elem = dom[_i];
str = elem.name;
if (elem.raw === null) continue;
if (elem.raw === null) {
continue;
}
data = elem.data;
if (data[0] === '%' && data[data.length - 1] === '%') elem.type = "template";
if (data[0] === '%' && data[data.length - 1] === '%') {
elem.type = "template";
}
if (tagType[elem.type]) {

@@ -55,3 +59,5 @@ output.push(renderTag(elem));

}
if (elem.children) output.push(render(elem.children));
if (elem.children) {
output.push(render(elem.children));
}
if (!singleTag[elem.name] && tagType[elem.type]) {

@@ -63,3 +69,2 @@ output.push("</" + elem.name + ">");

};
renderTag = function(elem) {

@@ -78,17 +83,12 @@ var tag;

};
renderDirective = function(elem) {
return "<" + elem.raw + ">";
};
renderText = function(elem) {
return elem.raw;
};
renderComment = function(elem) {
return '<!--' + elem.raw + '-->';
};
module.exports = exports;
}).call(this);

@@ -6,3 +6,3 @@ {

"keywords": ["htmlparser", "jquery", "selector", "scraper"],
"version": "0.3.2",
"version": "0.4.0",
"repository": {

@@ -14,15 +14,13 @@ "type": "git",

"engines": {
"node": ">= 0.4.11"
"node": ">= 0.4.7"
},
"dependencies": {
"cheerio-soupselect" : "0.0.x",
"htmlparser2" : "1.x",
"htmlparser2" : "2.x",
"underscore" : "1.x"
},
"devDependencies": {
"mocha" : "0.x",
"coffee-script" : "1.1.x",
"vows" : "0.5.x",
"diff_match_patch" : "0.1.x",
"should" : "0.x",
"request" : "2.x"
"should" : "*"
},

@@ -29,0 +27,0 @@ "scripts": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc