diff --git a/CHANGELOG.md b/CHANGELOG.md index d11a950d..c8746a60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ -# 3.0.0 +# 3.0.1 (NNBD) +* Changed Dart SDK requirements for all packages to ">=2.12.0 <3.0.0" to support NNBD. +* Updated pretty_logging to 2.0.0 +* Updated angel_http_exception to 2.0.0 +* Updated angel_cli to 3.0.0. (Rename not working) + +# 3.0.0 (Non NNBD) * Changed Dart SDK requirements for all packages to ">=2.10.0 <3.0.0" * Updated pretty_logging to 2.0.0 * Updated angel_http_exception to 2.0.0 @@ -31,7 +37,13 @@ * Updated angel_orm_test to 1.0.0 * Updated angel_orm_postgres to 2.0.0 * Update orm-sdk-2.12.x boilerplate - +* Updated angel_auth_oauth2 to 3.0.0 +* Updated angel_auth_cache to 3.0.0 +* Updated angel_auth_cors to 3.0.0 +* Updated angel_container_generator to 2.0.0 +* Updated angel_file_service to 3.0.0 +* Updated angel_eventsource to 2.0.0 (use a fork of eventsource) +* Updated angel_auth_twitter to 3.0.0 (use a fork of twitter and oauth) # 2.2.0 * Changed Dart SDK requirements for all packages to ">=2.10.0 <2.12.0" @@ -39,6 +51,6 @@ * Fixed broken code due to 3rd party libraries update * Revert packages/validate from version 3.0 to version 2.2 -# 2.1.1 and before -* Refer to packages/framework/CHANGELOG.md +# 2.1.x and below +* Refer to the orginal repo before the fork diff --git a/README.md b/README.md index c6d0d45f..5215561a 100644 --- a/README.md +++ b/README.md @@ -22,14 +22,46 @@ With features like the following, Angel is the all-in-one framework you should c See all the packages in the `packages/` directory. +## IMPORTANT NOTES +This is a port of Angel Framework to work with Dart 2.10.x and above. Dart version below 2.10.x is not supported. + +Branch: master +- Stable version of sdk-2.12.x branch + +Branch: sdk-2.10.x +- Support dart 2.10.x only. Use sdk: ">=2.10.0 <2.12.0" +- Status: Working +- Notes: Migration completed. Not all plugin packages are tested. + +Branch: sdk-2.12.x +- Support dart 2.12.x. Use sdk: ">=2.10.0 <3.0.0" +- Do not support NNBD +- Status: Working +- Notes: Basic and ORM templates are working with the core plugins migration completed. The remaining add on plugin packages are work in progress. + +Branch: sdk-2.12.x-nnbd +- Support dart 2.12.x. Use sdk: ">=2.12.0 <3.0.0" +- Support NNBD +- Status: Not working +- Notes: To be available once all the dependency libraries that support NNBD are released + +Changes: +- Upgraded dependency libraries and fixed the deprecated API + +Deprecated Features: +- None + +New features: +- None + ## Installation & Setup Once you have [Dart](https://www.dartlang.org/) installed, bootstrapping a project is as simple as running a few shell commands: -Install the [Angel CLI](https://github.com/angel-dart/cli): +Install the [Angel CLI](https://github.com/dukefirehawk/cli): ```bash -pub global activate angel_cli +pub global activate --source git https://github.com/dukefirehawk/cli.git ``` Bootstrap a project: @@ -44,14 +76,14 @@ You can even have your server run and be *hot-reloaded* on file changes: dart --observe bin/dev.dart ``` +(For CLI development only)Install Angel CLI + +```bash +pub global activate --source path ./packages/cli +``` + Next, check out the [detailed documentation](https://docs.angel-dart.dev/v/2.x) to learn to flesh out your project. -## Development - -* Install development version of Angel CLI -`dart pub global activate --source path ./packages/cli` -`dart pub global activate --source git https://github.com/dukefirehawk/angel/packages/cli` - ## Examples and Documentation Visit the [documentation](https://docs.angel-dart.dev/v/2.x) for dozens of guides and resources, including video tutorials, diff --git a/packages/auth_oauth2/example/main.dart b/packages/auth_oauth2/example/main.dart index 123cd0e4..983da4e6 100644 --- a/packages/auth_oauth2/example/main.dart +++ b/packages/auth_oauth2/example/main.dart @@ -20,17 +20,18 @@ var options = ExternalAuthOptions( /// Github doesn't properly follow the OAuth2 spec, so here's logic to parse their response. Map parseParamsFromGithub(MediaType contentType, String body) { if (contentType.type == 'application') { - if (contentType.subtype == 'x-www-form-urlencoded') + if (contentType.subtype == 'x-www-form-urlencoded') { return Uri.splitQueryString(body); - else if (contentType.subtype == 'json') + } else if (contentType.subtype == 'json') { return (json.decode(body) as Map).cast(); + } } throw FormatException( 'Invalid content-type $contentType; expected application/x-www-form-urlencoded or application/json.'); } -main() async { +void main() async { // Create the server instance. var app = Angel(); var http = AngelHttp(app); @@ -60,7 +61,7 @@ main() async { // This function is called when the user ACCEPTS the request to sign in with Github. (client, req, res) async { - var response = await client.get('https://api.github.com/user'); + var response = await client.get(Uri.parse('https://api.github.com/user')); var ghUser = json.decode(response.body); var id = ghUser['id'] as int; diff --git a/packages/auth_oauth2/pubspec.yaml b/packages/auth_oauth2/pubspec.yaml index 151b07a1..fe84396d 100644 --- a/packages/auth_oauth2/pubspec.yaml +++ b/packages/auth_oauth2/pubspec.yaml @@ -1,17 +1,24 @@ name: angel_auth_oauth2 description: angel_auth strategy for OAuth2 login, i.e. Facebook, Github, etc. -version: 2.1.0 -author: Tobe O +version: 3.0.0 +#author: Tobe O +publish_to: none environment: - sdk: ">=2.10.0 <2.12.0" + sdk: ">=2.10.0 <3.0.0" homepage: https://github.com/angel-dart/auth_oauth2.git dependencies: - angel_auth: # ^2.0.0 - path: ../auth - angel_framework: # ^2.0.0-alpha - path: ../framework - http_parser: ^3.0.0 - oauth2: ^1.0.0 + angel_auth: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/auth + angel_framework: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/framework + http_parser: ^4.0.0 + oauth2: ^2.0.0 dev_dependencies: - logging: ^0.11.0 + logging: ^1.0.0 pedantic: ^1.0.0 \ No newline at end of file diff --git a/packages/auth_twitter/pubspec.yaml b/packages/auth_twitter/pubspec.yaml index 792af5cc..7831dc2f 100644 --- a/packages/auth_twitter/pubspec.yaml +++ b/packages/auth_twitter/pubspec.yaml @@ -1,22 +1,28 @@ -author: "Tobe O " +name: "angel_auth_twitter" +#author: "Tobe O " description: "package:angel_auth strategy for Twitter login. Auto-signs requests." environment: - sdk: ">=2.10.0 <2.12.0" + sdk: ">=2.10.0 <3.0.0" homepage: "https://github.com/angel-dart/auth_twitter.git" -name: "angel_auth_twitter" -version: 2.0.0 +version: 3.0.0 +publish_to: none dependencies: - angel_auth: # ^2.0.0 - path: ../auth - angel_framework: # ^2.0.0-alpha - path: ../framework - http: ">=0.11.0 <0.13.0" + angel_auth: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/auth + angel_framework: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/framework + http: ^0.13.0 path: ^1.0.0 - # oauth: - # git: - # url: git://github.com/sh4869/oauth.dart.git - # ref: develop - twitter: ^1.0.0 + twitter: + git: + url: https://github.com/dukefirehawk/twitter.dart.git + ref: sdk-2.12.x dev_dependencies: - logging: ^0.11.0 - pedantic: ^1.0.0 + logging: ^1.0.0 + pedantic: ^1.11.0 diff --git a/packages/cache/pubspec.yaml b/packages/cache/pubspec.yaml index a4760fe2..19d5f5b7 100644 --- a/packages/cache/pubspec.yaml +++ b/packages/cache/pubspec.yaml @@ -1,19 +1,26 @@ name: angel_cache -version: 2.0.1 +version: 3.0.0 homepage: https://github.com/angel-dart/cache description: Support for server-side caching in Angel. author: Tobe O +publish_to: none environment: - sdk: ">=2.10.0 <2.12.0" + sdk: ">=2.10.0 <3.0.0" dependencies: - angel_framework: #^2.0.0-alpha - path: ../framework + angel_framework: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/framework collection: ^1.0.0 meta: ^1.0.0 pool: ^1.0.0 dev_dependencies: - angel_test: # ^2.0.0-alpha - path: ../test - glob: ^1.0.0 - http: any - test: ^1.15.7 \ No newline at end of file + angel_test: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/test + glob: ^2.0.0 + http: ^0.13.0 + test: ^1.16.5 \ No newline at end of file diff --git a/packages/cache/test/cache_test.dart b/packages/cache/test/cache_test.dart index 011981f0..2131bbc0 100644 --- a/packages/cache/test/cache_test.dart +++ b/packages/cache/test/cache_test.dart @@ -42,8 +42,8 @@ main() async { }; client = await connectTo(app); - response1 = await client.get('/date.txt'); - response2 = await client.get('/date.txt'); + response1 = await client.get(Uri.parse('/date.txt')); + response2 = await client.get(Uri.parse('/date.txt')); print(response2.headers); lastModified = HttpDate.parse(response2.headers['last-modified']); print('Response 1 status: ${response1.statusCode}'); @@ -76,7 +76,7 @@ main() async { test('invalidate', () async { await client.sendUnstreamed('PURGE', '/date.txt', {}); - var response = await client.get('/date.txt'); + var response = await client.get(Uri.parse('/date.txt')); print('Response after invalidation: ${response.body}'); expect(response.body, isNot(response1.body)); }); @@ -86,14 +86,14 @@ main() async { 'if-modified-since': HttpDate.format(lastModified.add(const Duration(days: 1))) }; - var response = await client.get('/date.txt', headers: headers); + var response = await client.get(Uri.parse('/date.txt'), headers: headers); print('Sending headers: $headers'); print('Response (${response.statusCode}): ${response.headers}'); expect(response.statusCode, 304); }); test('last-modified in the past', () async { - var response = await client.get('/date.txt', headers: { + var response = await client.get(Uri.parse('/date.txt'), headers: { 'if-modified-since': HttpDate.format(lastModified.subtract(const Duration(days: 10))) }); diff --git a/packages/cli/lib/src/commands/make/controller.dart b/packages/cli/lib/src/commands/make/controller.dart index 209aa401..1d51db01 100644 --- a/packages/cli/lib/src/commands/make/controller.dart +++ b/packages/cli/lib/src/commands/make/controller.dart @@ -43,7 +43,7 @@ class ControllerCommand extends Command { const MakerDependency('angel_framework', '^2.0.0') ]; - // ${pubspec.name}.src.models.${rc.snakeCase} + //${pubspec.name}.src.models.${rc.snakeCase} var rc = new ReCase(name); var controllerLib = new Library((controllerLib) { diff --git a/packages/client/pubspec.yaml b/packages/client/pubspec.yaml index 438e3af8..a8f3602e 100644 --- a/packages/client/pubspec.yaml +++ b/packages/client/pubspec.yaml @@ -37,5 +37,5 @@ dev_dependencies: build_runner: ^1.0.0 build_web_compilers: ^2.12.2 mock_request: ^1.0.0 - pedantic: ^1.0.0 - test: ^1.15.7 + pedantic: ^1.11.0 + test: ^1.16.5 diff --git a/packages/container/angel_container_generator/pubspec.yaml b/packages/container/angel_container_generator/pubspec.yaml index ce34c886..7e8dc788 100644 --- a/packages/container/angel_container_generator/pubspec.yaml +++ b/packages/container/angel_container_generator/pubspec.yaml @@ -1,15 +1,19 @@ name: angel_container_generator -version: 1.0.1 +version: 2.0.0 author: Tobe O description: Codegen support for using pkg:reflectable with pkg:angel_container. homepage: https://github.com/angel-dart/container.git +publish_to: none environment: - sdk: ">=2.10.0 <2.12.0" + sdk: ">=2.10.0 <3.0.0" dependencies: - angel_container: # ^1.0.0-alpha - path: ../angel_container + angel_container: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/container/angel_container reflectable: ^2.2.9 dev_dependencies: build_runner: ^1.11.1 build_test: ^1.3.6 - test: ^1.15.7 \ No newline at end of file + test: ^1.16.5 \ No newline at end of file diff --git a/packages/cors/pubspec.yaml b/packages/cors/pubspec.yaml index ae32a407..2dc178cc 100644 --- a/packages/cors/pubspec.yaml +++ b/packages/cors/pubspec.yaml @@ -1,16 +1,23 @@ author: Tobe O description: Angel CORS middleware. Port of expressjs/cors to the Angel framework. environment: - sdk: ">=2.10.0 <2.12.0" + sdk: ">=2.10.0 <3.0.0" homepage: https://github.com/angel-dart/cors.git name: angel_cors -version: 2.0.0 +version: 3.0.0 +publish_to: none dependencies: - angel_framework: #^2.0.0-alpha - path: ../framework + angel_framework: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/framework dev_dependencies: - angel_test: #^2.0.0 - path: ../test - http: ^0.12.0 - pedantic: ^1.0.0 - test: ^1.15.7 + angel_test: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/test + http: ^0.13.0 + pedantic: ^1.11.0 + test: ^1.16.5 diff --git a/packages/eventsource/pubspec.yaml b/packages/eventsource/pubspec.yaml index fb2e1d3c..78ed7476 100644 --- a/packages/eventsource/pubspec.yaml +++ b/packages/eventsource/pubspec.yaml @@ -1,18 +1,27 @@ name: angel_eventsource -version: 1.0.0 +version: 2.0.0 description: Server-sent Events (SSE) plugin for Angel. homepage: https://github.com/angel-dart/eventsource author: Tobe O +publish_to: none environment: - sdk: ">=2.10.0 <2.12.0" + sdk: ">=2.10.0 <3.0.0" dependencies: - angel_framework: #^2.0.0-alpha - path: ../framework - angel_websocket: #^2.0.0-alpha - path: ../websocket - eventsource: ^0.2.0 + angel_framework: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/framework + angel_websocket: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/websocket + eventsource: + git: + url: https://github.com/dukefirehawk/dart-eventsource.git stream_channel: ^2.0.0 dev_dependencies: - console: ^3.0.0 - logging: - test: ^1.15.7 + console: ^4.0.0 + logging: ^1.0.0 + test: ^1.16.5 diff --git a/packages/file_service/pubspec.yaml b/packages/file_service/pubspec.yaml index f11b496e..1a65cfcc 100644 --- a/packages/file_service/pubspec.yaml +++ b/packages/file_service/pubspec.yaml @@ -1,14 +1,18 @@ name: angel_file_service -version: 2.0.1 +version: 3.0.0 description: Angel service that persists data to a file on disk. author: Tobe O homepage: https://github.com/angel-dart/file_service +publish_to: none environment: - sdk: ">=2.10.0 <2.12.0" + sdk: ">=2.10.0 <3.0.0" dependencies: - angel_framework: #^2.0.0-alpha - path: ../framework - file: ^5.0.0 + angel_framework: + git: + url: https://github.com/dukefirehawk/angel.git + ref: sdk-2.12.x + path: packages/framework + file: ^6.1.0 pool: ^1.0.0 dev_dependencies: - test: ^1.15.7 \ No newline at end of file + test: ^1.16.5 \ No newline at end of file