Skip to content

Commit f2ec4bd

Browse files
committedSep 8, 2023
fix: avoid overriding meta
1 parent 894c039 commit f2ec4bd

File tree

1 file changed

+13
-25
lines changed

1 file changed

+13
-25
lines changed
 

‎vite-plugin-ssr/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.ts

+13-25
Original file line numberDiff line numberDiff line change
@@ -851,36 +851,24 @@ function getVitePathFromAbsolutePath(filePathAbsolute: string, root: string): st
851851

852852
function getConfigDefinitions(interfaceFilesRelevant: InterfaceFilesByLocationId): ConfigDefinitionsIncludingCustom {
853853
const configDefinitions: ConfigDefinitionsIncludingCustom = { ...configDefinitionsBuiltIn }
854-
Object.values(interfaceFilesRelevant).forEach((interfaceFiles) => {
855-
const configEntry = getConfigEntry('meta', interfaceFiles)
856-
if (!configEntry.configIsDefined) return
857-
assert('configValue' in configEntry)
858-
const metaVal = configEntry.configValue
859-
const { interfaceFile } = configEntry
860-
assertMetaValue(metaVal, getFilePathToShowToUser(interfaceFile.filePath))
861-
objectEntries(metaVal).forEach(([configName, configDefinition]) => {
862-
// User can override an existing config definition
863-
configDefinitions[configName] = {
864-
...configDefinitions[configName],
865-
...configDefinition
866-
}
854+
Object.entries(interfaceFilesRelevant).forEach(([_locationId, interfaceFiles]) => {
855+
interfaceFiles.forEach((interfaceFile) => {
856+
const configMeta = interfaceFile.configMap['meta']
857+
if (!configMeta) return
858+
const meta = configMeta.configValue
859+
assertMetaValue(meta, getFilePathToShowToUser(interfaceFile.filePath))
860+
objectEntries(meta).forEach(([configName, configDefinition]) => {
861+
// User can override an existing config definition
862+
configDefinitions[configName] = {
863+
...configDefinitions[configName],
864+
...configDefinition
865+
}
866+
})
867867
})
868868
})
869869
return configDefinitions
870870
}
871871

872-
function getConfigEntry(
873-
configName: string,
874-
interfaceFiles: InterfaceFile[]
875-
): { configIsDefined: true; configValue?: unknown; interfaceFile: InterfaceFile } | { configIsDefined: false } {
876-
const interfaceFilesForConfig = interfaceFiles.filter((interfaceFile) => configName in interfaceFile.configMap)
877-
if (interfaceFilesForConfig.length === 0) return { configIsDefined: false }
878-
const interfaceFile = interfaceFilesForConfig[0]!
879-
const val = interfaceFile.configMap[configName]
880-
assert(val)
881-
return { configIsDefined: true, interfaceFile, ...val }
882-
}
883-
884872
function assertMetaValue(
885873
metaVal: unknown,
886874
definedByFile: string

0 commit comments

Comments
 (0)
Please sign in to comment.