New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

grasp

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grasp - npm Package Compare versions

Comparing version 0.2.1 to 0.3.0

9

lib/help.js

@@ -134,3 +134,3 @@ // Generated by LiveScript 1.2.0

};
module.exports = function(generateHelp, generateHelpForOption, positional){
module.exports = function(generateHelp, generateHelpForOption, positional, interpolate){
var helpStrings, res$, i$, len$, arg, lresult$, that, dashes, optionName, j$, ref$, len1$, o, item, sep, name;

@@ -144,3 +144,4 @@ if (positional.length) {

lresult$.push(generateHelp({
showHidden: true
showHidden: true,
interpolate: interpolate
}));

@@ -191,3 +192,5 @@ } else if (that = /^(--?)(\S+)/.exec(arg)) {

} else {
return generateHelp();
return generateHelp({
interpolate: interpolate
});
}

@@ -194,0 +197,0 @@ };

@@ -1,4 +0,4 @@

// Generated by LiveScript 1.2.0
// Generated by LiveScript 1.3.1
(function(){
var path, acorn, squery, equery, async, ref$, min, sortWith, lines, chars, split, join, map, Obj, format, formatResult, formatName, formatCount, replace, getOptions, help, _console, VERSION, run, getQueryEngine, slice$ = [].slice, toString$ = {}.toString;
var path, acorn, squery, equery, async, ref$, min, sortWith, lines, chars, split, join, map, Obj, format, formatResult, formatName, formatCount, replace, parseOptions, generateHelp, generateHelpForOption, help, _console, version, run, getQueryEngine, slice$ = [].slice, toString$ = {}.toString;
path = require('path');

@@ -12,8 +12,8 @@ acorn = require('acorn');

replace = require('./replace').replace;
getOptions = require('./options').getOptions;
ref$ = require('./options'), parseOptions = ref$.parse, generateHelp = ref$.generateHelp, generateHelpForOption = ref$.generateHelpForOption;
help = require('./help');
_console = console;
VERSION = '0.2.1';
version = '0.3.0';
run = function(arg$){
var ref$, args, error, ref1$, callback, exit, data, stdin, fs, textFormat, input, console, options, positional, generateHelp, generateHelpForOption, e, debug, versionString, getHelp, helpString, queryEngine, parser, parserOptions, that, selector, targets, targetsLen, replacement, isDir, color, bold, textFormatFuncs, resultsData, resultsFormat, callCallback, out, parsedSelector, resultsSortFunc, search, processResults, getToMap, end, exts, testExt, targetPaths, searchTarget, cwd;
var ref$, args, error, ref1$, callback, exit, data, stdin, fs, textFormat, input, console, options, positional, debug, e, versionString, getHelp, helpString, queryEngine, parser, parserOptions, that, selector, targets, targetsLen, replacement, isDir, color, bold, textFormatFuncs, resultsData, resultsFormat, callCallback, out, parsedSelector, resultsSortFunc, search, processResults, getToMap, end, exts, testExt, targetPaths, searchTarget, cwd;
ref$ = arg$ != null

@@ -40,3 +40,3 @@ ? arg$

try {
ref$ = getOptions(args, VERSION), options = ref$.options, positional = ref$.positional, generateHelp = ref$.generateHelp, generateHelpForOption = ref$.generateHelpForOption;
options = parseOptions(args), positional = options._, debug = options.debug;
} catch (e$) {

@@ -48,3 +48,2 @@ e = e$;

}
debug = options.debug;
if (debug) {

@@ -56,3 +55,3 @@ console.time('everything');

if (options.version) {
versionString = "grasp v" + VERSION;
versionString = "grasp v" + version;
callback(versionString);

@@ -64,3 +63,5 @@ exit(0, versionString);

positional == null && (positional = []);
return help(generateHelp, generateHelpForOption, positional);
return help(generateHelp, generateHelpForOption, positional, {
version: version
});
};

@@ -73,3 +74,3 @@ if (options.help) {

}
queryEngine = options.engine
queryEngine = options.engine != null
? require(options.engine)

@@ -90,3 +91,3 @@ : options.squery

options.afterContext == null && (options.afterContext = options.context);
if (that = options.file) {
if ((that = options.file) != null) {
try {

@@ -111,4 +112,7 @@ selector = fs.readFileSync(that, 'utf8');

targetsLen = targets.length;
if (that = options.replace) {
if ((that = options.replace) != null) {
replacement = that;
}
if (that = options.replaceFunc) {
replacement = that;
} else if (that = options.replaceFile) {

@@ -414,3 +418,3 @@ try {

};
run.VERSION = VERSION;
run.VERSION = version;
run.search = curry$(function(engine, selector, input){

@@ -430,11 +434,17 @@ return run({

run.replace = curry$(function(engine, selector, replacement, input){
var args;
args = {
_: [selector],
engine: getQueryEngine(engine)
};
if (toString$.call(replacement).slice(8, -1) === 'Function') {
args.replaceFunc = replacement;
} else {
args.replace = replacement;
}
return run({
args: {
_: [selector],
engine: getQueryEngine(engine),
replace: replacement
},
args: args,
input: input,
exit: function(arg$, results){
return results;
return results[0];
}

@@ -441,0 +451,0 @@ });

// Generated by LiveScript 1.2.0
(function(){
var optionator, options, getOptions;
var optionator, options, ref$;
optionator = require('optionator');

@@ -65,2 +65,7 @@ options = [

}, {
option: 'replace-func',
type: 'Function',
description: 'use function instead of string pattern when using as library',
hidden: true
}, {
option: 'to',

@@ -192,22 +197,8 @@ alias: 't',

];
getOptions = function(input, VERSION){
var ref$, parse, generateHelp, generateHelpForOption, result;
ref$ = optionator({
prepend: 'Usage: grasp [option]... [selector] [file]...\n\nSearch (or --replace) for selector in file(s) or standard input.\nFor more help \'--help more\', \'--help --option-name\', \'--help syntax\'\nExample: grasp --context 2 \'if.test bi[op="<"]\' file.js file2.js',
append: "Version " + VERSION + "\n<http://graspjs.com/>",
mutuallyExclusive: [['replace', 'replace-file']],
options: options
}), parse = ref$.parse, generateHelp = ref$.generateHelp, generateHelpForOption = ref$.generateHelpForOption;
result = parse(input);
return {
options: result,
positional: result._,
generateHelp: generateHelp,
generateHelpForOption: generateHelpForOption
};
};
module.exports = {
options: options,
getOptions: getOptions
};
module.exports = (ref$ = optionator({
prepend: 'Usage: grasp [option]... [selector] [file]...\n\nSearch (or --replace) for selector in file(s) or standard input.\nFor more help \'--help more\', \'--help --option-name\', \'--help syntax\'\nExample: grasp --context 2 \'if.test bi[op="<"]\' file.js file2.js',
append: "Version {{version}}\n<http://graspjs.com/>",
mutuallyExclusive: [['replace', 'replace-file', 'replace-func']],
options: options
}), ref$.options = options, ref$);
}).call(this);
// Generated by LiveScript 1.2.0
(function(){
var ref$, lines, unlines, filter, getRaw, argsRegex, filterRegex, replacer, processReplacement, replace, slice$ = [].slice;
ref$ = require('prelude-ls'), lines = ref$.lines, unlines = ref$.unlines, filter = ref$.filter;
var ref$, lines, unlines, filter, fold, capitalize, camelize, dasherize, levn, getRaw, filterRegex, replacer, getReplacementFunc, replace, slice$ = [].slice, toString$ = {}.toString;
ref$ = require('prelude-ls'), lines = ref$.lines, unlines = ref$.unlines, filter = ref$.filter, fold = ref$.fold, capitalize = ref$.capitalize, camelize = ref$.camelize, dasherize = ref$.dasherize;
levn = require('levn');
getRaw = function(input, node){

@@ -15,17 +16,21 @@ var raw, that;

};
argsRegex = /'((?:\\'|[^'])*)'|"((?:\\"|[^"])*)"|(\\.)|(\S+)/g;
filterRegex = /\s+\|\s+([-a-zA-Z]+)((?:\s+(?:'(?:\\'|[^'])*'|"(?:\\"|[^"])*"|[^\|\s]+))*)/;
replacer = function(input, node, queryEngine){
return function(arg$, replacementArg){
var ref$, selector, filters, that, origResults, e, results, rawPrepend, rawAppend, join, filterName, argsStr, args, pre, post, i$, len$, arg, result, n, len, rawResults, res$;
ref$ = replacementArg.trim().split(filterRegex), selector = ref$[0], filters = slice$.call(ref$, 1);
if (that = (ref$ = node._named) != null ? ref$[selector] : void 8) {
origResults = [].concat(that);
var origResults, ref$, filters, selector, that, e, results, rawPrepend, rawAppend, join, textOperations, filterName, argsStr, args, pre, post, i$, len$, arg, result, n, len, rawResults, res$, outputString;
if (/^\s*\|\s+/.test(replacementArg)) {
origResults = [node];
ref$ = (" " + replacementArg.trim()).split(filterRegex), filters = slice$.call(ref$, 1);
} else {
try {
origResults = queryEngine.query(selector, node);
} catch (e$) {
e = e$;
origResults = queryEngine.query(replacementArg, node);
filters = [];
ref$ = replacementArg.trim().split(filterRegex), selector = ref$[0], filters = slice$.call(ref$, 1);
if (that = (ref$ = node._named) != null ? ref$[selector] : void 8) {
origResults = [].concat(that);
} else {
try {
origResults = queryEngine.query(selector, node);
} catch (e$) {
e = e$;
origResults = queryEngine.query(replacementArg, node);
filters = [];
}
}

@@ -38,2 +43,3 @@ }

join = null;
textOperations = [];
while (filters.length) {

@@ -43,15 +49,11 @@ filterName = filters.shift();

argsStr += filters.shift();
args = [];
if (argsStr) {
while (that = argsRegex.exec(argsStr)) {
args.push(filter(fn$, that)[1].replace(/\\(.)/g, '$1'));
}
argsRegex.lastIndex = 0;
}
if ((filterName === 'prepend' || filterName === 'before' || filterName === 'after' || filterName === 'prepend' || filterName === 'append' || filterName === 'wrap' || filterName === 'nth' || filterName === 'nth-last' || filterName === 'slice' || filterName === 'each') && !args.length) {
args = levn.parse('Array', argsStr);
if (!args.length && (filterName === 'prepend' || filterName === 'before' || filterName === 'after' || filterName === 'prepend' || filterName === 'append' || filterName === 'wrap' || filterName === 'nth' || filterName === 'nth-last' || filterName === 'slice' || filterName === 'each' || filterName === 'replace' || filterName === 'substring' || filterName === 'substr' || filterName === 'str-slice')) {
throw new Error("No arguments supplied for '" + filterName + "' filter");
} else if (in$(filterName, ['replace']) && args.length < 2) {
throw new Error("Must supply at least two arguments for '" + filterName + "' filter");
}
switch (filterName) {
case 'join':
join = args.length ? args[0] : '';
join = args.length ? args[0] + "" : '';
break;

@@ -62,3 +64,3 @@ case 'before':

case 'after':
rawAppend += args[0];
rawAppend += args[0] + "";
break;

@@ -68,3 +70,3 @@ case 'wrap':

rawPrepend = pre + "" + rawPrepend;
rawAppend += post;
rawAppend += post + "";
break;

@@ -76,3 +78,3 @@ case 'prepend':

type: 'Raw',
raw: arg
raw: arg + ""
});

@@ -86,3 +88,3 @@ }

type: 'Raw',
raw: arg
raw: arg + ""
});

@@ -99,3 +101,3 @@ }

result = results[i$];
result.rawPrepend = args[1] + "" + (result.rawPrepend || '');
result.rawPrepend = args[1] + "" + ((ref$ = result.rawPrepend) != null ? ref$ : '');
}

@@ -106,3 +108,3 @@ break;

result = results[i$];
result.rawAppend = (result.rawAppend || '') + "" + args[1];
result.rawAppend = ((ref$ = result.rawAppend) != null ? ref$ : '') + "" + args[1];
}

@@ -116,4 +118,4 @@ break;

result = results[i$];
result.rawPrepend = pre + "" + (result.rawPrepend || '');
result.rawAppend = (result.rawAppend || '') + "" + post;
result.rawPrepend = pre + "" + ((ref$ = result.rawPrepend) != null ? ref$ : '');
result.rawAppend = ((ref$ = result.rawAppend) != null ? ref$ : '') + "" + post;
}

@@ -153,2 +155,35 @@ break;

break;
case 'replace':
(fn$.call(this, args));
break;
case 'lowercase':
textOperations.push(fn1$);
break;
case 'uppercase':
textOperations.push(fn2$);
break;
case 'capitalize':
textOperations.push(capitalize);
break;
case 'uncapitalize':
textOperations.push(fn3$);
break;
case 'camelize':
textOperations.push(camelize);
break;
case 'dasherize':
textOperations.push(dasherize);
break;
case 'trim':
textOperations.push(fn4$);
break;
case 'substring':
(fn5$.call(this, args));
break;
case 'substr':
(fn6$.call(this, args));
break;
case 'str-slice':
(fn7$.call(this, args));
break;
default:

@@ -164,20 +199,70 @@ throw new Error("Invalid filter: " + filterName + (argsStr ? " " + argsStr : ''));

rawResults = res$;
return rawPrepend + "" + (join != null
outputString = rawPrepend + "" + (join != null
? rawResults.join(join)
: rawResults[0]) + rawAppend;
if (textOperations.length) {
return fold(curry$(function(x$, y$){
return y$(x$);
}), outputString, textOperations);
} else {
return outputString;
}
} else {
return '';
}
function fn$(it){
return it != null;
function fn$(args){
textOperations.push(function(it){
return it.replace(args[0], args[1]);
});
}
function fn1$(it){
return it.toLowerCase();
}
function fn2$(it){
return it.toUpperCase();
}
function fn3$(it){
return it.charAt(0).toLowerCase() + it.slice(1);
}
function fn4$(it){
return it.trim();
}
function fn5$(args){
textOperations.push(function(it){
return it.substring(args[0], args[1]);
});
}
function fn6$(args){
textOperations.push(function(it){
return it.substr(args[0], args[1]);
});
}
function fn7$(args){
textOperations.push(function(it){
return it.slice(args[0], args[1]);
});
}
};
};
processReplacement = function(replacement, input, node, queryEngine){
return replacement.replace(/\\n/g, '\n').replace(/{{}}/g, function(){
return getRaw(input, node);
}).replace(/{{((?:[^}]|}[^}])+)}}/g, replacer(input, node, queryEngine));
getReplacementFunc = function(replacement, input, queryEngine){
var replacementPrime;
if (toString$.call(replacement).slice(8, -1) === 'Function') {
return function(node){
return replacement(function(it){
return getRaw(input, it);
}, node, function(it){
return queryEngine.query(it, node);
}, node._named);
};
} else {
replacementPrime = replacement.replace(/\\n/g, '\n');
return function(node){
return replacementPrime.replace(/{{}}/g, function(){
return getRaw(input, node);
}).replace(/{{((?:[^}]|}[^}])+)}}/g, replacer(input, node, queryEngine));
};
}
};
replace = function(replacement, input, nodes, queryEngine){
var inputLines, colOffset, lineOffset, lastLine, prevNode, i$, len$, node, ref$, start, end, startLineNum, endLineNum, numberOfLines, startCol, endCol, replaceLines, startLine, endLine, startContext, endContext, replaceLast, endLen;
var inputLines, colOffset, lineOffset, lastLine, prevNode, replaceNode, i$, len$, node, ref$, start, end, startLineNum, endLineNum, numberOfLines, startCol, endCol, replaceLines, startLine, endLine, startContext, endContext, replaceLast, endLen;
inputLines = lines(input);

@@ -190,2 +275,3 @@ colOffset = 0;

};
replaceNode = getReplacementFunc(replacement, input, queryEngine);
for (i$ = 0, len$ = nodes.length; i$ < len$; ++i$) {

@@ -203,3 +289,3 @@ node = nodes[i$];

endCol = end.column + (startLineNum === endLineNum ? colOffset : 0);
replaceLines = lines(processReplacement(replacement, input, node, queryEngine));
replaceLines = lines(replaceNode(node));
startLine = inputLines[startLineNum];

@@ -209,3 +295,3 @@ endLine = inputLines[endLineNum];

endContext = endLine.slice(endCol);
replaceLines[0] = startContext + "" + replaceLines[0];
replaceLines[0] = startContext + "" + ((ref$ = replaceLines[0]) != null ? ref$ : '');
replaceLast = replaceLines[replaceLines.length - 1];

@@ -225,2 +311,20 @@ endLen = replaceLast.length;

};
function in$(x, xs){
var i = -1, l = xs.length >>> 0;
while (++i < l) if (x === xs[i]) return true;
return false;
}
function curry$(f, bound){
var context,
_curry = function(args) {
return f.length > 1 ? function(){
var params = args ? args.concat() : [];
context = bound ? context || this : this;
return params.push.apply(params, arguments) <
f.length && arguments.length ?
_curry.call(context, params) : f.apply(context, params);
} : f;
};
return _curry();
}
}).call(this);
{
"name": "grasp",
"author": "George Zahariev",
"version": "0.2.1",
"version": "0.3.0",
"homepage": "http://graspjs.com",

@@ -44,17 +44,18 @@ "description": "JavaScript structural search, replace, and refactor",

"dependencies": {
"acorn": "~0.4.2",
"prelude-ls": "~1.0.3",
"cli-color": "~0.2.2",
"async": "~0.2.9",
"optionator": "~0.1.1",
"grasp-squery": "~0.2.1",
"grasp-equery": "~0.2.0",
"grasp-syntax-javascript": "~0.1.0"
"acorn": "~0.6.0",
"prelude-ls": "~1.1.1",
"cli-color": "~0.3.2",
"async": "~0.9.0",
"optionator": "~0.5.0",
"grasp-squery": "~0.2.2",
"grasp-equery": "~0.2.2",
"grasp-syntax-javascript": "~0.1.0",
"levn": "~0.2.4"
},
"devDependencies": {
"LiveScript": "~1.2.0",
"mocha": "~1.8.2",
"istanbul": "~0.1.43"
"LiveScript": "~1.3.1",
"mocha": "~2.1.0",
"istanbul": "~0.3.5"
},
"preferGlobal": true
}
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