Update with working working version (#12)

* Fix workflow

* Trigger

* [auto] Update compiled version

* [auto] Commit modules

* Push Windows changes

* Fix

* [auto] Update compiled version

* Try removing cwd

* [auto] Update compiled version

* Try with path module

* [auto] Update compiled version

* Fix path

* [auto] Update compiled version

* Use raw path

* [auto] Update compiled version

* Other path

* [auto] Update compiled version

* Avoid @action/exec

* [auto] Update compiled version

* test

* [auto] Update compiled version

* test

* [auto] Update compiled version

* test

* [auto] Update compiled version

* test

* [auto] Update compiled version

* Try with shelljs

* [auto] Update compiled version

* Fix my stupidity

* Copy scripts to local dir

* [auto] Update compiled version

* Still use path

* [auto] Update compiled version

* Delete entrypoint.sh

* [auto] Update compiled version

* Make file executable

* [auto] Update compiled version

* Try using bash

* [auto] Update compiled version
This commit is contained in:
Federico Grandi
2019-12-14 21:47:13 +01:00
committed by GitHub
parent d81e04e96c
commit f118062594
4276 changed files with 1075004 additions and 40 deletions

View File

@@ -0,0 +1,53 @@
"use strict";
const EVAL_SCOPE_MARKER = Symbol("evalInScope");
module.exports = {
EVAL_SCOPE_MARKER,
getEvalScopes,
markEvalScopes,
isMarked,
hasEval
};
function getEvalScopes(path) {
const evalScopes = new Set();
function add(scope) {
let evalScope = scope;
do {
evalScopes.add(evalScope);
} while (evalScope = evalScope.parent);
}
path.traverse({
CallExpression(evalPath) {
const callee = evalPath.get("callee");
if (callee.isIdentifier() && callee.node.name === "eval" && !callee.scope.getBinding("eval")) {
add(callee.scope);
}
}
});
return evalScopes;
}
function markEvalScopes(path, key = EVAL_SCOPE_MARKER) {
const evalScopes = getEvalScopes(path);
[...evalScopes].forEach(scope => {
scope[key] = true;
});
}
function isMarked(scope, key = EVAL_SCOPE_MARKER) {
return Object.prototype.hasOwnProperty.call(scope, key);
}
function hasEval(scope, key = EVAL_SCOPE_MARKER) {
if (!isMarked(scope, key)) {
markEvalScopes(scope, key);
}
return scope[key];
}