From 0c59ec0b1e287106288398fe87541ea134f9b22d Mon Sep 17 00:00:00 2001 From: HugoHSun <95517615+HugoHSun@users.noreply.github.com> Date: Tue, 23 Dec 2025 12:44:58 +1100 Subject: [PATCH 1/3] fix(mdx-variable-regex): escape . after user - before: `{user.` matches user + any character - after: `{user\.` matches user + literal dot - add test cases --- __tests__/index.test.jsx | 7 +++++++ index.jsx | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/__tests__/index.test.jsx b/__tests__/index.test.jsx index 51dd14e..90c69a1 100644 --- a/__tests__/index.test.jsx +++ b/__tests__/index.test.jsx @@ -279,4 +279,11 @@ describe('MDX_VARIABLE_REGEXP', () => { expect('{user.what_the\rfuck}').not.toMatch(new RegExp(MDX_VARIABLE_REGEXP)); expect('{user.what_the\r\nfuck}').not.toMatch(new RegExp(MDX_VARIABLE_REGEXP)); }); + + it('should NOT match JS template literals without a dot after user', () => { + // Bug case: {userXYZ} should not match as if it were {user.XYZ} + expect('{userEndpoint}').not.toMatch(new RegExp(MDX_VARIABLE_REGEXP)); + expect('{userXYZ}').not.toMatch(new RegExp(MDX_VARIABLE_REGEXP)); + expect('{baseUrl}').not.toMatch(new RegExp(MDX_VARIABLE_REGEXP)); + }); }); diff --git a/index.jsx b/index.jsx index f9f6b89..281bef0 100644 --- a/index.jsx +++ b/index.jsx @@ -204,7 +204,7 @@ module.exports.VARIABLE_REGEXP = /(?:\\)?<<((?:(?![\r\n])[-_\p{L}:.\s\d])+)(?:\\ * @see {@link https://stackoverflow.com/a/6926184} */ module.exports.MDX_VARIABLE_REGEXP = - /(\\)?\{user.([$_\p{L}][$_\p{L}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\u200C\u200D]*)(\\)?\}/iu.source; + /(\\)?\{user\.([$_\p{L}][$_\p{L}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\u200C\u200D]*)(\\)?\}/iu.source; module.exports.VariablesContext = VariablesContext; module.exports.SelectedAppContext = SelectedAppContext; From 0a7a2040a333f1340829810ce0235aae64dd929e Mon Sep 17 00:00:00 2001 From: HugoHSun <95517615+HugoHSun@users.noreply.github.com> Date: Tue, 23 Dec 2025 13:43:50 +1100 Subject: [PATCH 2/3] build: 18.0.1 release --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 885e249..1d4f352 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@readme/variable", - "version": "18.0.0", + "version": "18.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@readme/variable", - "version": "18.0.0", + "version": "18.0.1", "license": "ISC", "dependencies": { "classnames": "^2.2.6", diff --git a/package.json b/package.json index 3758079..bbf004a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@readme/variable", "description": "React component for ReadMe user data variables", - "version": "18.0.0", + "version": "18.0.1", "main": "dist/index.js", "author": "Dom Harrington ", "license": "ISC", From 8a458afea1bcffb30130392e9007016ae092da50 Mon Sep 17 00:00:00 2001 From: HugoHSun <95517615+HugoHSun@users.noreply.github.com> Date: Tue, 23 Dec 2025 15:05:20 +1100 Subject: [PATCH 3/3] revert: 18.0.1 release (commit 0a7a204) --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1d4f352..885e249 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@readme/variable", - "version": "18.0.1", + "version": "18.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@readme/variable", - "version": "18.0.1", + "version": "18.0.0", "license": "ISC", "dependencies": { "classnames": "^2.2.6", diff --git a/package.json b/package.json index bbf004a..3758079 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@readme/variable", "description": "React component for ReadMe user data variables", - "version": "18.0.1", + "version": "18.0.0", "main": "dist/index.js", "author": "Dom Harrington ", "license": "ISC",