Giter Site home page Giter Site logo

angel-dart / angel Goto Github PK

View Code? Open in Web Editor NEW
1.1K 1.1K 71.0 40.5 MB

[ARCHIVED] A polished, production-ready backend framework in Dart for the VM, AOT, and Flutter.

Home Page: https://angel-dart.dev/

License: MIT License

Dart 98.07% CSS 0.01% Lua 0.01% HTML 0.28% JavaScript 0.05% Julia 0.01% Shell 0.11% CMake 0.03% C++ 1.14% C 0.06% Python 0.17% Mustache 0.01% TypeScript 0.05%
angel angel-framework dart dart-web framework server web websocket-server

angel's People

Contributors

alextekartik avatar axellebot avatar c4wrd avatar daniel-v avatar davidosborn avatar deep-gaurav avatar eikebartels avatar eliasreis54 avatar fredtma avatar jodinathan avatar kevinelliott avatar klavs avatar korsvanloon avatar micimize avatar patoconnor43 avatar soulman-is-good avatar thosakwe avatar tvolkert avatar yarcowang avatar zengyun261 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

angel's Issues

First app - connection error

Hi,
Firstly I would like to thank you for your hard work. I'm very pleased someone finally started creating full-stack framework for dart. Because it's a beta version I thought it's a good time have a look at it.

Base on the installation guide I run angel start and all work fine. Then I open http://localhost:3000 the app in the browser and then I'm getting the bellow error in the console:

SocketException: OS Error: Connection refused, errno = 61, address = localhost, port = 57584
#0      ProxyLayer.serveFile.<serveFile_async_body> (package:angel_proxy/src/proxy_layer.dart)
#1      _asyncErrorWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:34)
#2      _rootRunBinary (dart:async/zone.dart:1170)
#3      _CustomZone.runBinary (dart:async/zone.dart:1049)
#4      _FutureListener.handleError (dart:async/future_impl.dart:146)
#5      _Future._propagateToListeners.handleError (dart:async/future_impl.dart:649)
#6      _Future._propagateToListeners (dart:async/future_impl.dart:671)
#7      _Future._completeError (dart:async/future_impl.dart:485)
#8      _Future._asyncCompleteError.<anonymous closure> (dart:async/future_impl.dart:537)
#9      _rootRun (dart:async/zone.dart:1150)
#10     _CustomZone.run (dart:async/zone.dart:1026)
#11     _CustomZone.runGuarded (dart:async/zone.dart:924)
#12     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:951)
#13     _microtaskLoop (dart:async/schedule_microtask.dart:41)
#14     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#15     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)
#16     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:149)

SEVERE: 2017-02-06 15:21:26.330914: /images/favicon.png: Unhandled exception occurred - 
SEVERE: 2017-02-06 15:21:26.331358: 
#0      ProxyLayer.serveFile.<serveFile_async_body> (package:angel_proxy/src/proxy_layer.dart)
#1      _asyncErrorWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:34)
#2      _rootRunBinary (dart:async/zone.dart:1170)
#3      _CustomZone.runBinary (dart:async/zone.dart:1049)
#4      _FutureListener.handleError (dart:async/future_impl.dart:146)
#5      _Future._propagateToListeners.handleError (dart:async/future_impl.dart:649)```
#6      _Future._propagateToListeners (dart:async/future_impl.dart:671)
#7      _Future._completeError (dart:async/future_impl.dart:485)
#8      _Future._asyncCompleteError.<anonymous closure> (dart:async/future_impl.dart:537)
#9      _rootRun (dart:async/zone.dart:1150)
#10     _CustomZone.run (dart:async/zone.dart:1026)
#11     _CustomZone.runGuarded (dart:async/zone.dart:924)
#12     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:951)
#13     _microtaskLoop (dart:async/schedule_microtask.dart:41)
#14     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#15     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)
#16     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:149)```

MimeType == null for Virtual Directory

I failed to do a pull request on the Angel Static Plugin.
So I'll put my suggestion here.

In the file virtual_directory.dart line 290 about.
lookupMimeType(file.path) sometimes returns a mime of null, this in turn, causes non-critical error logs when writting the header in dart:io -> http_headers.dart

I added a default value of 'text/plain'.

String type = lookupMimeType(file.path) ?? 'text/plain';
_ensureContentTypeAllowed(type, req);
res.headers[HttpHeaders.CONTENT_TYPE] = type;

