Skip to content

Commit

Permalink
v5.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
agordn52 committed Nov 4, 2023
1 parent 21ecb9f commit d37bac1
Show file tree
Hide file tree
Showing 7 changed files with 71 additions and 21 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## [5.8.0] - 2023-11-04

* Fix `make:api_service` when using Postman flag
* New `publish:slate` command added to Metro
* Added more docs to Metro methods

## [5.7.1] - 2023-10-27

* Update page stub to include an example on how to set the state.
Expand Down
6 changes: 3 additions & 3 deletions example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -235,15 +235,15 @@ packages:
path: ".."
relative: true
source: path
version: "5.7.0"
version: "5.8.0"
nylo_support:
dependency: transitive
description:
name: nylo_support
sha256: aff8ff65a1b37b60347e3575207690a73fd7825ccadc7ab958667c027341d793
sha256: d680d8d4b413d297b7b86210c3751d8f2ab87d8c56df5344ecd529725740e3bf
url: "https://pub.dev"
source: hosted
version: "5.13.0"
version: "5.14.0"
page_transition:
dependency: transitive
description:
Expand Down
3 changes: 3 additions & 0 deletions lib/metro/menu.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,7 @@ All commands:
make:theme
make:route_guard
make:config
publish
publish:slate
""";
67 changes: 54 additions & 13 deletions lib/metro/metro.dart
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,34 @@ List<NyCommand> allCommands = [
arguments: ["-h", "-f"],
category: "make",
action: _makeConfig),
NyCommand(
name: "slate",
options: 1,
arguments: ["-h", "-f"],
category: "publish",
action: _publishSlate),
];

/// Publishes the contents from a Slate package into a Nylo project.
/// E.g. run: `dart run nylo_framework:main publish:slate example_slate`
_publishSlate(List<String> arguments) async {
parser.addFlag(helpFlag,
abbr: 'h', help: 'e.g. publish:slate example_slate', negatable: false);

final ArgResults argResults = parser.parse(arguments);

MetroService.hasHelpFlag(argResults[helpFlag], parser.usage);

MetroService.checkArguments(arguments,
'You are missing the \'name\' of the slate package.\ne.g. publish:slate example_slate');

String slateName = argResults.arguments.first;

await MetroService.runProcess("dart run $slateName:main publish:all");
}

/// Creates a config file for Nylo projects
/// E.g. run: `dart run nylo_framework:main make:config permission_settings`
_makeConfig(List<String> arguments) async {
parser.addFlag(helpFlag,
abbr: 'h', help: 'e.g. make:config currencies', negatable: false);
Expand Down Expand Up @@ -123,6 +149,8 @@ _makeConfig(List<String> arguments) async {
forceCreate: hasForceFlag ?? false);
}

/// Creates a Stateful Widget file for Nylo projects
/// E.g. run: `dart run nylo_framework:main make:stateful_widget video_player_widget`
_makeStatefulWidget(List<String> arguments) async {
parser.addFlag(helpFlag,
abbr: 'h',
Expand Down Expand Up @@ -153,6 +181,8 @@ _makeStatefulWidget(List<String> arguments) async {
forceCreate: hasForceFlag ?? false);
}

/// Creates a Stateless Widget file for Nylo projects
/// E.g. run: `dart run nylo_framework:main make:stateless_widget avatar_widget`
_makeStatelessWidget(List<String> arguments) async {
parser.addFlag(helpFlag,
abbr: 'h',
Expand Down Expand Up @@ -182,6 +212,8 @@ _makeStatelessWidget(List<String> arguments) async {
forceCreate: hasForceFlag ?? false);
}

/// Creates a Route Guard for Nylo projects
/// E.g. run: `dart run nylo_framework:main make:route_guard subscription_route_guard`
_makeRouteGuard(List<String> arguments) async {
parser.addFlag(helpFlag,
abbr: 'h',
Expand Down Expand Up @@ -210,6 +242,8 @@ _makeRouteGuard(List<String> arguments) async {
forceCreate: hasForceFlag ?? false);
}

/// Creates a Provider for Nylo projects
/// E.g. run: `dart run nylo_framework:main make:provider firebase_provider`
_makeProvider(List<String> arguments) async {
parser.addFlag(helpFlag,
abbr: 'h', help: 'e.g. make:provider storage_provider', negatable: false);
Expand All @@ -236,6 +270,8 @@ _makeProvider(List<String> arguments) async {
forceCreate: hasForceFlag ?? false, addToConfig: true);
}

/// Creates an Event for Nylo projects
/// E.g. run: `dart run nylo_framework:main make:event login_event`
_makeEvent(List<String> arguments) async {
parser.addFlag(helpFlag,
abbr: 'h', help: 'e.g. make:event login_event', negatable: false);
Expand All @@ -262,6 +298,8 @@ _makeEvent(List<String> arguments) async {
forceCreate: hasForceFlag ?? false, addToConfig: true);
}

/// Creates an API Service for Nylo projects
/// E.g. run: `dart run nylo_framework:main make:api_service recipes`
_makeApiService(List<String> arguments) async {
parser.addFlag(helpFlag,
abbr: 'h',
Expand Down Expand Up @@ -348,12 +386,7 @@ _makeApiService(List<String> arguments) async {
classReCase: classReCase,
hasForceFlag: hasForceFlag,
baseUrlFlagValue: baseUrlFlagValue);
final arguments = <String>["format", "lib/app/models"];
print('Dart format lib/app/models');
print('============');
final process = await Process.start('dart', arguments, runInShell: false);
await stdout.addStream(process.stdout);
await stderr.addStream(process.stderr);
await MetroService.runProcess("dart format lib/app/models");
exit(0);
}

Expand All @@ -364,6 +397,7 @@ _makeApiService(List<String> arguments) async {
hasForceFlag: hasForceFlag);
}

/// Creates an API Service from Postman v2 schema
_makePostmanApiService(
{required dynamic json,
required Map<String, dynamic> postmanGlobalVars,
Expand Down Expand Up @@ -460,6 +494,11 @@ _makePostmanApiService(
case "raw":
{
if (body["raw"] is String) {
String? rawString =
_replacePostmanStringVars(postmanGlobalVars, body["raw"]);
if (rawString == null || rawString == "") {
continue;
}
dynamic jsonRaw = jsonDecode(_replacePostmanStringVars(
postmanGlobalVars, body["raw"]));
if (jsonRaw is Map<String, dynamic>) {
Expand Down Expand Up @@ -600,16 +639,14 @@ _makePostmanApiService(
return "";
}
RegExp reg = RegExp(
r'final Map<Type, BaseApiService> apiDecoders = {([\w\W\n\r\s:(),\/\/]+)};');
String temp = """
final Map<Type, BaseApiService> apiDecoders = {${reg.allMatches(file).map((e) => e.group(1)).toList()[0]}
r'final Map<Type, BaseApiService> apiDecoders = \{([^}]*)\};');
String temp =
"""final Map<Type, BaseApiService> apiDecoders = {${reg.allMatches(file).map((e) => e.group(1)).toList()[0]}
$apiServiceName: $apiServiceName(),
};
""";
};""";

return file.replaceFirst(
RegExp(
r'final Map<Type, BaseApiService> apiDecoders = {[\w\W\n\r\s:(),\/\/]+(};)'),
RegExp(r'final Map<Type, BaseApiService> apiDecoders = \{([^}]*)\};'),
temp,
);
});
Expand Down Expand Up @@ -638,6 +675,8 @@ _createApiService(ReCase classReCase,
forceCreate: hasForceFlag ?? false, addToConfig: true);
}

/// Creates a Theme for Nylo projects
/// E.g. run: `dart run nylo_framework:main make:theme bright_theme`
_makeTheme(List<String> arguments) async {
parser.addFlag(helpFlag,
abbr: 'h', help: 'e.g. make:theme bright_theme', negatable: false);
Expand Down Expand Up @@ -673,6 +712,8 @@ _makeTheme(List<String> arguments) async {
await MetroService.addToTheme(classReCase.snakeCase);
}

/// Creates a Controller for Nylo projects
/// E.g. run: `dart run nylo_framework:main make:controller home_controller`
_makeController(List<String> arguments) async {
parser.addFlag(helpFlag,
abbr: 'h',
Expand Down
2 changes: 1 addition & 1 deletion lib/nylo_framework.dart
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,4 @@ export 'package:nylo_support/widgets/ny_page.dart';
export 'package:dio/dio.dart';

/// Nylo version
const String nyloVersion = 'v5.7.1';
const String nyloVersion = 'v5.8.0';
4 changes: 2 additions & 2 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -233,10 +233,10 @@ packages:
dependency: "direct main"
description:
name: nylo_support
sha256: aff8ff65a1b37b60347e3575207690a73fd7825ccadc7ab958667c027341d793
sha256: d680d8d4b413d297b7b86210c3751d8f2ab87d8c56df5344ecd529725740e3bf
url: "https://pub.dev"
source: hosted
version: "5.13.0"
version: "5.14.0"
page_transition:
dependency: "direct main"
description:
Expand Down
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: nylo_framework
description: Micro-framework for Flutter that's built to simplify app development for Flutter projects.
version: 5.7.1
version: 5.8.0
homepage: https://nylo.dev
repository: https://github.com/nylo-core/framework/tree/5.x
issue_tracker: https://github.com/nylo-core/framework/issues
Expand All @@ -17,7 +17,7 @@ environment:
dependencies:
dio: ^5.3.3
flutter_dotenv: ^5.1.0
nylo_support: ^5.13.0
nylo_support: ^5.14.0
theme_provider: ^0.6.0
page_transition: ^2.1.0
collection: ^1.17.1
Expand Down

0 comments on commit d37bac1

Please sign in to comment.