mirror of
https://github.com/symfony/ux-toolkit.git
synced 2026-03-24 00:02:08 +01:00
[Site] Rework Toolkit recipe rendering system, improve our Markdown converter
This commit is contained in:
@@ -94,18 +94,19 @@ final class RecipeManifest
|
||||
throw new \InvalidArgumentException(\sprintf('The dependency #%d of type "npm" must be a non-empty string.', $i));
|
||||
}
|
||||
|
||||
// format: "package@version" or "@scope/package@version"
|
||||
if (str_contains($package, '@')) {
|
||||
if (substr_count($package, '@') > 1) {
|
||||
$pos = strrpos($package, '@');
|
||||
$name = substr($package, 0, $pos);
|
||||
$version = substr($package, $pos + 1);
|
||||
} else {
|
||||
[$name, $version] = explode('@', $package, 2);
|
||||
}
|
||||
// format: "package@version", "@scope/package", "@scope/package@version"
|
||||
$name = $package;
|
||||
$version = null;
|
||||
$versionPos = strrpos($package, '@');
|
||||
if (false !== $versionPos && 0 !== $versionPos) {
|
||||
$name = substr($package, 0, $versionPos);
|
||||
$version = substr($package, $versionPos + 1);
|
||||
}
|
||||
|
||||
if (null !== $version) {
|
||||
$dependencies[] = new NpmPackageDependency($name, new ConstraintVersion($version));
|
||||
} else {
|
||||
$dependencies[] = new NpmPackageDependency($package);
|
||||
$dependencies[] = new NpmPackageDependency($name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -218,6 +218,7 @@ final class RecipeManifestTest extends TestCase
|
||||
],
|
||||
"npm": [
|
||||
"tailwindcss@^4.0.0",
|
||||
"@tailwindplus/elements",
|
||||
"@tailwindplus/elements@1"
|
||||
],
|
||||
"importmap": [
|
||||
@@ -239,6 +240,7 @@ final class RecipeManifestTest extends TestCase
|
||||
new PhpPackageDependency('tales-from-a-dev/twig-tailwind-extra', new ConstraintVersion('^1.0.0')),
|
||||
new PhpPackageDependency('symfony/ux-twig-component', new ConstraintVersion('^2.29')),
|
||||
new NpmPackageDependency('tailwindcss', new ConstraintVersion('^4.0.0')),
|
||||
new NpmPackageDependency('@tailwindplus/elements'),
|
||||
new NpmPackageDependency('@tailwindplus/elements', new ConstraintVersion('1')),
|
||||
new ImportmapPackageDependency('@hotwired/stimulus'),
|
||||
], $manifest->dependencies);
|
||||
|
||||
Reference in New Issue
Block a user