Galerie und tage

This commit is contained in:
2021-11-23 17:56:26 +01:00
parent ff35366279
commit 5f873bee89
4693 changed files with 149659 additions and 301447 deletions

61
node_modules/esprima/ChangeLog generated vendored
View File

@@ -1,64 +1,3 @@
2018-06-17: Version 4.0.1
* Fix parsing async get/set in a class (issue 1861, 1875)
* Account for different return statement argument (issue 1829, 1897, 1928)
* Correct the handling of HTML comment when parsing a module (issue 1841)
* Fix incorrect parse async with proto-identifier-shorthand (issue 1847)
* Fix negative column in binary expression (issue 1844)
* Fix incorrect YieldExpression in object methods (issue 1834)
* Various documentation fixes
2017-06-10: Version 4.0.0
* Support ES2017 async function and await expression (issue 1079)
* Support ES2017 trailing commas in function parameters (issue 1550)
* Explicitly distinguish parsing a module vs a script (issue 1576)
* Fix JSX non-empty container (issue 1786)
* Allow JSX element in a yield expression (issue 1765)
* Allow `in` expression in a concise body with a function body (issue 1793)
* Setter function argument must not be a rest parameter (issue 1693)
* Limit strict mode directive to functions with a simple parameter list (issue 1677)
* Prohibit any escape sequence in a reserved word (issue 1612)
* Only permit hex digits in hex escape sequence (issue 1619)
* Prohibit labelled class/generator/function declaration (issue 1484)
* Limit function declaration as if statement clause only in non-strict mode (issue 1657)
* Tolerate missing ) in a with and do-while statement (issue 1481)
2016-12-22: Version 3.1.3
* Support binding patterns as rest element (issue 1681)
* Account for different possible arguments of a yield expression (issue 1469)
2016-11-24: Version 3.1.2
* Ensure that import specifier is more restrictive (issue 1615)
* Fix duplicated JSX tokens (issue 1613)
* Scan template literal in a JSX expression container (issue 1622)
* Improve XHTML entity scanning in JSX (issue 1629)
2016-10-31: Version 3.1.1
* Fix assignment expression problem in an export declaration (issue 1596)
* Fix incorrect tokenization of hex digits (issue 1605)
2016-10-09: Version 3.1.0
* Do not implicitly collect comments when comment attachment is specified (issue 1553)
* Fix incorrect handling of duplicated proto shorthand fields (issue 1485)
* Prohibit initialization in some variants of for statements (issue 1309, 1561)
* Fix incorrect parsing of export specifier (issue 1578)
* Fix ESTree compatibility for assignment pattern (issue 1575)
2016-09-03: Version 3.0.0
* Support ES2016 exponentiation expression (issue 1490)
* Support JSX syntax (issue 1467)
* Use the latest Unicode 8.0 (issue 1475)
* Add the support for syntax node delegate (issue 1435)
* Fix ESTree compatibility on meta property (issue 1338)
* Fix ESTree compatibility on default parameter value (issue 1081)
* Fix ESTree compatibility on try handler (issue 1030)
2016-08-23: Version 2.7.3
* Fix tokenizer confusion with a comment (issue 1493, 1516)

2
node_modules/esprima/LICENSE.BSD generated vendored
View File

@@ -1,4 +1,4 @@
Copyright JS Foundation and other contributors, https://js.foundation/
Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

37
node_modules/esprima/README.md generated vendored
View File

