From 4cf978a818417e1d690b4a72ad53e2f821419f20 Mon Sep 17 00:00:00 2001 From: Mohan Date: Thu, 9 Apr 2026 00:42:39 +0530 Subject: [PATCH 1/4] Enhance search with fuzzy matching for typo tolerance --- docs/.vuepress/components/StrictSearchBox.vue | 612 ++++++++++++++++++ docs/.vuepress/config.js | 10 + .../theme/components/SearchBoxWrapper.vue | 11 +- docs/.vuepress/theme/index.js | 3 +- package-lock.json | 503 +++++++++----- package.json | 20 +- 6 files changed, 965 insertions(+), 194 deletions(-) create mode 100644 docs/.vuepress/components/StrictSearchBox.vue diff --git a/docs/.vuepress/components/StrictSearchBox.vue b/docs/.vuepress/components/StrictSearchBox.vue new file mode 100644 index 000000000..2d592ef8b --- /dev/null +++ b/docs/.vuepress/components/StrictSearchBox.vue @@ -0,0 +1,612 @@ + + + diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 71e0199b4..9cd260e42 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -1,3 +1,4 @@ +const path = require('path') const { description } = require('../../package') // Determine if we're in PR preview mode @@ -36,6 +37,15 @@ module.exports = { theme: 'titanium', + // Force the active theme runtime to use the custom typo-tolerant search box. + configureWebpack: { + resolve: { + alias: { + '@SearchBox': path.resolve(__dirname, './components/StrictSearchBox.vue') + } + } + }, + /** * Theme configuration, here is the default theme configuration for VuePress. * diff --git a/docs/.vuepress/theme/components/SearchBoxWrapper.vue b/docs/.vuepress/theme/components/SearchBoxWrapper.vue index 1b3dd2ab1..55fff496b 100644 --- a/docs/.vuepress/theme/components/SearchBoxWrapper.vue +++ b/docs/.vuepress/theme/components/SearchBoxWrapper.vue @@ -1,6 +1,5 @@ diff --git a/docs/.vuepress/theme/index.js b/docs/.vuepress/theme/index.js index 4000e6b45..fc8fe936b 100644 --- a/docs/.vuepress/theme/index.js +++ b/docs/.vuepress/theme/index.js @@ -14,7 +14,8 @@ module.exports = (options, ctx) => ({ return { '@AlgoliaSearchBox': isAlgoliaSearch ? path.resolve(__dirname, 'components/AlgoliaSearchBox.vue') - : path.resolve(__dirname, 'noopModule.js') + : path.resolve(__dirname, 'noopModule.js'), + '@SearchBox': path.resolve(__dirname, '../components/StrictSearchBox.vue') } }, plugins: [ diff --git a/package-lock.json b/package-lock.json index a60b5e42c..af957396f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,16 +11,18 @@ "devDependencies": { "@vuepress/plugin-back-to-top": "^1.9.10", "@vuepress/plugin-medium-zoom": "^1.9.10", - "got": "^14.6.5", + "cross-env": "^10.1.0", + "flexsearch": "^0.8.212", + "got": "^15.0.1", "husky": "^9.1.7", - "markdownlint-cli": "^0.47.0", - "npm-check-updates": "^19.2.0", + "markdownlint-cli": "^0.48.0", + "npm-check-updates": "^20.0.0", "plantuml-encoder": "^1.4.0", - "svgo": "^4.0.0", + "svgo": "^4.0.1", "vuepress": "^1.9.10", "vuepress-plugin-mermaidjs": "^2.0.0-beta.2", "vuepress-plugin-versioning": "git+https://github.com/mojaloop/vuepress-plugin-versioning.git#dcb14962a69b8e5aaf184d2d1a31ae4f43870bc1", - "vuepress-theme-titanium": "^4.11.2" + "vuepress-theme-titanium": "^5.0.0" } }, "node_modules/@ampproject/remapping": { @@ -1778,28 +1780,12 @@ "deprecated": "Potential XSS vulnerability patched in v6.0.0.", "dev": true }, - "node_modules/@isaacs/balanced-match": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", - "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", - "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "node_modules/@epic-web/invariant": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@epic-web/invariant/-/invariant-1.0.0.tgz", + "integrity": "sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==", "dev": true, - "license": "MIT", - "dependencies": { - "@isaacs/balanced-match": "^4.0.1" - }, - "engines": { - "node": "20 || >=22" - } + "license": "MIT" }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", @@ -1888,9 +1874,9 @@ "license": "MIT" }, "node_modules/@sindresorhus/is": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.0.1.tgz", - "integrity": "sha512-QWLl2P+rsCJeofkDNIT3WFmb6NrRud1SUYW8dIhXK/46XFV8Q/g7Bsvib0Askb0reRLe+WYPeeE+l5cH7SlkuQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.2.0.tgz", + "integrity": "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==", "dev": true, "license": "MIT", "engines": { @@ -1900,19 +1886,6 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "dev": true, - "license": "MIT", - "dependencies": { - "defer-to-connect": "^2.0.1" - }, - "engines": { - "node": ">=14.16" - } - }, "node_modules/@types/body-parser": { "version": "1.19.2", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", @@ -1993,9 +1966,9 @@ "dev": true }, "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", "dev": true, "license": "MIT" }, @@ -2549,6 +2522,32 @@ "yallist": "^3.0.2" } }, + "node_modules/@vuepress/core/node_modules/vue-loader": { + "version": "15.10.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.1.tgz", + "integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "peerDependencies": { + "css-loader": "*", + "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, "node_modules/@vuepress/core/node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -3920,6 +3919,29 @@ "node": ">=8" } }, + "node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/brace-expansion/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/braces": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", @@ -4320,40 +4342,24 @@ } }, "node_modules/cacheable-request": { - "version": "13.0.12", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-13.0.12.tgz", - "integrity": "sha512-qqK/etGeI/9DV5yRkO50ApDTjip9UXPml1NHYJksUAw15yMLOf8VUO1/8bu4P8birOCqR+hYQ/nh1Lezc8sZrA==", + "version": "13.0.18", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-13.0.18.tgz", + "integrity": "sha512-rFWadDRKJs3s2eYdXlGggnBZKG7MTblkFBB0YllFds+UYnfogDp2wcR6JN97FhRkHTvq59n2vhNoHNZn29dh/Q==", "dev": true, "license": "MIT", "dependencies": { "@types/http-cache-semantics": "^4.0.4", "get-stream": "^9.0.1", "http-cache-semantics": "^4.2.0", - "keyv": "^5.5.3", + "keyv": "^5.5.5", "mimic-response": "^4.0.0", - "normalize-url": "^8.1.0", - "responselike": "^3.0.0" + "normalize-url": "^8.1.1", + "responselike": "^4.0.2" }, "engines": { "node": ">=18" } }, - "node_modules/cacheable-request/node_modules/responselike": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", - "dev": true, - "license": "MIT", - "dependencies": { - "lowercase-keys": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/call-bind": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", @@ -4807,6 +4813,19 @@ "node": ">=6.0" } }, + "node_modules/chunk-data": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chunk-data/-/chunk-data-0.1.0.tgz", + "integrity": "sha512-zFyPtyC0SZ6Zu79b9sOYtXZcgrsXe0RpePrzRyj52hYVFG1+Rk6rBqjjOEk+GNQwc3PIX+86teQMok970pod1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ci-info": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", @@ -5192,9 +5211,9 @@ } }, "node_modules/commander": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", - "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "dev": true, "license": "MIT", "engines": { @@ -5990,6 +6009,88 @@ "sha.js": "^2.4.8" } }, + "node_modules/cross-env": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-10.1.0.tgz", + "integrity": "sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@epic-web/invariant": "^1.0.0", + "cross-spawn": "^7.0.6" + }, + "bin": { + "cross-env": "dist/bin/cross-env.js", + "cross-env-shell": "dist/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cross-env/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-env/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-env/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-env/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-env/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/cross-spawn": { "version": "6.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", @@ -7226,16 +7327,6 @@ "node": ">=6" } }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -9050,6 +9141,35 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, + "node_modules/flexsearch": { + "version": "0.8.212", + "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.8.212.tgz", + "integrity": "sha512-wSyJr1GUWoOOIISRu+X2IXiOcVfg9qqBRyCPRUdLMIGJqPzMo+jMRlvE83t14v1j0dRMEaBbER/adQjp6Du2pw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/ts-thomas" + }, + { + "type": "paypal", + "url": "https://www.paypal.com/donate/?hosted_button_id=GEVR88FC9BWRW" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/flexsearch" + }, + { + "type": "patreon", + "url": "https://patreon.com/user?u=96245532" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/ts-thomas" + } + ], + "license": "Apache-2.0" + }, "node_modules/flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", @@ -9672,49 +9792,43 @@ } }, "node_modules/got": { - "version": "14.6.5", - "resolved": "https://registry.npmjs.org/got/-/got-14.6.5.tgz", - "integrity": "sha512-Su87c0NNeg97de1sO02gy9I8EmE7DCJ1gzcFLcgGpYeq2PnLg4xz73MWrp6HjqbSsjb6Glf4UBDW6JNyZA6uSg==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/got/-/got-15.0.1.tgz", + "integrity": "sha512-InYCBboAj9YmFiMcxbIRQ/WPoLsKSc9t9EGaUjGENtxunnx8USWtRY/SO/V3VsHLfDvUxAO2Qmx+6fQyG1jjaw==", "dev": true, "license": "MIT", "dependencies": { - "@sindresorhus/is": "^7.0.1", - "@szmarczak/http-timer": "^5.0.1", + "@sindresorhus/is": "^7.2.0", "byte-counter": "^0.1.0", "cacheable-lookup": "^7.0.0", - "cacheable-request": "^13.0.12", + "cacheable-request": "^13.0.18", + "chunk-data": "^0.1.0", "decompress-response": "^10.0.0", - "form-data-encoder": "^4.0.2", "http2-wrapper": "^2.2.1", - "keyv": "^5.5.3", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^4.0.1", + "keyv": "^5.6.0", + "lowercase-keys": "^4.0.1", "responselike": "^4.0.2", - "type-fest": "^4.26.1" + "type-fest": "^5.4.4", + "uint8array-extras": "^1.5.0" }, "engines": { - "node": ">=20" + "node": ">=22" }, "funding": { "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "node_modules/got/node_modules/form-data-encoder": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-4.0.2.tgz", - "integrity": "sha512-KQVhvhK8ZkWzxKxOr56CPulAhH3dobtuQ4+hNQ+HekH/Wp5gSOafqRAeTphQUJAIk0GBvHZgJ2ZGRWd5kphMuw==", - "dev": true, - "engines": { - "node": ">= 18" - } - }, - "node_modules/got/node_modules/p-cancelable": { + "node_modules/got/node_modules/lowercase-keys": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-4.0.1.tgz", - "integrity": "sha512-wBowNApzd45EIKdO1LaU+LrMBwAcjfPaYtVzV3lmfM3gf8Z4CHZsiIqlM8TZZ8okYvh5A1cP6gTfCRQtwUpaUg==", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-4.0.1.tgz", + "integrity": "sha512-wI9Nui/L8VfADa/cr/7NQruaASk1k23/Uh1khQ02BCVYiiy8F4AhOGnQzJy3Fl/c44GnYSbZHv8g7EcG3kJ1Qg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=14.16" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/graceful-fs": { @@ -11427,9 +11541,9 @@ } }, "node_modules/keyv": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.3.tgz", - "integrity": "sha512-h0Un1ieD+HUrzBH6dJXhod3ifSghk5Hw/2Y4/KHBziPlZecrFyE9YOTPU6eOs0V9pYl8gOs86fkr/KN8lUX39A==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, "license": "MIT", "dependencies": { @@ -11682,6 +11796,7 @@ "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", @@ -11759,13 +11874,15 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", - "dev": true + "dev": true, + "peer": true }, "node_modules/markdown-it/node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", - "dev": true + "dev": true, + "peer": true }, "node_modules/markdownlint": { "version": "0.40.0", @@ -11792,23 +11909,23 @@ } }, "node_modules/markdownlint-cli": { - "version": "0.47.0", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.47.0.tgz", - "integrity": "sha512-HOcxeKFAdDoldvoYDofd85vI8LgNWy8vmYpCwnlLV46PJcodmGzD7COSSBlhHwsfT4o9KrAStGodImVBus31Bg==", + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.48.0.tgz", + "integrity": "sha512-NkZQNu2E0Q5qLEEHwWj674eYISTLD4jMHkBzDobujXd1kv+yCxi8jOaD/rZoQNW1FBBMMGQpuW5So8B51N/e0A==", "dev": true, "license": "MIT", "dependencies": { - "commander": "~14.0.2", + "commander": "~14.0.3", "deep-extend": "~0.6.0", "ignore": "~7.0.5", "js-yaml": "~4.1.1", "jsonc-parser": "~3.3.1", "jsonpointer": "~5.0.1", - "markdown-it": "~14.1.0", + "markdown-it": "~14.1.1", "markdownlint": "~0.40.0", - "minimatch": "~10.1.1", + "minimatch": "~10.2.4", "run-con": "~1.3.2", - "smol-toml": "~1.5.2", + "smol-toml": "~1.6.0", "tinyglobby": "~0.2.15" }, "bin": { @@ -11818,6 +11935,38 @@ "node": ">=20" } }, + "node_modules/markdownlint-cli/node_modules/markdown-it": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/markdownlint-cli/node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/markdownlint-cli/node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true, + "license": "MIT" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -12654,16 +12803,16 @@ "dev": true }, "node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "brace-expansion": "^5.0.5" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -13074,9 +13223,9 @@ } }, "node_modules/normalize-url": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.0.tgz", - "integrity": "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.1.tgz", + "integrity": "sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==", "dev": true, "license": "MIT", "engines": { @@ -13087,9 +13236,9 @@ } }, "node_modules/npm-check-updates": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-19.2.0.tgz", - "integrity": "sha512-XSIuL0FNgzXPDZa4lje7+OwHjiyEt84qQm6QMsQRbixNY5EHEM9nhgOjxjlK9jIbN+ysvSqOV8DKNS0zydwbdg==", + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-20.0.0.tgz", + "integrity": "sha512-qCs02x51irGf0okCttwv8lHEO2NxT903IJ2bKpG82kIzkm6pfT3CoWB5YIvqY/wi/DdnYRfI7eVfCYYymQgvCg==", "dev": true, "license": "Apache-2.0", "bin": { @@ -16500,9 +16649,9 @@ } }, "node_modules/smol-toml": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.5.2.tgz", - "integrity": "sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", + "integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -17454,9 +17603,9 @@ "dev": true }, "node_modules/svgo": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz", - "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", "dev": true, "license": "MIT", "dependencies": { @@ -17466,7 +17615,7 @@ "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", - "sax": "^1.4.1" + "sax": "^1.5.0" }, "bin": { "svgo": "bin/svgo.js" @@ -17490,11 +17639,27 @@ } }, "node_modules/svgo/node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", "dev": true, - "license": "ISC" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/tagged-tag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", + "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/tapable": { "version": "1.1.3", @@ -18130,13 +18295,16 @@ "dev": true }, "node_modules/type-fest": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.5.0.tgz", + "integrity": "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==", "dev": true, "license": "(MIT OR CC0-1.0)", + "dependencies": { + "tagged-tag": "^1.0.0" + }, "engines": { - "node": ">=16" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -18266,6 +18434,19 @@ "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", "dev": true }, + "node_modules/uint8array-extras": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", + "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -18738,35 +18919,6 @@ "dev": true, "license": "MIT" }, - "node_modules/vue-loader": { - "version": "15.11.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz", - "integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" - }, - "peerDependencies": { - "css-loader": "*", - "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" - }, - "peerDependenciesMeta": { - "cache-loader": { - "optional": true - }, - "prettier": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, "node_modules/vue-router": { "version": "3.6.5", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz", @@ -19072,10 +19224,11 @@ } }, "node_modules/vuepress-theme-titanium": { - "version": "4.11.2", - "resolved": "https://registry.npmjs.org/vuepress-theme-titanium/-/vuepress-theme-titanium-4.11.2.tgz", - "integrity": "sha512-a/MQ2H4bJKl7D97RT5E4DfBnUWewTmjNcoCKhwI3zrfWUnxeQWuGjnrdaswSm7t6YiUHkJIBrMsCJNPIiHY5EA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vuepress-theme-titanium/-/vuepress-theme-titanium-5.0.0.tgz", + "integrity": "sha512-hKkpt2qPIrSQEFHdaqqoBa5oKIlQ+CKMdWO7NcC0T9TGOtbh8yZOTjAN5dxoT7UXsYtv86Le4K2pnuKk1Ceeeg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@vuepress/plugin-nprogress": "^1.7.1", "@vuepress/plugin-search": "^1.7.1", diff --git a/package.json b/package.json index 29f5c9dc6..8c014bcbf 100644 --- a/package.json +++ b/package.json @@ -11,11 +11,11 @@ ], "repository": "https://www.github.com/mojaloop/documentation", "scripts": { - "dev": "NODE_OPTIONS=--openssl-legacy-provider npx npx vuepress dev docs", - "build": "NODE_OPTIONS='--max-old-space-size=8192' npx npx vuepress build docs", + "dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider npx vuepress dev docs", + "build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 npx vuepress build docs", "build:plantuml:all": "./scripts/_build_plantuml.sh", "build:plantuml:diff": "MODE=STAGED_GIT ./scripts/_build_plantuml.sh", - "lint": "npx markdownlint './docs/**/*.md' --ignore node_modules --config markdownlint.yaml", + "lint": "npx markdownlint \"docs/**/*.md\" --ignore node_modules --config markdownlint.yaml", "lint:fix": "npm run lint -- --fix", "dep:check": "npx ncu -e 2", "dep:update": "npx ncu -u", @@ -24,20 +24,22 @@ "devDependencies": { "@vuepress/plugin-back-to-top": "^1.9.10", "@vuepress/plugin-medium-zoom": "^1.9.10", - "got": "^14.6.5", + "cross-env": "^10.1.0", + "flexsearch": "^0.8.212", + "got": "^15.0.1", "husky": "^9.1.7", - "markdownlint-cli": "^0.47.0", - "npm-check-updates": "^19.2.0", + "markdownlint-cli": "^0.48.0", + "npm-check-updates": "^20.0.0", "plantuml-encoder": "^1.4.0", - "svgo": "^4.0.0", + "svgo": "^4.0.1", "vuepress": "^1.9.10", "vuepress-plugin-mermaidjs": "^2.0.0-beta.2", "vuepress-plugin-versioning": "git+https://github.com/mojaloop/vuepress-plugin-versioning.git#dcb14962a69b8e5aaf184d2d1a31ae4f43870bc1", - "vuepress-theme-titanium": "^4.11.2" + "vuepress-theme-titanium": "^5.0.0" }, "overrides": { "vuepress": { - "vue-loader": "15.1.1" + "vue-loader": "15.10.1" } } } From bd5f972f501567a18669bc20e5db06e9b7afe23e Mon Sep 17 00:00:00 2001 From: Mohan Date: Thu, 9 Apr 2026 11:16:45 +0530 Subject: [PATCH 2/4] Fix UI issues in search component --- docs/.vuepress/components/StrictSearchBox.vue | 451 +++++------------- docs/.vuepress/config.js | 3 +- .../theme/components/SearchBoxWrapper.vue | 11 +- docs/.vuepress/theme/index.js | 3 +- 4 files changed, 132 insertions(+), 336 deletions(-) diff --git a/docs/.vuepress/components/StrictSearchBox.vue b/docs/.vuepress/components/StrictSearchBox.vue index 2d592ef8b..38148bd3c 100644 --- a/docs/.vuepress/components/StrictSearchBox.vue +++ b/docs/.vuepress/components/StrictSearchBox.vue @@ -1,47 +1,8 @@ - - diff --git a/docs/.vuepress/theme/index.js b/docs/.vuepress/theme/index.js index fc8fe936b..4000e6b45 100644 --- a/docs/.vuepress/theme/index.js +++ b/docs/.vuepress/theme/index.js @@ -14,8 +14,7 @@ module.exports = (options, ctx) => ({ return { '@AlgoliaSearchBox': isAlgoliaSearch ? path.resolve(__dirname, 'components/AlgoliaSearchBox.vue') - : path.resolve(__dirname, 'noopModule.js'), - '@SearchBox': path.resolve(__dirname, '../components/StrictSearchBox.vue') + : path.resolve(__dirname, 'noopModule.js') } }, plugins: [ From 233b2efb0cb6baee38e174271526512892848883 Mon Sep 17 00:00:00 2001 From: Mohan Date: Wed, 15 Apr 2026 15:35:34 +0530 Subject: [PATCH 3/4] ui fix --- ...SearchBox.vue => search-fuzzy-matchin.vue} | 2 +- docs/.vuepress/config.js | 4 ++-- package-lock.json | 20 +++++++++---------- package.json | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) rename docs/.vuepress/components/{StrictSearchBox.vue => search-fuzzy-matchin.vue} (99%) diff --git a/docs/.vuepress/components/StrictSearchBox.vue b/docs/.vuepress/components/search-fuzzy-matchin.vue similarity index 99% rename from docs/.vuepress/components/StrictSearchBox.vue rename to docs/.vuepress/components/search-fuzzy-matchin.vue index 38148bd3c..e7b34a663 100644 --- a/docs/.vuepress/components/StrictSearchBox.vue +++ b/docs/.vuepress/components/search-fuzzy-matchin.vue @@ -10,7 +10,7 @@ const TYPO_FALLBACK_MIN_SIMILARITY = 0.35 const TOKEN_CORRECTION_MIN_SIMILARITY = 0.64 export default { - name: 'StrictSearchBox', + name: 'search-fuzzy-matchin', extends: VuepressSearchBox, computed: { diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 229300876..aac7103f5 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -41,8 +41,8 @@ module.exports = { configureWebpack: { resolve: { alias: { - '@SearchBox': path.resolve(__dirname, './components/StrictSearchBox.vue'), - 'vuepress-plugin-versioning/components/SearchBox': path.resolve(__dirname, './components/StrictSearchBox.vue') + '@SearchBox': path.resolve(__dirname, './components/search-fuzzy-matchin.vue'), + 'vuepress-plugin-versioning/components/SearchBox': path.resolve(__dirname, './components/search-fuzzy-matchin.vue') } } }, diff --git a/package-lock.json b/package-lock.json index af957396f..d2bcbf2fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,10 +13,10 @@ "@vuepress/plugin-medium-zoom": "^1.9.10", "cross-env": "^10.1.0", "flexsearch": "^0.8.212", - "got": "^15.0.1", + "got": "^15.0.2", "husky": "^9.1.7", "markdownlint-cli": "^0.48.0", - "npm-check-updates": "^20.0.0", + "npm-check-updates": "^21.0.0", "plantuml-encoder": "^1.4.0", "svgo": "^4.0.1", "vuepress": "^1.9.10", @@ -9792,9 +9792,9 @@ } }, "node_modules/got": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/got/-/got-15.0.1.tgz", - "integrity": "sha512-InYCBboAj9YmFiMcxbIRQ/WPoLsKSc9t9EGaUjGENtxunnx8USWtRY/SO/V3VsHLfDvUxAO2Qmx+6fQyG1jjaw==", + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/got/-/got-15.0.2.tgz", + "integrity": "sha512-opPIdoQSTOGqX3h0d8QQoqCX0oF728V1PFxbPqquAFSeWPUOlPQ3Gi6IKIqGm6NMcDl+DWUwQb2RR+xvuEJOQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13236,9 +13236,9 @@ } }, "node_modules/npm-check-updates": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-20.0.0.tgz", - "integrity": "sha512-qCs02x51irGf0okCttwv8lHEO2NxT903IJ2bKpG82kIzkm6pfT3CoWB5YIvqY/wi/DdnYRfI7eVfCYYymQgvCg==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-21.0.0.tgz", + "integrity": "sha512-iGFLoW1QWsEDLR6Cnklyk+iHTf20hS84o79idR6AKhjSwk0whMdCd5FS0bTgEe6gMrRnJ0fGr2P6BEZ2zOelYg==", "dev": true, "license": "Apache-2.0", "bin": { @@ -13246,8 +13246,8 @@ "npm-check-updates": "build/cli.js" }, "engines": { - "node": ">=20.0.0", - "npm": ">=8.12.1" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": ">=10.0.0" } }, "node_modules/npm-run-path": { diff --git a/package.json b/package.json index 8c014bcbf..f4f5d300c 100644 --- a/package.json +++ b/package.json @@ -26,10 +26,10 @@ "@vuepress/plugin-medium-zoom": "^1.9.10", "cross-env": "^10.1.0", "flexsearch": "^0.8.212", - "got": "^15.0.1", + "got": "^15.0.2", "husky": "^9.1.7", "markdownlint-cli": "^0.48.0", - "npm-check-updates": "^20.0.0", + "npm-check-updates": "^21.0.0", "plantuml-encoder": "^1.4.0", "svgo": "^4.0.1", "vuepress": "^1.9.10", From 8f1fd5ec5ddc3e23fbbc98b20eb04281913885cd Mon Sep 17 00:00:00 2001 From: Mohan Date: Wed, 15 Apr 2026 15:43:22 +0530 Subject: [PATCH 4/4] ui fix --- docs/.vuepress/config.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index aac7103f5..871aeadbe 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -3,6 +3,7 @@ const { description } = require('../../package') // Determine if we're in PR preview mode const isPrPreview = process.env.VUEPRESS_IS_PR === 'true' +const isWindows = process.platform === 'win32' // Set base URL for PR previews const base = isPrPreview ? `/pr/${process.env.VUEPRESS_PR_NUMBER}/` : '/' @@ -1183,7 +1184,7 @@ module.exports = { plugins: [ '@vuepress/plugin-back-to-top', '@vuepress/plugin-medium-zoom', - 'versioning' - ] + !isWindows && 'versioning' + ].filter(Boolean) };