From 2447668cd1b1bdeea9ef85e1fa583b46f9491bfe Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 10 Apr 2021 09:56:49 +0300 Subject: [PATCH 1/6] Add version menu in documentation --- docs/.vuepress/config.js | 40 ++++++++++++++++++++++++++++++++++++++++ package-lock.json | 21 +++++++++++++++++++++ package.json | 1 + 3 files changed, 62 insertions(+) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 5b4982b1adf..652401049a3 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -41,6 +41,46 @@ module.exports = { }, }, ], + ['@simonbrunel/vuepress-plugin-versions', { + menu: { + items: [ + { + text: 'Documentation', + items: [ + { + text: 'Development (master)', + link: '/docs/master/', + }, + { + type: 'versions', + exclude: '^[0-2]\\.', + group: 'minor', + text: '{{version}} (latest)', + link: '/docs/{{version}}/' + }, + { + type: 'versions', + exclude: '^[013]\\.|2\\.[0-5]\\.', + group: 'minor', + link: '/docs/{{version}}/' + } + ] + }, + { + text: 'Release notes', + items: [ + { + type: 'versions', + exclude: '^[01]\\.|2\\.[0-8]\\.', + target: '_blank', + group: 'patch', + link: 'https://github.com/chartjs/Chart.js/releases/tag/v{{version}}' + } + ] + } + ] + }, + }], ], chainWebpack(config) { config.merge({ diff --git a/package-lock.json b/package-lock.json index e616c4ce617..2fc84908812 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2944,6 +2944,15 @@ } } }, + "@simonbrunel/vuepress-plugin-versions": { + "version": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git#8b21d83b68d52b5c994f2905d9bdad126912e027", + "from": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git", + "dev": true, + "requires": { + "node-fetch": "^2.6.1", + "semiver": "^1.1.0" + } + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -10869,6 +10878,12 @@ "lower-case": "^1.1.1" } }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true + }, "node-forge": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", @@ -13215,6 +13230,12 @@ "node-forge": "^0.10.0" } }, + "semiver": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz", + "integrity": "sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==", + "dev": true + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", diff --git a/package.json b/package.json index 1b7d97b2c2b..17bef64c629 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "@rollup/plugin-inject": "^4.0.2", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^11.2.1", + "@simonbrunel/vuepress-plugin-versions": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git", "@typescript-eslint/eslint-plugin": "^4.21.0", "@typescript-eslint/parser": "^4.21.0", "@vuepress/plugin-google-analytics": "1.8.2", From 843690c220c744c925ff05fc435f1e2bbd78ddb9 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 10 Apr 2021 11:39:16 +0300 Subject: [PATCH 2/6] Use filters for tags --- docs/.vuepress/config.js | 13 ++++--------- docs/.vuepress/version-filters.js | 5 +++++ 2 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 docs/.vuepress/version-filters.js diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 652401049a3..8640dc1a618 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -42,6 +42,7 @@ module.exports = { }, ], ['@simonbrunel/vuepress-plugin-versions', { + filters: 'version-filters.js', menu: { items: [ { @@ -53,16 +54,10 @@ module.exports = { }, { type: 'versions', - exclude: '^[0-2]\\.', + text: '{{version}}{{tag|suffix}}', + link: '/docs/{{version}}/', + exclude: '^[01]\\.|2\\.[0-5]\\.', group: 'minor', - text: '{{version}} (latest)', - link: '/docs/{{version}}/' - }, - { - type: 'versions', - exclude: '^[013]\\.|2\\.[0-5]\\.', - group: 'minor', - link: '/docs/{{version}}/' } ] }, diff --git a/docs/.vuepress/version-filters.js b/docs/.vuepress/version-filters.js new file mode 100644 index 00000000000..69404ad8140 --- /dev/null +++ b/docs/.vuepress/version-filters.js @@ -0,0 +1,5 @@ +export default { + suffix(value) { + return value ? ` (${value})` : ''; + }, +}; From 4067673e646b97f09f9ca4517b4370d1b24d6cc5 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 10 Apr 2021 12:18:00 +0300 Subject: [PATCH 3/6] Use limit --- docs/.vuepress/config.js | 4 ++-- package-lock.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 8640dc1a618..f4bff932875 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -62,11 +62,11 @@ module.exports = { ] }, { - text: 'Release notes', + text: 'Release notes (5 latest)', items: [ { type: 'versions', - exclude: '^[01]\\.|2\\.[0-8]\\.', + limit: 5, target: '_blank', group: 'patch', link: 'https://github.com/chartjs/Chart.js/releases/tag/v{{version}}' diff --git a/package-lock.json b/package-lock.json index 2fc84908812..a69e1f77072 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2945,7 +2945,7 @@ } }, "@simonbrunel/vuepress-plugin-versions": { - "version": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git#8b21d83b68d52b5c994f2905d9bdad126912e027", + "version": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git#59856f3b35a07599a9724f384f95dc5912d0b658", "from": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git", "dev": true, "requires": { From 0d376e02ed1afa8ddaab06611cbf0fca6be1d87d Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 10 Apr 2021 20:47:57 +0300 Subject: [PATCH 4/6] Update --- docs/.vuepress/config.js | 6 ++++-- docs/.vuepress/version-filters.js | 5 ----- package-lock.json | 30 ++++++++++++++++++++++++++++-- 3 files changed, 32 insertions(+), 9 deletions(-) delete mode 100644 docs/.vuepress/version-filters.js diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index f4bff932875..034bca7d18e 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -42,7 +42,9 @@ module.exports = { }, ], ['@simonbrunel/vuepress-plugin-versions', { - filters: 'version-filters.js', + filters: { + suffix: (v) => v ? ` (${v})` : '' + }, menu: { items: [ { @@ -56,7 +58,7 @@ module.exports = { type: 'versions', text: '{{version}}{{tag|suffix}}', link: '/docs/{{version}}/', - exclude: '^[01]\\.|2\\.[0-5]\\.', + exclude: /^[01]\.|2\.[0-5]\./, group: 'minor', } ] diff --git a/docs/.vuepress/version-filters.js b/docs/.vuepress/version-filters.js deleted file mode 100644 index 69404ad8140..00000000000 --- a/docs/.vuepress/version-filters.js +++ /dev/null @@ -1,5 +0,0 @@ -export default { - suffix(value) { - return value ? ` (${value})` : ''; - }, -}; diff --git a/package-lock.json b/package-lock.json index a69e1f77072..7482777ed7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2945,12 +2945,13 @@ } }, "@simonbrunel/vuepress-plugin-versions": { - "version": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git#59856f3b35a07599a9724f384f95dc5912d0b658", + "version": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git#56b6d4f15a953070fd3fdd8aa5b61d9fd9d1f413", "from": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git", "dev": true, "requires": { "node-fetch": "^2.6.1", - "semiver": "^1.1.0" + "semiver": "^1.1.0", + "stringify-object": "^3.3.0" } }, "@sindresorhus/is": { @@ -14119,6 +14120,31 @@ "safe-buffer": "~5.1.0" } }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "dependencies": { + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + } + } + }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", From 78fc803cceb062f105c99cd55eb8835967bc1ba5 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 10 Apr 2021 22:50:35 +0300 Subject: [PATCH 5/6] Use released plugin --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 7482777ed7b..bc4549dc7f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2945,7 +2945,7 @@ } }, "@simonbrunel/vuepress-plugin-versions": { - "version": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git#56b6d4f15a953070fd3fdd8aa5b61d9fd9d1f413", + "version": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git#90687a90593f13859bed512298176695ce3bbb44", "from": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git", "dev": true, "requires": { From 14a7068684954256c9e47b5ff1b7c7510fd6a821 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sat, 10 Apr 2021 23:02:12 +0300 Subject: [PATCH 6/6] use published version --- package-lock.json | 5 +++-- package.json | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index bc4549dc7f2..bbbce44d58a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2945,8 +2945,9 @@ } }, "@simonbrunel/vuepress-plugin-versions": { - "version": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git#90687a90593f13859bed512298176695ce3bbb44", - "from": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@simonbrunel/vuepress-plugin-versions/-/vuepress-plugin-versions-0.1.0.tgz", + "integrity": "sha512-C1J3u9060+hNY/DTz4Ksos/ksDBt2wc83OoWJw3VmyFNiOPr6ot/pGLw92W9E4ylXzlSsvIvWdVM5s3N8yOASA==", "dev": true, "requires": { "node-fetch": "^2.6.1", diff --git a/package.json b/package.json index 17bef64c629..1b479d949a7 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@rollup/plugin-inject": "^4.0.2", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^11.2.1", - "@simonbrunel/vuepress-plugin-versions": "git+https://github.com/simonbrunel/vuepress-plugin-versions.git", + "@simonbrunel/vuepress-plugin-versions": "^0.1.0", "@typescript-eslint/eslint-plugin": "^4.21.0", "@typescript-eslint/parser": "^4.21.0", "@vuepress/plugin-google-analytics": "1.8.2",