mirror of https://github.com/vector-im/riot-web
				
				
				
			Fix compound external assets path in bundle (#26069)
							parent
							
								
									3fd6b62254
								
							
						
					
					
						commit
						19b2eded16
					
				|  | @ -733,6 +733,7 @@ function getAssetOutputPath(url, resourcePath) { | |||
|     // `res` is the parent dir for our own assets in various layers
 | ||||
|     // `dist` is the parent dir for KaTeX assets
 | ||||
|     const prefix = /^.*[/\\](dist|res)[/\\]/; | ||||
| 
 | ||||
|     /** | ||||
|      * Only needed for https://github.com/vector-im/element-web/pull/15939
 | ||||
|      * If keeping this, we are not able to load external assets such as SVG | ||||
|  | @ -742,6 +743,21 @@ function getAssetOutputPath(url, resourcePath) { | |||
|         throw new Error(`Unexpected asset path: ${resourcePath}`); | ||||
|     } | ||||
|     let outputDir = path.dirname(resourcePath).replace(prefix, ""); | ||||
| 
 | ||||
|     /** | ||||
|      * Imports from Compound are "absolute", we need to strip out the prefix | ||||
|      * coming before the npm package name. | ||||
|      * | ||||
|      * This logic is scoped to compound packages for now as they are the only | ||||
|      * package that imports external assets. This might need to be made more | ||||
|      * generic in the future | ||||
|      */ | ||||
|     const compoundImportsPrefix = /@vector-im(?:\\|\/)compound-(.*?)(?:\\|\/)/; | ||||
|     const compoundMatch = outputDir.match(compoundImportsPrefix); | ||||
|     if (compoundMatch) { | ||||
|         outputDir = outputDir.substring(compoundMatch.index + compoundMatch[0].length); | ||||
|     } | ||||
| 
 | ||||
|     if (isKaTeX) { | ||||
|         // Add a clearly named directory segment, rather than leaving the KaTeX
 | ||||
|         // assets loose in each asset type directory.
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Germain
						Germain