4343writeln ('------ ' );
4444writeln ("Author : \e[0;36m {$ authorName } ( {$ authorUsername }, {$ authorEmail }) \e[0m " );
4545writeln ("Vendor : \e[0;36m {$ vendorName } ( {$ vendorSlug }) \e[0m " );
46- writeln ('Package : ' . "\e[0;36m " . $ packageSlug. ($ description ? ' <{$description}> ' : '' ). "\e[0m " );
46+ writeln ('Package : ' . "\e[0;36m " . $ packageSlug . ($ description ? ' <{$description}> ' : '' ) . "\e[0m " );
4747writeln ("Namespace : \e[0;36m {$ vendorNamespace }\\{$ className }\e[0m " );
4848writeln ("Class name : \e[0;36m {$ className }\e[0m " );
4949writeln ('--- ' );
5050writeln ("\e[1;37mPackages & Utilities \e[0m " );
51- writeln ('Larastan/PhpStan : ' . ($ usePhpStan ? "\e[0;32mYes " : "\e[0;31mNo " ). "\e[0m " );
52- writeln ('Pint : ' . ($ usePint ? "\e[0;32mYes " : "\e[0;31mNo " ). "\e[0m " );
53- writeln ('Use Dependabot : ' . ($ useDependabot ? "\e[0;32mYes " : "\e[0;31mNo " ). "\e[0m " );
54- writeln ('Use Ray : ' . ($ useLaravelRay ? "\e[0;32mYes " : "\e[0;31mNo " ). "\e[0m " );
55- writeln ('Auto-Changelog : ' . ($ useUpdateChangelogWorkflow ? "\e[0;32mYes " : "\e[0;31mNo " ). "\e[0m " );
51+ writeln ('Larastan/PhpStan : ' . ($ usePhpStan ? "\e[0;32mYes " : "\e[0;31mNo " ) . "\e[0m " );
52+ writeln ('Pint : ' . ($ usePint ? "\e[0;32mYes " : "\e[0;31mNo " ) . "\e[0m " );
53+ writeln ('Use Dependabot : ' . ($ useDependabot ? "\e[0;32mYes " : "\e[0;31mNo " ) . "\e[0m " );
54+ writeln ('Use Ray : ' . ($ useLaravelRay ? "\e[0;32mYes " : "\e[0;31mNo " ) . "\e[0m " );
55+ writeln ('Auto-Changelog : ' . ($ useUpdateChangelogWorkflow ? "\e[0;32mYes " : "\e[0;31mNo " ) . "\e[0m " );
5656if ($ formsOnly ) {
5757 writeln ("Filament/Forms : \e[0;32mYes \e[0m " );
5858} elseif ($ tablesOnly ) {
7070}
7171
7272if ($ formsOnly ) {
73- safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
74- safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
73+ safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
74+ safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
7575
7676 remove_composer_filament_deps ([
7777 'filament/filament ' ,
7878 'filament/tables ' ,
7979 ]);
8080} elseif ($ tablesOnly ) {
81- safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
82- safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
81+ safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
82+ safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
8383
8484 remove_composer_filament_deps ([
8585 'filament/filament ' ,
8686 'filament/forms ' ,
8787 ]);
8888} else {
8989 if ($ isTheme ) {
90- safeUnlink (__DIR__ . '/src/SkeletonServiceProvider.php ' );
91- safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
92- safeUnlink (__DIR__ . '/src/Skeleton.php ' );
93- removeDirectory (__DIR__ . '/config ' );
94- removeDirectory (__DIR__ . '/database ' );
95- removeDirectory (__DIR__ . '/stubs ' );
96- removeDirectory (__DIR__ . '/resources/js ' );
97- removeDirectory (__DIR__ . '/resources/lang ' );
98- removeDirectory (__DIR__ . '/resources/views ' );
99- removeDirectory (__DIR__ . '/src/Commands ' );
100- removeDirectory (__DIR__ . '/src/Facades ' );
101- removeDirectory (__DIR__ . '/src/Testing ' );
90+ safeUnlink (__DIR__ . '/src/SkeletonServiceProvider.php ' );
91+ safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
92+ safeUnlink (__DIR__ . '/src/Skeleton.php ' );
93+ removeDirectory (__DIR__ . '/config ' );
94+ removeDirectory (__DIR__ . '/database ' );
95+ removeDirectory (__DIR__ . '/stubs ' );
96+ removeDirectory (__DIR__ . '/resources/js ' );
97+ removeDirectory (__DIR__ . '/resources/lang ' );
98+ removeDirectory (__DIR__ . '/resources/views ' );
99+ removeDirectory (__DIR__ . '/src/Commands ' );
100+ removeDirectory (__DIR__ . '/src/Facades ' );
101+ removeDirectory (__DIR__ . '/src/Testing ' );
102102 } else {
103- safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
103+ safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
104104 }
105105
106106 remove_composer_filament_deps ([
128128 ]);
129129
130130 match (true ) {
131- str_contains ($ file , determineSeparator ('src/Skeleton.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className. '.php ' )),
132- str_contains ($ file , determineSeparator ('src/SkeletonServiceProvider.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className. 'ServiceProvider.php ' )),
133- str_contains ($ file , determineSeparator ('src/SkeletonTheme.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className. 'Theme.php ' )),
134- str_contains ($ file , determineSeparator ('src/SkeletonPlugin.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className. 'Plugin.php ' )),
135- str_contains ($ file , determineSeparator ('src/Facades/Skeleton.php ' )) => rename ($ file , determineSeparator ('./src/Facades/ ' . $ className. '.php ' )),
136- str_contains ($ file , determineSeparator ('src/Commands/SkeletonCommand.php ' )) => rename ($ file , determineSeparator ('./src/Commands/ ' . $ className. 'Command.php ' )),
137- str_contains ($ file , determineSeparator ('src/Testing/TestsSkeleton.php ' )) => rename ($ file , determineSeparator ('./src/Testing/Tests ' . $ className. '.php ' )),
138- str_contains ($ file , determineSeparator ('database/migrations/create_skeleton_table.php.stub ' )) => rename ($ file , determineSeparator ('./database/migrations/create_ ' . $ packageSlugWithoutPrefix. '_table.php.stub ' )),
139- str_contains ($ file , determineSeparator ('config/skeleton.php ' )) => rename ($ file , determineSeparator ('./config/ ' . $ packageSlugWithoutPrefix. '.php ' )),
131+ str_contains ($ file , determineSeparator ('src/Skeleton.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className . '.php ' )),
132+ str_contains ($ file , determineSeparator ('src/SkeletonServiceProvider.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className . 'ServiceProvider.php ' )),
133+ str_contains ($ file , determineSeparator ('src/SkeletonTheme.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className . 'Theme.php ' )),
134+ str_contains ($ file , determineSeparator ('src/SkeletonPlugin.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className . 'Plugin.php ' )),
135+ str_contains ($ file , determineSeparator ('src/Facades/Skeleton.php ' )) => rename ($ file , determineSeparator ('./src/Facades/ ' . $ className . '.php ' )),
136+ str_contains ($ file , determineSeparator ('src/Commands/SkeletonCommand.php ' )) => rename ($ file , determineSeparator ('./src/Commands/ ' . $ className . 'Command.php ' )),
137+ str_contains ($ file , determineSeparator ('src/Testing/TestsSkeleton.php ' )) => rename ($ file , determineSeparator ('./src/Testing/Tests ' . $ className . '.php ' )),
138+ str_contains ($ file , determineSeparator ('database/migrations/create_skeleton_table.php.stub ' )) => rename ($ file , determineSeparator ('./database/migrations/create_ ' . $ packageSlugWithoutPrefix . '_table.php.stub ' )),
139+ str_contains ($ file , determineSeparator ('config/skeleton.php ' )) => rename ($ file , determineSeparator ('./config/ ' . $ packageSlugWithoutPrefix . '.php ' )),
140140 str_contains ($ file , 'README.md ' ) => remove_tag ($ file , 'delete ' ),
141141 default => [],
142142 };
143143}
144144
145145if (! $ useDependabot ) {
146- safeUnlink (__DIR__ . '/.github/dependabot.yml ' );
147- safeUnlink (__DIR__ . '/.github/workflows/dependabot-auto-merge.yml ' );
146+ safeUnlink (__DIR__ . '/.github/dependabot.yml ' );
147+ safeUnlink (__DIR__ . '/.github/workflows/dependabot-auto-merge.yml ' );
148148}
149149
150150if (! $ useLaravelRay ) {
151151 remove_composer_deps (['spatie/laravel-ray ' ]);
152152}
153153
154154if (! $ usePhpStan ) {
155- safeUnlink (__DIR__ . '/phpstan.neon.dist ' );
156- safeUnlink (__DIR__ . '/phpstan-baseline.neon ' );
157- safeUnlink (__DIR__ . '/.github/workflows/phpstan.yml ' );
155+ safeUnlink (__DIR__ . '/phpstan.neon.dist ' );
156+ safeUnlink (__DIR__ . '/phpstan-baseline.neon ' );
157+ safeUnlink (__DIR__ . '/.github/workflows/phpstan.yml ' );
158158
159159 remove_composer_deps ([
160160 'phpstan/extension-installer ' ,
170170}
171171
172172if (! $ usePint ) {
173- safeUnlink (__DIR__ . '/.github/workflows/fix-php-code-style-issues.yml ' );
174- safeUnlink (__DIR__ . '/pint.json ' );
173+ safeUnlink (__DIR__ . '/.github/workflows/fix-php-code-style-issues.yml ' );
174+ safeUnlink (__DIR__ . '/pint.json ' );
175175
176176 remove_composer_deps ([
177177 'laravel/pint ' ,
181181}
182182
183183if (! $ useUpdateChangelogWorkflow ) {
184- safeUnlink (__DIR__ . '/.github/workflows/update-changelog.yml ' );
184+ safeUnlink (__DIR__ . '/.github/workflows/update-changelog.yml ' );
185185}
186186
187187confirm ('Execute `composer install` and run tests? ' ) && run ('composer install && composer test ' );
193193function ask (string $ question , string $ default = '' ): string
194194{
195195 $ def = $ default ? "\e[0;33m ( {$ default }) " : '' ;
196- $ answer = readline ("\e[0;32m " . $ question. $ def. ": \e[0m " );
196+ $ answer = readline ("\e[0;32m " . $ question . $ def . ": \e[0m " );
197197
198198 if (! $ answer ) {
199199 return $ default ;
@@ -215,7 +215,7 @@ function confirm(string $question, bool $default = false): bool
215215
216216function writeln (string $ line ): void
217217{
218- echo $ line. PHP_EOL ;
218+ echo $ line . PHP_EOL ;
219219}
220220
221221function run (string $ command ): string
@@ -258,33 +258,33 @@ function remove_prefix(string $prefix, string $content): string
258258
259259function remove_composer_deps (array $ names ): void
260260{
261- $ data = json_decode (file_get_contents (__DIR__ . '/composer.json ' ), true );
261+ $ data = json_decode (file_get_contents (__DIR__ . '/composer.json ' ), true );
262262
263263 foreach ($ data ['require-dev ' ] as $ name => $ version ) {
264264 if (in_array ($ name , $ names , true )) {
265265 unset($ data ['require-dev ' ][$ name ]);
266266 }
267267 }
268268
269- file_put_contents (__DIR__ . '/composer.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ));
269+ file_put_contents (__DIR__ . '/composer.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ));
270270}
271271
272272function remove_composer_filament_deps (array $ names ): void
273273{
274- $ data = json_decode (file_get_contents (__DIR__ . '/composer.json ' ), true );
274+ $ data = json_decode (file_get_contents (__DIR__ . '/composer.json ' ), true );
275275
276276 foreach ($ data ['require ' ] as $ name => $ version ) {
277277 if (in_array ($ name , $ names , true )) {
278278 unset($ data ['require ' ][$ name ]);
279279 }
280280 }
281281
282- file_put_contents (__DIR__ . '/composer.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ));
282+ file_put_contents (__DIR__ . '/composer.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ));
283283}
284284
285285function remove_composer_script (array $ scriptNames ): void
286286{
287- $ data = json_decode (file_get_contents (__DIR__ . '/composer.json ' ), true );
287+ $ data = json_decode (file_get_contents (__DIR__ . '/composer.json ' ), true );
288288
289289 foreach ($ data ['scripts ' ] as $ name => $ script ) {
290290 if (is_array ($ script )) {
@@ -302,12 +302,12 @@ function remove_composer_script(array $scriptNames): void
302302 }
303303 }
304304
305- file_put_contents (__DIR__ . '/composer.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ));
305+ file_put_contents (__DIR__ . '/composer.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ));
306306}
307307
308308function remove_package_script (array $ scriptNames ): void
309309{
310- $ data = json_decode (file_get_contents (__DIR__ . '/package.json ' ), true );
310+ $ data = json_decode (file_get_contents (__DIR__ . '/package.json ' ), true );
311311
312312 foreach ($ data ['scripts ' ] as $ name => $ script ) {
313313 if (is_array ($ script )) {
@@ -341,7 +341,7 @@ function remove_package_script(array $scriptNames): void
341341 }
342342 }
343343
344- file_put_contents (__DIR__ . '/package.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES |
344+ file_put_contents (__DIR__ . '/package.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES |
345345 JSON_UNESCAPED_UNICODE ));
346346}
347347
@@ -351,7 +351,7 @@ function remove_tag(string $file, string $tag): void
351351
352352 file_put_contents (
353353 $ file ,
354- preg_replace ('/<!-- ' . $ tag. '-->.*<!--\/ ' . $ tag. '-->/s ' , '' , $ contents ) ?: $ contents
354+ preg_replace ('/<!-- ' . $ tag . '-->.*<!--\/ ' . $ tag . '-->/s ' , '' , $ contents ) ?: $ contents
355355 );
356356}
357357
@@ -369,12 +369,12 @@ function determineSeparator(string $path): string
369369
370370function replaceForWindows (): array
371371{
372- return preg_split (
'/ \\r \\n| \\r| \\n/ ' ,
run (
'dir /S /B * | findstr /v /i .git\ | findstr /v /i vendor | findstr /v /i ' . basename (
__FILE__ )
. ' | findstr /r /i /M /F:/ ":author :vendor :package VendorName skeleton vendor_name vendor_slug [email protected] " ' ));
372+ return preg_split (
'/ \\r \\n| \\r| \\n/ ' ,
run (
'dir /S /B * | findstr /v /i .git\ | findstr /v /i vendor | findstr /v /i ' . basename (
__FILE__ )
. ' | findstr /r /i /M /F:/ ":author :vendor :package VendorName skeleton vendor_name vendor_slug [email protected] " ' ));
373373}
374374
375375function replaceForAllOtherOSes (): array
376376{
377- return explode (
PHP_EOL ,
run (
'grep -E -r -l -i ":author|:vendor|:package|VendorName|skeleton|vendor_name|vendor_slug|[email protected] " --exclude-dir=vendor ./* ./.github/* | grep -v ' . basename (
__FILE__ )));
377+ return explode (
PHP_EOL ,
run (
'grep -E -r -l -i ":author|:vendor|:package|VendorName|skeleton|vendor_name|vendor_slug|[email protected] " --exclude-dir=vendor ./* ./.github/* | grep -v ' . basename (
__FILE__ )));
378378}
379379
380380function removeDirectory ($ dir ): void
@@ -383,10 +383,10 @@ function removeDirectory($dir): void
383383 $ objects = scandir ($ dir );
384384 foreach ($ objects as $ object ) {
385385 if ($ object != '. ' && $ object != '.. ' ) {
386- if (filetype ($ dir. '/ ' . $ object ) == 'dir ' ) {
387- removeDirectory ($ dir. '/ ' . $ object );
386+ if (filetype ($ dir . '/ ' . $ object ) == 'dir ' ) {
387+ removeDirectory ($ dir . '/ ' . $ object );
388388 } else {
389- unlink ($ dir. '/ ' . $ object );
389+ unlink ($ dir . '/ ' . $ object );
390390 }
391391 }
392392 }
0 commit comments