flow like the river
This commit is contained in:
commit
013fe673f3
42435 changed files with 5764238 additions and 0 deletions
28
BACK_BACK/node_modules/terser/CHANGELOG.md
generated
vendored
Executable file
28
BACK_BACK/node_modules/terser/CHANGELOG.md
generated
vendored
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
# Changelog
|
||||
|
||||
## v3.17.0
|
||||
|
||||
- More DOM properties added to --mangle-properties's DOM property list
|
||||
- Closed issue where if 2 functions had the same argument name, Terser would not inline them together properly
|
||||
- Fixed issue with `hasOwnProperty.call`
|
||||
- You can now list files to minify in a Terser config file
|
||||
- Started replacing `new Array(<number>)` with an array literal
|
||||
- Started using ES6 capabilities like `Set` and the `includes` method for strings and arrays
|
||||
|
||||
## v3.16.1
|
||||
|
||||
- Fixed issue where Terser being imported with `import` would cause it not to work due to the `__esModule` property. (PR #254 was submitted, which was nice, but since it wasn't a pure commonJS approach I decided to go with my own solution)
|
||||
|
||||
## v3.16.0
|
||||
|
||||
- No longer leaves names like Array or Object or window as a SimpleStatement (statement which is just a single expression).
|
||||
- Add support for sections sourcemaps (IndexedSourceMapConsumer)
|
||||
- Drops node.js v4 and starts using commonJS
|
||||
- Is now built with rollup
|
||||
|
||||
## v3.15.0
|
||||
|
||||
- Inlined spread syntax (`[...[1, 2, 3], 4, 5] => [1, 2, 3, 4, 5]`) in arrays and objects.
|
||||
- Fixed typo in compressor warning
|
||||
- Fixed inline source map input bug
|
||||
- Fixed parsing of template literals with unnecessary escapes (Like `\\a`)
|
||||
29
BACK_BACK/node_modules/terser/LICENSE
generated
vendored
Executable file
29
BACK_BACK/node_modules/terser/LICENSE
generated
vendored
Executable file
|
|
@ -0,0 +1,29 @@
|
|||
UglifyJS is released under the BSD license:
|
||||
|
||||
Copyright 2012-2018 (c) Mihai Bazon <mihai.bazon@gmail.com>
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
* Redistributions of source code must retain the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
||||
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
5
BACK_BACK/node_modules/terser/PATRONS.md
generated
vendored
Executable file
5
BACK_BACK/node_modules/terser/PATRONS.md
generated
vendored
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
* 38elements
|
||||
* CKEditor
|
||||
* Philippe Léger
|
||||
* Piotrek Koszuliński
|
||||
* Viktor Hubert
|
||||
1305
BACK_BACK/node_modules/terser/README.md
generated
vendored
Executable file
1305
BACK_BACK/node_modules/terser/README.md
generated
vendored
Executable file
File diff suppressed because it is too large
Load diff
484
BACK_BACK/node_modules/terser/bin/uglifyjs
generated
vendored
Executable file
484
BACK_BACK/node_modules/terser/bin/uglifyjs
generated
vendored
Executable file
|
|
@ -0,0 +1,484 @@
|
|||
#!/usr/bin/env node
|
||||
// -*- js -*-
|
||||
/* eslint-env node */
|
||||
|
||||
"use strict";
|
||||
|
||||
require("../tools/exit.js");
|
||||
|
||||
var fs = require("fs");
|
||||
var info = require("../package.json");
|
||||
var path = require("path");
|
||||
var program = require("commander");
|
||||
|
||||
var bundle_path = __dirname + (process.env.TERSER_NO_BUNDLE ?
|
||||
"/../dist/bundle.js" :
|
||||
"/../dist/bundle.min.js");
|
||||
var UglifyJS = require(bundle_path);
|
||||
try {
|
||||
require("source-map-support").install();
|
||||
} catch (err) {}
|
||||
|
||||
var skip_keys = [ "cname", "inlined", "parent_scope", "scope", "uses_eval", "uses_with" ];
|
||||
var files = {};
|
||||
var options = {
|
||||
compress: false,
|
||||
mangle: false
|
||||
};
|
||||
program.version(info.name + " " + info.version);
|
||||
program.parseArgv = program.parse;
|
||||
program.parse = undefined;
|
||||
if (process.argv.includes("ast")) program.helpInformation = describe_ast;
|
||||
else if (process.argv.includes("options")) program.helpInformation = function() {
|
||||
var text = [];
|
||||
var options = UglifyJS.default_options();
|
||||
for (var option in options) {
|
||||
text.push("--" + (option === "output" ? "beautify" : option === "sourceMap" ? "source-map" : option) + " options:");
|
||||
text.push(format_object(options[option]));
|
||||
text.push("");
|
||||
}
|
||||
return text.join("\n");
|
||||
};
|
||||
program.option("-p, --parse <options>", "Specify parser options.", parse_js());
|
||||
program.option("-c, --compress [options]", "Enable compressor/specify compressor options.", parse_js());
|
||||
program.option("-m, --mangle [options]", "Mangle names/specify mangler options.", parse_js());
|
||||
program.option("--mangle-props [options]", "Mangle properties/specify mangler options.", parse_js());
|
||||
program.option("-b, --beautify [options]", "Beautify output/specify output options.", parse_js());
|
||||
program.option("-o, --output <file>", "Output file (default STDOUT).");
|
||||
program.option("--comments [filter]", "Preserve copyright comments in the output.");
|
||||
program.option("--config-file <file>", "Read minify() options from JSON file.");
|
||||
program.option("-d, --define <expr>[=value]", "Global definitions.", parse_js("define"));
|
||||
program.option("--ecma <version>", "Specify ECMAScript release: 5, 6, 7 or 8.");
|
||||
program.option("-e, --enclose [arg[,...][:value[,...]]]", "Embed output in a big function with configurable arguments and values.");
|
||||
program.option("--ie8", "Support non-standard Internet Explorer 8.");
|
||||
program.option("--keep-classnames", "Do not mangle/drop class names.");
|
||||
program.option("--keep-fnames", "Do not mangle/drop function names. Useful for code relying on Function.prototype.name.");
|
||||
program.option("--module", "Input is an ES6 module");
|
||||
program.option("--name-cache <file>", "File to hold mangled name mappings.");
|
||||
program.option("--rename", "Force symbol expansion.");
|
||||
program.option("--no-rename", "Disable symbol expansion.");
|
||||
program.option("--safari10", "Support non-standard Safari 10.");
|
||||
program.option("--source-map [options]", "Enable source map/specify source map options.", parse_source_map());
|
||||
program.option("--timings", "Display operations run time on STDERR.");
|
||||
program.option("--toplevel", "Compress and/or mangle variables in toplevel scope.");
|
||||
program.option("--verbose", "Print diagnostic messages.");
|
||||
program.option("--warn", "Print warning messages.");
|
||||
program.option("--wrap <name>", "Embed everything as a function with “exports” corresponding to “name” globally.");
|
||||
program.arguments("[files...]").parseArgv(process.argv);
|
||||
if (program.configFile) {
|
||||
options = JSON.parse(read_file(program.configFile));
|
||||
}
|
||||
if (!program.output && program.sourceMap && program.sourceMap.url != "inline") {
|
||||
fatal("ERROR: cannot write source map to STDOUT");
|
||||
}
|
||||
[
|
||||
"compress",
|
||||
"enclose",
|
||||
"ie8",
|
||||
"mangle",
|
||||
"module",
|
||||
"safari10",
|
||||
"sourceMap",
|
||||
"toplevel",
|
||||
"wrap"
|
||||
].forEach(function(name) {
|
||||
if (name in program) {
|
||||
options[name] = program[name];
|
||||
}
|
||||
});
|
||||
if ("ecma" in program) {
|
||||
if (program.ecma != (program.ecma | 0)) fatal("ERROR: ecma must be an integer");
|
||||
options.ecma = program.ecma | 0;
|
||||
}
|
||||
if (program.beautify) {
|
||||
options.output = typeof program.beautify == "object" ? program.beautify : {};
|
||||
if (!("beautify" in options.output)) {
|
||||
options.output.beautify = true;
|
||||
}
|
||||
}
|
||||
if (program.comments) {
|
||||
if (typeof options.output != "object") options.output = {};
|
||||
options.output.comments = typeof program.comments == "string" ? program.comments : "some";
|
||||
}
|
||||
if (program.define) {
|
||||
if (typeof options.compress != "object") options.compress = {};
|
||||
if (typeof options.compress.global_defs != "object") options.compress.global_defs = {};
|
||||
for (var expr in program.define) {
|
||||
options.compress.global_defs[expr] = program.define[expr];
|
||||
}
|
||||
}
|
||||
if (program.keepClassnames) {
|
||||
options.keep_classnames = true;
|
||||
}
|
||||
if (program.keepFnames) {
|
||||
options.keep_fnames = true;
|
||||
}
|
||||
if (program.mangleProps) {
|
||||
if (program.mangleProps.domprops) {
|
||||
delete program.mangleProps.domprops;
|
||||
} else {
|
||||
if (typeof program.mangleProps != "object") program.mangleProps = {};
|
||||
if (!Array.isArray(program.mangleProps.reserved)) program.mangleProps.reserved = [];
|
||||
}
|
||||
if (typeof options.mangle != "object") options.mangle = {};
|
||||
options.mangle.properties = program.mangleProps;
|
||||
}
|
||||
if (program.nameCache) {
|
||||
options.nameCache = JSON.parse(read_file(program.nameCache, "{}"));
|
||||
}
|
||||
if (program.output == "ast") {
|
||||
options.output = {
|
||||
ast: true,
|
||||
code: false
|
||||
};
|
||||
}
|
||||
if (program.parse) {
|
||||
if (!program.parse.acorn && !program.parse.spidermonkey) {
|
||||
options.parse = program.parse;
|
||||
} else if (program.sourceMap && program.sourceMap.content == "inline") {
|
||||
fatal("ERROR: inline source map only works with built-in parser");
|
||||
}
|
||||
}
|
||||
if (~program.rawArgs.indexOf("--rename")) {
|
||||
options.rename = true;
|
||||
} else if (!program.rename) {
|
||||
options.rename = false;
|
||||
}
|
||||
var convert_path = function(name) {
|
||||
return name;
|
||||
};
|
||||
if (typeof program.sourceMap == "object" && "base" in program.sourceMap) {
|
||||
convert_path = function() {
|
||||
var base = program.sourceMap.base;
|
||||
delete options.sourceMap.base;
|
||||
return function(name) {
|
||||
return path.relative(base, name);
|
||||
};
|
||||
}();
|
||||
}
|
||||
if (program.verbose) {
|
||||
options.warnings = "verbose";
|
||||
} else if (program.warn) {
|
||||
options.warnings = true;
|
||||
}
|
||||
|
||||
let filesList;
|
||||
if (options.files && options.files.length) {
|
||||
filesList = options.files;
|
||||
|
||||
delete options.files;
|
||||
} else if (program.args.length) {
|
||||
filesList = program.args;
|
||||
}
|
||||
|
||||
if (filesList) {
|
||||
simple_glob(filesList).forEach(function(name) {
|
||||
files[convert_path(name)] = read_file(name);
|
||||
});
|
||||
run();
|
||||
} else {
|
||||
var chunks = [];
|
||||
process.stdin.setEncoding("utf8");
|
||||
process.stdin.on("data", function(chunk) {
|
||||
chunks.push(chunk);
|
||||
}).on("end", function() {
|
||||
files = [ chunks.join("") ];
|
||||
run();
|
||||
});
|
||||
process.stdin.resume();
|
||||
}
|
||||
|
||||
function convert_ast(fn) {
|
||||
return UglifyJS.AST_Node.from_mozilla_ast(Object.keys(files).reduce(fn, null));
|
||||
}
|
||||
|
||||
function run() {
|
||||
UglifyJS.AST_Node.warn_function = function(msg) {
|
||||
print_error("WARN: " + msg);
|
||||
};
|
||||
if (program.timings) options.timings = true;
|
||||
try {
|
||||
if (program.parse) {
|
||||
if (program.parse.acorn) {
|
||||
files = convert_ast(function(toplevel, name) {
|
||||
return require("acorn").parse(files[name], {
|
||||
ecmaVersion: 2018,
|
||||
locations: true,
|
||||
program: toplevel,
|
||||
sourceFile: name,
|
||||
sourceType: options.module || program.parse.module ? "module" : "script"
|
||||
});
|
||||
});
|
||||
} else if (program.parse.spidermonkey) {
|
||||
files = convert_ast(function(toplevel, name) {
|
||||
var obj = JSON.parse(files[name]);
|
||||
if (!toplevel) return obj;
|
||||
toplevel.body = toplevel.body.concat(obj.body);
|
||||
return toplevel;
|
||||
});
|
||||
}
|
||||
}
|
||||
} catch (ex) {
|
||||
fatal(ex);
|
||||
}
|
||||
var result = UglifyJS.minify(files, options);
|
||||
if (result.error) {
|
||||
var ex = result.error;
|
||||
if (ex.name == "SyntaxError") {
|
||||
print_error("Parse error at " + ex.filename + ":" + ex.line + "," + ex.col);
|
||||
var col = ex.col;
|
||||
var lines = files[ex.filename].split(/\r?\n/);
|
||||
var line = lines[ex.line - 1];
|
||||
if (!line && !col) {
|
||||
line = lines[ex.line - 2];
|
||||
col = line.length;
|
||||
}
|
||||
if (line) {
|
||||
var limit = 70;
|
||||
if (col > limit) {
|
||||
line = line.slice(col - limit);
|
||||
col = limit;
|
||||
}
|
||||
print_error(line.slice(0, 80));
|
||||
print_error(line.slice(0, col).replace(/\S/g, " ") + "^");
|
||||
}
|
||||
}
|
||||
if (ex.defs) {
|
||||
print_error("Supported options:");
|
||||
print_error(format_object(ex.defs));
|
||||
}
|
||||
fatal(ex);
|
||||
} else if (program.output == "ast") {
|
||||
if (!options.compress && !options.mangle) {
|
||||
result.ast.figure_out_scope({});
|
||||
}
|
||||
print(JSON.stringify(result.ast, function(key, value) {
|
||||
if (value) switch (key) {
|
||||
case "thedef":
|
||||
return symdef(value);
|
||||
case "enclosed":
|
||||
return value.length ? value.map(symdef) : undefined;
|
||||
case "variables":
|
||||
case "functions":
|
||||
case "globals":
|
||||
return value.size() ? value.map(symdef) : undefined;
|
||||
}
|
||||
if (skip_key(key)) return;
|
||||
if (value instanceof UglifyJS.AST_Token) return;
|
||||
if (value instanceof UglifyJS.Dictionary) return;
|
||||
if (value instanceof UglifyJS.AST_Node) {
|
||||
var result = {
|
||||
_class: "AST_" + value.TYPE
|
||||
};
|
||||
if (value.block_scope) {
|
||||
result.variables = value.block_scope.variables;
|
||||
result.functions = value.block_scope.functions;
|
||||
result.enclosed = value.block_scope.enclosed;
|
||||
}
|
||||
value.CTOR.PROPS.forEach(function(prop) {
|
||||
result[prop] = value[prop];
|
||||
});
|
||||
return result;
|
||||
}
|
||||
return value;
|
||||
}, 2));
|
||||
} else if (program.output == "spidermonkey") {
|
||||
print(JSON.stringify(UglifyJS.minify(result.code, {
|
||||
compress: false,
|
||||
mangle: false,
|
||||
output: {
|
||||
ast: true,
|
||||
code: false
|
||||
}
|
||||
}).ast.to_mozilla_ast(), null, 2));
|
||||
} else if (program.output) {
|
||||
fs.writeFileSync(program.output, result.code);
|
||||
if (result.map) {
|
||||
fs.writeFileSync(program.output + ".map", result.map);
|
||||
}
|
||||
} else {
|
||||
print(result.code);
|
||||
}
|
||||
if (program.nameCache) {
|
||||
fs.writeFileSync(program.nameCache, JSON.stringify(options.nameCache));
|
||||
}
|
||||
if (result.timings) for (var phase in result.timings) {
|
||||
print_error("- " + phase + ": " + result.timings[phase].toFixed(3) + "s");
|
||||
}
|
||||
}
|
||||
|
||||
function fatal(message) {
|
||||
if (message instanceof Error) message = message.stack.replace(/^\S*?Error:/, "ERROR:");
|
||||
print_error(message);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// A file glob function that only supports "*" and "?" wildcards in the basename.
|
||||
// Example: "foo/bar/*baz??.*.js"
|
||||
// Argument `glob` may be a string or an array of strings.
|
||||
// Returns an array of strings. Garbage in, garbage out.
|
||||
function simple_glob(glob) {
|
||||
if (Array.isArray(glob)) {
|
||||
return [].concat.apply([], glob.map(simple_glob));
|
||||
}
|
||||
if (glob && glob.match(/[*?]/)) {
|
||||
var dir = path.dirname(glob);
|
||||
try {
|
||||
var entries = fs.readdirSync(dir);
|
||||
} catch (ex) {}
|
||||
if (entries) {
|
||||
var pattern = "^" + path.basename(glob)
|
||||
.replace(/[.+^$[\]\\(){}]/g, "\\$&")
|
||||
.replace(/\*/g, "[^/\\\\]*")
|
||||
.replace(/\?/g, "[^/\\\\]") + "$";
|
||||
var mod = process.platform === "win32" ? "i" : "";
|
||||
var rx = new RegExp(pattern, mod);
|
||||
var results = entries.filter(function(name) {
|
||||
return rx.test(name);
|
||||
}).map(function(name) {
|
||||
return path.join(dir, name);
|
||||
});
|
||||
if (results.length) return results;
|
||||
}
|
||||
}
|
||||
return [ glob ];
|
||||
}
|
||||
|
||||
function read_file(path, default_value) {
|
||||
try {
|
||||
return fs.readFileSync(path, "utf8");
|
||||
} catch (ex) {
|
||||
if ((ex.code == "ENOENT" || ex.code == "ENAMETOOLONG") && default_value != null) return default_value;
|
||||
fatal(ex);
|
||||
}
|
||||
}
|
||||
|
||||
function parse_js(flag) {
|
||||
return function(value, options) {
|
||||
options = options || {};
|
||||
try {
|
||||
UglifyJS.minify(value, {
|
||||
parse: {
|
||||
expression: true
|
||||
},
|
||||
compress: false,
|
||||
mangle: false,
|
||||
output: {
|
||||
ast: true,
|
||||
code: false
|
||||
}
|
||||
}).ast.walk(new UglifyJS.TreeWalker(function(node) {
|
||||
if (node instanceof UglifyJS.AST_Assign) {
|
||||
var name = node.left.print_to_string();
|
||||
var value = node.right;
|
||||
if (flag) {
|
||||
options[name] = value;
|
||||
} else if (value instanceof UglifyJS.AST_Array) {
|
||||
options[name] = value.elements.map(to_string);
|
||||
} else {
|
||||
options[name] = to_string(value);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (node instanceof UglifyJS.AST_Symbol || node instanceof UglifyJS.AST_PropAccess) {
|
||||
var name = node.print_to_string();
|
||||
options[name] = true;
|
||||
return true;
|
||||
}
|
||||
if (!(node instanceof UglifyJS.AST_Sequence)) throw node;
|
||||
|
||||
function to_string(value) {
|
||||
return value instanceof UglifyJS.AST_Constant ? value.getValue() : value.print_to_string({
|
||||
quote_keys: true
|
||||
});
|
||||
}
|
||||
}));
|
||||
} catch(ex) {
|
||||
if (flag) {
|
||||
fatal("Error parsing arguments for '" + flag + "': " + value);
|
||||
} else {
|
||||
options[value] = null;
|
||||
}
|
||||
}
|
||||
return options;
|
||||
};
|
||||
}
|
||||
|
||||
function parse_source_map() {
|
||||
var parse = parse_js();
|
||||
return function(value, options) {
|
||||
var hasContent = options && "content" in options;
|
||||
var settings = parse(value, options);
|
||||
if (!hasContent && settings.content && settings.content != "inline") {
|
||||
settings.content = read_file(settings.content, settings.content);
|
||||
}
|
||||
return settings;
|
||||
};
|
||||
}
|
||||
|
||||
function skip_key(key) {
|
||||
return skip_keys.includes(key);
|
||||
}
|
||||
|
||||
function symdef(def) {
|
||||
var ret = (1e6 + def.id) + " " + def.name;
|
||||
if (def.mangled_name) ret += " " + def.mangled_name;
|
||||
return ret;
|
||||
}
|
||||
|
||||
function format_object(obj) {
|
||||
var lines = [];
|
||||
var padding = "";
|
||||
Object.keys(obj).map(function(name) {
|
||||
if (padding.length < name.length) padding = Array(name.length + 1).join(" ");
|
||||
return [ name, JSON.stringify(obj[name]) ];
|
||||
}).forEach(function(tokens) {
|
||||
lines.push(" " + tokens[0] + padding.slice(tokens[0].length - 2) + tokens[1]);
|
||||
});
|
||||
return lines.join("\n");
|
||||
}
|
||||
|
||||
function print_error(msg) {
|
||||
process.stderr.write(msg);
|
||||
process.stderr.write("\n");
|
||||
}
|
||||
|
||||
function print(txt) {
|
||||
process.stdout.write(txt);
|
||||
process.stdout.write("\n");
|
||||
}
|
||||
|
||||
function describe_ast() {
|
||||
var out = UglifyJS.OutputStream({ beautify: true });
|
||||
function doitem(ctor) {
|
||||
out.print("AST_" + ctor.TYPE);
|
||||
var props = ctor.SELF_PROPS.filter(function(prop) {
|
||||
return !/^\$/.test(prop);
|
||||
});
|
||||
if (props.length > 0) {
|
||||
out.space();
|
||||
out.with_parens(function() {
|
||||
props.forEach(function(prop, i) {
|
||||
if (i) out.space();
|
||||
out.print(prop);
|
||||
});
|
||||
});
|
||||
}
|
||||
if (ctor.documentation) {
|
||||
out.space();
|
||||
out.print_string(ctor.documentation);
|
||||
}
|
||||
if (ctor.SUBCLASSES.length > 0) {
|
||||
out.space();
|
||||
out.with_block(function() {
|
||||
ctor.SUBCLASSES.forEach(function(ctor, i) {
|
||||
out.indent();
|
||||
doitem(ctor);
|
||||
out.newline();
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
doitem(UglifyJS.AST_Node);
|
||||
return out + "\n";
|
||||
}
|
||||
4
BACK_BACK/node_modules/terser/bin/uglifyjsnobundle
generated
vendored
Executable file
4
BACK_BACK/node_modules/terser/bin/uglifyjsnobundle
generated
vendored
Executable file
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env node
|
||||
/* eslint-env node */
|
||||
process.env.TERSER_NO_BUNDLE = "1";
|
||||
require("./uglifyjs");
|
||||
0
BACK_BACK/node_modules/terser/dist/.gitkeep
generated
vendored
Executable file
0
BACK_BACK/node_modules/terser/dist/.gitkeep
generated
vendored
Executable file
21955
BACK_BACK/node_modules/terser/dist/bundle.js
generated
vendored
Executable file
21955
BACK_BACK/node_modules/terser/dist/bundle.js
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
1
BACK_BACK/node_modules/terser/dist/bundle.js.map
generated
vendored
Executable file
1
BACK_BACK/node_modules/terser/dist/bundle.js.map
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
2
BACK_BACK/node_modules/terser/dist/bundle.min.js
generated
vendored
Executable file
2
BACK_BACK/node_modules/terser/dist/bundle.min.js
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
1
BACK_BACK/node_modules/terser/dist/bundle.min.js.map
generated
vendored
Executable file
1
BACK_BACK/node_modules/terser/dist/bundle.min.js.map
generated
vendored
Executable file
File diff suppressed because one or more lines are too long
118
BACK_BACK/node_modules/terser/package.json
generated
vendored
Executable file
118
BACK_BACK/node_modules/terser/package.json
generated
vendored
Executable file
|
|
@ -0,0 +1,118 @@
|
|||
{
|
||||
"name": "terser",
|
||||
"description": "JavaScript parser, mangler/compressor and beautifier toolkit for ES6+",
|
||||
"homepage": "https://github.com/fabiosantoscode/terser",
|
||||
"author": "Mihai Bazon <mihai.bazon@gmail.com> (http://lisperator.net/)",
|
||||
"license": "BSD-2-Clause",
|
||||
"version": "3.17.0",
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
},
|
||||
"maintainers": [
|
||||
"Fábio Santos <fabiosantosart@gmail.com>"
|
||||
],
|
||||
"repository": "https://github.com/fabiosantoscode/terser.git",
|
||||
"main": "dist/bundle.min.js",
|
||||
"types": "tools/terser.d.ts",
|
||||
"bin": {
|
||||
"terser": "bin/uglifyjs"
|
||||
},
|
||||
"files": [
|
||||
"bin",
|
||||
"dist",
|
||||
"tools",
|
||||
"LICENSE",
|
||||
"README.md",
|
||||
"CHANGELOG.md",
|
||||
"PATRONS.md"
|
||||
],
|
||||
"dependencies": {
|
||||
"commander": "^2.19.0",
|
||||
"source-map": "~0.6.1",
|
||||
"source-map-support": "~0.5.10"
|
||||
},
|
||||
"devDependencies": {
|
||||
"acorn": "^6.0.4",
|
||||
"cross-env": "^5.2.0",
|
||||
"csv": "^5.1.0",
|
||||
"escodegen": "^1.11.0",
|
||||
"eslint": "^4.19.1",
|
||||
"eslump": "^2.0.0",
|
||||
"mocha": "^3.0.0",
|
||||
"mochallel": "^1.8.6",
|
||||
"pre-commit": "^1.2.2",
|
||||
"rimraf": "^2.6.2",
|
||||
"rollup": "^1.0.1",
|
||||
"semver": "~5.6.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "npm run prepare --silent && istanbul instrument dist/bundle.min.js > dist/bundle.instrumented.js && node test/run-tests.js",
|
||||
"lint": "eslint lib",
|
||||
"lint-fix": "eslint --fix lib",
|
||||
"prepare": "rimraf dist/* && rollup -c && cd dist && cross-env TERSER_NO_BUNDLE=1 ../bin/uglifyjs bundle.js -mc --source-map 'content=bundle.js.map,includeSources=true,url=bundle.min.js.map' -o bundle.min.js",
|
||||
"postversion": "echo 'Remember to update the changelog!'"
|
||||
},
|
||||
"keywords": [
|
||||
"uglify",
|
||||
"terser",
|
||||
"uglify-es",
|
||||
"uglify-js",
|
||||
"minify",
|
||||
"minifier",
|
||||
"javascript",
|
||||
"ecmascript",
|
||||
"es5",
|
||||
"es6",
|
||||
"es7",
|
||||
"es8",
|
||||
"es2015",
|
||||
"es2016",
|
||||
"es2017",
|
||||
"async",
|
||||
"await"
|
||||
],
|
||||
"eslintConfig": {
|
||||
"parserOptions": {
|
||||
"sourceType": "module"
|
||||
},
|
||||
"env": {
|
||||
"es6": true
|
||||
},
|
||||
"globals": {
|
||||
"describe": false,
|
||||
"it": false,
|
||||
"require": false,
|
||||
"global": false
|
||||
},
|
||||
"rules": {
|
||||
"brace-style": [
|
||||
"error",
|
||||
"1tbs",
|
||||
{
|
||||
"allowSingleLine": true
|
||||
}
|
||||
],
|
||||
"quotes": [
|
||||
"error",
|
||||
"double",
|
||||
"avoid-escape"
|
||||
],
|
||||
"no-debugger": "error",
|
||||
"no-undef": "error",
|
||||
"semi": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"no-extra-semi": "error",
|
||||
"no-irregular-whitespace": "error",
|
||||
"space-before-blocks": [
|
||||
"error",
|
||||
"always"
|
||||
]
|
||||
}
|
||||
},
|
||||
"pre-commit": [
|
||||
"lint-fix",
|
||||
"test"
|
||||
]
|
||||
}
|
||||
11
BACK_BACK/node_modules/terser/tools/colorless-console.js
generated
vendored
Executable file
11
BACK_BACK/node_modules/terser/tools/colorless-console.js
generated
vendored
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
"use strict"
|
||||
|
||||
if (Number((/([0-9]+)\./.exec(process.version) || [])[1]) >= 10) {
|
||||
var Console = require("console").Console;
|
||||
global.console = new Console({
|
||||
stdout: process.stdout,
|
||||
stderr: process.stderr,
|
||||
colorMode: false
|
||||
});
|
||||
}
|
||||
|
||||
5605
BACK_BACK/node_modules/terser/tools/domprops.js
generated
vendored
Executable file
5605
BACK_BACK/node_modules/terser/tools/domprops.js
generated
vendored
Executable file
File diff suppressed because it is too large
Load diff
15
BACK_BACK/node_modules/terser/tools/exit.js
generated
vendored
Executable file
15
BACK_BACK/node_modules/terser/tools/exit.js
generated
vendored
Executable file
|
|
@ -0,0 +1,15 @@
|
|||
// workaround for tty output truncation upon process.exit()
|
||||
var exit = process.exit;
|
||||
process.exit = function() {
|
||||
var args = [].slice.call(arguments);
|
||||
process.once("uncaughtException", function() {
|
||||
(function callback() {
|
||||
if (process.stdout.bufferSize || process.stderr.bufferSize) {
|
||||
setImmediate(callback);
|
||||
} else {
|
||||
exit.apply(process, args);
|
||||
}
|
||||
})();
|
||||
});
|
||||
throw exit;
|
||||
};
|
||||
22
BACK_BACK/node_modules/terser/tools/node.js
generated
vendored
Executable file
22
BACK_BACK/node_modules/terser/tools/node.js
generated
vendored
Executable file
|
|
@ -0,0 +1,22 @@
|
|||
var fs = require("fs");
|
||||
|
||||
var bundle_path = __dirname + "/../dist/bundle.js";
|
||||
var UglifyJS = require(bundle_path);
|
||||
module.exports = UglifyJS;
|
||||
|
||||
function infer_options(options) {
|
||||
var result = UglifyJS.minify("", options);
|
||||
return result.error && result.error.defs;
|
||||
}
|
||||
|
||||
UglifyJS.default_options = function() {
|
||||
var defs = {};
|
||||
Object.keys(infer_options({ 0: 0 })).forEach(function(component) {
|
||||
var options = {};
|
||||
options[component] = { 0: 0 };
|
||||
if (options = infer_options(options)) {
|
||||
defs[component] = options;
|
||||
}
|
||||
});
|
||||
return defs;
|
||||
};
|
||||
61
BACK_BACK/node_modules/terser/tools/props.html
generated
vendored
Executable file
61
BACK_BACK/node_modules/terser/tools/props.html
generated
vendored
Executable file
|
|
@ -0,0 +1,61 @@
|
|||
<html>
|
||||
<head>
|
||||
</head>
|
||||
<body>
|
||||
<script>(function(){
|
||||
var props = {};
|
||||
|
||||
function addObject(obj) {
|
||||
if (obj == null) return;
|
||||
try {
|
||||
Object.getOwnPropertyNames(obj).forEach(add);
|
||||
} catch(ex) {}
|
||||
if (obj.prototype) {
|
||||
Object.getOwnPropertyNames(obj.prototype).forEach(add);
|
||||
}
|
||||
if (typeof obj == "function") {
|
||||
try {
|
||||
Object.getOwnPropertyNames(new obj).forEach(add);
|
||||
} catch(ex) {}
|
||||
}
|
||||
}
|
||||
|
||||
function add(name) {
|
||||
props[name] = true;
|
||||
}
|
||||
|
||||
Object.getOwnPropertyNames(window).forEach(function(thing){
|
||||
addObject(window[thing]);
|
||||
});
|
||||
|
||||
try {
|
||||
addObject(new Event("click"));
|
||||
addObject(new Event("contextmenu"));
|
||||
addObject(new Event("mouseup"));
|
||||
addObject(new Event("mousedown"));
|
||||
addObject(new Event("keydown"));
|
||||
addObject(new Event("keypress"));
|
||||
addObject(new Event("keyup"));
|
||||
} catch(ex) {}
|
||||
|
||||
var ta = document.createElement("textarea");
|
||||
ta.style.width = "100%";
|
||||
ta.style.height = "20em";
|
||||
ta.style.boxSizing = "border-box";
|
||||
<!-- ta.value = Object.keys(props).sort(cmp).map(function(name){ -->
|
||||
<!-- return JSON.stringify(name); -->
|
||||
<!-- }).join(",\n"); -->
|
||||
ta.value = 'var domprops = ' + JSON.stringify({
|
||||
vars: [],
|
||||
props: Object.keys(props).sort(cmp)
|
||||
}, null, 2);
|
||||
document.body.appendChild(ta);
|
||||
|
||||
function cmp(a, b) {
|
||||
a = a.toLowerCase();
|
||||
b = b.toLowerCase();
|
||||
return a < b ? -1 : a > b ? 1 : 0;
|
||||
}
|
||||
})();</script>
|
||||
</body>
|
||||
</html>
|
||||
790
BACK_BACK/node_modules/terser/tools/terser.d.ts
generated
vendored
Executable file
790
BACK_BACK/node_modules/terser/tools/terser.d.ts
generated
vendored
Executable file
|
|
@ -0,0 +1,790 @@
|
|||
import { RawSourceMap } from 'source-map';
|
||||
|
||||
export type ECMA = 5 | 6 | 7 | 8 | 9;
|
||||
|
||||
export interface ParseOptions {
|
||||
bare_returns?: boolean;
|
||||
ecma?: ECMA;
|
||||
html5_comments?: boolean;
|
||||
shebang?: boolean;
|
||||
}
|
||||
|
||||
export interface CompressOptions {
|
||||
arguments?: boolean;
|
||||
arrows?: boolean;
|
||||
booleans?: boolean;
|
||||
collapse_vars?: boolean;
|
||||
comparisons?: boolean;
|
||||
conditionals?: boolean;
|
||||
dead_code?: boolean;
|
||||
defaults?: boolean;
|
||||
directives?: boolean;
|
||||
drop_console?: boolean;
|
||||
drop_debugger?: boolean;
|
||||
evaluate?: boolean;
|
||||
expression?: boolean;
|
||||
global_defs?: object;
|
||||
hoist_funs?: boolean;
|
||||
hoist_props?: boolean;
|
||||
hoist_vars?: boolean;
|
||||
if_return?: boolean;
|
||||
inline?: boolean | InlineFunctions;
|
||||
join_vars?: boolean;
|
||||
keep_classnames?: boolean | RegExp;
|
||||
keep_fargs?: boolean;
|
||||
keep_fnames?: boolean | RegExp;
|
||||
keep_infinity?: boolean;
|
||||
loops?: boolean;
|
||||
negate_iife?: boolean;
|
||||
passes?: number;
|
||||
properties?: boolean;
|
||||
pure_funcs?: string[];
|
||||
pure_getters?: boolean | 'strict';
|
||||
reduce_funcs?: boolean;
|
||||
reduce_vars?: boolean;
|
||||
sequences?: boolean | number;
|
||||
side_effects?: boolean;
|
||||
switches?: boolean;
|
||||
toplevel?: boolean;
|
||||
top_retain?: null | string | string[] | RegExp;
|
||||
typeofs?: boolean;
|
||||
unsafe?: boolean;
|
||||
unsafe_arrows?: boolean;
|
||||
unsafe_comps?: boolean;
|
||||
unsafe_Function?: boolean;
|
||||
unsafe_math?: boolean;
|
||||
unsafe_methods?: boolean;
|
||||
unsafe_proto?: boolean;
|
||||
unsafe_regexp?: boolean;
|
||||
unsafe_undefined?: boolean;
|
||||
unused?: boolean;
|
||||
warnings?: boolean;
|
||||
}
|
||||
|
||||
export enum InlineFunctions {
|
||||
Disabled = 0,
|
||||
SimpleFunctions = 1,
|
||||
WithArguments = 2,
|
||||
WithArgumentsAndVariables = 3
|
||||
}
|
||||
|
||||
export interface MangleOptions {
|
||||
eval?: boolean;
|
||||
keep_classnames?: boolean | RegExp;
|
||||
keep_fnames?: boolean | RegExp;
|
||||
module?: boolean;
|
||||
properties?: boolean | ManglePropertiesOptions;
|
||||
reserved?: string[];
|
||||
safari10?: boolean;
|
||||
toplevel?: boolean;
|
||||
}
|
||||
|
||||
export interface ManglePropertiesOptions {
|
||||
builtins?: boolean;
|
||||
debug?: boolean;
|
||||
keep_quoted?: boolean;
|
||||
regex?: RegExp;
|
||||
reserved?: string[];
|
||||
}
|
||||
|
||||
export interface OutputOptions {
|
||||
ascii_only?: boolean;
|
||||
beautify?: boolean;
|
||||
braces?: boolean;
|
||||
comments?: boolean | 'all' | 'some' | RegExp;
|
||||
ecma?: ECMA;
|
||||
indent_level?: number;
|
||||
indent_start?: boolean;
|
||||
inline_script?: boolean;
|
||||
ie8?: boolean;
|
||||
keep_quoted_props?: boolean;
|
||||
max_line_len?: boolean;
|
||||
preamble?: string;
|
||||
quote_keys?: boolean;
|
||||
quote_style?: OutputQuoteStyle;
|
||||
safari10?: boolean;
|
||||
semicolons?: boolean;
|
||||
shebang?: boolean;
|
||||
shorthand?: boolean;
|
||||
source_map?: SourceMapOptions;
|
||||
webkit?: boolean;
|
||||
width?: number;
|
||||
wrap_iife?: boolean;
|
||||
}
|
||||
|
||||
export enum OutputQuoteStyle {
|
||||
PreferDouble = 0,
|
||||
AlwaysSingle = 1,
|
||||
AlwaysDouble = 2,
|
||||
AlwaysOriginal = 3
|
||||
}
|
||||
|
||||
export interface MinifyOptions {
|
||||
compress?: boolean | CompressOptions;
|
||||
ecma?: ECMA;
|
||||
ie8?: boolean;
|
||||
keep_classnames?: boolean | RegExp;
|
||||
keep_fnames?: boolean | RegExp;
|
||||
mangle?: boolean | MangleOptions;
|
||||
module?: boolean;
|
||||
nameCache?: object;
|
||||
output?: OutputOptions;
|
||||
parse?: ParseOptions;
|
||||
safari10?: boolean;
|
||||
sourceMap?: boolean | SourceMapOptions;
|
||||
toplevel?: boolean;
|
||||
warnings?: boolean | 'verbose';
|
||||
}
|
||||
|
||||
export interface MinifyOutput {
|
||||
ast?: AST_Node;
|
||||
code?: string;
|
||||
error?: Error;
|
||||
map?: string;
|
||||
warnings?: string[];
|
||||
}
|
||||
|
||||
export interface SourceMapOptions {
|
||||
content?: RawSourceMap;
|
||||
includeSources?: boolean;
|
||||
filename?: string;
|
||||
root?: string;
|
||||
url?: string | 'inline';
|
||||
}
|
||||
|
||||
declare function parse(text: string, options?: ParseOptions): AST_Node;
|
||||
|
||||
export class TreeWalker {
|
||||
constructor(callback: (node: AST_Node, descend?: (node: AST_Node) => void) => boolean | undefined);
|
||||
directives: object;
|
||||
find_parent(type: AST_Node): AST_Node | undefined;
|
||||
has_directive(type: string): boolean;
|
||||
loopcontrol_target(node: AST_Node): AST_Node | undefined;
|
||||
parent(n: number): AST_Node | undefined;
|
||||
pop(): void;
|
||||
push(node: AST_Node): void;
|
||||
self(): AST_Node | undefined;
|
||||
stack: AST_Node[];
|
||||
visit: (node: AST_Node, descend: boolean) => any;
|
||||
}
|
||||
|
||||
export class TreeTransformer extends TreeWalker {
|
||||
constructor(
|
||||
before: (node: AST_Node, descend?: (node: AST_Node, tw: TreeWalker) => void, in_list?: boolean) => AST_Node | undefined,
|
||||
after?: (node: AST_Node, in_list?: boolean) => AST_Node | undefined
|
||||
);
|
||||
before: (node: AST_Node) => AST_Node;
|
||||
after?: (node: AST_Node) => AST_Node;
|
||||
}
|
||||
|
||||
export function push_uniq<T>(array: T[], el: T): void;
|
||||
|
||||
type DictEachCallback = (val: any, key: string) => any;
|
||||
|
||||
export class Dictionary {
|
||||
static fromObject(obj: object): Dictionary;
|
||||
add(key: string, val: any): this;
|
||||
clone(): Dictionary;
|
||||
del(key: string): this;
|
||||
each(fn: DictEachCallback): void;
|
||||
get(key: string): any;
|
||||
has(key: string): boolean;
|
||||
map(fn: DictEachCallback): any[];
|
||||
set(key: string, val: any): this;
|
||||
size(): number;
|
||||
}
|
||||
|
||||
export function minify(files: string | string[] | { [file: string]: string } | AST_Node, options?: MinifyOptions): MinifyOutput;
|
||||
|
||||
export class AST_Node {
|
||||
constructor(props?: object);
|
||||
static BASE?: AST_Node;
|
||||
static PROPS: string[];
|
||||
static SELF_PROPS: string[];
|
||||
static SUBCLASSES: AST_Node[];
|
||||
static documentation: string;
|
||||
static propdoc?: Record<string, string>;
|
||||
static expressions?: AST_Node[];
|
||||
static warn?: (text: string, props: any) => void;
|
||||
static from_mozilla_ast?: (node: AST_Node) => any;
|
||||
walk: (visitor: TreeWalker) => void;
|
||||
print_to_string: (options?: OutputOptions) => string;
|
||||
transform: (tt: TreeTransformer, in_list?: boolean) => AST_Node;
|
||||
TYPE: string;
|
||||
CTOR: typeof AST_Node;
|
||||
}
|
||||
|
||||
declare class SymbolDef {
|
||||
constructor(scope?: AST_Scope, orig?: object, init?: object);
|
||||
name: string;
|
||||
orig: AST_SymbolRef[];
|
||||
init: AST_SymbolRef;
|
||||
eliminated: number;
|
||||
scope: AST_Scope;
|
||||
references: AST_SymbolRef[];
|
||||
replaced: number;
|
||||
global: boolean;
|
||||
export: boolean;
|
||||
mangled_name: null | string;
|
||||
undeclared: boolean;
|
||||
id: number;
|
||||
}
|
||||
|
||||
type ArgType = AST_SymbolFunarg | AST_DefaultAssign | AST_Destructuring | AST_Expansion;
|
||||
|
||||
declare class AST_Statement extends AST_Node {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Debugger extends AST_Statement {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Directive extends AST_Statement {
|
||||
constructor(props?: object);
|
||||
value: string;
|
||||
quote: string;
|
||||
}
|
||||
|
||||
declare class AST_SimpleStatement extends AST_Statement {
|
||||
constructor(props?: object);
|
||||
body: AST_Node[];
|
||||
}
|
||||
|
||||
declare class AST_Block extends AST_Statement {
|
||||
constructor(props?: object);
|
||||
body: AST_Node[];
|
||||
block_scope: AST_Scope | null;
|
||||
}
|
||||
|
||||
declare class AST_BlockStatement extends AST_Block {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Scope extends AST_Block {
|
||||
constructor(props?: object);
|
||||
variables: any;
|
||||
functions: any;
|
||||
uses_with: boolean;
|
||||
uses_eval: boolean;
|
||||
parent_scope: AST_Scope | null;
|
||||
enclosed: any;
|
||||
cname: any;
|
||||
}
|
||||
|
||||
declare class AST_Toplevel extends AST_Scope {
|
||||
constructor(props?: object);
|
||||
globals: any;
|
||||
}
|
||||
|
||||
declare class AST_Lambda extends AST_Scope {
|
||||
constructor(props?: object);
|
||||
name: AST_SymbolDeclaration | null;
|
||||
argnames: ArgType[];
|
||||
uses_arguments: boolean;
|
||||
is_generator: boolean;
|
||||
async: boolean;
|
||||
}
|
||||
|
||||
declare class AST_Accessor extends AST_Lambda {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Function extends AST_Lambda {
|
||||
constructor(props?: object);
|
||||
inlined: boolean;
|
||||
}
|
||||
|
||||
declare class AST_Arrow extends AST_Lambda {
|
||||
constructor(props?: object);
|
||||
inlined: boolean;
|
||||
}
|
||||
|
||||
declare class AST_Defun extends AST_Lambda {
|
||||
constructor(props?: object);
|
||||
inlined: boolean;
|
||||
}
|
||||
|
||||
declare class AST_Class extends AST_Scope {
|
||||
constructor(props?: object);
|
||||
name: AST_SymbolClass | AST_SymbolDefClass | null;
|
||||
extends: AST_Node | null;
|
||||
properties: AST_ObjectProperty[];
|
||||
inlined: boolean;
|
||||
}
|
||||
|
||||
declare class AST_DefClass extends AST_Class {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_ClassExpression extends AST_Class {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Switch extends AST_Block {
|
||||
constructor(props?: object);
|
||||
expression: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_SwitchBranch extends AST_Block {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Default extends AST_SwitchBranch {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Case extends AST_SwitchBranch {
|
||||
constructor(props?: object);
|
||||
expression: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_Try extends AST_Block {
|
||||
constructor(props?: object);
|
||||
bcatch: AST_Catch;
|
||||
bfinally: null | AST_Finally;
|
||||
}
|
||||
|
||||
declare class AST_Catch extends AST_Block {
|
||||
constructor(props?: object);
|
||||
argname: ArgType;
|
||||
}
|
||||
|
||||
declare class AST_Finally extends AST_Block {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_EmptyStatement extends AST_Statement {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_StatementWithBody extends AST_Statement {
|
||||
constructor(props?: object);
|
||||
body: AST_Node[];
|
||||
}
|
||||
|
||||
declare class AST_LabeledStatement extends AST_StatementWithBody {
|
||||
constructor(props?: object);
|
||||
label: AST_Label;
|
||||
}
|
||||
|
||||
declare class AST_IterationStatement extends AST_StatementWithBody {
|
||||
constructor(props?: object);
|
||||
block_scope: AST_Scope | null;
|
||||
}
|
||||
|
||||
declare class AST_DWLoop extends AST_IterationStatement {
|
||||
constructor(props?: object);
|
||||
condition: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_Do extends AST_DWLoop {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_While extends AST_DWLoop {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_For extends AST_IterationStatement {
|
||||
constructor(props?: object);
|
||||
init: AST_Node | null;
|
||||
condition: AST_Node | null;
|
||||
step: AST_Node | null;
|
||||
}
|
||||
|
||||
declare class AST_ForIn extends AST_IterationStatement {
|
||||
constructor(props?: object);
|
||||
init: AST_Node | null;
|
||||
object: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_ForOf extends AST_ForIn {
|
||||
constructor(props?: object);
|
||||
await: boolean;
|
||||
}
|
||||
|
||||
declare class AST_With extends AST_StatementWithBody {
|
||||
constructor(props?: object);
|
||||
expression: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_If extends AST_StatementWithBody {
|
||||
constructor(props?: object);
|
||||
condition: AST_Node;
|
||||
alternative: AST_Node | null;
|
||||
}
|
||||
|
||||
declare class AST_Jump extends AST_Statement {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Exit extends AST_Jump {
|
||||
constructor(props?: object);
|
||||
value: AST_Node | null;
|
||||
}
|
||||
|
||||
declare class AST_Return extends AST_Exit {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Throw extends AST_Exit {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_LoopControl extends AST_Jump {
|
||||
constructor(props?: object);
|
||||
label: null | AST_LabelRef;
|
||||
}
|
||||
|
||||
declare class AST_Break extends AST_LoopControl {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Continue extends AST_LoopControl {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Definitions extends AST_Statement {
|
||||
constructor(props?: object);
|
||||
definitions: AST_VarDef[];
|
||||
}
|
||||
|
||||
declare class AST_Var extends AST_Definitions {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Let extends AST_Definitions {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Const extends AST_Definitions {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Export extends AST_Statement {
|
||||
constructor(props?: object);
|
||||
exported_definition: AST_Definitions | AST_Lambda | AST_DefClass | null;
|
||||
exported_value: AST_Node | null;
|
||||
is_default: boolean;
|
||||
exported_names: AST_NameMapping[];
|
||||
module_name: AST_String;
|
||||
}
|
||||
|
||||
declare class AST_Expansion extends AST_Node {
|
||||
constructor(props?: object);
|
||||
expression: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_Destructuring extends AST_Node {
|
||||
constructor(props?: object);
|
||||
names: AST_Node[];
|
||||
is_array: boolean;
|
||||
}
|
||||
|
||||
declare class AST_PrefixedTemplateString extends AST_Node {
|
||||
constructor(props?: object);
|
||||
template_string: AST_TemplateString;
|
||||
prefix: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_TemplateString extends AST_Node {
|
||||
constructor(props?: object);
|
||||
segments: AST_Node[];
|
||||
}
|
||||
|
||||
declare class AST_TemplateSegment extends AST_Node {
|
||||
constructor(props?: object);
|
||||
value: string;
|
||||
raw: string;
|
||||
}
|
||||
|
||||
declare class AST_NameMapping extends AST_Node {
|
||||
constructor(props?: object);
|
||||
foreign_name: AST_Symbol;
|
||||
name: AST_SymbolExport | AST_SymbolImport;
|
||||
}
|
||||
|
||||
declare class AST_Import extends AST_Node {
|
||||
constructor(props?: object);
|
||||
imported_name: null | AST_SymbolImport;
|
||||
imported_names: AST_NameMapping[];
|
||||
module_name: AST_String;
|
||||
}
|
||||
|
||||
declare class AST_VarDef extends AST_Node {
|
||||
constructor(props?: object);
|
||||
name: AST_Destructuring | AST_SymbolConst | AST_SymbolLet | AST_SymbolVar;
|
||||
value: AST_Node | null;
|
||||
}
|
||||
|
||||
declare class AST_Call extends AST_Node {
|
||||
constructor(props?: object);
|
||||
expression: AST_Node;
|
||||
args: AST_Node[];
|
||||
}
|
||||
|
||||
declare class AST_New extends AST_Call {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Sequence extends AST_Node {
|
||||
constructor(props?: object);
|
||||
expressions: AST_Node[];
|
||||
}
|
||||
|
||||
declare class AST_PropAccess extends AST_Node {
|
||||
constructor(props?: object);
|
||||
expression: AST_Node;
|
||||
property: AST_Node | string;
|
||||
}
|
||||
|
||||
declare class AST_Dot extends AST_PropAccess {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Sub extends AST_PropAccess {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Unary extends AST_Node {
|
||||
constructor(props?: object);
|
||||
operator: string;
|
||||
expression: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_UnaryPrefix extends AST_Unary {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_UnaryPostfix extends AST_Unary {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Binary extends AST_Node {
|
||||
constructor(props?: object);
|
||||
operator: string;
|
||||
left: AST_Node;
|
||||
right: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_Assign extends AST_Binary {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_DefaultAssign extends AST_Binary {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Conditional extends AST_Node {
|
||||
constructor(props?: object);
|
||||
condition: AST_Node;
|
||||
consequent: AST_Node;
|
||||
alternative: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_Array extends AST_Node {
|
||||
constructor(props?: object);
|
||||
elements: AST_Node[];
|
||||
}
|
||||
|
||||
declare class AST_Object extends AST_Node {
|
||||
constructor(props?: object);
|
||||
properties: AST_ObjectProperty[];
|
||||
}
|
||||
|
||||
declare class AST_ObjectProperty extends AST_Node {
|
||||
constructor(props?: object);
|
||||
key: string | number | AST_Node;
|
||||
value: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_ObjectKeyVal extends AST_ObjectProperty {
|
||||
constructor(props?: object);
|
||||
quote: string;
|
||||
}
|
||||
|
||||
declare class AST_ObjectSetter extends AST_ObjectProperty {
|
||||
constructor(props?: object);
|
||||
quote: string;
|
||||
static: boolean;
|
||||
}
|
||||
|
||||
declare class AST_ObjectGetter extends AST_ObjectProperty {
|
||||
constructor(props?: object);
|
||||
quote: string;
|
||||
static: boolean;
|
||||
}
|
||||
|
||||
declare class AST_ConciseMethod extends AST_ObjectProperty {
|
||||
constructor(props?: object);
|
||||
quote: string;
|
||||
static: boolean;
|
||||
is_generator: boolean;
|
||||
async: boolean;
|
||||
}
|
||||
|
||||
declare class AST_Symbol extends AST_Node {
|
||||
constructor(props?: object);
|
||||
scope: AST_Scope;
|
||||
name: string;
|
||||
thedef: SymbolDef;
|
||||
}
|
||||
|
||||
declare class AST_SymbolDeclaration extends AST_Symbol {
|
||||
constructor(props?: object);
|
||||
init: AST_Node | null;
|
||||
}
|
||||
|
||||
declare class AST_SymbolVar extends AST_SymbolDeclaration {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolFunarg extends AST_SymbolVar {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolBlockDeclaration extends AST_SymbolDeclaration {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolConst extends AST_SymbolBlockDeclaration {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolLet extends AST_SymbolBlockDeclaration {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolDefClass extends AST_SymbolBlockDeclaration {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolCatch extends AST_SymbolBlockDeclaration {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolImport extends AST_SymbolBlockDeclaration {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolDefun extends AST_SymbolDeclaration {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolLambda extends AST_SymbolDeclaration {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolClass extends AST_SymbolDeclaration {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolMethod extends AST_Symbol {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolImportForeign extends AST_Symbol {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Label extends AST_Symbol {
|
||||
constructor(props?: object);
|
||||
references: AST_LoopControl | null;
|
||||
}
|
||||
|
||||
declare class AST_SymbolRef extends AST_Symbol {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolExport extends AST_SymbolRef {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_SymbolExportForeign extends AST_Symbol {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_LabelRef extends AST_Symbol {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_This extends AST_Symbol {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Super extends AST_This {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_NewTarget extends AST_Node {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Constant extends AST_Node {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_String extends AST_Constant {
|
||||
constructor(props?: object);
|
||||
value: string;
|
||||
quote: string;
|
||||
}
|
||||
|
||||
declare class AST_Number extends AST_Constant {
|
||||
constructor(props?: object);
|
||||
value: number;
|
||||
literal: string;
|
||||
}
|
||||
|
||||
declare class AST_RegExp extends AST_Constant {
|
||||
constructor(props?: object);
|
||||
value: RegExp;
|
||||
}
|
||||
|
||||
declare class AST_Atom extends AST_Constant {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Null extends AST_Atom {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_NaN extends AST_Atom {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Undefined extends AST_Atom {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Hole extends AST_Atom {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Infinity extends AST_Atom {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Boolean extends AST_Atom {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_False extends AST_Boolean {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_True extends AST_Boolean {
|
||||
constructor(props?: object);
|
||||
}
|
||||
|
||||
declare class AST_Await extends AST_Node {
|
||||
constructor(props?: object);
|
||||
expression: AST_Node;
|
||||
}
|
||||
|
||||
declare class AST_Yield extends AST_Node {
|
||||
constructor(props?: object);
|
||||
expression: AST_Node;
|
||||
is_star: boolean;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue