diff --git a/packages/jael/.gitignore b/packages/jael/.gitignore
deleted file mode 100644
index 37e7b7e6..00000000
--- a/packages/jael/.gitignore
+++ /dev/null
@@ -1,51 +0,0 @@
-# Created by .ignore support plugin (hsz.mobi)
-### 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
-
-# CMake
-cmake-build-debug/
-
-# 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
-
-# Cursive Clojure plugin
-.idea/replstate.xml
-
-# Crashlytics plugin (for Android Studio and IntelliJ)
-com_crashlytics_export_strings.xml
-crashlytics.properties
-crashlytics-build.properties
-fabric.properties
diff --git a/packages/jael/.idea/misc.xml b/packages/jael/.idea/misc.xml
deleted file mode 100644
index 639900d1..00000000
--- a/packages/jael/.idea/misc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/jael/.idea/modules.xml b/packages/jael/.idea/modules.xml
deleted file mode 100644
index d171efec..00000000
--- a/packages/jael/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/jael/.idea/runConfigurations/blocks_within_blocks_in_block_test_dart.xml b/packages/jael/.idea/runConfigurations/blocks_within_blocks_in_block_test_dart.xml
deleted file mode 100644
index 5032bd0a..00000000
--- a/packages/jael/.idea/runConfigurations/blocks_within_blocks_in_block_test_dart.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/jael/.idea/runConfigurations/for_loop_in_render_test_dart.xml b/packages/jael/.idea/runConfigurations/for_loop_in_render_test_dart.xml
deleted file mode 100644
index de242953..00000000
--- a/packages/jael/.idea/runConfigurations/for_loop_in_render_test_dart.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/jael/.idea/runConfigurations/jael__example.xml b/packages/jael/.idea/runConfigurations/jael__example.xml
deleted file mode 100644
index 5b6d4161..00000000
--- a/packages/jael/.idea/runConfigurations/jael__example.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/jael/.idea/runConfigurations/main_dart.xml b/packages/jael/.idea/runConfigurations/main_dart.xml
deleted file mode 100644
index 644077c1..00000000
--- a/packages/jael/.idea/runConfigurations/main_dart.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/jael/.idea/runConfigurations/tests_in_dsx_test_dart.xml b/packages/jael/.idea/runConfigurations/tests_in_dsx_test_dart.xml
deleted file mode 100644
index 9c1ec0de..00000000
--- a/packages/jael/.idea/runConfigurations/tests_in_dsx_test_dart.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/jael/.idea/runConfigurations/tests_in_jael.xml b/packages/jael/.idea/runConfigurations/tests_in_jael.xml
deleted file mode 100644
index b905e806..00000000
--- a/packages/jael/.idea/runConfigurations/tests_in_jael.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/jael/.idea/vcs.xml b/packages/jael/.idea/vcs.xml
deleted file mode 100644
index 94a25f7f..00000000
--- a/packages/jael/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/jael/angel_jael/.gitignore b/packages/jael/angel_jael/.gitignore
deleted file mode 100644
index 24d68312..00000000
--- a/packages/jael/angel_jael/.gitignore
+++ /dev/null
@@ -1,71 +0,0 @@
-# See https://www.dartlang.org/tools/private-files.html
-
-# Files and directories created by pub
-.dart_tool
-.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/
-
-### Dart template
-# See https://www.dartlang.org/tools/private-files.html
-
-# Files and directories created by pub
-
-# SDK 1.20 and later (no longer creates packages directories)
-
-# Older SDK versions
-# (Include if the minimum SDK version specified in pubsepc.yaml is earlier than 1.20)
-.project
-.buildlog
-**/packages/
-
-
-# Files created by dart2js
-# (Most Dart developers will use pub build to compile Dart, use/modify these
-# rules if you intend to use dart2js directly
-# Convention is to use extension '.dart.js' for Dart compiled to Javascript to
-# differentiate from explicit Javascript files)
-*.dart.js
-*.part.js
-*.js.deps
-*.js.map
-*.info.json
-
-# Directory created by dartdoc
-
-# Don't commit pubspec lock file
-# (Library packages only! Remove pattern if developing an application package)
-### 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:
-
-## VsCode
-.vscode/
-
-## File-based project format:
-*.iws
-
-## Plugin-specific files:
-
-# IntelliJ
-.idea/
-/out/
-.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
diff --git a/packages/jael/angel_jael/CHANGELOG.md b/packages/jael/angel_jael/CHANGELOG.md
index 087530c4..e7cb5908 100644
--- a/packages/jael/angel_jael/CHANGELOG.md
+++ b/packages/jael/angel_jael/CHANGELOG.md
@@ -1,19 +1,32 @@
-# 4.0.0
+# Change Log
+
+## 4.1.0
+
+* Updated to use `belatuk_symbol_table` package
+* Upgraded from `pendantic` to `lints` linter
+
+## 4.0.0
+
* Migrated to support Dart SDK 2.12.x NNBD
-# 3.0.0
+## 3.0.0
+
* Migrated to work with Dart SDK 2.12.x Non NNBD
-# 2.0.0
+## 2.0.0
+
* Angel 2 and Dart 2 updates.
* Default to `.jael` instead of `.jl`.
-# 1.0.3
+## 1.0.3
+
* Update for annoying map casting bug.
-# 1.0.2
+## 1.0.2
+
* Update for DSX support.
* Clear the buffer on errors.
-# 1.0.1
-* Use `Renderer.errorDocument`.
\ No newline at end of file
+## 1.0.1
+
+* Use `Renderer.errorDocument`.
diff --git a/packages/jael/angel_jael/LICENSE b/packages/jael/angel_jael/LICENSE
index 8f65b579..df5e0635 100644
--- a/packages/jael/angel_jael/LICENSE
+++ b/packages/jael/angel_jael/LICENSE
@@ -1,21 +1,29 @@
-MIT License (MIT)
+BSD 3-Clause License
-Copyright (c) 2021 dukefirehawk.com
+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.
\ No newline at end of file
+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/jael/angel_jael/README.md b/packages/jael/angel_jael/README.md
index f5a827e5..db0b0e3d 100644
--- a/packages/jael/angel_jael/README.md
+++ b/packages/jael/angel_jael/README.md
@@ -1,25 +1,23 @@
-# angel3_jael
-[![version](https://img.shields.io/badge/pub-v4.0.1-brightgreen)](https://pub.dartlang.org/packages/angel3_jael)
+# Angel3 Jael
+
+[![version](https://img.shields.io/badge/pub-v4.1.0-brightgreen)](https://pub.dev/packages/angel3_jael)
[![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)
+[![License](https://img.shields.io/github/license/dart-backend/belatuk-common-utilities)](https://github.com/dukefirehawk/angel/tree/angel3/packages/jael/angel_jael/LICENSE)
-[![License](https://img.shields.io/github/license/dukefirehawk/angel)](https://github.com/dukefirehawk/angel/tree/angel3/packages/jael/angel_jael/LICENSE)
+[Angel 3](https://github.com/dukefirehawk/angel/tree/angel3) support for [Jael 3](https://github.com/dukefirehawk/angel/tree/angel3/packages/jael/jael).
+## Installation
-
-[Angel](https://github.com/dukefirehawk/angel/tree/angel3)
-support for
-[Jael](https://github.com/dukefirehawk/angel/tree/angel3/packages/jael/jael).
-
-# Installation
In your `pubspec.yaml`:
```yaml
dependencies:
- angel3_jael: ^4.0.0
+ angel3_jael: ^4.1.0
```
-# Usage
+## Usage
+
Just like `mustache` and other renderers, configuring Angel to use
Jael is as simple as calling `app.configure`:
@@ -38,19 +36,15 @@ AngelConfigurer myPlugin(FileSystem fileSystem) {
}
```
-`package:angel3_jael` supports caching views, to improve server performance.
-You might not want to enable this in development, so consider setting
-the flag to `app.isProduction`:
+`package:angel3_jael` supports caching views, to improve server performance. You might not want to enable this in development, so consider setting the flag to `app.isProduction`:
-```
+```dart
jael(viewsDirectory, cacheViews: app.isProduction);
```
-Keep in mind that this package uses `package:file`, rather than
-`dart:io`.
+Keep in mind that this package uses `package:file`, rather than `dart:io`.
-The following is a basic example of a server setup that can render Jael
-templates from a directory named `views`:
+The following is a basic example of a server setup that can render Jael templates from a directory named `views`:
```dart
import 'package:angel3_framework/angel3_framework.dart';
@@ -58,7 +52,7 @@ import 'package:angel3_jael/angel3_jael.dart';
import 'package:file/local.dart';
import 'package:logging/logging.dart';
-main() async {
+void main() async {
var app = Angel();
var fileSystem = const LocalFileSystem();
@@ -83,5 +77,4 @@ main() async {
}
```
-To apply additional transforms to parsed documents, provide a
-set of `patch` functions, like in `package:jael3_preprocessor`.
\ No newline at end of file
+To apply additional transforms to parsed documents, provide a set of `patch` functions, like in `package:jael3_preprocessor`.
diff --git a/packages/jael/angel_jael/analysis_options.yaml b/packages/jael/angel_jael/analysis_options.yaml
index eae1e42a..ea2c9e94 100644
--- a/packages/jael/angel_jael/analysis_options.yaml
+++ b/packages/jael/angel_jael/analysis_options.yaml
@@ -1,3 +1 @@
-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/jael/angel_jael/lib/angel3_jael.dart b/packages/jael/angel_jael/lib/angel3_jael.dart
index 1a8e92d9..d126a741 100644
--- a/packages/jael/angel_jael/lib/angel3_jael.dart
+++ b/packages/jael/angel_jael/lib/angel3_jael.dart
@@ -3,7 +3,7 @@ import 'package:angel3_code_buffer/angel3_code_buffer.dart';
import 'package:file/file.dart';
import 'package:jael3/jael3.dart';
import 'package:jael3_preprocessor/jael3_preprocessor.dart';
-import 'package:angel3_symbol_table/angel3_symbol_table.dart';
+import 'package:belatuk_symbol_table/belatuk_symbol_table.dart';
/// Configures an Angel server to use Jael to render templates.
///
diff --git a/packages/jael/angel_jael/pubspec.yaml b/packages/jael/angel_jael/pubspec.yaml
index c11e0755..c113b104 100644
--- a/packages/jael/angel_jael/pubspec.yaml
+++ b/packages/jael/angel_jael/pubspec.yaml
@@ -1,5 +1,5 @@
name: angel3_jael
-version: 4.0.0
+version: 4.1.0
description: Angel support for the Jael templating engine, similar to Blade or Liquid.
homepage: https://github.com/dukefirehawk/angel/tree/angel3/packages/jael/angel_jael
environment:
@@ -7,15 +7,18 @@ environment:
dependencies:
angel3_framework: ^4.0.0
angel3_code_buffer: ^2.0.0
- angel3_symbol_table: ^2.0.0
- jael3: ^4.0.0
- jael3_preprocessor: ^4.0.0
+ belatuk_symbol_table: ^3.0.0
+ jael3: ^4.1.0
+ jael3_preprocessor: ^4.1.0
file: ^6.0.0
logging: ^1.0.1
dev_dependencies:
angel3_test: ^4.0.0
html: ^0.15.0
test: ^1.17.3
+ lints: ^1.0.0
#dependency_overrides:
-# web_socket_channel: ^2.0.0
-# http: ^0.13.0
\ No newline at end of file
+# jael3:
+# path: ../jael
+# jael3_preprocessor:
+# path: ../jael_preprocessor
diff --git a/packages/jael/jael/.gitignore b/packages/jael/jael/.gitignore
deleted file mode 100644
index 24d68312..00000000
--- a/packages/jael/jael/.gitignore
+++ /dev/null
@@ -1,71 +0,0 @@
-# See https://www.dartlang.org/tools/private-files.html
-
-# Files and directories created by pub
-.dart_tool
-.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/
-
-### Dart template
-# See https://www.dartlang.org/tools/private-files.html
-
-# Files and directories created by pub
-
-# SDK 1.20 and later (no longer creates packages directories)
-
-# Older SDK versions
-# (Include if the minimum SDK version specified in pubsepc.yaml is earlier than 1.20)
-.project
-.buildlog
-**/packages/
-
-
-# Files created by dart2js
-# (Most Dart developers will use pub build to compile Dart, use/modify these
-# rules if you intend to use dart2js directly
-# Convention is to use extension '.dart.js' for Dart compiled to Javascript to
-# differentiate from explicit Javascript files)
-*.dart.js
-*.part.js
-*.js.deps
-*.js.map
-*.info.json
-
-# Directory created by dartdoc
-
-# Don't commit pubspec lock file
-# (Library packages only! Remove pattern if developing an application package)
-### 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:
-
-## VsCode
-.vscode/
-
-## File-based project format:
-*.iws
-
-## Plugin-specific files:
-
-# IntelliJ
-.idea/
-/out/
-.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
diff --git a/packages/jael/jael/CHANGELOG.md b/packages/jael/jael/CHANGELOG.md
index 9f064517..09392106 100644
--- a/packages/jael/jael/CHANGELOG.md
+++ b/packages/jael/jael/CHANGELOG.md
@@ -1,48 +1,68 @@
-# 4.0.0
+# Change Log
+
+## 4.1.0
+
+* Updated to use `belatuk_symbol_table` package
+* Upgraded from `pendantic` to `lints` linter
+
+## 4.0.0
+
* Migrated to support Dart SDK 2.12.x NNBD
-# 3.0.0
+## 3.0.0
+
* Migrated to work with Dart SDK 2.12.x Non NNBD
-# 2.0.2
+## 2.0.2
+
* Fixed handling of `if` in non-strict mode.
* Roll `JaelFormatter` and `jaelfmt`.
-# 2.0.1
+## 2.0.1
+
* Fixed bug where the `textarea` name check would never return `true`.
-# 2.0.0+1
+## 2.0.0+1
+
* Meta-update for Pub score.
-# 2.0.0
+## 2.0.0
+
* Dart 2 updates.
* Remove usage of `package:dart2_constant`.
-# 1.0.6+1
+## 1.0.6+1
+
* Ensure `` passes attributes.
-# 1.0.6
+## 1.0.6
+
* Add `index-as` to `for-each`.
* Support registering + rendering custom elements.
* Improve handling of booleans in non-strict mode.
-# 1.0.5
+## 1.0.5
+
* Add support for DSX, a port of JSX to Dart.
-# 1.0.4
+## 1.0.4
+
* Skip HTML comments in free text.
-# 1.0.3
+## 1.0.3
+
* Fix a scanner bug that prevented proper parsing of HTML nodes
followed by free text.
* Don't trim `