if (streamToIO == true) {
  res
    ..io.headers.set(HttpHeaders.CONTENT_TYPE, type)
    ..io.headers.set(HttpHeaders.CONTENT_ENCODING, 'gzip')
    ..end()
    ..willCloseItself = true;

  await file.openRead().transform(GZIP.encoder).pipe(res.io);
} else {
  await res.sendFile(file);
}

angel init fails

angel init
Creating new Angel project in /home/hdcos/projects/coucbasyu/....
[1] Yes
[2] No
Directory '/home/hdcos/projects/coucbasyu/.' exists. Overwrite it? (Yes/No)yes
FileSystemException: Deletion failed, path = '.' (OS Error: Invalid argument, errno = 22)

Test `isProduction` behavior in plug-in

Hello,

I'm writing a plug-in for Angel, and I have some production-only behavior that I would like to test before shipping it. Is there any way (outside of running the test twice) to test both with isProduction false and with it true?

Thanks,
-tlf

P.S. Sorry if I'm missing something obvious, I'm fairly new to Dart.

Angel 1.0.0 -> 1.1.0 migration guide

Based on the changelog, up to 1.1.0: https://pub.dartlang.org/packages/angel_framework/versions/1.1.1#-changelog-tab-

Main points:

  • angel_diagnostics is deprecated - instead just pass a Logger and set it as app.logger.
  • Removed AngelFatalError, and subsequently fatalErrorStream.
    • Errors are automatically create 500. Set app.logger to see output.
    • angel_errors is no longer useful.
  • Removed all @deprecated members.
  • Removed @hooked, beforeProcessed, and afterProcessed.
  • Made injections in RequestContext private.
  • Renamed properties in AngelBase to configuration.
  • Added support for pattern matching and other injections via @Parameter()
  • Officially deprecated properties in Angel.
  • Fixed a bug where cached routes would not heed the request method. #173
  • Reworked error handling logic; now, errors will not automatically default to sending JSON.
  • Removed the onController stream from Angel.
  • Controllers now longer use call, which has now been renamed to configureServer.

Aside from these points, there are several things to note.

Migration in itself will be pretty easy to achieve. Plugins and services haven't really changed, it's just the HTTP server itself.

Docs on "Deployment on Ubuntu with nginx"

There should be a basic guide to deploying an Angel instance underneath a nginx server on Ubuntu. This is pretty simple, and doesn't require much in the way of DevOps.

  1. Create unprivileged user web
    a. Can only operate in /home/web, where we'll host the application.
  2. Install Dart for web
  3. Set ANGEL_ENV=production in web account
  4. Sync changes with the server
    a. Use SFTP
    b. Or, sync from a private Git repo
    c. Host a local Git server to sync changes
    d. Git version histories take up more space, so probably just use SFTP for this guide.
  5. Set up ufw for 80, 443, ssh
  6. Use systemd (comes with Ubuntu) to start server on system boot, and restart if it crashes
    a. https://askubuntu.com/questions/919054/how-do-i-run-a-single-command-at-startup-using-systemd
  7. Basic nginx setup with proxy_pass
    a. Don't run your application server as root
    b. Serve static files via nginx instead of Angel
    i. Even though CachingVirtualDirectory is extremely simple to use, it would be served via proxy
    ii. It's faster for nginx to serve your static files directly.

Virtual Directory not working without forward slash `/`

When creating a VR Dir with

await app.configure(new VirtualDirectory(source: new Directory('node_modules/swagger-ui-dist/'), publicPath: 'swagger',));

If you go to http://localhost:3000/swagger/ this will work because there is a root /
but http://localhost:3000/swagger without the / won't work.
Also when you do a trace in the code, you will notice that if you make a request for a file named the same as the publicPath, that file will be replaced in the file virtual_directory.dart line 179

@ path = path.replaceAll(new RegExp('^' + _pathify(_prefix)), '');

if path = 'swagger-ui.css' it will result to -ui.css
This only happens when the request does not have '/'

angel start OSX 10.11.6 fails two separate ways

First ran angel init demonic_chat then angel start and got this error:

