From 68ed974fb2786ff22d0cad6e5e4c4def4466ec53 Mon Sep 17 00:00:00 2001 From: LiJianying Date: Sat, 20 May 2023 13:38:59 +0800 Subject: [PATCH] feat: locate msix assets path from script file directory if necessary --- lib/src/configuration.dart | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/src/configuration.dart b/lib/src/configuration.dart index 78750f6..d33145c 100644 --- a/lib/src/configuration.dart +++ b/lib/src/configuration.dart @@ -357,8 +357,19 @@ class Configuration { throw 'Failed to locate or read package config.'; } - Package msixPackage = - packagesConfig.packages.firstWhere((package) => package.name == "msix"); + Package? msixPackage = packagesConfig['msix']; + + // Locate package config from script file directory + if (msixPackage == null) { + final scriptFile = File.fromUri(Platform.script); + packagesConfig = await findPackageConfig(scriptFile.parent); + msixPackage = packagesConfig?['msix']; + } + + if (msixPackage == null) { + throw 'Failed to locate msix assets path.'; + } + String path = '${msixPackage.packageUriRoot.toString().replaceAll('file:///', '')}assets';