diff --git a/src/Commands/PinCommand.php b/src/Commands/PinCommand.php index b23c026..2c9fde0 100644 --- a/src/Commands/PinCommand.php +++ b/src/Commands/PinCommand.php @@ -84,7 +84,7 @@ private function importPackages(Packager $packager, Collection $imports): void private function pattern(string $package): string { return sprintf( - '#^Importmap::pin\("%s".*$#', + '#Importmap::pin\([\'\"]%s[\'\"].*$#', preg_quote($package), ); } diff --git a/src/Npm.php b/src/Npm.php index bea82cc..3de19f1 100644 --- a/src/Npm.php +++ b/src/Npm.php @@ -95,7 +95,7 @@ private function findPackagesFromCdnMatches(string $content) private function findPackagesFromLocalMatches(string $content) { - preg_match_all('/^Importmap::pin\(["\']([^"\']*)["\'].*\)\; \/\/.*@(\d+\.\d+\.\d+(?:[^\s]*)).*\r?$/m', $content, $matches); + preg_match_all('/^Importmap::pin\(.+\)\;\s*\/\/\s*(.+?)@(.+?)\s+.*\r?$/m', $content, $matches); if (count($matches) !== 3) { return collect(); diff --git a/src/Packager.php b/src/Packager.php index 08c040f..ea4f1e3 100644 --- a/src/Packager.php +++ b/src/Packager.php @@ -55,10 +55,12 @@ public function vendoredPinFor(string $package, string $url): string $version = $this->extractPackageVersionFrom($url); return sprintf( - 'Importmap::pin("%s", to: "%s"); // %s', + 'Importmap::pin("%s", to: "%s"); // %s%s downloaded from %s', $package, Str::after($this->vendoredPackageName($package), 'resources'), + $package, $version, + $url, ); }