Skip to content

Commit 89969d6

Browse files
committed
process package.json for themes
1 parent 86a9868 commit 89969d6

3 files changed

Lines changed: 46 additions & 18 deletions

File tree

configure.php

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
if ($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',
@@ -83,7 +82,6 @@
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',
@@ -94,6 +92,7 @@
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');
@@ -103,9 +102,11 @@
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+
282297
function 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+
292333
function safeUnlink(string $filename): void
293334
{
294335
if (file_exists($filename) && is_file($filename)) {

package-theme.json

Lines changed: 0 additions & 15 deletions
This file was deleted.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
},
1212
"devDependencies": {
1313
"@awcodes/filament-plugin-purge": "^1.1.1",
14+
"@tailwindcss/forms": "^0.5.4",
15+
"@tailwindcss/typography": "^0.5.9",
1416
"autoprefixer": "^10.4.14",
1517
"esbuild": "^0.17.19",
1618
"npm-run-all": "^4.1.5",

0 commit comments

Comments
 (0)