7474if ($ formsOnly ) {
7575 safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
7676 safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
77- safeUnlink (__DIR__ . '/package-theme.json ' );
7877
7978 removeComposerDeps ([
8079 'filament/filament ' ,
8382} elseif ($ tablesOnly ) {
8483 safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
8584 safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
86- safeUnlink (__DIR__ . '/package-theme.json ' );
8785
8886 removeComposerDeps ([
8987 'filament/filament ' ,
9492 safeUnlink (__DIR__ . '/src/SkeletonServiceProvider.php ' );
9593 safeUnlink (__DIR__ . '/src/SkeletonPlugin.php ' );
9694 safeUnlink (__DIR__ . '/src/Skeleton.php ' );
95+ removeDirectory (__DIR__ . '/bin ' );
9796 removeDirectory (__DIR__ . '/config ' );
9897 removeDirectory (__DIR__ . '/database ' );
9998 removeDirectory (__DIR__ . '/stubs ' );
103102 removeDirectory (__DIR__ . '/src/Commands ' );
104103 removeDirectory (__DIR__ . '/src/Facades ' );
105104 removeDirectory (__DIR__ . '/src/Testing ' );
105+
106+ setupPackageJsonForTheme ();
107+
106108 } else {
107109 safeUnlink (__DIR__ . '/src/SkeletonTheme.php ' );
108- safeUnlink (__DIR__ . '/package-theme.json ' );
109110 }
110111
111112 removeComposerDeps ([
@@ -279,6 +280,20 @@ function removeComposerDeps(array $names, string $location): void
279280 file_put_contents (__DIR__ . '/composer.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE ));
280281}
281282
283+ function removeNpmDeps (array $ names , string $ location ): void
284+ {
285+ $ data = json_decode (file_get_contents (__DIR__ . '/package.json ' ), true );
286+
287+ foreach ($ data [$ location ] as $ name => $ version ) {
288+ if (in_array ($ name , $ names , true )) {
289+ unset($ data [$ location ][$ name ]);
290+ }
291+ }
292+
293+ file_put_contents (__DIR__ . '/package.json ' , json_encode ($ data , JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES |
294+ JSON_UNESCAPED_UNICODE ));
295+ }
296+
282297function removeTag (string $ file , string $ tag ): void
283298{
284299 $ contents = file_get_contents ($ file );
@@ -289,6 +304,32 @@ function removeTag(string $file, string $tag): void
289304 );
290305}
291306
307+ function setupPackageJsonForTheme (): void
308+ {
309+ removeNpmDeps ([
310+ 'purge ' ,
311+ 'dev ' ,
312+ 'dev:scripts ' ,
313+ 'build ' ,
314+ 'build:scripts ' ,
315+ ], 'scripts ' );
316+
317+ removeNpmDeps ([
318+ '@awcodes/filament-plugin-purge ' ,
319+ 'esbuild ' ,
320+ 'npm-run-all ' ,
321+ 'prettier ' ,
322+ 'prettier-plugin-tailwindcss ' ,
323+ ], 'devDependencies ' );
324+
325+ $ newData = json_decode (file_get_contents (__DIR__ . '/package.json ' ), true );
326+
327+ replaceInFile ($ newData , [
328+ 'dev:styles ' => 'dev ' ,
329+ 'build:styles ' => 'build ' ,
330+ ]);
331+ }
332+
292333function safeUnlink (string $ filename ): void
293334{
294335 if (file_exists ($ filename ) && is_file ($ filename )) {
0 commit comments