4545writeln ('------ ' );
4646writeln ("Author : \e[0;36m $ authorName ( $ authorUsername, $ authorEmail) \e[0m " );
4747writeln ("Vendor : \e[0;36m $ vendorName ( $ vendorSlug) \e[0m " );
48- writeln ('Package : ' . "\e[0;36m " . $ packageSlug. ($ description ? " < {$ description }> " : '' ). "\e[0m " );
48+ writeln ('Package : ' . "\e[0;36m " . $ packageSlug . ($ description ? " < {$ description }> " : '' ) . "\e[0m " );
4949writeln ("Namespace : \e[0;36m $ vendorNamespace \\$ className \e[0m " );
5050writeln ("Class name : \e[0;36m $ className \e[0m " );
5151writeln ('--- ' );
5252writeln ("\e[1;37mPackages & Utilities \e[0m " );
53- writeln ('Larastan/PhpStan : ' . ($ usePhpStan ? "\e[0;32mYes " : "\e[0;31mNo " ). "\e[0m " );
54- writeln ('Pint : ' . ($ usePint ? "\e[0;32mYes " : "\e[0;31mNo " ). "\e[0m " );
55- writeln ('Use Dependabot : ' . ($ useDependabot ? "\e[0;32mYes " : "\e[0;31mNo " ). "\e[0m " );
56- writeln ('Use Ray : ' . ($ useLaravelRay ? "\e[0;32mYes " : "\e[0;31mNo " ). "\e[0m " );
57- writeln ('Auto-Changelog : ' . ($ useUpdateChangelogWorkflow ? "\e[0;32mYes " : "\e[0;31mNo " ). "\e[0m " );
53+ writeln ('Larastan/PhpStan : ' . ($ usePhpStan ? "\e[0;32mYes " : "\e[0;31mNo " ) . "\e[0m " );
54+ writeln ('Pint : ' . ($ usePint ? "\e[0;32mYes " : "\e[0;31mNo " ) . "\e[0m " );
55+ writeln ('Use Dependabot : ' . ($ useDependabot ? "\e[0;32mYes " : "\e[0;31mNo " ) . "\e[0m " );
56+ writeln ('Use Ray : ' . ($ useLaravelRay ? "\e[0;32mYes " : "\e[0;31mNo " ) . "\e[0m " );
57+ writeln ('Auto-Changelog : ' . ($ useUpdateChangelogWorkflow ? "\e[0;32mYes " : "\e[0;31mNo " ) . "\e[0m " );
5858if ($ formsOnly ) {
5959 writeln ("Filament/Forms : \e[0;32mYes \e[0m " );
6060} elseif ($ tablesOnly ) {
7272}
7373
7474if ($ formsOnly ) {
75- safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
76- safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
75+ safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
76+ safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
7777
7878 removeComposerDeps ([
7979 'filament/filament ' ,
8080 'filament/tables ' ,
8181 ], 'require ' );
8282} elseif ($ tablesOnly ) {
83- safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
84- safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
83+ safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
84+ safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
8585
8686 removeComposerDeps ([
8787 'filament/filament ' ,
8888 'filament/forms ' ,
8989 ], 'require ' );
9090} else {
9191 if ($ isTheme ) {
92- safeUnlink (__DIR__ . '/src/SkeletonServiceProvider.php ' );
93- safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
94- safeUnlink (__DIR__ . '/src/Skeleton.php ' );
95- removeDirectory (__DIR__ . '/bin ' );
96- removeDirectory (__DIR__ . '/config ' );
97- removeDirectory (__DIR__ . '/database ' );
98- removeDirectory (__DIR__ . '/stubs ' );
99- removeDirectory (__DIR__ . '/resources/js ' );
100- removeDirectory (__DIR__ . '/resources/lang ' );
101- removeDirectory (__DIR__ . '/resources/views ' );
102- removeDirectory (__DIR__ . '/src/Commands ' );
103- removeDirectory (__DIR__ . '/src/Facades ' );
104- removeDirectory (__DIR__ . '/src/Testing ' );
92+ safeUnlink (__DIR__ . '/src/SkeletonServiceProvider.php ' );
93+ safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
94+ safeUnlink (__DIR__ . '/src/Skeleton.php ' );
95+ removeDirectory (__DIR__ . '/bin ' );
96+ removeDirectory (__DIR__ . '/config ' );
97+ removeDirectory (__DIR__ . '/database ' );
98+ removeDirectory (__DIR__ . '/stubs ' );
99+ removeDirectory (__DIR__ . '/resources/js ' );
100+ removeDirectory (__DIR__ . '/resources/lang ' );
101+ removeDirectory (__DIR__ . '/resources/views ' );
102+ removeDirectory (__DIR__ . '/src/Commands ' );
103+ removeDirectory (__DIR__ . '/src/Facades ' );
104+ removeDirectory (__DIR__ . '/src/Testing ' );
105105
106106 setupPackageJsonForTheme ();
107107
108108 } else {
109- safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
109+ safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
110110 }
111111
112112 removeComposerDeps ([
136136 ]);
137137
138138 match (true ) {
139- str_contains ($ file , determineSeparator ('src/Skeleton.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className. '.php ' )),
140- str_contains ($ file , determineSeparator ('src/SkeletonServiceProvider.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className. 'ServiceProvider.php ' )),
141- str_contains ($ file , determineSeparator ('src/SkeletonTheme.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className. (str_ends_with ($ className , 'Theme ' ) ? '.php ' : 'Theme.php ' ))),
142- str_contains ($ file , determineSeparator ('src/SkeletonPlugin.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className. 'Plugin.php ' )),
143- str_contains ($ file , determineSeparator ('src/Facades/Skeleton.php ' )) => rename ($ file , determineSeparator ('./src/Facades/ ' . $ className. '.php ' )),
144- str_contains ($ file , determineSeparator ('src/Commands/SkeletonCommand.php ' )) => rename ($ file , determineSeparator ('./src/Commands/ ' . $ className. 'Command.php ' )),
145- str_contains ($ file , determineSeparator ('src/Testing/TestsSkeleton.php ' )) => rename ($ file , determineSeparator ('./src/Testing/Tests ' . $ className. '.php ' )),
146- str_contains ($ file , determineSeparator ('database/migrations/create_skeleton_table.php.stub ' )) => rename ($ file , determineSeparator ('./database/migrations/create_ ' . titleSnake ($ packageSlugWithoutPrefix ). '_table.php.stub ' )),
147- str_contains ($ file , determineSeparator ('config/skeleton.php ' )) => rename ($ file , determineSeparator ('./config/ ' . $ packageSlugWithoutPrefix. '.php ' )),
148- str_contains ($ file , determineSeparator ('resources/lang/en/skeleton.php ' )) => rename ($ file , determineSeparator ('./resources/lang/en/ ' . $ packageSlugWithoutPrefix. '.php ' )),
139+ str_contains ($ file , determineSeparator ('src/Skeleton.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className . '.php ' )),
140+ str_contains ($ file , determineSeparator ('src/SkeletonServiceProvider.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className . 'ServiceProvider.php ' )),
141+ str_contains ($ file , determineSeparator ('src/SkeletonTheme.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className . (str_ends_with ($ className , 'Theme ' ) ? '.php ' : 'Theme.php ' ))),
142+ str_contains ($ file , determineSeparator ('src/SkeletonPlugin.php ' )) => rename ($ file , determineSeparator ('./src/ ' . $ className . 'Plugin.php ' )),
143+ str_contains ($ file , determineSeparator ('src/Facades/Skeleton.php ' )) => rename ($ file , determineSeparator ('./src/Facades/ ' . $ className . '.php ' )),
144+ str_contains ($ file , determineSeparator ('src/Commands/SkeletonCommand.php ' )) => rename ($ file , determineSeparator ('./src/Commands/ ' . $ className . 'Command.php ' )),
145+ str_contains ($ file , determineSeparator ('src/Testing/TestsSkeleton.php ' )) => rename ($ file , determineSeparator ('./src/Testing/Tests ' . $ className . '.php ' )),
146+ str_contains ($ file , determineSeparator ('database/migrations/create_skeleton_table.php.stub ' )) => rename ($ file , determineSeparator ('./database/migrations/create_ ' . titleSnake ($ packageSlugWithoutPrefix ) . '_table.php.stub ' )),
147+ str_contains ($ file , determineSeparator ('config/skeleton.php ' )) => rename ($ file , determineSeparator ('./config/ ' . $ packageSlugWithoutPrefix . '.php ' )),
148+ str_contains ($ file , determineSeparator ('resources/lang/en/skeleton.php ' )) => rename ($ file , determineSeparator ('./resources/lang/en/ ' . $ packageSlugWithoutPrefix . '.php ' )),
149149 str_contains ($ file , 'README.md ' ) => removeTag ($ file , 'delete ' ),
150150 default => [],
151151 };
152152}
153153
154154if (! $ useDependabot ) {
155- safeUnlink (__DIR__ . '/.github/dependabot.yml ' );
156- safeUnlink (__DIR__ . '/.github/workflows/dependabot-auto-merge.yml ' );
155+ safeUnlink (__DIR__ . '/.github/dependabot.yml ' );
156+ safeUnlink (__DIR__ . '/.github/workflows/dependabot-auto-merge.yml ' );
157157}
158158
159159if (! $ useLaravelRay ) {
160160 removeComposerDeps (['spatie/laravel-ray ' ], 'require-dev ' );
161161}
162162
163163if (! $ usePhpStan ) {
164- safeUnlink (__DIR__ . '/phpstan.neon.dist ' );
165- safeUnlink (__DIR__ . '/phpstan-baseline.neon ' );
166- safeUnlink (__DIR__ . '/.github/workflows/phpstan.yml ' );
164+ safeUnlink (__DIR__ . '/phpstan.neon.dist ' );
165+ safeUnlink (__DIR__ . '/phpstan-baseline.neon ' );
166+ safeUnlink (__DIR__ . '/.github/workflows/phpstan.yml ' );
167167
168168 removeComposerDeps ([
169169 'phpstan/extension-installer ' ,
176176}
177177
178178if (! $ usePint ) {
179- safeUnlink (__DIR__ . '/.github/workflows/fix-php-code-style-issues.yml ' );
180- safeUnlink (__DIR__ . '/pint.json ' );
179+ safeUnlink (__DIR__ . '/.github/workflows/fix-php-code-style-issues.yml ' );
180+ safeUnlink (__DIR__ . '/pint.json ' );
181181
182182 removeComposerDeps ([
183183 'laravel/pint ' ,
187187}
188188
189189if (! $ useUpdateChangelogWorkflow ) {
190- safeUnlink (__DIR__ . '/.github/workflows/update-changelog.yml ' );
190+ safeUnlink (__DIR__ . '/.github/workflows/update-changelog.yml ' );
191191}
192192
193193confirm ('Execute `composer install`? ' ) && run ('composer install ' );
199199function ask (string $ question , string $ default = '' ): string
200200{
201201 $ def = $ default ? "\e[0;33m ( $ default) " : '' ;
202- $ answer = readline ("\e[0;32m " . $ question. $ def. ": \e[0m " );
202+ $ answer = readline ("\e[0;32m " . $ question . $ def . ": \e[0m " );
203203
204204 if (! $ answer ) {
205205 return $ default ;
@@ -221,7 +221,7 @@ function confirm(string $question, bool $default = false): bool
221221
222222function writeln (string $ line ): void
223223{
224- echo $ line. PHP_EOL ;
224+ echo $ line . PHP_EOL ;
225225}
226226
227227function run (string $ command ): string
@@ -269,28 +269,28 @@ function removePrefix(string $prefix, string $content): string
269269
270270function removeComposerDeps (array $ names , string $ location ): void
271271{
272- $ data = json_decode (file_get_contents (__DIR__ . '/composer.json ' ), true );
272+ $ data = json_decode (file_get_contents (__DIR__ . '/composer.json ' ), true );
273273
274274 foreach ($ data [$ location ] as $ name => $ version ) {
275275 if (in_array ($ name , $ names , true )) {
276276 unset($ data [$ location ][$ name ]);
277277 }
278278 }
279279
280- file_put_contents (__DIR__ . '/composer.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ));
280+ file_put_contents (__DIR__ . '/composer.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ));
281281}
282282
283283function removeNpmDeps (array $ names , string $ location ): void
284284{
285- $ data = json_decode (file_get_contents (__DIR__ . '/package.json ' ), true );
285+ $ data = json_decode (file_get_contents (__DIR__ . '/package.json ' ), true );
286286
287287 foreach ($ data [$ location ] as $ name => $ version ) {
288288 if (in_array ($ name , $ names , true )) {
289289 unset($ data [$ location ][$ name ]);
290290 }
291291 }
292292
293- file_put_contents (__DIR__ . '/package.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES |
293+ file_put_contents (__DIR__ . '/package.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES |
294294 JSON_UNESCAPED_UNICODE ));
295295}
296296
@@ -300,7 +300,7 @@ function removeTag(string $file, string $tag): void
300300
301301 file_put_contents (
302302 $ file ,
303- preg_replace ('/<!-- ' . $ tag. '-->.*<!--\/ ' . $ tag. '-->/s ' , '' , $ contents ) ?: $ contents
303+ preg_replace ('/<!-- ' . $ tag . '-->.*<!--\/ ' . $ tag . '-->/s ' , '' , $ contents ) ?: $ contents
304304 );
305305}
306306
@@ -322,7 +322,7 @@ function setupPackageJsonForTheme(): void
322322 'prettier-plugin-tailwindcss ' ,
323323 ], 'devDependencies ' );
324324
325- replaceInFile (__DIR__ . '/package.json ' , [
325+ replaceInFile (__DIR__ . '/package.json ' , [
326326 'dev:styles ' => 'dev ' ,
327327 'build:styles ' => 'build ' ,
328328 ]);
@@ -342,7 +342,7 @@ function determineSeparator(string $path): string
342342
343343function replaceForWindows (): array
344344{
345- 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 migration_table_name vendor_name vendor_slug author@domain.com" ' ));
345+ 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 migration_table_name vendor_name vendor_slug author@domain.com" ' ));
346346}
347347
348348function replaceForAllOtherOSes (): array
@@ -358,10 +358,10 @@ function removeDirectory($dir): void
358358 $ objects = scandir ($ dir );
359359 foreach ($ objects as $ object ) {
360360 if ($ object != '. ' && $ object != '.. ' ) {
361- if (filetype ($ dir. '/ ' . $ object ) == 'dir ' ) {
362- removeDirectory ($ dir. '/ ' . $ object );
361+ if (filetype ($ dir . '/ ' . $ object ) == 'dir ' ) {
362+ removeDirectory ($ dir . '/ ' . $ object );
363363 } else {
364- unlink ($ dir. '/ ' . $ object );
364+ unlink ($ dir . '/ ' . $ object );
365365 }
366366 }
367367 }
0 commit comments