tools: update eslint to 8.6.0

PR-URL: https://github.com/nodejs/node/pull/41368
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
This commit is contained in:
Node.js GitHub Bot 2022-01-01 09:25:28 -08:00 committed by GitHub
parent 5999731d26
commit 9b637ca255
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
76 changed files with 649 additions and 349 deletions

View File

@ -43,7 +43,7 @@ function groupByParentComment(directives) {
* Creates removal details for a set of directives within the same comment. * Creates removal details for a set of directives within the same comment.
* @param {Directive[]} directives Unused directives to be removed. * @param {Directive[]} directives Unused directives to be removed.
* @param {Token} commentToken The backing Comment token. * @param {Token} commentToken The backing Comment token.
* @returns {{ description, fix, position }[]} Details for later creation of output Problems. * @returns {{ description, fix, unprocessedDirective }[]} Details for later creation of output Problems.
*/ */
function createIndividualDirectivesRemoval(directives, commentToken) { function createIndividualDirectivesRemoval(directives, commentToken) {
@ -138,7 +138,7 @@ function createIndividualDirectivesRemoval(directives, commentToken) {
], ],
text: "" text: ""
}, },
position: directive.unprocessedDirective unprocessedDirective: directive.unprocessedDirective
}; };
}); });
} }
@ -147,7 +147,7 @@ function createIndividualDirectivesRemoval(directives, commentToken) {
* Creates a description of deleting an entire unused disable comment. * Creates a description of deleting an entire unused disable comment.
* @param {Directive[]} directives Unused directives to be removed. * @param {Directive[]} directives Unused directives to be removed.
* @param {Token} commentToken The backing Comment token. * @param {Token} commentToken The backing Comment token.
* @returns {{ description, fix, position }} Details for later creation of an output Problem. * @returns {{ description, fix, unprocessedDirective }} Details for later creation of an output Problem.
*/ */
function createCommentRemoval(directives, commentToken) { function createCommentRemoval(directives, commentToken) {
const { range } = commentToken; const { range } = commentToken;
@ -161,14 +161,14 @@ function createCommentRemoval(directives, commentToken) {
range, range,
text: " " text: " "
}, },
position: directives[0].unprocessedDirective unprocessedDirective: directives[0].unprocessedDirective
}; };
} }
/** /**
* Parses details from directives to create output Problems. * Parses details from directives to create output Problems.
* @param {Directive[]} allDirectives Unused directives to be removed. * @param {Directive[]} allDirectives Unused directives to be removed.
* @returns {{ description, fix, position }[]} Details for later creation of output Problems. * @returns {{ description, fix, unprocessedDirective }[]} Details for later creation of output Problems.
*/ */
function processUnusedDisableDirectives(allDirectives) { function processUnusedDisableDirectives(allDirectives) {
const directiveGroups = groupByParentComment(allDirectives); const directiveGroups = groupByParentComment(allDirectives);
@ -261,17 +261,21 @@ function applyDirectives(options) {
const processed = processUnusedDisableDirectives(unusedDisableDirectivesToReport); const processed = processUnusedDisableDirectives(unusedDisableDirectivesToReport);
const unusedDisableDirectives = processed const unusedDisableDirectives = processed
.map(({ description, fix, position }) => ({ .map(({ description, fix, unprocessedDirective }) => {
ruleId: null, const { parentComment, type, line, column } = unprocessedDirective;
message: description
? `Unused eslint-disable directive (no problems were reported from ${description}).` return {
: "Unused eslint-disable directive (no problems were reported).", ruleId: null,
line: position.line, message: description
column: position.column, ? `Unused eslint-disable directive (no problems were reported from ${description}).`
severity: options.reportUnusedDisableDirectives === "warn" ? 1 : 2, : "Unused eslint-disable directive (no problems were reported).",
nodeType: null, line: type === "disable-next-line" ? parentComment.commentToken.loc.start.line : line,
...options.disableFixes ? {} : { fix } column: type === "disable-next-line" ? parentComment.commentToken.loc.start.column + 1 : column,
})); severity: options.reportUnusedDisableDirectives === "warn" ? 1 : 2,
nodeType: null,
...options.disableFixes ? {} : { fix }
};
});
return { problems, unusedDisableDirectives }; return { problems, unusedDisableDirectives };
} }

View File

@ -305,7 +305,11 @@ function createDisableDirectives(options) {
// push to directives, if the rule is defined(including null, e.g. /*eslint enable*/) // push to directives, if the rule is defined(including null, e.g. /*eslint enable*/)
if (ruleId === null || !!ruleMapper(ruleId)) { if (ruleId === null || !!ruleMapper(ruleId)) {
result.directives.push({ parentComment, type, line: commentToken.loc.start.line, column: commentToken.loc.start.column + 1, ruleId }); if (type === "disable-next-line") {
result.directives.push({ parentComment, type, line: commentToken.loc.end.line, column: commentToken.loc.end.column + 1, ruleId });
} else {
result.directives.push({ parentComment, type, line: commentToken.loc.start.line, column: commentToken.loc.start.column + 1, ruleId });
}
} else { } else {
result.directiveProblems.push(createLintingProblem({ ruleId, loc: commentToken.loc })); result.directiveProblems.push(createLintingProblem({ ruleId, loc: commentToken.loc }));
} }
@ -326,14 +330,13 @@ function stripDirectiveComment(value) {
* Parses comments in file to extract file-specific config of rules, globals * Parses comments in file to extract file-specific config of rules, globals
* and environments and merges them with global config; also code blocks * and environments and merges them with global config; also code blocks
* where reporting is disabled or enabled and merges them with reporting config. * where reporting is disabled or enabled and merges them with reporting config.
* @param {string} filename The file being checked.
* @param {ASTNode} ast The top node of the AST. * @param {ASTNode} ast The top node of the AST.
* @param {function(string): {create: Function}} ruleMapper A map from rule IDs to defined rules * @param {function(string): {create: Function}} ruleMapper A map from rule IDs to defined rules
* @param {string|null} warnInlineConfig If a string then it should warn directive comments as disabled. The string value is the config name what the setting came from. * @param {string|null} warnInlineConfig If a string then it should warn directive comments as disabled. The string value is the config name what the setting came from.
* @returns {{configuredRules: Object, enabledGlobals: {value:string,comment:Token}[], exportedVariables: Object, problems: Problem[], disableDirectives: DisableDirective[]}} * @returns {{configuredRules: Object, enabledGlobals: {value:string,comment:Token}[], exportedVariables: Object, problems: Problem[], disableDirectives: DisableDirective[]}}
* A collection of the directive comments that were found, along with any problems that occurred when parsing * A collection of the directive comments that were found, along with any problems that occurred when parsing
*/ */
function getDirectiveComments(filename, ast, ruleMapper, warnInlineConfig) { function getDirectiveComments(ast, ruleMapper, warnInlineConfig) {
const configuredRules = {}; const configuredRules = {};
const enabledGlobals = Object.create(null); const enabledGlobals = Object.create(null);
const exportedVariables = {}; const exportedVariables = {};
@ -369,7 +372,7 @@ function getDirectiveComments(filename, ast, ruleMapper, warnInlineConfig) {
return; return;
} }
if (lineCommentSupported && comment.loc.start.line !== comment.loc.end.line) { if (directiveText === "eslint-disable-line" && comment.loc.start.line !== comment.loc.end.line) {
const message = `${directiveText} comment should not span multiple lines.`; const message = `${directiveText} comment should not span multiple lines.`;
problems.push(createLintingProblem({ problems.push(createLintingProblem({
@ -1332,7 +1335,7 @@ class Linter {
const sourceCode = slots.lastSourceCode; const sourceCode = slots.lastSourceCode;
const commentDirectives = options.allowInlineConfig const commentDirectives = options.allowInlineConfig
? getDirectiveComments(options.filename, sourceCode.ast, ruleId => getRule(slots, ruleId), options.warnInlineConfig) ? getDirectiveComments(sourceCode.ast, ruleId => getRule(slots, ruleId), options.warnInlineConfig)
: { configuredRules: {}, enabledGlobals: {}, exportedVariables: {}, problems: [], disableDirectives: [] }; : { configuredRules: {}, enabledGlobals: {}, exportedVariables: {}, problems: [], disableDirectives: [] };
// augment global scope with declared global variables // augment global scope with declared global variables
@ -1593,7 +1596,6 @@ class Linter {
const sourceCode = slots.lastSourceCode; const sourceCode = slots.lastSourceCode;
const commentDirectives = options.allowInlineConfig const commentDirectives = options.allowInlineConfig
? getDirectiveComments( ? getDirectiveComments(
options.filename,
sourceCode.ast, sourceCode.ast,
ruleId => getRuleFromConfig(ruleId, config), ruleId => getRuleFromConfig(ruleId, config),
options.warnInlineConfig options.warnInlineConfig

View File

@ -211,6 +211,17 @@ module.exports = {
} }
} }
// For https://github.com/eslint/eslint/issues/15123
} else if (
parent.type === "Property" &&
parent.parent.type === "ObjectExpression" &&
parent.key === node &&
!parent.computed
) {
if (checkProperties && isInvalid(name)) {
report(node);
}
/* /*
* Properties have their own rules, and * Properties have their own rules, and
* AssignmentPattern nodes can be treated like Properties: * AssignmentPattern nodes can be treated like Properties:

View File

@ -174,7 +174,7 @@ module.exports = {
return { return {
AssignmentExpression(node) { AssignmentExpression(node) {
if (node.operator === "=") { if (["=", "&&=", "||=", "??="].includes(node.operator)) {
eachSelfAssignment(node.left, node.right, props, report); eachSelfAssignment(node.left, node.right, props, report);
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/code-frame", "name": "@babel/code-frame",
"version": "7.16.0", "version": "7.16.7",
"description": "Generate errors that contain a code frame that point to source locations.", "description": "Generate errors that contain a code frame that point to source locations.",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-code-frame", "homepage": "https://babel.dev/docs/en/next/babel-code-frame",
@ -16,7 +16,7 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/highlight": "^7.16.0" "@babel/highlight": "^7.16.7"
}, },
"devDependencies": { "devDependencies": {
"@types/chalk": "^2.0.0", "@types/chalk": "^2.0.0",

View File

@ -277,6 +277,7 @@ const readConfigJSON5 = (0, _utils.makeStaticFileCache)((filepath, content) => {
throw new Error(`${filepath}: Expected config object but found array`); throw new Error(`${filepath}: Expected config object but found array`);
} }
delete options["$schema"];
return { return {
filepath, filepath,
dirname: _path().dirname(filepath), dirname: _path().dirname(filepath),

View File

@ -247,7 +247,7 @@ var _transformAst = require("./transform-ast");
var _parse = require("./parse"); var _parse = require("./parse");
const version = "7.16.5"; const version = "7.16.7";
exports.version = version; exports.version = version;
const DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]); const DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]);
exports.DEFAULT_EXTENSIONS = DEFAULT_EXTENSIONS; exports.DEFAULT_EXTENSIONS = DEFAULT_EXTENSIONS;

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/core", "name": "@babel/core",
"version": "7.16.5", "version": "7.16.7",
"description": "Babel compiler core.", "description": "Babel compiler core.",
"main": "./lib/index.js", "main": "./lib/index.js",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
@ -48,15 +48,15 @@
"./src/transformation/util/clone-deep.ts": "./src/transformation/util/clone-deep-browser.ts" "./src/transformation/util/clone-deep.ts": "./src/transformation/util/clone-deep-browser.ts"
}, },
"dependencies": { "dependencies": {
"@babel/code-frame": "^7.16.0", "@babel/code-frame": "^7.16.7",
"@babel/generator": "^7.16.5", "@babel/generator": "^7.16.7",
"@babel/helper-compilation-targets": "^7.16.3", "@babel/helper-compilation-targets": "^7.16.7",
"@babel/helper-module-transforms": "^7.16.5", "@babel/helper-module-transforms": "^7.16.7",
"@babel/helpers": "^7.16.5", "@babel/helpers": "^7.16.7",
"@babel/parser": "^7.16.5", "@babel/parser": "^7.16.7",
"@babel/template": "^7.16.0", "@babel/template": "^7.16.7",
"@babel/traverse": "^7.16.5", "@babel/traverse": "^7.16.7",
"@babel/types": "^7.16.0", "@babel/types": "^7.16.7",
"convert-source-map": "^1.7.0", "convert-source-map": "^1.7.0",
"debug": "^4.1.0", "debug": "^4.1.0",
"gensync": "^1.0.0-beta.2", "gensync": "^1.0.0-beta.2",
@ -65,8 +65,8 @@
"source-map": "^0.5.0" "source-map": "^0.5.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/helper-transform-fixture-test-runner": "^7.16.0", "@babel/helper-transform-fixture-test-runner": "^7.16.7",
"@babel/plugin-transform-modules-commonjs": "^7.16.5", "@babel/plugin-transform-modules-commonjs": "^7.16.7",
"@types/convert-source-map": "^1.5.1", "@types/convert-source-map": "^1.5.1",
"@types/debug": "^4.1.0", "@types/debug": "^4.1.0",
"@types/resolve": "^1.3.2", "@types/resolve": "^1.3.2",

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/generator", "name": "@babel/generator",
"version": "7.16.5", "version": "7.16.7",
"description": "Turns an AST into code.", "description": "Turns an AST into code.",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"license": "MIT", "license": "MIT",
@ -19,13 +19,13 @@
"lib" "lib"
], ],
"dependencies": { "dependencies": {
"@babel/types": "^7.16.0", "@babel/types": "^7.16.7",
"jsesc": "^2.5.1", "jsesc": "^2.5.1",
"source-map": "^0.5.0" "source-map": "^0.5.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/helper-fixtures": "^7.16.5", "@babel/helper-fixtures": "^7.16.7",
"@babel/parser": "^7.16.5", "@babel/parser": "^7.16.7",
"@types/jsesc": "^2.5.0", "@types/jsesc": "^2.5.0",
"@types/source-map": "^0.5.0", "@types/source-map": "^0.5.0",
"charcodes": "^0.2.0" "charcodes": "^0.2.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-compilation-targets", "name": "@babel/helper-compilation-targets",
"version": "7.16.3", "version": "7.16.7",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"license": "MIT", "license": "MIT",
"description": "Helper functions on Babel compilation targets", "description": "Helper functions on Babel compilation targets",
@ -11,7 +11,8 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"exports": { "exports": {
".": "./lib/index.js" ".": "./lib/index.js",
"./package.json": "./package.json"
}, },
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
@ -21,8 +22,8 @@
"babel-plugin" "babel-plugin"
], ],
"dependencies": { "dependencies": {
"@babel/compat-data": "^7.16.0", "@babel/compat-data": "^7.16.4",
"@babel/helper-validator-option": "^7.14.5", "@babel/helper-validator-option": "^7.16.7",
"browserslist": "^4.17.5", "browserslist": "^4.17.5",
"semver": "^6.3.0" "semver": "^6.3.0"
}, },
@ -30,8 +31,8 @@
"@babel/core": "^7.0.0" "@babel/core": "^7.0.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.16.0", "@babel/core": "^7.16.7",
"@babel/helper-plugin-test-runner": "^7.16.0", "@babel/helper-plugin-test-runner": "^7.16.7",
"@types/semver": "^5.5.0" "@types/semver": "^5.5.0"
}, },
"engines": { "engines": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-environment-visitor", "name": "@babel/helper-environment-visitor",
"version": "7.16.5", "version": "7.16.7",
"description": "Helper visitor to only visit nodes in the current 'this' context", "description": "Helper visitor to only visit nodes in the current 'this' context",
"repository": { "repository": {
"type": "git", "type": "git",
@ -14,13 +14,14 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"exports": { "exports": {
".": "./lib/index.js" ".": "./lib/index.js",
"./package.json": "./package.json"
}, },
"dependencies": { "dependencies": {
"@babel/types": "^7.16.0" "@babel/types": "^7.16.7"
}, },
"devDependencies": { "devDependencies": {
"@babel/traverse": "^7.16.5" "@babel/traverse": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -141,7 +141,7 @@ function _default({
parent, parent,
scope, scope,
id id
}, localBinding = false) { }, localBinding = false, supportUnicodeId = false) {
if (node.id) return; if (node.id) return;
if ((isObjectProperty(parent) || isObjectMethod(parent, { if ((isObjectProperty(parent) || isObjectMethod(parent, {
@ -180,6 +180,10 @@ function _default({
return; return;
} }
if (!supportUnicodeId && isFunction(node) && /[\uD800-\uDFFF]/.test(name)) {
return;
}
name = toBindingIdentifierName(name); name = toBindingIdentifierName(name);
id = identifier(name); id = identifier(name);
id[NOT_LOCAL_BINDING] = true; id[NOT_LOCAL_BINDING] = true;

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-function-name", "name": "@babel/helper-function-name",
"version": "7.16.0", "version": "7.16.7",
"description": "Helper function to change the property 'name' of every function", "description": "Helper function to change the property 'name' of every function",
"repository": { "repository": {
"type": "git", "type": "git",
@ -14,9 +14,9 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/helper-get-function-arity": "^7.16.0", "@babel/helper-get-function-arity": "^7.16.7",
"@babel/template": "^7.16.0", "@babel/template": "^7.16.7",
"@babel/types": "^7.16.0" "@babel/types": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-get-function-arity", "name": "@babel/helper-get-function-arity",
"version": "7.16.0", "version": "7.16.7",
"description": "Helper function to get function arity", "description": "Helper function to get function arity",
"repository": { "repository": {
"type": "git", "type": "git",
@ -14,7 +14,7 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/types": "^7.16.0" "@babel/types": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-hoist-variables", "name": "@babel/helper-hoist-variables",
"version": "7.16.0", "version": "7.16.7",
"description": "Helper function to hoist variables", "description": "Helper function to hoist variables",
"repository": { "repository": {
"type": "git", "type": "git",
@ -14,11 +14,11 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/types": "^7.16.0" "@babel/types": "^7.16.7"
}, },
"TODO": "The @babel/traverse dependency is only needed for the NodePath TS type. We can consider exporting it from @babel/core.", "TODO": "The @babel/traverse dependency is only needed for the NodePath TS type. We can consider exporting it from @babel/core.",
"devDependencies": { "devDependencies": {
"@babel/traverse": "^7.16.0" "@babel/traverse": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-module-imports", "name": "@babel/helper-module-imports",
"version": "7.16.0", "version": "7.16.7",
"description": "Babel helper functions for inserting module loads", "description": "Babel helper functions for inserting module loads",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-helper-module-imports", "homepage": "https://babel.dev/docs/en/next/babel-helper-module-imports",
@ -15,11 +15,11 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/types": "^7.16.0" "@babel/types": "^7.16.7"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.16.0", "@babel/core": "^7.16.7",
"@babel/traverse": "^7.16.0" "@babel/traverse": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-module-transforms", "name": "@babel/helper-module-transforms",
"version": "7.16.5", "version": "7.16.7",
"description": "Babel helper functions for implementing ES6 module transformations", "description": "Babel helper functions for implementing ES6 module transformations",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-helper-module-transforms", "homepage": "https://babel.dev/docs/en/next/babel-helper-module-transforms",
@ -15,14 +15,14 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-environment-visitor": "^7.16.7",
"@babel/helper-module-imports": "^7.16.0", "@babel/helper-module-imports": "^7.16.7",
"@babel/helper-simple-access": "^7.16.0", "@babel/helper-simple-access": "^7.16.7",
"@babel/helper-split-export-declaration": "^7.16.0", "@babel/helper-split-export-declaration": "^7.16.7",
"@babel/helper-validator-identifier": "^7.15.7", "@babel/helper-validator-identifier": "^7.16.7",
"@babel/template": "^7.16.0", "@babel/template": "^7.16.7",
"@babel/traverse": "^7.16.5", "@babel/traverse": "^7.16.7",
"@babel/types": "^7.16.0" "@babel/types": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-plugin-utils", "name": "@babel/helper-plugin-utils",
"version": "7.16.5", "version": "7.16.7",
"description": "General utilities for plugins to use", "description": "General utilities for plugins to use",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-helper-plugin-utils", "homepage": "https://babel.dev/docs/en/next/babel-helper-plugin-utils",

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-simple-access", "name": "@babel/helper-simple-access",
"version": "7.16.0", "version": "7.16.7",
"description": "Babel helper for ensuring that access to a given value is performed through simple accesses", "description": "Babel helper for ensuring that access to a given value is performed through simple accesses",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-helper-simple-access", "homepage": "https://babel.dev/docs/en/next/babel-helper-simple-access",
@ -15,10 +15,10 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/types": "^7.16.0" "@babel/types": "^7.16.7"
}, },
"devDependencies": { "devDependencies": {
"@babel/traverse": "^7.16.0" "@babel/traverse": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-split-export-declaration", "name": "@babel/helper-split-export-declaration",
"version": "7.16.0", "version": "7.16.7",
"description": "", "description": "",
"repository": { "repository": {
"type": "git", "type": "git",
@ -14,7 +14,7 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/types": "^7.16.0" "@babel/types": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -3,9 +3,9 @@
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, "__esModule", {
value: true value: true
}); });
exports.isIdentifierStart = isIdentifierStart;
exports.isIdentifierChar = isIdentifierChar; exports.isIdentifierChar = isIdentifierChar;
exports.isIdentifierName = isIdentifierName; exports.isIdentifierName = isIdentifierName;
exports.isIdentifierStart = isIdentifierStart;
let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");

View File

@ -3,24 +3,30 @@
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, "__esModule", {
value: true value: true
}); });
Object.defineProperty(exports, "isIdentifierName", {
enumerable: true,
get: function () {
return _identifier.isIdentifierName;
}
});
Object.defineProperty(exports, "isIdentifierChar", { Object.defineProperty(exports, "isIdentifierChar", {
enumerable: true, enumerable: true,
get: function () { get: function () {
return _identifier.isIdentifierChar; return _identifier.isIdentifierChar;
} }
}); });
Object.defineProperty(exports, "isIdentifierName", {
enumerable: true,
get: function () {
return _identifier.isIdentifierName;
}
});
Object.defineProperty(exports, "isIdentifierStart", { Object.defineProperty(exports, "isIdentifierStart", {
enumerable: true, enumerable: true,
get: function () { get: function () {
return _identifier.isIdentifierStart; return _identifier.isIdentifierStart;
} }
}); });
Object.defineProperty(exports, "isKeyword", {
enumerable: true,
get: function () {
return _keyword.isKeyword;
}
});
Object.defineProperty(exports, "isReservedWord", { Object.defineProperty(exports, "isReservedWord", {
enumerable: true, enumerable: true,
get: function () { get: function () {
@ -45,12 +51,6 @@ Object.defineProperty(exports, "isStrictReservedWord", {
return _keyword.isStrictReservedWord; return _keyword.isStrictReservedWord;
} }
}); });
Object.defineProperty(exports, "isKeyword", {
enumerable: true,
get: function () {
return _keyword.isKeyword;
}
});
var _identifier = require("./identifier"); var _identifier = require("./identifier");

View File

@ -3,11 +3,11 @@
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, "__esModule", {
value: true value: true
}); });
exports.isKeyword = isKeyword;
exports.isReservedWord = isReservedWord; exports.isReservedWord = isReservedWord;
exports.isStrictReservedWord = isStrictReservedWord;
exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
exports.isStrictBindReservedWord = isStrictBindReservedWord; exports.isStrictBindReservedWord = isStrictBindReservedWord;
exports.isKeyword = isKeyword; exports.isStrictReservedWord = isStrictReservedWord;
const reservedWords = { const reservedWords = {
keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-validator-identifier", "name": "@babel/helper-validator-identifier",
"version": "7.15.7", "version": "7.16.7",
"description": "Validate identifier/keywords name", "description": "Validate identifier/keywords name",
"repository": { "repository": {
"type": "git", "type": "git",
@ -12,7 +12,10 @@
"access": "public" "access": "public"
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"exports": "./lib/index.js", "exports": {
".": "./lib/index.js",
"./package.json": "./package.json"
},
"devDependencies": { "devDependencies": {
"@unicode/unicode-14.0.0": "^1.2.1", "@unicode/unicode-14.0.0": "^1.2.1",
"charcodes": "^0.2.0" "charcodes": "^0.2.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helper-validator-option", "name": "@babel/helper-validator-option",
"version": "7.14.5", "version": "7.16.7",
"description": "Validate plugin/preset options", "description": "Validate plugin/preset options",
"repository": { "repository": {
"type": "git", "type": "git",
@ -12,7 +12,10 @@
"access": "public" "access": "public"
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"exports": "./lib/index.js", "exports": {
".": "./lib/index.js",
"./package.json": "./package.json"
},
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"
}, },

View File

@ -325,16 +325,17 @@ helpers.inherits = helper("7.0.0-beta.0")`
if (typeof superClass !== "function" && superClass !== null) { if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function"); throw new TypeError("Super expression must either be null or a function");
} }
Object.defineProperty(subClass, "prototype", { // We can't use defineProperty to set the prototype in a single step because it
value: Object.create(superClass && superClass.prototype, { // doesn't work in Chrome <= 36. https://github.com/babel/babel/issues/14056
constructor: { // V8 bug: https://bugs.chromium.org/p/v8/issues/detail?id=3334
value: subClass, subClass.prototype = Object.create(superClass && superClass.prototype, {
writable: true, constructor: {
configurable: true value: subClass,
} writable: true,
}), configurable: true
writable: false, }
}); });
Object.defineProperty(subClass, "prototype", { writable: false });
if (superClass) setPrototypeOf(subClass, superClass); if (superClass) setPrototypeOf(subClass, superClass);
} }
`; `;

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/helpers", "name": "@babel/helpers",
"version": "7.16.5", "version": "7.16.7",
"description": "Collection of helper functions used by Babel transforms.", "description": "Collection of helper functions used by Babel transforms.",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-helpers", "homepage": "https://babel.dev/docs/en/next/babel-helpers",
@ -15,12 +15,12 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/template": "^7.16.0", "@babel/template": "^7.16.7",
"@babel/traverse": "^7.16.5", "@babel/traverse": "^7.16.7",
"@babel/types": "^7.16.0" "@babel/types": "^7.16.7"
}, },
"devDependencies": { "devDependencies": {
"@babel/helper-plugin-test-runner": "^7.16.5", "@babel/helper-plugin-test-runner": "^7.16.7",
"terser": "^5.9.0" "terser": "^5.9.0"
}, },
"engines": { "engines": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/highlight", "name": "@babel/highlight",
"version": "7.16.0", "version": "7.16.7",
"description": "Syntax highlight JavaScript strings for output in terminals.", "description": "Syntax highlight JavaScript strings for output in terminals.",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-highlight", "homepage": "https://babel.dev/docs/en/next/babel-highlight",
@ -15,7 +15,7 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/helper-validator-identifier": "^7.15.7", "@babel/helper-validator-identifier": "^7.16.7",
"chalk": "^2.0.0", "chalk": "^2.0.0",
"js-tokens": "^4.0.0" "js-tokens": "^4.0.0"
}, },

View File

@ -9856,7 +9856,7 @@ var typescript = (superClass => class extends superClass {
parseVarId(decl, kind) { parseVarId(decl, kind) {
super.parseVarId(decl, kind); super.parseVarId(decl, kind);
if (decl.id.type === "Identifier" && this.eat(35)) { if (decl.id.type === "Identifier" && !this.hasPrecedingLineBreak() && this.eat(35)) {
decl.definite = true; decl.definite = true;
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/parser", "name": "@babel/parser",
"version": "7.16.6", "version": "7.16.7",
"description": "A JavaScript parser", "description": "A JavaScript parser",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-parser", "homepage": "https://babel.dev/docs/en/next/babel-parser",
@ -33,9 +33,9 @@
"node": ">=6.0.0" "node": ">=6.0.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/code-frame": "^7.16.0", "@babel/code-frame": "^7.16.7",
"@babel/helper-fixtures": "^7.16.5", "@babel/helper-fixtures": "^7.16.7",
"@babel/helper-validator-identifier": "^7.15.7", "@babel/helper-validator-identifier": "^7.16.7",
"charcodes": "^0.2.0" "charcodes": "^0.2.0"
}, },
"bin": "./bin/babel-parser.js" "bin": "./bin/babel-parser.js"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/plugin-syntax-import-assertions", "name": "@babel/plugin-syntax-import-assertions",
"version": "7.16.5", "version": "7.16.7",
"description": "Allow parsing of the module assertion attributes in the import statement", "description": "Allow parsing of the module assertion attributes in the import statement",
"repository": { "repository": {
"type": "git", "type": "git",
@ -16,13 +16,13 @@
"babel-plugin" "babel-plugin"
], ],
"dependencies": { "dependencies": {
"@babel/helper-plugin-utils": "^7.16.5" "@babel/helper-plugin-utils": "^7.16.7"
}, },
"peerDependencies": { "peerDependencies": {
"@babel/core": "^7.0.0-0" "@babel/core": "^7.0.0-0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.16.5" "@babel/core": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/template", "name": "@babel/template",
"version": "7.16.0", "version": "7.16.7",
"description": "Generate an AST from a string template.", "description": "Generate an AST from a string template.",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-template", "homepage": "https://babel.dev/docs/en/next/babel-template",
@ -16,9 +16,9 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/code-frame": "^7.16.0", "@babel/code-frame": "^7.16.7",
"@babel/parser": "^7.16.0", "@babel/parser": "^7.16.7",
"@babel/types": "^7.16.0" "@babel/types": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/traverse", "name": "@babel/traverse",
"version": "7.16.5", "version": "7.16.7",
"description": "The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes", "description": "The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-traverse", "homepage": "https://babel.dev/docs/en/next/babel-traverse",
@ -16,19 +16,19 @@
}, },
"main": "./lib/index.js", "main": "./lib/index.js",
"dependencies": { "dependencies": {
"@babel/code-frame": "^7.16.0", "@babel/code-frame": "^7.16.7",
"@babel/generator": "^7.16.5", "@babel/generator": "^7.16.7",
"@babel/helper-environment-visitor": "^7.16.5", "@babel/helper-environment-visitor": "^7.16.7",
"@babel/helper-function-name": "^7.16.0", "@babel/helper-function-name": "^7.16.7",
"@babel/helper-hoist-variables": "^7.16.0", "@babel/helper-hoist-variables": "^7.16.7",
"@babel/helper-split-export-declaration": "^7.16.0", "@babel/helper-split-export-declaration": "^7.16.7",
"@babel/parser": "^7.16.5", "@babel/parser": "^7.16.7",
"@babel/types": "^7.16.0", "@babel/types": "^7.16.7",
"debug": "^4.1.0", "debug": "^4.1.0",
"globals": "^11.1.0" "globals": "^11.1.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/helper-plugin-test-runner": "^7.16.5" "@babel/helper-plugin-test-runner": "^7.16.7"
}, },
"engines": { "engines": {
"node": ">=6.9.0" "node": ">=6.9.0"

View File

@ -1,6 +1,5 @@
import t from "@babel/types"; import t from "@babel/types";
import virtualTypes from "../../lib/path/lib/virtual-types.js"; import virtualTypes from "../../lib/path/lib/virtual-types.js";
import definitions from "@babel/types/lib/definitions/index.js";
export default function generateValidators() { export default function generateValidators() {
let output = `/* let output = `/*
@ -21,7 +20,7 @@ export interface NodePathValidators {
for (const type of Object.keys(virtualTypes)) { for (const type of Object.keys(virtualTypes)) {
const { types } = virtualTypes[type]; const { types } = virtualTypes[type];
if (type[0] === "_") continue; if (type[0] === "_") continue;
if (definitions.NODE_FIELDS[type] || definitions.FLIPPED_ALIAS_KEYS[type]) { if (t.NODE_FIELDS[type] || t.FLIPPED_ALIAS_KEYS[type]) {
output += `is${type}(opts?: object): this is NodePath<t.${type}>;`; output += `is${type}(opts?: object): this is NodePath<t.${type}>;`;
} else if (types /* in VirtualTypeAliases */) { } else if (types /* in VirtualTypeAliases */) {
output += `is${type}(opts?: object): this is NodePath<VirtualTypeAliases["${type}"]>;`; output += `is${type}(opts?: object): this is NodePath<VirtualTypeAliases["${type}"]>;`;

View File

@ -1,6 +1,6 @@
{ {
"name": "@babel/types", "name": "@babel/types",
"version": "7.16.0", "version": "7.16.7",
"description": "Babel Types is a Lodash-esque utility library for AST nodes", "description": "Babel Types is a Lodash-esque utility library for AST nodes",
"author": "The Babel Team (https://babel.dev/team)", "author": "The Babel Team (https://babel.dev/team)",
"homepage": "https://babel.dev/docs/en/next/babel-types", "homepage": "https://babel.dev/docs/en/next/babel-types",
@ -24,12 +24,12 @@
} }
}, },
"dependencies": { "dependencies": {
"@babel/helper-validator-identifier": "^7.15.7", "@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0" "to-fast-properties": "^2.0.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/generator": "^7.16.0", "@babel/generator": "^7.16.7",
"@babel/parser": "^7.16.0", "@babel/parser": "^7.16.7",
"chalk": "^4.1.0", "chalk": "^4.1.0",
"glob": "^7.1.7" "glob": "^7.1.7"
}, },

File diff suppressed because one or more lines are too long

View File

@ -33,8 +33,8 @@
// are only applied when a character is found to actually have a // are only applied when a character is found to actually have a
// code point above 128. // code point above 128.
// Generated by `bin/generate-identifier-regex.js`. // Generated by `bin/generate-identifier-regex.js`.
var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
@ -48,10 +48,10 @@
// generated by bin/generate-identifier-regex.js // generated by bin/generate-identifier-regex.js
// eslint-disable-next-line comma-spacing // eslint-disable-next-line comma-spacing
var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938]; var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938];
// eslint-disable-next-line comma-spacing // eslint-disable-next-line comma-spacing
var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239]; var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239];
// This has a complexity linear to the value of the code. The // This has a complexity linear to the value of the code. The
// assumption is that looking up astral identifier characters is // assumption is that looking up astral identifier characters is
@ -256,6 +256,17 @@
return code === 10 || code === 13 || code === 0x2028 || code === 0x2029 return code === 10 || code === 13 || code === 0x2028 || code === 0x2029
} }
function nextLineBreak(code, from, end) {
if ( end === void 0 ) end = code.length;
for (var i = from; i < end; i++) {
var next = code.charCodeAt(i);
if (isNewLine(next))
{ return i < end - 1 && next === 13 && code.charCodeAt(i + 1) === 10 ? i + 2 : i + 1 }
}
return -1
}
var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/; var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;
var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
@ -264,11 +275,9 @@
var hasOwnProperty = ref.hasOwnProperty; var hasOwnProperty = ref.hasOwnProperty;
var toString = ref.toString; var toString = ref.toString;
// Checks if an object has a property. var hasOwn = Object.hasOwn || (function (obj, propName) { return (
hasOwnProperty.call(obj, propName)
function has(obj, propName) { ); });
return hasOwnProperty.call(obj, propName)
}
var isArray = Array.isArray || (function (obj) { return ( var isArray = Array.isArray || (function (obj) { return (
toString.call(obj) === "[object Array]" toString.call(obj) === "[object Array]"
@ -278,6 +287,8 @@
return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$") return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$")
} }
var loneSurrogate = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;
// These are used when `options.locations` is on, for the // These are used when `options.locations` is on, for the
// `startLoc` and `endLoc` properties. // `startLoc` and `endLoc` properties.
@ -304,14 +315,10 @@
function getLineInfo(input, offset) { function getLineInfo(input, offset) {
for (var line = 1, cur = 0;;) { for (var line = 1, cur = 0;;) {
lineBreakG.lastIndex = cur; var nextBreak = nextLineBreak(input, cur, offset);
var match = lineBreakG.exec(input); if (nextBreak < 0) { return new Position(line, offset - cur) }
if (match && match.index < offset) { ++line;
++line; cur = nextBreak;
cur = match.index + match[0].length;
} else {
return new Position(line, offset - cur)
}
} }
} }
@ -417,7 +424,7 @@
var options = {}; var options = {};
for (var opt in defaultOptions) for (var opt in defaultOptions)
{ options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]; } { options[opt] = opts && hasOwn(opts, opt) ? opts[opt] : defaultOptions[opt]; }
if (options.ecmaVersion === "latest") { if (options.ecmaVersion === "latest") {
options.ecmaVersion = 1e8; options.ecmaVersion = 1e8;
@ -1583,7 +1590,7 @@
var parent = len === 0 ? null : this.privateNameStack[len - 1]; var parent = len === 0 ? null : this.privateNameStack[len - 1];
for (var i = 0; i < used.length; ++i) { for (var i = 0; i < used.length; ++i) {
var id = used[i]; var id = used[i];
if (!has(declared, id.name)) { if (!hasOwn(declared, id.name)) {
if (parent) { if (parent) {
parent.used.push(id); parent.used.push(id);
} else { } else {
@ -1636,7 +1643,7 @@
if (this.eat(types$1.star)) { if (this.eat(types$1.star)) {
if (this.options.ecmaVersion >= 11) { if (this.options.ecmaVersion >= 11) {
if (this.eatContextual("as")) { if (this.eatContextual("as")) {
node.exported = this.parseIdent(true); node.exported = this.parseModuleExportName();
this.checkExport(exports, node.exported.name, this.lastTokStart); this.checkExport(exports, node.exported.name, this.lastTokStart);
} else { } else {
node.exported = null; node.exported = null;
@ -1688,6 +1695,10 @@
this.checkUnreserved(spec.local); this.checkUnreserved(spec.local);
// check if export is defined // check if export is defined
this.checkLocalExport(spec.local); this.checkLocalExport(spec.local);
if (spec.local.type === "Literal") {
this.raise(spec.local.start, "A string literal cannot be used as an exported binding without `from`.");
}
} }
node.source = null; node.source = null;
@ -1699,7 +1710,7 @@
pp$8.checkExport = function(exports, name, pos) { pp$8.checkExport = function(exports, name, pos) {
if (!exports) { return } if (!exports) { return }
if (has(exports, name)) if (hasOwn(exports, name))
{ this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); } { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
exports[name] = true; exports[name] = true;
}; };
@ -1763,9 +1774,13 @@
} else { first = false; } } else { first = false; }
var node = this.startNode(); var node = this.startNode();
node.local = this.parseIdent(true); node.local = this.parseModuleExportName();
node.exported = this.eatContextual("as") ? this.parseIdent(true) : node.local; node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
this.checkExport(exports, node.exported.name, node.exported.start); this.checkExport(
exports,
node.exported[node.exported.type === "Identifier" ? "name" : "value"],
node.exported.start
);
nodes.push(this.finishNode(node, "ExportSpecifier")); nodes.push(this.finishNode(node, "ExportSpecifier"));
} }
return nodes return nodes
@ -1817,7 +1832,7 @@
} else { first = false; } } else { first = false; }
var node$2 = this.startNode(); var node$2 = this.startNode();
node$2.imported = this.parseIdent(true); node$2.imported = this.parseModuleExportName();
if (this.eatContextual("as")) { if (this.eatContextual("as")) {
node$2.local = this.parseIdent(); node$2.local = this.parseIdent();
} else { } else {
@ -1830,6 +1845,17 @@
return nodes return nodes
}; };
pp$8.parseModuleExportName = function() {
if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
var stringLiteral = this.parseLiteral(this.value);
if (loneSurrogate.test(stringLiteral.value)) {
this.raise(stringLiteral.start, "An export name cannot include a lone surrogate.");
}
return stringLiteral
}
return this.parseIdent(true)
};
// Set `ExpressionStatement#directive` property for directive prologues. // Set `ExpressionStatement#directive` property for directive prologues.
pp$8.adaptDirectivePrologue = function(statements) { pp$8.adaptDirectivePrologue = function(statements) {
for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) { for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {
@ -2103,7 +2129,7 @@
if (bindingType === BIND_LEXICAL && expr.name === "let") if (bindingType === BIND_LEXICAL && expr.name === "let")
{ this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); } { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); }
if (checkClashes) { if (checkClashes) {
if (has(checkClashes, expr.name)) if (hasOwn(checkClashes, expr.name))
{ this.raiseRecoverable(expr.start, "Argument name clash"); } { this.raiseRecoverable(expr.start, "Argument name clash"); }
checkClashes[expr.name] = true; checkClashes[expr.name] = true;
} }
@ -3598,26 +3624,30 @@
var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic"; var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic";
var ecma11BinaryProperties = ecma10BinaryProperties; var ecma11BinaryProperties = ecma10BinaryProperties;
var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict"; var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict";
var ecma13BinaryProperties = ecma12BinaryProperties;
var unicodeBinaryProperties = { var unicodeBinaryProperties = {
9: ecma9BinaryProperties, 9: ecma9BinaryProperties,
10: ecma10BinaryProperties, 10: ecma10BinaryProperties,
11: ecma11BinaryProperties, 11: ecma11BinaryProperties,
12: ecma12BinaryProperties 12: ecma12BinaryProperties,
13: ecma13BinaryProperties
}; };
// #table-unicode-general-category-values // #table-unicode-general-category-values
var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu"; var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu";
// #table-unicode-script-values // #table-unicode-script-values
var ecma9ScriptValues = "Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb"; var ecma9ScriptValues = "Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";
var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd"; var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";
var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"; var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi"; var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
var unicodeScriptValues = { var unicodeScriptValues = {
9: ecma9ScriptValues, 9: ecma9ScriptValues,
10: ecma10ScriptValues, 10: ecma10ScriptValues,
11: ecma11ScriptValues, 11: ecma11ScriptValues,
12: ecma12ScriptValues 12: ecma12ScriptValues,
13: ecma13ScriptValues
}; };
var data = {}; var data = {};
@ -3635,17 +3665,19 @@
d.nonBinary.sc = d.nonBinary.Script; d.nonBinary.sc = d.nonBinary.Script;
d.nonBinary.scx = d.nonBinary.Script_Extensions; d.nonBinary.scx = d.nonBinary.Script_Extensions;
} }
buildUnicodeData(9);
buildUnicodeData(10); for (var i = 0, list = [9, 10, 11, 12, 13]; i < list.length; i += 1) {
buildUnicodeData(11); var ecmaVersion = list[i];
buildUnicodeData(12);
buildUnicodeData(ecmaVersion);
}
var pp$1 = Parser.prototype; var pp$1 = Parser.prototype;
var RegExpValidationState = function RegExpValidationState(parser) { var RegExpValidationState = function RegExpValidationState(parser) {
this.parser = parser; this.parser = parser;
this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : ""); this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "");
this.unicodeProperties = data[parser.options.ecmaVersion >= 12 ? 12 : parser.options.ecmaVersion]; this.unicodeProperties = data[parser.options.ecmaVersion >= 13 ? 13 : parser.options.ecmaVersion];
this.source = ""; this.source = "";
this.flags = ""; this.flags = "";
this.start = 0; this.start = 0;
@ -4444,7 +4476,7 @@
return false return false
}; };
pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) { pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
if (!has(state.unicodeProperties.nonBinary, name)) if (!hasOwn(state.unicodeProperties.nonBinary, name))
{ state.raise("Invalid property name"); } { state.raise("Invalid property name"); }
if (!state.unicodeProperties.nonBinary[name].test(value)) if (!state.unicodeProperties.nonBinary[name].test(value))
{ state.raise("Invalid property value"); } { state.raise("Invalid property value"); }
@ -4796,11 +4828,9 @@
if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); } if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); }
this.pos = end + 2; this.pos = end + 2;
if (this.options.locations) { if (this.options.locations) {
lineBreakG.lastIndex = start; for (var nextBreak = (void 0), pos = start; (nextBreak = nextLineBreak(this.input, pos, this.pos)) > -1;) {
var match;
while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {
++this.curLine; ++this.curLine;
this.lineStart = match.index + match[0].length; pos = this.lineStart = nextBreak;
} }
} }
if (this.options.onComment) if (this.options.onComment)
@ -5511,7 +5541,7 @@
// Acorn is a tiny, fast JavaScript parser written in JavaScript. // Acorn is a tiny, fast JavaScript parser written in JavaScript.
var version = "8.6.0"; var version = "8.7.0";
Parser.acorn = { Parser.acorn = {
Parser: Parser, Parser: Parser,

View File

@ -27,8 +27,8 @@ var keywordRelationalOperator = /^in(stanceof)?$/;
// are only applied when a character is found to actually have a // are only applied when a character is found to actually have a
// code point above 128. // code point above 128.
// Generated by `bin/generate-identifier-regex.js`. // Generated by `bin/generate-identifier-regex.js`.
var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f"; var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
@ -42,10 +42,10 @@ nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
// generated by bin/generate-identifier-regex.js // generated by bin/generate-identifier-regex.js
// eslint-disable-next-line comma-spacing // eslint-disable-next-line comma-spacing
var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938]; var astralIdentifierStartCodes = [0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938];
// eslint-disable-next-line comma-spacing // eslint-disable-next-line comma-spacing
var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239]; var astralIdentifierCodes = [509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239];
// This has a complexity linear to the value of the code. The // This has a complexity linear to the value of the code. The
// assumption is that looking up astral identifier characters is // assumption is that looking up astral identifier characters is
@ -250,6 +250,17 @@ function isNewLine(code) {
return code === 10 || code === 13 || code === 0x2028 || code === 0x2029 return code === 10 || code === 13 || code === 0x2028 || code === 0x2029
} }
function nextLineBreak(code, from, end) {
if ( end === void 0 ) end = code.length;
for (var i = from; i < end; i++) {
var next = code.charCodeAt(i);
if (isNewLine(next))
{ return i < end - 1 && next === 13 && code.charCodeAt(i + 1) === 10 ? i + 2 : i + 1 }
}
return -1
}
var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/; var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/;
var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
@ -258,11 +269,9 @@ var ref = Object.prototype;
var hasOwnProperty = ref.hasOwnProperty; var hasOwnProperty = ref.hasOwnProperty;
var toString = ref.toString; var toString = ref.toString;
// Checks if an object has a property. var hasOwn = Object.hasOwn || (function (obj, propName) { return (
hasOwnProperty.call(obj, propName)
function has(obj, propName) { ); });
return hasOwnProperty.call(obj, propName)
}
var isArray = Array.isArray || (function (obj) { return ( var isArray = Array.isArray || (function (obj) { return (
toString.call(obj) === "[object Array]" toString.call(obj) === "[object Array]"
@ -272,6 +281,8 @@ function wordsRegexp(words) {
return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$") return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$")
} }
var loneSurrogate = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;
// These are used when `options.locations` is on, for the // These are used when `options.locations` is on, for the
// `startLoc` and `endLoc` properties. // `startLoc` and `endLoc` properties.
@ -298,14 +309,10 @@ var SourceLocation = function SourceLocation(p, start, end) {
function getLineInfo(input, offset) { function getLineInfo(input, offset) {
for (var line = 1, cur = 0;;) { for (var line = 1, cur = 0;;) {
lineBreakG.lastIndex = cur; var nextBreak = nextLineBreak(input, cur, offset);
var match = lineBreakG.exec(input); if (nextBreak < 0) { return new Position(line, offset - cur) }
if (match && match.index < offset) { ++line;
++line; cur = nextBreak;
cur = match.index + match[0].length;
} else {
return new Position(line, offset - cur)
}
} }
} }
@ -411,7 +418,7 @@ function getOptions(opts) {
var options = {}; var options = {};
for (var opt in defaultOptions) for (var opt in defaultOptions)
{ options[opt] = opts && has(opts, opt) ? opts[opt] : defaultOptions[opt]; } { options[opt] = opts && hasOwn(opts, opt) ? opts[opt] : defaultOptions[opt]; }
if (options.ecmaVersion === "latest") { if (options.ecmaVersion === "latest") {
options.ecmaVersion = 1e8; options.ecmaVersion = 1e8;
@ -1577,7 +1584,7 @@ pp$8.exitClassBody = function() {
var parent = len === 0 ? null : this.privateNameStack[len - 1]; var parent = len === 0 ? null : this.privateNameStack[len - 1];
for (var i = 0; i < used.length; ++i) { for (var i = 0; i < used.length; ++i) {
var id = used[i]; var id = used[i];
if (!has(declared, id.name)) { if (!hasOwn(declared, id.name)) {
if (parent) { if (parent) {
parent.used.push(id); parent.used.push(id);
} else { } else {
@ -1630,7 +1637,7 @@ pp$8.parseExport = function(node, exports) {
if (this.eat(types$1.star)) { if (this.eat(types$1.star)) {
if (this.options.ecmaVersion >= 11) { if (this.options.ecmaVersion >= 11) {
if (this.eatContextual("as")) { if (this.eatContextual("as")) {
node.exported = this.parseIdent(true); node.exported = this.parseModuleExportName();
this.checkExport(exports, node.exported.name, this.lastTokStart); this.checkExport(exports, node.exported.name, this.lastTokStart);
} else { } else {
node.exported = null; node.exported = null;
@ -1682,6 +1689,10 @@ pp$8.parseExport = function(node, exports) {
this.checkUnreserved(spec.local); this.checkUnreserved(spec.local);
// check if export is defined // check if export is defined
this.checkLocalExport(spec.local); this.checkLocalExport(spec.local);
if (spec.local.type === "Literal") {
this.raise(spec.local.start, "A string literal cannot be used as an exported binding without `from`.");
}
} }
node.source = null; node.source = null;
@ -1693,7 +1704,7 @@ pp$8.parseExport = function(node, exports) {
pp$8.checkExport = function(exports, name, pos) { pp$8.checkExport = function(exports, name, pos) {
if (!exports) { return } if (!exports) { return }
if (has(exports, name)) if (hasOwn(exports, name))
{ this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); } { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
exports[name] = true; exports[name] = true;
}; };
@ -1757,9 +1768,13 @@ pp$8.parseExportSpecifiers = function(exports) {
} else { first = false; } } else { first = false; }
var node = this.startNode(); var node = this.startNode();
node.local = this.parseIdent(true); node.local = this.parseModuleExportName();
node.exported = this.eatContextual("as") ? this.parseIdent(true) : node.local; node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
this.checkExport(exports, node.exported.name, node.exported.start); this.checkExport(
exports,
node.exported[node.exported.type === "Identifier" ? "name" : "value"],
node.exported.start
);
nodes.push(this.finishNode(node, "ExportSpecifier")); nodes.push(this.finishNode(node, "ExportSpecifier"));
} }
return nodes return nodes
@ -1811,7 +1826,7 @@ pp$8.parseImportSpecifiers = function() {
} else { first = false; } } else { first = false; }
var node$2 = this.startNode(); var node$2 = this.startNode();
node$2.imported = this.parseIdent(true); node$2.imported = this.parseModuleExportName();
if (this.eatContextual("as")) { if (this.eatContextual("as")) {
node$2.local = this.parseIdent(); node$2.local = this.parseIdent();
} else { } else {
@ -1824,6 +1839,17 @@ pp$8.parseImportSpecifiers = function() {
return nodes return nodes
}; };
pp$8.parseModuleExportName = function() {
if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
var stringLiteral = this.parseLiteral(this.value);
if (loneSurrogate.test(stringLiteral.value)) {
this.raise(stringLiteral.start, "An export name cannot include a lone surrogate.");
}
return stringLiteral
}
return this.parseIdent(true)
};
// Set `ExpressionStatement#directive` property for directive prologues. // Set `ExpressionStatement#directive` property for directive prologues.
pp$8.adaptDirectivePrologue = function(statements) { pp$8.adaptDirectivePrologue = function(statements) {
for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) { for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) {
@ -2097,7 +2123,7 @@ pp$7.checkLValSimple = function(expr, bindingType, checkClashes) {
if (bindingType === BIND_LEXICAL && expr.name === "let") if (bindingType === BIND_LEXICAL && expr.name === "let")
{ this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); } { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); }
if (checkClashes) { if (checkClashes) {
if (has(checkClashes, expr.name)) if (hasOwn(checkClashes, expr.name))
{ this.raiseRecoverable(expr.start, "Argument name clash"); } { this.raiseRecoverable(expr.start, "Argument name clash"); }
checkClashes[expr.name] = true; checkClashes[expr.name] = true;
} }
@ -3592,26 +3618,30 @@ var ecma9BinaryProperties = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Ass
var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic"; var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic";
var ecma11BinaryProperties = ecma10BinaryProperties; var ecma11BinaryProperties = ecma10BinaryProperties;
var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict"; var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict";
var ecma13BinaryProperties = ecma12BinaryProperties;
var unicodeBinaryProperties = { var unicodeBinaryProperties = {
9: ecma9BinaryProperties, 9: ecma9BinaryProperties,
10: ecma10BinaryProperties, 10: ecma10BinaryProperties,
11: ecma11BinaryProperties, 11: ecma11BinaryProperties,
12: ecma12BinaryProperties 12: ecma12BinaryProperties,
13: ecma13BinaryProperties
}; };
// #table-unicode-general-category-values // #table-unicode-general-category-values
var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu"; var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu";
// #table-unicode-script-values // #table-unicode-script-values
var ecma9ScriptValues = "Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb"; var ecma9ScriptValues = "Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb";
var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd"; var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd";
var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"; var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi"; var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
var unicodeScriptValues = { var unicodeScriptValues = {
9: ecma9ScriptValues, 9: ecma9ScriptValues,
10: ecma10ScriptValues, 10: ecma10ScriptValues,
11: ecma11ScriptValues, 11: ecma11ScriptValues,
12: ecma12ScriptValues 12: ecma12ScriptValues,
13: ecma13ScriptValues
}; };
var data = {}; var data = {};
@ -3629,17 +3659,19 @@ function buildUnicodeData(ecmaVersion) {
d.nonBinary.sc = d.nonBinary.Script; d.nonBinary.sc = d.nonBinary.Script;
d.nonBinary.scx = d.nonBinary.Script_Extensions; d.nonBinary.scx = d.nonBinary.Script_Extensions;
} }
buildUnicodeData(9);
buildUnicodeData(10); for (var i = 0, list = [9, 10, 11, 12, 13]; i < list.length; i += 1) {
buildUnicodeData(11); var ecmaVersion = list[i];
buildUnicodeData(12);
buildUnicodeData(ecmaVersion);
}
var pp$1 = Parser.prototype; var pp$1 = Parser.prototype;
var RegExpValidationState = function RegExpValidationState(parser) { var RegExpValidationState = function RegExpValidationState(parser) {
this.parser = parser; this.parser = parser;
this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : ""); this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "");
this.unicodeProperties = data[parser.options.ecmaVersion >= 12 ? 12 : parser.options.ecmaVersion]; this.unicodeProperties = data[parser.options.ecmaVersion >= 13 ? 13 : parser.options.ecmaVersion];
this.source = ""; this.source = "";
this.flags = ""; this.flags = "";
this.start = 0; this.start = 0;
@ -4438,7 +4470,7 @@ pp$1.regexp_eatUnicodePropertyValueExpression = function(state) {
return false return false
}; };
pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) { pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) {
if (!has(state.unicodeProperties.nonBinary, name)) if (!hasOwn(state.unicodeProperties.nonBinary, name))
{ state.raise("Invalid property name"); } { state.raise("Invalid property name"); }
if (!state.unicodeProperties.nonBinary[name].test(value)) if (!state.unicodeProperties.nonBinary[name].test(value))
{ state.raise("Invalid property value"); } { state.raise("Invalid property value"); }
@ -4790,11 +4822,9 @@ pp.skipBlockComment = function() {
if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); } if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); }
this.pos = end + 2; this.pos = end + 2;
if (this.options.locations) { if (this.options.locations) {
lineBreakG.lastIndex = start; for (var nextBreak = (void 0), pos = start; (nextBreak = nextLineBreak(this.input, pos, this.pos)) > -1;) {
var match;
while ((match = lineBreakG.exec(this.input)) && match.index < this.pos) {
++this.curLine; ++this.curLine;
this.lineStart = match.index + match[0].length; pos = this.lineStart = nextBreak;
} }
} }
if (this.options.onComment) if (this.options.onComment)
@ -5505,7 +5535,7 @@ pp.readWord = function() {
// Acorn is a tiny, fast JavaScript parser written in JavaScript. // Acorn is a tiny, fast JavaScript parser written in JavaScript.
var version = "8.6.0"; var version = "8.7.0";
Parser.acorn = { Parser.acorn = {
Parser: Parser, Parser: Parser,

View File

@ -30,7 +30,7 @@ var options = {};
function help(status) { function help(status) {
var print = (status === 0) ? console.log : console.error; var print = (status === 0) ? console.log : console.error;
print("usage: " + path.basename(process.argv[1]) + " [--ecma3|--ecma5|--ecma6|--ecma7|--ecma8|--ecma9|...|--ecma2015|--ecma2016|--ecma2017|--ecma2018|...]"); print("usage: " + path.basename(process.argv[1]) + " [--ecma3|--ecma5|--ecma6|--ecma7|--ecma8|--ecma9|...|--ecma2015|--ecma2016|--ecma2017|--ecma2018|...]");
print(" [--tokenize] [--locations] [---allow-hash-bang] [--allow-await-outside-function] [--compact] [--silent] [--module] [--help] [--] [<infile>...]"); print(" [--tokenize] [--locations] [--allow-hash-bang] [--allow-await-outside-function] [--compact] [--silent] [--module] [--help] [--] [<infile>...]");
process.exit(status); process.exit(status);
} }

View File

@ -16,7 +16,7 @@
], ],
"./package.json": "./package.json" "./package.json": "./package.json"
}, },
"version": "8.6.0", "version": "8.7.0",
"engines": {"node": ">=0.4.0"}, "engines": {"node": ">=0.4.0"},
"maintainers": [ "maintainers": [
{ {
@ -40,7 +40,7 @@
}, },
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"prepare": "cd ..; npm run build:main && npm run build:bin" "prepare": "cd ..; npm run build:main"
}, },
"bin": {"acorn": "./bin/acorn"} "bin": {"acorn": "./bin/acorn"}
} }

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
module.exports={A:{A:{"2":"J D E F A B oB"},B:{"1":"G M N O","33":"C K L P Q R U V W X Y Z a b c d e S f H"},C:{"1":"BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB","2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB qB rB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f H iB sB tB"},E:{"16":"uB jB","33":"I g J D E F A B C K L G vB wB xB yB kB cB dB zB 0B 1B lB 2B"},F:{"2":"F B C 3B 4B 5B 6B cB mB 7B dB","33":"0 1 2 3 4 5 6 7 8 9 G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB"},G:{"16":"jB 8B nB 9B","33":"E AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"16":"eB TC UC VC","33":"I H WC nB XC YC"},J:{"33":"D A"},K:{"16":"A B C cB mB dB","33":"T"},L:{"33":"H"},M:{"1":"S"},N:{"2":"A B"},O:{"33":"ZC"},P:{"33":"I aC bC cC dC eC kB fC gC hC iC jC"},Q:{"33":"kC"},R:{"33":"lC"},S:{"1":"mC"}},B:7,C:"Background-clip: text"}; module.exports={A:{A:{"2":"J D E F A B oB"},B:{"1":"G M N O","33":"C K L P Q R U V W X Y Z a b c d e S f H"},C:{"1":"BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB","2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB qB rB"},D:{"33":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f H iB sB tB"},E:{"1":"L G 0B 1B lB 2B","16":"uB jB","33":"I g J D E F A B C K vB wB xB yB kB cB dB zB"},F:{"2":"F B C 3B 4B 5B 6B cB mB 7B dB","33":"0 1 2 3 4 5 6 7 8 9 G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB"},G:{"1":"PC QC RC lB","16":"jB 8B nB 9B","33":"E AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC"},H:{"2":"SC"},I:{"16":"eB TC UC VC","33":"I H WC nB XC YC"},J:{"33":"D A"},K:{"16":"A B C cB mB dB","33":"T"},L:{"33":"H"},M:{"1":"S"},N:{"2":"A B"},O:{"33":"ZC"},P:{"33":"I aC bC cC dC eC kB fC gC hC iC jC"},Q:{"33":"kC"},R:{"33":"lC"},S:{"1":"mC"}},B:7,C:"Background-clip: text"};

View File

@ -1 +1 @@
module.exports={A:{D:{"1":"H iB sB","33":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f"},L:{"1":"H iB sB","33":"0 1 2 3 4 5 6 7 8 9 O n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f"},B:{"1":"H iB sB","2":"C K L G M N O","33":"P Q R U V W X Y Z a b c d e S f"},C:{"1":"X Y Z a b c d e S f H iB sB","2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W qB rB"},M:{"1":"X Y Z a b c d e S f H iB sB","2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB P Q R hB U V W"},A:{"2":"pB eB I g J D E F A B oB"},F:{"1":"hB U V","2":"pB eB I g J D E F A B C qB rB vB xB yB eC kB 5B 6B cB mB 7B dB","33":"0 1 2 3 4 5 6 7 8 9 G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R"},K:{"33":"3 4 5 6 7 8 9 L G M O h i j k m n o p q r s u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB","34":"B C kB cB mB dB"},E:{"33":"eB I g J D E F A B C K L G uB vB yB kB cB dB zB 0B 1B","34":"pB"},G:{"33":"pB eB I g J D E F A B C K L G jB EC GC 1B"},P:{"33":"TC jB dC eC gC dB hC MC iC jC"},I:{"1":"H iB sB","33":"0 1 2 3 4 5 6 7 8 9 pB eB I z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f UC XC"}},B:6,C:":autofill CSS pseudo-class"}; module.exports={A:{D:{"1":"H iB sB","33":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f"},L:{"1":"H iB sB","33":"0 1 2 3 4 5 6 7 8 9 O n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f"},B:{"1":"H iB sB","2":"C K L G M N O","33":"P Q R U V W X Y Z a b c d e S f"},C:{"1":"X Y Z a b c d e S f H iB sB","2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W qB rB"},M:{"1":"X Y Z a b c d e S f H iB sB","2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB P Q R hB U V W"},A:{"2":"pB eB I g J D E F A B oB"},F:{"1":"hB U V","2":"pB eB I g J D E F A B C qB rB vB xB yB eC kB 5B 6B cB mB 7B dB","33":"0 1 2 3 4 5 6 7 8 9 G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R"},K:{"33":"3 4 5 6 7 8 9 L G M O h i j k m n o p q r s u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB","34":"B C kB cB mB dB"},E:{"33":"eB I g J D E F A B C K L G uB vB yB kB cB dB zB 0B 1B lB","34":"pB"},G:{"33":"pB eB I g J D E F A B C K L G jB EC GC 1B lB"},P:{"33":"TC jB dC eC gC dB hC MC iC jC"},I:{"1":"H iB sB","33":"0 1 2 3 4 5 6 7 8 9 pB eB I z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f UC XC"}},B:6,C:":autofill CSS pseudo-class"};

View File

@ -1 +1 @@
module.exports={A:{A:{"2":"J D E F A B oB"},B:{"2":"C K L G M N O P Q R U V W X Y Z a b c d e S f","322":"H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e qB rB","194":"S f H iB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f","322":"H iB sB tB"},E:{"2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 0B 1B lB","578":"2B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB 3B 4B 5B 6B cB mB 7B dB"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"2":"eB I H TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"2":"A B C T cB mB dB"},L:{"2":"H"},M:{"2":"S"},N:{"2":"A B"},O:{"2":"ZC"},P:{"2":"I aC bC cC dC eC kB fC gC hC iC jC"},Q:{"2":"kC"},R:{"2":"lC"},S:{"2":"mC"}},B:5,C:"CSS Cascade Layers"}; module.exports={A:{A:{"2":"J D E F A B oB"},B:{"2":"C K L G M N O P Q R U V W X Y Z a b c d e S f","322":"H"},C:{"1":"iB","2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e qB rB","194":"S f H"},D:{"1":"tB","2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f","322":"H iB sB"},E:{"2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 0B 1B lB","578":"2B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB 3B 4B 5B 6B cB mB 7B dB"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"2":"eB I H TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"2":"A B C T cB mB dB"},L:{"2":"H"},M:{"2":"S"},N:{"2":"A B"},O:{"2":"ZC"},P:{"2":"I aC bC cC dC eC kB fC gC hC iC jC"},Q:{"2":"kC"},R:{"2":"lC"},S:{"2":"mC"}},B:5,C:"CSS Cascade Layers"};

View File

@ -1 +1 @@
module.exports={A:{A:{"2":"J D E F A B oB"},B:{"1":"P Q R U V W X Y Z a b c d e S f H","2":"C K L G M N O"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB","2":"0 1 2 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z qB rB","194":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB"},D:{"1":"EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f H iB sB tB","2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB","66":"DB"},E:{"2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 0B 1B lB 2B"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB","2":"F B C G M N O h i j k l m n o p q r s t u v w x y z 3B 4B 5B 6B cB mB 7B dB","66":"0 1"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"1":"H","2":"eB I TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"1":"T","2":"A B C cB mB dB"},L:{"1":"H"},M:{"1":"S"},N:{"2":"A B"},O:{"1":"ZC"},P:{"1":"bC cC dC eC kB fC gC hC iC jC","2":"I aC"},Q:{"1":"kC"},R:{"2":"lC"},S:{"194":"mC"}},B:2,C:"CSS Containment"}; module.exports={A:{A:{"2":"J D E F A B oB"},B:{"1":"P Q R U V W X Y Z a b c d e S f H","2":"C K L G M N O"},C:{"1":"SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB","2":"0 1 2 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z qB rB","194":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB"},D:{"1":"EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f H iB sB tB","2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB","66":"DB"},E:{"2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 0B 1B lB","578":"2B"},F:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB","2":"F B C G M N O h i j k l m n o p q r s t u v w x y z 3B 4B 5B 6B cB mB 7B dB","66":"0 1"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"1":"H","2":"eB I TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"1":"T","2":"A B C cB mB dB"},L:{"1":"H"},M:{"1":"S"},N:{"2":"A B"},O:{"1":"ZC"},P:{"1":"bC cC dC eC kB fC gC hC iC jC","2":"I aC"},Q:{"1":"kC"},R:{"2":"lC"},S:{"194":"mC"}},B:2,C:"CSS Containment"};

View File

@ -0,0 +1 @@
module.exports={A:{D:{"1":"a b c d e S f H iB sB","33":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z"},L:{"1":"a b c d e S f H iB sB","33":"0 1 2 3 4 5 6 7 8 9 O n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z"},B:{"1":"a b c d e S f H iB sB","33":"C K L G M N O P Q R U V W X Y Z"},C:{"1":"hB U V W X Y Z a b c d e S f H iB sB","2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R qB rB"},M:{"1":"hB U V W X Y Z a b c d e S f H iB sB","2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB P Q R"},A:{"33":"A B","34":"pB eB I g J D E F oB"},F:{"1":"YB ZB aB bB P Q R hB U V","2":"pB eB I g J D E F A B C qB rB vB xB yB eC kB 5B 6B cB mB 7B dB","33":"0 1 2 3 4 5 6 7 8 9 G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB"},K:{"1":"NB T OB","2":"B C kB cB mB dB","33":"3 4 5 6 7 8 9 L G M O h i j k m n o p q r s u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB"},E:{"1":"G 0B 1B lB","2":"pB","33":"eB I g J D E F A B C K L uB vB yB kB cB dB zB"},G:{"1":"G 1B lB","33":"pB eB I g J D E F A B C K L jB EC GC"},P:{"1":"jC","33":"TC jB dC eC gC dB hC MC iC"},I:{"1":"a b c d e S f H iB sB","33":"0 1 2 3 4 5 6 7 8 9 pB eB I z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z UC XC"}},B:6,C:"::file-selector-button CSS pseudo-element"};

View File

@ -1 +1 @@
module.exports={A:{A:{"2":"J D E F A B oB"},B:{"2":"C K L G M N O P Q R U V W X Y Z a b c d e S f H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB qB rB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f H iB sB tB"},E:{"2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 0B 1B lB 2B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB 3B 4B 5B 6B cB mB 7B dB"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"2":"eB I H TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"2":"A B C T cB mB dB"},L:{"2":"H"},M:{"2":"S"},N:{"2":"A B"},O:{"2":"ZC"},P:{"2":"I aC bC cC dC eC kB fC gC hC iC jC"},Q:{"2":"kC"},R:{"2":"lC"},S:{"2":"mC"}},B:5,C:":has() CSS relational pseudo-class"}; module.exports={A:{A:{"2":"J D E F A B oB"},B:{"2":"C K L G M N O P Q R U V W X Y Z a b c d e S f H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB qB rB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f H iB sB tB"},E:{"1":"2B","2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 0B 1B lB"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB 3B 4B 5B 6B cB mB 7B dB"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"2":"eB I H TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"2":"A B C T cB mB dB"},L:{"2":"H"},M:{"2":"S"},N:{"2":"A B"},O:{"2":"ZC"},P:{"2":"I aC bC cC dC eC kB fC gC hC iC jC"},Q:{"2":"kC"},R:{"2":"lC"},S:{"2":"mC"}},B:5,C:":has() CSS relational pseudo-class"};

View File

@ -1 +1 @@
module.exports={A:{A:{"2":"J D E F A B oB"},B:{"1":"a b c d e S f H","2":"C K L G M N O","2052":"Y Z","3588":"P Q R U V W X"},C:{"1":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB","2":"pB","164":"0 1 2 eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z qB rB"},D:{"1":"a b c d e S f H iB sB tB","292":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB","2052":"Y Z","3588":"SB TB UB VB WB XB YB ZB aB bB P Q R U V W X"},E:{"1":"G 1B lB 2B","292":"I g J D E F A B C uB jB vB wB xB yB kB cB","2052":"0B","3588":"K L dB zB"},F:{"1":"ZB aB bB P Q R hB","2":"F B C 3B 4B 5B 6B cB mB 7B dB","292":"0 1 2 3 4 5 6 7 8 9 G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB","2052":"XB YB","3588":"IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB"},G:{"1":"RC lB","292":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC","2052":"QC","3588":"KC LC MC NC OC PC"},H:{"2":"SC"},I:{"1":"H","292":"eB I TC UC VC WC nB XC YC"},J:{"292":"D A"},K:{"1":"T","2":"A B C cB mB dB"},L:{"1":"H"},M:{"1":"S"},N:{"2":"A B"},O:{"292":"ZC"},P:{"1":"jC","292":"I aC bC cC dC eC","3588":"kB fC gC hC iC"},Q:{"3588":"kC"},R:{"3588":"lC"},S:{"3588":"mC"}},B:5,C:"CSS Logical Properties"}; module.exports={A:{A:{"2":"J D E F A B oB"},B:{"1":"a b c d e S f H","2":"C K L G M N O","1028":"Y Z","1540":"P Q R U V W X"},C:{"1":"PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB","2":"pB","164":"0 1 2 eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z qB rB","1540":"3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB"},D:{"1":"a b c d e S f H iB sB tB","292":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB","1028":"Y Z","1540":"SB TB UB VB WB XB YB ZB aB bB P Q R U V W X"},E:{"1":"G 1B lB 2B","292":"I g J D E F A B C uB jB vB wB xB yB kB cB","1028":"0B","1540":"K L dB zB"},F:{"1":"ZB aB bB P Q R hB","2":"F B C 3B 4B 5B 6B cB mB 7B dB","292":"0 1 2 3 4 5 6 7 8 9 G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB","1028":"XB YB","1540":"IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB"},G:{"1":"RC lB","292":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC","1028":"QC","1540":"KC LC MC NC OC PC"},H:{"2":"SC"},I:{"1":"H","292":"eB I TC UC VC WC nB XC YC"},J:{"292":"D A"},K:{"1":"T","2":"A B C cB mB dB"},L:{"1":"H"},M:{"1":"S"},N:{"2":"A B"},O:{"292":"ZC"},P:{"1":"jC","292":"I aC bC cC dC eC","1540":"kB fC gC hC iC"},Q:{"1540":"kC"},R:{"1540":"lC"},S:{"1540":"mC"}},B:5,C:"CSS Logical Properties"};

View File

@ -1 +1 @@
module.exports={A:{A:{"2":"J D E F A B oB"},B:{"1":"P Q R U V W X Y Z a b c d e S f H","2":"C K L G M N O"},C:{"1":"VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB","2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB qB rB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f H iB sB tB","2":"0 1 2 3 4 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z","194":"5 6 7"},E:{"2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 0B 1B lB 2B"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB","2":"F B C G M N O h i j k l m n o p q r 3B 4B 5B 6B cB mB 7B dB","194":"s t u"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"1":"H","2":"eB I TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"1":"T","2":"A B C cB mB dB"},L:{"1":"H"},M:{"1":"S"},N:{"2":"A B"},O:{"1":"ZC"},P:{"1":"aC bC cC dC eC kB fC gC hC iC jC","2":"I"},Q:{"1":"kC"},R:{"1":"lC"},S:{"2":"mC"}},B:5,C:"CSS Motion Path"}; module.exports={A:{A:{"2":"J D E F A B oB"},B:{"1":"P Q R U V W X Y Z a b c d e S f H","2":"C K L G M N O"},C:{"1":"VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB","2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB qB rB"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f H iB sB tB","2":"0 1 2 3 4 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z","194":"5 6 7"},E:{"1":"2B","2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 0B 1B lB"},F:{"1":"0 1 2 3 4 5 6 7 8 9 v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB","2":"F B C G M N O h i j k l m n o p q r 3B 4B 5B 6B cB mB 7B dB","194":"s t u"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"1":"H","2":"eB I TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"1":"T","2":"A B C cB mB dB"},L:{"1":"H"},M:{"1":"S"},N:{"2":"A B"},O:{"1":"ZC"},P:{"1":"aC bC cC dC eC kB fC gC hC iC jC","2":"I"},Q:{"1":"kC"},R:{"1":"lC"},S:{"2":"mC"}},B:5,C:"CSS Motion Path"};

View File

@ -1 +1 @@
module.exports={A:{A:{"2":"J D E F oB","132":"A B"},B:{"1":"P Q R U V W X Y Z a b c d e S f H","132":"C K L G M N","516":"O"},C:{"1":"fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB","2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB qB rB"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f H iB sB tB","2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB","260":"NB T"},E:{"2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 1B lB 2B","1090":"0B"},F:{"1":"EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O h i j k l m n o p q r s t u v w x y z AB BB 3B 4B 5B 6B cB mB 7B dB","260":"CB DB"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"1":"H","2":"eB I TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"1":"T","2":"A B C cB mB dB"},L:{"1":"H"},M:{"1":"S"},N:{"132":"A B"},O:{"2":"ZC"},P:{"1":"dC eC kB fC gC hC iC jC","2":"I aC bC cC"},Q:{"1":"kC"},R:{"2":"lC"},S:{"2":"mC"}},B:7,C:"CSS overscroll-behavior"}; module.exports={A:{A:{"2":"J D E F oB","132":"A B"},B:{"1":"P Q R U V W X Y Z a b c d e S f H","132":"C K L G M N","516":"O"},C:{"1":"fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB","2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB qB rB"},D:{"1":"OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b c d e S f H iB sB tB","2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB","260":"NB T"},E:{"2":"I g J D E F A B C K L uB jB vB wB xB yB kB cB dB zB","1090":"G 0B 1B lB 2B"},F:{"1":"EB FB GB HB IB JB KB LB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB","2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O h i j k l m n o p q r s t u v w x y z AB BB 3B 4B 5B 6B cB mB 7B dB","260":"CB DB"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC","1090":"QC RC lB"},H:{"2":"SC"},I:{"1":"H","2":"eB I TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"1":"T","2":"A B C cB mB dB"},L:{"1":"H"},M:{"1":"S"},N:{"132":"A B"},O:{"2":"ZC"},P:{"1":"dC eC kB fC gC hC iC jC","2":"I aC bC cC"},Q:{"1":"kC"},R:{"2":"lC"},S:{"2":"mC"}},B:7,C:"CSS overscroll-behavior"};

View File

@ -1 +1 @@
module.exports={A:{A:{"2":"J D E F A B oB"},B:{"2":"C K L G M N O","194":"P Q R U V W","260":"X Y Z a b c d e S f H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB qB rB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB","194":"XB YB ZB aB bB P Q R U V W","260":"X Y Z a b c d e S f H iB sB tB"},E:{"2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 0B 1B lB","4":"2B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB 3B 4B 5B 6B cB mB 7B dB","194":"MB NB T OB PB QB RB SB TB UB","260":"VB WB XB YB ZB aB bB P Q R hB"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"2":"eB I H TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"2":"A B C T cB mB dB"},L:{"2":"H"},M:{"2":"S"},N:{"2":"A B"},O:{"2":"ZC"},P:{"2":"I aC bC cC dC eC kB fC gC hC iC jC"},Q:{"2":"kC"},R:{"2":"lC"},S:{"2":"mC"}},B:7,C:"File System Access API"}; module.exports={A:{A:{"2":"J D E F A B oB"},B:{"2":"C K L G M N O","194":"P Q R U V W","260":"X Y Z a b c d e S f H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB U V W X Y Z a b c d e S f H iB qB rB"},D:{"2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB","194":"XB YB ZB aB bB P Q R U V W","260":"X Y Z a b c d e S f H iB sB tB"},E:{"2":"I g J D E F A B C K L G uB jB vB wB xB yB kB cB dB zB 0B 1B","4":"lB 2B"},F:{"2":"0 1 2 3 4 5 6 7 8 9 F B C G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB LB 3B 4B 5B 6B cB mB 7B dB","194":"MB NB T OB PB QB RB SB TB UB","260":"VB WB XB YB ZB aB bB P Q R hB"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC OC PC QC RC","4":"lB"},H:{"2":"SC"},I:{"2":"eB I H TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"2":"A B C T cB mB dB"},L:{"2":"H"},M:{"2":"S"},N:{"2":"A B"},O:{"2":"ZC"},P:{"2":"I aC bC cC dC eC kB fC gC hC iC jC"},Q:{"2":"kC"},R:{"2":"lC"},S:{"2":"mC"}},B:7,C:"File System Access API"};

View File

@ -1 +1 @@
module.exports={A:{A:{"2":"J D E F A B oB"},B:{"1":"P Q R U V W X Y Z a b c d e S f H","2":"C K L G","194":"M N O"},C:{"2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB qB rB","194":"JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB","450":"XB YB ZB aB bB","513":"P Q R hB U V W X Y Z a b c d e S f H iB"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b","2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB","194":"LB gB MB NB T OB PB QB","513":"c d e S f H iB sB tB"},E:{"2":"I g J D E F A uB jB vB wB xB yB","194":"B C K L G kB cB dB zB 0B 1B lB","513":"2B"},F:{"1":"T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB","2":"0 1 2 3 4 5 6 7 8 F B C G M N O h i j k l m n o p q r s t u v w x y z 3B 4B 5B 6B cB mB 7B dB","194":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC","194":"GC HC IC JC KC LC MC NC OC PC QC RC lB"},H:{"2":"SC"},I:{"2":"eB I H TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"2":"A B C T cB mB dB"},L:{"513":"H"},M:{"513":"S"},N:{"2":"A B"},O:{"1":"ZC"},P:{"2":"I aC bC cC dC eC kB fC gC hC iC jC"},Q:{"2":"kC"},R:{"2":"lC"},S:{"2":"mC"}},B:6,C:"Shared Array Buffer"}; module.exports={A:{A:{"2":"J D E F A B oB"},B:{"1":"P Q R U V W X Y Z a b","2":"C K L G","194":"M N O","513":"c d e S f H"},C:{"2":"0 1 2 3 4 5 6 7 8 9 pB eB I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB qB rB","194":"JB KB fB LB gB MB NB T OB PB QB RB SB TB UB VB WB","450":"XB YB ZB aB bB","513":"P Q R hB U V W X Y Z a b c d e S f H iB"},D:{"1":"RB SB TB UB VB WB XB YB ZB aB bB P Q R U V W X Y Z a b","2":"0 1 2 3 4 5 6 7 8 9 I g J D E F A B C K L G M N O h i j k l m n o p q r s t u v w x y z AB BB CB DB EB FB GB HB IB JB KB fB","194":"LB gB MB NB T OB PB QB","513":"c d e S f H iB sB tB"},E:{"2":"I g J D E F A uB jB vB wB xB yB","194":"B C K L G kB cB dB zB 0B 1B","513":"lB 2B"},F:{"1":"T OB PB QB RB SB TB UB VB WB XB YB ZB aB bB P Q R hB","2":"0 1 2 3 4 5 6 7 8 F B C G M N O h i j k l m n o p q r s t u v w x y z 3B 4B 5B 6B cB mB 7B dB","194":"9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB"},G:{"2":"E jB 8B nB 9B AC BC CC DC EC FC","194":"GC HC IC JC KC LC MC NC OC PC QC RC","513":"lB"},H:{"2":"SC"},I:{"2":"eB I H TC UC VC WC nB XC YC"},J:{"2":"D A"},K:{"2":"A B C T cB mB dB"},L:{"513":"H"},M:{"513":"S"},N:{"2":"A B"},O:{"1":"ZC"},P:{"2":"I aC bC cC dC eC kB fC gC hC iC jC"},Q:{"2":"kC"},R:{"2":"lC"},S:{"2":"mC"}},B:6,C:"Shared Array Buffer"};

View File

@ -1,6 +1,6 @@
{ {
"name": "caniuse-lite", "name": "caniuse-lite",
"version": "1.0.30001287", "version": "1.0.30001294",
"description": "A smaller version of caniuse-db, with only the essentials!", "description": "A smaller version of caniuse-db, with only the essentials!",
"main": "dist/unpacker/index.js", "main": "dist/unpacker/index.js",
"files": [ "files": [

View File

@ -1710,6 +1710,13 @@ module.exports = {
"18.0.0-nightly.20211214", "18.0.0-nightly.20211214",
"18.0.0-nightly.20211215", "18.0.0-nightly.20211215",
"18.0.0-nightly.20211216", "18.0.0-nightly.20211216",
"18.0.0-nightly.20211217" "18.0.0-nightly.20211217",
"18.0.0-nightly.20211220",
"18.0.0-nightly.20211221",
"18.0.0-nightly.20211222",
"18.0.0-nightly.20211223",
"18.0.0-nightly.20211228",
"18.0.0-nightly.20211229",
"18.0.0-nightly.20211231"
] ]
}; };

File diff suppressed because one or more lines are too long

View File

@ -1247,5 +1247,12 @@ module.exports = {
"18.0.0-nightly.20211214": "98.0.4706.0", "18.0.0-nightly.20211214": "98.0.4706.0",
"18.0.0-nightly.20211215": "98.0.4706.0", "18.0.0-nightly.20211215": "98.0.4706.0",
"18.0.0-nightly.20211216": "98.0.4706.0", "18.0.0-nightly.20211216": "98.0.4706.0",
"18.0.0-nightly.20211217": "98.0.4706.0" "18.0.0-nightly.20211217": "98.0.4706.0",
"18.0.0-nightly.20211220": "98.0.4706.0",
"18.0.0-nightly.20211221": "98.0.4706.0",
"18.0.0-nightly.20211222": "98.0.4706.0",
"18.0.0-nightly.20211223": "98.0.4706.0",
"18.0.0-nightly.20211228": "98.0.4706.0",
"18.0.0-nightly.20211229": "98.0.4706.0",
"18.0.0-nightly.20211231": "98.0.4706.0"
}; };

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{ {
"name": "electron-to-chromium", "name": "electron-to-chromium",
"version": "1.4.24", "version": "1.4.31",
"description": "Provides a list of electron-to-chromium version mappings", "description": "Provides a list of electron-to-chromium version mappings",
"main": "index.js", "main": "index.js",
"files": [ "files": [
@ -34,7 +34,7 @@
"devDependencies": { "devDependencies": {
"ava": "^3.8.2", "ava": "^3.8.2",
"codecov": "^3.8.0", "codecov": "^3.8.0",
"electron-releases": "^3.894.0", "electron-releases": "^3.906.0",
"nyc": "^15.1.0", "nyc": "^15.1.0",
"request": "^2.65.0", "request": "^2.65.0",
"shelljs": "^0.8.4" "shelljs": "^0.8.4"

View File

@ -140,7 +140,7 @@ const getDefaultTagStructureForMode = mode => {
['typeAllowed', true]])], ['see', new Map([// Signature allows for "namepath" or text, so user must configure to ['typeAllowed', true]])], ['see', new Map([// Signature allows for "namepath" or text, so user must configure to
// 'namepath-referencing' to enforce checks // 'namepath-referencing' to enforce checks
['nameContents', 'text']])], ['static', new Map([// Does not show a signature nor show curly brackets in the example ['nameContents', 'text']])], ['static', new Map([// Does not show a signature nor show curly brackets in the example
['typeAllowed', isClosureOrPermissive]])], ['template', new Map([['nameContents', isJsdoc ? 'text' : 'namepath-referencing'], // Though defines `nameContents: 'namepath-defining'` in a sense, it is ['typeAllowed', isClosureOrPermissive]])], ['suppress', new Map([['nameContents', !isClosure], ['typeRequired', isClosure]])], ['template', new Map([['nameContents', isJsdoc ? 'text' : 'namepath-referencing'], // Though defines `nameContents: 'namepath-defining'` in a sense, it is
// not parseable in the same way for template (e.g., allowing commas), // not parseable in the same way for template (e.g., allowing commas),
// so not adding // so not adding
['typeAllowed', isTypescriptOrClosure || isPermissive]])], ['this', new Map([// Signature seems to require a "namepath" (and no counter-examples) ['typeAllowed', isTypescriptOrClosure || isPermissive]])], ['this', new Map([// Signature seems to require a "namepath" (and no counter-examples)

View File

@ -1156,6 +1156,9 @@ const getContextObject = (contexts, checkJsdoc, handler) => {
const properties = {}; const properties = {};
for (const [idx, prop] of contexts.entries()) { for (const [idx, prop] of contexts.entries()) {
let property;
let value;
if (typeof prop === 'object') { if (typeof prop === 'object') {
const selInfo = { const selInfo = {
lastIndex: idx, lastIndex: idx,
@ -1163,19 +1166,28 @@ const getContextObject = (contexts, checkJsdoc, handler) => {
}; };
if (prop.comment) { if (prop.comment) {
properties[prop.context] = checkJsdoc.bind(null, { ...selInfo, property = prop.context;
value = checkJsdoc.bind(null, { ...selInfo,
comment: prop.comment comment: prop.comment
}, handler.bind(null, prop.comment)); }, handler.bind(null, prop.comment));
} else { } else {
properties[prop.context] = checkJsdoc.bind(null, selInfo, null); property = prop.context;
value = checkJsdoc.bind(null, selInfo, null);
} }
} else { } else {
const selInfo = { const selInfo = {
lastIndex: idx, lastIndex: idx,
selector: prop selector: prop
}; };
properties[prop] = checkJsdoc.bind(null, selInfo, null); property = prop;
value = checkJsdoc.bind(null, selInfo, null);
} }
const old = properties[property];
properties[property] = old ? function (...args) {
old(...args);
value(...args);
} : value;
} }
return properties; return properties;

View File

@ -343,8 +343,8 @@ var _default = (0, _iterateJsdoc.default)(({
while ((exampleCode = exampleCodeRegex.exec(source)) !== null) { while ((exampleCode = exampleCodeRegex.exec(source)) !== null) {
const { const {
index, index,
0: n0, '0': n0,
1: n1 '1': n1
} = exampleCode; // Count anything preceding user regex match (can affect line numbering) } = exampleCode; // Count anything preceding user regex match (can affect line numbering)
const preMatch = source.slice(startingIndex, index); const preMatch = source.slice(startingIndex, index);

View File

@ -39,7 +39,7 @@ var _default = (0, _iterateJsdoc.default)(({
errorMessage = mainDescription.message; errorMessage = mainDescription.message;
} }
if (!tag && mainDescriptionMatch === false) { if (mainDescriptionMatch === false && (!tag || !Object.prototype.hasOwnProperty.call(tags, tag.tag))) {
return; return;
} }

View File

@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.default = void 0; exports.default = void 0;
var _esquery = _interopRequireDefault(require("esquery"));
var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc")); var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@ -28,14 +30,29 @@ const incrementSelector = (state, selector, comment) => {
}; };
var _default = (0, _iterateJsdoc.default)(({ var _default = (0, _iterateJsdoc.default)(({
context,
node,
info: { info: {
selector,
comment comment
}, },
state state
}) => { }) => {
var _foundContext$context;
if (!context.options[0]) {
// Handle error later
return;
}
const {
contexts
} = context.options[0];
const foundContext = contexts.find(cntxt => {
return typeof cntxt === 'string' ? _esquery.default.matches(node, _esquery.default.parse(cntxt)) : (!cntxt.context || cntxt.context === 'any' || _esquery.default.matches(node, _esquery.default.parse(cntxt.context))) && comment === cntxt.comment;
});
const contextStr = typeof foundContext === 'object' ? (_foundContext$context = foundContext.context) !== null && _foundContext$context !== void 0 ? _foundContext$context : 'any' : foundContext;
setDefaults(state); setDefaults(state);
incrementSelector(state, selector, comment); incrementSelector(state, contextStr, comment);
}, { }, {
contextSelected: true, contextSelected: true,
@ -98,6 +115,7 @@ var _default = (0, _iterateJsdoc.default)(({
}); });
}, },
matchContext: true,
meta: { meta: {
docs: { docs: {
description: 'Reports when certain comment structures are always expected.', description: 'Reports when certain comment structures are always expected.',

View File

@ -9,7 +9,12 @@ var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const middleAsterisks = /^([\t ]|\*(?!\*))+/u; const middleAsterisksBlockWS = /^([\t ]|\*(?!\*))+/u;
const middleAsterisksNoBlockWS = /^\*+/u;
const endAsterisksSingleLineBlockWS = /\*((?:\*|(?: |\t))*)\*$/u;
const endAsterisksMultipleLineBlockWS = /((?:\*|(?: |\t))*)\*$/u;
const endAsterisksSingleLineNoBlockWS = /\*(\**)\*$/u;
const endAsterisksMultipleLineNoBlockWS = /(\**)\*$/u;
var _default = (0, _iterateJsdoc.default)(({ var _default = (0, _iterateJsdoc.default)(({
context, context,
@ -17,9 +22,12 @@ var _default = (0, _iterateJsdoc.default)(({
utils utils
}) => { }) => {
const { const {
allowWhitespace = false,
preventAtEnd = true, preventAtEnd = true,
preventAtMiddleLines = true preventAtMiddleLines = true
} = context.options[0] || {}; } = context.options[0] || {};
const middleAsterisks = allowWhitespace ? middleAsterisksNoBlockWS : middleAsterisksBlockWS; // eslint-disable-next-line complexity -- Todo
jsdoc.source.some(({ jsdoc.source.some(({
tokens, tokens,
number number
@ -30,10 +38,12 @@ var _default = (0, _iterateJsdoc.default)(({
name, name,
type, type,
description, description,
end end,
postDelimiter
} = tokens; } = tokens;
if (preventAtMiddleLines && !end && !tag && !type && !name && middleAsterisks.test(description)) { if (preventAtMiddleLines && !end && !tag && !type && !name && (!allowWhitespace && middleAsterisks.test(description) || allowWhitespace && middleAsterisks.test(postDelimiter + description))) {
// console.log('description', JSON.stringify(description));
const fix = () => { const fix = () => {
tokens.description = description.replace(middleAsterisks, ''); tokens.description = description.replace(middleAsterisks, '');
}; };
@ -50,8 +60,15 @@ var _default = (0, _iterateJsdoc.default)(({
const isSingleLineBlock = delimiter === '/**'; const isSingleLineBlock = delimiter === '/**';
const delim = isSingleLineBlock ? '*' : delimiter; const delim = isSingleLineBlock ? '*' : delimiter;
const endAsterisks = isSingleLineBlock ? /\*((?:\*|(?: |\t))*)\*$/u : /((?:\*|(?: |\t))*)\*$/u; let endAsterisks;
const endingAsterisksAndSpaces = (description + delim).match(endAsterisks);
if (allowWhitespace) {
endAsterisks = isSingleLineBlock ? endAsterisksSingleLineNoBlockWS : endAsterisksMultipleLineNoBlockWS;
} else {
endAsterisks = isSingleLineBlock ? endAsterisksSingleLineBlockWS : endAsterisksMultipleLineBlockWS;
}
const endingAsterisksAndSpaces = (allowWhitespace ? postDelimiter + description + delim : description + delim).match(endAsterisks);
if (!endingAsterisksAndSpaces || !isSingleLineBlock && endingAsterisksAndSpaces[1] && !endingAsterisksAndSpaces[1].trim()) { if (!endingAsterisksAndSpaces || !isSingleLineBlock && endingAsterisksAndSpaces[1] && !endingAsterisksAndSpaces[1].trim()) {
return false; return false;
@ -81,6 +98,9 @@ var _default = (0, _iterateJsdoc.default)(({
schema: [{ schema: [{
additionalProperies: false, additionalProperies: false,
properties: { properties: {
allowWhitespace: {
type: 'boolean'
},
preventAtEnd: { preventAtEnd: {
type: 'boolean' type: 'boolean'
}, },

View File

@ -5,14 +5,16 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.default = void 0; exports.default = void 0;
var _esquery = _interopRequireDefault(require("esquery"));
var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc")); var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = (0, _iterateJsdoc.default)(({ var _default = (0, _iterateJsdoc.default)(({
node,
context, context,
info: { info: {
selector,
comment comment
}, },
report report
@ -28,8 +30,14 @@ var _default = (0, _iterateJsdoc.default)(({
contexts contexts
} = context.options[0]; } = context.options[0];
const foundContext = contexts.find(cntxt => { const foundContext = contexts.find(cntxt => {
return cntxt === selector || typeof cntxt === 'object' && (!cntxt.context || cntxt.context === 'any' || selector === cntxt.context) && comment === cntxt.comment; return typeof cntxt === 'string' ? _esquery.default.matches(node, _esquery.default.parse(cntxt)) : (!cntxt.context || cntxt.context === 'any' || _esquery.default.matches(node, _esquery.default.parse(cntxt.context))) && comment === cntxt.comment;
}); }); // We are not on the *particular* matching context/comment, so don't assume
// we need reporting
if (!foundContext) {
return;
}
const contextStr = typeof foundContext === 'object' ? (_foundContext$context = foundContext.context) !== null && _foundContext$context !== void 0 ? _foundContext$context : 'any' : foundContext; const contextStr = typeof foundContext === 'object' ? (_foundContext$context = foundContext.context) !== null && _foundContext$context !== void 0 ? _foundContext$context : 'any' : foundContext;
const message = (_foundContext$message = foundContext === null || foundContext === void 0 ? void 0 : foundContext.message) !== null && _foundContext$message !== void 0 ? _foundContext$message : 'Syntax is restricted: {{context}}.'; const message = (_foundContext$message = foundContext === null || foundContext === void 0 ? void 0 : foundContext.message) !== null && _foundContext$message !== void 0 ? _foundContext$message : 'Syntax is restricted: {{context}}.';
report(message, null, null, { report(message, null, null, {

View File

@ -65,10 +65,18 @@ var _default = (0, _iterateJsdoc.default)(({
if (tags.length > 1) { if (tags.length > 1) {
report(`Found more than one @${tagName} declaration.`); report(`Found more than one @${tagName} declaration.`);
return; return;
}
const [tag] = tags;
const returnNever = tag.type.trim() === 'never';
if (returnNever && utils.hasValueOrExecutorHasNonEmptyResolveValue(false)) {
report(`JSDoc @${tagName} declaration set with "never" but return expression is present in function.`);
return;
} // In case a return value is declared in JSDoc, we also expect one in the code. } // In case a return value is declared in JSDoc, we also expect one in the code.
if ((reportMissingReturnForUndefinedTypes || utils.hasDefinedTypeTag(tags[0])) && !utils.hasValueOrExecutorHasNonEmptyResolveValue(exemptAsync) && (!exemptGenerators || !node.generator)) { if (!returnNever && (reportMissingReturnForUndefinedTypes || utils.hasDefinedTypeTag(tag)) && !utils.hasValueOrExecutorHasNonEmptyResolveValue(exemptAsync) && (!exemptGenerators || !node.generator)) {
report(`JSDoc @${tagName} declaration present but return expression not available in function.`); report(`JSDoc @${tagName} declaration present but return expression not available in function.`);
} }
}, { }, {

View File

@ -52,6 +52,10 @@ var _default = (0, _iterateJsdoc.default)(({
const shouldReport = () => { const shouldReport = () => {
if (!missingThrowsTag) { if (!missingThrowsTag) {
if (tag.type.trim() === 'never' && iteratingFunction && utils.hasThrowValue()) {
report(`JSDoc @${tagName} declaration set to "never" but throw value found.`);
}
return false; return false;
} }

View File

@ -69,6 +69,14 @@ var _default = (0, _iterateJsdoc.default)(({
if (preferredYieldTagName) { if (preferredYieldTagName) {
const shouldReportYields = () => { const shouldReportYields = () => {
if (yieldTag.type.trim() === 'never') {
if (utils.hasYieldValue()) {
report(`JSDoc @${preferredYieldTagName} declaration set with "never" but yield expression is present in function.`);
}
return false;
}
if (checkGeneratorsOnly && !utils.isGenerator()) { if (checkGeneratorsOnly && !utils.isGenerator()) {
return true; return true;
} }
@ -87,6 +95,14 @@ var _default = (0, _iterateJsdoc.default)(({
if (preferredNextTagName) { if (preferredNextTagName) {
const shouldReportNext = () => { const shouldReportNext = () => {
if (nextTag.type.trim() === 'never') {
if (utils.hasYieldReturnValue()) {
report(`JSDoc @${preferredNextTagName} declaration set with "never" but yield expression with return value is present in function.`);
}
return false;
}
if (checkGeneratorsOnly && !utils.isGenerator()) { if (checkGeneratorsOnly && !utils.isGenerator()) {
return true; return true;
} }

View File

@ -12,6 +12,10 @@ var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const asExpression = /as\s+/u; const asExpression = /as\s+/u;
const suppressTypes = new Set([// https://github.com/google/closure-compiler/wiki/@suppress-annotations
// https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/parsing/ParserConfig.properties#L154
'accessControls', 'checkDebuggerStatement', 'checkPrototypalTypes', 'checkRegExp', 'checkTypes', 'checkVars', 'closureDepMethodUsageChecks', 'const', 'constantProperty', 'deprecated', 'duplicate', 'es5Strict', 'externsValidation', 'extraProvide', 'extraRequire', 'globalThis', 'invalidCasts', 'lateProvide', 'legacyGoogScopeRequire', 'lintChecks', 'messageConventions', 'misplacedTypeAnnotation', 'missingOverride', 'missingPolyfill', 'missingProperties', 'missingProvide', 'missingRequire', 'missingSourcesWarnings', 'moduleLoad', 'nonStandardJsDocs', 'partialAlias', 'polymer', 'reportUnknownTypes', 'strictMissingProperties', 'strictModuleDepCheck', 'strictPrimitiveOperators', 'suspiciousCode', // Not documented in enum
'switch', 'transitionalSuspiciousCodeWarnings', 'undefinedNames', 'undefinedVars', 'underscore', 'unknownDefines', 'untranspilableFeatures', 'unusedLocalVariables', 'unusedPrivateMembers', 'useOfGoogProvide', 'uselessCode', 'visibility', 'with']);
const tryParsePathIgnoreError = path => { const tryParsePathIgnoreError = path => {
try { try {
@ -120,6 +124,27 @@ var _default = (0, _iterateJsdoc.default)(({
continue; continue;
} }
if (tag.tag === 'suppress' && mode === 'closure') {
let parsedTypes;
try {
parsedTypes = (0, _jsdocTypePrattParser.tryParse)(tag.type);
} catch {// Ignore
}
if (parsedTypes) {
(0, _jsdocTypePrattParser.traverse)(parsedTypes, node => {
const {
value: type
} = node;
if (type !== undefined && !suppressTypes.has(type)) {
report(`Syntax error in supresss type: ${type}`, null, tag);
}
});
}
}
const otherModeMaps = ['jsdoc', 'typescript', 'closure', 'permissive'].filter(mde => { const otherModeMaps = ['jsdoc', 'typescript', 'closure', 'permissive'].filter(mde => {
return mde !== mode; return mde !== mode;
}).map(mde => { }).map(mde => {

View File

@ -5,12 +5,12 @@
"url": "http://gajus.com" "url": "http://gajus.com"
}, },
"dependencies": { "dependencies": {
"@es-joy/jsdoccomment": "0.13.0", "@es-joy/jsdoccomment": "0.14.1",
"comment-parser": "1.3.0", "comment-parser": "1.3.0",
"debug": "^4.3.3", "debug": "^4.3.3",
"escape-string-regexp": "^4.0.0", "escape-string-regexp": "^4.0.0",
"esquery": "^1.4.0", "esquery": "^1.4.0",
"jsdoc-type-pratt-parser": "^2.0.0", "jsdoc-type-pratt-parser": "^2.0.2",
"regextras": "^0.8.0", "regextras": "^0.8.0",
"semver": "^7.3.5", "semver": "^7.3.5",
"spdx-expression-parse": "^3.0.1" "spdx-expression-parse": "^3.0.1"
@ -26,19 +26,19 @@
"@babel/preset-env": "^7.16.5", "@babel/preset-env": "^7.16.5",
"@babel/register": "^7.16.5", "@babel/register": "^7.16.5",
"@hkdobrev/run-if-changed": "^0.3.1", "@hkdobrev/run-if-changed": "^0.3.1",
"@typescript-eslint/parser": "^5.7.0", "@typescript-eslint/parser": "^5.8.1",
"babel-plugin-add-module-exports": "^1.0.4", "babel-plugin-add-module-exports": "^1.0.4",
"babel-plugin-istanbul": "^6.1.1", "babel-plugin-istanbul": "^6.1.1",
"camelcase": "^6.2.1", "camelcase": "^6.2.1",
"chai": "^4.3.4", "chai": "^4.3.4",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"decamelize": "^5.0.1", "decamelize": "^5.0.1",
"eslint": "^8.4.1", "eslint": "^8.5.0",
"eslint-config-canonical": "^32.46.1", "eslint-config-canonical": "^33.0.0",
"gitdown": "^3.1.4", "gitdown": "^3.1.4",
"glob": "^7.2.0", "glob": "^7.2.0",
"husky": "^7.0.4", "husky": "^7.0.4",
"lint-staged": "^12.1.2", "lint-staged": "^12.1.4",
"lodash.defaultsdeep": "^4.6.1", "lodash.defaultsdeep": "^4.6.1",
"mocha": "^9.1.3", "mocha": "^9.1.3",
"nyc": "^15.1.0", "nyc": "^15.1.0",
@ -57,10 +57,11 @@
], ],
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"lint-staged": { "lint-staged": {
"./*.js": "npm run lint-arg --", ".eslintignore": [
".eslintignore": "npm run lint", "npm run lint-fix",
"src/**/*.js": "npm run lint-arg --", "git add ."
"test/**/*.js": "npm run lint-arg --" ],
"*.js": "npm run lint-arg -- --fix"
}, },
"main": "./dist/index.js", "main": "./dist/index.js",
"name": "eslint-plugin-jsdoc", "name": "eslint-plugin-jsdoc",
@ -98,14 +99,14 @@
"create-readme": "babel-node ./src/bin/generateReadme.js", "create-readme": "babel-node ./src/bin/generateReadme.js",
"create-rule": "babel-node ./src/bin/generateRule.js", "create-rule": "babel-node ./src/bin/generateRule.js",
"install-offline": "npm install --prefer-offline --no-audit", "install-offline": "npm install --prefer-offline --no-audit",
"lint": "eslint --report-unused-disable-directives --ignore-pattern '!.ncurc.js' ./src ./test .ncurc.js", "lint": "npm run lint-arg -- .",
"lint-arg": "eslint --report-unused-disable-directives", "lint-arg": "eslint --report-unused-disable-directives",
"lint-fix": "eslint --report-unused-disable-directives --fix ./src ./test", "lint-fix": "npm run lint-arg -- --fix .",
"prepare": "husky install", "prepare": "husky install",
"test": "cross-env BABEL_ENV=test nyc --reporter text-summary mocha --reporter dot --recursive --require @babel/register --timeout 12000", "test": "cross-env BABEL_ENV=test nyc --reporter text-summary mocha --reporter dot --recursive --require @babel/register --timeout 12000",
"test-cov": "cross-env BABEL_ENV=test nyc mocha --reporter dot --recursive --require @babel/register --timeout 12000", "test-cov": "cross-env BABEL_ENV=test nyc mocha --reporter dot --recursive --require @babel/register --timeout 12000",
"test-index": "cross-env BABEL_ENV=test mocha --recursive --require @babel/register --reporter progress --timeout 12000 test/rules/index.js", "test-index": "cross-env BABEL_ENV=test mocha --recursive --require @babel/register --reporter progress --timeout 12000 test/rules/index.js",
"test-no-cov": "cross-env BABEL_ENV=test mocha --reporter dot --recursive --require @babel/register --timeout 12000" "test-no-cov": "cross-env BABEL_ENV=test mocha --reporter dot --recursive --require @babel/register --timeout 12000"
}, },
"version": "37.2.4" "version": "37.5.0"
} }

View File

@ -834,7 +834,7 @@ var espree = () => Parser => {
}; };
}; };
const version$1 = "9.2.0"; const version$1 = "9.3.0";
/** /**
* @fileoverview Main Espree file that converts Acorn into Esprima output. * @fileoverview Main Espree file that converts Acorn into Esprima output.

View File

@ -1,3 +1,3 @@
const version = "9.2.0"; const version = "9.3.0";
export default version; export default version;

View File

@ -16,7 +16,7 @@
], ],
"./package.json": "./package.json" "./package.json": "./package.json"
}, },
"version": "9.2.0", "version": "9.3.0",
"files": [ "files": [
"lib", "lib",
"dist/espree.cjs", "dist/espree.cjs",
@ -31,7 +31,7 @@
}, },
"license": "BSD-2-Clause", "license": "BSD-2-Clause",
"dependencies": { "dependencies": {
"acorn": "^8.6.0", "acorn": "^8.7.0",
"acorn-jsx": "^5.3.1", "acorn-jsx": "^5.3.1",
"eslint-visitor-keys": "^3.1.0" "eslint-visitor-keys": "^3.1.0"
}, },

View File

@ -110,21 +110,10 @@
} while (position < text.length); } while (position < text.length);
return text.slice(0, position); return text.slice(0, position);
} }
const numberRegex = /[0-9]/; const numberRegex = /^(NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity))/;
function getNumber(text) { function getNumber(text) {
let position = 0; var _a, _b;
let char; return (_b = (_a = numberRegex.exec(text)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : null;
do {
char = text[position];
if (!numberRegex.test(char)) {
break;
}
position++;
} while (position < text.length);
if (position === 0) {
return null;
}
return text.slice(0, position);
} }
const identifierRule = text => { const identifierRule = text => {
const value = getIdentifier(text); const value = getIdentifier(text);
@ -218,9 +207,9 @@
makeKeyWordRule('keyof'), makeKeyWordRule('keyof'),
makeKeyWordRule('readonly'), makeKeyWordRule('readonly'),
makeKeyWordRule('import'), makeKeyWordRule('import'),
numberRule,
identifierRule, identifierRule,
stringValueRule, stringValueRule
numberRule
]; ];
class Lexer { class Lexer {
constructor() { constructor() {
@ -344,16 +333,17 @@
})(Precedence || (Precedence = {})); })(Precedence || (Precedence = {}));
class Parser { class Parser {
constructor(grammar, lexer) { constructor({ grammar, lexer, parent }) {
this.lexer = lexer !== null && lexer !== void 0 ? lexer : new Lexer(); this.lexer = lexer !== null && lexer !== void 0 ? lexer : new Lexer();
const { prefixParslets, infixParslets } = grammar; this.parent = parent;
const { prefixParslets, infixParslets } = grammar();
this.prefixParslets = prefixParslets; this.prefixParslets = prefixParslets;
this.infixParslets = infixParslets; this.infixParslets = infixParslets;
} }
parseText(text) { parseText(text) {
this.lexer.lex(text); this.lexer.lex(text);
const result = this.parseType(Precedence.ALL); const result = this.parseType(Precedence.ALL);
if (!this.consume('EOF')) { if (this.getToken().type !== 'EOF') {
throw new EarlyEndOfParseError(this.getToken()); throw new EarlyEndOfParseError(this.getToken());
} }
return result; return result;
@ -388,8 +378,11 @@
} }
return result; return result;
} }
consume(type) { consume(types) {
if (this.lexer.token().type !== type) { if (!Array.isArray(types)) {
types = [types];
}
if (!types.includes(this.lexer.token().type)) {
return false; return false;
} }
this.lexer.advance(); this.lexer.advance();
@ -407,6 +400,9 @@
getLexer() { getLexer() {
return this.lexer; return this.lexer;
} }
getParent() {
return this.parent;
}
} }
class SymbolParslet { class SymbolParslet {
@ -861,7 +857,8 @@
this.allowedPropertyTokenTypes = [ this.allowedPropertyTokenTypes = [
'Identifier', 'Identifier',
'StringValue', 'StringValue',
'Number' 'Number',
'module'
]; ];
} }
accepts(type, next) { accepts(type, next) {
@ -931,6 +928,7 @@
return Precedence.KEY_VALUE; return Precedence.KEY_VALUE;
} }
parseInfix(parser, left) { parseInfix(parser, left) {
var _a;
let optional = false; let optional = false;
let readonlyProperty = false; let readonlyProperty = false;
if (this.allowOptional && left.type === 'JsdocTypeNullable') { if (this.allowOptional && left.type === 'JsdocTypeNullable') {
@ -941,6 +939,8 @@
readonlyProperty = true; readonlyProperty = true;
left = left.element; left = left.element;
} }
// object parslet uses a special grammar and for the value we want to switch back to the parent
parser = (_a = parser.getParent()) !== null && _a !== void 0 ? _a : parser;
if (left.type === 'JsdocTypeNumber' || left.type === 'JsdocTypeName' || left.type === 'JsdocTypeStringValue') { if (left.type === 'JsdocTypeNumber' || left.type === 'JsdocTypeName' || left.type === 'JsdocTypeStringValue') {
parser.consume(':'); parser.consume(':');
let quote; let quote;
@ -1084,7 +1084,10 @@
value: type value: type
}; };
} }
const moduleParser = new Parser(moduleGrammar(), parser.getLexer()); const moduleParser = new Parser({
grammar: moduleGrammar,
lexer: parser.getLexer()
});
let result; let result;
let token = parser.getToken(); let token = parser.getToken();
if (parser.consume('StringValue')) { if (parser.consume('StringValue')) {
@ -1118,8 +1121,9 @@
} }
class ObjectParslet { class ObjectParslet {
constructor(opts) { constructor({ objectFieldGrammar, allowKeyTypes }) {
this.allowKeyTypes = opts.allowKeyTypes; this.objectFieldGrammar = objectFieldGrammar;
this.allowKeyTypes = allowKeyTypes;
} }
accepts(type) { accepts(type) {
return type === '{'; return type === '{';
@ -1138,8 +1142,17 @@
}; };
if (!parser.consume('}')) { if (!parser.consume('}')) {
let separator; let separator;
const lexer = parser.getLexer();
const fieldParser = new Parser({
grammar: this.objectFieldGrammar,
lexer: lexer,
parent: parser
});
while (true) { while (true) {
let field = parser.parseIntermediateType(Precedence.OBJECT); let field = fieldParser.parseIntermediateType(Precedence.OBJECT);
if (field === undefined && this.allowKeyTypes) {
field = parser.parseIntermediateType(Precedence.OBJECT);
}
let optional = false; let optional = false;
if (field.type === 'JsdocTypeNullable') { if (field.type === 'JsdocTypeNullable') {
optional = true; optional = true;
@ -1178,7 +1191,7 @@
break; break;
} }
} }
result.meta.separator = separator !== null && separator !== void 0 ? separator : 'comma'; result.meta.separator = separator !== null && separator !== void 0 ? separator : 'comma'; // TODO: use undefined here
if (!parser.consume('}')) { if (!parser.consume('}')) {
throw new Error('Unterminated record type. Missing \'}\''); throw new Error('Unterminated record type. Missing \'}\'');
} }
@ -1187,14 +1200,26 @@
} }
} }
function combineGrammars(grammarFactoryA, grammarFactoryB) {
return () => {
const grammarA = grammarFactoryA();
const grammarB = grammarFactoryB();
return {
prefixParslets: [
...grammarA.prefixParslets,
...grammarB.prefixParslets
],
infixParslets: [
...grammarA.infixParslets,
...grammarB.infixParslets
]
};
};
}
const jsdocGrammar = () => { const jsdocGrammar = () => {
const { prefixParslets, infixParslets } = baseGrammar(); const jsdocBaseGrammar = combineGrammars(baseGrammar, () => ({
return {
prefixParslets: [ prefixParslets: [
...prefixParslets,
new ObjectParslet({
allowKeyTypes: true
}),
new FunctionParslet({ new FunctionParslet({
allowWithoutParenthesis: true, allowWithoutParenthesis: true,
allowNamedParameters: ['this', 'new'], allowNamedParameters: ['this', 'new'],
@ -1212,7 +1237,6 @@
}) })
], ],
infixParslets: [ infixParslets: [
...infixParslets,
new SymbolParslet(), new SymbolParslet(),
new ArrayBracketsParslet(), new ArrayBracketsParslet(),
new NamePathParslet({ new NamePathParslet({
@ -1227,7 +1251,25 @@
allowEnclosingBrackets: true allowEnclosingBrackets: true
}) })
] ]
}; }));
return combineGrammars(jsdocBaseGrammar, () => ({
prefixParslets: [
new ObjectParslet({
// jsdoc syntax allows full types as keys, so we need to pull in the full grammar here
// we leave out the object type deliberately
objectFieldGrammar: combineGrammars(() => ({
prefixParslets: [
new NameParslet({
allowedAdditionalTokens: ['module']
})
],
infixParslets: []
}), jsdocBaseGrammar),
allowKeyTypes: true
})
],
infixParslets: []
}))();
}; };
class TypeOfParslet { class TypeOfParslet {
@ -1246,13 +1288,32 @@
} }
} }
const closureGrammar = () => { const closureGrammar = combineGrammars(baseGrammar, () => {
const { prefixParslets, infixParslets } = baseGrammar(); const objectFieldGrammar = () => ({
prefixParslets: [
new NameParslet({
allowedAdditionalTokens: ['module', 'keyof', 'event', 'external']
}),
new NullablePrefixParslet(),
new OptionalParslet(),
new StringValueParslet(),
new NumberParslet()
],
infixParslets: [
new NullableInfixParslet(),
new OptionalParslet(),
new KeyValueParslet({
allowKeyTypes: false,
allowOptional: false,
allowReadonly: false
})
]
});
return { return {
prefixParslets: [ prefixParslets: [
...prefixParslets,
new ObjectParslet({ new ObjectParslet({
allowKeyTypes: false allowKeyTypes: false,
objectFieldGrammar
}), }),
new NameParslet({ new NameParslet({
allowedAdditionalTokens: ['event', 'external'] allowedAdditionalTokens: ['event', 'external']
@ -1266,6 +1327,7 @@
new VariadicParslet({ new VariadicParslet({
allowEnclosingBrackets: false allowEnclosingBrackets: false
}), }),
// additional name parslet is needed for some special cases
new NameParslet({ new NameParslet({
allowedAdditionalTokens: ['keyof'] allowedAdditionalTokens: ['keyof']
}), }),
@ -1274,7 +1336,6 @@
}) })
], ],
infixParslets: [ infixParslets: [
...infixParslets,
new NamePathParslet({ new NamePathParslet({
allowJsdocNamePaths: true allowJsdocNamePaths: true
}), }),
@ -1286,7 +1347,7 @@
new SymbolParslet() new SymbolParslet()
] ]
}; };
}; });
class TupleParslet { class TupleParslet {
constructor(opts) { constructor(opts) {
@ -1431,17 +1492,32 @@
} }
} }
const typescriptGrammar = () => { const typescriptGrammar = combineGrammars(baseGrammar, () => {
const { prefixParslets, infixParslets } = baseGrammar(); const objectFieldGrammar = () => ({
// module seems not to be supported prefixParslets: [
return { new NameParslet({
parallel: [ allowedAdditionalTokens: ['module', 'event', 'keyof', 'event', 'external']
moduleGrammar() }),
], new NullablePrefixParslet(),
new OptionalParslet(),
new StringValueParslet(),
new NumberParslet()
],
infixParslets: [
new NullableInfixParslet(),
new OptionalParslet(),
new KeyValueParslet({
allowKeyTypes: false,
allowOptional: true,
allowReadonly: true
})
]
});
return {
prefixParslets: [ prefixParslets: [
...prefixParslets,
new ObjectParslet({ new ObjectParslet({
allowKeyTypes: false allowKeyTypes: false,
objectFieldGrammar
}), }),
new TypeOfParslet(), new TypeOfParslet(),
new KeyOfParslet(), new KeyOfParslet(),
@ -1467,7 +1543,6 @@
new ReadonlyPropertyParslet() new ReadonlyPropertyParslet()
], ],
infixParslets: [ infixParslets: [
...infixParslets,
new ArrayBracketsParslet(), new ArrayBracketsParslet(),
new ArrowFunctionParslet(), new ArrowFunctionParslet(),
new NamePathParslet({ new NamePathParslet({
@ -1481,12 +1556,18 @@
new IntersectionParslet() new IntersectionParslet()
] ]
}; };
}; });
const parsers = { const parsers = {
jsdoc: new Parser(jsdocGrammar()), jsdoc: new Parser({
closure: new Parser(closureGrammar()), grammar: jsdocGrammar
typescript: new Parser(typescriptGrammar()) }),
closure: new Parser({
grammar: closureGrammar
}),
typescript: new Parser({
grammar: typescriptGrammar
})
}; };
/** /**
* This function parses the given expression in the given mode and produces a {@link ParseResult}. * This function parses the given expression in the given mode and produces a {@link ParseResult}.

View File

@ -1,6 +1,6 @@
{ {
"name": "jsdoc-type-pratt-parser", "name": "jsdoc-type-pratt-parser",
"version": "2.0.0", "version": "2.0.2",
"description": "", "description": "",
"main": "dist/index.js", "main": "dist/index.js",
"types": "dist/src/index.d.ts", "types": "dist/src/index.d.ts",

View File

@ -1,6 +1,6 @@
{ {
"name": "eslint", "name": "eslint",
"version": "8.5.0", "version": "8.6.0",
"author": "Nicholas C. Zakas <nicholas+npm@nczconsulting.com>", "author": "Nicholas C. Zakas <nicholas+npm@nczconsulting.com>",
"description": "An AST-based pattern checker for JavaScript.", "description": "An AST-based pattern checker for JavaScript.",
"bin": { "bin": {
@ -59,7 +59,7 @@
"eslint-scope": "^7.1.0", "eslint-scope": "^7.1.0",
"eslint-utils": "^3.0.0", "eslint-utils": "^3.0.0",
"eslint-visitor-keys": "^3.1.0", "eslint-visitor-keys": "^3.1.0",
"espree": "^9.2.0", "espree": "^9.3.0",
"esquery": "^1.4.0", "esquery": "^1.4.0",
"esutils": "^2.0.2", "esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3", "fast-deep-equal": "^3.1.3",
@ -116,6 +116,7 @@
"load-perf": "^0.2.0", "load-perf": "^0.2.0",
"markdownlint": "^0.24.0", "markdownlint": "^0.24.0",
"markdownlint-cli": "^0.30.0", "markdownlint-cli": "^0.30.0",
"marked": "^4.0.8",
"memfs": "^3.0.1", "memfs": "^3.0.1",
"mocha": "^8.3.2", "mocha": "^8.3.2",
"mocha-junit-reporter": "^2.0.0", "mocha-junit-reporter": "^2.0.0",