@@ -43,28 +43,21 @@ public function getValidatedConfig($packageConfig): ?array
4343 return null ;
4444 }
4545
46- if (!$ this ->validateConfigFiles ($ packageConfig )) {
46+ $ files = $ this ->validateConfigFiles ($ packageConfig );
47+ if (!$ files ) {
4748 return null ;
4849 }
4950
50- if (!$ this ->validateConfigVersion ($ packageConfig )) {
51+ $ version = $ this ->validateConfigVersion ($ packageConfig );
52+ if (!$ version ) {
5153 return null ;
5254 }
5355
54- $ source = '' ;
55- if (array_key_exists (self ::CONFIG_SOURCE , $ packageConfig ) && is_string ($ packageConfig [self ::CONFIG_SOURCE ])) {
56- $ source = $ packageConfig [self ::CONFIG_SOURCE ];
57- }
58-
59- $ target = '' ;
60- if (array_key_exists (self ::CONFIG_TARGET , $ packageConfig ) && is_string ($ packageConfig [self ::CONFIG_TARGET ])) {
61- $ target = $ packageConfig [self ::CONFIG_TARGET ];
62- }
56+ $ source = $ this ->validateConfigSource ($ packageConfig );
57+ $ target = $ this ->validateConfigTarget ($ packageConfig );
6358
64- /** @var string[] $files */
65- $ files = $ packageConfig [self ::CONFIG_FILES ];
6659 return [
67- 'version ' => $ packageConfig [ self :: CONFIG_VERSION ] ,
60+ 'version ' => $ version ,
6861 'source ' => $ source ,
6962 'target ' => $ target ,
7063 'files ' => $ files ,
@@ -73,18 +66,50 @@ public function getValidatedConfig($packageConfig): ?array
7366
7467 /**
7568 * @param array<mixed> $packageConfig
69+ * @return string[]|null
7670 */
77- private function validateConfigFiles (array $ packageConfig ): bool
71+ private function validateConfigFiles (array $ packageConfig ): ? array
7872 {
79- return array_key_exists (self ::CONFIG_FILES , $ packageConfig ) && is_array ($ packageConfig [self ::CONFIG_FILES ]);
73+ if (array_key_exists (self ::CONFIG_FILES , $ packageConfig ) && is_array ($ packageConfig [self ::CONFIG_FILES ])) {
74+ /** @var string[] $files */
75+ $ files = $ packageConfig [self ::CONFIG_FILES ];
76+ return $ files ;
77+ }
78+ return null ;
8079 }
8180
8281 /**
8382 * @param array<mixed> $packageConfig
8483 */
85- private function validateConfigVersion (array $ packageConfig ): bool
84+ private function validateConfigVersion (array $ packageConfig ): ? string
8685 {
87- return array_key_exists (self ::CONFIG_VERSION , $ packageConfig ) && is_string ($ packageConfig [self ::CONFIG_VERSION ]);
86+ if (array_key_exists (self ::CONFIG_VERSION , $ packageConfig ) && is_string ($ packageConfig [self ::CONFIG_VERSION ])) {
87+ return trim ($ packageConfig [self ::CONFIG_VERSION ]);
88+ }
89+ return null ;
90+ }
91+
92+ /**
93+ * @param array<mixed> $packageConfig
94+ */
95+ private function validateConfigSource (array $ packageConfig ): string
96+ {
97+ if (array_key_exists (self ::CONFIG_SOURCE , $ packageConfig ) && is_string ($ packageConfig [self ::CONFIG_SOURCE ])) {
98+ return trim ($ packageConfig [self ::CONFIG_SOURCE ]);
99+ }
100+ return '' ;
101+ }
102+
103+ /**
104+ * @param array<mixed> $packageConfig
105+ */
106+ private function validateConfigTarget (array $ packageConfig ): string
107+ {
108+ if (array_key_exists (self ::CONFIG_TARGET , $ packageConfig ) && is_string ($ packageConfig [self ::CONFIG_TARGET ])) {
109+ $ target = str_replace (['../ ' , './ ' ], '' , $ packageConfig [self ::CONFIG_TARGET ]);
110+ return trim ($ target );
111+ }
112+ return '' ;
88113 }
89114
90115 public function getUnpkgName (): string
0 commit comments