|
1 | 1 | import _ from 'es-toolkit/compat'
|
2 | 2 | import { defineStore } from 'pinia'
|
| 3 | +import { compare, valid } from 'semver' |
3 | 4 | import { ref } from 'vue'
|
4 | 5 |
|
5 | 6 | import type { SettingParams } from '@/platform/settings/types'
|
6 | 7 | import type { Settings } from '@/schemas/apiSchema'
|
7 | 8 | import { api } from '@/scripts/api'
|
8 | 9 | import { app } from '@/scripts/app'
|
9 | 10 | import type { TreeNode } from '@/types/treeExplorerTypes'
|
10 |
| -import { compareVersions, isSemVer } from '@/utils/formatUtil' |
11 | 11 |
|
12 | 12 | export const getSettingInfo = (setting: SettingParams) => {
|
13 | 13 | const parts = setting.category || setting.id.split('.')
|
@@ -132,20 +132,25 @@ export const useSettingStore = defineStore('setting', () => {
|
132 | 132 |
|
133 | 133 | if (installedVersion) {
|
134 | 134 | const sortedVersions = Object.keys(defaultsByInstallVersion).sort(
|
135 |
| - (a, b) => compareVersions(b, a) |
| 135 | + (a, b) => compare(b, a) |
136 | 136 | )
|
137 | 137 |
|
138 | 138 | for (const version of sortedVersions) {
|
139 | 139 | // Ensure the version is in a valid format before comparing
|
140 |
| - if (!isSemVer(version)) { |
| 140 | + if (!valid(version)) { |
141 | 141 | continue
|
142 | 142 | }
|
143 | 143 |
|
144 |
| - if (compareVersions(installedVersion, version) >= 0) { |
145 |
| - const versionedDefault = defaultsByInstallVersion[version] |
146 |
| - return typeof versionedDefault === 'function' |
147 |
| - ? versionedDefault() |
148 |
| - : versionedDefault |
| 144 | + if (compare(installedVersion, version) >= 0) { |
| 145 | + const versionedDefault = |
| 146 | + defaultsByInstallVersion[ |
| 147 | + version as keyof typeof defaultsByInstallVersion |
| 148 | + ] |
| 149 | + if (versionedDefault !== undefined) { |
| 150 | + return typeof versionedDefault === 'function' |
| 151 | + ? versionedDefault() |
| 152 | + : versionedDefault |
| 153 | + } |
149 | 154 | }
|
150 | 155 | }
|
151 | 156 | }
|
|
0 commit comments