Compare commits
No commits in common. "master" and "feature/upgrade-dependencies" have entirely different histories.
master
...
feature/up
27 changed files with 93 additions and 214 deletions
BIN
.DS_Store
vendored
Normal file
BIN
.DS_Store
vendored
Normal file
Binary file not shown.
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -7,7 +7,6 @@
|
|||
|
||||
## File-based project format:
|
||||
*.iws
|
||||
.DS_Store
|
||||
|
||||
## Plugin-specific files:
|
||||
|
||||
|
@ -59,5 +58,5 @@ sample-project
|
|||
.dart_tool
|
||||
.metals
|
||||
|
||||
#.vscode
|
||||
#!.vscode/settings.json
|
||||
.vscode
|
||||
!.vscode/settings.json
|
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"files.watcherExclude": {
|
||||
"**/target": true
|
||||
},
|
||||
"cmake.configureOnOpen": false
|
||||
}
|
||||
}
|
34
CHANGELOG.md
34
CHANGELOG.md
|
@ -1,35 +1,17 @@
|
|||
# Change Log
|
||||
|
||||
## 8.2.0
|
||||
## 6.1.0
|
||||
|
||||
* Updated to `analyzer` 6.3.x
|
||||
* Updated repository link
|
||||
* Updated `lints` to 3.0.0
|
||||
* Updated to `analyzer` 4.x.x
|
||||
* Updated to `lints` 2.x.x
|
||||
|
||||
## 8.1.1
|
||||
## 6.0.1
|
||||
|
||||
* Updated README
|
||||
* Updated to logo
|
||||
|
||||
## 8.1.0
|
||||
|
||||
* Updated README
|
||||
* Updated to logo
|
||||
* Updated to `analyzer` 6.2.x
|
||||
* Updated to support Dart SDK 3.1.x
|
||||
|
||||
## 8.0.0
|
||||
|
||||
* Required Dart SDK > 3.0.x
|
||||
* Updated to `analyzer` 5.0.x
|
||||
|
||||
## 7.0.0
|
||||
|
||||
* Skipped release
|
||||
* Added `angel3-orm-mysql` template for ORM support for MariaDB and MySQL
|
||||
|
||||
## 6.0.0
|
||||
|
||||
* Updated Dart SDK to 2.16.x
|
||||
* Updated SDK to 2.16.x
|
||||
|
||||
## 5.0.0
|
||||
|
||||
|
@ -39,7 +21,7 @@
|
|||
|
||||
* Changed `pub` to `dart pub`
|
||||
* Changed `pub build` to `dart build`
|
||||
* Updated Dart SDK to 2.14.0
|
||||
* Updated SDK to 2.14.0
|
||||
|
||||
## 3.2.0
|
||||
|
||||
|
@ -51,7 +33,7 @@
|
|||
|
||||
## 3.1.0
|
||||
|
||||
* Upgraded to support `analyzer` 2.0.0
|
||||
* Upgraded to support `analyzer` 2.0.0 major release
|
||||
|
||||
## 3.0.1
|
||||
|
||||
|
|
16
README.md
16
README.md
|
@ -1,13 +1,13 @@
|
|||
# Angel3 CLI
|
||||
|
||||
[![Angel3 Logo](angel3_logo.png)](https://github.com/dart-backend/angel3-cli)
|
||||
[![Screenshot of Terminal](screenshots/angel3-screenshot.png)](https://github.com/dukefirehawk/angel3-cli)
|
||||
|
||||
![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_cli?include_prereleases)
|
||||
[![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety)
|
||||
[![Gitter](https://img.shields.io/gitter/room/angel_dart/discussion)](https://gitter.im/angel_dart/discussion)
|
||||
[![License](https://img.shields.io/github/license/dart-backend/angel3-cli)](https://github.com/dart-backend/angel3-cli/blob/master/LICENSE)
|
||||
[![License](https://img.shields.io/github/license/dukefirehawk/angel3-cli)](https://github.com/dukefirehawk/angel3-cli/blob/master/LICENSE)
|
||||
|
||||
The command line interface for buidling dart backend in [Angel3 framework](https://pub.dev/packages/angel3_framework) that provides the following functionalities:
|
||||
Command-line tools for the [Angel3 framework](https://pub.dev/packages/angel3_framework) that provides the following functionalities:
|
||||
|
||||
* Project scaffolding
|
||||
* Generating service models, plugins, tests and more
|
||||
|
@ -16,10 +16,18 @@ The command line interface for buidling dart backend in [Angel3 framework](https
|
|||
|
||||
## Installation
|
||||
|
||||
Release version:
|
||||
|
||||
```bash
|
||||
dart pub global activate angel3_cli
|
||||
```
|
||||
|
||||
Development version:
|
||||
|
||||
```bash
|
||||
dart pub global activate --source git https://github.com/dukefirehawk/angel3-cli
|
||||
```
|
||||
|
||||
## Help
|
||||
|
||||
For information on the available options:
|
||||
|
@ -27,5 +35,3 @@ For information on the available options:
|
|||
```bash
|
||||
angel3 help
|
||||
```
|
||||
|
||||
[![Screenshot of Terminal](screenshots/angel3-screenshot.png)](https://github.com/dart-backend/angel3-cli)
|
||||
|
|
7
TODO.md
Normal file
7
TODO.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Todo
|
||||
|
||||
* `service`
|
||||
* Add tests
|
||||
* `migration`
|
||||
* `deploy`
|
||||
* Call these from Grinder script
|
BIN
angel3_logo.png
BIN
angel3_logo.png
Binary file not shown.
Before Width: | Height: | Size: 4.8 KiB |
|
@ -1,135 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="128"
|
||||
height="128"
|
||||
viewBox="0 0 128 128"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.3 (0e150ed, 2023-07-21)"
|
||||
sodipodi:docname="logo128.svg"
|
||||
inkscape:export-filename="logo_icon_128.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="px"
|
||||
showgrid="true"
|
||||
inkscape:zoom="1.5862247"
|
||||
inkscape:cx="58.629776"
|
||||
inkscape:cy="90.466375"
|
||||
inkscape:window-width="1312"
|
||||
inkscape:window-height="738"
|
||||
inkscape:window-x="128"
|
||||
inkscape:window-y="111"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="layer1">
|
||||
<inkscape:grid
|
||||
id="grid1"
|
||||
units="px"
|
||||
originx="0"
|
||||
originy="0"
|
||||
spacingx="1"
|
||||
spacingy="1"
|
||||
empcolor="#0099e5"
|
||||
empopacity="0.30196078"
|
||||
color="#0099e5"
|
||||
opacity="0.14901961"
|
||||
empspacing="5"
|
||||
dotted="false"
|
||||
gridanglex="30"
|
||||
gridanglez="30"
|
||||
visible="true" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs1">
|
||||
<linearGradient
|
||||
id="linearGradient15"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
style="stop-color:#d81c1c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop15" />
|
||||
<stop
|
||||
style="stop-color:#d81c1c;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop16" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="swatch13"
|
||||
inkscape:swatch="solid">
|
||||
<stop
|
||||
style="stop-color:#d81c1c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop14" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="swatch7"
|
||||
inkscape:swatch="solid">
|
||||
<stop
|
||||
style="stop-color:#d81c1c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop7" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#swatch13"
|
||||
id="linearGradient14"
|
||||
x1="76.307388"
|
||||
y1="264.40897"
|
||||
x2="425.84061"
|
||||
y2="264.40897"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient15"
|
||||
id="linearGradient16"
|
||||
x1="185.07693"
|
||||
y1="354.51111"
|
||||
x2="296.18161"
|
||||
y2="354.51111"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:137.557px;font-family:'Comic Sans MS';-inkscape-font-specification:'Comic Sans MS, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#d81c1c;fill-opacity:1;stroke-width:0.716443"
|
||||
x="13.382875"
|
||||
y="114.63321"
|
||||
id="text1"
|
||||
transform="scale(1.0161156,0.98414)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1"
|
||||
x="13.382875"
|
||||
y="114.63321"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:137.557px;font-family:'Comic Sans MS';-inkscape-font-specification:'Comic Sans MS, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#d81c1c;fill-opacity:1;stroke-width:0.716443">A</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:54.9757px;font-family:'Comic Sans MS';-inkscape-font-specification:'Comic Sans MS, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#d81c1c;fill-opacity:1;stroke:#ffffff;stroke-width:0.725;stroke-dasharray:none;stroke-opacity:1"
|
||||
x="44.028919"
|
||||
y="108.3848"
|
||||
id="text2"
|
||||
transform="scale(1.1577238,0.86376387)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2"
|
||||
x="44.028919"
|
||||
y="108.3848"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:54.9757px;font-family:'Comic Sans MS';-inkscape-font-specification:'Comic Sans MS, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#d81c1c;fill-opacity:1;stroke:#ffffff;stroke-width:0.725;stroke-dasharray:none;stroke-opacity:1">3</tspan></text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 4.9 KiB |
Binary file not shown.
|
@ -7,6 +7,8 @@ import 'package:args/command_runner.dart';
|
|||
import 'package:angel3_cli/angel3_cli.dart';
|
||||
import 'package:io/ansi.dart';
|
||||
|
||||
//const String doctor = 'doctor';
|
||||
|
||||
void main(List<String> args) async {
|
||||
var runner = CommandRunner('angel3',
|
||||
'$asciiArt\n\nCommand-line tools for the Angel3 framework.\n\nhttps://angel3-framework.web.app');
|
||||
|
|
|
@ -243,10 +243,9 @@ class InitCommand extends Command {
|
|||
var gitDir = Directory.fromUri(projectDir.uri.resolve('.git'));
|
||||
if (await gitDir.exists()) await gitDir.delete(recursive: true);
|
||||
} catch (e) {
|
||||
await boilerplateDir.delete(recursive: true);
|
||||
//await boilerplateDir.delete(recursive: true).catchError((e) {
|
||||
// print('Got error: ${e.error}');
|
||||
//});
|
||||
await boilerplateDir.delete(recursive: true).catchError((e) {
|
||||
print('Got error: ${e.error}');
|
||||
});
|
||||
|
||||
if (e is! String) {
|
||||
print(red.wrap('$ballot Could not initialize Angel3 project.'));
|
||||
|
@ -281,34 +280,34 @@ Future preBuild(Directory projectDir) async {
|
|||
if (buildCode != 0) throw Exception('Failed to pre-build resources.');
|
||||
}
|
||||
|
||||
const repoLocation = 'https://github.com/dart-backend';
|
||||
const repoLocation = 'https://github.com/dukefirehawk';
|
||||
|
||||
const BoilerplateInfo graphQLBoilerplate = BoilerplateInfo(
|
||||
'GraphQL',
|
||||
'A starter application with GraphQL support.',
|
||||
'$repoLocation/boilerplates.git',
|
||||
ref: 'v7/angel3-graphql',
|
||||
ref: 'angel3-graphql',
|
||||
);
|
||||
|
||||
const BoilerplateInfo ormBoilerplate = BoilerplateInfo(
|
||||
'ORM for PostgreSQL',
|
||||
'A starter application with ORM support for PostgreSQL.',
|
||||
'$repoLocation/boilerplates.git',
|
||||
ref: 'v7/angel3-orm',
|
||||
ref: 'angel3-orm',
|
||||
);
|
||||
|
||||
const BoilerplateInfo ormMySqlBoilerplate = BoilerplateInfo(
|
||||
'ORM for MySQL/MariaDB',
|
||||
'A starter application with ORM support for MySQL/MariaDB.',
|
||||
'ORM for MariaDB',
|
||||
'A starter application with ORM support for MariaDB.',
|
||||
'$repoLocation/boilerplates.git',
|
||||
ref: 'v7/angel3-orm-mysql',
|
||||
ref: 'angel3-orm-mysql',
|
||||
);
|
||||
|
||||
const BoilerplateInfo basicBoilerplate = BoilerplateInfo(
|
||||
'Basic',
|
||||
'A basic starter application with minimal packages.',
|
||||
'$repoLocation/boilerplates.git',
|
||||
ref: 'v7/angel3-basic');
|
||||
ref: 'angel3-basic');
|
||||
|
||||
const BoilerplateInfo sharedBoilerplate = BoilerplateInfo(
|
||||
'Shared',
|
||||
|
|
|
@ -41,7 +41,7 @@ class ControllerCommand extends Command {
|
|||
}
|
||||
|
||||
var deps = <MakerDependency>[
|
||||
const MakerDependency('angel3_framework', '^7.0.0')
|
||||
const MakerDependency('angel3_framework', '^4.1.0')
|
||||
];
|
||||
|
||||
//${pubspec.name}.src.models.${rc.snakeCase}
|
||||
|
@ -49,7 +49,7 @@ class ControllerCommand extends Command {
|
|||
var rc = ReCase(name!);
|
||||
var controllerLib = Library((controllerLib) {
|
||||
if (argResults?['websocket'] as bool) {
|
||||
deps.add(const MakerDependency('angel3_websocket', '^7.0.0'));
|
||||
deps.add(const MakerDependency('angel3_websocket', '^4.0.0'));
|
||||
controllerLib.directives
|
||||
.add(Directive.import('package:angel3_websocket/server.dart'));
|
||||
} else {
|
||||
|
|
|
@ -37,7 +37,7 @@ class MigrationCommand extends Command {
|
|||
name = prompts.get('Name of model class');
|
||||
}
|
||||
|
||||
var deps = [const MakerDependency('angel3_migration', '^7.0.0')];
|
||||
var deps = [const MakerDependency('angel3_migration', '^4.0.0')];
|
||||
var rc = ReCase(name!);
|
||||
|
||||
var migrationLib = Library((migrationLib) {
|
||||
|
|
|
@ -62,9 +62,9 @@ class ModelCommand extends Command {
|
|||
if (needsSerialize) {
|
||||
modelLib.directives.add(
|
||||
Directive.import('package:angel3_serialize/angel3_serialize.dart'));
|
||||
deps.add(const MakerDependency('angel3_serialize', '^7.0.0'));
|
||||
deps.add(const MakerDependency('angel3_serialize_generator', '^7.0.0'));
|
||||
deps.add(const MakerDependency('build_runner', '^2.2.0'));
|
||||
deps.add(const MakerDependency('angel3_serialize', '^4.0.0'));
|
||||
deps.add(const MakerDependency('angel3_serialize_generator', '^4.0.0'));
|
||||
deps.add(const MakerDependency('build_runner', '^2.0.0'));
|
||||
}
|
||||
|
||||
// else {
|
||||
|
@ -77,7 +77,7 @@ class ModelCommand extends Command {
|
|||
modelLib.directives.addAll([
|
||||
Directive.import('package:angel3_orm/angel3_orm.dart'),
|
||||
]);
|
||||
deps.add(const MakerDependency('angel3_orm', '^7.0.0'));
|
||||
deps.add(const MakerDependency('angel3_orm', '^4.0.0'));
|
||||
}
|
||||
|
||||
modelLib.body.addAll([
|
||||
|
|
|
@ -37,7 +37,7 @@ class PluginCommand extends Command {
|
|||
}
|
||||
|
||||
var deps = <MakerDependency>[
|
||||
const MakerDependency('angel3_framework', '^7.0.0')
|
||||
const MakerDependency('angel3_framework', '^4.1.0')
|
||||
];
|
||||
|
||||
var rc = ReCase(name!);
|
||||
|
|
|
@ -43,7 +43,7 @@ class ServiceCommand extends Command {
|
|||
}
|
||||
|
||||
var deps = <MakerDependency>[
|
||||
const MakerDependency('angel3_framework', '^7.0.0')
|
||||
const MakerDependency('angel3_framework', '^4.1.0')
|
||||
];
|
||||
|
||||
// '${pubspec.name}.src.services.${rc.snakeCase}'
|
||||
|
|
|
@ -40,9 +40,9 @@ class TestCommand extends Command {
|
|||
}
|
||||
|
||||
var deps = <MakerDependency>[
|
||||
const MakerDependency('angel3_framework', '^7.0.0'),
|
||||
const MakerDependency('angel3_test', '^7.0.0', dev: true),
|
||||
const MakerDependency('test', '^1.21.0', dev: true),
|
||||
const MakerDependency('angel3_framework', '^4.2.0'),
|
||||
const MakerDependency('angel3_test', '^4.1.0', dev: true),
|
||||
const MakerDependency('test', '^1.17.0', dev: true),
|
||||
];
|
||||
|
||||
var rc = ReCase(name!);
|
||||
|
|
|
@ -225,7 +225,7 @@ class RenamingVisitor extends RecursiveAstVisitor {
|
|||
|
||||
@override
|
||||
void visitLibraryDirective(LibraryDirective node) {
|
||||
var name = node.name2?.name ?? '';
|
||||
var name = node.name.name;
|
||||
|
||||
if (name.startsWith(oldName)) {
|
||||
replace[[node.offset, node.end]] =
|
||||
|
|
|
@ -2,8 +2,10 @@ import 'package:code_builder/code_builder.dart';
|
|||
import 'generator.dart';
|
||||
|
||||
class CustomServiceGenerator extends ServiceGenerator {
|
||||
@override
|
||||
bool get createsModel => false;
|
||||
|
||||
@override
|
||||
bool get createsValidator => false;
|
||||
|
||||
const CustomServiceGenerator() : super('Custom');
|
||||
|
|
|
@ -8,7 +8,7 @@ class FileServiceGenerator extends ServiceGenerator {
|
|||
|
||||
@override
|
||||
List<MakerDependency> get dependencies =>
|
||||
const [MakerDependency('angel3_file_service', '^7.0.0')];
|
||||
const [MakerDependency('angel3_file_service', '^4.0.0')];
|
||||
|
||||
@override
|
||||
bool get goesFirst => true;
|
||||
|
@ -41,7 +41,7 @@ class FileServiceGenerator extends ServiceGenerator {
|
|||
return refer('JsonFileService').newInstance([
|
||||
refer('dbDirectory')
|
||||
.property('childFile')
|
||||
.call([literal('${pluralize(lower)}_db.json')])
|
||||
.call([literal(pluralize(lower) + '_db.json')])
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,21 @@ class ServiceGenerator {
|
|||
|
||||
List<MakerDependency> get dependencies => [];
|
||||
|
||||
@deprecated
|
||||
bool get createsModel => true;
|
||||
|
||||
@deprecated
|
||||
bool get createsValidator => true;
|
||||
|
||||
@deprecated
|
||||
bool get exportedInServiceLibrary => true;
|
||||
|
||||
@deprecated
|
||||
bool get injectsSingleton => false;
|
||||
|
||||
@deprecated
|
||||
bool get shouldRunBuild => false;
|
||||
|
||||
bool get goesFirst => false;
|
||||
|
||||
void applyToLibrary(LibraryBuilder library, String name, String lower) {}
|
||||
|
|
|
@ -4,6 +4,7 @@ import 'package:code_builder/code_builder.dart';
|
|||
class MapServiceGenerator extends ServiceGenerator {
|
||||
const MapServiceGenerator() : super('In-Memory');
|
||||
|
||||
@override
|
||||
bool get createsModel => false;
|
||||
|
||||
@override
|
||||
|
|
|
@ -10,6 +10,7 @@ class MongoServiceGenerator extends ServiceGenerator {
|
|||
List<MakerDependency> get dependencies =>
|
||||
const [MakerDependency('angel3_mongo', '^4.0.0')];
|
||||
|
||||
@override
|
||||
bool get createsModel => false;
|
||||
|
||||
@override
|
||||
|
|
|
@ -10,6 +10,7 @@ class RethinkServiceGenerator extends ServiceGenerator {
|
|||
List<MakerDependency> get dependencies =>
|
||||
const [MakerDependency('angel3_rethink', '^4.0.0')];
|
||||
|
||||
@override
|
||||
bool get createsModel => false;
|
||||
|
||||
@override
|
||||
|
|
32
pubspec.yaml
32
pubspec.yaml
|
@ -1,29 +1,29 @@
|
|||
name: angel3_cli
|
||||
version: 8.2.0
|
||||
description: The command line interface for building dart backend in Angel3 framework.
|
||||
version: 6.1.0
|
||||
description: Command line tools for the Angel3 framework, including scaffolding.
|
||||
homepage: https://angel3-framework.web.app/
|
||||
repository: https://github.com/dart-backend/angel3-cli
|
||||
repository: https://github.com/dukefirehawk/angel3-cli
|
||||
environment:
|
||||
sdk: '>=3.0.0 <4.0.0'
|
||||
sdk: '>=2.16.0 <3.0.0'
|
||||
dependencies:
|
||||
analyzer: ^6.3.0
|
||||
args: ^2.4.0
|
||||
code_builder: ^4.5.0
|
||||
dart_style: ^2.3.0
|
||||
glob: ^2.1.0
|
||||
http: ^1.0.0
|
||||
analyzer: ^4.0.0
|
||||
args: ^2.1.1
|
||||
code_builder: ^4.0.0
|
||||
dart_style: ^2.0.1
|
||||
glob: ^2.0.1
|
||||
http: ^0.13.3
|
||||
io: ^1.0.0
|
||||
inflection3: ^0.5.3+2
|
||||
mustache_template: ^2.0.0
|
||||
path: ^1.9.0
|
||||
path: ^1.8.0
|
||||
prompts: ^2.0.0
|
||||
pubspec_parse: ^1.2.0
|
||||
quiver: ^3.2.0
|
||||
recase: ^4.1.0
|
||||
pubspec_parse: ^1.0.0
|
||||
quiver: ^3.0.1
|
||||
recase: ^4.0.0
|
||||
shutdown: ^0.4.3
|
||||
watcher: ^1.1.0
|
||||
watcher: ^1.0.0
|
||||
yaml: ^3.1.0
|
||||
dev_dependencies:
|
||||
lints: ^3.0.0
|
||||
lints: ^2.0.0
|
||||
executables:
|
||||
angel3: angel3
|
||||
|
|
BIN
screenshots/screenshot.png
Normal file
BIN
screenshots/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 83 KiB |
|
@ -42,7 +42,7 @@ void main() async {
|
|||
var contents = lineList.fold<String>('', (prev, cur) {
|
||||
var updatedCur = updateImport(cur, oldName, newName);
|
||||
updatedCur = updateMustacheBinding(updatedCur, oldName, newName);
|
||||
return '$prev\n$updatedCur';
|
||||
return prev + '\n' + updatedCur;
|
||||
});
|
||||
await file.writeAsString(fmt.format(contents));
|
||||
|
||||
|
|
Loading…
Reference in a new issue