Starting server...
Unhandled error occurred: SocketException: OS Error: Connection refused, errno = 61, address = localhost, port = 58886
#0      _ConnectionManager._connect.<_connect_async_body> (package:mongo_dart/src/network/connection_manager.dart:24:5)
#1      _asyncErrorWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:34)
#2      _rootRunBinary (dart:async/zone.dart:1170)
#3      _CustomZone.runBinary (dart:async/zone.dart:1049)
#4      _FutureListener.handleError (dart:async/future_impl.dart:146)
#5      _Future._propagateToListeners.handleError (dart:async/future_impl.dart:649)
#6      _Future._propagateToListeners (dart:async/future_impl.dart:671)
#7      _Future._completeError (dart:async/future_impl.dart:485)
#8      _Future._asyncCompleteError.<anonymous closure> (dart:async/future_impl.dart:537)
#9      _rootRun (dart:async/zone.dart:1150)
#10     _CustomZone.run (dart:async/zone.dart:1026)
#11     _CustomZone.runGuarded (dart:async/zone.dart:924)
#12     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:951)
#13     _microtaskLoop (dart:async/schedule_microtask.dart:41)
#14     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#15     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)
#16     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:149)

then tried dart bin/server.dart and got the same error. After this I tried to replicate this by running angel init angel_test and then angel start and got this error(dart bin/server.dart also throws this error):

Starting server...
Unhandled exception:
Could not import "package:intl/intl.dart" from "file:///Users/torchhound/angel_test/bin/common.dart": Could not resolve a package location for base at file:///Users/torchhound/angel_test/bin/server.dart
null

Plugin guidelines

  • Plugins should only do one thing
  • Functions are preferred to classes
  • Always need to be well-documented and thoroughly tested
  • Make sure no other plugin already does that
  • Try to get it added to main org
  • Should generally be small
  • Not modify app configuration
  • Stay away from io
  • Explain app.isProduction, app.environment

MIME type error

Hi -

I think this might have something to do with the latest Dartium update and the Issue #44 fix (that may need to be re-opened.)

Fresh clone, trying to access 'localhost:3000' I get:

Refused to execute script from 'http://localhost:3000/packages/browser/dart.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

Maybe I can disable strict MIME-type checking in the browser, but that's not a real fix.

Thoughts appreciated,
thanx,
rickb

Docs on "Proper Service Implementation"

https://github.com/angel-dart/angel/wiki/Proper-Service-Implementation

Important things to consider:

  • mongo is a good reference implementation]
  • Services need only worry about handling Maps. Object serialization should be handled by angel_serialize, another serializer, or TypedService.
  • Allowing users to query the service via query string is optional (see allowQuery)
  • Allowing users to remove all entries is optional, and should be disabled by default
    • DELETE /null should trigger an evaluation of allowRemoveAll
    • Service.toId will return null in these cases
  • Always return the most recent representation of the data
    • After remove, return the old item
    • After modify/update, return what the item looks like in the database
  • modify and update are not interchangeable!
    • modify merges changes into an existing item
    • update overwrites an existing item
    • BOTH should create an item with the given ID if it does not already exist

Issues with cli tooling (win10, 64 bits)

Hi

I just tried Dart for the first time.
I have 2 major issues which are stopping me from even starting out;

  1. When i try pub global activate angel_cli, the process gets stuck at Installed executable angel..
    I am assuming that Angel was indeed instaled but i am not sure if any further steps were not performed.

  2. angel init goes into a loop and as such i am not even able to create a boilerplate project.

PS C:\Users\Mockingbird\DevSpace\Dart\angelu> angel init
Creating new Angel project in C:\Users\Mockingbird\DevSpace\Dart\angelu\....
[1] Yes
[2] No
Directory 'C:\Users\Mockingbird\DevSpace\Dart\angelu\.' already exists. Overwrite it? (Yes/No)y
[1] Yes
[2] No
Directory 'C:\Users\Mockingbird\DevSpace\Dart\angelu\.' already exists. Overwrite it? (Yes/No)y
[1] Yes
[2] No
Directory 'C:\Users\Mockingbird\DevSpace\Dart\angelu\.' already exists. Overwrite it? (Yes/No)y
[1] Yes
[2] No
Directory 'C:\Users\Mockingbird\DevSpace\Dart\angelu\.' already exists. Overwrite it? (Yes/No)y
[1] Yes
[2] No
Directory 'C:\Users\Mockingbird\DevSpace\Dart\angelu\.' already exists. Overwrite it? (Yes/No)y
[1] Yes
[2] No
Directory 'C:\Users\Mockingbird\DevSpace\Dart\angelu\.' already exists. Overwrite it? (Yes/No)y
[1] Yes
[2] No
Directory 'C:\Users\Mockingbird\DevSpace\Dart\angelu\.' already exists. Overwrite it? (Yes/No)
[1] Yes
[2] No
Directory 'C:\Users\Mockingbird\DevSpace\Dart\angelu\.' already exists. Overwrite it? (Yes/No)
[1] Yes
[2] No
Directory 'C:\Users\Mockingbird\DevSpace\Dart\angelu\.' already exists. Overwrite it? (Yes/No)
[1] Yes
[2] No
Directory 'C:\Users\Mockingbird\DevSpace\Dart\angelu\.' already exists. Overwrite it? (Yes/No)
[1] Yes
[2] No