@@ -12,35 +12,16 @@ with the help of [many contributors](https://github.com/jquery/esprima/contribut
### Features
- Full support for ECMAScript 2017 ([ECMA-262 8th Edition](http://www.ecma-international.org/publications/standards/Ecma-262.htm))
- Sensible [syntax tree format](https://github.com/estree/estree/blob/master/es5.md) as standardized by [ESTree project](https://github.com/estree/estree)
- Experimental support for [JSX](https://facebook.github.io/jsx/), a syntax extension for [React](https://facebook.github.io/react/)
- Full support for ECMAScript 6 ([ECMA-262](http://www.ecma-international.org/publications/standards/Ecma-262.htm))
- Sensible [syntax tree format](https://github.com/estree/estree/blob/master/spec.md) as standardized by [ESTree project](https://github.com/estree/estree)
- Optional tracking of syntax node location (index-based and line-column)
- [Heavily tested](http://esprima.org/test/ci.html) (~1500 [unit tests](https://github.com/jquery/esprima/tree/master/test/fixtures) with [full code coverage](https://codecov.io/github/jquery/esprima))
- [Heavily tested](http://esprima.org/test/ci.html) (~1250 [unit tests](https://github.com/jquery/esprima/tree/master/test/fixtures) with [full code coverage](https://codecov.io/github/jquery/esprima))
### API
Esprima serves as a **building block** for some JavaScript
language tools, from [code instrumentation](http://esprima.org/demo/functiontrace.html)
to [editor autocompletion](http://esprima.org/demo/autocomplete.html).
Esprima can be used to perform [lexical analysis](https://en.wikipedia.org/wiki/Lexical_analysis) (tokenization) or [syntactic analysis](https://en.wikipedia.org/wiki/Parsing) (parsing) of a JavaScript program.
Esprima runs on many popular web browsers, as well as other ECMAScript platforms such as
[Rhino](http://www.mozilla.org/rhino), [Nashorn](http://openjdk.java.net/projects/nashorn/), and [Node.js](https://npmjs.org/package/esprima).
A simple example on Node.js REPL:
```javascript
> var esprima = require('esprima');
> var program = 'const answer = 42';
> esprima.tokenize(program);
[ { type: 'Keyword', value: 'const' },
{ type: 'Identifier', value: 'answer' },
{ type: 'Punctuator', value: '=' },
{ type: 'Numeric', value: '42' } ]
> esprima.parseScript(program);
{ type: 'Program',
body:
[ { type: 'VariableDeclaration',
declarations: [Object],
kind: 'const' } ],
sourceType: 'script' }
```
For more information, please read the [complete documentation](http://esprima.org/doc).
For more information, check the web site [esprima.org](http://esprima.org).

57
node_modules/esprima/bin/esparse.js generated vendored
View File

@@ -1,6 +1,6 @@
#!/usr/bin/env node
/*
Copyright JS Foundation and other contributors, https://js.foundation/
Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -25,15 +25,11 @@
/*jslint sloppy:true node:true rhino:true */
var fs, esprima, fname, forceFile, content, options, syntax;
var fs, esprima, fname, content, options, syntax;
if (typeof require === 'function') {
fs = require('fs');
try {
esprima = require('esprima');
} catch (e) {
esprima = require('../');
}
esprima = require('esprima');
} else if (typeof load === 'function') {
try {
load('esprima.js');
@@ -53,7 +49,7 @@ if (typeof console === 'undefined' && typeof process === 'undefined') {
function showUsage() {
console.log('Usage:');
console.log(' esparse [options] [file.js]');
console.log(' esparse [options] file.js');
console.log();
console.log('Available options:');
console.log();
@@ -68,18 +64,15 @@ function showUsage() {
process.exit(1);
}
if (process.argv.length <= 2) {
showUsage();
}
options = {};
process.argv.splice(2).forEach(function (entry) {
if (forceFile || entry === '-' || entry.slice(0, 1) !== '-') {
if (typeof fname === 'string') {
console.log('Error: more than one input file.');
process.exit(1);
} else {
fname = entry;
}
} else if (entry === '-h' || entry === '--help') {
if (entry === '-h' || entry === '--help') {
showUsage();
} else if (entry === '-v' || entry === '--version') {
console.log('ECMAScript Parser (using Esprima version', esprima.version, ')');
@@ -97,14 +90,22 @@ process.argv.splice(2).forEach(function (entry) {
options.tokens = true;
} else if (entry === '--tolerant') {
options.tolerant = true;
} else if (entry === '--') {
forceFile = true;
} else {
} else if (entry.slice(0, 2) === '--') {
console.log('Error: unknown option ' + entry + '.');
process.exit(1);
} else if (typeof fname === 'string') {
console.log('Error: more than one input file.');
process.exit(1);
} else {
fname = entry;
}
});
if (typeof fname !== 'string') {
console.log('Error: no input file.');
process.exit(1);
}
// Special handling for regular expression literal since we need to
// convert it to a string literal, otherwise it will be decoded
// as object "{}" and the regular expression would be lost.
@@ -115,24 +116,10 @@ function adjustRegexLiteral(key, value) {
return value;
}
function run(content) {
try {
content = fs.readFileSync(fname, 'utf-8');
syntax = esprima.parse(content, options);
console.log(JSON.stringify(syntax, adjustRegexLiteral, 4));
}
try {
if (fname && (fname !== '-' || forceFile)) {
run(fs.readFileSync(fname, 'utf-8'));
} else {
var content = '';
process.stdin.resume();
process.stdin.on('data', function(chunk) {
content += chunk;
});
process.stdin.on('end', function() {
run(content);
});
}
} catch (e) {
console.log('Error: ' + e.message);
process.exit(1);

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env node
/*
Copyright JS Foundation and other contributors, https://js.foundation/
Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -26,7 +26,7 @@
/*jslint sloppy:true plusplus:true node:true rhino:true */
/*global phantom:true */
var fs, system, esprima, options, fnames, forceFile, count;
var fs, system, esprima, options, fnames, count;
if (typeof esprima === 'undefined') {
// PhantomJS can only require() relative files
@@ -36,11 +36,7 @@ if (typeof esprima === 'undefined') {
esprima = require('./esprima');
} else if (typeof require === 'function') {
fs = require('fs');
try {
esprima = require('esprima');
} catch (e) {
esprima = require('../');
}
esprima = require('esprima');
} else if (typeof load === 'function') {
try {
load('esprima.js');
@@ -55,10 +51,7 @@ if (typeof phantom === 'object') {
fs.readFileSync = fs.read;
process = {
argv: [].slice.call(system.args),
exit: phantom.exit,
on: function (evt, callback) {
callback();
}
exit: phantom.exit
};
process.argv.unshift('phantomjs');
}
@@ -67,20 +60,14 @@ if (typeof phantom === 'object') {
if (typeof console === 'undefined' && typeof process === 'undefined') {
console = { log: print };
fs = { readFileSync: readFile };
process = {
argv: arguments,
exit: quit,
on: function (evt, callback) {
callback();
}
};
process = { argv: arguments, exit: quit };
process.argv.unshift('esvalidate.js');
process.argv.unshift('rhino');
}
function showUsage() {
console.log('Usage:');
console.log(' esvalidate [options] [file.js...]');
console.log(' esvalidate [options] file.js');
console.log();
console.log('Available options:');
console.log();
@@ -90,6 +77,10 @@ function showUsage() {
process.exit(1);
}
if (process.argv.length <= 2) {
showUsage();
}
options = {
format: 'plain'
};
@@ -98,9 +89,7 @@ fnames = [];
process.argv.splice(2).forEach(function (entry) {
if (forceFile || entry === '-' || entry.slice(0, 1) !== '-') {
fnames.push(entry);
} else if (entry === '-h' || entry === '--help') {
if (entry === '-h' || entry === '--help') {
showUsage();
} else if (entry === '-v' || entry === '--version') {
console.log('ECMAScript Validator (using Esprima version', esprima.version, ')');
@@ -112,16 +101,17 @@ process.argv.splice(2).forEach(function (entry) {
console.log('Error: unknown report format ' + options.format + '.');
process.exit(1);
}
} else if (entry === '--') {
forceFile = true;
} else {
} else if (entry.slice(0, 2) === '--') {
console.log('Error: unknown option ' + entry + '.');
process.exit(1);
} else {
fnames.push(entry);
}
});
if (fnames.length === 0) {
fnames.push('');
console.log('Error: no input file.');
process.exit(1);
}
if (options.format === 'junit') {
@@ -130,13 +120,10 @@ if (options.format === 'junit') {
}
count = 0;
function run(fname, content) {
var timestamp, syntax, name;
fnames.forEach(function (fname) {
var content, timestamp, syntax, name;
try {
if (typeof content !== 'string') {
throw content;
}
content = fs.readFileSync(fname, 'utf-8');
if (content[0] === '#' && content[1] === '!') {
content = '//' + content.substr(2, content.length);
@@ -194,43 +181,19 @@ function run(fname, content) {
console.log(' </testcase>');
console.log('</testsuite>');
} else {
console.log(fname + ':' + e.lineNumber + ': ' + e.message.replace(/^Line\ [0-9]*\:\ /, ''));
console.log('Error: ' + e.message);
}
}
});
if (options.format === 'junit') {
console.log('</testsuites>');
}
fnames.forEach(function (fname) {
var content = '';
try {
if (fname && (fname !== '-' || forceFile)) {
content = fs.readFileSync(fname, 'utf-8');
} else {
fname = '';
process.stdin.resume();
process.stdin.on('data', function(chunk) {
content += chunk;
});
process.stdin.on('end', function() {
run(fname, content);
});
return;
}
} catch (e) {
content = e;
}
run(fname, content);
});
if (count > 0) {
process.exit(1);
}
process.on('exit', function () {
if (options.format === 'junit') {
console.log('</testsuites>');
}
if (count > 0) {
process.exit(1);
}
if (count === 0 && typeof phantom === 'object') {
process.exit(0);
}
});
if (count === 0 && typeof phantom === 'object') {
process.exit(0);
}

6709
node_modules/esprima/dist/esprima.js generated vendored

File diff suppressed because one or more lines are too long

5740
node_modules/esprima/esprima.js generated vendored Normal file

File diff suppressed because one or more lines are too long

77
node_modules/esprima/package.json generated vendored
View File

@@ -2,18 +2,19 @@
"name": "esprima",
"description": "ECMAScript parsing infrastructure for multipurpose analysis",
"homepage": "http://esprima.org",
"main": "dist/esprima.js",
"main": "esprima.js",
"bin": {
"esparse": "./bin/esparse.js",
"esvalidate": "./bin/esvalidate.js"
},
"version": "4.0.1",
"version": "2.7.3",
"files": [
"bin",
"dist/esprima.js"
"unit-tests.js",
"esprima.js"
],
"engines": {
"node": ">=4"
"node": ">=0.10.0"
},
"author": {
"name": "Ariya Hidayat",
@@ -37,76 +38,62 @@
"devDependencies": {
"codecov.io": "~0.1.6",
"escomplex-js": "1.2.0",
"eslint": "~1.7.2",
"everything.js": "~1.0.3",
"glob": "~7.1.0",
"glob": "^5.0.15",
"istanbul": "~0.4.0",
"jscs": "~2.3.5",
"json-diff": "~0.3.1",
"karma": "~1.3.0",
"karma-chrome-launcher": "~2.0.0",
"karma-detect-browsers": "~2.2.3",
"karma-edge-launcher": "~0.2.0",
"karma-firefox-launcher": "~1.0.0",
"karma-ie-launcher": "~1.0.0",
"karma-mocha": "~1.3.0",
"karma-safari-launcher": "~1.0.0",
"karma-safaritechpreview-launcher": "~0.0.4",
"karma-sauce-launcher": "~1.1.0",
"lodash": "~3.10.1",
"mocha": "~3.2.0",
"karma": "^0.13.11",
"karma-chrome-launcher": "^0.2.1",
"karma-detect-browsers": "^2.0.2",
"karma-firefox-launcher": "^0.1.6",
"karma-ie-launcher": "^0.2.0",
"karma-mocha": "^0.2.0",
"karma-safari-launcher": "^0.1.1",
"karma-sauce-launcher": "^0.2.14",
"lodash": "^3.10.0",
"mocha": "^2.3.3",
"node-tick-processor": "~0.0.2",
"regenerate": "~1.3.2",
"regenerate": "~1.2.1",
"temp": "~0.8.3",
"tslint": "~5.1.0",
"typescript": "~2.3.2",
"typescript-formatter": "~5.1.3",
"unicode-8.0.0": "~0.7.0",
"webpack": "~1.14.0"
"unicode-7.0.0": "~0.1.5"
},
"keywords": [
"ast",
"ecmascript",
"esprima",
"javascript",
"parser",
"syntax"
],
"scripts": {
"check-version": "node test/check-version.js",
"tslint": "tslint src/*.ts",
"code-style": "tsfmt --verify src/*.ts && tsfmt --verify test/*.js",
"format-code": "tsfmt -r src/*.ts && tsfmt -r test/*.js",
"jscs": "jscs -p crockford esprima.js && jscs -p crockford test/*.js",
"eslint": "node node_modules/eslint/bin/eslint.js -c .lintrc esprima.js",
"complexity": "node test/check-complexity.js",
"static-analysis": "npm run check-version && npm run tslint && npm run code-style && npm run complexity",
"hostile-env-tests": "node test/hostile-environment-tests.js",
"static-analysis": "npm run check-version && npm run jscs && npm run eslint && npm run complexity",
"unit-tests": "node test/unit-tests.js",
"api-tests": "mocha -R dot test/api-tests.js",
"grammar-tests": "node test/grammar-tests.js",
"regression-tests": "node test/regression-tests.js",
"all-tests": "npm run verify-line-ending && npm run generate-fixtures && npm run unit-tests && npm run api-tests && npm run grammar-tests && npm run regression-tests && npm run hostile-env-tests",
"verify-line-ending": "node test/verify-line-ending.js",
"all-tests": "npm run generate-fixtures && npm run unit-tests && npm run grammar-tests && npm run regression-tests",
"generate-fixtures": "node tools/generate-fixtures.js",
"browser-tests": "npm run compile && npm run generate-fixtures && cd test && karma start --single-run",
"browser-tests": "npm run generate-fixtures && cd test && karma start --single-run",
"saucelabs-evergreen": "cd test && karma start saucelabs-evergreen.conf.js",
"saucelabs-safari": "cd test && karma start saucelabs-safari.conf.js",
"saucelabs-ie": "cd test && karma start saucelabs-ie.conf.js",
"saucelabs": "npm run saucelabs-evergreen && npm run saucelabs-ie && npm run saucelabs-safari",
"analyze-coverage": "istanbul cover test/unit-tests.js",
"check-coverage": "istanbul check-coverage --statement 100 --branch 100 --function 100",
"dynamic-analysis": "npm run analyze-coverage && npm run check-coverage",
"compile": "tsc -p src/ && webpack && node tools/fixupbundle.js",
"test": "npm run compile && npm run all-tests && npm run static-analysis && npm run dynamic-analysis",
"prepublish": "npm run compile",
"test": "npm run all-tests && npm run static-analysis && npm run dynamic-analysis",
"profile": "node --prof test/profile.js && mv isolate*.log v8.log && node-tick-processor",
"benchmark-parser": "node -expose_gc test/benchmark-parser.js",
"benchmark-tokenizer": "node --expose_gc test/benchmark-tokenizer.js",
"benchmark": "npm run benchmark-parser && npm run benchmark-tokenizer",
"codecov": "istanbul report cobertura && codecov < ./coverage/cobertura-coverage.xml",
"benchmark": "node test/benchmarks.js",
"benchmark-quick": "node test/benchmarks.js quick",
"codecov" : "istanbul report cobertura && codecov < ./coverage/cobertura-coverage.xml",
"downstream": "node test/downstream.js",
"travis": "npm test",
"circleci": "npm test && npm run codecov && npm run downstream",
"appveyor": "npm run compile && npm run all-tests && npm run browser-tests",
"droneio": "npm run compile && npm run all-tests && npm run saucelabs",
"generate-regex": "node tools/generate-identifier-regex.js",
"generate-xhtml-entities": "node tools/generate-xhtml-entities.js"
"appveyor": "npm run all-tests && npm run browser-tests && npm run dynamic-analysis",
"droneio": "npm test && npm run saucelabs-evergreen && npm run saucelabs-ie && npm run saucelabs-safari",
"generate-regex": "node tools/generate-identifier-regex.js"
}
}