From ce3912c41560a13cfc69aa68547f76fa6350f2c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Fri, 2 Sep 2022 17:58:29 +0200 Subject: [PATCH 1/2] Add docs for duplicated-named-capturing-groups-regex --- ...duplicated-named-capturing-groups-regex.md | 74 +++++++++++++++++++ docs/plugins-list.md | 1 + 2 files changed, 75 insertions(+) create mode 100644 docs/plugin-proposal-duplicated-named-capturing-groups-regex.md diff --git a/docs/plugin-proposal-duplicated-named-capturing-groups-regex.md b/docs/plugin-proposal-duplicated-named-capturing-groups-regex.md new file mode 100644 index 0000000000..9a6d954dad --- /dev/null +++ b/docs/plugin-proposal-duplicated-named-capturing-groups-regex.md @@ -0,0 +1,74 @@ +--- +id: babel-plugin-proposal-duplicated-named-capturing-groups-regex +title: @babel/plugin-proposal-duplicated-named-capturing-groups-regex +sidebar_label: named-capturing-groups-regex +--- + +## Examples + +**In** + +```javascript +var re = /(?\d{4})-(?\d{2})|(?\d{2})-(?\d{4})/; + +console.log(re.exec("02-1999").groups.year); +``` + +**Out** + +```javascript +var re = _wrapRegExp(/(\d{4})-(\d{2})|(\d{2})-(\d{4})/, { + year: [1, 4], + month: [2, 3], +}); + +console.log(re.exec("02-1999").groups.year); +``` + +## Installation + +```sh +npm install --save-dev @babel/plugin-proposal-duplicated-named-capturing-groups-regex +``` + +## Usage + +### With a configuration file (Recommended) + +```json +{ + "plugins": ["@babel/plugin-proposal-duplicated-named-capturing-groups-regex"] +} +``` + +### Via CLI + +```sh +babel --plugins @babel/plugin-proposal-duplicated-named-capturing-groups-regex script.js +``` + +### Via Node API + +```javascript +require("@babel/core").transformSync("code", { + plugins: ["@babel/plugin-proposal-duplicated-named-capturing-groups-regex"], +}); +``` + +## Options + +### `runtime` + +`boolean`, defaults to `true` + +When this option is disabled, Babel doesn't wrap RegExps with the `_wrapRegExp` helper. +The output only supports internal group references, and not runtime properties: + +```js +var stringRe = /(?:(?")|(?')).*?\k/; + +stringRe.test("'foo'"); // "true", works +stringRe.exec("'foo'").groups.quote; // undefined +``` + +> You can read more about configuring plugin options [here](https://babeljs.io/docs/en/plugins#plugin-options) diff --git a/docs/plugins-list.md b/docs/plugins-list.md index 9216e75e37..5cf8843654 100644 --- a/docs/plugins-list.md +++ b/docs/plugins-list.md @@ -10,6 +10,7 @@ sidebar_label: Plugins List - [decorators](plugin-proposal-decorators.md) - [do-expressions](plugin-proposal-do-expressions.md) +- [duplicated-named-capturing-groups-regex](plugin-proposal-duplicated-named-capturing-groups-regex.md) - [export-default-from](plugin-proposal-export-default-from.md) - [export-namespace-from](plugin-proposal-export-namespace-from.md) - [function-bind](plugin-proposal-function-bind.md) From 8dbf6c442b419fbeac4f82c08c04e0d04b7cbe6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Sat, 3 Sep 2022 00:02:23 +0200 Subject: [PATCH 2/2] Update docs/plugin-proposal-duplicated-named-capturing-groups-regex.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Huáng Jùnliàng --- docs/plugin-proposal-duplicated-named-capturing-groups-regex.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/plugin-proposal-duplicated-named-capturing-groups-regex.md b/docs/plugin-proposal-duplicated-named-capturing-groups-regex.md index 9a6d954dad..736291662c 100644 --- a/docs/plugin-proposal-duplicated-named-capturing-groups-regex.md +++ b/docs/plugin-proposal-duplicated-named-capturing-groups-regex.md @@ -1,7 +1,7 @@ --- id: babel-plugin-proposal-duplicated-named-capturing-groups-regex title: @babel/plugin-proposal-duplicated-named-capturing-groups-regex -sidebar_label: named-capturing-groups-regex +sidebar_label: duplicated-named-capturing-groups-regex --- ## Examples