Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Apr 03 16:17
    cbracken commented #282
  • Apr 03 16:17
    cbracken commented #282
  • Mar 26 09:48
    kalmigs commented #281
  • Mar 26 09:48
    kalmigs commented #281
  • Mar 16 00:52
    cbracken commented #282
  • Mar 16 00:52
    cbracken commented #282
  • Mar 16 00:50
    cbracken commented #282
  • Mar 16 00:50
    cbracken commented #282
  • Mar 16 00:50
    cbracken opened #282
  • Mar 16 00:50
    cbracken opened #282
  • Mar 14 04:51
    dukefirehawk commented #280
  • Mar 14 04:51
    dukefirehawk commented #280
  • Mar 10 18:19
    CodeDoctorDE opened #281
  • Mar 10 18:19
    CodeDoctorDE opened #281
  • Mar 01 22:50
    rdnobrega opened #280
  • Mar 01 22:50
    rdnobrega opened #280
  • Jan 28 22:42
    kevinelliott commented #279
  • Jan 28 22:42
    kevinelliott commented #279
  • Jan 28 22:42
    kevinelliott commented #279
  • Jan 28 22:42
    kevinelliott commented #279
Thomas Hii
@dukefirehawk
@kevinelliott my fork basically locks the existing code to SDK below 2.12.0 and changed all the dependencies to local so that I can upgrade the libraries, figuring out the inter relationship between the modules and fixing failed test cases. With 2.12.0 release, can now change the SDK module by module to see if anything breaks and fix them along the way
@kevinelliott this will take some time to get through, as there are quite a few external libraries involved
Tobe Osakwe
@thosakwe

