diff --git a/.vscode/settings.json b/.vscode/settings.json
index 3ae2b9e688..5ff0444d09 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -32,6 +32,10 @@
"directory": "packages/memo",
"changeProcessCWD": true
},
+ {
+ "directory": "packages/message-parser",
+ "changeProcessCWD": true
+ },
{
"directory": "packages/mp3-encoder",
"changeProcessCWD": true
@@ -53,8 +57,11 @@
"source.fixAll.eslint": true
},
"eslint.options": {
- "extensions": [".js", ".jsx", ".md", ".mdx", ".ts", ".tsx"]
+ "extensions": [".js", ".jsx", ".md", ".mdx", ".ts", ".tsx", ".pegjs"]
},
"editor.formatOnSave": true,
- "editor.defaultFormatter": "esbenp.prettier-vscode"
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
+ "[pegjs]": {
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
+ }
}
diff --git a/README.md b/README.md
index 01190e77c4..4566177447 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,7 @@ Package |
[`@rocket.chat/fuselage-ui-kit`](/packages/@rocket.chat/fuselage-ui-kit) | UiKit elements for Rocket.Chat Apps built under Fuselage design system | [![npm](https://img.shields.io/npm/v/@rocket.chat/fuselage-ui-kit.svg)](https://www.npmjs.com/package/@rocket.chat/fuselage-ui-kit) | [![David Peer](https://img.shields.io/david/peer/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/fuselage-ui-kit)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/fuselage-ui-kit&type=peer) | [![David Dev](https://img.shields.io/david/dev/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/fuselage-ui-kit)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/fuselage-ui-kit&type=dev) | [![David](https://img.shields.io/david/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/fuselage-ui-kit)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/fuselage-ui-kit)
[`@rocket.chat/icons`](/packages/@rocket.chat/icons) | | [![npm](https://img.shields.io/npm/v/@rocket.chat/icons.svg)](https://www.npmjs.com/package/@rocket.chat/icons) | [![David Peer](https://img.shields.io/david/peer/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/icons)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/icons&type=peer) | [![David Dev](https://img.shields.io/david/dev/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/icons)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/icons&type=dev) | [![David](https://img.shields.io/david/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/icons)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/icons)
[`@rocket.chat/memo`](/packages/@rocket.chat/memo) | Memoization utilities | [![npm](https://img.shields.io/npm/v/@rocket.chat/memo.svg)](https://www.npmjs.com/package/@rocket.chat/memo) | [![David Peer](https://img.shields.io/david/peer/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/memo)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/memo&type=peer) | [![David Dev](https://img.shields.io/david/dev/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/memo)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/memo&type=dev) | [![David](https://img.shields.io/david/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/memo)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/memo)
+[`@rocket.chat/message-parser`](/packages/@rocket.chat/message-parser) | Rocket.Chat parser for messages | [![npm](https://img.shields.io/npm/v/@rocket.chat/message-parser.svg)](https://www.npmjs.com/package/@rocket.chat/message-parser) | [![David Peer](https://img.shields.io/david/peer/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/message-parser)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/message-parser&type=peer) | [![David Dev](https://img.shields.io/david/dev/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/message-parser)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/message-parser&type=dev) | [![David](https://img.shields.io/david/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/message-parser)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/message-parser)
[`@rocket.chat/mp3-encoder`](/packages/@rocket.chat/mp3-encoder) | A LAME encoder to be used in web workers | [![npm](https://img.shields.io/npm/v/@rocket.chat/mp3-encoder.svg)](https://www.npmjs.com/package/@rocket.chat/mp3-encoder) | [![David Peer](https://img.shields.io/david/peer/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/mp3-encoder)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/mp3-encoder&type=peer) | [![David Dev](https://img.shields.io/david/dev/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/mp3-encoder)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/mp3-encoder&type=dev) | [![David](https://img.shields.io/david/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/mp3-encoder)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/mp3-encoder)
[`@rocket.chat/prettier-config`](/packages/@rocket.chat/prettier-config) | Prettier configuration for Rocket.Chat repositories | [![npm](https://img.shields.io/npm/v/@rocket.chat/prettier-config.svg)](https://www.npmjs.com/package/@rocket.chat/prettier-config) | [![David Peer](https://img.shields.io/david/peer/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/prettier-config)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/prettier-config&type=peer) | [![David Dev](https://img.shields.io/david/dev/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/prettier-config)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/prettier-config&type=dev) | [![David](https://img.shields.io/david/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/prettier-config)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/prettier-config)
[`@rocket.chat/string-helpers`](/packages/@rocket.chat/string-helpers) | Helper functions for string manipulation | [![npm](https://img.shields.io/npm/v/@rocket.chat/string-helpers.svg)](https://www.npmjs.com/package/@rocket.chat/string-helpers) | [![David Peer](https://img.shields.io/david/peer/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/string-helpers)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/string-helpers&type=peer) | [![David Dev](https://img.shields.io/david/dev/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/string-helpers)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/string-helpers&type=dev) | [![David](https://img.shields.io/david/RocketChat/Rocket.Chat.Fuselage.svg?path=packages/string-helpers)](https://david-dm.org/RocketChat/Rocket.Chat.Fuselage?path=packages/string-helpers)
diff --git a/packages/css-in-js/package.json b/packages/css-in-js/package.json
index f52afd3941..8eb984ea6a 100644
--- a/packages/css-in-js/package.json
+++ b/packages/css-in-js/package.json
@@ -45,7 +45,7 @@
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^11.0.1",
"@rollup/plugin-typescript": "^8.1.0",
- "@types/jest": "^26.0.22",
+ "@types/jest": "^26.0.23",
"@types/stylis": "^4.0.0",
"documentation": "^13.2.1",
"eslint": "^7.24.0",
diff --git a/packages/emitter/package.json b/packages/emitter/package.json
index bbfcc2e418..6dcf774079 100644
--- a/packages/emitter/package.json
+++ b/packages/emitter/package.json
@@ -51,7 +51,7 @@
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^11.0.1",
"@rollup/plugin-typescript": "^8.1.0",
- "@types/jest": "^26.0.22",
+ "@types/jest": "^26.0.23",
"documentation": "^13.2.1",
"eslint": "^7.24.0",
"jest": "^26.6.3",
diff --git a/packages/fuselage-hooks/package.json b/packages/fuselage-hooks/package.json
index 530521bafe..2868d9da0f 100644
--- a/packages/fuselage-hooks/package.json
+++ b/packages/fuselage-hooks/package.json
@@ -57,7 +57,7 @@
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^9.0.0",
"@rollup/plugin-typescript": "^6.0.0",
- "@types/jest": "^26.0.22",
+ "@types/jest": "^26.0.23",
"@types/react": "^17.0.3",
"@types/react-dom": "^17.0.3",
"@types/resize-observer-browser": "^0.1.5",
diff --git a/packages/fuselage/package.json b/packages/fuselage/package.json
index 6be30488ed..bc92609d8d 100644
--- a/packages/fuselage/package.json
+++ b/packages/fuselage/package.json
@@ -83,7 +83,7 @@
"@storybook/react": "^6.1.11",
"@storybook/source-loader": "^6.1.11",
"@storybook/theming": "^6.1.11",
- "@types/jest": "^26.0.22",
+ "@types/jest": "^26.0.23",
"autoprefixer": "^10.0.1",
"babel-loader": "^8.1.0",
"caniuse-lite": "^1.0.30001151",
diff --git a/packages/message-parser/.eslintignore b/packages/message-parser/.eslintignore
new file mode 100644
index 0000000000..8225baa4a7
--- /dev/null
+++ b/packages/message-parser/.eslintignore
@@ -0,0 +1,2 @@
+/node_modules
+/dist
diff --git a/packages/message-parser/.eslintrc.js b/packages/message-parser/.eslintrc.js
new file mode 100644
index 0000000000..25536891d7
--- /dev/null
+++ b/packages/message-parser/.eslintrc.js
@@ -0,0 +1,12 @@
+module.exports = {
+ extends: '@rocket.chat/eslint-config-alt/minimal',
+ env: {
+ jest: true,
+ },
+ overrides: [
+ {
+ files: ['**/*.ts', '**/*.tsx'],
+ extends: '@rocket.chat/eslint-config-alt/typescript',
+ },
+ ],
+};
diff --git a/packages/message-parser/.gitignore b/packages/message-parser/.gitignore
new file mode 100644
index 0000000000..8225baa4a7
--- /dev/null
+++ b/packages/message-parser/.gitignore
@@ -0,0 +1,2 @@
+/node_modules
+/dist
diff --git a/packages/message-parser/.prettierrc.js b/packages/message-parser/.prettierrc.js
new file mode 100644
index 0000000000..b57f474edb
--- /dev/null
+++ b/packages/message-parser/.prettierrc.js
@@ -0,0 +1 @@
+module.exports = require('@rocket.chat/prettier-config/fuselage');
diff --git a/packages/message-parser/README.md b/packages/message-parser/README.md
new file mode 100644
index 0000000000..850955b994
--- /dev/null
+++ b/packages/message-parser/README.md
@@ -0,0 +1,34 @@
+# @rocket.chat/message-parser
+
+## Description
+
+Rocket.Chat grammar with the purpose of parsing the messages of the rocket chat, converting text to an AST tree.
+
+The grammar provides support for markdown, mentions and emojis.
+
+## Supported markup
+
+- quotes
+- bold/italic/strike
+- ordered lists
+- unordered lists
+- task lists
+- phone numbers
+- mentions
+- emoji
+- colors
+- URI's
+- mentions users/channels
+
+## Contributing
+
+Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/RocketChat/Rocket.Chat.Fuselage/issues).
+
+Whenever you find a grammar-related bug, start by inserting the test case.
+
+We are open to other tags/markups, as long as they don't generate unexpected behavior.
+
+## Observations and known issues
+
+- Nested lists are unsupported
+- `URL` rule doesn't allow ` `, `(`, or `)`
diff --git a/packages/message-parser/babel.config.js b/packages/message-parser/babel.config.js
new file mode 100644
index 0000000000..8456c19127
--- /dev/null
+++ b/packages/message-parser/babel.config.js
@@ -0,0 +1,18 @@
+module.exports = {
+ presets: [
+ [
+ '@babel/preset-env',
+ {
+ targets: {
+ browsers: [
+ 'Chrome >= 59',
+ 'FireFox >= 44',
+ 'Safari >= 7',
+ 'Explorer 11',
+ 'last 4 Edge versions',
+ ],
+ },
+ },
+ ],
+ ],
+};
diff --git a/packages/message-parser/jest.config.js b/packages/message-parser/jest.config.js
new file mode 100644
index 0000000000..114260f819
--- /dev/null
+++ b/packages/message-parser/jest.config.js
@@ -0,0 +1,12 @@
+const path = require('path');
+
+module.exports = {
+ coverageReporters: [],
+ transform: {
+ '\\.pegjs$': path.resolve(__dirname, './loaders/pegtransform.js'),
+ },
+ preset: 'ts-jest',
+ errorOnDeprecated: true,
+ testMatch: ['/tests/**/*.(spec|test).ts'],
+ moduleFileExtensions: ['js', 'ts', 'pegjs'],
+};
diff --git a/packages/message-parser/loaders/pegloader.js b/packages/message-parser/loaders/pegloader.js
new file mode 100644
index 0000000000..3262456a75
--- /dev/null
+++ b/packages/message-parser/loaders/pegloader.js
@@ -0,0 +1,7 @@
+const pegjs = require('peggy');
+
+module.exports = (content) =>
+ pegjs.generate(content, {
+ output: 'source',
+ format: 'commonjs',
+ });
diff --git a/packages/message-parser/loaders/pegtransform.js b/packages/message-parser/loaders/pegtransform.js
new file mode 100644
index 0000000000..c2fe75e5c7
--- /dev/null
+++ b/packages/message-parser/loaders/pegtransform.js
@@ -0,0 +1,9 @@
+const pegjs = require('peggy');
+
+module.exports = {
+ process: (content) =>
+ pegjs.generate(content, {
+ output: 'source',
+ format: 'commonjs',
+ }),
+};
diff --git a/packages/message-parser/messageParser.js b/packages/message-parser/messageParser.js
new file mode 100644
index 0000000000..c1dc1bda94
--- /dev/null
+++ b/packages/message-parser/messageParser.js
@@ -0,0 +1,7 @@
+/* eslint-disable import/no-unresolved */
+
+if (process.env.NODE_ENV === 'production') {
+ module.exports = require('./dist/messageParser.production.js');
+} else {
+ module.exports = require('./dist/messageParser.development.js');
+}
diff --git a/packages/message-parser/package.json b/packages/message-parser/package.json
new file mode 100644
index 0000000000..54301bf3cd
--- /dev/null
+++ b/packages/message-parser/package.json
@@ -0,0 +1,77 @@
+{
+ "name": "@rocket.chat/message-parser",
+ "description": "Rocket.Chat parser for messages",
+ "version": "0.23.0",
+ "author": {
+ "name": "Rocket.Chat",
+ "url": "https://rocket.chat/"
+ },
+ "license": "MIT",
+ "homepage": "https://github.com/RocketChat/Rocket.Chat.Fuselage#readme",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/RocketChat/Rocket.Chat.Fuselage.git",
+ "directory": "packages/message-parser"
+ },
+ "bugs": {
+ "url": "https://github.com/RocketChat/Rocket.Chat.Fuselage/issues"
+ },
+ "main": "messageParser.js",
+ "exports": {
+ ".": {
+ "default": "./messageParser.js"
+ },
+ "./index": {
+ "default": "./messageParser.js"
+ }
+ },
+ "module": "dist/messageParser.mjs",
+ "unpkg": "dist/messageParser.umd.js",
+ "types": "dist/index.d.ts",
+ "files": [
+ "/dist",
+ "/messageParser.js"
+ ],
+ "directories": {
+ "test": "test"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.14.0",
+ "@babel/eslint-parser": "^7.13.14",
+ "@babel/preset-env": "^7.14.1",
+ "@rocket.chat/eslint-config-alt": "workspace:packages/eslint-config-alt",
+ "@rocket.chat/prettier-config": "workspace:packages/prettier-config",
+ "@types/jest": "^26.0.23",
+ "@types/node": "^14.14.43",
+ "@typescript-eslint/parser": "^4.22.0",
+ "babel-loader": "^8.2.2",
+ "eslint": "^7.25.0",
+ "jest": "^26.6.3",
+ "lint-staged": "^10.5.4",
+ "npm-run-all": "^4.1.5",
+ "peggy": "^1.1.0",
+ "prettier": "^2.2.1",
+ "prettier-plugin-pegjs": "^0.3.2",
+ "rimraf": "^3.0.2",
+ "ts-jest": "^26.5.5",
+ "ts-loader": "^9.1.1",
+ "typescript": "^4.2.4",
+ "webpack": "^5.36.2",
+ "webpack-cli": "^4.6.0"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "scripts": {
+ "build": "run-s .:build:clean .:build:bundle",
+ ".:build:clean": "rimraf dist",
+ ".:build:bundle": "webpack",
+ "test": "jest --runInBand --coverage",
+ "watch": "jest --watch",
+ "lint": "eslint .",
+ "lint-fix": "run-p .:lint-fix:eslint .:lint-fix:prettier",
+ ".:lint-fix:eslint": "eslint --fix .",
+ ".:lint-fix:prettier": "prettier --write '**/*.pegjs'",
+ "lint-staged": "lint-staged"
+ }
+}
diff --git a/packages/message-parser/src/definitions.ts b/packages/message-parser/src/definitions.ts
new file mode 100644
index 0000000000..0aa231f76b
--- /dev/null
+++ b/packages/message-parser/src/definitions.ts
@@ -0,0 +1,185 @@
+export type Blockquote = {
+ type: 'BLOCKQUOTE';
+ value: Paragraph[];
+};
+
+export type OrderedList = {
+ type: 'ORDERED_LIST';
+ value: ListItem[];
+};
+
+export type UnorderedList = {
+ type: 'ORDERED_LIST';
+ value: ListItem[];
+};
+
+export type ListItem = {
+ type: 'LIST_ITEM';
+ value: Inlines[];
+};
+
+export type Tasks = {
+ type: 'TASKS';
+ value: Task[];
+};
+export type Task = {
+ type: 'TASK';
+ status: boolean;
+ value: Inlines[];
+};
+
+export type CodeLine = {
+ type: 'CODE_LINE';
+ value: Plain;
+};
+
+export type Color = {
+ type: 'COLOR';
+ value: {
+ r: number;
+ g: number;
+ b: number;
+ a: number;
+ };
+};
+
+export type BigEmoji = {
+ type: 'BIG_EMOJI';
+ value: [Emoji] | [Emoji, Emoji] | [Emoji, Emoji, Emoji];
+};
+
+export type Emoji = {
+ type: 'EMOJI';
+ value: Plain;
+};
+
+export type Code = {
+ type: 'CODE';
+ language: string | undefined;
+ value: CodeLine[];
+};
+
+export type InlineCode = {
+ type: 'INLINE_CODE';
+ value: Plain;
+};
+
+export type Heading = {
+ type: 'HEADING';
+ level: 1 | 2 | 3 | 4;
+ value: Plain[];
+};
+
+export type Quote = {
+ type: 'QUOTE';
+ value: Paragraph[];
+};
+
+export type Blocks = Code | Heading | Quote | Paragraph;
+
+export type Markup = Italic | Strike | Bold | Plain;
+export type MarkupExcluding = Exclude;
+
+export type Bold = {
+ type: 'BOLD';
+ value: Array>;
+};
+
+export type Italic = {
+ type: 'ITALIC';
+ value: Array>;
+};
+
+export type Strike = {
+ type: 'STRIKE';
+ value: Array>;
+};
+
+export type Plain = {
+ type: 'PLAIN_TEXT';
+ value: string;
+};
+
+export type Paragraph = {
+ type: 'PARAGRAPH';
+ value: Array>;
+};
+
+export type Link = {
+ type: 'LINK';
+ value: {
+ src: Plain;
+ label: Markup;
+ };
+};
+
+export type UserMention = {
+ type: 'MENTION_USER';
+ value: Plain;
+};
+
+export type ChannelMention = {
+ type: 'MENTION_CHANNEL';
+ value: Plain;
+};
+
+export type Types = {
+ BOLD: Bold;
+ PARAGRAPH: Paragraph;
+ PLAIN_TEXT: Plain;
+ ITALIC: Italic;
+ STRIKE: Strike;
+ CODE: Code;
+ CODE_LINE: CodeLine;
+ INLINE_CODE: InlineCode;
+ HEADING: Heading;
+ QUOTE: Quote;
+ LINK: Link;
+ MENTION_USER: UserMention;
+ MENTION_CHANNEL: ChannelMention;
+ EMOJI: Emoji;
+ BIG_EMOJI: BigEmoji;
+ COLOR: Color;
+ TASKS: Tasks;
+ TASK: Task;
+ UNORDERED_LIST: UnorderedList;
+ ORDERED_LIST: OrderedList;
+ LIST_ITEM: ListItem;
+};
+
+export type ASTNode =
+ | BigEmoji
+ | Bold
+ | Paragraph
+ | Plain
+ | Italic
+ | Strike
+ | Code
+ | CodeLine
+ | InlineCode
+ | Heading
+ | Quote
+ | Link
+ | UserMention
+ | ChannelMention
+ | Emoji
+ | Color
+ | Tasks;
+
+export type TypesKeys = keyof Types;
+
+export type Inlines =
+ | Bold
+ | Plain
+ | Italic
+ | Strike
+ | InlineCode
+ | Link
+ | UserMention
+ | ChannelMention
+ | Emoji
+ | Color;
+
+export type Markdown = Array | [BigEmoji];
+
+export type ASTMessage = Blocks[];
diff --git a/packages/message-parser/src/grammar.pegjs b/packages/message-parser/src/grammar.pegjs
new file mode 100644
index 0000000000..522aafd9bb
--- /dev/null
+++ b/packages/message-parser/src/grammar.pegjs
@@ -0,0 +1,610 @@
+{
+ const {
+ paragraph,
+ bold,
+ plain,
+ italic,
+ strike,
+ code,
+ link,
+ heading,
+ inlineCode,
+ quote,
+ reducePlainTexts,
+ codeLine,
+ mentionChannel,
+ mentionUser,
+ emoji,
+ color,
+ bigEmoji,
+ tasks,
+ task,
+ orderedList,
+ listItem,
+ unorderedList
+ } = require('./utils');
+}
+
+start
+ = EndOfLine? b:BigEmoji EndOfLine? { return b; }
+ / (Blocks / Paragraph / EndOfLine { return paragraph([plain('')]); })+
+
+BigEmoji
+ = Space* e1:Emoji Space* e2:Emoji? Space* e3:Emoji? Space* {
+ return [bigEmoji([e1, e2, e3].filter(Boolean))];
+ }
+
+Blocks
+ = Blockquote
+ / MultiplelLineCode
+ / Heading
+ / TaskList
+ / OrderedList
+ / UnorderedList
+ // / Section
+
+Emphasis
+ = Bold
+ / Italic
+ / Strikethrough
+
+
+Paragraph
+= value:
+ ( Whitespace
+ / Emoji
+ / References
+ / InlineCode
+ / AutolinkedPhone
+ / AutolinkedURL
+ / AutolinkedEmail
+ / Emphasis
+ / Color
+ / UserMention
+ / ChannelMention
+ / Any
+
+ )+
+ EndOfLine? { return paragraph(reducePlainTexts(value)); }
+
+Inline
+ = value:
+ ( Whitespace
+ / Emoji
+ / References
+ / InlineCode
+ / AutolinkedPhone
+ / AutolinkedURL
+ / AutolinkedEmail
+ / Emphasis
+ / Color
+ / UserMention
+ / ChannelMention
+ / Any
+ )+
+ EndOfLine? { return reducePlainTexts(value); }
+
+Whitespace = w:" "+ { return plain(w.join('')); }
+
+Any = !EndOfLine t:any { return plain(t); }
+
+any = $.
+
+Extra = e:extra { return plain(e); }
+
+// = Line
+
+Line = t:line { return plain(t); }
+
+Text = text:anyText { return plain(text); }
+
+line
+ = head:Space* text:anyText+ tail:Space* {
+ return head.join('') + text.join('') + tail.join('');
+ }
+
+EOF = !.
+
+crlf
+ = "\r\n"
+ / "\r"
+ / "\n"
+
+EatLine = (!crlf !EOF .)*
+
+EndOfLine
+ = "\r\n"
+ / "\n"
+ / "\r"
+
+Space
+ = " "+
+ / "\t"
+
+anyText
+ = [\x20-\x27] /* ! " # $ % & ' ( ) */
+ / [\x2B-\x40]
+ / [\x41-\x5A]
+ / [\x61-\x7A]
+ / nonascii
+
+anyText2
+ = [\x20-\x40]
+ / [\x41-\x60]
+ / [\x61-\xFFFF]
+ / nonascii
+
+ListText
+ = [\x20-\x27]
+ / [\x2B-\x40]
+ / [\x41-\x5A]
+ / [\x60-\x7A]
+ / nonascii
+
+LinkText
+ = [\x20-\x2A]
+ / [\x2B-\x40]
+ / [\x41-\x5B]
+ / [\x61-\x7A]
+ / nonascii
+
+CodeText
+ = [\x20-\x2A]
+ / [\x2B-\x40]
+ / [\x41-\x5F]
+ / [\x61-\x7E]
+ / nonascii
+ / EndOfLine
+ / Space
+
+SectionText
+ = [-]+
+ / [\x20-\x40]
+ / [\x41-\x60]
+ / [\x61-\x7A]
+ / nonascii
+
+Heading
+ = "# "+ text:Line { return heading([text], 1); }
+ / "## "+ text:Line { return heading([text], 2); }
+ / "### "+ text:Line { return heading([text], 3); }
+ / "#### "+ text:Line { return heading([text], 4); }
+
+utf8_names_validation = text:[0-9a-zA-Z-_.]+ { return text.join(''); }
+
+UserMention
+ = t:Text "@"+ user:utf8_names_validation {
+ return reducePlainTexts([t, plain('@' + user)])[0];
+ }
+ / "@"+ user:utf8_names_validation { return mentionUser(user); }
+
+ChannelMention
+ = t:Text "#" channel:utf8_names_validation {
+ return reducePlainTexts([t, plain('#' + channel)])[0];
+ }
+ / "#" channel:utf8_names_validation { return mentionChannel(channel); }
+
+Emoji = ":" text:utf8_names_validation ":" { return emoji(text); }
+
+/* Sceenshot ------------- */
+Section
+ = text:SectionText+ ("\r\n" / "\n" / "\r") [-]+ EndOfLine? {
+ return {
+ section: text.join(''),
+ };
+ }
+
+/* __Italic__ */
+/* _Italic_ */
+Italic
+ = t:[a-zA-Z0-9]+ tail:([\x5F] [\x5F]?) {
+ return plain(t.join('') + tail.join(''));
+ }
+ / [\x5F] [\x5F] i:italic_Content [\x5F] [\x5F] t:[a-zA-Z0-9]+ {
+ return reducePlainTexts([
+ plain('__'),
+ ...i,
+ plain('__'),
+ plain(t.join('')),
+ ])[0];
+ }
+ / [\x5F] i:italic_Content [\x5F] t:[a-zA-Z]+ {
+ return reducePlainTexts([
+ plain('_'),
+ ...i,
+ plain('_'),
+ plain(t.join('')),
+ ])[0];
+ }
+ / [\x5F] [\x5F] i:Italic_Content [\x5F] [\x5F] { return i; }
+ / [\x5F] i:Italic_Content [\x5F] { return i; }
+
+Italic_Content = text:italic_Content { return italic(text); }
+
+italic_Content
+ = text:(Bold / Strikethrough / Line / AnyItalic)+ {
+ return reducePlainTexts(text);
+ }
+
+/* **Bold** */
+/* *Bold* */
+Bold
+ = [\x2A] [\x2A] b:Bold_Content [\x2A] [\x2A] { return b; }
+ / [\x2A] b:Bold_Content [\x2A] { return b; }
+
+Bold_Content
+ = text:(Italic / Strikethrough / Line / AnyBold)+ {
+ return bold(reducePlainTexts(text));
+ }
+
+/* ~~Mistaken text.~~ */
+/* ~Mistaken text.~ */
+Strikethrough
+ = [\x7E] [\x7E] s:Strikethrough_Content [\x7E] [\x7E] { return s; }
+ / [\x7E] s:Strikethrough_Content [\x7E] { return s; }
+
+Strikethrough_Content
+ = text:(Italic / Bold / Line / AnyStrike)+ {
+ return strike(reducePlainTexts(text));
+ }
+
+AnyBold = t:[^\x0a\* ] { return plain(t); }
+
+AnyStrike = t:[^\x0a\~ ] { return plain(t); }
+
+AnyItalic = t:[^\x0a\_ ] { return plain(t); }
+
+ListItem
+ = ("\x2A " / "\x2D ") text:ListText+ Space? { return text.join('').trim(); }
+
+Lists
+ = lists:ListItem+ {
+ return {
+ lists: lists,
+ };
+ }
+
+Blockquote = b:BlockquoteItem+ {
+ return quote(b)
+}
+
+BlockquoteItem = "> " p:Paragraph { return p }
+
+// - [ ] this is an incomplete item
+// - [x] this is a complete item
+TaskList
+ = t:TaskItem+ {
+ return tasks(t);
+ }
+
+TaskItem = "- [x] " text:Inline { return task(text, true); }
+ / "- [ ] " text:Inline { return task(text, false); }
+
+
+UnorderedList = UnorderedList_ / UnorderedList__
+
+
+UnorderedList_ = lists:UnorderedListItem_+ {
+ return unorderedList(lists)
+}
+
+UnorderedList__ = lists:UnorderedListItem__+ {
+ return unorderedList(lists)
+}
+
+UnorderedListItem_
+ = ("- ") text:Inline { return listItem(text, true); }
+
+UnorderedListItem__
+ = ("* ") text:UnorderedListItem__Inline { return listItem(text, true); }
+
+UnorderedListItem__Inline
+ = value:
+ ( Whitespace
+ / Emoji
+ / References
+ / InlineCode
+ / AutolinkedPhone
+ / AutolinkedURL
+ / AutolinkedEmail
+ / Emphasis
+ / Color
+ / UserMention
+ / ChannelMention
+ / !'*' a:Any { return a }
+ )+
+ !'*' EndOfLine? { return reducePlainTexts(value); }
+
+OrderedList
+ = lists:OrderedListItem+ {
+ return orderedList(lists)
+ }
+OrderedListItem
+ = (digit1_9+ "\x2E ") text:Inline { return listItem(text, true); }
+
+Codetype = t:[a-zA-Z0-9 \_\-.]+ { return t.join(''); }
+
+InlineCode = "`" text:Line "`" { return inlineCode(text); }
+
+LineCode "LineCode"
+ = text:[^"\n"\`]+ "`"? { return codeLine(plain(text.join(''))); }
+ / "\n"+ text:[^"\n"\`]+ "`"? { return codeLine(plain(text.join(''))); }
+
+MultiplelLineCode
+ = "```" t:Codetype? "\n" value:LineCode+ "\n"+ "```" {
+ return code(value, t);
+ }
+
+// [Visit GitHub!](www.github.com)
+LinkTitle = "[" text:(Emphasis / Line) "]" { return text; }
+
+LinkRef
+ = "(" text:(URL / p:Phone { return 'tel:' + p.number; }) ")" { return text; }
+
+References = title:LinkTitle href:LinkRef { return link(href, title); }
+
+/* Macros */
+
+h = [0-9a-f]i
+
+nonascii = [\x80-\uFFFF]
+
+unicode
+ = "\\" digits:$(h h? h? h? h? h?) ("\r\n" / [ \t\r\n\f])? {
+ return String.fromCharCode(parseInt(digits, 16));
+ }
+
+escape
+ = unicode
+ / "\\" ch:[^\r\n\f0-9a-f]i { return ch; }
+
+nmstart
+ = [_a-z]i
+ / nonascii
+ / escape
+
+nmchar
+ = [_a-z0-9-]i
+ / nonascii
+ / escape
+
+string1
+ = "\"" chars:([^\n\r\f\\"] / "\\" nl:nl { return ''; } / escape)* "\"" {
+ return chars.join('');
+ }
+
+string2
+ = "'" chars:([^\n\r\f\\'] / "\\" nl:nl { return ''; } / escape)* "'" {
+ return chars.join('');
+ }
+
+string = chars:(string1 / [_a-zA-Z0-9-\n]+) { return chars.join(''); }
+
+comment = "/*" [^*]* "*"+ ([^/*] [^*]* "*"+)* "/"
+
+ident
+ = prefix:$"-"? start:nmstart chars:nmchar* {
+ return prefix + start + chars.join('');
+ }
+
+name = chars:nmchar+ { return chars.join(''); }
+
+num
+ = [+-]? ([0-9]+ / [0-9]* "." [0-9]+) ("e" [+-]? [0-9]+)? {
+ return parseFloat(text());
+ }
+
+s = [ \t\r\n\f]+
+
+w = s?
+
+nl
+ = "\n"
+ / "\r\n"
+ / "\r"
+ / "\f"
+
+AutolinkedPhone = p:Phone { return link('tel:' + p.number, plain(p.text)); }
+
+AutolinkedURL = u:URL { return link(u); }
+
+AutolinkedEmail = e:Email { return link('mailto:' + e, plain(e)); }
+
+alpha = [a-zA-Z]
+
+digit = [0-9]
+
+digit1_9 = [1-9]
+
+digits = d:digit+ { return d.join(''); }
+
+safe
+ = "$"
+ / "-"
+ / "\_"
+ / "@"
+ / "."
+ / "&"
+ / "="
+
+extra
+ = "!"
+ / "*"
+ / "\""
+ / "'"
+ / ":"
+ / ";"
+ / ","
+ / " "
+ / "("
+ / ")"
+ / "?"
+ / "#"
+ / "="
+
+hexdigit = [0-9A-Fa-f]
+
+hexNible = a:hexdigit { return parseInt(a + a, 16); }
+
+hexByte = a:hexdigit b:hexdigit { return parseInt(a + b, 16); }
+
+domainName
+ = "localhost"
+ / $(domainNameLabel ("." domainNameLabel)+)
+
+domainNameLabel = $(domainChar domainChar+ $("-" domainChar+)*)
+
+domainChar = !safe !extra !EndOfLine !Space .
+
+/**
+ *
+ * Color
+ *
+ */
+
+Color = "color:#" rgba:colorRGBATuple !anyText { return color(...rgba); }
+
+colorRGBATuple
+ = r:hexByte g:hexByte b:hexByte a:hexByte { return [r, g, b, a]; }
+ / r:hexByte g:hexByte b:hexByte { return [r, g, b]; }
+ / r:hexNible g:hexNible b:hexNible a:hexNible { return [r, g, b, a]; }
+ / r:hexNible g:hexNible b:hexNible { return [r, g, b]; }
+
+/**
+ *
+ * Phone
+ *
+ */
+
+Phone = "+" p:phoneNumber { return { text: '+' + p.text, number: p.number }; }
+
+phoneNumber
+ = p:phonePrefix "-" d:digits {
+ return { text: p.text + '-' + d, number: p.number + d };
+ }
+ / p:phonePrefix d:digits {
+ return { text: p.text + d, number: p.number + d };
+ }
+ / d:digits { return { text: d, number: d }; }
+
+phonePrefix
+ = d:digits { return { text: d, number: d }; }
+ / "(" d:digits ")" { return { text: '(' + d + ')', number: d }; }
+
+/**
+ *
+ * URL
+ *
+ */
+
+URL
+ = s:urlScheme a:urlAuthority p:urlPath? q:urlQuery? f:urlFragment? {
+ const href = [s, a, p, q, f].filter(Boolean).join('');
+ // const url = {
+ // href,
+ // scheme: s,
+ // authority: a,
+ // path: p,
+ // query: q,
+ // fragment: f,
+ // };
+
+ return href;
+ }
+
+urlScheme
+ = $(
+ [A-Za-z]
+ [A-Za-z0-9+.-]
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]?
+ [A-Za-z0-9+.-]? // up to 32 characters
+ ":"
+ )
+
+urlAuthority = $("//" urlAuthorityUserInfo? urlAuthorityHost)
+
+urlAuthorityUserInfo = $(urlAuthorityUser (":" urlAuthorityPassword)? "@")
+
+urlAuthorityUser = $(alpha / digit / "$" / "-" / "_" / "." / "&" / "=")+
+
+urlAuthorityPassword = $(alpha / digit / "$" / "-" / "_" / "." / "&" / "=")+
+
+urlAuthorityHost = urlAuthorityHostName (":" urlAuthorityPort)?
+
+urlAuthorityHostName
+ = domainName
+ / $(digits "." digits "." digits "." digits) // TODO: IPv4 and IPv6
+
+urlAuthorityPort
+ = digits // TODO: from "0" to "65535"
+
+urlPath = $("/" $(alpha / digit / safe)+ urlPath*)
+
+urlQuery = $("?" $(alpha / digit / safe)+)
+
+urlFragment = $("#" $(alpha / digit / safe)+)
+
+/**
+ *
+ * Email
+ *
+ */
+
+Email
+ = "mailto:" e:$(localPart "@" domainName) { return e; }
+ / $(localPart "@" domainName)
+
+localPart = $(localPartChar+ $("." localPartChar+)*)
+
+alphaChar
+ = [A-Za-z\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\u0561-\u0587\u05D0-\u05EA\u05F0-\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\u08A0-\u08B4\u08B6-\u08BD\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\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\u0D05-\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\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\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\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\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\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\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\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\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\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\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-\uAB65\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]
+
+emojiChar
+ = [\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff]
+
+markChar
+ = [\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]
+
+alphaOrMarkChar
+ = alphaChar
+ / emojiChar
+ / markChar
+
+decimalNumberChar
+ = [0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]
+
+alphaNumericOrMarkChar
+ = alphaOrMarkChar
+ / decimalNumberChar
+
+localPartChar
+ = alphaNumericOrMarkChar
+ / [!#$%&'*+/=?^_\`{|}~-]
diff --git a/packages/message-parser/src/guards.ts b/packages/message-parser/src/guards.ts
new file mode 100644
index 0000000000..2f9503bd7b
--- /dev/null
+++ b/packages/message-parser/src/guards.ts
@@ -0,0 +1,10 @@
+import { ASTNode } from './definitions';
+
+export const isNodeOfType = (
+ value: unknown,
+ type: N['type']
+): value is N =>
+ typeof value === 'object' &&
+ value !== null &&
+ 'type' in value &&
+ (value as { type: unknown }).type === type;
diff --git a/packages/message-parser/src/index.ts b/packages/message-parser/src/index.ts
new file mode 100644
index 0000000000..66e47f9be9
--- /dev/null
+++ b/packages/message-parser/src/index.ts
@@ -0,0 +1,8 @@
+import { ASTMessage } from './definitions';
+import { parse } from './grammar.pegjs';
+
+export * from './definitions';
+
+export { isNodeOfType } from './guards';
+
+export const parser = (input: string): ASTMessage => parse(input);
diff --git a/packages/message-parser/src/typings/peg.d.ts b/packages/message-parser/src/typings/peg.d.ts
new file mode 100644
index 0000000000..0c441c3a5a
--- /dev/null
+++ b/packages/message-parser/src/typings/peg.d.ts
@@ -0,0 +1,6 @@
+declare module '*.pegjs' {
+ export const parse: (
+ input: string,
+ options?: import('peggy').ParserOptions
+ ) => import('../definitions').ASTMessage;
+}
diff --git a/packages/message-parser/src/utils.ts b/packages/message-parser/src/utils.ts
new file mode 100644
index 0000000000..8fe1b3de45
--- /dev/null
+++ b/packages/message-parser/src/utils.ts
@@ -0,0 +1,105 @@
+import {
+ BigEmoji,
+ Code,
+ Color,
+ Heading,
+ Markup,
+ Paragraph,
+ Types,
+ Task,
+} from './definitions';
+
+const generate = (type: Type) => (
+ value: Types[Type]['value']
+): Types[Type] => ({ type, value } as any);
+
+export const paragraph = generate('PARAGRAPH');
+
+export const bold = generate('BOLD');
+
+export const color = (r: number, g: number, b: number, a = 255): Color => ({
+ type: 'COLOR',
+ value: { r, g, b, a },
+});
+
+export const emoji = (() => {
+ const fn = generate('EMOJI');
+ return (value: string) => fn(plain(value));
+})();
+
+export const heading = (
+ value: Heading['value'],
+ level: Heading['level'] = 1
+): Heading => ({
+ type: 'HEADING',
+ level,
+ value,
+});
+
+export const code = (
+ value: Code['value'],
+ language?: Code['language']
+): Code => ({
+ type: 'CODE',
+ language: language || 'none',
+ value,
+});
+
+export const bigEmoji = (value: BigEmoji['value']): BigEmoji => ({
+ type: 'BIG_EMOJI',
+ value,
+});
+
+export const task = (value: Task['value'], status: boolean): Task => ({
+ type: 'TASK',
+ status,
+ value,
+});
+
+export const inlineCode = generate('INLINE_CODE');
+export const tasks = generate('TASKS');
+
+export const italic = generate('ITALIC');
+
+export const plain = generate('PLAIN_TEXT');
+export const strike = generate('STRIKE');
+export const codeLine = generate('CODE_LINE');
+export const link = (() => {
+ const fn = generate('LINK');
+ return (src: string, label?: Markup) =>
+ fn({ src: plain(src), label: label || plain(src) });
+})();
+export const quote = generate('QUOTE');
+
+export const mentionChannel = (() => {
+ const fn = generate('MENTION_CHANNEL');
+ return (value: string) => fn(plain(value));
+})();
+
+export const orderedList = generate('ORDERED_LIST');
+
+export const unorderedList = generate('UNORDERED_LIST');
+
+export const listItem = generate('LIST_ITEM');
+
+export const list = generate('ORDERED_LIST');
+
+export const mentionUser = (() => {
+ const fn = generate('MENTION_USER');
+ return (value: string) => fn(plain(value));
+})();
+
+export const reducePlainTexts = (
+ values: Paragraph['value']
+): Paragraph['value'] =>
+ values.reduce((result, item, index) => {
+ if (index > 0) {
+ const previous = result[result.length - 1];
+ if (item.type === 'PLAIN_TEXT' && item.type === previous.type) {
+ previous.value += item.value;
+ return result;
+ }
+ }
+
+ return [...result, item];
+ }, [] as Paragraph['value']);
diff --git a/packages/message-parser/tests/any.test.ts b/packages/message-parser/tests/any.test.ts
new file mode 100644
index 0000000000..936154932b
--- /dev/null
+++ b/packages/message-parser/tests/any.test.ts
@@ -0,0 +1,13 @@
+import { parser } from '../src';
+import { paragraph, plain } from '../src/utils';
+
+test.each([
+ ['free text', [paragraph([plain('free text')])]],
+ ['free text, with comma', [paragraph([plain('free text, with comma')])]],
+ [
+ 'free text with unxpected/unfinished blocks *bold_',
+ [paragraph([plain('free text with unxpected/unfinished blocks *bold_')])],
+ ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/blockquotes.test.ts b/packages/message-parser/tests/blockquotes.test.ts
new file mode 100644
index 0000000000..15726125a2
--- /dev/null
+++ b/packages/message-parser/tests/blockquotes.test.ts
@@ -0,0 +1,29 @@
+import { parser } from '../src';
+import { paragraph, plain, quote, bold } from '../src/utils';
+
+test.each([
+ [
+ `
+As Rocket Cat said:
+> meowww
+> grr.
+`.trim(),
+ [
+ paragraph([plain('As Rocket Cat said:')]),
+ quote([paragraph([plain('meowww')]), paragraph([plain('grr.')])]),
+ ],
+ ],
+ [
+ `
+As Rocket Cat said:
+> *meowww*
+> grr.
+`.trim(),
+ [
+ paragraph([plain('As Rocket Cat said:')]),
+ quote([paragraph([bold([plain('meowww')])]), paragraph([plain('grr.')])]),
+ ],
+ ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/codeFence.test.ts b/packages/message-parser/tests/codeFence.test.ts
new file mode 100644
index 0000000000..17160b0135
--- /dev/null
+++ b/packages/message-parser/tests/codeFence.test.ts
@@ -0,0 +1,49 @@
+import { parser } from '../src';
+import { paragraph, plain, codeLine, code } from '../src/utils';
+
+test.each([
+ [
+ `\`\`\`
+code
+\`\`\``,
+ [code([codeLine(plain('code'))])],
+ ],
+ [
+ `\`\`\`javascript
+code
+\`\`\``,
+ [code([codeLine(plain('code'))], 'javascript')],
+ ],
+ [
+ `\`\`\`bash c
+code
+\`\`\``,
+ [code([codeLine(plain('code'))], 'bash c')],
+ ],
+ [
+ ` \`\`\`
+code
+\`\`\``,
+ [
+ paragraph([plain(` \`\`\``)]),
+ paragraph([plain(`code`)]),
+ paragraph([plain(`\`\`\``)]),
+ ],
+ ],
+ [
+ `\`\`\`
+code
+code
+\`\`\``,
+ [code([codeLine(plain(`code`)), codeLine(plain(`code`))])],
+ ],
+ [
+ `\`\`\`
+# code
+**code**
+\`\`\``,
+ [code([codeLine(plain(`# code`)), codeLine(plain(`**code**`))])],
+ ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/color.test.ts b/packages/message-parser/tests/color.test.ts
new file mode 100644
index 0000000000..1a99ec4945
--- /dev/null
+++ b/packages/message-parser/tests/color.test.ts
@@ -0,0 +1,14 @@
+import { parser } from '../src';
+import { color, paragraph, plain } from '../src/utils';
+
+test.each([
+ ['color:#ccc', [paragraph([color(0xcc, 0xcc, 0xcc)])]],
+ ['color:#cccc', [paragraph([color(0xcc, 0xcc, 0xcc, 0xcc)])]],
+ ['color:#c7c7c7', [paragraph([color(0xc7, 0xc7, 0xc7)])]],
+ ['color:#c7c7c7c7', [paragraph([color(0xc7, 0xc7, 0xc7, 0xc7)])]],
+ ['color:#c7c7c7c7c7', [paragraph([plain('color:#c7c7c7c7c7')])]],
+ ['color:#c7', [paragraph([plain('color:#c7')])]],
+ ['color:#zzz', [paragraph([plain('color:#zzz')])]],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/email.test.ts b/packages/message-parser/tests/email.test.ts
new file mode 100644
index 0000000000..a35ef8c4ab
--- /dev/null
+++ b/packages/message-parser/tests/email.test.ts
@@ -0,0 +1,154 @@
+import { parser } from '../src';
+import { link, paragraph, plain } from '../src/utils';
+
+test.each([
+ [
+ 'joe@joe.com',
+ [paragraph([link('mailto:joe@joe.com', plain('joe@joe.com'))])],
+ ],
+ [
+ "joe@joe.com is Joe's email",
+ [
+ paragraph([
+ link('mailto:joe@joe.com', plain('joe@joe.com')),
+ plain(" is Joe's email"),
+ ]),
+ ],
+ ],
+ [
+ "joe@joe.com is Joe's email",
+ [
+ paragraph([
+ link('mailto:joe@joe.com', plain('joe@joe.com')),
+ plain(" is Joe's email"),
+ ]),
+ ],
+ ],
+ [
+ "Joe's email is joe@joe.com because it is",
+ [
+ paragraph([
+ plain("Joe's email is "),
+ link('mailto:joe@joe.com', plain('joe@joe.com')),
+ plain(' because it is'),
+ ]),
+ ],
+ ],
+ [
+ "Joe's email is joe@joe.com",
+ [
+ paragraph([
+ plain("Joe's email is "),
+ link('mailto:joe@joe.com', plain('joe@joe.com')),
+ ]),
+ ],
+ ],
+ [
+ "Joe's email is joe@joe.com. Try emailing him",
+ [
+ paragraph([
+ plain("Joe's email is "),
+ link('mailto:joe@joe.com', plain('joe@joe.com')),
+ plain('. Try emailing him'),
+ ]),
+ ],
+ ],
+ [
+ "Joe's email is joe.smith@joe.com",
+ [
+ paragraph([
+ plain("Joe's email is "),
+ link('mailto:joe.smith@joe.com', plain('joe.smith@joe.com')),
+ ]),
+ ],
+ ],
+ [
+ "Joe's email is JOE@JOE.COM",
+ [
+ paragraph([
+ plain("Joe's email is "),
+ link('mailto:JOE@JOE.COM', plain('JOE@JOE.COM')),
+ ]),
+ ],
+ ],
+ [
+ "Joe's email is (joe@joe.com)",
+ [
+ paragraph([
+ plain("Joe's email is ("),
+ link('mailto:joe@joe.com', plain('joe@joe.com')),
+ plain(')'),
+ ]),
+ ],
+ ],
+ [
+ "Joe's email is (joe_roe@joe.com)",
+ [
+ paragraph([
+ plain("Joe's email is ("),
+ link('mailto:joe_roe@joe.com', plain('joe_roe@joe.com')),
+ plain(')'),
+ ]),
+ ],
+ ],
+ [
+ "Joe's email is (joe'roe@joe.com)",
+ [
+ paragraph([
+ plain("Joe's email is ("),
+ link("mailto:joe'roe@joe.com", plain("joe'roe@joe.com")),
+ plain(')'),
+ ]),
+ ],
+ ],
+ [
+ "Joe's email is mañana@mañana.com",
+ [
+ paragraph([
+ plain("Joe's email is "),
+ link('mailto:mañana@mañana.com', plain('mañana@mañana.com')),
+ ]),
+ ],
+ ],
+ [
+ "Joe's email is Кириллица@Кириллица.com",
+ [
+ paragraph([
+ plain("Joe's email is "),
+ link(
+ 'mailto:Кириллица@Кириллица.com',
+ plain('Кириллица@Кириллица.com')
+ ),
+ ]),
+ ],
+ ],
+ ['Hi there@stuff', [paragraph([plain('Hi there@stuff')])]],
+ [
+ 'My email is busueng.kim@aaa.com',
+ [
+ paragraph([
+ plain('My email is '),
+ link('mailto:busueng.kim@aaa.com', plain('busueng.kim@aaa.com')),
+ ]),
+ ],
+ ],
+ [
+ 'My email is mailto:asdf@asdf.com',
+ [
+ paragraph([
+ plain('My email is '),
+ link('mailto:asdf@asdf.com', plain('asdf@asdf.com')),
+ ]),
+ ],
+ ],
+ [
+ 'My email is fake@gmail.c',
+ [paragraph([plain('My email is fake@gmail.c')])],
+ ],
+ // [
+ // 'My email is fake@gmail.comf',
+ // [paragraph([plain('My email is fake@gmail.comf')])],
+ // ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/emoji.test.ts b/packages/message-parser/tests/emoji.test.ts
new file mode 100644
index 0000000000..fe676dc0a4
--- /dev/null
+++ b/packages/message-parser/tests/emoji.test.ts
@@ -0,0 +1,36 @@
+import { parser } from '../src';
+import { emoji, bigEmoji, paragraph, plain } from '../src/utils';
+
+test.each([
+ [
+ 'normal emojis :smile::smile::smile:',
+ [
+ paragraph([
+ plain('normal emojis '),
+ emoji('smile'),
+ emoji('smile'),
+ emoji('smile'),
+ ]),
+ ],
+ ],
+ [
+ ':smile::smile::smile:',
+ [bigEmoji([emoji('smile'), emoji('smile'), emoji('smile')])],
+ ],
+ [
+ ' :smile::smile::smile: ',
+ [bigEmoji([emoji('smile'), emoji('smile'), emoji('smile')])],
+ ],
+ [
+ '\n :smile::smile::smile: \n',
+ [bigEmoji([emoji('smile'), emoji('smile'), emoji('smile')])],
+ ],
+ [
+ ':smile: :smile: :smile:',
+ [bigEmoji([emoji('smile'), emoji('smile'), emoji('smile')])],
+ ],
+ [':smile::smile:', [bigEmoji([emoji('smile'), emoji('smile')])]],
+ [':smile:', [bigEmoji([emoji('smile')])]],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/emphasis.test.ts b/packages/message-parser/tests/emphasis.test.ts
new file mode 100644
index 0000000000..3b06d281d9
--- /dev/null
+++ b/packages/message-parser/tests/emphasis.test.ts
@@ -0,0 +1,87 @@
+import { parser } from '../src';
+import {
+ italic,
+ paragraph,
+ plain,
+ strike,
+ bold,
+ emoji,
+ bigEmoji,
+} from '../src/utils';
+
+test.each([
+ ['__italic__', [paragraph([italic([plain('italic')])])]],
+ ['pre__italic__post', [paragraph([plain('pre__italic__post')])]],
+ [' pre__italic__post', [paragraph([plain(' pre__italic__post')])]],
+ [
+ ' pre__**~~boldstrikeitalic~~**__post ',
+ [
+ paragraph([
+ plain(' pre__'),
+ bold([strike([plain('boldstrikeitalic')])]),
+ plain('__post '),
+ ]),
+ ],
+ ],
+ ['__', [paragraph([plain('__')])]],
+ ['_ _', [paragraph([plain('_ _')])]],
+ ['__ _', [paragraph([plain('__ _')])]],
+ ['__ __', [paragraph([plain('__ __')])]],
+ ['_ Hello_', [paragraph([italic([plain(' Hello')])])]],
+ ['_Hello _', [paragraph([italic([plain('Hello ')])])]],
+ [':custom_emoji_case:', [bigEmoji([emoji('custom_emoji_case')])]],
+ ['_Hel lo_', [paragraph([italic([plain('Hel lo')])])]],
+ ['_Hello_', [paragraph([italic([plain('Hello')])])]],
+ ['__Hello__', [paragraph([italic([plain('Hello')])])]],
+ ['__Hello_', [paragraph([plain('_'), italic([plain('Hello')])])]],
+ ['_Hello__', [paragraph([italic([plain('Hello')]), plain('_')])]],
+ ['_Hello', [paragraph([plain('_Hello')])]],
+ ['Hello_', [paragraph([plain('Hello_')])]],
+ ['He_llo', [paragraph([plain('He_llo')])]],
+ [
+ '___Hello___',
+ [paragraph([plain('_'), italic([plain('Hello')]), plain('_')])],
+ ],
+ ['___Hello__', [paragraph([plain('_'), italic([plain('Hello')])])]],
+ [
+ '_Hello_ this is dog',
+ [paragraph([italic([plain('Hello')]), plain(` this is dog`)])],
+ ],
+ [
+ 'Rocket cat says _Hello_',
+ [paragraph([plain(`Rocket cat says `), italic([plain('Hello')])])],
+ ],
+ [
+ 'He said _Hello_ to her',
+ [
+ paragraph([
+ plain(`He said `),
+ italic([plain('Hello')]),
+ plain(` to her`),
+ ]),
+ ],
+ ],
+ [
+ '__Hello__ this is dog',
+ [paragraph([italic([plain('Hello')]), plain(` this is dog`)])],
+ ],
+ [
+ 'Rocket cat says __Hello__',
+ [paragraph([plain(`Rocket cat says `), italic([plain('Hello')])])],
+ ],
+ [
+ 'He said __Hello__ to her',
+ [
+ paragraph([
+ plain(`He said `),
+ italic([plain('Hello')]),
+ plain(` to her`),
+ ]),
+ ],
+ ],
+ ['text_hello_text', [paragraph([plain('text_hello_text')])]],
+ ['_hello_text', [paragraph([plain('_hello_text')])]],
+ ['text_hello_', [paragraph([plain('text_hello_')])]],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/heading.test.ts b/packages/message-parser/tests/heading.test.ts
new file mode 100644
index 0000000000..2d23137725
--- /dev/null
+++ b/packages/message-parser/tests/heading.test.ts
@@ -0,0 +1,50 @@
+import { parser } from '../src';
+import { heading, mentionChannel, paragraph, plain } from '../src/utils';
+
+test.each([
+ ['# h1', [heading([plain('h1')], 1)]],
+ ['# Hello', [heading([plain('Hello')], 1)]],
+ ['# Rocket.Cat', [heading([plain('Rocket.Cat')], 1)]],
+ ['# Hi', [heading([plain('Hi')], 1)]],
+ ['# Hello this is dog', [heading([plain('Hello this is dog')], 1)]],
+ ['# Rocket cat says Hello', [heading([plain('Rocket cat says Hello')], 1)]],
+ ['# He said Hello to her', [heading([plain('He said Hello to her')], 1)]],
+ ['#Hello', [paragraph([mentionChannel('Hello')])]],
+ ['#Hello#', [paragraph([mentionChannel('Hello'), plain('#')])]],
+ ['He#llo', [paragraph([plain('He#llo')])]],
+
+ ['## Hello', [heading([plain('Hello')], 2)]],
+ ['## Rocket.Cat', [heading([plain('Rocket.Cat')], 2)]],
+ ['## Hi', [heading([plain('Hi')], 2)]],
+ ['## Hello this is dog', [heading([plain('Hello this is dog')], 2)]],
+ ['## Rocket cat says Hello', [heading([plain('Rocket cat says Hello')], 2)]],
+ ['## He said Hello to her', [heading([plain('He said Hello to her')], 2)]],
+ ['##Hello', [paragraph([plain('##Hello')])]],
+ ['##Hello##', [paragraph([plain('##Hello##')])]],
+ ['He##llo', [paragraph([plain('He##llo')])]],
+
+ ['### Hello', [heading([plain('Hello')], 3)]],
+ ['### Rocket.Cat', [heading([plain('Rocket.Cat')], 3)]],
+ ['### Hi', [heading([plain('Hi')], 3)]],
+ ['### Hello this is dog', [heading([plain('Hello this is dog')], 3)]],
+ ['### Rocket cat says Hello', [heading([plain('Rocket cat says Hello')], 3)]],
+ ['### He said Hello to her', [heading([plain('He said Hello to her')], 3)]],
+ ['###Hello', [paragraph([plain('###Hello')])]],
+ ['###Hello###', [paragraph([plain('###Hello###')])]],
+ ['He###llo', [paragraph([plain('He###llo')])]],
+
+ ['#### Hello', [heading([plain('Hello')], 4)]],
+ ['#### Rocket.Cat', [heading([plain('Rocket.Cat')], 4)]],
+ ['#### Hi', [heading([plain('Hi')], 4)]],
+ ['#### Hello this is dog', [heading([plain('Hello this is dog')], 4)]],
+ [
+ '#### Rocket cat says Hello',
+ [heading([plain('Rocket cat says Hello')], 4)],
+ ],
+ ['#### He said Hello to her', [heading([plain('He said Hello to her')], 4)]],
+ ['####Hello', [paragraph([plain('####Hello')])]],
+ ['####Hello####', [paragraph([plain('####Hello####')])]],
+ ['He####llo', [paragraph([plain('He####llo')])]],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/inlineCode.test.ts b/packages/message-parser/tests/inlineCode.test.ts
new file mode 100644
index 0000000000..df6e557fc9
--- /dev/null
+++ b/packages/message-parser/tests/inlineCode.test.ts
@@ -0,0 +1,9 @@
+import { parser } from '../src';
+import { inlineCode, paragraph, plain } from '../src/utils';
+
+test.each([[`\`code\``, [paragraph([inlineCode(plain('code'))])]]])(
+ 'parses %p',
+ (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+ }
+);
diff --git a/packages/message-parser/tests/link.test.ts b/packages/message-parser/tests/link.test.ts
new file mode 100644
index 0000000000..2fb8444d3a
--- /dev/null
+++ b/packages/message-parser/tests/link.test.ts
@@ -0,0 +1,39 @@
+import { parser } from '../src';
+import { link, paragraph, plain, bold, strike, italic } from '../src/utils';
+
+test.each([
+ [
+ '[title](https://rocket.chat)',
+ [paragraph([link('https://rocket.chat', plain('title'))])],
+ ],
+ [
+ '[title](http://localhost)',
+ [paragraph([link('http://localhost', plain('title'))])],
+ ],
+ [
+ '[title](http://localhost?testing=true)',
+ [paragraph([link('http://localhost?testing=true', plain('title'))])],
+ ],
+ [
+ '[**title**](https://rocket.chat)',
+ [paragraph([link('https://rocket.chat', bold([plain('title')]))])],
+ ],
+ [
+ '[~~title~~](https://rocket.chat)',
+ [paragraph([link('https://rocket.chat', strike([plain('title')]))])],
+ ],
+ [
+ '[__title__](https://rocket.chat)',
+ [paragraph([link('https://rocket.chat', italic([plain('title')]))])],
+ ],
+ [
+ '[__**~~title~~**__](https://rocket.chat)',
+ [
+ paragraph([
+ link('https://rocket.chat', italic([bold([strike([plain('title')])])])),
+ ]),
+ ],
+ ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/mention.test.ts b/packages/message-parser/tests/mention.test.ts
new file mode 100644
index 0000000000..10ce86921f
--- /dev/null
+++ b/packages/message-parser/tests/mention.test.ts
@@ -0,0 +1,13 @@
+import { parser } from '../src';
+import { paragraph, plain, mentionUser, mentionChannel } from '../src/utils';
+
+test.each([
+ ['@guilherme.gazzo', [paragraph([mentionUser('guilherme.gazzo')])]],
+ [
+ '@guilherme.gazzo. ',
+ [paragraph([mentionUser('guilherme.gazzo.'), plain(' ')])],
+ ],
+ ['#GENERAL', [paragraph([mentionChannel('GENERAL')])]],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/orderedList.test.ts b/packages/message-parser/tests/orderedList.test.ts
new file mode 100644
index 0000000000..119ed9f8e4
--- /dev/null
+++ b/packages/message-parser/tests/orderedList.test.ts
@@ -0,0 +1,42 @@
+import { parser } from '../src';
+import { bold, plain, orderedList, listItem } from '../src/utils';
+
+test.each([
+ [
+ `
+1. First item
+2. Second item
+3. Third item
+4. *Fourth item*
+`.trim(),
+ [
+ orderedList([
+ listItem([plain('First item')]),
+ listItem([plain('Second item')]),
+ listItem([plain('Third item')]),
+ listItem([bold([plain('Fourth item')])]),
+ ]),
+ ],
+ ],
+
+ // [
+ // `
+ // 1. First item
+ // 2. Second item
+ // 3. Third item
+ // 1. First item
+ // 2. Second item
+ // 4. *Fourth item*
+ // `.trim(),
+ // [
+ // orderedList([
+ // listItem([plain('First item')]),
+ // listItem([plain('Second item')]),
+ // listItem([plain('Third item')]),
+ // listItem([bold([plain('Fourth item')])]),
+ // ]),
+ // ],
+ // ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/phoneNumber.test.ts b/packages/message-parser/tests/phoneNumber.test.ts
new file mode 100644
index 0000000000..b77b138ad2
--- /dev/null
+++ b/packages/message-parser/tests/phoneNumber.test.ts
@@ -0,0 +1,31 @@
+import { parser } from '../src';
+import { link, paragraph, plain, bold } from '../src/utils';
+
+test.each([
+ [
+ '+07563546725',
+ [paragraph([link('tel:07563546725', plain('+07563546725'))])],
+ ],
+ [
+ '+075-63546725',
+ [paragraph([link('tel:07563546725', plain('+075-63546725'))])],
+ ],
+ [
+ '+(075)-63546725',
+ [paragraph([link('tel:07563546725', plain('+(075)-63546725'))])],
+ ],
+ [
+ '+(075)63546725',
+ [paragraph([link('tel:07563546725', plain('+(075)63546725'))])],
+ ],
+ [
+ '[here](+(075)63546725)',
+ [paragraph([link('tel:07563546725', plain('here'))])],
+ ],
+ [
+ '[**here**](+(075)63546725)',
+ [paragraph([link('tel:07563546725', bold([plain('here')]))])],
+ ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/strikethrough.test.ts b/packages/message-parser/tests/strikethrough.test.ts
new file mode 100644
index 0000000000..5c947a330c
--- /dev/null
+++ b/packages/message-parser/tests/strikethrough.test.ts
@@ -0,0 +1,82 @@
+import { parser } from '../src';
+import { strike, paragraph, plain } from '../src/utils';
+
+test.each([
+ ['__test__test__', [paragraph([plain('__test__test__')])]],
+ ['~~strike~~', [paragraph([strike([plain('strike')])])]],
+ [
+ 'pre~~strike~~post',
+ [paragraph([plain('pre'), strike([plain('strike')]), plain('post')])],
+ ],
+ [
+ ' pre~~strike~~post ',
+ [paragraph([plain(' pre'), strike([plain('strike')]), plain('post ')])],
+ ],
+ ['~~', [paragraph([plain('~~')])]],
+ ['~ ~', [paragraph([plain('~ ~')])]],
+ ['~~ ~', [paragraph([plain('~~ ~')])]],
+ ['~~ ~~', [paragraph([plain('~~ ~~')])]],
+ ['~ Hello~', [paragraph([strike([plain(' Hello')])])]],
+ ['~Hello ~', [paragraph([strike([plain('Hello ')])])]],
+ [
+ ':custom~emoji~case:',
+ [paragraph([plain(`:custom`), strike([plain('emoji')]), plain(`case:`)])],
+ ],
+ [
+ 'text~hello~text',
+ [paragraph([plain(`text`), strike([plain('hello')]), plain(`text`)])],
+ ],
+ ['~hello~text', [paragraph([strike([plain('hello')]), plain(`text`)])]],
+ ['text~hello~', [paragraph([plain(`text`), strike([plain('hello')])])]],
+ ['~Hel lo~', [paragraph([strike([plain('Hel lo')])])]],
+ ['~Hello~', [paragraph([strike([plain('Hello')])])]],
+ ['~~Hello~~', [paragraph([strike([plain('Hello')])])]],
+ ['~~Hello~', [paragraph([plain(`~`), strike([plain('Hello')])])]],
+ ['~Hello~~', [paragraph([strike([plain('Hello')]), plain(`~`)])]],
+ ['~Hello', [paragraph([plain('~Hello')])]],
+ ['Hello~', [paragraph([plain('Hello~')])]],
+ ['He~llo', [paragraph([plain('He~llo')])]],
+ [
+ '~~~Hello~~~',
+ [paragraph([plain(`~`), strike([plain('Hello')]), plain(`~`)])],
+ ],
+ ['~~~Hello~~', [paragraph([plain(`~`), strike([plain('Hello')])])]],
+ [
+ '~Hello~ this is dog',
+ [paragraph([strike([plain('Hello')]), plain(` this is dog`)])],
+ ],
+ [
+ 'Rocket cat says ~Hello~',
+ [paragraph([plain(`Rocket cat says `), strike([plain('Hello')])])],
+ ],
+ [
+ 'He said ~Hello~ to her',
+ [
+ paragraph([
+ plain(`He said `),
+ strike([plain('Hello')]),
+ plain(` to her`),
+ ]),
+ ],
+ ],
+ [
+ '~~Hello~~ this is dog',
+ [paragraph([strike([plain('Hello')]), plain(` this is dog`)])],
+ ],
+ [
+ 'Rocket cat says ~~Hello~~',
+ [paragraph([plain(`Rocket cat says `), strike([plain('Hello')])])],
+ ],
+ [
+ 'He said ~~Hello~~ to her',
+ [
+ paragraph([
+ plain(`He said `),
+ strike([plain('Hello')]),
+ plain(` to her`),
+ ]),
+ ],
+ ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/strongEmphasis.test.ts b/packages/message-parser/tests/strongEmphasis.test.ts
new file mode 100644
index 0000000000..6c0dde9fb5
--- /dev/null
+++ b/packages/message-parser/tests/strongEmphasis.test.ts
@@ -0,0 +1,116 @@
+import { parser } from '../src';
+import { bold, paragraph, plain, italic, strike } from '../src/utils';
+
+test.each([
+ ['**bold**', [paragraph([bold([plain('bold')])])]],
+ ['** bold**', [paragraph([bold([plain(' bold')])])]],
+ ['** bold **', [paragraph([bold([plain(' bold ')])])]],
+ ['** bo ld **', [paragraph([bold([plain(' bo ld ')])])]],
+ ['pre**bold**', [paragraph([plain('pre'), bold([plain('bold')])])]],
+ ['**bold**pos', [paragraph([bold([plain('bold')]), plain('pos')])]],
+ [
+ '**bold****bold**',
+ [paragraph([bold([plain('bold')]), bold([plain('bold')])])],
+ ],
+ [
+ '**bold** **bold**',
+ [paragraph([bold([plain('bold')]), plain(' '), bold([plain('bold')])])],
+ ],
+ [
+ '**bold** __italic__',
+ [paragraph([bold([plain('bold')]), plain(' '), italic([plain('italic')])])],
+ ],
+ ['**__italicbold__**', [paragraph([bold([italic([plain('italicbold')])])])]],
+ [
+ 'plain **__italicbold__**',
+ [paragraph([plain('plain '), bold([italic([plain('italicbold')])])])],
+ ],
+ [
+ 'plain **__~~strikeitalicbold~~__**',
+ [
+ paragraph([
+ plain('plain '),
+ bold([italic([strike([plain('strikeitalicbold')])])]),
+ ]),
+ ],
+ ],
+ ['**', [paragraph([plain('**')])]],
+ ['* *', [paragraph([plain('* *')])]],
+ ['** *', [paragraph([plain('** *')])]],
+ ['** **', [paragraph([plain('** **')])]],
+ ['** **', [paragraph([plain('** **')])]],
+ ['* Hello*', [paragraph([bold([plain(' Hello')])])]],
+ ['*Hello *', [paragraph([bold([plain('Hello ')])])]],
+ [
+ ':custom*emoji*case:',
+ [paragraph([plain(':custom'), bold([plain('emoji')]), plain('case:')])],
+ ],
+ [
+ 'text*hello*text',
+ [paragraph([plain('text'), bold([plain('hello')]), plain('text')])],
+ ],
+ ['*hello*text', [paragraph([bold([plain('hello')]), plain('text')])]],
+ ['text*hello*', [paragraph([plain('text'), bold([plain('hello')])])]],
+ ['*Hel lo*', [paragraph([bold([plain('Hel lo')])])]],
+ ['*Hello*', [paragraph([bold([plain('Hello')])])]],
+ ['**Hello*', [paragraph([plain('*'), bold([plain('Hello')])])]],
+ ['*Hello**', [paragraph([bold([plain('Hello')]), plain('*')])]],
+ ['*Hello', [paragraph([plain('*Hello')])]],
+ ['Hello*', [paragraph([plain('Hello*')])]],
+ ['He*llo', [paragraph([plain('He*llo')])]],
+ [
+ '***Hello***',
+ [paragraph([plain('*'), bold([plain('Hello')]), plain('*')])],
+ ],
+ ['***Hello**', [paragraph([plain('*'), bold([plain('Hello')])])]],
+ [
+ '*Hello* this is dog',
+ [paragraph([bold([plain('Hello')]), plain(' this is dog')])],
+ ],
+ [
+ 'Rocket cat says *Hello*',
+ [paragraph([plain('Rocket cat says '), bold([plain('Hello')])])],
+ ],
+ [
+ 'He said *Hello* to her',
+ [paragraph([plain('He said '), bold([plain('Hello')]), plain(' to her')])],
+ ],
+ [
+ '**Hello** this is dog',
+ [paragraph([bold([plain('Hello')]), plain(' this is dog')])],
+ ],
+ [
+ 'Rocket cat says **Hello**',
+ [paragraph([plain('Rocket cat says '), bold([plain('Hello')])])],
+ ],
+ [
+ 'He said **Hello** to her',
+ [paragraph([plain('He said '), bold([plain('Hello')]), plain(' to her')])],
+ ],
+ [
+ 'He was a**nn**oyed',
+ [paragraph([plain('He was a'), bold([plain('nn')]), plain('oyed')])],
+ ],
+ [
+ 'There are two o in f*oo*tball',
+ [
+ paragraph([
+ plain('There are two o in f'),
+ bold([plain('oo')]),
+ plain('tball'),
+ ]),
+ ],
+ ],
+ ['*(teste*', [paragraph([bold([plain('(teste')])])]],
+ ['*(teste)*', [paragraph([bold([plain('(teste)')])])]],
+ [
+ '*__~bolditalicstrike~_*',
+ [
+ paragraph([
+ bold([plain('_'), italic([strike([plain('bolditalicstrike')])])]),
+ ]),
+ ],
+ ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/taskList.test.ts b/packages/message-parser/tests/taskList.test.ts
new file mode 100644
index 0000000000..a4d6fc0399
--- /dev/null
+++ b/packages/message-parser/tests/taskList.test.ts
@@ -0,0 +1,49 @@
+import { parser } from '../src';
+import {
+ plain,
+ tasks,
+ task,
+ mentionUser,
+ mentionChannel,
+ link,
+ bold,
+} from '../src/utils';
+
+test.each([
+ [
+ `
+- [ ] this is an incomplete item
+- [x] this is a complete item
+- [x] @mentions, #refs, [links](http://localhost), **formatting**
+- [x] list syntax required (any unordered or ordered list supported)
+`.trim(),
+ [
+ tasks([
+ task([plain('this is an incomplete item')], false),
+ task([plain('this is a complete item')], true),
+ task(
+ [
+ mentionUser('mentions'),
+ plain(', '),
+ mentionChannel('refs'),
+ plain(', '),
+ link('http://localhost', plain('links')),
+ plain(', '),
+ bold([plain('formatting')]),
+ ],
+ true
+ ),
+ task(
+ [
+ plain(
+ 'list syntax required (any unordered or ordered list supported)'
+ ),
+ ],
+ true
+ ),
+ ]),
+ ],
+ ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/unorderedList.test.ts b/packages/message-parser/tests/unorderedList.test.ts
new file mode 100644
index 0000000000..f481acf33d
--- /dev/null
+++ b/packages/message-parser/tests/unorderedList.test.ts
@@ -0,0 +1,78 @@
+import { parser } from '../src';
+import { unorderedList, plain, listItem, bold } from '../src/utils';
+
+test.each([
+ [
+ `
+- First item
+- Second item
+- Third item
+- *Fourth item*
+`.trim(),
+ [
+ unorderedList([
+ listItem([plain('First item')]),
+ listItem([plain('Second item')]),
+ listItem([plain('Third item')]),
+ listItem([bold([plain('Fourth item')])]),
+ ]),
+ ],
+ ],
+ [
+ `
+* First item
+* Second item
+* Third item
+* *Fourth item*
+`.trim(),
+ [
+ unorderedList([
+ listItem([plain('First item')]),
+ listItem([plain('Second item')]),
+ listItem([plain('Third item')]),
+ listItem([bold([plain('Fourth item')])]),
+ ]),
+ ],
+ ],
+
+ [
+ `
+- First item
+* Second item
+* Third item
+* *Fourth item*
+`.trim(),
+ [
+ unorderedList([listItem([plain('First item')])]),
+ unorderedList([
+ listItem([plain('Second item')]),
+ listItem([plain('Third item')]),
+ listItem([bold([plain('Fourth item')])]),
+ ]),
+ ],
+ ],
+ // [
+ // `
+ // * First item
+ // * Second item
+ // * Third item
+ // * Indented item
+ // * Indented item
+ // * Fourth item
+ // `.trim(),
+ // [paragraph([])],
+ // ],
+ // [
+ // `
+ // - First item
+ // - Second item
+ // - Third item
+ // - Indented item
+ // - Indented item
+ // - Fourth item
+ // `.trim(),
+ // [paragraph([])],
+ // ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tests/url.test.ts b/packages/message-parser/tests/url.test.ts
new file mode 100644
index 0000000000..45c8821d14
--- /dev/null
+++ b/packages/message-parser/tests/url.test.ts
@@ -0,0 +1,36 @@
+import { parser } from '../src';
+import { link, paragraph, plain } from '../src/utils';
+
+test.each([
+ ['https://test', [paragraph([plain('https://test')])]],
+ ['http:/rocket.chat/teste', [paragraph([plain('http:/rocket.chat/teste')])]],
+ [
+ 'httpsss://rocket.chat/test',
+ [paragraph([link('httpsss://rocket.chat/test')])],
+ ],
+ [
+ 'https://rocket.chat:3000/test',
+ [paragraph([link('https://rocket.chat:3000/test')])],
+ ],
+ [
+ 'https://rocket.chat/test?search',
+ [paragraph([link('https://rocket.chat/test?search')])],
+ ],
+ [
+ 'https://rocket.chat/test?search=test',
+ [paragraph([link('https://rocket.chat/test?search=test')])],
+ ],
+ ['https://rocket.chat', [paragraph([link('https://rocket.chat')])]],
+ ['https://localhost', [paragraph([link('https://localhost')])]],
+ ['https://localhost:3000', [paragraph([link('https://localhost:3000')])]],
+ [
+ 'https://localhost:3000#fragment',
+ [paragraph([link('https://localhost:3000#fragment')])],
+ ],
+ [
+ 'ftp://user:pass@localhost:21/etc/hosts',
+ [paragraph([link('ftp://user:pass@localhost:21/etc/hosts')])],
+ ],
+])('parses %p', (input, output) => {
+ expect(parser(input)).toMatchObject(output);
+});
diff --git a/packages/message-parser/tsconfig-bundle.json b/packages/message-parser/tsconfig-bundle.json
new file mode 100644
index 0000000000..77caa2b8f6
--- /dev/null
+++ b/packages/message-parser/tsconfig-bundle.json
@@ -0,0 +1,7 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "rootDir": "./src"
+ },
+ "include": ["./src"]
+}
diff --git a/packages/message-parser/tsconfig.json b/packages/message-parser/tsconfig.json
new file mode 100644
index 0000000000..3e59aeae89
--- /dev/null
+++ b/packages/message-parser/tsconfig.json
@@ -0,0 +1,18 @@
+{
+ "compilerOptions": {
+ "rootDir": ".",
+ "target": "es5",
+ "module": "ESNext",
+ "declaration": true,
+ "declarationMap": true,
+ "sourceMap": true,
+ "outDir": "./dist",
+ "strict": true,
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "forceConsistentCasingInFileNames": true,
+ "moduleResolution": "node",
+ "noImplicitThis": true,
+ "alwaysStrict": true
+ }
+}
diff --git a/packages/message-parser/webpack.config.js b/packages/message-parser/webpack.config.js
new file mode 100644
index 0000000000..1a05d27f85
--- /dev/null
+++ b/packages/message-parser/webpack.config.js
@@ -0,0 +1,89 @@
+const path = require('path');
+
+const config = (outputDeclarations = false) => ({
+ entry: './src/index.ts',
+ module: {
+ rules: [
+ {
+ test: /\.ts$/,
+ use: {
+ loader: 'ts-loader',
+ options: {
+ configFile: path.resolve(__dirname, './tsconfig-bundle.json'),
+ ...(!outputDeclarations && {
+ compilerOptions: {
+ declaration: false,
+ declarationMap: undefined,
+ },
+ }),
+ },
+ },
+ include: [path.resolve(__dirname, './src')],
+ exclude: [path.resolve(__dirname, './tests')],
+ },
+ {
+ test: /\.pegjs$/,
+ use: [
+ 'babel-loader',
+ path.resolve(__dirname, './loaders/pegloader.js'),
+ ],
+ },
+ ],
+ },
+ resolve: {
+ extensions: ['.ts', '.js', '.pegjs'],
+ },
+});
+
+module.exports = [
+ {
+ ...config(),
+ mode: 'development',
+ output: {
+ path: path.resolve(__dirname, './dist'),
+ filename: 'messageParser.development.js',
+ library: {
+ type: 'commonjs2',
+ },
+ },
+ },
+ {
+ ...config(),
+ mode: 'production',
+ output: {
+ path: path.resolve(__dirname, './dist'),
+ filename: 'messageParser.production.js',
+ library: {
+ type: 'commonjs2',
+ },
+ },
+ },
+ {
+ ...config(),
+ mode: 'production',
+ experiments: {
+ outputModule: true,
+ },
+ output: {
+ path: path.resolve(__dirname, './dist'),
+ filename: 'messageParser.mjs',
+ library: {
+ type: 'module',
+ },
+ },
+ },
+ {
+ ...config(true),
+ mode: 'production',
+ output: {
+ path: path.resolve(__dirname, './dist'),
+ filename: 'messageParser.umd.js',
+ library: {
+ type: 'umd',
+ name: 'RocketChatMessageParser',
+ umdNamedDefine: true,
+ },
+ globalObject: 'this',
+ },
+ },
+];
diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json
index 91aea1f73e..fd5dbb981f 100644
--- a/packages/mp3-encoder/package.json
+++ b/packages/mp3-encoder/package.json
@@ -53,7 +53,7 @@
"@rollup/plugin-commonjs": "^17.0.0",
"@rollup/plugin-node-resolve": "^11.0.1",
"@rollup/plugin-typescript": "^8.1.0",
- "@types/jest": "^26.0.22",
+ "@types/jest": "^26.0.23",
"documentation": "^13.2.1",
"eslint": "^7.24.0",
"jest": "^26.6.3",
diff --git a/packages/string-helpers/package.json b/packages/string-helpers/package.json
index 7c2d83452a..f36bec3b04 100644
--- a/packages/string-helpers/package.json
+++ b/packages/string-helpers/package.json
@@ -50,7 +50,7 @@
"devDependencies": {
"@rocket.chat/eslint-config-alt": "^0.24.0",
"@rocket.chat/prettier-config": "^0.24.0",
- "@types/jest": "^26.0.22",
+ "@types/jest": "^26.0.23",
"downlevel-dts": "^0.7.0",
"eslint": "^7.24.0",
"jest": "^26.6.3",
diff --git a/packages/ui-kit/package.json b/packages/ui-kit/package.json
index 1258f4382e..c21918f015 100644
--- a/packages/ui-kit/package.json
+++ b/packages/ui-kit/package.json
@@ -41,7 +41,7 @@
"@babel/preset-env": "^7.12.11",
"@rocket.chat/eslint-config-alt": "^0.24.0",
"@rocket.chat/prettier-config": "^0.24.0",
- "@types/jest": "^26.0.22",
+ "@types/jest": "^26.0.23",
"babel-loader": "^8.1.0",
"documentation": "^13.2.1",
"eslint": "^7.24.0",
diff --git a/scripts/package.json b/scripts/package.json
index fd06093da8..09b1905e22 100644
--- a/scripts/package.json
+++ b/scripts/package.json
@@ -13,7 +13,7 @@
"devDependencies": {
"@rocket.chat/eslint-config-alt": "^0.24.0",
"@rocket.chat/prettier-config": "^0.24.0",
- "@types/node": "^14.14.41",
+ "@types/node": "^14.14.43",
"@typescript-eslint/parser": "^4.22.0",
"eslint": "^7.24.0",
"fast-glob": "^3.2.5",
diff --git a/yarn.lock b/yarn.lock
index 99775cfba2..48cd1e5e00 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -23,6 +23,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/code-frame@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/code-frame@npm:7.12.13"
+ dependencies:
+ "@babel/highlight": ^7.12.13
+ checksum: 471532bb7cb4a300bd1a3201e75e7c0c83ebfb4e0e6610fdb53270521505d7efe0961258de61e7b1970ef3092a97ed675248ee1a44597912a1f61f903d85ef41
+ languageName: node
+ linkType: hard
+
"@babel/code-frame@npm:^7.5.5":
version: 7.10.4
resolution: "@babel/code-frame@npm:7.10.4"
@@ -39,6 +48,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/compat-data@npm:^7.13.11, @babel/compat-data@npm:^7.13.15, @babel/compat-data@npm:^7.13.8, @babel/compat-data@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/compat-data@npm:7.14.0"
+ checksum: d2d9de745e7a6f83ddf699865656e9298025bda5d350497845c57af440685723de28e7c1f34315e0028c6ad08bca0173436252ada7ac38eb2227c069d40916dd
+ languageName: node
+ linkType: hard
+
"@babel/core@npm:7.10.5":
version: 7.10.5
resolution: "@babel/core@npm:7.10.5"
@@ -111,6 +127,29 @@ __metadata:
languageName: node
linkType: hard
+"@babel/core@npm:7.14.0, @babel/core@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/core@npm:7.14.0"
+ dependencies:
+ "@babel/code-frame": ^7.12.13
+ "@babel/generator": ^7.14.0
+ "@babel/helper-compilation-targets": ^7.13.16
+ "@babel/helper-module-transforms": ^7.14.0
+ "@babel/helpers": ^7.14.0
+ "@babel/parser": ^7.14.0
+ "@babel/template": ^7.12.13
+ "@babel/traverse": ^7.14.0
+ "@babel/types": ^7.14.0
+ convert-source-map: ^1.7.0
+ debug: ^4.1.0
+ gensync: ^1.0.0-beta.2
+ json5: ^2.1.2
+ semver: ^6.3.0
+ source-map: ^0.5.0
+ checksum: eccd8c6acf33a2782b9213bffc0e766857c9b690649512c3a525a02bb212301c6fdf314d6e7f7404479dc9631beb58a8f5e673ea9f3c1964853a3c65b045a382
+ languageName: node
+ linkType: hard
+
"@babel/core@npm:>=7.9.0, @babel/core@npm:^7.1.0, @babel/core@npm:^7.11.5, @babel/core@npm:^7.12.1, @babel/core@npm:^7.12.10, @babel/core@npm:^7.12.3, @babel/core@npm:^7.7.5":
version: 7.12.10
resolution: "@babel/core@npm:7.12.10"
@@ -219,6 +258,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/generator@npm:^7.14.0":
+ version: 7.14.1
+ resolution: "@babel/generator@npm:7.14.1"
+ dependencies:
+ "@babel/types": ^7.14.1
+ jsesc: ^2.5.1
+ source-map: ^0.5.0
+ checksum: 28a56cbd4688c3c6020ac53f3ec607613f135bfaf52717ddbca02ee146b1ed4ea2a4490b6e4d3bc1fd0f0515031242183211438d7502ddaacdcf3a7713414d9a
+ languageName: node
+ linkType: hard
+
"@babel/helper-annotate-as-pure@npm:^7.10.4, @babel/helper-annotate-as-pure@npm:^7.12.10":
version: 7.12.10
resolution: "@babel/helper-annotate-as-pure@npm:7.12.10"
@@ -228,6 +278,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-annotate-as-pure@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/helper-annotate-as-pure@npm:7.12.13"
+ dependencies:
+ "@babel/types": ^7.12.13
+ checksum: e82f457eb92080bba1e0d59386af32596fdf7aa3fd5aa557ef7fab2e1833f45c8818873f135294ee95210856103ae10a6e86789ca72e259a98ee8b6745e70319
+ languageName: node
+ linkType: hard
+
"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.10.4":
version: 7.10.4
resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.10.4"
@@ -238,6 +297,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.12.13"
+ dependencies:
+ "@babel/helper-explode-assignable-expression": ^7.12.13
+ "@babel/types": ^7.12.13
+ checksum: 38bd626f3893fa82267c9e5fa43353c897b75dc18259ffdc1c81b0fa5ac26284a4aaca465550fff14daed159f4d1502c4c95028740dacef1018d787d58173e2b
+ languageName: node
+ linkType: hard
+
"@babel/helper-builder-react-jsx-experimental@npm:^7.12.10, @babel/helper-builder-react-jsx-experimental@npm:^7.12.4":
version: 7.12.10
resolution: "@babel/helper-builder-react-jsx-experimental@npm:7.12.10"
@@ -273,6 +342,20 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.13.16, @babel/helper-compilation-targets@npm:^7.13.8":
+ version: 7.13.16
+ resolution: "@babel/helper-compilation-targets@npm:7.13.16"
+ dependencies:
+ "@babel/compat-data": ^7.13.15
+ "@babel/helper-validator-option": ^7.12.17
+ browserslist: ^4.14.5
+ semver: ^6.3.0
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: baa1e4cdd562996c6af0a8cedb097cd72f67c44577faf4b657015f477d4930ebcc40ca21dc1e5fcffe91a1517de6e4114bc21f805ca701dfac2ddd2e9b006228
+ languageName: node
+ linkType: hard
+
"@babel/helper-create-class-features-plugin@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/helper-create-class-features-plugin@npm:7.12.1"
@@ -288,6 +371,22 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-create-class-features-plugin@npm:^7.13.0, @babel/helper-create-class-features-plugin@npm:^7.14.0":
+ version: 7.14.1
+ resolution: "@babel/helper-create-class-features-plugin@npm:7.14.1"
+ dependencies:
+ "@babel/helper-annotate-as-pure": ^7.12.13
+ "@babel/helper-function-name": ^7.12.13
+ "@babel/helper-member-expression-to-functions": ^7.13.12
+ "@babel/helper-optimise-call-expression": ^7.12.13
+ "@babel/helper-replace-supers": ^7.13.12
+ "@babel/helper-split-export-declaration": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: b01c89d5ecd50e05aae511d22ed514f7510c1680e74a88b9c8847bf03ba5e9c9e20020446b2b26d682d968bdaafcef268d4ac88d1751e23a3fa5b0680bddd5cd
+ languageName: node
+ linkType: hard
+
"@babel/helper-create-regexp-features-plugin@npm:^7.12.1":
version: 7.12.7
resolution: "@babel/helper-create-regexp-features-plugin@npm:7.12.7"
@@ -300,6 +399,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-create-regexp-features-plugin@npm:^7.12.13":
+ version: 7.12.17
+ resolution: "@babel/helper-create-regexp-features-plugin@npm:7.12.17"
+ dependencies:
+ "@babel/helper-annotate-as-pure": ^7.12.13
+ regexpu-core: ^4.7.1
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: ffb4fbca4026ac733bc43e1e6751120fecd377476373ad6bafb3eb653431beaee1de1664293f9233921f96db56c489175c162b70002237f1dc235e12b9111a93
+ languageName: node
+ linkType: hard
+
"@babel/helper-define-map@npm:^7.10.4":
version: 7.10.5
resolution: "@babel/helper-define-map@npm:7.10.5"
@@ -311,6 +422,24 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-define-polyfill-provider@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "@babel/helper-define-polyfill-provider@npm:0.2.0"
+ dependencies:
+ "@babel/helper-compilation-targets": ^7.13.0
+ "@babel/helper-module-imports": ^7.12.13
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/traverse": ^7.13.0
+ debug: ^4.1.1
+ lodash.debounce: ^4.0.8
+ resolve: ^1.14.2
+ semver: ^6.1.2
+ peerDependencies:
+ "@babel/core": ^7.4.0-0
+ checksum: 575785f62b10ee5cd9d8c092b6077f8bad8eed42ac50a8d55b82430c6958f94da11f5b20de650e31b400f7c7a0af08b6e4476669fd2a3b24414d1a9db89d531f
+ languageName: node
+ linkType: hard
+
"@babel/helper-explode-assignable-expression@npm:^7.10.4":
version: 7.12.1
resolution: "@babel/helper-explode-assignable-expression@npm:7.12.1"
@@ -320,6 +449,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-explode-assignable-expression@npm:^7.12.13":
+ version: 7.13.0
+ resolution: "@babel/helper-explode-assignable-expression@npm:7.13.0"
+ dependencies:
+ "@babel/types": ^7.13.0
+ checksum: 7379d0f0e9448da9c446c867413e23da7c17a5efa6e7dac8803d491b16c61854e8c1cc4f01c0c65030c0ae96542df7d3977825f834c70a3beef8016c3466c4fe
+ languageName: node
+ linkType: hard
+
"@babel/helper-function-name@npm:^7.10.4, @babel/helper-function-name@npm:^7.12.11":
version: 7.12.11
resolution: "@babel/helper-function-name@npm:7.12.11"
@@ -331,6 +469,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-function-name@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/helper-function-name@npm:7.12.13"
+ dependencies:
+ "@babel/helper-get-function-arity": ^7.12.13
+ "@babel/template": ^7.12.13
+ "@babel/types": ^7.12.13
+ checksum: 25f03f303be790618437dc49c6df758d362112a564361d2eae66b58fda4f5ec09e62875473b18090b939c8d3d60b36aa7c9f688768b7fade511512d02ac9d3d0
+ languageName: node
+ linkType: hard
+
"@babel/helper-get-function-arity@npm:^7.12.10":
version: 7.12.10
resolution: "@babel/helper-get-function-arity@npm:7.12.10"
@@ -340,6 +489,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-get-function-arity@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/helper-get-function-arity@npm:7.12.13"
+ dependencies:
+ "@babel/types": ^7.12.13
+ checksum: cfb5c39959ea9f1cc21ee0f4a23054be66a615fa5392f25763ea98f0c690a5b47500af9a63f28a42a2fb3f699684c113c45a95c4ce6303dfecb3358e32e56c76
+ languageName: node
+ linkType: hard
+
"@babel/helper-hoist-variables@npm:^7.10.4":
version: 7.10.4
resolution: "@babel/helper-hoist-variables@npm:7.10.4"
@@ -349,6 +507,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-hoist-variables@npm:^7.13.0":
+ version: 7.13.16
+ resolution: "@babel/helper-hoist-variables@npm:7.13.16"
+ dependencies:
+ "@babel/traverse": ^7.13.15
+ "@babel/types": ^7.13.16
+ checksum: 5a0c74c19e1b3dd1c90619eb6088c4fae0b1a35b77479beaa294fd132a51b2d699ebadb05bca7ebff26b9d305f057341d4efc5caff118efde55a73a92321688a
+ languageName: node
+ linkType: hard
+
"@babel/helper-member-expression-to-functions@npm:^7.12.1, @babel/helper-member-expression-to-functions@npm:^7.12.7":
version: 7.12.7
resolution: "@babel/helper-member-expression-to-functions@npm:7.12.7"
@@ -358,6 +526,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-member-expression-to-functions@npm:^7.13.12":
+ version: 7.13.12
+ resolution: "@babel/helper-member-expression-to-functions@npm:7.13.12"
+ dependencies:
+ "@babel/types": ^7.13.12
+ checksum: 2c075f72e5bda1432c74484548272577485d45c4d6c7cc9e84c5d053eaa6e0890e93c9b018bab97f65cbb81ac04dd9cdca73d5ae0e94b03cfc00d10972b99185
+ languageName: node
+ linkType: hard
+
"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.12.1, @babel/helper-module-imports@npm:^7.12.5":
version: 7.12.5
resolution: "@babel/helper-module-imports@npm:7.12.5"
@@ -367,6 +544,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.13.12":
+ version: 7.13.12
+ resolution: "@babel/helper-module-imports@npm:7.13.12"
+ dependencies:
+ "@babel/types": ^7.13.12
+ checksum: 4d1d3364bec0820e50c782b5a5c81e7987c260c14772bc594ca8dbfdb3b6e43bd9b4e5071fd2a5f777c822dc7440781fa904f643e2069755db9ba5033cb2beac
+ languageName: node
+ linkType: hard
+
"@babel/helper-module-transforms@npm:^7.10.5, @babel/helper-module-transforms@npm:^7.11.0, @babel/helper-module-transforms@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/helper-module-transforms@npm:7.12.1"
@@ -384,6 +570,22 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-module-transforms@npm:^7.13.0, @babel/helper-module-transforms@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/helper-module-transforms@npm:7.14.0"
+ dependencies:
+ "@babel/helper-module-imports": ^7.13.12
+ "@babel/helper-replace-supers": ^7.13.12
+ "@babel/helper-simple-access": ^7.13.12
+ "@babel/helper-split-export-declaration": ^7.12.13
+ "@babel/helper-validator-identifier": ^7.14.0
+ "@babel/template": ^7.12.13
+ "@babel/traverse": ^7.14.0
+ "@babel/types": ^7.14.0
+ checksum: 1049a94cc74247c8ae4f5a804b4a0713ab4ad8f69eb412ea99ac1d03b4a9b9df3d1481286fa5e503239473ffb81dbb4f029d05cc681eff4d5380ae67161ac916
+ languageName: node
+ linkType: hard
+
"@babel/helper-optimise-call-expression@npm:^7.10.4, @babel/helper-optimise-call-expression@npm:^7.12.10":
version: 7.12.10
resolution: "@babel/helper-optimise-call-expression@npm:7.12.10"
@@ -393,6 +595,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-optimise-call-expression@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/helper-optimise-call-expression@npm:7.12.13"
+ dependencies:
+ "@babel/types": ^7.12.13
+ checksum: 5e4df5da4a45d7b7c100307efdc11f9fb460f943b4db1c60ddbdf57c3a7cbeecc8dea8980f4a9d4f3c38071b04d0e7c95af213229bcc1c13f17eb7293a6298a9
+ languageName: node
+ linkType: hard
+
"@babel/helper-plugin-utils@npm:7.10.4, @babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3":
version: 7.10.4
resolution: "@babel/helper-plugin-utils@npm:7.10.4"
@@ -400,6 +611,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/helper-plugin-utils@npm:7.13.0"
+ checksum: 229ac1917b43ad38732d2d4a9a826f87d8945719249efe1d6191f3e25ba6027a289af70380d82d62a03fc9e82558a0ea6f12739cbb55b64bb280d6b511b4ca65
+ languageName: node
+ linkType: hard
+
"@babel/helper-remap-async-to-generator@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/helper-remap-async-to-generator@npm:7.12.1"
@@ -411,6 +629,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-remap-async-to-generator@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/helper-remap-async-to-generator@npm:7.13.0"
+ dependencies:
+ "@babel/helper-annotate-as-pure": ^7.12.13
+ "@babel/helper-wrap-function": ^7.13.0
+ "@babel/types": ^7.13.0
+ checksum: d4211801d482dd4ad48273a7500fcdadc3eb71f44c4d647a3cf5fbe1bc7486abb011976e8842fb8b8374b50d64bae20639a1092e84c2bcd566dfb9f033151b53
+ languageName: node
+ linkType: hard
+
"@babel/helper-replace-supers@npm:^7.12.1":
version: 7.12.11
resolution: "@babel/helper-replace-supers@npm:7.12.11"
@@ -423,6 +652,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-replace-supers@npm:^7.12.13, @babel/helper-replace-supers@npm:^7.13.0, @babel/helper-replace-supers@npm:^7.13.12":
+ version: 7.13.12
+ resolution: "@babel/helper-replace-supers@npm:7.13.12"
+ dependencies:
+ "@babel/helper-member-expression-to-functions": ^7.13.12
+ "@babel/helper-optimise-call-expression": ^7.12.13
+ "@babel/traverse": ^7.13.0
+ "@babel/types": ^7.13.12
+ checksum: 38b79cb56a9a5324e32567660fcafbac4efae6f2c2c2ef048deb2d022476fc1c7acfda5ab841f7135d07b4f39e62142f9d253cfe824232030432c86f94d226f1
+ languageName: node
+ linkType: hard
+
"@babel/helper-simple-access@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/helper-simple-access@npm:7.12.1"
@@ -432,6 +673,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-simple-access@npm:^7.13.12":
+ version: 7.13.12
+ resolution: "@babel/helper-simple-access@npm:7.13.12"
+ dependencies:
+ "@babel/types": ^7.13.12
+ checksum: eff532a1572a4ac562c5918a409871ddf9baee9ece197b98a54622184d3b9e01bdd465597f27ca3d452e71638c913a14819cf261dc095a466032dfd92a88bc73
+ languageName: node
+ linkType: hard
+
"@babel/helper-skip-transparent-expression-wrappers@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.12.1"
@@ -459,6 +709,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-split-export-declaration@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/helper-split-export-declaration@npm:7.12.13"
+ dependencies:
+ "@babel/types": ^7.12.13
+ checksum: c8d529558c45855542b7094de7b08e6c6de34922037a71596545dbb7a3be6ebf61b8b3193afe85fa5c9c35bcb0cc94110866deab8028f73e500bdc62427532c9
+ languageName: node
+ linkType: hard
+
"@babel/helper-validator-identifier@npm:^7.10.4, @babel/helper-validator-identifier@npm:^7.12.11":
version: 7.12.11
resolution: "@babel/helper-validator-identifier@npm:7.12.11"
@@ -466,6 +725,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-validator-identifier@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/helper-validator-identifier@npm:7.14.0"
+ checksum: bd67b4a1a49eba151aa0fe95508579638287fee0a3e7a3bf8c5ab480de8eaad4b4231c523d7db401eb0cecc7cf03b76ee72453fab53bab8cb8ccd154bb67feb7
+ languageName: node
+ linkType: hard
+
"@babel/helper-validator-option@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/helper-validator-option@npm:7.12.1"
@@ -480,6 +746,13 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-validator-option@npm:^7.12.17":
+ version: 7.12.17
+ resolution: "@babel/helper-validator-option@npm:7.12.17"
+ checksum: 9201d17a5634b05a6f3d561b95e73a4e4f9ba2e56c55cfc3b9a2a9618c4090b4b507720ac7a2e77209e68dc9bdc00a59b5ba7ad9ecbca3fb2c9217e814b7b5a5
+ languageName: node
+ linkType: hard
+
"@babel/helper-wrap-function@npm:^7.10.4":
version: 7.12.3
resolution: "@babel/helper-wrap-function@npm:7.12.3"
@@ -492,6 +765,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-wrap-function@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/helper-wrap-function@npm:7.13.0"
+ dependencies:
+ "@babel/helper-function-name": ^7.12.13
+ "@babel/template": ^7.12.13
+ "@babel/traverse": ^7.13.0
+ "@babel/types": ^7.13.0
+ checksum: 89426304e5409454fe3a5082becb434152820d04b3de0687c8478ea15248a646a1598bc725659dd22d7ae651558fae65f9c352914a3562a4e657ba28195fcea9
+ languageName: node
+ linkType: hard
+
"@babel/helpers@npm:^7.10.4, @babel/helpers@npm:^7.12.1, @babel/helpers@npm:^7.12.5":
version: 7.12.5
resolution: "@babel/helpers@npm:7.12.5"
@@ -503,6 +788,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helpers@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/helpers@npm:7.14.0"
+ dependencies:
+ "@babel/template": ^7.12.13
+ "@babel/traverse": ^7.14.0
+ "@babel/types": ^7.14.0
+ checksum: 0ac7e775b54cebf4b5c027e9ca00a1027f3c7d96e924583d028b6e86bb775652701ba9d48257db8352fce4612566d8a4f1fd8723502d940a77571145af603956
+ languageName: node
+ linkType: hard
+
"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.8.3":
version: 7.10.4
resolution: "@babel/highlight@npm:7.10.4"
@@ -514,6 +810,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/highlight@npm:^7.12.13":
+ version: 7.14.0
+ resolution: "@babel/highlight@npm:7.14.0"
+ dependencies:
+ "@babel/helper-validator-identifier": ^7.14.0
+ chalk: ^2.0.0
+ js-tokens: ^4.0.0
+ checksum: 0122fcd3cd6e81bfa002227d6c9dfff91d388d48dc188cd13e3f60c46e5450ebad65aa133ac8f525cb3cfa3b70766484e4a93c40b2837ce16f12083ebd2b0824
+ languageName: node
+ linkType: hard
+
"@babel/parser@npm:7.12.3, @babel/parser@npm:^7.10.5":
version: 7.12.3
resolution: "@babel/parser@npm:7.12.3"
@@ -550,6 +857,28 @@ __metadata:
languageName: node
linkType: hard
+"@babel/parser@npm:^7.12.13, @babel/parser@npm:^7.14.0":
+ version: 7.14.1
+ resolution: "@babel/parser@npm:7.14.1"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 64db8689201b9607c2952604fc8e87af219befeec519ca80191daaeafa7373c483dd00dcb0540e29cb8564d998f241c3fcd7ef4aec115930f7874d85f48621a8
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.13.12":
+ version: 7.13.12
+ resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.13.12"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1
+ "@babel/plugin-proposal-optional-chaining": ^7.13.12
+ peerDependencies:
+ "@babel/core": ^7.13.0
+ checksum: ad0b508a5c3f3436ff0ff598b7aad63686bfe7f846b19c862c09397bc987ab9244b866204440496cf6d1b7ec07ea01a6fe95fd3067dbdf58ec48d9d4d4d9a440
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-async-generator-functions@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.12.1"
@@ -563,6 +892,19 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-async-generator-functions@npm:^7.13.15":
+ version: 7.13.15
+ resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.13.15"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/helper-remap-async-to-generator": ^7.13.0
+ "@babel/plugin-syntax-async-generators": ^7.8.4
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: cfef2d2d97f4dee2930278ff8596940d3fef07522cf88b6635dd671cee055d23bd196eeba731600f7edb950e65ba915e363e5555982598087561e276a4fe6fce
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-class-properties@npm:^7.10.4, @babel/plugin-proposal-class-properties@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-proposal-class-properties@npm:7.12.1"
@@ -575,6 +917,30 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-class-properties@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/plugin-proposal-class-properties@npm:7.13.0"
+ dependencies:
+ "@babel/helper-create-class-features-plugin": ^7.13.0
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: c96bd172765edf25ec821f5b4d0620d26bd94f8a4cce9614458f7b3626d5ef8933b20cf031263fb4672ad1d5d72f3cd87fd65cc3c621846d179a1fb7acd65a20
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-proposal-class-static-block@npm:^7.13.11":
+ version: 7.13.11
+ resolution: "@babel/plugin-proposal-class-static-block@npm:7.13.11"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/plugin-syntax-class-static-block": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.12.0
+ checksum: 0d1a09a2229cde662649938b808a249bc77767362480428e5bc00d152c97f04eee2a5f8d38b7b8295053cd7bbfef4412c5b58ee1acc19a164fb44508b48838fa
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-decorators@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-proposal-decorators@npm:7.12.1"
@@ -612,6 +978,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-dynamic-import@npm:^7.13.8":
+ version: 7.13.8
+ resolution: "@babel/plugin-proposal-dynamic-import@npm:7.13.8"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/plugin-syntax-dynamic-import": ^7.8.3
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 47ff82e3e3731f93a9e51a7f16f1807ee5fbd627df67b423bcf9bb206ae9230385d62c7310e41ec6ef732f01f0af81061bbbf5f6cbfe6b95aa8fa01571166c9e
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-export-default-from@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-proposal-export-default-from@npm:7.12.1"
@@ -636,6 +1014,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-export-namespace-from@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ "@babel/plugin-syntax-export-namespace-from": ^7.8.3
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 831dcc6711b9181978a62a5955104ef3f23de0c9a6740af0ca7395153cd4d481665fd557aa178ac53146cdbf49cf95f3ab06e51f2c79343a69639ed09877f7db
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-function-bind@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-proposal-function-bind@npm:7.12.1"
@@ -673,6 +1063,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-json-strings@npm:^7.13.8":
+ version: 7.13.8
+ resolution: "@babel/plugin-proposal-json-strings@npm:7.13.8"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/plugin-syntax-json-strings": ^7.8.3
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 54f950f8824e4dd1a9a8b621507e0b3764a5d3a3b816231c70fdc18be42ed7e500a73c51da19a7a7503a50bd1e7227d71edff0999c189c9b1c20c90525b84552
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-logical-assignment-operators@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.12.1"
@@ -685,6 +1087,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-logical-assignment-operators@npm:^7.13.8":
+ version: 7.13.8
+ resolution: "@babel/plugin-proposal-logical-assignment-operators@npm:7.13.8"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: e0bed6050b35e0b89fc4bbc8e934bafc14fec0192105c4ace15a244ba3d2ba2dc1bb682e9529328aa7350712c0fbde2ae8a3c4cd1b3ec04458eeb3916ccbea49
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.12.1"
@@ -697,6 +1111,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8":
+ version: 7.13.8
+ resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.13.8"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 19c0e20a9d3fb3fc689432c87ce53709220a6556b633396f8a35b3c0967b4a32f200805fe5602908a8ca2130d531769ba321ea61d0361c82b99ccf87dea356e5
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-numeric-separator@npm:^7.12.1, @babel/plugin-proposal-numeric-separator@npm:^7.12.7":
version: 7.12.7
resolution: "@babel/plugin-proposal-numeric-separator@npm:7.12.7"
@@ -709,6 +1135,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-numeric-separator@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-proposal-numeric-separator@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ "@babel/plugin-syntax-numeric-separator": ^7.10.4
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: d0480be4c7cc4f7c98bcdfa541cc25d878e70f9f1d37097b9846f1ff8e48756b5015f0f230b794c1b808b4e064606d074c53cb12875111ad080b9d30d2e2adf5
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-object-rest-spread@npm:7.10.4":
version: 7.10.4
resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.10.4"
@@ -735,6 +1173,21 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-object-rest-spread@npm:^7.13.8":
+ version: 7.13.8
+ resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.13.8"
+ dependencies:
+ "@babel/compat-data": ^7.13.8
+ "@babel/helper-compilation-targets": ^7.13.8
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/plugin-syntax-object-rest-spread": ^7.8.3
+ "@babel/plugin-transform-parameters": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: e560572e0090a229596e9b42e33f6767194bf3f1a410757286cd55d2bdc7de7a0b073e888089f4b0a81d25f6cca1a249442ea7daf1a0ef0fb89810c7440091e5
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-object-rest-spread@npm:^7.5.5":
version: 7.11.0
resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.11.0"
@@ -760,6 +1213,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-optional-catch-binding@npm:^7.13.8":
+ version: 7.13.8
+ resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.13.8"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/plugin-syntax-optional-catch-binding": ^7.8.3
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: a91f361d3df099b79206f11b55800a8d4974c6b63d26a2af841da79e8ee7636383e650bb016198e35cbc5d9e9bd70189cc1b84702b12111165ebd27e0be7d998
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-optional-chaining@npm:^7.12.1, @babel/plugin-proposal-optional-chaining@npm:^7.12.7":
version: 7.12.7
resolution: "@babel/plugin-proposal-optional-chaining@npm:7.12.7"
@@ -773,6 +1238,19 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-optional-chaining@npm:^7.13.12":
+ version: 7.13.12
+ resolution: "@babel/plugin-proposal-optional-chaining@npm:7.13.12"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1
+ "@babel/plugin-syntax-optional-chaining": ^7.8.3
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 8663cfbf5cdfe41f8765976b94de9525c223085d53bb48bd481a03539a7680f2aa3b3fd525d80144e1c1c646cbad817fea7ef8da573bbf0600ddde32fab7420b
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-pipeline-operator@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-proposal-pipeline-operator@npm:7.12.1"
@@ -797,6 +1275,32 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-private-methods@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/plugin-proposal-private-methods@npm:7.13.0"
+ dependencies:
+ "@babel/helper-create-class-features-plugin": ^7.13.0
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: cc074c97ae3b1446722a2c4735d8bee188aa4f5ff390929a85e766cac006389bc254f30dcbeea93e869cf632c7096f808b830f73cb6e2743cda5dab8905fccbb
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-proposal-private-property-in-object@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.14.0"
+ dependencies:
+ "@babel/helper-annotate-as-pure": ^7.12.13
+ "@babel/helper-create-class-features-plugin": ^7.14.0
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/plugin-syntax-private-property-in-object": ^7.14.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 2074d2a818ad64f186f940ca518e967c42dad04306c58189f1f1a8aad8f3dfac7474dd51c33330a61ca2eed68f769f871e7f7066e23d00f1e0296e2bc0797474
+ languageName: node
+ linkType: hard
+
"@babel/plugin-proposal-throw-expressions@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-proposal-throw-expressions@npm:7.12.1"
@@ -821,6 +1325,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-proposal-unicode-property-regex@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.12.13"
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin": ^7.12.13
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 4877865ea8482c467e7ba527014e346680d7e391a4f426e398d738fd1ce33c28f97012a07d1d47103e678e78c26a21961bc59719bfef2a295fb087c761e09988
+ languageName: node
+ linkType: hard
+
"@babel/plugin-syntax-async-generators@npm:^7.8.0, @babel/plugin-syntax-async-generators@npm:^7.8.4":
version: 7.8.4
resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4"
@@ -854,6 +1370,28 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-syntax-class-properties@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 3023dec8acd42e0b691d9cdf21bc6931fe3e3d53c2231bdfe3eca3afeab168723f7315991550a163748bc49dbcd3c95632b77ec56f5e1d89bc5029cfeb7f0f7b
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-class-static-block@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-syntax-class-static-block@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: d5c08078f5b00295ab06e8a8d85c362b3752871d7bfd6b23d9b0bf492e33e796a8d5007ba35745ae07bb0cc79d08089913913f97b68c53a3395959d0347a5e98
+ languageName: node
+ linkType: hard
+
"@babel/plugin-syntax-decorators@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-syntax-decorators@npm:7.12.1"
@@ -1063,6 +1601,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-syntax-private-property-in-object@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.0"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 5c79999ceb73dc7d596a75d86b16db2be0f313c53354e237903eed8f7844a26e76888fa8b45ddaae590cf6bb92988644c6ee64a51a46220ab03f6930914f5b08
+ languageName: node
+ linkType: hard
+
"@babel/plugin-syntax-throw-expressions@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-syntax-throw-expressions@npm:7.12.1"
@@ -1085,6 +1634,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-syntax-top-level-await@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-syntax-top-level-await@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 5bd0a65b01a39e5636169f830ade7511d046f2db63831e226fa99139d97aa30ee6958ac04a1e114954ace8c64875269fc450ed3304a4204f4be82c1b8aa21be7
+ languageName: node
+ linkType: hard
+
"@babel/plugin-syntax-typescript@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-syntax-typescript@npm:7.12.1"
@@ -1107,6 +1667,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-arrow-functions@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/plugin-transform-arrow-functions@npm:7.13.0"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 26edbba649037ff59dbebba9479e7598c69b108200e1e6f39650ef9339d73d595d62716f45b38caac211800134f3ebba7960ea5bf4f43d6143cd9518d3f5c697
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-async-to-generator@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-async-to-generator@npm:7.12.1"
@@ -1120,6 +1691,19 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-async-to-generator@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/plugin-transform-async-to-generator@npm:7.13.0"
+ dependencies:
+ "@babel/helper-module-imports": ^7.12.13
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/helper-remap-async-to-generator": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 32d484b30f658c1a9470305c6db04f5297ebd20e83486cc596cc52253b04fab7b75c1fe0fceef271622b91e61321906c94d37d1913dfacb7b5396fd6a8979de2
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-block-scoped-functions@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.12.1"
@@ -1131,6 +1715,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-block-scoped-functions@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: c914fa2874ccee83a03d5323dee942b90b42a3ff57fa92703ffc14e9c3feabccf30225766db2977bdcde49c487118f1e6bd19dd284a97a527f8fcd30a1003933
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-block-scoping@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-block-scoping@npm:7.12.1"
@@ -1153,6 +1748,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-block-scoping@npm:^7.14.1":
+ version: 7.14.1
+ resolution: "@babel/plugin-transform-block-scoping@npm:7.14.1"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 33b12be483e61dbadf604f5dca3437d5a1742696afe2088eb4f72f0d911906274c345e7bedbc28b1ba00a573b04d363cf86407f46e352487252089499801c4b6
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-classes@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-classes@npm:7.12.1"
@@ -1171,6 +1777,23 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-classes@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/plugin-transform-classes@npm:7.13.0"
+ dependencies:
+ "@babel/helper-annotate-as-pure": ^7.12.13
+ "@babel/helper-function-name": ^7.12.13
+ "@babel/helper-optimise-call-expression": ^7.12.13
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/helper-replace-supers": ^7.13.0
+ "@babel/helper-split-export-declaration": ^7.12.13
+ globals: ^11.1.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: dffa76e8ba757cee8c031ab40aca14cfcafae9c329db1bf82977e7f20fbb3ce1d8c625666ec4ec75baf1b95c7f3bc72d014a1437b7d0cafaa08f1fd9ed0695e6
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-computed-properties@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-computed-properties@npm:7.12.1"
@@ -1182,6 +1805,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-computed-properties@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/plugin-transform-computed-properties@npm:7.13.0"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 83d9d2e776c8617ba53d562da6d8fb859902158115c600f7abeeb9cea2b949a1b71883d8003698093c758cee016b1194af14b7af7c983c39f3fb669550f0cf55
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-destructuring@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-destructuring@npm:7.12.1"
@@ -1193,6 +1827,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-destructuring@npm:^7.13.17":
+ version: 7.13.17
+ resolution: "@babel/plugin-transform-destructuring@npm:7.13.17"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 16c08ecaf55d02754a5e0a33a766798362b5489c1632ce62bbef0624c0227f6cfa6b4066bf51efad0fac5655f34c1c9e7b06c631b31c13c1c55c3bfe39490d7c
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-destructuring@npm:^7.5.0":
version: 7.10.4
resolution: "@babel/plugin-transform-destructuring@npm:7.10.4"
@@ -1216,6 +1861,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-dotall-regex@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-dotall-regex@npm:7.12.13"
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin": ^7.12.13
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: cd33e1adfb1e081468dbf72bbfa310490abafc9a4f87d50b1d084c10655669494554d0e2695578954e710642b52e1869916680fa90e4caf8408ffa507c99d4d6
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-duplicate-keys@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-duplicate-keys@npm:7.12.1"
@@ -1227,6 +1884,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-duplicate-keys@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-duplicate-keys@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 7565f2dc697006edcfe50c02f2c0f18c71aa9e4c68dd2d3b663781054e680b70c78f616ee1a2c2349099797175e426d6d6086f3cfbe547fd4f0adfe9e3c3f9fb
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-exponentiation-operator@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.12.1"
@@ -1239,6 +1907,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-exponentiation-operator@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.12.13"
+ dependencies:
+ "@babel/helper-builder-binary-assignment-operator-visitor": ^7.12.13
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: cbe6a6bb2b9a54c687e9364c876afb31f75fa21b1409a78bb7f405100a082f7dce5255d2cd2937c8b0d2c6040b9a10c67ed80a98b4684eee0b939c9d2c65b35a
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-flow-strip-types@npm:^7.12.1":
version: 7.12.10
resolution: "@babel/plugin-transform-flow-strip-types@npm:7.12.10"
@@ -1262,6 +1942,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-for-of@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/plugin-transform-for-of@npm:7.13.0"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 86f725a86084f9ba9291a67c25c4e9be1555cf690fd28a5bfb75d2d694d39fe0703beb551f7d0608b03a16bb3c863e8672c00f0723f116dec6573b4a4c0d1531
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-function-name@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-function-name@npm:7.12.1"
@@ -1274,6 +1965,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-function-name@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-function-name@npm:7.12.13"
+ dependencies:
+ "@babel/helper-function-name": ^7.12.13
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 26b8af8882dc7684e124ba88494cafbdf8252768eac351b0b7913578dee4e906a8ecc7c1cc2d53ae5c6f1e241bfbaede40cb28d38d4312770b22842bdd7943cb
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-literals@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-literals@npm:7.12.1"
@@ -1285,6 +1988,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-literals@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-literals@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 8dbc807354a81339a0161676c3daae619277797a7181b94bef013360aa3d6003603717cf2380aa6ee062f75f39e69a36803bdd3b39c530ebbca368cf7b8dc0d4
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-member-expression-literals@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-member-expression-literals@npm:7.12.1"
@@ -1296,6 +2010,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-member-expression-literals@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-member-expression-literals@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: d8f20320680c042cde2a6328d002e924b3e8fa6ff481d5002a331146a5a092e5ec0797a7c63de4ee1de9c2731eba2f7da220a29f9bf83673f6572d28a8b5bd6d
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-modules-amd@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-modules-amd@npm:7.12.1"
@@ -1309,6 +2034,19 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-modules-amd@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/plugin-transform-modules-amd@npm:7.14.0"
+ dependencies:
+ "@babel/helper-module-transforms": ^7.14.0
+ "@babel/helper-plugin-utils": ^7.13.0
+ babel-plugin-dynamic-import-node: ^2.3.3
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: d93ed99aa4d8a71a388bc8ff0b4d16408a7781e01a963593857c697dc0362c23a37c8929a73d8a1cedfd3045ecba1f6ed457232efc05b61da52c4173d7152ab6
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-modules-commonjs@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-modules-commonjs@npm:7.12.1"
@@ -1323,6 +2061,20 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-modules-commonjs@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/plugin-transform-modules-commonjs@npm:7.14.0"
+ dependencies:
+ "@babel/helper-module-transforms": ^7.14.0
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/helper-simple-access": ^7.13.12
+ babel-plugin-dynamic-import-node: ^2.3.3
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 61d9f7a8a1386863f61848f7f52180789295ffb3319ccea4079f61bf1d5c9be5cd996ce57b0273861f2dfc88e63f0e23e34acc386ca13a9a56e22b1392c6ad60
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-modules-systemjs@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-modules-systemjs@npm:7.12.1"
@@ -1338,6 +2090,21 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-modules-systemjs@npm:^7.13.8":
+ version: 7.13.8
+ resolution: "@babel/plugin-transform-modules-systemjs@npm:7.13.8"
+ dependencies:
+ "@babel/helper-hoist-variables": ^7.13.0
+ "@babel/helper-module-transforms": ^7.13.0
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/helper-validator-identifier": ^7.12.11
+ babel-plugin-dynamic-import-node: ^2.3.3
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 4d654938e59e5856bda301e35d07085b481a5cfb454a50c14e0be258232165cb6b8e3e4684125dcdf30ba58a22d5340e112bb082cd25234d5fc4a5b0a8778c60
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-modules-umd@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-modules-umd@npm:7.12.1"
@@ -1350,6 +2117,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-modules-umd@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/plugin-transform-modules-umd@npm:7.14.0"
+ dependencies:
+ "@babel/helper-module-transforms": ^7.14.0
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 44c830a945c225e107f60a61b457274f931845623306c9bcd04c23958085477a820ebfe15ee4c7861a84eb986668ddc38c1797e733b8e2327702dcee1ca0bb21
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.12.1"
@@ -1361,6 +2140,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.12.13"
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 67680cf0b171040eaf42679c6beb3ea264bfde31ecb7cc1d9f06bea3bb85e2b90b8d96f32c5e8f5995a2f4ac64a185c380531bd10c3d4e5c14ea773c6102d4e4
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-new-target@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-new-target@npm:7.12.1"
@@ -1372,6 +2162,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-new-target@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-new-target@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 7f72f3d80a1764258203e5e0298abab3f323c108dd3d026d0eb8f40eb361b3344027489f5e6dbcfeff2ee9065ae3eed678ec852d6ab8fb91bcbd1e89ac829808
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-object-super@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-object-super@npm:7.12.1"
@@ -1384,6 +2185,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-object-super@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-object-super@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ "@babel/helper-replace-supers": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: abcba36ad6ae028ac008e71195dd7fecabcf5e9a5d9bcc736cc8cdc5ea2bdf0acae78562f18d6619cd551238520b1d1997f3d85d03508a91372379352dd66a4b
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-parameters@npm:^7.10.4, @babel/plugin-transform-parameters@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-parameters@npm:7.12.1"
@@ -1395,6 +2208,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-parameters@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/plugin-transform-parameters@npm:7.13.0"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: f23977501cac4712bb0fdadc5e5c394d69ca67a111e337dce7c2e92e3bf2cd47fe23f7b5a316c0b175e14725c7554b8c044bff8af690a6188e80b16ae7a10935
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-property-literals@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-property-literals@npm:7.12.1"
@@ -1406,6 +2230,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-property-literals@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-property-literals@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 2f09b697b23717adb4e2fc4b819a41bdf3dab91b8f4a0787b9d7eb62e8a15a2671aec3cd0c97971f5cd6b30514d7cb398535811c0a69866ec86f53823ba9b1f2
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-react-display-name@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-react-display-name@npm:7.12.1"
@@ -1467,6 +2302,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-regenerator@npm:^7.13.15":
+ version: 7.13.15
+ resolution: "@babel/plugin-transform-regenerator@npm:7.13.15"
+ dependencies:
+ regenerator-transform: ^0.14.2
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: ac1f6bda7e72c073b0957c543cba8a29a40d561582c17d938d4cd36ff0c441adfa2caa21dd80cf3be1674f18cca4cd936be29f8df659fbfb020b58f45c7787fa
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-reserved-words@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-reserved-words@npm:7.12.1"
@@ -1478,6 +2324,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-reserved-words@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-reserved-words@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: fc6015094759a40b6b9a75fffdac970c78b54bed285cbd8c39f3ec52fe7fe35713e5885501f8d63f33531aa75e85dc0972bb7dc9e87a284e48414abb0fe803ca
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-runtime@npm:^7.11.5, @babel/plugin-transform-runtime@npm:^7.12.10":
version: 7.12.10
resolution: "@babel/plugin-transform-runtime@npm:7.12.10"
@@ -1502,6 +2359,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-shorthand-properties@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-shorthand-properties@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: fdfa295fa70ce7e54e265c48b0cde3058bb71b656f6acaca46f8b94f56609215947b4750257ac50d6af38a0128c557a5fa5c8fadfb0dbf916f1efe8f3c1d4dbf
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-spread@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-spread@npm:7.12.1"
@@ -1514,6 +2382,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-spread@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/plugin-transform-spread@npm:7.13.0"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: f84c6c4d738dae17fb85bbd269c3986667a5604ada4585d88bab3237c961e0df03b60a07f8800607b130459abeee74b7fa575319b1a7fef331d6aebd13aaae29
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-sticky-regex@npm:^7.12.1, @babel/plugin-transform-sticky-regex@npm:^7.12.7":
version: 7.12.7
resolution: "@babel/plugin-transform-sticky-regex@npm:7.12.7"
@@ -1525,6 +2405,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-sticky-regex@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-sticky-regex@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 21cf8495cf1f7de1993472de0c9a25f7b108fa2ff43ae1945d65b175d2c0d54c4894206f07ef05fc4a55b82658cee88c6ca335562762f0e1488e653c8551808b
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-template-literals@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-template-literals@npm:7.12.1"
@@ -1536,6 +2427,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-template-literals@npm:^7.13.0":
+ version: 7.13.0
+ resolution: "@babel/plugin-transform-template-literals@npm:7.13.0"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.13.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 91303124717ff251d291e60127c7c75c3b9b971f5ecd297aec6d043fc77cb562fec4f7c2e6ab4f50d1969d3a2ef33f0116ac101939637a32598d14e6b7e3bdae
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-typeof-symbol@npm:^7.12.1, @babel/plugin-transform-typeof-symbol@npm:^7.12.10":
version: 7.12.10
resolution: "@babel/plugin-transform-typeof-symbol@npm:7.12.10"
@@ -1547,6 +2449,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-typeof-symbol@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-typeof-symbol@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 1eefed57583f34899cc81d5ad3ebef38fb4839d2d1b9bddac0401e21784ffdb0aa470c6fb2f2fa841629b992cfac65a2f0123c01ef1938b08fa99bc48af30dac
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-typescript@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-typescript@npm:7.12.1"
@@ -1571,6 +2484,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-unicode-escapes@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-unicode-escapes@npm:7.12.13"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: d5f4aa6f54cd616a799b313c5a351cff6be8345f836060d9de836eb7fe614f1f8b128a2ea556f0ea314546e59e8ea9686293900ea268af308b78c078b3e5e714
+ languageName: node
+ linkType: hard
+
"@babel/plugin-transform-unicode-regex@npm:^7.12.1":
version: 7.12.1
resolution: "@babel/plugin-transform-unicode-regex@npm:7.12.1"
@@ -1583,6 +2507,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-transform-unicode-regex@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/plugin-transform-unicode-regex@npm:7.12.13"
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin": ^7.12.13
+ "@babel/helper-plugin-utils": ^7.12.13
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: b6b173ce4f7cef453eac612cc9c393592ddd4940bea7805fa645c3e79cd9ad37f34c076390e6b6a66054e03e6e2a9273e2cc0451c00317d69914584890dffafa
+ languageName: node
+ linkType: hard
+
"@babel/preset-env@npm:^7.11.5":
version: 7.12.10
resolution: "@babel/preset-env@npm:7.12.10"
@@ -1807,7 +2743,90 @@ __metadata:
semver: ^5.5.0
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 2811bbf697d86d2d7d972215cf07e4b153cb667eefa2ca3521e0eb34c20d3f2643c44ed31734e1db35675267f5a3de284b87e543132f075c28c979b34af6472c
+ checksum: 2811bbf697d86d2d7d972215cf07e4b153cb667eefa2ca3521e0eb34c20d3f2643c44ed31734e1db35675267f5a3de284b87e543132f075c28c979b34af6472c
+ languageName: node
+ linkType: hard
+
+"@babel/preset-env@npm:^7.14.1":
+ version: 7.14.1
+ resolution: "@babel/preset-env@npm:7.14.1"
+ dependencies:
+ "@babel/compat-data": ^7.14.0
+ "@babel/helper-compilation-targets": ^7.13.16
+ "@babel/helper-plugin-utils": ^7.13.0
+ "@babel/helper-validator-option": ^7.12.17
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.13.12
+ "@babel/plugin-proposal-async-generator-functions": ^7.13.15
+ "@babel/plugin-proposal-class-properties": ^7.13.0
+ "@babel/plugin-proposal-class-static-block": ^7.13.11
+ "@babel/plugin-proposal-dynamic-import": ^7.13.8
+ "@babel/plugin-proposal-export-namespace-from": ^7.12.13
+ "@babel/plugin-proposal-json-strings": ^7.13.8
+ "@babel/plugin-proposal-logical-assignment-operators": ^7.13.8
+ "@babel/plugin-proposal-nullish-coalescing-operator": ^7.13.8
+ "@babel/plugin-proposal-numeric-separator": ^7.12.13
+ "@babel/plugin-proposal-object-rest-spread": ^7.13.8
+ "@babel/plugin-proposal-optional-catch-binding": ^7.13.8
+ "@babel/plugin-proposal-optional-chaining": ^7.13.12
+ "@babel/plugin-proposal-private-methods": ^7.13.0
+ "@babel/plugin-proposal-private-property-in-object": ^7.14.0
+ "@babel/plugin-proposal-unicode-property-regex": ^7.12.13
+ "@babel/plugin-syntax-async-generators": ^7.8.4
+ "@babel/plugin-syntax-class-properties": ^7.12.13
+ "@babel/plugin-syntax-class-static-block": ^7.12.13
+ "@babel/plugin-syntax-dynamic-import": ^7.8.3
+ "@babel/plugin-syntax-export-namespace-from": ^7.8.3
+ "@babel/plugin-syntax-json-strings": ^7.8.3
+ "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4
+ "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3
+ "@babel/plugin-syntax-numeric-separator": ^7.10.4
+ "@babel/plugin-syntax-object-rest-spread": ^7.8.3
+ "@babel/plugin-syntax-optional-catch-binding": ^7.8.3
+ "@babel/plugin-syntax-optional-chaining": ^7.8.3
+ "@babel/plugin-syntax-private-property-in-object": ^7.14.0
+ "@babel/plugin-syntax-top-level-await": ^7.12.13
+ "@babel/plugin-transform-arrow-functions": ^7.13.0
+ "@babel/plugin-transform-async-to-generator": ^7.13.0
+ "@babel/plugin-transform-block-scoped-functions": ^7.12.13
+ "@babel/plugin-transform-block-scoping": ^7.14.1
+ "@babel/plugin-transform-classes": ^7.13.0
+ "@babel/plugin-transform-computed-properties": ^7.13.0
+ "@babel/plugin-transform-destructuring": ^7.13.17
+ "@babel/plugin-transform-dotall-regex": ^7.12.13
+ "@babel/plugin-transform-duplicate-keys": ^7.12.13
+ "@babel/plugin-transform-exponentiation-operator": ^7.12.13
+ "@babel/plugin-transform-for-of": ^7.13.0
+ "@babel/plugin-transform-function-name": ^7.12.13
+ "@babel/plugin-transform-literals": ^7.12.13
+ "@babel/plugin-transform-member-expression-literals": ^7.12.13
+ "@babel/plugin-transform-modules-amd": ^7.14.0
+ "@babel/plugin-transform-modules-commonjs": ^7.14.0
+ "@babel/plugin-transform-modules-systemjs": ^7.13.8
+ "@babel/plugin-transform-modules-umd": ^7.14.0
+ "@babel/plugin-transform-named-capturing-groups-regex": ^7.12.13
+ "@babel/plugin-transform-new-target": ^7.12.13
+ "@babel/plugin-transform-object-super": ^7.12.13
+ "@babel/plugin-transform-parameters": ^7.13.0
+ "@babel/plugin-transform-property-literals": ^7.12.13
+ "@babel/plugin-transform-regenerator": ^7.13.15
+ "@babel/plugin-transform-reserved-words": ^7.12.13
+ "@babel/plugin-transform-shorthand-properties": ^7.12.13
+ "@babel/plugin-transform-spread": ^7.13.0
+ "@babel/plugin-transform-sticky-regex": ^7.12.13
+ "@babel/plugin-transform-template-literals": ^7.13.0
+ "@babel/plugin-transform-typeof-symbol": ^7.12.13
+ "@babel/plugin-transform-unicode-escapes": ^7.12.13
+ "@babel/plugin-transform-unicode-regex": ^7.12.13
+ "@babel/preset-modules": ^0.1.4
+ "@babel/types": ^7.14.1
+ babel-plugin-polyfill-corejs2: ^0.2.0
+ babel-plugin-polyfill-corejs3: ^0.2.0
+ babel-plugin-polyfill-regenerator: ^0.2.0
+ core-js-compat: ^3.9.0
+ semver: ^6.3.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 0fbef490fdd5435727268c729e0371ec8ec95349e5a00f919ba0c142e06d95c48512fec10d6404c89c297c597ae1c45a687fa40eec33e70b97131b0c4b5355c0
languageName: node
linkType: hard
@@ -1823,7 +2842,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/preset-modules@npm:^0.1.3":
+"@babel/preset-modules@npm:^0.1.3, @babel/preset-modules@npm:^0.1.4":
version: 0.1.4
resolution: "@babel/preset-modules@npm:0.1.4"
dependencies:
@@ -1908,6 +2927,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/template@npm:^7.12.13":
+ version: 7.12.13
+ resolution: "@babel/template@npm:7.12.13"
+ dependencies:
+ "@babel/code-frame": ^7.12.13
+ "@babel/parser": ^7.12.13
+ "@babel/types": ^7.12.13
+ checksum: 665977068a7036233b017396c0cd4856b6bb2ad9759e95e2325cbd198b98d2e26796f25977c8e12b5936d7d94f49cf883df9cffa3c91c797abdf27fc9b6bec65
+ languageName: node
+ linkType: hard
+
"@babel/template@npm:^7.3.3":
version: 7.10.4
resolution: "@babel/template@npm:7.10.4"
@@ -1987,6 +3017,22 @@ __metadata:
languageName: node
linkType: hard
+"@babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.13.15, @babel/traverse@npm:^7.14.0":
+ version: 7.14.0
+ resolution: "@babel/traverse@npm:7.14.0"
+ dependencies:
+ "@babel/code-frame": ^7.12.13
+ "@babel/generator": ^7.14.0
+ "@babel/helper-function-name": ^7.12.13
+ "@babel/helper-split-export-declaration": ^7.12.13
+ "@babel/parser": ^7.14.0
+ "@babel/types": ^7.14.0
+ debug: ^4.1.0
+ globals: ^11.1.0
+ checksum: f2fb957d616c242d8ccd25fbebadebc25aa2df8ea82d7cacb2b09285743a682f72beb6fb2acef01a7a98f141c3e36d19300ebde2dd78c780c5e3dc7692c5f6f2
+ languageName: node
+ linkType: hard
+
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3":
version: 7.12.6
resolution: "@babel/types@npm:7.12.6"
@@ -2020,6 +3066,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/types@npm:^7.12.13, @babel/types@npm:^7.13.0, @babel/types@npm:^7.13.12, @babel/types@npm:^7.13.16, @babel/types@npm:^7.14.0, @babel/types@npm:^7.14.1":
+ version: 7.14.1
+ resolution: "@babel/types@npm:7.14.1"
+ dependencies:
+ "@babel/helper-validator-identifier": ^7.14.0
+ to-fast-properties: ^2.0.0
+ checksum: 27965ef192ded329d8ae28ccd5e5addd02dc477ec46e54145e5cf0d054ad65b2fc760736865295c1819d502ec9598883c17f25efdbe896ad77b400136a1aa971
+ languageName: node
+ linkType: hard
+
"@babel/types@npm:^7.8.3":
version: 7.13.0
resolution: "@babel/types@npm:7.13.0"
@@ -3975,19 +5031,19 @@ __metadata:
languageName: node
linkType: hard
-"@rocket.chat/css-in-js@^0.23.0, @rocket.chat/css-in-js@workspace:packages/css-in-js":
+"@rocket.chat/css-in-js@^0.24.0, @rocket.chat/css-in-js@workspace:packages/css-in-js":
version: 0.0.0-use.local
resolution: "@rocket.chat/css-in-js@workspace:packages/css-in-js"
dependencies:
"@emotion/hash": ^0.8.0
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/memo": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/memo": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
"@rollup/plugin-commonjs": ^17.0.0
"@rollup/plugin-json": ^4.1.0
"@rollup/plugin-node-resolve": ^11.0.1
"@rollup/plugin-typescript": ^8.1.0
- "@types/jest": ^26.0.22
+ "@types/jest": ^26.0.23
"@types/stylis": ^4.0.0
documentation: ^13.2.1
eslint: ^7.24.0
@@ -4008,13 +5064,13 @@ __metadata:
dependencies:
"@microsoft/api-documenter": ^7.12.1
"@microsoft/api-extractor": ^7.12.1
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
"@rollup/plugin-commonjs": ^17.0.0
"@rollup/plugin-json": ^4.1.0
"@rollup/plugin-node-resolve": ^11.0.1
"@rollup/plugin-typescript": ^8.1.0
- "@types/jest": ^26.0.22
+ "@types/jest": ^26.0.23
documentation: ^13.2.1
eslint: ^7.24.0
jest: ^26.6.3
@@ -4029,13 +5085,13 @@ __metadata:
languageName: unknown
linkType: soft
-"@rocket.chat/eslint-config-alt@^0.23.0, @rocket.chat/eslint-config-alt@workspace:packages/eslint-config-alt":
+"@rocket.chat/eslint-config-alt@^0.24.0, @rocket.chat/eslint-config-alt@workspace:packages/eslint-config-alt":
version: 0.0.0-use.local
resolution: "@rocket.chat/eslint-config-alt@workspace:packages/eslint-config-alt"
dependencies:
"@babel/eslint-parser": ^7.13.14
"@rocket.chat/eslint-config": ^0.4.0
- "@rocket.chat/prettier-config": ^0.23.0
+ "@rocket.chat/prettier-config": ^0.24.0
"@typescript-eslint/eslint-plugin": ^4.22.0
"@typescript-eslint/parser": ^4.22.0
eslint: ^7.24.0
@@ -4066,20 +5122,20 @@ __metadata:
languageName: node
linkType: hard
-"@rocket.chat/fuselage-hooks@^0.23.0, @rocket.chat/fuselage-hooks@workspace:packages/fuselage-hooks":
+"@rocket.chat/fuselage-hooks@^0.24.0, @rocket.chat/fuselage-hooks@workspace:packages/fuselage-hooks":
version: 0.0.0-use.local
resolution: "@rocket.chat/fuselage-hooks@workspace:packages/fuselage-hooks"
dependencies:
"@microsoft/api-documenter": ^7.8.21
"@microsoft/api-extractor": ^7.9.2
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/fuselage-tokens": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/fuselage-tokens": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
"@rollup/plugin-commonjs": ^15.1.0
"@rollup/plugin-json": ^4.1.0
"@rollup/plugin-node-resolve": ^9.0.0
"@rollup/plugin-typescript": ^6.0.0
- "@types/jest": ^26.0.22
+ "@types/jest": ^26.0.23
"@types/react": ^17.0.3
"@types/react-dom": ^17.0.3
"@types/resize-observer-browser": ^0.1.5
@@ -4106,13 +5162,13 @@ __metadata:
languageName: unknown
linkType: soft
-"@rocket.chat/fuselage-polyfills@^0.23.0, @rocket.chat/fuselage-polyfills@workspace:packages/fuselage-polyfills":
+"@rocket.chat/fuselage-polyfills@^0.24.0, @rocket.chat/fuselage-polyfills@workspace:packages/fuselage-polyfills":
version: 0.0.0-use.local
resolution: "@rocket.chat/fuselage-polyfills@workspace:packages/fuselage-polyfills"
dependencies:
"@juggle/resize-observer": ^3.2.0
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
clipboard-polyfill: ^3.0.1
element-closest-polyfill: ^1.0.2
eslint: ^7.24.0
@@ -4124,12 +5180,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@rocket.chat/fuselage-tokens@^0.23.0, @rocket.chat/fuselage-tokens@workspace:packages/fuselage-tokens":
+"@rocket.chat/fuselage-tokens@^0.24.0, @rocket.chat/fuselage-tokens@workspace:packages/fuselage-tokens":
version: 0.0.0-use.local
resolution: "@rocket.chat/fuselage-tokens@workspace:packages/fuselage-tokens"
dependencies:
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
eslint: ^7.24.0
eslint-config-prettier: ^8.2.0
eslint-plugin-import: ^2.22.1
@@ -4151,13 +5207,13 @@ __metadata:
"@babel/preset-env": ^7.11.5
"@babel/preset-react": ^7.10.4
"@rocket.chat/apps-engine": ^1.17.0
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/fuselage": ^0.23.0
- "@rocket.chat/fuselage-hooks": ^0.23.0
- "@rocket.chat/fuselage-polyfills": ^0.23.0
- "@rocket.chat/icons": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
- "@rocket.chat/ui-kit": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/fuselage": ^0.24.0
+ "@rocket.chat/fuselage-hooks": ^0.24.0
+ "@rocket.chat/fuselage-polyfills": ^0.24.0
+ "@rocket.chat/icons": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
+ "@rocket.chat/ui-kit": ^0.24.0
"@storybook/addon-essentials": ^6.1.11
"@storybook/addons": ^6.1.11
"@storybook/react": ^6.1.11
@@ -4188,7 +5244,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@rocket.chat/fuselage@^0.23.0, @rocket.chat/fuselage@workspace:packages/fuselage":
+"@rocket.chat/fuselage@^0.24.0, @rocket.chat/fuselage@workspace:packages/fuselage":
version: 0.0.0-use.local
resolution: "@rocket.chat/fuselage@workspace:packages/fuselage"
dependencies:
@@ -4198,15 +5254,15 @@ __metadata:
"@babel/plugin-transform-runtime": ^7.11.5
"@babel/preset-env": ^7.11.5
"@babel/preset-react": ^7.10.4
- "@rocket.chat/css-in-js": ^0.23.0
+ "@rocket.chat/css-in-js": ^0.24.0
"@rocket.chat/eslint-config": ^0.4.0
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/fuselage-hooks": ^0.23.0
- "@rocket.chat/fuselage-polyfills": ^0.23.0
- "@rocket.chat/fuselage-tokens": ^0.23.0
- "@rocket.chat/icons": ^0.23.0
- "@rocket.chat/memo": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/fuselage-hooks": ^0.24.0
+ "@rocket.chat/fuselage-polyfills": ^0.24.0
+ "@rocket.chat/fuselage-tokens": ^0.24.0
+ "@rocket.chat/icons": ^0.24.0
+ "@rocket.chat/memo": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
"@storybook/addon-essentials": ^6.1.11
"@storybook/addon-jest": ^6.1.11
"@storybook/addon-links": ^6.1.11
@@ -4214,7 +5270,7 @@ __metadata:
"@storybook/react": ^6.1.11
"@storybook/source-loader": ^6.1.11
"@storybook/theming": ^6.1.11
- "@types/jest": ^26.0.22
+ "@types/jest": ^26.0.23
autoprefixer: ^10.0.1
babel-loader: ^8.1.0
caniuse-lite: ^1.0.30001151
@@ -4265,12 +5321,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@rocket.chat/icons@^0.23.0, @rocket.chat/icons@workspace:packages/icons":
+"@rocket.chat/icons@^0.24.0, @rocket.chat/icons@workspace:packages/icons":
version: 0.0.0-use.local
resolution: "@rocket.chat/icons@workspace:packages/icons"
dependencies:
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
eslint: ^7.24.0
glob: ^7.1.6
lint-staged: ^10.5.4
@@ -4287,12 +5343,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@rocket.chat/memo@^0.23.0, @rocket.chat/memo@workspace:packages/memo":
+"@rocket.chat/memo@^0.24.0, @rocket.chat/memo@workspace:packages/memo":
version: 0.0.0-use.local
resolution: "@rocket.chat/memo@workspace:packages/memo"
dependencies:
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
eslint: ^7.18.0
eslint-config-prettier: ^7.2.0
eslint-plugin-import: ^2.22.1
@@ -4305,6 +5361,35 @@ __metadata:
languageName: unknown
linkType: soft
+"@rocket.chat/message-parser@workspace:packages/message-parser":
+ version: 0.0.0-use.local
+ resolution: "@rocket.chat/message-parser@workspace:packages/message-parser"
+ dependencies:
+ "@babel/core": ^7.14.0
+ "@babel/eslint-parser": ^7.13.14
+ "@babel/preset-env": ^7.14.1
+ "@rocket.chat/eslint-config-alt": "workspace:packages/eslint-config-alt"
+ "@rocket.chat/prettier-config": "workspace:packages/prettier-config"
+ "@types/jest": ^26.0.23
+ "@types/node": ^14.14.43
+ "@typescript-eslint/parser": ^4.22.0
+ babel-loader: ^8.2.2
+ eslint: ^7.25.0
+ jest: ^26.6.3
+ lint-staged: ^10.5.4
+ npm-run-all: ^4.1.5
+ peggy: ^1.1.0
+ prettier: ^2.2.1
+ prettier-plugin-pegjs: ^0.3.2
+ rimraf: ^3.0.2
+ ts-jest: ^26.5.5
+ ts-loader: ^9.1.1
+ typescript: ^4.2.4
+ webpack: ^5.36.2
+ webpack-cli: ^4.6.0
+ languageName: unknown
+ linkType: soft
+
"@rocket.chat/mp3-encoder@workspace:packages/mp3-encoder":
version: 0.0.0-use.local
resolution: "@rocket.chat/mp3-encoder@workspace:packages/mp3-encoder"
@@ -4313,12 +5398,12 @@ __metadata:
"@babel/plugin-transform-runtime": ^7.12.10
"@babel/preset-env": ^7.12.11
"@babel/preset-typescript": ^7.12.7
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
"@rollup/plugin-commonjs": ^17.0.0
"@rollup/plugin-node-resolve": ^11.0.1
"@rollup/plugin-typescript": ^8.1.0
- "@types/jest": ^26.0.22
+ "@types/jest": ^26.0.23
documentation: ^13.2.1
eslint: ^7.24.0
jest: ^26.6.3
@@ -4330,12 +5415,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@rocket.chat/prettier-config@^0.23.0, @rocket.chat/prettier-config@workspace:packages/prettier-config":
+"@rocket.chat/prettier-config@^0.24.0, @rocket.chat/prettier-config@workspace:packages/prettier-config":
version: 0.0.0-use.local
resolution: "@rocket.chat/prettier-config@workspace:packages/prettier-config"
dependencies:
"@rocket.chat/eslint-config": ^0.4.0
- "@rocket.chat/eslint-config-alt": ^0.23.0
+ "@rocket.chat/eslint-config-alt": ^0.24.0
eslint: ^7.24.0
eslint-config-prettier: ^8.2.0
eslint-plugin-import: ^2.22.1
@@ -4351,9 +5436,9 @@ __metadata:
version: 0.0.0-use.local
resolution: "@rocket.chat/string-helpers@workspace:packages/string-helpers"
dependencies:
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
- "@types/jest": ^26.0.22
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
+ "@types/jest": ^26.0.23
downlevel-dts: ^0.7.0
eslint: ^7.24.0
jest: ^26.6.3
@@ -4367,7 +5452,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@rocket.chat/ui-kit@^0.23.0, @rocket.chat/ui-kit@workspace:packages/ui-kit":
+"@rocket.chat/ui-kit@^0.24.0, @rocket.chat/ui-kit@workspace:packages/ui-kit":
version: 0.0.0-use.local
resolution: "@rocket.chat/ui-kit@workspace:packages/ui-kit"
dependencies:
@@ -4375,9 +5460,9 @@ __metadata:
"@babel/eslint-parser": ^7.12.1
"@babel/plugin-transform-runtime": ^7.12.10
"@babel/preset-env": ^7.12.11
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
- "@types/jest": ^26.0.22
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
+ "@types/jest": ^26.0.23
babel-loader: ^8.1.0
documentation: ^13.2.1
eslint: ^7.24.0
@@ -5568,6 +6653,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/estree@npm:^0.0.47":
+ version: 0.0.47
+ resolution: "@types/estree@npm:0.0.47"
+ checksum: 28cba548c7b61855f4ff0c20146512e71fb578253e3cb24baf1acf660c626a8a271f99848e8a8c4e0e87f177cfce28e8d1fcecb65a4aad4a92ba48fd73179289
+ languageName: node
+ linkType: hard
+
"@types/glob-base@npm:^0.3.0":
version: 0.3.0
resolution: "@types/glob-base@npm:0.3.0"
@@ -5659,13 +6751,13 @@ __metadata:
languageName: node
linkType: hard
-"@types/jest@npm:^26.0.22":
- version: 26.0.22
- resolution: "@types/jest@npm:26.0.22"
+"@types/jest@npm:^26.0.23":
+ version: 26.0.23
+ resolution: "@types/jest@npm:26.0.23"
dependencies:
jest-diff: ^26.0.0
pretty-format: ^26.0.0
- checksum: 4c98ed058522f6cc74bcb47b8b7b104b77b2d4e42e087171f3d2d3ae5338c21f43ec26f2a186bc229c1bd72c3f776ad07faba837f0ec27f22cf94e154516c0b3
+ checksum: a015676b78bdc51be6f6315acef10d9106ea8064e3e49143bca3c75b834b61285b45c5f5ccfd049a80107f1e2869a9183cdb5be85816c073ea8dd05852fafdc6
languageName: node
linkType: hard
@@ -5762,10 +6854,10 @@ __metadata:
languageName: node
linkType: hard
-"@types/node@npm:^14.14.41":
- version: 14.14.41
- resolution: "@types/node@npm:14.14.41"
- checksum: 37dfb639644c8ee9b9846106834983f590d494b855e74645a4f169ea24199f7559366d25f6e72e83ba940b59eb6370e002bd53963d098d6d9fdf935a37011417
+"@types/node@npm:^14.14.43":
+ version: 14.14.43
+ resolution: "@types/node@npm:14.14.43"
+ checksum: b7a9e6df7c2a6f90e783bfe6ef358cc2c3ff4e1dfcea56b83349cd3feefd02a9b6fa54b443983694b4398a06257d871c947abeae03bd0d39fd71981161d61765
languageName: node
linkType: hard
@@ -6471,6 +7563,16 @@ __metadata:
languageName: node
linkType: hard
+"@webpack-cli/configtest@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "@webpack-cli/configtest@npm:1.0.2"
+ peerDependencies:
+ webpack: 4.x.x || 5.x.x
+ webpack-cli: 4.x.x
+ checksum: 98edc004536d7fd212386a759b738f78f71dc24a7c10fa5245d3c4d2b33e47e9076c132d25aa94c291848ccf47e8986b71244785c95fbacf770a5d9f54dc8586
+ languageName: node
+ linkType: hard
+
"@webpack-cli/info@npm:^1.1.0":
version: 1.1.0
resolution: "@webpack-cli/info@npm:1.1.0"
@@ -6493,6 +7595,17 @@ __metadata:
languageName: node
linkType: hard
+"@webpack-cli/info@npm:^1.2.3":
+ version: 1.2.3
+ resolution: "@webpack-cli/info@npm:1.2.3"
+ dependencies:
+ envinfo: ^7.7.3
+ peerDependencies:
+ webpack-cli: 4.x.x
+ checksum: 0499e93583176fe0d3f1f8a2022f460c8177cf24e07d7b6110de4ac89dab42115d898095c856ede4cf2b4c1c36a4a6e0230658480fae341119d20e25d28f3e35
+ languageName: node
+ linkType: hard
+
"@webpack-cli/serve@npm:^1.1.0":
version: 1.1.0
resolution: "@webpack-cli/serve@npm:1.1.0"
@@ -6517,6 +7630,18 @@ __metadata:
languageName: node
linkType: hard
+"@webpack-cli/serve@npm:^1.3.1":
+ version: 1.3.1
+ resolution: "@webpack-cli/serve@npm:1.3.1"
+ peerDependencies:
+ webpack-cli: 4.x.x
+ peerDependenciesMeta:
+ webpack-dev-server:
+ optional: true
+ checksum: 8a734da3451268d5d2ae24b57c7f824b452fb2eba8ea41f7b8830eb3f322a9649cc3d40a6dbb6f19017748bbdbf24cf459ad0ac27289b723d9b132b946c168c7
+ languageName: node
+ linkType: hard
+
"@xtuc/ieee754@npm:^1.2.0":
version: 1.2.0
resolution: "@xtuc/ieee754@npm:1.2.0"
@@ -6642,6 +7767,15 @@ __metadata:
languageName: node
linkType: hard
+"acorn@npm:^8.2.1":
+ version: 8.2.2
+ resolution: "acorn@npm:8.2.2"
+ bin:
+ acorn: bin/acorn
+ checksum: 9e509a7a99e4e65cbfe48395f2d5576a7dbd30078ae95ea28f771921667c102b092d79994c20658ae98506ed4f2e86b5e6fcdbba3e6f8e18eda195568942cfe9
+ languageName: node
+ linkType: hard
+
"add-stream@npm:^1.0.0":
version: 1.0.0
resolution: "add-stream@npm:1.0.0"
@@ -7434,7 +8568,7 @@ __metadata:
languageName: node
linkType: hard
-"babel-loader@npm:^8.0.6":
+"babel-loader@npm:^8.0.6, babel-loader@npm:^8.2.2":
version: 8.2.2
resolution: "babel-loader@npm:8.2.2"
dependencies:
@@ -7663,6 +8797,42 @@ __metadata:
languageName: node
linkType: hard
+"babel-plugin-polyfill-corejs2@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "babel-plugin-polyfill-corejs2@npm:0.2.0"
+ dependencies:
+ "@babel/compat-data": ^7.13.11
+ "@babel/helper-define-polyfill-provider": ^0.2.0
+ semver: ^6.1.1
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 5d2825a9f28b322956da8941b069c3e4130478bc3620ab20e4b680671b31ad95d1c69514c58df9d5e2d54c87aba9ca92df5a7dbad54005b25ac9587af252db07
+ languageName: node
+ linkType: hard
+
+"babel-plugin-polyfill-corejs3@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "babel-plugin-polyfill-corejs3@npm:0.2.0"
+ dependencies:
+ "@babel/helper-define-polyfill-provider": ^0.2.0
+ core-js-compat: ^3.9.1
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: ae25400dd8764f737ecbd02f9aa3f35df62d3d239ad269edebab195551686b020d4b9b957cc303c6fbf9497c214e7b2f7fa3eee460d00b569d0d6f634ef3d5aa
+ languageName: node
+ linkType: hard
+
+"babel-plugin-polyfill-regenerator@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "babel-plugin-polyfill-regenerator@npm:0.2.0"
+ dependencies:
+ "@babel/helper-define-polyfill-provider": ^0.2.0
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 538ab98e3062fb4ef4eae09587292513c03917902fe6d8c90b49001b26d41ffc3cd2da34b3b999b12e501cde1233e356af9f33f898c623720c94c6d9022d998c
+ languageName: node
+ linkType: hard
+
"babel-plugin-react-docgen@npm:^4.2.1":
version: 4.2.1
resolution: "babel-plugin-react-docgen@npm:4.2.1"
@@ -8205,6 +9375,21 @@ __metadata:
languageName: node
linkType: hard
+"browserslist@npm:^4.16.6":
+ version: 4.16.6
+ resolution: "browserslist@npm:4.16.6"
+ dependencies:
+ caniuse-lite: ^1.0.30001219
+ colorette: ^1.2.2
+ electron-to-chromium: ^1.3.723
+ escalade: ^3.1.1
+ node-releases: ^1.1.71
+ bin:
+ browserslist: cli.js
+ checksum: ebb0ab279c5e61f882467f7ccd7d22c0edfcc01201eba06e85e835ca4d355e682f9aa3310bfa18c3a23bb244f0b8e498b3113dae3e9b0fa4908c5ffb4a26b3a2
+ languageName: node
+ linkType: hard
+
"bs-logger@npm:0.x":
version: 0.2.6
resolution: "bs-logger@npm:0.2.6"
@@ -8602,6 +9787,13 @@ __metadata:
languageName: node
linkType: hard
+"caniuse-lite@npm:^1.0.30001219":
+ version: 1.0.30001221
+ resolution: "caniuse-lite@npm:1.0.30001221"
+ checksum: 38d436b0636bd0f26cef1f322d261b04e337bb3930e2ea9daaa0479719463187c456d004865bb2a70ef733b9c4970693a985175695383ef1038f5e687437dcfa
+ languageName: node
+ linkType: hard
+
"capture-exit@npm:^2.0.0":
version: 2.0.0
resolution: "capture-exit@npm:2.0.0"
@@ -9795,6 +10987,16 @@ __metadata:
languageName: node
linkType: hard
+"core-js-compat@npm:^3.9.0, core-js-compat@npm:^3.9.1":
+ version: 3.11.2
+ resolution: "core-js-compat@npm:3.11.2"
+ dependencies:
+ browserslist: ^4.16.6
+ semver: 7.0.0
+ checksum: ddcc0d1672d1f03ab21d279281a6beadce8e4cb7a8106664eaf0d080b52ea2325d85f449f59f851537ccfd0ba309d97059aa71bf756f2b3e3059342080bbd92d
+ languageName: node
+ linkType: hard
+
"core-js-pure@npm:^3.0.1":
version: 3.8.1
resolution: "core-js-pure@npm:3.8.1"
@@ -11142,6 +12344,13 @@ __metadata:
languageName: node
linkType: hard
+"electron-to-chromium@npm:^1.3.723":
+ version: 1.3.726
+ resolution: "electron-to-chromium@npm:1.3.726"
+ checksum: 031fb7d794021b2c7200e74c830a033a2ee12a2a547751d399c499a2022c0b0dbe1deae1396995cb2ef48830d441a36190b7fa6465af19562e0b849a00d88b39
+ languageName: node
+ linkType: hard
+
"element-closest-polyfill@npm:^1.0.2":
version: 1.0.2
resolution: "element-closest-polyfill@npm:1.0.2"
@@ -11276,6 +12485,16 @@ __metadata:
languageName: node
linkType: hard
+"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.8.0":
+ version: 5.8.0
+ resolution: "enhanced-resolve@npm:5.8.0"
+ dependencies:
+ graceful-fs: ^4.2.4
+ tapable: ^2.2.0
+ checksum: a3e1131c9ba0dd6f8276f068ddac4e6469d824ee8132f748e2734722b9f25360f4cb5a7fbec1cab8cd56815a6762e0bb1b8d088cbdf2a276d30d573ac5528bbb
+ languageName: node
+ linkType: hard
+
"enhanced-resolve@npm:^5.3.1":
version: 5.3.1
resolution: "enhanced-resolve@npm:5.3.1"
@@ -11932,6 +13151,53 @@ __metadata:
languageName: node
linkType: hard
+"eslint@npm:^7.25.0":
+ version: 7.25.0
+ resolution: "eslint@npm:7.25.0"
+ dependencies:
+ "@babel/code-frame": 7.12.11
+ "@eslint/eslintrc": ^0.4.0
+ ajv: ^6.10.0
+ chalk: ^4.0.0
+ cross-spawn: ^7.0.2
+ debug: ^4.0.1
+ doctrine: ^3.0.0
+ enquirer: ^2.3.5
+ eslint-scope: ^5.1.1
+ eslint-utils: ^2.1.0
+ eslint-visitor-keys: ^2.0.0
+ espree: ^7.3.1
+ esquery: ^1.4.0
+ esutils: ^2.0.2
+ file-entry-cache: ^6.0.1
+ functional-red-black-tree: ^1.0.1
+ glob-parent: ^5.0.0
+ globals: ^13.6.0
+ ignore: ^4.0.6
+ import-fresh: ^3.0.0
+ imurmurhash: ^0.1.4
+ is-glob: ^4.0.0
+ js-yaml: ^3.13.1
+ json-stable-stringify-without-jsonify: ^1.0.1
+ levn: ^0.4.1
+ lodash: ^4.17.21
+ minimatch: ^3.0.4
+ natural-compare: ^1.4.0
+ optionator: ^0.9.1
+ progress: ^2.0.0
+ regexpp: ^3.1.0
+ semver: ^7.2.1
+ strip-ansi: ^6.0.0
+ strip-json-comments: ^3.1.0
+ table: ^6.0.4
+ text-table: ^0.2.0
+ v8-compile-cache: ^2.0.3
+ bin:
+ eslint: bin/eslint.js
+ checksum: 6e1782e2264ebf987504746ee82e996bf0ef2c29a2eaea869b54cb8aa1eaf10945b1d563618515e65ac934ca626f3609282127773f45868ad4a98744458a3c62
+ languageName: node
+ linkType: hard
+
"espree@npm:^7.2.0":
version: 7.3.0
resolution: "espree@npm:7.3.0"
@@ -12989,7 +14255,7 @@ fsevents@~2.1.2:
languageName: node
linkType: hard
-"gensync@npm:^1.0.0-beta.1":
+"gensync@npm:^1.0.0-beta.1, gensync@npm:^1.0.0-beta.2":
version: 1.0.0-beta.2
resolution: "gensync@npm:1.0.0-beta.2"
checksum: d523437689c97b3aba9c5cdeca4677d5fff9a29d620db693fea40d852bad63563110f16979d0170248439dbcd2ecee0780fb2533d3f0519f019081aa10767c60
@@ -16569,6 +17835,13 @@ fsevents@~2.1.2:
languageName: node
linkType: hard
+"lodash.debounce@npm:^4.0.8":
+ version: 4.0.8
+ resolution: "lodash.debounce@npm:4.0.8"
+ checksum: b6042bd8c09ff1961c9127d32266316bc21f946ece5e3464a663ec61fadb98e7d56ec0ef7e23b47d393695310c19cf24e651c1756be6da91ac02c72be7f79465
+ languageName: node
+ linkType: hard
+
"lodash.get@npm:^4.0.0, lodash.get@npm:^4.4.2":
version: 4.4.2
resolution: "lodash.get@npm:4.4.2"
@@ -17995,6 +19268,13 @@ fsevents@~2.1.2:
languageName: node
linkType: hard
+"node-releases@npm:^1.1.71":
+ version: 1.1.71
+ resolution: "node-releases@npm:1.1.71"
+ checksum: 9e283003f1deafd0ca7f9bbde9c4b5b05d880ca165217f5227b37406626d6689a246a5c4c72f9a8512be65cd51b13cc7d0f5d8bc68ad36089b620f1810292340
+ languageName: node
+ linkType: hard
+
"nopt@npm:^4.0.1":
version: 4.0.3
resolution: "nopt@npm:4.0.3"
@@ -19100,6 +20380,15 @@ fsevents@~2.1.2:
languageName: node
linkType: hard
+"peggy@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "peggy@npm:1.1.0"
+ bin:
+ peggy: bin/peggy
+ checksum: 83004c3b42ca6bb089d22fa9444942ee26ab42557db2348a245bc90946e26b8c736caf1872e25bbaa428106a706ed8730c9e37c8720bfc10cb107f795a36802c
+ languageName: node
+ linkType: hard
+
"performance-now@npm:^2.1.0":
version: 2.1.0
resolution: "performance-now@npm:2.1.0"
@@ -19946,7 +21235,16 @@ fsevents@~2.1.2:
languageName: node
linkType: hard
-"prettier@npm:^2.1.2, prettier@npm:^2.2.1":
+"prettier-plugin-pegjs@npm:^0.3.2":
+ version: 0.3.2
+ resolution: "prettier-plugin-pegjs@npm:0.3.2"
+ dependencies:
+ prettier: ^2.0.5
+ checksum: d645d79d6498ee685b68a4e458ffe18371ae7a4790fd5d4317a6248b624111674f93d1b9651d7e63942fad99000290792eb43c648f2ed95537abdfbdd606b564
+ languageName: node
+ linkType: hard
+
+"prettier@npm:^2.0.5, prettier@npm:^2.1.2, prettier@npm:^2.2.1":
version: 2.2.1
resolution: "prettier@npm:2.2.1"
bin:
@@ -21661,6 +22959,16 @@ resolve@1.1.7:
languageName: node
linkType: hard
+resolve@^1.14.2:
+ version: 1.20.0
+ resolution: "resolve@npm:1.20.0"
+ dependencies:
+ is-core-module: ^2.2.0
+ path-parse: ^1.0.6
+ checksum: 0f5206d454b30e74d9b2d575b5f8aedf443c4d8b90b84cdf79474ade29bb459075220da3127b682896872a16022ed65cc4db09e0f23849654144d3d75c65cd1b
+ languageName: node
+ linkType: hard
+
resolve@^2.0.0-next.3:
version: 2.0.0-next.3
resolution: "resolve@npm:2.0.0-next.3"
@@ -21698,6 +23006,16 @@ resolve@^2.0.0-next.3:
languageName: node
linkType: hard
+"resolve@patch:resolve@^1.14.2#builtin":
+ version: 1.20.0
+ resolution: "resolve@patch:resolve@npm%3A1.20.0#builtin::version=1.20.0&hash=3388aa"
+ dependencies:
+ is-core-module: ^2.2.0
+ path-parse: ^1.0.6
+ checksum: c4a515b76026806b5b26513fc7bdb80458c532bc91c02ef45ac928d1025585f93bec0b904be39c02131118a37ff7e3f9258f1526850b025d2ec0948bb5fd03d0
+ languageName: node
+ linkType: hard
+
"resolve@patch:resolve@^2.0.0-next.3#builtin":
version: 2.0.0-next.3
resolution: "resolve@patch:resolve@npm%3A2.0.0-next.3#builtin::version=2.0.0-next.3&hash=3388aa"
@@ -22075,9 +23393,9 @@ resolve@~1.17.0:
version: 0.0.0-use.local
resolution: "scripts@workspace:scripts"
dependencies:
- "@rocket.chat/eslint-config-alt": ^0.23.0
- "@rocket.chat/prettier-config": ^0.23.0
- "@types/node": ^14.14.41
+ "@rocket.chat/eslint-config-alt": ^0.24.0
+ "@rocket.chat/prettier-config": ^0.24.0
+ "@types/node": ^14.14.43
"@typescript-eslint/parser": ^4.22.0
eslint: ^7.24.0
fast-glob: ^3.2.5
@@ -22129,7 +23447,7 @@ resolve@~1.17.0:
languageName: node
linkType: hard
-"semver@npm:^6.0.0, semver@npm:^6.2.0, semver@npm:^6.3.0":
+"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.2.0, semver@npm:^6.3.0":
version: 6.3.0
resolution: "semver@npm:6.3.0"
bin:
@@ -24309,6 +25627,21 @@ resolve@~1.17.0:
languageName: node
linkType: hard
+"ts-loader@npm:^9.1.1":
+ version: 9.1.1
+ resolution: "ts-loader@npm:9.1.1"
+ dependencies:
+ chalk: ^4.1.0
+ enhanced-resolve: ^5.0.0
+ micromatch: ^4.0.0
+ semver: ^7.3.4
+ peerDependencies:
+ typescript: "*"
+ webpack: "*"
+ checksum: d74d6fa6846b27763ae5927dc0f07d156909e8d5302e1514668da7404c89ad0494b656b6a971a89c344d34d419b5b63db24346cfea1a4b03a2ee539b66d10629
+ languageName: node
+ linkType: hard
+
"ts-node@npm:^9.1.1":
version: 9.1.1
resolution: "ts-node@npm:9.1.1"
@@ -25754,6 +27087,41 @@ typescript@~4.0.5:
languageName: node
linkType: hard
+"webpack-cli@npm:^4.6.0":
+ version: 4.6.0
+ resolution: "webpack-cli@npm:4.6.0"
+ dependencies:
+ "@discoveryjs/json-ext": ^0.5.0
+ "@webpack-cli/configtest": ^1.0.2
+ "@webpack-cli/info": ^1.2.3
+ "@webpack-cli/serve": ^1.3.1
+ colorette: ^1.2.1
+ commander: ^7.0.0
+ enquirer: ^2.3.6
+ execa: ^5.0.0
+ fastest-levenshtein: ^1.0.12
+ import-local: ^3.0.2
+ interpret: ^2.2.0
+ rechoir: ^0.7.0
+ v8-compile-cache: ^2.2.0
+ webpack-merge: ^5.7.3
+ peerDependencies:
+ webpack: 4.x.x || 5.x.x
+ peerDependenciesMeta:
+ "@webpack-cli/generators":
+ optional: true
+ "@webpack-cli/migrate":
+ optional: true
+ webpack-bundle-analyzer:
+ optional: true
+ webpack-dev-server:
+ optional: true
+ bin:
+ webpack-cli: bin/cli.js
+ checksum: 5818245d609bfe677a84c14ebb7177590a511a871ce877803c14ba948dc603c15637fdfc1346726480d26b97ba4a55785a211e584d0dd098ec767927f244f9b9
+ languageName: node
+ linkType: hard
+
"webpack-dev-middleware@npm:^3.7.0":
version: 3.7.2
resolution: "webpack-dev-middleware@npm:3.7.2"
@@ -25959,6 +27327,42 @@ typescript@~4.0.5:
languageName: node
linkType: hard
+"webpack@npm:^5.36.2":
+ version: 5.36.2
+ resolution: "webpack@npm:5.36.2"
+ dependencies:
+ "@types/eslint-scope": ^3.7.0
+ "@types/estree": ^0.0.47
+ "@webassemblyjs/ast": 1.11.0
+ "@webassemblyjs/wasm-edit": 1.11.0
+ "@webassemblyjs/wasm-parser": 1.11.0
+ acorn: ^8.2.1
+ browserslist: ^4.14.5
+ chrome-trace-event: ^1.0.2
+ enhanced-resolve: ^5.8.0
+ es-module-lexer: ^0.4.0
+ eslint-scope: ^5.1.1
+ events: ^3.2.0
+ glob-to-regexp: ^0.4.1
+ graceful-fs: ^4.2.4
+ json-parse-better-errors: ^1.0.2
+ loader-runner: ^4.2.0
+ mime-types: ^2.1.27
+ neo-async: ^2.6.2
+ schema-utils: ^3.0.0
+ tapable: ^2.1.1
+ terser-webpack-plugin: ^5.1.1
+ watchpack: ^2.0.0
+ webpack-sources: ^2.1.1
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ bin:
+ webpack: bin/webpack.js
+ checksum: 221f75148a40809ce4c8c2f51e3510d716a75ba086ddd18f4d8313f2f18f18efce74b55bfee58223b8ae2d8bcab035d07d2a8f5690c3f3f6a4ce59d015879179
+ languageName: node
+ linkType: hard
+
"websocket-driver@npm:>=0.5.1":
version: 0.7.4
resolution: "websocket-driver@npm:0.7.4"