Socket
Socket
Sign inDemoInstall

espower

Package Overview
Dependencies
Maintainers
1
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

espower - npm Package Compare versions

Comparing version 1.1.0 to 1.2.0

6

CHANGELOG.md

@@ -0,1 +1,7 @@

## [1.2.0](https://github.com/power-assert-js/espower/releases/tag/v1.2.0) (2015-11-05)
* [Instrument ES7 AwaitExpression Nodes](https://github.com/power-assert-js/espower/pull/21) (by [@jamestalmage](https://github.com/jamestalmage))
## [1.1.0](https://github.com/power-assert-js/espower/releases/tag/v1.1.0) (2015-11-03)

@@ -2,0 +8,0 @@

8

gulpfile.js

@@ -50,2 +50,8 @@ var gulp = require('gulp');

},
acorn_es7_plugin_bundle: {
standalone: 'acornEs7Plugin',
require: 'acorn-es7-plugin',
destDir: './build',
destName: 'acorn-es7-plugin.js'
},
coverage: {

@@ -61,3 +67,3 @@ filename: 'coverage.lcov'

};
var BUILDS = ['assert', 'escodegen', 'estraverse', 'source_map'];
var BUILDS = ['assert', 'escodegen', 'estraverse', 'source_map', 'acorn_es7_plugin'];

@@ -64,0 +70,0 @@

@@ -23,3 +23,4 @@ 'use strict';

syntax.YieldExpression,
syntax.AwaitExpression,
syntax.Property
];

9

lib/rules/to-be-captured.js

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

syntax.YieldExpression,
syntax.AwaitExpression,
syntax.TemplateLiteral,

@@ -37,5 +38,5 @@ syntax.TaggedTemplateExpression

function isYieldArgument(parentNode, currentKey) {
// capture the yielded result, not the promise
return parentNode.type === syntax.YieldExpression && currentKey === 'argument';
function isYieldOrAwaitArgument(parentNode, currentKey) {
// capture the yielded/await result, not the promise
return (parentNode.type === syntax.YieldExpression || parentNode.type === syntax.AwaitExpression) && currentKey === 'argument';
}

@@ -45,5 +46,5 @@

return isCaputuringTargetType(currentNode) &&
!isYieldArgument(parentNode, currentKey) &&
!isYieldOrAwaitArgument(parentNode, currentKey) &&
!isCalleeOfParent(parentNode, currentKey) &&
!isChildOfTaggedTemplateExpression(parentNode);
};
{
"name": "espower",
"description": "Power Assert feature instrumentor based on the ECMAScript AST",
"version": "1.1.0",
"version": "1.2.0",
"author": {

@@ -34,2 +34,3 @@ "name": "Takuto Wada",

"acorn": "^2.4.0",
"acorn-es7-plugin": "^1.0.7",
"amdefine": "^1.0.0",

@@ -36,0 +37,0 @@ "blanket": "^1.1.7",

(function (root, factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
define(['espower', 'acorn', 'escodegen', 'estraverse', 'source-map', 'assert'], factory);
define(['espower', 'acorn', 'acorn-es7-plugin', 'escodegen', 'estraverse', 'source-map', 'assert'], factory);
} else if (typeof exports === 'object') {
factory(require('..'), require('acorn'), require('escodegen'), require('estraverse'), require('source-map'), require('assert'));
factory(require('..'), require('acorn'), require('acorn-es7-plugin'), require('escodegen'), require('estraverse'), require('source-map'), require('assert'));
} else {
factory(root.espower, root.acorn, root.escodegen, root.estraverse, root.sourceMap, root.assert);
factory(root.espower, root.acorn, root.acornEs7Plugin, root.escodegen, root.estraverse, root.sourceMap, root.assert);
}

@@ -13,2 +13,3 @@ }(this, function (

acorn,
acornEs7Plugin,
escodegen,

@@ -20,6 +21,8 @@ estraverse,

acornEs7Plugin(acorn);
var EspowerError = espower.EspowerError;
function instrument (jsCode, options) {
var jsAST = acorn.parse(jsCode, {ecmaVersion: 6, locations: true});
var jsAST = acorn.parse(jsCode, {ecmaVersion: 7, locations: true, plugins: {asyncawait: true}});
var espoweredAST = espower(jsAST, options);

@@ -26,0 +29,0 @@ var instrumentedCode = escodegen.generate(espoweredAST, {format: {compact: true}});

(function (root, factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
define(['espower', 'acorn', 'escodegen', 'assert'], factory);
define(['espower', 'acorn', 'acorn-es7-plugin', 'escodegen', 'assert'], factory);
} else if (typeof exports === 'object') {
factory(require('..'), require('acorn'), require('escodegen'), require('assert'));
factory(require('..'), require('acorn'), require('acorn-es7-plugin'), require('escodegen'), require('assert'));
} else {
factory(root.espower, root.acorn, root.escodegen, root.assert);
factory(root.espower, root.acorn, root.acornEs7Plugin, root.escodegen, root.assert);
}

@@ -13,2 +13,3 @@ }(this, function (

acorn,
acornEs7Plugin,
escodegen,

@@ -18,2 +19,4 @@ assert

acornEs7Plugin(acorn);
describe('instrumentation spec', function () {

@@ -32,7 +35,7 @@ function testWithParserOptions (jsCode, expected, options) {

describe('with loc, range', function () {
var options = {ecmaVersion: 6, locations: true, ranges: true};
var options = {ecmaVersion: 7, locations: true, ranges: true, plugins: {asyncawait: {awaitAnywhere: true}}};
testWithParserOptions(jsCode, expected, options);
});
describe('with loc', function () {
var options = {ecmaVersion: 6, locations: true};
var options = {ecmaVersion: 7, locations: true, plugins: {asyncawait: {awaitAnywhere: true}}};
testWithParserOptions(jsCode, expected, options);

@@ -406,2 +409,7 @@ });

describe('AwaitExpression', function () {
inst("function *gen() {assert((await bigOrSmall(size)) === 'big')}",
"function*gen(){assert(assert._expr(assert._capt(assert._capt(await bigOrSmall(assert._capt(size,'arguments/0/left/argument/arguments/0')),'arguments/0/left')==='big','arguments/0'),{content:'assert((await bigOrSmall(size)) === \\'big\\')',filepath:'path/to/some_test.js',line:1}));}");
});
describe('Enhanced Object Literals', function () {

@@ -408,0 +416,0 @@

@@ -7,2 +7,3 @@ var require = {

acorn: '../node_modules/acorn/dist/acorn',
"acorn-es7-plugin": '../build/acorn-es7-plugin',
estraverse: '../build/estraverse',

@@ -9,0 +10,0 @@ "source-map": '../build/source-map',

Sorry, the diff of this file is too big to display

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