Socket
Socket
Sign inDemoInstall

pug-filters

Package Overview
Dependencies
Maintainers
2
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pug-filters - npm Package Compare versions

Comparing version 1.2.2 to 1.2.3

CHANGELOG.md

11

lib/handle-filters.js

@@ -31,4 +31,5 @@ 'use strict';

var filename = attrs.filename = node.file.fullPath;
var str = node.file.str;
node.type = 'Text';
node.val = filterWithFallback(firstFilter, filename, attrs, 'renderFile');
node.val = filterFileWithFallback(firstFilter, filename, str, attrs);
node.filters.forEach(function (filter) {

@@ -57,2 +58,10 @@ var attrs = getAttributes(filter);

}
function filterFileWithFallback(filter, filename, text, attrs) {
if (filters && filters[filter.name]) {
return filters[filter.name](text, attrs);
} else {
return filterWithFallback(filter, filename, attrs, 'renderFile');
}
}
}, {includeDependencies: true});

@@ -59,0 +68,0 @@ return ast;

3

package.json
{
"name": "pug-filters",
"version": "1.2.2",
"version": "1.2.3",
"description": "Code for processing filters in pug templates",

@@ -26,2 +26,3 @@ "keywords": [

"pug-lexer": "^2.0.2",
"pug-load": "^2.0.0",
"pug-parser": "^2.0.1",

@@ -28,0 +29,0 @@ "testit": "^2.0.0"

@@ -7,2 +7,3 @@ 'use strict';

var handleFilters = require('../').handleFilters;
var customFilters = require('./custom-filters.js');

@@ -24,6 +25,6 @@ var testCases;

testit('cases/' + filename, function () {
var expectedAst = JSON.parse(read(filename.replace(/\.input\.json$/, '.expected.json')));
var actualAst = handleFilters(JSON.parse(read(filename)));
write(filename.replace(/\.input\.json$/, '.actual.json'), JSON.stringify(actualAst, null, ' '));
assert.deepEqual(actualAst, expectedAst);
var expectedAst = read(filename.replace(/\.input\.json$/, '.expected.json'));
var actualAst = JSON.stringify(handleFilters(JSON.parse(read(filename)), customFilters), null, ' ');
write(filename.replace(/\.input\.json$/, '.actual.json'), actualAst);
assert.equal(actualAst, expectedAst);
})

@@ -48,3 +49,3 @@ });

try {
handleFilters(JSON.parse(read(filename)));
handleFilters(JSON.parse(read(filename)), customFilters);
throw new Error('Expected ' + filename + ' to throw an exception.');

@@ -51,0 +52,0 @@ } catch (ex) {

@@ -7,4 +7,6 @@ 'use strict';

var lex = require('pug-lexer');
var load = require('pug-load');
var parse = require('pug-parser');
var handleFilters = require('../').handleFilters;
var customFilters = require('./custom-filters.js');

@@ -17,3 +19,3 @@ var existing = fs.readdirSync(__dirname + '/cases').filter(function (name) {

try {
handleFilters(input);
handleFilters(input, customFilters);
throw new Error('Expected ' + filename + ' to throw an exception.');

@@ -44,23 +46,25 @@ } catch (ex) {

if (alreadyExists) {
var actualInputAst = getLoadedAst(entry.body.toString('utf8'));
try {
var expectedTokens = JSON.parse(fs.readFileSync(__dirname + '/cases/' + filename, 'utf8'));
var actualTokens = JSON.parse(entry.body.toString('utf8'));
assert.deepEqual(actualTokens, expectedTokens);
var expectedInputAst = JSON.parse(fs.readFileSync(__dirname + '/cases/' + filename, 'utf8'));
assert.deepEqual(expectedInputAst, actualInputAst);
} catch (ex) {
console.log('update: ' + filename);
fs.writeFileSync(__dirname + '/cases/' + filename, entry.body);
fs.writeFileSync(__dirname + '/cases/' + filename, JSON.stringify(actualInputAst, null, ' '));
}
var actualAst = handleFilters(JSON.parse(entry.body.toString('utf8')));
var actualAstStr = JSON.stringify(handleFilters(actualInputAst, customFilters), null, ' ');
try {
var expectedAst = JSON.parse(fs.readFileSync(__dirname + '/cases/' + name + '.expected.json', 'utf8'));
assert.deepEqual(actualAst, expectedAst);
var expectedAstStr = fs.readFileSync(__dirname + '/cases/' + name + '.expected.json', 'utf8');
assert.equal(actualAstStr, expectedAstStr);
} catch (ex) {
console.log('update: ' + name + '.expected.json');
fs.writeFileSync(__dirname + '/cases/' + name + '.expected.json', JSON.stringify(actualAst, null, ' '));
fs.writeFileSync(__dirname + '/cases/' + name + '.expected.json', actualAstStr);
}
} else {
console.log('create: ' + filename);
fs.writeFileSync(__dirname + '/cases/' + filename, entry.body);
var inputAst = getLoadedAst(entry.body.toString('utf8'));
fs.writeFileSync(__dirname + '/cases/' + filename, JSON.stringify(inputAst, null, ' '));
console.log('create: ' + name + '.expected.json');
var ast = handleFilters(JSON.parse(entry.body.toString('utf8')));
var ast = handleFilters(inputAst, customFilters);
fs.writeFileSync(__dirname + '/cases/' + name + '.expected.json', JSON.stringify(ast, null, ' '));

@@ -117,1 +121,15 @@ }

});
function getLoadedAst(str) {
return load(JSON.parse(str), {
lex: function () {
throw new Error('The lexer should not be used');
},
parse: function () {
throw new Error('The parser should not be used');
},
resolve: function (filename, source, options) {
return 'test/cases/' + filename.trim();
}
});
}
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