diff --git a/packages/html/.gitignore b/packages/html/.gitignore
deleted file mode 100644
index fe4c4cfa..00000000
--- a/packages/html/.gitignore
+++ /dev/null
@@ -1,58 +0,0 @@
-# See https://www.dartlang.org/tools/private-files.html
-
-# Files and directories created by pub
-.packages
-.pub/
-build/
-# If you're building an application, you may want to check-in your pubspec.lock
-pubspec.lock
-
-# Directory created by dartdoc
-# If you don't generate documentation locally you can remove this line.
-doc/api/
-### JetBrains template
-# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
-# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
-
-# User-specific stuff:
-.idea/**/workspace.xml
-.idea/**/tasks.xml
-.idea/dictionaries
-
-# Sensitive or high-churn files:
-.idea/**/dataSources/
-.idea/**/dataSources.ids
-.idea/**/dataSources.xml
-.idea/**/dataSources.local.xml
-.idea/**/sqlDataSources.xml
-.idea/**/dynamic.xml
-.idea/**/uiDesigner.xml
-
-# Gradle:
-.idea/**/gradle.xml
-.idea/**/libraries
-
-# Mongo Explorer plugin:
-.idea/**/mongoSettings.xml
-
-## File-based project format:
-*.iws
-
-## Plugin-specific files:
-
-# IntelliJ
-/out/
-
-# mpeltonen/sbt-idea plugin
-.idea_modules/
-
-# JIRA plugin
-atlassian-ide-plugin.xml
-
-# Crashlytics plugin (for Android Studio and IntelliJ)
-com_crashlytics_export_strings.xml
-crashlytics.properties
-crashlytics-build.properties
-fabric.properties
-
-.dart_tool
\ No newline at end of file
diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md
index 3857adbb..43ec6378 100644
--- a/packages/html/CHANGELOG.md
+++ b/packages/html/CHANGELOG.md
@@ -1,5 +1,9 @@
-# 3.0.0
+# Change Log
+
+## 3.0.0
+
* Migrated to support Dart SDK 2.12.x NNBD
-# 2.0.0
-* Angel 2 + Dart 2 updates.
\ No newline at end of file
+## 2.0.0
+
+* Angel 2 + Dart 2 updates.
diff --git a/packages/html/LICENSE b/packages/html/LICENSE
index 3de28325..df5e0635 100644
--- a/packages/html/LICENSE
+++ b/packages/html/LICENSE
@@ -1,21 +1,29 @@
-MIT License
+BSD 3-Clause License
-Copyright (c) 2017 Tobe O
+Copyright (c) 2021, dukefirehawk.com
+All rights reserved.
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/packages/html/README.md b/packages/html/README.md
index cdf92e78..273b8280 100644
--- a/packages/html/README.md
+++ b/packages/html/README.md
@@ -1,16 +1,17 @@
-# html
-[![Pub](https://img.shields.io/pub/v/angel_html.svg)](https://pub.dartlang.org/packages/angel_html)
-[![build status](https://travis-ci.org/angel-dart/html.svg)](https://travis-ci.org/angel-dart/html)
+# Angel3 HTML
-A plug-in that allows you to return html_builder AST's from request handlers, and have them sent as HTML automatically.
+[![version](https://img.shields.io/badge/pub-v3.0.0-brightgreen)](https://pub.dartlang.org/packages/angel3_html)
+[![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)
-[`package:html_builder`](https://github.com/thosakwe/html_builder) is a simple virtual DOM library
-(without diffing, you can find that
-[here](https://github.com/thosakwe/html_builder_vdom)), with a handy Dart DSL that makes it easy to build HTML
-AST's:
+[![License](https://img.shields.io/github/license/dukefirehawk/angel)](https://github.com/dukefirehawk/angel/tree/angel3/packages/html/LICENSE)
+
+A plug-in that allows you to return `belatuk_html_builder` AST's from request handlers, and have them sent as HTML automatically.
+
+[`package:belatuk_html_builder`](https://pub.dev/packages/belatuk_html_builder) is a simple virtual DOM library with a handy Dart DSL that makes it easy to build HTML AST's:
```dart
-import 'package:html_builder/elements.dart';
+import 'package:belatuk_html_builder/elements.dart';
Node myDom = html(lang: 'en', c: [
head(c: [
@@ -28,19 +29,21 @@ Node myDom = html(lang: 'en', c: [
```
This plug-in means that you can now `return` these AST's, and Angel will automatically send them to
-clients. Ultimately, the implication is that you can use `html_builder` as a substitute for a
-templating system within Dart. With [hot reloading](https://github.com/angel-dart/hot), you won't
+clients. Ultimately, the implication is that you can use `belatuk_html_builder` as a substitute for a
+templating system within Dart. With [hot reloading](https://pub.dev/packages/angel3_hot), you won't
even need to reload your server (as it should be).
-# Installation
+## Installation
+
In your `pubspec.yaml`:
```yaml
dependencies:
- angel_html: ^1.0.0
+ angel3_html: ^3.0.0
```
-# Usage
+## Usage
+
The `renderHtml` function does all the magic for you.
```dart
@@ -80,4 +83,4 @@ configureServer(Angel app) async {
// ...
}
-```
\ No newline at end of file
+```
diff --git a/packages/html/analysis_options.yaml b/packages/html/analysis_options.yaml
index c230cee7..ea2c9e94 100644
--- a/packages/html/analysis_options.yaml
+++ b/packages/html/analysis_options.yaml
@@ -1,4 +1 @@
-include: package:pedantic/analysis_options.yaml
-analyzer:
- strong-mode:
- implicit-casts: false
\ No newline at end of file
+include: package:lints/recommended.yaml
\ No newline at end of file
diff --git a/packages/html/example/main.dart b/packages/html/example/main.dart
index a322cf39..3e9d3f60 100644
--- a/packages/html/example/main.dart
+++ b/packages/html/example/main.dart
@@ -1,7 +1,7 @@
-import 'package:angel_framework/angel_framework.dart';
-import 'package:angel_framework/http.dart';
-import 'package:angel_html/angel_html.dart';
-import 'package:html_builder/elements.dart';
+import 'package:angel3_framework/angel3_framework.dart';
+import 'package:angel3_framework/http.dart';
+import 'package:angel3_html/angel3_html.dart';
+import 'package:belatuk_html_builder/elements.dart';
import 'package:logging/logging.dart';
void main() async {
diff --git a/packages/html/lib/angel_html.dart b/packages/html/lib/angel3_html.dart
similarity index 78%
rename from packages/html/lib/angel_html.dart
rename to packages/html/lib/angel3_html.dart
index 2393adb1..f72506d4 100644
--- a/packages/html/lib/angel_html.dart
+++ b/packages/html/lib/angel3_html.dart
@@ -1,13 +1,14 @@
import 'dart:async';
-import 'package:angel_framework/angel_framework.dart';
-import 'package:html_builder/html_builder.dart';
+import 'package:angel3_framework/angel3_framework.dart';
+import 'package:belatuk_html_builder/belatuk_html_builder.dart';
/// Returns a [RequestMiddleware] that allows you to return `html_builder` [Node]s as responses.
///
/// You can provide a custom [renderer]. The default renders minified HTML5 pages.
///
/// Set [enforceAcceptHeader] to `true` to throw a `406 Not Acceptable` if the client doesn't accept HTML responses.
-RequestHandler renderHtml({StringRenderer? renderer, bool? enforceAcceptHeader}) {
+RequestHandler renderHtml(
+ {StringRenderer? renderer, bool? enforceAcceptHeader}) {
renderer ??= StringRenderer(pretty: false, html5: true);
return (RequestContext req, ResponseContext res) {
@@ -15,7 +16,7 @@ RequestHandler renderHtml({StringRenderer? renderer, bool? enforceAcceptHeader})
res.serializer = (data) {
if (data is! Node) {
- return oldSerializer!(data);
+ return oldSerializer(data);
} else {
if (enforceAcceptHeader == true && !req.accepts('text/html')) {
throw AngelHttpException.notAcceptable();
diff --git a/packages/html/pubspec.yaml b/packages/html/pubspec.yaml
index 1ef34ad1..ec7e0246 100644
--- a/packages/html/pubspec.yaml
+++ b/packages/html/pubspec.yaml
@@ -1,28 +1,16 @@
-name: angel_html
+name: angel3_html
version: 3.0.0
description: Support for rendering html_builder AST's as responses in Angel.
-homepage: https://github.com/angel-dart/html_builder
-publish_to: none
+homepage: https://angel3-framework.web.app/
+repository: https://github.com/dukefirehawk/angel/tree/angel3/packages/html_builder
environment:
sdk: '>=2.12.0 <3.0.0'
dependencies:
- angel_framework:
- git:
- url: https://github.com/dukefirehawk/angel.git
- ref: sdk-2.12.x_nnbd
- path: packages/framework
- html_builder:
- git:
- url: https://github.com/dukefirehawk/angel.git
- ref: sdk-2.12.x_nnbd
- path: packages/html_builder
+ angel3_framework: ^4.0.0
+ belatuk_html_builder: ^3.0.0
dev_dependencies:
- angel_test:
- git:
- url: https://github.com/dukefirehawk/angel.git
- ref: sdk-2.12.x_nnbd
- path: packages/test
+ angel3_test: ^4.0.0
html: ^0.15.0
logging: ^1.0.1
test: ^1.17.0
- pedantic: ^1.11.0
\ No newline at end of file
+ lints: ^1.0.0
\ No newline at end of file
diff --git a/packages/html/test/all_test.dart b/packages/html/test/all_test.dart
index ba2d05d4..585c05a5 100644
--- a/packages/html/test/all_test.dart
+++ b/packages/html/test/all_test.dart
@@ -1,8 +1,8 @@
-import 'package:angel_framework/angel_framework.dart';
-import 'package:angel_html/angel_html.dart';
-import 'package:angel_test/angel_test.dart';
-import 'package:html_builder/elements.dart';
-import 'package:html_builder/html_builder.dart';
+import 'package:angel3_framework/angel3_framework.dart';
+import 'package:angel3_html/angel3_html.dart';
+import 'package:angel3_test/angel3_test.dart';
+import 'package:belatuk_html_builder/elements.dart';
+import 'package:belatuk_html_builder/belatuk_html_builder.dart';
import 'package:test/test.dart';
void main() {
diff --git a/packages/html_builder/analysis_options.yaml b/packages/html_builder/analysis_options.yaml
index c5667a80..ea2c9e94 100644
--- a/packages/html_builder/analysis_options.yaml
+++ b/packages/html_builder/analysis_options.yaml
@@ -1,5 +1 @@
-include: package:pedantic/analysis_options.yaml
-
-analyzer:
- strong-mode:
- implicit-casts: false
\ No newline at end of file
+include: package:lints/recommended.yaml
\ No newline at end of file