I am on windows 10, 64 bits and have installed Angel CLI version 1.1.4.
Dart is Dart VM version: 1.24.2 (Thu Jun 22 08:55:56 2017) on "windows_x64"

Response is not stooped on 404

On an angel init project 1 (full project), if you target nonexisting resource e.g http://localhost:3000/notFound, you will get an endless pending resource.

in lib/src/routes/routes.dart if you use comment out the exception handling and use

app.after.add((ResponseContext res) => 'Not Found');

This will work but the current way it is setup with the default template does not work event though the error is caught.
online 28 in the file plugin.dart whether I variable result with a bool value of false or a Map back the request does not end.

Virtual Directory Issue

Maybe I am doing this wrong, I want to be redirected to the swagger-ui directory with the following code.

await app.configure(new VirtualDirectory(source: new Directory('node_modules/swagger-ui-dist/'), publicPath: 'swagger/'));

However, I see that on line 89 in file virtual_directory.dart the variable _prefix is assigned the value of the publicPath variable with the slash removed.

_prefix = publicPath.replaceAll(_straySlashes, '');

_prefix is then used to replace the path with an empty string on line 179.

path = path.replaceAll(new RegExp('^' + _pathify(_prefix)), '');

path is later used to resolve to the source directory on line 184

Problem comes when, If I have path e.g. /swagger/index.html
The following will happen.

189: path = '/swagger/index.html'.replaceAll(new RegExp('^' + _pathify('swagger')), '');
//path = '/index.html'
184 var absolute = source.absolute.uri.resolve(path).toFilePath();
//absolute = '/index.html'

The forward slash in the path resolves it to the /root directory.
Adding
path = path.replaceAll(_straySlashes, '');
solve this for me as a temp solution

The example in the Error handling wiki

final errors = new ErrorHandler({
404: (req, res) async => render404Page(),
403: (req, res) async => renderForbidden(),
500: (req, res) async => renderGenericErrorPage()
});

Should be

final errors = new ErrorHandler(handlers: {
404: (req, res) async => render404Page(),
403: (req, res) async => renderForbidden(),
500: (req, res) async => renderGenericErrorPage()
});

User Model

  1. Don't need to specify types of this args in constructor
  2. final List<String> roles = [] and add to this instead of override

Starting a first project

I have this error:

