$path = \
sprintf('theme-config/%s.json',
$themeId);
if (!
$this->filesystem->
fileExists($path)) { throw new \
RuntimeException('Cannot find theme configuration. Did you run bin/console theme:dump'
);
} $fileContent =
$this->filesystem->
read($path);
\
assert(\
is_string($fileContent));
$fileObject =
json_decode($fileContent, true, 512, \JSON_THROW_ON_ERROR
);
$fileObject =
$this->
prepareCollections($fileObject);
$config =
new StorefrontPluginConfiguration(''
);
$config->
assign($fileObject);
return $config;
} private function prepareCollections(array
$fileObject): array
{ $fileObject['styleFiles'
] =
array_map(fn (array
$file) => (new File(''
))->
assign($file),
$fileObject['styleFiles'
]);