Sorry for the lack of messages from me recently. This weekend, I want to start taking care of outstanding issues (and to start working on getting Thomas's fork pulled into the main repo).

Ideally, all packages can be updated to support the recent versions of the Dart SDK, as well as null-safety. I will also get to work on updating the documentation.

Before I start working at my new job, I want to make sure that existing apps will at least continue to work, and get ready to either transfer ownership to a new person, or close things down if nobody specifically wants to take it over

In my personal opinion, it may be best for Angel to gracefully close down, and instead, most Dart-on-the-server mindshare can focus on shelf and Aqueduct
Thomas Hii
@dukefirehawk
Managed to upgrade Angel to run with Dart 2.12.x. The template for starter project can be found at https://github.com/dukefirehawk/boilerplates under basic-sdk-2.12.x and orm-sdk-2.12.x branch. Not NNBD yet. CHANGELOG.md contains the sequence of making changes to get it to NNBD. The strategy of locking the version down to 2.10 then do upgrade package by package works really well.
Kevin Elliott
@kevinelliott
@dukefirehawk Fantastic!
@thosakwe I don't disagree with you that perhaps in the mid/long term that Angel might be best sunset so that the others can hold more attention. I do feel like most of these projects tend to over-embed the ORM so tightly with the rest of the application kit, which is a strength that Angel has over the others (less coupling) in my opinion. Perhaps it is possible to use Aqueduct's ORM independent of the rest of it's framework, but it is certainly not obvious to the new user.
Thomas Hii
@dukefirehawk
@kevinelliott Next target is NNBD for basic and orm templates. Finger crossed not too many broken packages
Göran Krampe
@gokr
@dukefirehawk Oooh, very interesting. I am stuck with a fairly big Aqueduct system (with two Flutter apps) and actually a few more Aqueduct based setups that haven't evolved that far. Now that Aqueduct seems to be ending life - we have been looking at paths forward. And strongly considering going towards Go. But... hmm. :)
Denis Bakhtin
@tabula-rasa
Go’s advantage besides it’s lightning speed is high modularity. To write a web server you need an http package, orm, a view engine in case you need to produce some html pages and that is it. Every component in this list is replaceable if you need more sugar or speed. Aqueduct is more like revel, which is an antipattern in go from the beginning.
Thomas Hii
@dukefirehawk
Go is a very good long term option for building backend. Frankly, I use Flask, Spring, Play and even node.js as backend depending on what libraries are needed to get the job done. Dart backend is attractive in that having both frontend and backend using same language is much easier to work with. My use cases are geared towards microarchitecture systems. So having a small dart backend running that has the flexibility to be customize is an attractive one. If the framework meets your need, fork it and maintain your own version. Then you can customize it to better meet your development/product goal.
Göran Krampe
@gokr
I agree with all things said. I chose Aqueduct/Flutter etc around the idea that we could have a single language and it paid off fine so far. We even have code now being written for embedded ARM too. I am however a bit sad to see things being abandoned, and it's turning into a risk long term.
Jonathan Rezende
@jodinathan
we also use Aqueduct and it is working great so far.
We are aiming to use dart2native and I think aqueduct is ready for that. The only thing we are thinking is about null-safety. Maybe we fork it when time comes, but I am not sure yet.
IMO both aqueduct and angel are production-ready and very productive
Randal L. Schwartz
@RandalSchwartz
dart2native is gone. It’s called “dart compile exe” now.
Srinivasan Sasidharan
@seenu097:matrix.org
[m]
is it possible to deploy angel api's in linux?
Srinivasan Sasidharan
@seenu097:matrix.org
[m]
found the way and deployed by using PM2
Tobe Osakwe
@thosakwe

It may still be a little longer before I can continue with the current work. I just started my new job this past week, and need to firstly focus on training/onboarding, and then familiarize myself with the policies surrounding contributing to existing open source projects.

I don't imagine there will be any complications, but it will definitely take some time.

Göran Krampe
@gokr
@dukefirehawk How are things progressing? Just curious
Thomas Hii
@dukefirehawk
@gokr See https://github.com/dukefirehawk/angel. The NNDB port is still on going. Its progress at https://github.com/dukefirehawk/angel/wiki/Change-Log.
Randal L. Schwartz
@RandalSchwartz
NNBD? :)
NNDB = Non Null DataBase!
Thomas Hii
@dukefirehawk
Oops. That should be NNBD. That would be one hell of a database :)
Randal L. Schwartz
@RandalSchwartz
no more pesky null math!
j4qfrost
@j4qfrost
hee ho
Răzvan Rotaru
@roti
soo, Aqueduct is shutting down. :(
1 reply
Leonardo Costa
@leonardoprc
Does Angel already work with Dart 2 ? What steps to upgrade?
Thomas Hii
@dukefirehawk
Angel works with Dart 2
Leonardo Costa
@leonardoprc

Angel works with Dart 2

And how to upgrade?

build 1.6.2 (2.0.0 available)
build_config 0.4.5 (0.4.7 available)
...
flutter 0.0.0 from sdk flutter
flutter_launcher_icons 0.7.5 (0.9.0 available)
flutter_slidable 0.5.7
flutter_sticky_header 0.4.6 (0.5.0 available)
flutter_test 0.0.0 from sdk flutter

Leonardo Costa
@leonardoprc

MacMini-Leonardo:teste_api leonardo$ dart pub upgrade
Resolving dependencies... (4.5s)

  • _fe_analyzer_shared 14.0.0 (19.0.0 available)

    analyzer 0.41.2 (was 0.36.0) (1.3.0 available)
    angel_auth 2.1.5+1
    angel_client 2.0.2
    angel_configuration 2.2.0
    angel_container 1.1.0 (was 1.0.4)
    angel_framework 2.1.1
    angel_hot 2.0.6
    angel_http_exception 1.1.0
    angel_jael 2.0.0
    angel_migration 2.0.0
    angel_migration_runner 2.0.0
    angel_model 1.0.3
    angel_orm 2.1.0-beta.3
    angel_orm_generator 2.0.5
    angel_orm_postgres 1.0.0
    angel_production 1.0.0
    angel_route 3.1.0+1 (was 3.0.6)
    angel_serialize 2.2.3+3
    angel_serialize_generator 2.5.0
    angel_static 2.1.3+2
    angel_test 2.0.1
    angel_validate 2.0.2
    angel_websocket 2.0.3 (was 2.0.1)
    args 1.6.0 (was 1.5.1) (2.0.0 available)
    async 2.5.0 (was 2.2.0)
    boolean_selector 2.1.0 (was 1.0.4)
    build 1.6.2 (was 1.1.3) (2.0.0 available)
    build_config 0.4.5 (was 0.3.2) (0.4.7 available)
    build_daemon 2.1.10 (was 0.5.0)
    build_resolvers 1.5.3 (was 1.0.4) (2.0.0 available)
    build_runner 1.11.1 (was 1.3.3) (1.12.2 available)
    build_runner_core 6.1.7 (was 3.0.3) (6.1.12 available)
    built_collection 5.0.0 (was 4.2.0)
    built_value 8.0.4 (was 6.4.0)
    charcode 1.2.0 (was 1.1.2)

  • checked_yaml 1.0.4 (2.0.1 available)
  • cli_util 0.3.0
    code_buffer 1.0.1

    code_builder 3.7.0 (was 3.2.0)
    collection 1.15.0 (was 1.14.11)
    combinator 1.1.0
    convert 2.1.1 (3.0.0 available)

  • coverage 0.15.2 (1.0.2 available)

    crypto 2.1.5 (was 2.0.6) (3.0.0 available)
    dart2_constant 1.0.2+dart2 (discontinued)
    dart_style 1.3.12 (was 1.2.7) (2.0.0 available)
    dbcrypt 2.0.0
    dotenv 1.0.0 (2.0.0 available)
    file 5.2.1 (was 5.0.7) (6.1.0 available)
    fixnum 1.0.0 (was 0.10.9)
    glob 1.2.0 (was 1.1.7) (2.0.1 available)
    graphs 0.2.0 (2.0.0 available)
    html_builder 1.0.5
    http 0.12.2 (was 0.12.0+2) (0.13.1 available)
    http2 1.0.1 (was 1.0.0) (2.0.0 available)
    http_multi_server 2.2.0 (was 2.0.5) (3.0.0 available)
    http_parser 3.1.4 (was 3.1.3) (4.0.0 available)
    http_server 0.9.8+3 (was 0.9.8+1) (1.0.0 available)
    inflection2 0.4.3 (was 0.4.2)
    intl 0.15.8 (0.17.0 available)
    io 0.3.5 (was 0.3.3) (1.0.0 available)
    jael 2.0.2 (was 2.0.1+2)
    jael_preprocessor 2.0.1
    js 0.6.3 (was 0.6.1+1)
    json_annotation 4.0.1 (was 2.2.0)
    json_god 2.0.0-beta+3
    json_rpc_2 2.2.2 (was 2.0.10)
    library 0.0.3 from path /Users/Developer/template-dart/library
    logging 0.11.4 (was 0.11.3+2) (1.0.1 available)
    matcher 0.12.10 (was 0.12.5)
    merge_map 1.0.2
    meta 1.3.0 (was 1.1.7)
    mime 0.9.7 (was 0.9.6+2) (1.0.0 available)
    mock_request 1.0.7 (was 1.0.5)

  • node_interop 1.2.1
  • node_io 1.2.0

    node_preamble 1.4.13 (was 1.4.4) (2.0.0 available)
    package_config 1.9.3 (was 1.0.5) (2.0.0 available)
    path 1.8.0 (was 1.6.2)
    pedantic 1.11.0 (was 1.5.0)
    pool 1.5.0 (was 1.4.0)
    postgres 1.0.2 (2.3.1 available)
    pub_semver 2.0.0 (was 1.4.2)
    pub_sub 2.3.0 (was 2.2.0)
    pubspec_parse 0.1.8 (was 0.1.4) (1.0.0 available)
    quiver 2.1.5 (was 2.0.3) (3.0.0 available)
    quiver_hashcode 2.0.0 (discontinued replaced by quiver)
    range_header 2.0.2+2
    recase 2.0.1 (3.0.1 available)
    shelf 0.7.9 (was 0.7.5) (1.1.0 available)
    shelf_packages_handler 2.0.1 (was 1.0.4) (3.0.0 available)
    shelf_static 0.2.9+2 (was 0.2.8) (1.0.0 available)
    shelf_web_socket 0.2.4+1 (was 0.2.3) (1.0.1 available)
    source_gen 0.9.10+3 (was 0.9.4+2) (1.0.0 available)
    source_map_stack_trace 2.1.0 (was 1.1.5)
    source_maps 0.10.10 (was 0.10.8)
    source_span 1.8.1 (was 1.5.5)
    stack_trace 1.10.0 (was 1.9.3)
    stream_channel 2.1.0 (was 1.7.0)
    stream_transform 2.0.0 (was 0.0.17)
    string_scanner 1.1.0 (was 1.0.4)
    symbol_table 2.0.0
    term_glyph 1.2.0 (was 1.1.0)
    test 1.16.5 (was 1.6.2) (1.16.8 available)
    test_api 0.2.19 (was 0.2.5) (0.3.0 available)
    test_core 0.3.15 (was 0.2.4) (0.3.19 available)
    teste_model 0.0.1 from path /Users/Developer/template-dart/teste_model
    timing 0.1.1+3 (was 0.1.1+1) (1.0.0 available)
    tuple 1.0.3 (was 1.0.2) (2.0.0 available)
    typed_data 1.3.0 (was 1.1.6)
    uuid 2.2.2 (was 2.0

👆in api server 👆
Thomas Hii
@dukefirehawk
Angel does not support NNBD yet. However, if you want to run with SDK 2.12.x (in none NNBD mode, sdk: '>=2.10.0 <3.0.0'), can try out this port https://github.com/dukefirehawk/boilerplates/blob/orm-sdk-2.12.x/pubspec.yaml. And check out https://github.com/dukefirehawk/angel/wiki/Change-Log for the list of updated packages (mostly just dependencies update to the latest version prior to NNBD).
Leonardo Costa
@leonardoprc

I understand the scenario ...
And how do I modify it, point an existing project to the "dukefirehawk"?

And despite the Angel "does not support NNBD yet", does it fully function as the previous version?

Thomas Hii
@dukefirehawk
Change the angel packages in your existing project to those in https://github.com/dukefirehawk/boilerplates/blob/orm-sdk-2.12.x/pubspec.yaml and then run "pub get". For my own project, it works well. My suggestion is to upgrade and test it. There are quite a number of libraries have been upgraded to version just shy of NNBD. These may break if your project depends on them since some of the API may have been deprecated.
Leonardo Costa
@leonardoprc

how do I solve this:

angel_framework
package: angel_framework / angel_framework.dart

An easily-extensible web server framework in Dart.

The library 'package: angel_framework / angel_framework.dart' is legacy, and should not be imported into a null safe library.
Try migrating the imported library.dart (import_of_legacy_library_into_null_safe)

Ahmed Masoud
@maxzod
image.png
add this line to vs code
--no-sound-null-safety
or terminal
or android studio
Thomas Hii
@dukefirehawk

Need to have

environment:
  sdk: '>=2.10.0 <3.0.0'

in pubspec.yaml file. Do not use sdk: '>=2.12.0 <3.0.0' as it would automatically turn NNBD on.

Leonardo Costa
@leonardoprc

Need to have

environment:
  sdk: '>=2.10.0 <3.0.0'

in pubspec.yaml file. Do not use sdk: '>=2.12.0 <3.0.0' as it would automatically turn NNBD on.

Thanks... Work !

Randal L. Schwartz
@RandalSchwartz
* Paste the text enclosed with ``` on a line by itself both before and after the text.
@leonardoprc ^^
Leonardo Costa
@leonardoprc

* Paste the text enclosed with ``` on a line by itself both before and after the text.

thanks

Leonardo Costa
@leonardoprc
Do extended Controller class no longer allow static methods? (like :)
   static List <Option> mountOptions(User user) {
...
Randal L. Schwartz
@RandalSchwartz
extensions are on instances, not classes.
Randal L. Schwartz
@RandalSchwartz
As in, you can add instance methods to classes, but you can’t add class methods or override anything.
No, not quite right. I added static vars to a class.
void main() {
  print(null.that);
  null.that = 3;
  print(null.that);
}

extension on Null {

  static Object _that = Object();
  Object get that => _that;
  set that(Object other) { _that = other; }

}
////// OR //////

void main() {
//   print(null.that); fatal
  null.that = 3;
  print(null.that);
}

extension on Null {

  static late Object _that;
  Object get that => _that;
  set that(Object other) { _that = other; }

}
that’s an extension on null to make null.that possible as a global variable.
And yes, I’m twisted. :)