wlmaker 1.2.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +57 -79
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -167,7 +167,7 @@ import { pascalCase as pascalCase2 } from "change-case";
|
|
|
167
167
|
// src/core/tier.ts
|
|
168
168
|
var VALID_TIERS = ["atom", "molecule", "organism", "template"];
|
|
169
169
|
var TIER_PATTERNS = {
|
|
170
|
-
atom: ["single-public", "single-factory"
|
|
170
|
+
atom: ["single-public", "single-factory"],
|
|
171
171
|
molecule: ["single", "subdirectory-parts", "subdirectory-widgets"],
|
|
172
172
|
organism: ["subdirectory-show", "single"],
|
|
173
173
|
template: ["simple", "config-data-callbacks"]
|
|
@@ -188,7 +188,7 @@ var PATTERN_LABELS = {
|
|
|
188
188
|
"single-public": "Single file, public constructor",
|
|
189
189
|
"single-factory": "Single file, private constructor + factories",
|
|
190
190
|
"subdirectory-parts": "Subdirectory with part files",
|
|
191
|
-
single: "Single file
|
|
191
|
+
single: "Single file",
|
|
192
192
|
"subdirectory-widgets": "Subdirectory with widgets/ and utils/",
|
|
193
193
|
"subdirectory-show": "Subdirectory with static show() + parts",
|
|
194
194
|
simple: "Template simple (i18n + body + skeleton)",
|
|
@@ -390,12 +390,20 @@ import 'package:flutter/material.dart';
|
|
|
390
390
|
class Wl${pascal} extends StatelessWidget {
|
|
391
391
|
const Wl${pascal}({super.key});
|
|
392
392
|
|
|
393
|
+
static const skeleton = _Wl${pascal}SkeletonFactory();
|
|
394
|
+
|
|
393
395
|
@override
|
|
394
396
|
Widget build(BuildContext context) {
|
|
395
397
|
final theme = context.theme;
|
|
396
398
|
return const SizedBox.shrink();
|
|
397
399
|
}
|
|
398
400
|
}
|
|
401
|
+
|
|
402
|
+
class _Wl${pascal}SkeletonFactory {
|
|
403
|
+
const _Wl${pascal}SkeletonFactory();
|
|
404
|
+
|
|
405
|
+
Widget call({Key? key}) => const SizedBox.shrink();
|
|
406
|
+
}
|
|
399
407
|
`;
|
|
400
408
|
}
|
|
401
409
|
function atomTemplateB(name, pascal) {
|
|
@@ -418,60 +426,21 @@ class Wl${pascal} extends StatelessWidget {
|
|
|
418
426
|
factory Wl${pascal}.secondary({Key? key}) =>
|
|
419
427
|
Wl${pascal}._internal(variant: Wl${pascal}Variant.secondary, key: key);
|
|
420
428
|
|
|
421
|
-
|
|
422
|
-
Widget build(BuildContext context) {
|
|
423
|
-
final theme = context.theme;
|
|
424
|
-
return const SizedBox.shrink();
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
`;
|
|
428
|
-
}
|
|
429
|
-
function atomTemplateC(name, pascal) {
|
|
430
|
-
return {
|
|
431
|
-
main: `import 'package:design_system/design_system.dart';
|
|
432
|
-
import 'package:flutter/material.dart';
|
|
433
|
-
|
|
434
|
-
part '${name}_sizes.dart';
|
|
435
|
-
|
|
436
|
-
class Wl${pascal} extends StatelessWidget {
|
|
437
|
-
final Wl${pascal}Size size;
|
|
438
|
-
|
|
439
|
-
const Wl${pascal}({this.size = Wl${pascal}Size.md, super.key});
|
|
429
|
+
static const skeleton = _Wl${pascal}SkeletonFactory();
|
|
440
430
|
|
|
441
431
|
@override
|
|
442
432
|
Widget build(BuildContext context) {
|
|
443
433
|
final theme = context.theme;
|
|
444
|
-
return SizedBox(
|
|
445
|
-
width: size.width,
|
|
446
|
-
height: size.height,
|
|
447
|
-
child: const SizedBox.shrink(),
|
|
448
|
-
);
|
|
434
|
+
return const SizedBox.shrink();
|
|
449
435
|
}
|
|
450
436
|
}
|
|
451
|
-
`,
|
|
452
|
-
sizes: `part of '${name}.dart';
|
|
453
437
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
md,
|
|
457
|
-
lg,
|
|
458
|
-
}
|
|
438
|
+
class _Wl${pascal}SkeletonFactory {
|
|
439
|
+
const _Wl${pascal}SkeletonFactory();
|
|
459
440
|
|
|
460
|
-
|
|
461
|
-
double get width => switch (this) {
|
|
462
|
-
_Wl${pascal}Size.sm => 16,
|
|
463
|
-
_Wl${pascal}Size.md => 24,
|
|
464
|
-
_Wl${pascal}Size.lg => 32,
|
|
465
|
-
};
|
|
466
|
-
|
|
467
|
-
double get height => switch (this) {
|
|
468
|
-
_Wl${pascal}Size.sm => 16,
|
|
469
|
-
_Wl${pascal}Size.md => 24,
|
|
470
|
-
_Wl${pascal}Size.lg => 32,
|
|
471
|
-
};
|
|
441
|
+
Widget call({Key? key}) => const SizedBox.shrink();
|
|
472
442
|
}
|
|
473
|
-
|
|
474
|
-
};
|
|
443
|
+
`;
|
|
475
444
|
}
|
|
476
445
|
function moleculeTemplateA(name, pascal) {
|
|
477
446
|
return `import 'package:design_system/design_system.dart';
|
|
@@ -482,7 +451,7 @@ enum Wl${pascal}Variant {
|
|
|
482
451
|
secondary,
|
|
483
452
|
}
|
|
484
453
|
|
|
485
|
-
class Wl${pascal} extends
|
|
454
|
+
class Wl${pascal} extends StatelessWidget {
|
|
486
455
|
final Wl${pascal}Variant variant;
|
|
487
456
|
|
|
488
457
|
const Wl${pascal}({
|
|
@@ -490,17 +459,20 @@ class Wl${pascal} extends StatefulWidget {
|
|
|
490
459
|
super.key,
|
|
491
460
|
});
|
|
492
461
|
|
|
493
|
-
|
|
494
|
-
State<Wl${pascal}> createState() => _Wl${pascal}State();
|
|
495
|
-
}
|
|
462
|
+
static const skeleton = _Wl${pascal}SkeletonFactory();
|
|
496
463
|
|
|
497
|
-
class _Wl${pascal}State extends State<Wl${pascal}> {
|
|
498
464
|
@override
|
|
499
465
|
Widget build(BuildContext context) {
|
|
500
466
|
final theme = context.theme;
|
|
501
467
|
return const SizedBox.shrink();
|
|
502
468
|
}
|
|
503
469
|
}
|
|
470
|
+
|
|
471
|
+
class _Wl${pascal}SkeletonFactory {
|
|
472
|
+
const _Wl${pascal}SkeletonFactory();
|
|
473
|
+
|
|
474
|
+
Widget call({Key? key}) => const SizedBox.shrink();
|
|
475
|
+
}
|
|
504
476
|
`;
|
|
505
477
|
}
|
|
506
478
|
function moleculeTemplateB(name, pascal) {
|
|
@@ -510,7 +482,7 @@ import 'package:flutter/material.dart';
|
|
|
510
482
|
|
|
511
483
|
part '${name}_type.dart';
|
|
512
484
|
|
|
513
|
-
class Wl${pascal} extends
|
|
485
|
+
class Wl${pascal} extends StatelessWidget {
|
|
514
486
|
final Wl${pascal}Variant variant;
|
|
515
487
|
|
|
516
488
|
const Wl${pascal}({
|
|
@@ -518,17 +490,20 @@ class Wl${pascal} extends StatefulWidget {
|
|
|
518
490
|
super.key,
|
|
519
491
|
});
|
|
520
492
|
|
|
521
|
-
|
|
522
|
-
State<Wl${pascal}> createState() => _Wl${pascal}State();
|
|
523
|
-
}
|
|
493
|
+
static const skeleton = _Wl${pascal}SkeletonFactory();
|
|
524
494
|
|
|
525
|
-
class _Wl${pascal}State extends State<Wl${pascal}> {
|
|
526
495
|
@override
|
|
527
496
|
Widget build(BuildContext context) {
|
|
528
497
|
final theme = context.theme;
|
|
529
498
|
return const SizedBox.shrink();
|
|
530
499
|
}
|
|
531
500
|
}
|
|
501
|
+
|
|
502
|
+
class _Wl${pascal}SkeletonFactory {
|
|
503
|
+
const _Wl${pascal}SkeletonFactory();
|
|
504
|
+
|
|
505
|
+
Widget call({Key? key}) => const SizedBox.shrink();
|
|
506
|
+
}
|
|
532
507
|
`,
|
|
533
508
|
type: `part of '${name}.dart';
|
|
534
509
|
|
|
@@ -547,20 +522,23 @@ function moleculeTemplateC(name, pascal) {
|
|
|
547
522
|
return `import 'package:design_system/design_system.dart';
|
|
548
523
|
import 'package:flutter/material.dart';
|
|
549
524
|
|
|
550
|
-
class Wl${pascal} extends
|
|
525
|
+
class Wl${pascal} extends StatelessWidget {
|
|
551
526
|
const Wl${pascal}({super.key});
|
|
552
527
|
|
|
553
|
-
|
|
554
|
-
State<Wl${pascal}> createState() => _Wl${pascal}State();
|
|
555
|
-
}
|
|
528
|
+
static const skeleton = _Wl${pascal}SkeletonFactory();
|
|
556
529
|
|
|
557
|
-
class _Wl${pascal}State extends State<Wl${pascal}> {
|
|
558
530
|
@override
|
|
559
531
|
Widget build(BuildContext context) {
|
|
560
532
|
final theme = context.theme;
|
|
561
533
|
return const SizedBox.shrink();
|
|
562
534
|
}
|
|
563
535
|
}
|
|
536
|
+
|
|
537
|
+
class _Wl${pascal}SkeletonFactory {
|
|
538
|
+
const _Wl${pascal}SkeletonFactory();
|
|
539
|
+
|
|
540
|
+
Widget call({Key? key}) => const SizedBox.shrink();
|
|
541
|
+
}
|
|
564
542
|
`;
|
|
565
543
|
}
|
|
566
544
|
function organismTemplateA(name, pascal) {
|
|
@@ -602,6 +580,8 @@ import 'package:flutter/material.dart';
|
|
|
602
580
|
class Wl${pascal} extends StatefulWidget {
|
|
603
581
|
const Wl${pascal}({super.key});
|
|
604
582
|
|
|
583
|
+
static const skeleton = _Wl${pascal}SkeletonFactory();
|
|
584
|
+
|
|
605
585
|
@override
|
|
606
586
|
State<Wl${pascal}> createState() => _Wl${pascal}State();
|
|
607
587
|
}
|
|
@@ -613,6 +593,12 @@ class _Wl${pascal}State extends State<Wl${pascal}> {
|
|
|
613
593
|
return const SizedBox.shrink();
|
|
614
594
|
}
|
|
615
595
|
}
|
|
596
|
+
|
|
597
|
+
class _Wl${pascal}SkeletonFactory {
|
|
598
|
+
const _Wl${pascal}SkeletonFactory();
|
|
599
|
+
|
|
600
|
+
Widget call({Key? key}) => const SizedBox.shrink();
|
|
601
|
+
}
|
|
616
602
|
`;
|
|
617
603
|
}
|
|
618
604
|
function templateA(name, pascal) {
|
|
@@ -847,14 +833,17 @@ class Wl${pascal}Data extends Equatable {
|
|
|
847
833
|
}
|
|
848
834
|
function useCaseTemplate(name, pascal, tierPlural3) {
|
|
849
835
|
return `import 'package:design_system/design_system.dart';
|
|
836
|
+
import 'package:flutter/material.dart';
|
|
850
837
|
import 'package:widgetbook/widgetbook.dart';
|
|
851
|
-
import 'package:
|
|
838
|
+
import 'package:widgetbook_annotation/widgetbook_annotation.dart' as widgetbook;
|
|
852
839
|
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
840
|
+
@widgetbook.UseCase(
|
|
841
|
+
name: 'Wl${pascal}',
|
|
842
|
+
type: Wl${pascal},
|
|
843
|
+
path: 'wl_design_system/${tierPlural3}/wl_${name}',
|
|
844
|
+
)
|
|
845
|
+
Widget useCaseWl${pascal}(BuildContext context) {
|
|
846
|
+
return const Wl${pascal}();
|
|
858
847
|
}
|
|
859
848
|
`;
|
|
860
849
|
}
|
|
@@ -926,17 +915,6 @@ function createAtomFiles(tierDir, name, pascal, fileName, pattern) {
|
|
|
926
915
|
);
|
|
927
916
|
break;
|
|
928
917
|
}
|
|
929
|
-
case "subdirectory-parts": {
|
|
930
|
-
const dir = path6.join(tierDir, fileName);
|
|
931
|
-
fs6.mkdirSync(dir, { recursive: true });
|
|
932
|
-
const tpl = atomTemplateC(name, pascal);
|
|
933
|
-
fs6.writeFileSync(path6.join(dir, `${fileName}.dart`), tpl.main);
|
|
934
|
-
fs6.writeFileSync(
|
|
935
|
-
path6.join(dir, `${fileName}_sizes.dart`),
|
|
936
|
-
tpl.sizes
|
|
937
|
-
);
|
|
938
|
-
break;
|
|
939
|
-
}
|
|
940
918
|
default:
|
|
941
919
|
throw new Error(`Unknown atom pattern: ${pattern}`);
|
|
942
920
|
}
|