Skip to content

Commit

Permalink
feature: imports, colors and svg fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
efraespada committed Oct 9, 2024
1 parent ce9e843 commit b614be7
Show file tree
Hide file tree
Showing 23 changed files with 173 additions and 70 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## 2.1.0

* Initialize `object` if detected as dependency.
* Fixed imports on test.
* Fixed catalog colors in dark mode.
* Fixed SVG light/dark mode switch.

## 2.0.0

* Added `test` and `integration_test` generation.
Expand Down
24 changes: 12 additions & 12 deletions example/integration_test/catalog_widget_integration_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,25 @@
import 'package:integration_test/integration_test.dart';

import 'package:example/widgets/utils/bottom/catalog/integration_test/fab_widget_integration_test.dart'
as akcl;
as fflh;
import 'package:example/widgets/other_utils/bottom/catalog/integration_test/warning_info_widget_integration_test.dart'
as gjrq;
as iuso;
import 'package:example/widgets/screen/catalog/integration_test/sized_container_integration_test.dart'
as pvar;
as bpok;
import 'package:example/widgets/screen/catalog/integration_test/body_widget_integration_test.dart'
as utcx;
as dshj;
import 'package:example/widgets/screen/catalog/integration_test/counter_widget_integration_test.dart'
as ujyk;
as ageq;
import 'package:example/widgets/catalog/integration_test/main_screen_integration_test.dart'
as sqbo;
as bbvw;

void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();

