From 6f6510ab27cf4de2222ad8699919e2d7ad42ee48 Mon Sep 17 00:00:00 2001 From: Tobe O Date: Sat, 15 Feb 2020 17:59:23 -0500 Subject: [PATCH] clear out boilerplate files/folders --- .dockerignore | 10 ---- .idea/angel.iml | 16 ----- .idea/misc.xml | 28 --------- .idea/modules.xml | 8 --- .idea/runConfigurations/dev_dart.xml | 8 --- .idea/runConfigurations/prod_dart.xml | 11 ---- .vscode/launch.json | 21 ------- Dockerfile | 14 ----- README.md | 60 ------------------- analysis_options.yaml | 8 --- bin/dev.dart | 28 --------- bin/prod.dart | 30 ---------- config/default.yaml | 5 -- config/development.yaml | 2 - config/production.yaml | 3 - lib/angel.dart | 21 ------- lib/src/config/config.dart | 33 ----------- lib/src/config/plugins/plugins.dart | 9 --- lib/src/pretty_logging.dart | 38 ------------ lib/src/routes/controllers/controllers.dart | 8 --- lib/src/routes/routes.dart | 62 -------------------- lib/src/services/services.dart | 15 ----- pubspec.yaml | 20 ------- test/all_test.dart | 43 -------------- views/error.jael | 5 -- views/hello.jael | 5 -- views/layout.jael | 17 ------ web/css/site.css | 27 --------- web/images/favicon.png | Bin 2853 -> 0 bytes web/robots.txt | 2 - 30 files changed, 557 deletions(-) delete mode 100644 .dockerignore delete mode 100644 .idea/angel.iml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/runConfigurations/dev_dart.xml delete mode 100644 .idea/runConfigurations/prod_dart.xml delete mode 100644 .vscode/launch.json delete mode 100644 Dockerfile delete mode 100644 README.md delete mode 100644 analysis_options.yaml delete mode 100644 bin/dev.dart delete mode 100644 bin/prod.dart delete mode 100644 config/default.yaml delete mode 100644 config/development.yaml delete mode 100644 config/production.yaml delete mode 100644 lib/angel.dart delete mode 100644 lib/src/config/config.dart delete mode 100644 lib/src/config/plugins/plugins.dart delete mode 100644 lib/src/pretty_logging.dart delete mode 100644 lib/src/routes/controllers/controllers.dart delete mode 100644 lib/src/routes/routes.dart delete mode 100644 lib/src/services/services.dart delete mode 100644 pubspec.yaml delete mode 100644 test/all_test.dart delete mode 100644 views/error.jael delete mode 100644 views/hello.jael delete mode 100644 views/layout.jael delete mode 100644 web/css/site.css delete mode 100644 web/images/favicon.png delete mode 100644 web/robots.txt diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index faf23bd1..00000000 --- a/.dockerignore +++ /dev/null @@ -1,10 +0,0 @@ -.dart_tool -.idea -.pub -.vscode -logs/ -test/ -build/ -.analysis-options -.packages -*.g.dart \ No newline at end of file diff --git a/.idea/angel.iml b/.idea/angel.iml deleted file mode 100644 index eae13016..00000000 --- a/.idea/angel.iml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index c65900a0..00000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - General - - - XPath - - - - - AngularJS - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index b0343846..00000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/runConfigurations/dev_dart.xml b/.idea/runConfigurations/dev_dart.xml deleted file mode 100644 index 418187ff..00000000 --- a/.idea/runConfigurations/dev_dart.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/runConfigurations/prod_dart.xml b/.idea/runConfigurations/prod_dart.xml deleted file mode 100644 index e93c56a5..00000000 --- a/.idea/runConfigurations/prod_dart.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index a1726489..00000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Development Server", - "type": "dart", - "request": "launch", - "program": "${workspaceRoot}/bin/dev.dart", - "vmAdditionalArgs": ["--observe"] - }, - { - "name": "Production Server", - "type": "dart", - "request": "launch", - "program": "${workspaceRoot}/bin/prod.dart", - "env": { - "ANGEL_ENV": "production" - } - } - ] -} diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index c84bc87e..00000000 --- a/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM google/dart:latest - -COPY ./ ./ - -# Install dependencies, pre-build -RUN pub get - -# Optionally build generaed sources. -# RUN pub run build_runner build - -# Set environment, start server -ENV ANGEL_ENV=production -EXPOSE 3000 -CMD dart bin/prod.dart diff --git a/README.md b/README.md deleted file mode 100644 index 151d490f..00000000 --- a/README.md +++ /dev/null @@ -1,60 +0,0 @@ -[![The Angel Framework](https://angel-dart.github.io/assets/images/logo.png)](https://angel-dart.dev) - -[![Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/angel_dart/discussion) -[![Pub](https://img.shields.io/pub/v/angel_framework.svg)](https://pub.dartlang.org/packages/angel_framework) -[![Build status](https://travis-ci.org/angel-dart/framework.svg?branch=master)](https://travis-ci.org/angel-dart/framework) -![License](https://img.shields.io/github/license/angel-dart/framework.svg) - -**A polished, production-ready backend framework in Dart.** - -*Note: This repo is an application boilerplate ,and not the underlying framework library.* - ------ -## About -Angel is a full-stack Web framework in Dart. It aims to -streamline development by providing many common features -out-of-the-box in a consistent manner. - -With features like the following, Angel is the all-in-one framework you should choose to build your next project: -* [GraphQL Support](https://github.com/angel-dart/graphql) -* [PostgreSQL ORM](https://github.com/angel-dart/orm) -* [Dependency Injection](https://docs.angel-dart.dev/guides/dependency-injection) -* And [much more](https://github.com/angel-dart)... - -## 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): - -```bash -pub global activate angel_cli -``` - -Bootstrap a project: - -```bash -angel init hello -``` - -You can even have your server run and be *hot-reloaded* on file changes: - -```bash -dart --observe bin/dev.dart -``` - -Next, check out the [detailed documentation](https://docs.angel-dart.dev/v/2.x) to learn to flesh out your project. - -## Examples and Documentation -Visit the [documentation](https://docs.angel-dart.dev/v/2.x) -for dozens of guides and resources, including video tutorials, -to get up and running as quickly as possible with Angel. - -Examples and complete projects can be found -[here](https://github.com/angel-dart/examples-v2). - - -You can also view the [API Documentation](http://www.dartdocs.org/documentation/angel_framework/latest). - -There is also an [Awesome Angel :fire:](https://github.com/angel-dart/awesome-angel) list. - diff --git a/analysis_options.yaml b/analysis_options.yaml deleted file mode 100644 index 29811647..00000000 --- a/analysis_options.yaml +++ /dev/null @@ -1,8 +0,0 @@ -include: package:pedantic/analysis_options.yaml -analyzer: - strong-mode: - implicit-casts: false -linter: - rules: - - unnecessary_const - - unnecessary_new diff --git a/bin/dev.dart b/bin/dev.dart deleted file mode 100644 index e22cba9e..00000000 --- a/bin/dev.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'dart:io'; -import 'package:angel/src/pretty_logging.dart'; -import 'package:angel/angel.dart'; -import 'package:angel_container/mirrors.dart'; -import 'package:angel_framework/angel_framework.dart'; -import 'package:angel_hot/angel_hot.dart'; -import 'package:logging/logging.dart'; - -main() async { - // Watch the config/ and web/ directories for changes, and hot-reload the server. - hierarchicalLoggingEnabled = true; - - var hot = HotReloader(() async { - var logger = Logger.detached('{{angel}}') - ..level = Level.ALL - ..onRecord.listen(prettyLog); - var app = Angel(logger: logger, reflector: MirrorsReflector()); - await app.configure(configureServer); - return app; - }, [ - Directory('config'), - Directory('lib'), - ]); - - var server = await hot.startServer('127.0.0.1', 3000); - print( - '{{angel}} server listening at http://${server.address.address}:${server.port}'); -} diff --git a/bin/prod.dart b/bin/prod.dart deleted file mode 100644 index db0ec67f..00000000 --- a/bin/prod.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:angel/angel.dart'; -import 'package:angel_container/mirrors.dart'; -import 'package:angel_production/angel_production.dart'; - -// NOTE: By default, the Runner class does not use the `MirrorsReflector`, or any -// reflector, by default. -// -// If your application is using any sort of functionality reliant on annotations or reflection, -// either include the MirrorsReflector, or use a static reflector variant. -// -// The following use cases require reflection: -// * Use of Controllers, via @Expose() or @ExposeWS() -// * Use of dependency injection into constructors, whether in controllers or plain `container.make` calls -// * Use of the `ioc` function in any route -// -// The `MirrorsReflector` from `package:angel_container/mirrors.dart` is by far the most convenient pattern, -// so use it if possible. -// -// However, the following alternatives exist: -// * Generation via `package:angel_container_generator` -// * Creating an instance of `StaticReflector` -// * Manually implementing the `Reflector` interface (cumbersome; not recommended) -// -// As of January 4th, 2018, the documentation has not yet been updated to state this, -// so in the meantime, visit the Angel chat for further questions: -// -// https://gitter.im/angel_dart/discussion -main(List args) => - Runner('{{angel}}', configureServer, reflector: MirrorsReflector()) - .run(args); diff --git a/config/default.yaml b/config/default.yaml deleted file mode 100644 index 1406625e..00000000 --- a/config/default.yaml +++ /dev/null @@ -1,5 +0,0 @@ -# Default server configuration. -jwt_secret: INSECURE_DEFAULT_SECRET -host: 127.0.0.1 -mongo_db: mongodb://localhost:27017/angel -port: 3000 diff --git a/config/development.yaml b/config/development.yaml deleted file mode 100644 index 4bed71e2..00000000 --- a/config/development.yaml +++ /dev/null @@ -1,2 +0,0 @@ -# Development-only server configuration. -debug: true \ No newline at end of file diff --git a/config/production.yaml b/config/production.yaml deleted file mode 100644 index 2b819e3f..00000000 --- a/config/production.yaml +++ /dev/null @@ -1,3 +0,0 @@ -# Production-only server configuration -debug: false -jwt_secret: INSECURE_DEFAULT_SECRET diff --git a/lib/angel.dart b/lib/angel.dart deleted file mode 100644 index e4c6f762..00000000 --- a/lib/angel.dart +++ /dev/null @@ -1,21 +0,0 @@ -/// Your very own web application! -library angel; - -import 'dart:async'; -import 'package:angel_framework/angel_framework.dart'; -import 'package:file/local.dart'; -import 'src/config/config.dart' as configuration; -import 'src/routes/routes.dart' as routes; -import 'src/services/services.dart' as services; - -/// Configures the server instance. -Future configureServer(Angel app) async { - // Grab a handle to the file system, so that we can do things like - // serve static files. - var fs = const LocalFileSystem(); - - // Set up our application, using the plug-ins defined with this project. - await app.configure(configuration.configureServer(fs)); - await app.configure(services.configureServer); - await app.configure(routes.configureServer(fs)); -} diff --git a/lib/src/config/config.dart b/lib/src/config/config.dart deleted file mode 100644 index ba224a7b..00000000 --- a/lib/src/config/config.dart +++ /dev/null @@ -1,33 +0,0 @@ -/// Configuration for this Angel instance. -library angel.src.config; - -import 'package:angel_configuration/angel_configuration.dart'; -import 'package:angel_framework/angel_framework.dart'; -import 'package:angel_jael/angel_jael.dart'; -import 'package:file/file.dart'; -import 'plugins/plugins.dart' as plugins; - -/// This is a perfect place to include configuration and load plug-ins. -AngelConfigurer configureServer(FileSystem fileSystem) { - return (Angel app) async { - // Load configuration from the `config/` directory. - // - // See: https://github.com/angel-dart/configuration - await app.configure(configuration(fileSystem)); - - // Configure our application to render Jael templates from the `views/` directory. - // - // See: https://github.com/angel-dart/jael - await app.configure(jael(fileSystem.directory('views'))); - - // Apply another plug-ins, i.e. ones that *you* have written. - // - // Typically, the plugins in `lib/src/config/plugins/plugins.dart` are plug-ins - // that add functionality specific to your application. - // - // If you write a plug-in that you plan to use again, or are - // using one created by the community, include it in - // `lib/src/config/config.dart`. - await plugins.configureServer(app); - }; -} diff --git a/lib/src/config/plugins/plugins.dart b/lib/src/config/plugins/plugins.dart deleted file mode 100644 index b025b214..00000000 --- a/lib/src/config/plugins/plugins.dart +++ /dev/null @@ -1,9 +0,0 @@ -/// Custom plugins go here. -library angel.src.config.plugins; - -import 'dart:async'; -import 'package:angel_framework/angel_framework.dart'; - -Future configureServer(Angel app) async { - // Include any plugins you have made here. -} diff --git a/lib/src/pretty_logging.dart b/lib/src/pretty_logging.dart deleted file mode 100644 index 1413f0f6..00000000 --- a/lib/src/pretty_logging.dart +++ /dev/null @@ -1,38 +0,0 @@ -import 'package:angel_http_exception/angel_http_exception.dart'; -import 'package:logging/logging.dart'; -import 'package:io/ansi.dart'; - -/// Prints the contents of a [LogRecord] with pretty colors. -void prettyLog(LogRecord record) { - var code = chooseLogColor(record.level); - - if (record.error == null) print(code.wrap(record.toString())); - - if (record.error != null) { - var err = record.error; - if (err is AngelHttpException && err.statusCode != 500) return; - print(code.wrap(record.toString() + '\n')); - print(code.wrap(err.toString())); - - if (record.stackTrace != null) { - print(code.wrap(record.stackTrace.toString())); - } - } -} - -/// Chooses a color based on the logger [level]. -AnsiCode chooseLogColor(Level level) { - if (level == Level.SHOUT) - return backgroundRed; - else if (level == Level.SEVERE) - return red; - else if (level == Level.WARNING) - return yellow; - else if (level == Level.INFO) - return cyan; - else if (level == Level.CONFIG || - level == Level.FINE || - level == Level.FINER || - level == Level.FINEST) return lightGray; - return resetAll; -} diff --git a/lib/src/routes/controllers/controllers.dart b/lib/src/routes/controllers/controllers.dart deleted file mode 100644 index e23b375b..00000000 --- a/lib/src/routes/controllers/controllers.dart +++ /dev/null @@ -1,8 +0,0 @@ -library angel.src.routes.controllers; - -import 'dart:async'; -import 'package:angel_framework/angel_framework.dart'; - -Future configureServer(Angel app) async { - /// Controllers will not function unless wired to the application! -} diff --git a/lib/src/routes/routes.dart b/lib/src/routes/routes.dart deleted file mode 100644 index 9396211c..00000000 --- a/lib/src/routes/routes.dart +++ /dev/null @@ -1,62 +0,0 @@ -/// This app's route configuration. -library angel.src.routes; - -import 'package:angel_framework/angel_framework.dart'; -import 'package:angel_static/angel_static.dart'; -import 'package:file/file.dart'; -import 'controllers/controllers.dart' as controllers; - -/// Put your app routes here! -/// -/// See the wiki for information about routing, requests, and responses: -/// * https://github.com/angel-dart/angel/wiki/Basic-Routing -/// * https://github.com/angel-dart/angel/wiki/Requests-&-Responses -AngelConfigurer configureServer(FileSystem fileSystem) { - return (Angel app) async { - // Typically, you want to mount controllers first, after any global middleware. - await app.configure(controllers.configureServer); - - // Render `views/hello.jl` when a user visits the application root. - app.get('/', (req, res) => res.render('hello')); - - // Mount static server at web in development. - // The `CachingVirtualDirectory` variant of `VirtualDirectory` also sends `Cache-Control` headers. - // - // In production, however, prefer serving static files through NGINX or a - // similar reverse proxy. - // - // Read the following two sources for documentation: - // * https://medium.com/the-angel-framework/serving-static-files-with-the-angel-framework-2ddc7a2b84ae - // * https://github.com/angel-dart/static - if (!app.environment.isProduction) { - var vDir = VirtualDirectory( - app, - fileSystem, - source: fileSystem.directory('web'), - ); - app.fallback(vDir.handleRequest); - } - - // Throw a 404 if no route matched the request. - app.fallback((req, res) => throw AngelHttpException.notFound()); - - // Set our application up to handle different errors. - // - // Read the following for documentation: - // * https://github.com/angel-dart/angel/wiki/Error-Handling - - var oldErrorHandler = app.errorHandler; - app.errorHandler = (e, req, res) async { - if (req.accepts('text/html', strict: true)) { - if (e.statusCode == 404 && req.accepts('text/html', strict: true)) { - await res - .render('error', {'message': 'No file exists at ${req.uri}.'}); - } else { - await res.render('error', {'message': e.message}); - } - } else { - return await oldErrorHandler(e, req, res); - } - }; - }; -} diff --git a/lib/src/services/services.dart b/lib/src/services/services.dart deleted file mode 100644 index 86c3eb9b..00000000 --- a/lib/src/services/services.dart +++ /dev/null @@ -1,15 +0,0 @@ -/// Declare services here! -library angel.services; - -import 'dart:async'; -import 'package:angel_framework/angel_framework.dart'; - -/// Configure our application to use *services*. -/// Services must be wired to the app via `app.use`. -/// -/// They provide many benefits, such as instant REST API generation, -/// and respond to both REST and WebSockets. -/// -/// Read more here: -/// https://github.com/angel-dart/angel/wiki/Service-Basics -Future configureServer(Angel app) async {} diff --git a/pubspec.yaml b/pubspec.yaml deleted file mode 100644 index c7898317..00000000 --- a/pubspec.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: angel -description: An app that's going to be amazing pretty soon. -publish_to: none # Ensure we don't accidentally publish our private code! ;) -environment: - sdk: '>=2.0.0-dev <3.0.0' -homepage: https://github.com/angel-dart/angel -dependencies: - angel_auth: ^2.0.0 # Supports stateless authentication via JWT - angel_configuration: ^2.0.0 # Loads application configuration, along with support for .env files. - angel_framework: ^2.0.0 # The core server library. - angel_jael: ^2.0.0 # Server-side templating engine - angel_production: ^1.0.0 # Production application runner. - angel_static: ^2.0.0 # Static file server - angel_validate: ^2.0.0 # Allows for validation of input data -dev_dependencies: - angel_hot: ^2.0.0 # Hot-reloading support. :) - angel_test: ^2.0.0 # Utilities for testing Angel servers. - io: ^0.3.2 # For pretty printing. - pedantic: ^1.0.0 # Enforces Dart style conventions. - test: ^1.0.0 # For unit testing. diff --git a/test/all_test.dart b/test/all_test.dart deleted file mode 100644 index f059dafa..00000000 --- a/test/all_test.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'package:angel/angel.dart'; -import 'package:angel_framework/angel_framework.dart'; -import 'package:angel_test/angel_test.dart'; -import 'package:test/test.dart'; - -// Angel also includes facilities to make testing easier. -// -// `package:angel_test` ships a client that can test -// both plain HTTP and WebSockets. -// -// Tests do not require your server to actually be mounted on a port, -// so they will run faster than they would in other frameworks, where you -// would have to first bind a socket, and then account for network latency. -// -// See the documentation here: -// https://github.com/angel-dart/test -// -// If you are unfamiliar with Dart's advanced testing library, you can read up -// here: -// https://github.com/dart-lang/test - -main() async { - TestClient client; - - setUp(() async { - var app = Angel(); - await app.configure(configureServer); - - client = await connectTo(app); - }); - - tearDown(() async { - await client.close(); - }); - - test('index returns 200', () async { - // Request a resource at the given path. - var response = await client.get('/'); - - // Expect a 200 response. - expect(response, hasStatus(200)); - }); -} diff --git a/views/error.jael b/views/error.jael deleted file mode 100644 index 1e93df46..00000000 --- a/views/error.jael +++ /dev/null @@ -1,5 +0,0 @@ - - -
{{ message }}
-
-
\ No newline at end of file diff --git a/views/hello.jael b/views/hello.jael deleted file mode 100644 index 7ca6b8af..00000000 --- a/views/hello.jael +++ /dev/null @@ -1,5 +0,0 @@ - - -
Angel
-
-
\ No newline at end of file diff --git a/views/layout.jael b/views/layout.jael deleted file mode 100644 index ea0714bc..00000000 --- a/views/layout.jael +++ /dev/null @@ -1,17 +0,0 @@ - - - - {{ title ?? 'Angel' }} - - - - - - -
-
- -
-
- - \ No newline at end of file diff --git a/web/css/site.css b/web/css/site.css deleted file mode 100644 index 9e40b8de..00000000 --- a/web/css/site.css +++ /dev/null @@ -1,27 +0,0 @@ -html, body { - height: 100%; -} - -body { - margin: 0; - padding: 0; - width: 100%; - display: table; - font-weight: 100; - font-family: 'Lato', sans-serif; -} - -.container { - text-align: center; - display: table-cell; - vertical-align: middle; -} - -.content { - text-align: center; - display: inline-block; -} - -.title { - font-size: 96px; -} \ No newline at end of file diff --git a/web/images/favicon.png b/web/images/favicon.png deleted file mode 100644 index 8be3ad791e165bad029dcf6f9c23c6aeb1c66fc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2853 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 diff --git a/web/robots.txt b/web/robots.txt deleted file mode 100644 index f328961c..00000000 --- a/web/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: /admin \ No newline at end of file