max@iMac-di-Massimiliano > ~/Progetti > angel init hello
Creating new Angel project in /Users/max/Progetti/hello...
Choose a project type before continuing:
[1] Basic (Minimal starting point - A simple server with only a few additional packages.)
[2] ORM (A starting point for applications that use Angel's ORM.)
Choice: 2
Cloning "ORM" boilerplate from "https://github.com/angel-dart/boilerplate_orm.git"...
Cloning into '/Users/max/Progetti/hello'...
Generated new development JWT secret: igcogQTEBuJQd4SPOJtHCHQkJNMJsJoE
Generated new production JWT secret: 56317767360521002u6505516E7g083l
Renaming project from "angel" to "hello"...
Renaming library file `/Users/max/Progetti/hello/lib/angel.dart`...
Updated file `/Users/max/Progetti/hello/bin/server.dart`.
Updated file `/Users/max/Progetti/hello/lib/hello.dart`.
Updated file `/Users/max/Progetti/hello/lib/src/models/user.dart`.
Updated file `/Users/max/Progetti/hello/lib/src/models/user.g.dart`.
Updated file `/Users/max/Progetti/hello/test/all_test.dart`.
Updated file `/Users/max/Progetti/hello/tool/migrate.dart`.
Now running pub get...
Running pub at "/usr/local/Cellar/dart/1.24.3/libexec/bin/pub"...
Resolving dependencies...
+ analyzer 0.30.0+4 (0.31.0-alpha.2 available)
+ angel_auth 1.1.0+2
+ angel_client 1.2.0+1
+ angel_common 1.0.0
+ angel_compress 1.0.0+2
+ angel_configuration 1.1.0
+ angel_cors 1.0.0+2
+ angel_diagnostics 1.0.2
+ angel_errors 1.0.0 (1.1.0 available)
+ angel_file_security 1.1.0
+ angel_framework 1.1.0+3
+ angel_hot 1.1.0
+ angel_http_exception 1.0.0
+ angel_migration 1.0.0-alpha+3
+ angel_migration_runner 1.0.0-alpha+6
+ angel_model 1.0.0
+ angel_mongo 1.1.6
+ angel_mustache 1.1.0
+ angel_orm 1.0.0-alpha+12
+ angel_orm_generator 1.0.0-alpha+6
+ angel_proxy 1.1.0
+ angel_relations 1.0.1
+ angel_route 2.0.5
+ angel_serialize 1.0.0
+ angel_serialize_generator 1.0.0
+ angel_static 1.3.0
+ angel_test 1.1.0
+ angel_validate 1.0.3
+ angel_websocket 1.1.1
+ args 0.13.7 (1.2.0 available)
+ async 1.13.3 (2.0.3 available)
+ barback 0.15.2+14
+ body_parser 1.0.3
+ boolean_selector 1.0.2
+ bson 0.3.0
+ build 0.9.3 (0.12.0 available)
+ build_barback 0.3.0 (0.5.0+2 available)
+ build_runner 0.3.4+1 (0.7.8 available)
+ charcode 1.1.1
+ cli_util 0.1.2+1
+ code_builder 1.0.4 (3.0.0 available)
+ code_transformers 0.5.1+3
+ collection 1.14.5
+ combinator 1.0.0-beta+7
+ console 2.2.4
+ container 0.1.2
+ convert 2.0.1
+ crypto 2.0.2+1
+ csslib 0.14.1
+ dart_style 1.0.9
+ dotenv 0.1.3+3
+ file 2.3.5
+ fixnum 0.10.6
+ fnx_profiler 0.9.1
+ front_end 0.1.0-alpha.4.1 (0.1.0-alpha.7 available)
+ func 1.0.0
+ glob 1.1.5
+ html 0.13.2+2
+ html_builder 1.0.2
+ http 0.11.3+16
+ http_multi_server 2.0.4
+ http_parser 3.1.1
+ http_server 0.9.6
+ id 1.0.16
+ inflection 0.4.1
+ intl 0.15.2
+ io 0.3.1
+ isolate 1.1.0
+ js 0.6.1
+ json_god 2.0.0-beta+1
+ kernel 0.3.0-alpha.1.1 (0.3.0-alpha.4 available)
+ logging 0.11.3+1
+ matcher 0.12.1+4
+ merge_map 1.0.0
+ meta 1.1.2
+ mime 0.9.5
+ mock_request 1.0.2
+ mongo_dart 0.3.1
+ mongo_dart_query 0.3.0
+ more 1.8.1
+ multi_server_socket 1.0.1
+ mustache4dart 1.1.0 (2.1.0 available)
+ node_preamble 1.4.0
+ package_config 1.0.3
+ package_resolver 1.0.2
+ path 1.5.1
+ plugin 0.2.0+2
+ pool 1.3.4
+ postgres 0.9.6
+ pub_semver 1.3.2
+ quiver 0.22.0 (0.28.0 available)
+ quiver_hashcode 1.0.0
+ random_string 0.0.1
+ recase 1.0.0+1
+ shelf 0.6.8 (0.7.2 available)
+ shelf_packages_handler 1.0.3
+ shelf_static 0.2.7
+ shelf_web_socket 0.2.2
+ source_gen 0.7.0 (0.7.4+1 available)
+ source_map_stack_trace 1.1.4
+ source_maps 0.10.4
+ source_span 1.4.0
+ stack_trace 1.9.1
+ stream_channel 1.6.3
+ stream_transform 0.0.9
+ string_scanner 1.0.2
+ term_glyph 1.0.0
+ test 0.12.30+1
+ tuple 1.0.1
+ typed_data 1.1.5
+ utf 0.9.0+3
+ uuid 0.5.3
+ vector_math 1.4.7 (2.0.5 available)
+ vm_service_lib 0.3.5 (0.3.5+1 available)
+ watcher 0.9.7+6
+ web_socket_channel 1.0.6
+ yaml 2.1.13
Downloading angel_common 1.0.0...
Downloading angel_compress 1.0.0+2...
Downloading angel_relations 1.0.1...
Downloading angel_serialize 1.0.0...
Downloading angel_hot 1.1.0...
Downloading angel_migration 1.0.0-alpha+3...
Downloading html_builder 1.0.2...
Downloading angel_errors 1.0.0...
Downloading angel_file_security 1.1.0...
Downloading angel_serialize_generator 1.0.0...
Downloading angel_cors 1.0.0+2...
Downloading angel_mustache 1.1.0...
Downloading angel_migration_runner 1.0.0-alpha+6...
Downloading angel_orm_generator 1.0.0-alpha+6...
Downloading build_runner 0.3.4+1...
Downloading postgres 0.9.6...
Downloading stream_transform 0.0.9...
Downloading angel_diagnostics 1.0.2...
Downloading fnx_profiler 0.9.1...
Downloading angel_test 1.1.0...
Downloading mock_request 1.0.2...
Downloading angel_validate 1.0.3...
Downloading angel_orm 1.0.0-alpha+12...
Downloading angel_mongo 1.1.6...
Downloading json_god 2.0.0-beta+1...
Downloading file 2.3.5...
Downloading pool 1.3.4...
Downloading build_barback 0.3.0...
Downloading angel_configuration 1.1.0...
Downloading merge_map 1.0.0...
Downloading dotenv 0.1.3+3...
Downloading angel_proxy 1.1.0...
Downloading uuid 0.5.3...
Downloading shelf_static 0.2.7...
Downloading angel_static 1.3.0...
Downloading vm_service_lib 0.3.5...
Downloading angel_auth 1.1.0+2...
Downloading angel_websocket 1.1.1...
Downloading stream_channel 1.6.3...
Downloading mustache4dart 1.1.0...
Downloading angel_client 1.2.0+1...
Downloading angel_http_exception 1.0.0...
Downloading build 0.9.3...
Downloading mime 0.9.5...
Downloading quiver 0.22.0...
Downloading code_transformers 0.5.1+3...
Downloading shelf 0.6.8...
Downloading mongo_dart 0.3.1...
Downloading mongo_dart_query 0.3.0...
Downloading bson 0.3.0...
Downloading fixnum 0.10.6...
Downloading more 1.8.1...
Downloading source_gen 0.7.0...
Downloading barback 0.15.2+14...
Downloading test 0.12.30+1...
Downloading multi_server_socket 1.0.1...
Downloading io 0.3.1...
Downloading angel_framework 1.1.0+3...
Downloading angel_model 1.0.0...
Downloading container 0.1.2...
Downloading tuple 1.0.1...
Downloading quiver_hashcode 1.0.0...
Downloading body_parser 1.0.3...
Downloading angel_route 2.0.5...
Downloading combinator 1.0.0-beta+7...
Downloading http_server 0.9.6...
Changed 117 dependencies!
Precompiling dependencies...
Loading source assets...
Precompiled dart_style and intl.
Precompiling executables...
Precompiled test:test.
Pub process exited with code 0
โœ“ Successfully initialized Angel project.

Congratulations! You are ready to start developing with Angel!
To start the server (with file watching), run `dart bin/dev.dart` in your terminal.

Find more documentation about Angel:
  * https://angel-dart.github.io
  * https://github.com/angel-dart/angel/wiki
  * https://www.youtube.com/playlist?list=PLl3P3tmiT-frEV50VdH_cIrA2YqIyHkkY
  * https://medium.com/the-angel-framework
  * https://dart.academy/tag/angel

Happy coding!

max@iMac-di-Massimiliano > ~/Progetti/hello > dart bin/server.dart
Unhandled exception:
Could not import "package:angel_framework/src/http/fatal_error.dart" from "package:angel_errors/src/plugin.dart": FileSystemException: Cannot open file, path = '/Users/max/.pub-cache/hosted/pub.dartlang.org/angel_framework-1.1.0+3/lib/src/http/fatal_error.dart' (OS Error: No such file or directory, errno = 2)
null

As see in the wiki, also if the shell says me to use dart bin/dev.dart in my terminal (but it doesn't exist.

I'm on Mac OS 10.13.3
Dart VM version: 1.24.3 (Wed Dec 13 23:26:59 2017) on "macos_x64"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.