akcl.FabWidgetIntegrationTest().main();
gjrq.WarningInfoWidgetIntegrationTest().main();
pvar.SizedContainerIntegrationTest().main();
utcx.BodyWidgetIntegrationTest().main();
ujyk.CounterWidgetIntegrationTest().main();
sqbo.MainScreenIntegrationTest().main();
fflh.FabWidgetIntegrationTest().main();
iuso.WarningInfoWidgetIntegrationTest().main();
bpok.SizedContainerIntegrationTest().main();
dshj.BodyWidgetIntegrationTest().main();
ageq.CounterWidgetIntegrationTest().main();
bbvw.MainScreenIntegrationTest().main();
}
2 changes: 0 additions & 2 deletions example/lib/widgets/catalog/preview/main_screen.preview.dart
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ class MainScreenPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down Expand Up @@ -83,7 +82,6 @@ class MainScreenPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ class WarningInfoWidgetPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down Expand Up @@ -79,7 +78,6 @@ class WarningInfoWidgetPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ class BodyWidgetPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down Expand Up @@ -81,7 +80,6 @@ class BodyWidgetPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ class CounterWidgetPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down Expand Up @@ -81,7 +80,6 @@ class CounterWidgetPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ class SizedContainerPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down Expand Up @@ -79,7 +78,6 @@ class SizedContainerPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ class FabWidgetPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down Expand Up @@ -79,7 +78,6 @@ class FabWidgetPreview extends ParentPreviewWidget {
clipBehavior: Clip.hardEdge,
child: Container(
padding: const EdgeInsets.all(15),
color: Colors.white,
child: Row(
children: [
Expanded(
Expand Down
24 changes: 12 additions & 12 deletions example/test/catalog_widget_test.dart
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
/// AUTOGENERATED FILE. DO NOT EDIT
import 'package:example/widgets/utils/bottom/catalog/test/fab_widget_test.dart'
as aleo;
as xccl;
import 'package:example/widgets/other_utils/bottom/catalog/test/warning_info_widget_test.dart'
as dgjg;
as zvep;
import 'package:example/widgets/screen/catalog/test/sized_container_test.dart'
as ntbg;
as lwnf;
import 'package:example/widgets/screen/catalog/test/body_widget_test.dart'
as wwjj;
as tymo;
import 'package:example/widgets/screen/catalog/test/counter_widget_test.dart'
as dqlj;
import 'package:example/widgets/catalog/test/main_screen_test.dart' as gpwz;
as ztou;
import 'package:example/widgets/catalog/test/main_screen_test.dart' as zwdp;

void main() {
aleo.FabWidgetTest().main();
dgjg.WarningInfoWidgetTest().main();
ntbg.SizedContainerTest().main();
wwjj.BodyWidgetTest().main();
dqlj.CounterWidgetTest().main();
gpwz.MainScreenTest().main();
xccl.FabWidgetTest().main();
zvep.WarningInfoWidgetTest().main();
lwnf.SizedContainerTest().main();
tymo.BodyWidgetTest().main();
ztou.CounterWidgetTest().main();
zwdp.MainScreenTest().main();
}
9 changes: 8 additions & 1 deletion lib/catalog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import 'package:catalog/src/builders/catalog/component_node.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';

import 'src/builders/preview/grid_color.dart';
import 'src/builders/preview/preview_boundary.dart';
import 'src/builders/preview/preview_render_widget.dart';

Expand All @@ -18,6 +19,7 @@ export 'package:catalog/src/builders/device/device.dart';
export 'package:catalog/src/builders/dummy/dummy.dart';
export 'package:catalog/src/builders/dummy/dummy_text.dart';
export 'package:catalog/src/builders/dummy/preview_dummy.dart';
export 'package:catalog/src/builders/preview/grid_color.dart';
export 'package:catalog/src/builders/preview/parent_preview_widget.dart';
export 'package:catalog/src/builders/preview/preview_boundary.dart';
export 'package:catalog/src/builders/screenshots/background.dart';
Expand All @@ -35,8 +37,8 @@ export 'package:catalog/src/extensions/widget_test_ext.dart';
export 'package:catalog/src/utils/constants.dart';
export 'package:device_frame/device_frame.dart';
export 'package:flutter_test/flutter_test.dart';
export 'package:integration_test/integration_test.dart';
export 'package:go_router/go_router.dart';
export 'package:integration_test/integration_test.dart';

class Catalog {
static Catalog? _instance;
Expand All @@ -52,6 +54,11 @@ class Catalog {

GoRouter? router;

GridColor gridColor = GridColor(
light: Colors.grey[300] ?? Colors.grey,
dark: Colors.grey[300] ?? Colors.grey,
);

bool get active => router != null;

BuildContext get activeContext {
Expand Down
38 changes: 36 additions & 2 deletions lib/src/bin/builders/test_builder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'dart:io';
import 'dart:math';

import 'package:catalog/src/bin/utils/test_builder_info.dart';
import 'package:catalog/src/extensions/string_ext.dart';

Future<TestBuilderInfo> generateTest(
dynamic config,
Expand All @@ -24,7 +25,7 @@ Future<TestBuilderInfo> generateTest(

var importParts = classImport.split('/');
importParts.removeAt(importParts.length - 1);
importParts.add(config['output']);
importParts.add(config['pageRoute']);
importParts.add('test');
importParts.add('${name}_test.dart');

Expand Down Expand Up @@ -124,7 +125,7 @@ Future<TestBuilderInfo> generateIntegrationTest(

var importParts = classImport.split('/');
importParts.removeAt(importParts.length - 1);
importParts.add(config['output']);
importParts.add(config['pageRoute']);
importParts.add('integration_test');
importParts.add('${name}_integration_test.dart');

Expand Down Expand Up @@ -206,19 +207,29 @@ class ${clazz}IntegrationTest {
Future<void> generateMainTest(
String basePath,
List<TestBuilderInfo> tests,
String modelImport,
String modelImplementation,
) async {
File file = File('./${basePath}test/catalog_widget_test.dart');

print('🧪 Updating catalog test collector (${file.path})');

if (modelImport.isNotEmpty && modelImplementation.isNotEmpty) {
print('🧪📦 Object dependency detected. Including ($modelImport)');
}

var content = '''
/// AUTOGENERATED FILE. DO NOT EDIT
${modelImport.isNotEmpty ? 'import \'$modelImport\';' : ''}
${tests.map((t) {
return 'import \'${t.import}\' as ${t.alias};';
}).join('\n')}
void main() {
${modelImplementation.isNotEmpty ? '$modelImplementation;' : ''}
${tests.map((t) {
return '${t.alias}.${t.clazzName}().main();';
}).join('\n')}
Expand All @@ -232,6 +243,8 @@ void main() {
Future<void> generateMainIntegrationTest(
String basePath,
List<TestBuilderInfo> tests,
String modelImport,
String modelImplementation,
) async {
String testPath = './${basePath}integration_test/';

Expand All @@ -242,6 +255,10 @@ Future<void> generateMainIntegrationTest(

print('🧪 Updating catalog integration test collector (${file.path})');

if (modelImport.isNotEmpty && modelImplementation.isNotEmpty) {
print('🧪📦 Object dependency detected. Including ($modelImport)');
}

var content = '''
/// AUTOGENERATED FILE. DO NOT EDIT
Expand All @@ -253,13 +270,17 @@ Future<void> generateMainIntegrationTest(
import 'package:integration_test/integration_test.dart';
${modelImport.isNotEmpty ? 'import \'$modelImport\';' : ''}
${tests.map((t) {
return 'import \'${t.import}\' as ${t.alias};';
}).join('\n')}
void main() {
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
${modelImplementation.isNotEmpty ? '$modelImplementation;' : ''}
${tests.map((t) {
return '${t.alias}.${t.clazzName}().main();';
}).join('\n')}
Expand All @@ -276,3 +297,16 @@ String buildTestAlias(int size) {
return String.fromCharCodes(Iterable.generate(
size, (_) => chars.codeUnitAt(random.nextInt(chars.length))));
}

String getObjectImport(String appId, Map<String, dynamic> config) {
if (config.isEmpty) return '';
return 'package:$appId/${config['outputFolder']}/${config['modelsFile']}';
}

String getObjectImplementation(Map<String, dynamic> config) {
if (config.isEmpty) return '';
var file = config['modelsFile'] as String;
var n = file.split('.').first;
var clazz = n.toClassName();
return '$clazz().instancesForLoad()';
}
2 changes: 1 addition & 1 deletion lib/src/bin/tasks/tasks/catalog_task.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class CatalogTask extends BaseTask {
final base = args.isEmpty ? '' : '${args.first}/';

var appId = loadId(base);
var config = loadConfigFile(base);
var config = loadCatalogConfigFile(base);

final page = config['pageFile'] ?? 'catalog_component.dart';
final pageName = config['pageName'] ?? 'CatalogComponent';
Expand Down
2 changes: 1 addition & 1 deletion lib/src/bin/tasks/tasks/format_task.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ class FormatTask extends BaseTask {
Future<void> work(List<String> args) async {
final base = args.isEmpty ? '' : '${args.first}/';

var config = loadConfigFile(base);
var config = loadCatalogConfigFile(base);

final File file =
File('./$base${config['base']}/${config['output']}/process.dart');
Expand Down
Loading

0 comments on commit b614be7

Please sign in to comment.