diff --git a/.babelrc b/.babelrc
deleted file mode 100644
index a29ac99..0000000
--- a/.babelrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "presets": [
- "@babel/preset-env"
- ]
-}
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 840f628..06cfb75 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -6,15 +6,31 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- node-version: [12, 14]
+ node-version: [16,18]
steps:
- name: checkout
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: setup Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v2
+ uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Install
- run: npm install
+ run: yarn install
- name: Test
- run: npm test
+ run: yarn test
+ example:
+ name: "Run Example"
+ runs-on: ubuntu-latest
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3
+ - name: setup Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: 18
+ - name: Install
+ run: yarn install
+ working-directory: ./example
+ - name: Test
+ run: yarn test
+ working-directory: ./example
diff --git a/.gitignore b/.gitignore
index e81d444..9719758 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
/lib
+/module
### https://raw.github.com/github/gitignore/608690d6b9a78c2a003affc792e49a84905b3118/Node.gitignore
# Logs
diff --git a/.mocharc.json b/.mocharc.json
index c6f7e61..5f86336 100644
--- a/.mocharc.json
+++ b/.mocharc.json
@@ -1,6 +1,8 @@
{
- "timeout": "5000",
- "require": [
- "@babel/register"
- ]
+ "$schema": "https://json.schemastore.org/mocharc",
+ "loader": "ts-node/esm",
+ "spec": [
+ "test/**/*.{js,ts}"
+ ],
+ "timeout": 10000
}
diff --git a/README.md b/README.md
index 9315d22..7c73e8f 100644
--- a/README.md
+++ b/README.md
@@ -2,13 +2,16 @@
Add HTML support for [textlint](https://github.com/textlint/textlint "textlint").
-What is textlint plugin? Please see https://github.com/textlint/textlint/blob/master/docs/plugin.md
-
+What is textlint plugin? Please see
## Installation
npm install textlint-plugin-html
+Requirements:
+
+- textlint v13+
+
## Default supported extensions
- `.html`
@@ -52,6 +55,16 @@ For example, if you want to treat `.custom-ext` as html, put following config to
npm test
+## Development
+
+If you update snapshot, please run `npm run updateSnapshot`.
+
+### Add new test case
+
+1. add new fixture file to `test/ast-test-case//index.html`
+2. npm run updateSnapshot
+3. check outputs
+
## Contributing
1. Fork it!
diff --git a/example/.github/release.yml b/example/.github/release.yml
new file mode 100644
index 0000000..1928cc4
--- /dev/null
+++ b/example/.github/release.yml
@@ -0,0 +1,30 @@
+changelog:
+ exclude:
+ labels:
+ - 'Type: Meta'
+ - 'Type: Question'
+ - 'Type: Release'
+
+ categories:
+ - title: Security Fixes
+ labels: ['Type: Security']
+ - title: Breaking Changes
+ labels: ['Type: Breaking Change']
+ - title: Features
+ labels: ['Type: Feature']
+ - title: Bug Fixes
+ labels: ['Type: Bug']
+ - title: Documentation
+ labels: ['Type: Documentation']
+ - title: Refactoring
+ labels: ['Type: Refactoring']
+ - title: Testing
+ labels: ['Type: Testing']
+ - title: Maintenance
+ labels: ['Type: Maintenance']
+ - title: CI
+ labels: ['Type: CI']
+ - title: Dependency Updates
+ labels: ['Type: Dependencies', "dependencies"]
+ - title: Other Changes
+ labels: ['*']
diff --git a/example/.textlintrc.json b/example/.textlintrc.json
new file mode 100644
index 0000000..e1d470b
--- /dev/null
+++ b/example/.textlintrc.json
@@ -0,0 +1,11 @@
+{
+ "plugins": [
+ "html"
+ ],
+ "filters": {},
+ "rules": {
+ "preset-ja-technical-writing": {
+ "ja-no-mixed-period": false
+ }
+ }
+}
diff --git a/example/package.json b/example/package.json
new file mode 100644
index 0000000..6ae3c71
--- /dev/null
+++ b/example/package.json
@@ -0,0 +1,20 @@
+{
+ "private": true,
+ "name": "example",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "textlint test/ -f pretty-error || exit 0"
+ },
+ "workspaces": [
+ "../"
+ ],
+ "author": "azu",
+ "license": "MIT",
+ "devDependencies": {
+ "textlint": "^13.0.5",
+ "textlint-rule-preset-ja-technical-writing": "^7.0.0",
+ "textlint-plugin-html": "^0.3.0"
+ }
+}
diff --git a/example/test/jserinfo.html b/example/test/jserinfo.html
new file mode 100644
index 0000000..4887d5d
--- /dev/null
+++ b/example/test/jserinfo.html
@@ -0,0 +1,677 @@
+
+
+
+
+
+
+ 2023-01-24のJS: Bun v0.5、Remix v1.11.0、メモリリークの調査 - JSer.info
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JSer.info #628 - Bun v0.5がリリースされました。
+
+
+
+package.json
のworkspaces
を使ったインストールをサポートしています。
+Node.jsとの互換性としてnode:dns
、node:tls
、node:net
、node:readline
のサポートが追加されています。
+また、モジュール解決時の識別子の優先度の変更なども含まれています。
+
+
+
+Remix v1.11.0がリリースされました。
+
+
+
+defer
を使ってレスポンス待ちを減らせるように、@remix-run/css-bundle
でのCSSファイルのロード、CSS Modules、Vanilla Extractのサポートが追加されています。
+また、Remix v2で導入予定のFlat Routesをopt-inで利用できるようになっています。
+
+
+
+
+
+Fixing a Memory Leak in a Production Node.js App という記事と動画では、Node.jsのウェブアプリケーションで発生したメモリリークの原因を調査し、どのように修正していったかについて書かれています。
+
+
+
+動画でのライブデバッグでは、Node.jsのMemory Profilter(Chrome DevTools)を使いメモリリークの原因をデバッグしています。
+heap snapshotsをつかったメモリリークのデバッグやautocannon というHTTPベンチマークツールを使い継続的にリクエストを送って状況を再現させる方法などを紹介しています。
+
+
+
+JSer.infoをサポートするには
+
+
+
+
+
+ヘッドライン
+
+
+
+Bun v0.5 | Bun Blog
+
+bun.sh/blog/bun-v0.5.0
+
Bun rlee
+
+Bun 0.5.0リリース。
+workspaces
のインストールをサポート。
+Node.jsとの互換性としてnode:dns
、node:tls
、node:net
、node:readline
のサポート。
+モジュール解決時の識別子の優先度を変更など
+
+
+
+
+
+github.com/reduxjs/redux-toolkit/releases/tag/v2.0.0-alpha.1
+
library redux ReleaseNote
+
+Redux Toolkit v2.0.0-alpha.1リリース。
+ESM形式とCJS形式のDual Packageへの変更、thunk
関数をredux-thunk
パッケージへ移動。
+v2正式版にはImmer 10を含める予定など
+
+
+
+
+
+Q1 Roadmap · Issue #17475 · denoland/deno
+
+github.com/denoland/deno/issues/17475
+
deno issue proposal
+
+Denoの2023 Q1のロードマップ。
+deno.json
に直接import mapを埋め込めるように、type=module
のpackage.json
をサポート、node:
prefixのサポート。
+deno.land/x での semver指定のサポート、deno bundle
をDeprecateにし、deno pack
の追加など
+
+
+
+Safari 16.3 Release Notes | Apple Developer Documentation
+
+developer.apple.com/documentation/safari-release-notes/safari-16_3-release-notes
+
safari ReleaseNote
+
+Safari 16.3リリース。
+fetch()
でContent-Encoding: gzip
のコンテンツをダウンロードしたとき問題を修正、Cross-Origin-Embedder-Policy
のバグを修正。
+CSPにprefetch-src
ディレクティブの追加など
+
+
+
+
+
+Release v29.4.0 · facebook/jest
+
+github.com/facebook/jest/releases/tag/v29.4.0
+
JavaScript jest ReleaseNote
+
+Jest v29.4.0リリース。
+equal
のアルゴリズムをカスタマイズできるexpect.addEqualityTesters()
の追加、オブジェクトのプロパティをモックするjest.replaceProperty()
の追加など
+
+
+
+Release v1.11.0 · remix-run/remix
+
+github.com/remix-run/remix/releases/tag/remix%401.11.0
+
Remix ReleaseNote
+
+Remix 1.11.0リリース。
+defer
を使ってレスポンス待ちを減らせるように、@remix-run/css-bundle
でのCSSファイルのロード、CSS Modules、Vanilla Extractのサポート。
+Flat Routesをopt-inで利用できるように
+
+
+
+
+
+アーティクル
+
+
+
+Next.js製アプリケーションのコンパイルを約100倍高速化した話
+
+zenn.dev/mkt/articles/543669021d9a1e
+
Next.js article performance
+
+Next.jsのビルド速度の問題を.next/trace
のトレースデータを見て分析する方法について
+
+
+
+
+
+
+
+csswizardry.com/2023/01/why-not-document-write/
+
JavaScript article performance
+
+document.write()
がなぜ遅いかについて。
+
+
+
+Why Is My Jest Test Suite So Slow? | by Steven Lemon | Jan, 2023 | Bits and Pieces
+
+blog.bitsrc.io/why-is-my-jest-suite-so-slow-2a4859bb9ac0
+
JavaScript testing article performance
+
+Jestのテストのパフォーマンスのボトルネックの調べ方について。
+起動時間、jsdom
のロード、キャッシュ、テストファイルのロード、実際のテストの実行時間について。
+Node.jsのプロファイラーを使ってどこに問題があるかを調べる方法について
+
+
+
+Fixing a Memory Leak in a Production Node.js App
+
+kentcdodds.com/blog/fixing-a-memory-leak-in-a-production-node-js-app
+
node.js JavaScript debug article video
+
+Node.jsのアプリケーションでメモリリークが発生し、実際にどのようにデバッグして問題を見つけていったかという記事。
+動画ではshiki
が使うvscode-oniguruma
のメモリ解放処理を呼んでいないことが原因だと判断し、Workerで処理するように変更した。
+しかし、実際にはexpress-http-proxy
がリクエストURLを保持していて、Image CDNのURLが長いためメモリを圧迫していた。
+
+
+
+SSSVG: An Interactive SVG Reference | fffuel
+
+fffuel.co/sssvg/
+
SVG tutorial
+
+実際に触りながらSVGのタグを見れるリファレンスサイト
+
+
+
+Optimize Time to First Byte
+
+web.dev/optimize-ttfb/
+
performance browser article
+
+Time to First Byte (TTFB)の改善について。
+Serving-Timing
ヘッダを使い詳細化、CDNの利用、ページのリダイレクトを避ける、SSR時にStreaming Server Renderingを行う。
+Service Workerを使ったキャッシュ戦略、103 Early Hintsについてなど
+
+
+
+サイト、サービス、ドキュメント
+
+
+
+amandaghassaei/gpu-io: A GPU-accelerated computing library for physics simulations and other mathematical calculations
+
+github.com/amandaghassaei/gpu-io
+
WebGL JavaScript library
+
+WebGLを使ったGPU処理を扱うライブラリ
+
+
+
+ソフトウェア、ツール、ライブラリ関係
+
+
+
+Brooooooklyn/canvas:
+ High performance skia binding to Node.js. Zero system dependencies and
+pure npm packages without any postinstall scripts nor node-gyp.
+
+github.com/Brooooooklyn/canvas
+
node.js canvas library
+
+native addonsを使ったskia backendのCanvas APIの実装ライブラリ。
+アーキテクチャに合わせたoptionalDependenciesでprebuildのSkiaを含めたバイナリがダウンロードされるため、システムに対して事前に依存をインストールを追加する必要がない
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JSer.info Slackに参加する
+
+
+
+
\ No newline at end of file
diff --git a/example/test/jsprimer.html b/example/test/jsprimer.html
new file mode 100644
index 0000000..7d14cb2
--- /dev/null
+++ b/example/test/jsprimer.html
@@ -0,0 +1,2089 @@
+
+
+
+
+ JavaScriptとは · JavaScript Primer #jsprimer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JavaScriptとは
+JavaScriptを学びはじめる前に、まずJavaScriptとはどのようなプログラミング言語なのかを紹介します。
+JavaScriptは主にウェブブラウザの中で動くプログラミング言語です。
+ウェブサイトで操作をしたら表示が書き換わったり、ウェブサイトのサーバーと通信してデータを取得したりと現在のウェブサイトには欠かせないプログラミング言語です。
+このようなJavaScriptを活用してアプリケーションのように操作できるウェブサイトをウェブアプリとも言います。
+JavaScriptはウェブブラウザだけではなく、Node.jsというサーバー側のアプリケーションを作る仕組みでも利用されています。
+また、デスクトップアプリやスマートフォンアプリ、IoT(Internet of Things)デバイスでもJavaScriptを使って動かせるものがあります。
+このように、JavaScriptはかなり幅広い環境で動いているプログラミング言語で、さまざまな種類のアプリケーションを作成できます。
+ JavaScriptとECMAScript
+JavaScriptという言語はECMAScript という仕様によって動作が決められています。
+ECMAScript という仕様では、どの実行環境でも共通な動作のみが定義されているため、基本的にどの実行環境でも同じ動作をします。
+一方で、実行環境によって異なる部分もあります。
+たとえば、ブラウザではUI(ユーザーインターフェース)を操作するためのJavaScriptの機能が定義されていますが、サーバー側の処理を書くNode.jsではそれらの機能は不要です。
+このように、実行環境によって必要な機能は異なるため、それらの機能は実行環境ごとに定義(実装)されています。
+そのため、「ECMAScript」はどの実行環境でも共通の部分、「JavaScript」はECMAScriptと実行環境の固有機能も含んだ範囲というのがイメージしやすいでしょう。
+
+ECMAScriptの仕様で定義されている機能を学ぶことで、どの実行環境でも対応できる基本的な部分を学べます。
+この書籍では、この違いを明確に区別する必要がある場合は「ECMAScript」と「JavaScript」という単語を使い分けます。
+そうでない場合、「JavaScript」という単語を使います。
+また、このECMAScriptという仕様(共通の部分)も毎年アップデートされ、新しい文法や機能が追加されています。
+そのため、実行環境によっては古いバージョンのECMAScriptを実装したものとなっている場合があります。
+ECMAScriptは2015年にECMAScript 2015(ES2015)として大きくアップデートされた仕様が公開されました。
+今からJavaScriptを学ぶなら、ES2015以降を基本にしたほうがわかりやすいため、この書籍はES2015に基づいた内容となっています。
+また、既存のコードはES2015より前のバージョンを元にしたものも多いため、それらのコードに関しても解説しています。
+まずは、JavaScript(ECMAScript)とはどのような言語なのかを大まかに見ていきます。
+ JavaScriptってどのような言語?
+JavaScriptは、元々Netscape Navigatorというブラウザのために開発されたプログラミング言語です。
+C、Java、Self、Schemeなどのプログラミング言語の影響を受けて作られました。
+JavaScriptは、大部分がオブジェクト(値や処理を1つにまとめたものと考えてください)であり、そのオブジェクト同士のコミュニケーションによって成り立っています。
+オブジェクトには、ECMAScriptの仕様として定められたオブジェクト、
+実行環境が定義したオブジェクト、ユーザー(つまりあなたです)の定義したオブジェクトが存在します。
+この書籍の「第一部: 基本文法 」ではECMAScriptの定義する構文やオブジェクトを学んでいきます。
+「第二部: 応用編(ユースケース) 」ではブラウザやNode.jsといった実行環境が定義するオブジェクトを学びながら、小さなアプリケーションを作成していきます。
+ユーザーの定義したオブジェクトは、コードを書いていくと自然と登場するため、適宜見ていきます。
+次に、JavaScriptの言語的な特徴を簡単に紹介していきます。
+ 大文字と小文字を区別する
+まず、JavaScriptは大文字小文字を区別します。
+たとえば、次のようにname
という変数を大文字と小文字で書いた場合に、
+それぞれは別々のname
とNAME
という名前の変数として認識されます。
+
+const name = "azu" ;
+
+const NAME = "azu" ;
+
+また、大文字で開始しなければならないといった命名規則が意味を持つケースはありません。
+そのため、あくまで別々の名前として認識されるというだけになっています
+(変数についての詳細は「変数と宣言 」の章で解説します)。
+ 予約語を持つ
+JavaScriptには特別な意味を持つキーワードがあり、これらは予約語とも呼ばれます。
+このキーワードと同じ名前の変数や関数は宣言できません。
+先ほどの、変数を宣言するconst
も予約語のひとつとなっています。
+そのため、const
という名前の変数名は宣言できません。
+ 文はセミコロンで区切られる
+JavaScriptは、文(Statement)ごとに処理していき、文はセミコロン(;
)によって区切られます。
+特殊なルールに基づき、セミコロンがない文も、行末に自動でセミコロンが挿入されるという仕組みも持っています。1
+しかし、暗黙的なものへ頼ると意図しない挙動が発生するため、セミコロンは常に書くようにします
+(詳細は「文と式 」の章で解説します)。
+また、スペース、タブ文字などは空白文字(ホワイトスペース)と呼ばれます。
+これらの空白文字を文にいくつ置いても挙動に違いはありません。
+たとえば、次の1
足す1
を行う2つの文は、+
の前後の空白文字の個数に違いはありますが、動作としてはまったく同じ意味となります。
+
+
+1 + 1 ;
+1 + 1 ;
+
+
+空白文字の置き方は人によって好みが異なるため、書き方も異なる場合があります。
+複数人で開発する場合は、これらの空白文字の置き方を決めたコーディングスタイルを決めるとよいでしょう。
+コーディングスタイルの統一については「付録: 参考リンク集 」を参照してください。
+ strict mode
+JavaScriptにはstrict mode という実行モードが存在しています。
+名前のとおり厳格な実行モードで、古く安全でない構文や機能が一部禁止されています。
+"use strict"
という文字列をファイルまたは関数の先頭に書くことで、そのスコープにあるコードはstrict modeで実行されます。
+また、後述する"Module"の実行コンテキストでは、このstrict modeがデフォルトとなっています。
+"use strict" ;
+
+
+strict modeでは、eval
やwith
といったレガシーな機能や構文を禁止します。
+また、明らかな問題を含んだコードに対しては早期的に例外を投げることで、開発者が間違いに気づきやすくしてくれます。
+たとえば、次のようなconst
などのキーワードを含まずに変数を宣言しようとした場合に、strict modeでは例外が発生します。
+strict modeでない場合は、例外が発生せずにグローバル変数が作られます。
+"use strict" ;
+mistypedVariable = 42 ;
+
+このように、strict modeでは開発者が安全にコードを書けるように、JavaScriptの落とし穴を一部ふさいでくれます。
+そのため、常にstrict modeで実行できるコードを書くことが、より安全なコードにつながります。
+本書では、明示的に「strict modeではない」ことを宣言した場合を除き、
+すべてstrict modeとして実行できるコードを扱います。
+ 実行コンテキスト: ScriptとModule
+JavaScriptの実行コンテキストとして"Script"と"Module"があります。
+コードを書く場合には、この2つの実行コンテキストの違いを意識することは多くありません。
+"Script"の実行コンテキストは、多くの実行環境ではデフォルトの実行コンテキストです。
+"Script"の実行コンテキストでは、デフォルトはstrict modeではありません。
+"Module"の実行コンテキストは、JavaScriptをモジュールとして実行するために、ECMAScript 2015で導入されたものです。
+"Module"の実行コンテキストでは、デフォルトがstrict modeとなり、古く安全でない構文や機能は一部禁止されています。
+また、モジュールの機能は"Module"の実行コンテキストでしか利用できません。モジュールについての詳細は「ECMAScriptモジュール 」の章で解説します。
+ JavaScriptの仕様は毎年更新される
+最後に、JavaScriptの仕様であるECMAScriptは毎年更新され、JavaScriptには新しい構文や機能が増え続けています。
+そのため、この書籍で学んだ後もまだまだ知らなかったことが出てくるはずです。
+一方で、ECMAScriptは後方互換性が慎重に考慮されているため、過去に書いたJavaScriptのコードが動かなくなる変更はほとんど入りません。
+そのため、この書籍で学んだことのすべてが無駄になることはありません。
+ECMAScriptの仕様がどのように策定されているかについては「ECMAScript 」の章で解説します。
+
+1 . Automatic Semicolon Insertionと呼ばれる仕組みです。 ↩
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+問題を報告する
\ No newline at end of file
diff --git a/example/test/textlint.github.io.html b/example/test/textlint.github.io.html
new file mode 100644
index 0000000..b77ad11
--- /dev/null
+++ b/example/test/textlint.github.io.html
@@ -0,0 +1,302 @@
+
+
+textlint v13.0.0 · textlint
We just publish textlint v13.0.0, which is a major release upgrade of textlint.
+textlint v13 support ESM rules/plugins native.
+We have rewritten CLI and textlint
package.
+However, it is not a breaking change for most textlint
CLI users.
+Almost CLI behaviors are the same as textlint v12.
+ Summary
+For textlint user
+You can upgrade textlint via following commands:
+npm install textlint@13 --save-dev
+# or
+yarn install textlint@13 --dev
+
+textlint 13.0.0 requires Node.js 16+.
+If you use Node.js 14, you need to upgrade Node.js to 16+.
+
+For textlint rule creator
+You can write own rule as ESM module.
+textlint
v13.0.0 can load ESM rules native. So you need to transpile your rule to CommonJS.
+textlint
CLI load ESM rules and lint files!
+:warning: However, textlint editor plugin may not support ESM rules yet.
+You need to wait for editor plugin author migrate to textlint new APIs.
+For textlint module user
+If you use textlint
as node module, you should use new APIs.
+textlint
package provides new APIs from v12.3.0
+We have introduced new API like createLinter
for supporting Async APIs.
+v13 continue to support current TextlintCore
, TextLintEngine
and TextFixEngine
for backward compatible.
+However, These API will be retired in the future.
+New createLinter
and loadTextlintrc
supports ESM rules/plugins.
+textlint
modules user should use these instead of TextlintCore
, TextLintEngine
and TextFixEngine
.
+ℹ️ Timeline:
+
+textlint v12.3.0 support old APIs(deprecated) and new APIs
+
+use old APIs as default
+
+textlint v13.0.0 support old APIs(deprecated) and new APIs
+
+use new APIs as default - CURRENT
+
+textlint v14.0.0 drop to support old APIs
+
+
+
+API Description Behavior Target Platform v13+
+
+
+cli Command LIne Interface Async Node.js ✅ (Use createLinter
and loadTextlintrc
internally)
+textlint TextLintCore alias Async Node.js/CommonJS ❌ Deprecated
+TextLintCore Old API. It is Procedural API. Lint Only Single File. Recommended to use @texltint/kernel module instead of It. Async Node.js/CommonJS ❌ Deprecated
+TextLintEngine Lint Engine API. It load .textlintrc automaticaly ◉ Loading is Sync ◉ Linting is Async Node.js/CommonJS ❌ Deprecated
+TextFixEngine Fix Engine API. It load .textlintrc automaticaly ◉ Loading is Sync ◉ Fixing is Async Node.js/CommonJS ❌ Deprecated
+createLinter/loadTextlintrc Support Async APIs. ◉ Loading is Async ◉ Linting/Fixing is Async Node.js/CommonJS and ESM ✅ Recommended
+
+
+ New APIs
+textlint v12.3.0 introduce new APIs.
+textlint will drop support old APIs(textlint
, TextLintEngine
, TextFixEngine
, and TextLintCore
) in the future.
+📝 Old APIs can not support ECMAScript modules, new APIs support ECMAScript modules.
+
+createLinter
: create linter instance
+
+lintFiles(files): Promise<TextlintResult[]>
: lint files and return linter messages
+lintText(text, filePath): Promise<TextlintResult>
lint text with virtual filePath and return linter messages
+fixFiles(files): Promise<TextlintFixResult[]>
lint text and return fixer messages
+fixText(text, filePath): Promise<TextlintFixResult>
lint text with virtual filePath and return fixer messages
+
+fixFiles
and fixText
does not modify files
+
+
+loadTextlintrc
: load .textlintrc
config file and return a descriptor object
+loadLinerFormatter
and loadFixerFormatter
: load formatter
+
+ Examples
+Lint files and output to console.
+import { createLinter, loadTextlintrc, loadLinterFormatter } from "textlint" ;
+
+
+const descriptor = await loadTextlintrc();
+const linter = createLinter({
+ descriptor
+});
+const results = await linter.lintFiles(["*.md" ]);
+
+const formatter = await loadLinterFormatter({ formatterName: "stylish" })
+const output = formatter.format(results);
+console .log(output);
+
+For more details, please read next document.
+
+If you have any questions, please ask us via GitHub Discussion.
+
+ ChangeLog
+ 🔥 Breaking Changes
+
+Require Node.js 16+
+textlint --init
output .textlintrc.json
+
+Previously, textlint --init
output .textlintrc
+
+Improve @textlint/ast-node-types
types
+
+Now, All node types are defined!
+It changes the existing node type and it is a breaking change
+If you want to know TxtAST, please read TxtAST Interface
+
+Use New-CLI instead of Old-CLI
+
+textlint has introduced New-CLI and New-APIs in v12.3.0
+New-CLI uses new APIs: createLinter
/loadTextlintrc
/loadLinterFormatter
/loadFixerFormatter
( If you want to know new APIs, please read Use as Node Modules )
+It means that textlint support rules/plugins that are written by ESM 🎉
+Remove Old-CLI
+
+
+ Difference between Old-CLI and New-CLI
+
+New CLI support ESM rules/plugins
+New CLI must require --stdin-filename
with --stdin
+
+--stdin-filename
may be optional in Old-CLI
+
+Correct exit status
+
+ Exit Status on new CLI
+0
: No Error
+
+Not found lint error
+--fix: found errors but fix all errors, so exit with 0
+--output-file: Found lint error but --output-file is specified
+--dryRun: Found lint error but --dryRun is specified
+
+1
: Lint Error
+
+found lint error
+--fix: found errors and could not fix all errors, so exit with 1
+
+2
: Fatal Error
+
+Crash textlint process
+Fail to load config/rule/plugin etc...
+
+ 🆕 Features
+ Add individual Node type and Add Table/TableRow/TableCell node #1008
+
+Define all node types in @textlint/ast-node-types
+Add Table/TableRow/TableCell node to @textlint/ast-node-types
+
+These types are defined in @textlint/ast-node-types
.
+
+
+Type name Node type Description
+
+
+ASTNodeTypes.Document TxtDocumentNode(TxtParentNode) Root Node
+ASTNodeTypes.DocumentExit TxtDocumentNode(TxtParentNode)
+ASTNodeTypes.Paragraph TxtParagraphNode(TxtParentNode) Paragraph Node
+ASTNodeTypes.ParagraphExit TxtParagraphNode(TxtParentNode)
+ASTNodeTypes.BlockQuote TxtBlockQuoteNode(TxtParentNode) > Block Quote Node
+ASTNodeTypes.BlockQuoteExit TxtBlockQuoteNode(TxtParentNode)
+ASTNodeTypes.List TxtListNode(TxtParentNode) List Node
+ASTNodeTypes.ListExit TxtListNode(TxtParentNode)
+ASTNodeTypes.ListItem TxtListItemNode(TxtParentNode) List (each) item Node
+ASTNodeTypes.ListItemExit TxtListItemNode(TxtParentNode)
+ASTNodeTypes.Header TxtHeaderNode(TxtParentNode) # Header Node
+ASTNodeTypes.HeaderExit TxtHeaderNode(TxtParentNode)
+ASTNodeTypes.CodeBlock TxtCodeBlockNode(TxtParentNode) Code Block Node
+ASTNodeTypes.CodeBlockExit TxtCodeBlockNode(TxtParentNode)
+ASTNodeTypes.HtmlBlock TxtHtmlBlockNode(TxtParentNode) HTML Block Node
+ASTNodeTypes.HtmlBlockExit TxtHtmlBlockNode(TxtParentNode)
+ASTNodeTypes.Link TxtLinkNode(TxtParentNode) Link Node
+ASTNodeTypes.LinkExit TxtLinkNode(TxtParentNode)
+ASTNodeTypes.Delete TxtDeleteNode(TxtParentNode) Delete Node(~Str~
)
+ASTNodeTypes.DeleteExit TxtDeleteNode(TxtParentNode)
+ASTNodeTypes.Emphasis TxtEmphasisNode(TxtParentNode) Emphasis(*Str*
)
+ASTNodeTypes.EmphasisExit TxtEmphasisNode(TxtParentNode)
+ASTNodeTypes.Strong TxtStrongNode(TxtParentNode) Strong Node(**Str**
)
+ASTNodeTypes.StrongExit TxtStrongNode(TxtParentNode)
+ASTNodeTypes.Break TxtBreakNode Hard Break Node(Str<space><space>
)
+ASTNodeTypes.BreakExit TxtBreakNode
+ASTNodeTypes.Image TxtImageNode Image Node
+ASTNodeTypes.ImageExit TxtImageNode
+ASTNodeTypes.HorizontalRule TxtHorizontalRuleNode Horizontal Node(---
)
+ASTNodeTypes.HorizontalRuleExit TxtHorizontalRuleNode
+ASTNodeTypes.Comment TxtCommentNode Comment Node
+ASTNodeTypes.CommentExit TxtCommentNode
+ASTNodeTypes.Str TxtStrNode Str Node
+ASTNodeTypes.StrExit TxtStrNode
+ASTNodeTypes.Code TxtCodeNode Inline Code Node
+ASTNodeTypes.CodeExit TxtCodeNode
+ASTNodeTypes.Html TxtHtmlNode Inline HTML Node
+ASTNodeTypes.HtmlExit TxtHtmlNode
+ASTNodeTypes.Table TxtTableNode Table node. textlint 13+
+ASTNodeTypes.TableExit TxtTableNode
+ASTNodeTypes.TableRow TxtTableRowNode Table row node. textlint 13+
+ASTNodeTypes.TableRowExit TxtTableRowNode
+ASTNodeTypes.TableCell TxtTableCellNode Table cell node. textlint 13+
+ASTNodeTypes.TableCellExit TxtTableCellNode
+
+
+Some nodes have additional properties.
+For example, TxtHeaderNode
has level
property.
+export interface TxtHeaderNode extends TxtParentNode {
+ type : "Header" ;
+ depth: 1 | 2 | 3 | 4 | 5 | 6 ;
+ children: PhrasingContent[];
+}
+
+For more details, see @textlint/ast-node-types
.
+
+ Full Changelog
+
+ Thanks for Support!
+Many people support us, Thanks!
+If you're interested in GitHub Sponsor, please check @azu on GitHub Sponsors !
+
+
\ No newline at end of file
diff --git a/example/yarn.lock b/example/yarn.lock
new file mode 100644
index 0000000..b0f6a0c
--- /dev/null
+++ b/example/yarn.lock
@@ -0,0 +1,3231 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@azu/format-text@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@azu/format-text/-/format-text-1.0.1.tgz#6967350a94640f6b02855169bd897ce54d6cebe2"
+ integrity sha512-fyPhr8C1DHQqq/xC8gIg2jmYTw/SoY+KgtVFs6H+DFhfh4Hr4OSDeQZuK1eGpOjhuckWy9A1Hhq84+uRjoznLQ==
+
+"@azu/style-format@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@azu/style-format/-/style-format-1.0.0.tgz#e70187f8a862e191b1bce6c0268f13acd3a56b20"
+ integrity sha512-L7iaxNrk0OLsH7kw3yx3KVQTKhc2zeW0D9SLrRCqbTZi3XtvSVmmjqO73kR4EnWbTRZ18mwdAikbFYJ0coZ55Q==
+ dependencies:
+ "@azu/format-text" "^1.0.1"
+
+"@babel/parser@^7.7.5":
+ version "7.20.13"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.13.tgz#ddf1eb5a813588d2fb1692b70c6fce75b945c088"
+ integrity sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==
+
+"@cspotcode/source-map-support@^0.8.0":
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
+ integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
+ dependencies:
+ "@jridgewell/trace-mapping" "0.3.9"
+
+"@jridgewell/resolve-uri@^3.0.3":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
+ integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
+
+"@jridgewell/sourcemap-codec@^1.4.10":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
+ integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
+
+"@jridgewell/trace-mapping@0.3.9":
+ version "0.3.9"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
+ integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.0.3"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+
+"@textlint-rule/textlint-rule-no-invalid-control-character@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@textlint-rule/textlint-rule-no-invalid-control-character/-/textlint-rule-no-invalid-control-character-2.0.0.tgz#1d058af373bc34256097941429d0c04e5eca519a"
+ integrity sha512-EmTC9mrmI5tm9AS+/jv46CzQVycdPjAvH5sk0DjjYCXYNv2oTWk+7naAyKJ3kKQlLzG4KHmX/JDHerVF2T6S2Q==
+ dependencies:
+ execall "^1.0.0"
+
+"@textlint-rule/textlint-rule-no-unmatched-pair@^1.0.8":
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/@textlint-rule/textlint-rule-no-unmatched-pair/-/textlint-rule-no-unmatched-pair-1.0.9.tgz#ab359aae12d8d9f79405f413c1aab2b67f1d793a"
+ integrity sha512-uUZhMWs+4ZIXIDfmQcfKdSx17Yx/eGdEUSDs/0UCggzy1nGOi5GMNHo6sUV3NSjSx22vTySj1imsBaBZCyCWNA==
+ dependencies:
+ sentence-splitter "^3.0.11"
+ textlint-rule-helper "2.0.1"
+
+"@textlint/ast-node-types@^13.0.2", "@textlint/ast-node-types@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-13.0.5.tgz#fcea5a5ad29478e84b3de6286fea0b32278b685b"
+ integrity sha512-BiH5QOKDs52WR2Q26POwm5RaNs7hnU6TCrkoo4uECZQjjDQoaQWsp242KDQnvbiGnkj/a2xl+XPMuFCyn0XqjA==
+
+"@textlint/ast-node-types@^4.2.4", "@textlint/ast-node-types@^4.4.2":
+ version "4.4.3"
+ resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz#fdba16e8126cddc50f45433ce7f6c55e7829566c"
+ integrity sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==
+
+"@textlint/ast-tester@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/ast-tester/-/ast-tester-13.0.5.tgz#10460ddcff950e9d83e147f40db802da163e8e27"
+ integrity sha512-aUxXqRJCr+WPzNwjHw6oBLi+R1mH/PUODXyScOMUR2E57zpb1teTNX0h0aI+S5YgdoyfXW42LMS94T3hqhxJsQ==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.5"
+ debug "^4.3.4"
+
+"@textlint/ast-traverse@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/ast-traverse/-/ast-traverse-13.0.5.tgz#b04ed88ca15c51be1fe2120aade9c190a04504c9"
+ integrity sha512-ouAAaP1o1JbHGjmII8TH89/ldFPnL7SRVvoGIQPPSfPVdyAGXHPGSsjoMYzcRxAdv4i5f/jJY/V7uHMMptWJFA==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.5"
+
+"@textlint/config-loader@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/config-loader/-/config-loader-13.0.5.tgz#f052d3dd1814dd6777ed3d3d1cfce1a236e31cbf"
+ integrity sha512-rxPYYE8iyZXief5kHwzIZJ+x0DTPvRj/pG8YJpX9A5zO4BTDLwHmk4NZSAF+xEpR11ebN63ystfcqMEEaOMj4w==
+ dependencies:
+ "@textlint/kernel" "^13.0.5"
+ "@textlint/module-interop" "^13.0.5"
+ "@textlint/types" "^13.0.5"
+ "@textlint/utils" "^13.0.5"
+ debug "^4.3.4"
+ rc-config-loader "^4.1.2"
+ try-resolve "^1.0.1"
+
+"@textlint/feature-flag@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/feature-flag/-/feature-flag-13.0.5.tgz#0464c7a10b727594e2bebd4bc0c792a8ee430dc6"
+ integrity sha512-CxdCp9nrPWhzXPFC24Rj1nMIFTsynQGwE8KY1cm3U6iB04iRzRTQBkCTizMhAd1eJ0A7391QNgvCK3/sSAHZ0g==
+
+"@textlint/fixer-formatter@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/fixer-formatter/-/fixer-formatter-13.0.5.tgz#49ef8c72edd6aadf7edda0b28e84988d2db5d0a3"
+ integrity sha512-bsEsxwMmqm7YtdTtlIbHLf09ZzSG3qgIVASUJxFlICQGs45jqS+QXDIGWuiOQgDnBu3VF8HCYN+gcbW9+pnfxA==
+ dependencies:
+ "@textlint/module-interop" "^13.0.5"
+ "@textlint/types" "^13.0.5"
+ chalk "^4.1.2"
+ debug "^4.3.4"
+ diff "^4.0.2"
+ is-file "^1.0.0"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+ text-table "^0.2.0"
+ try-resolve "^1.0.1"
+
+"@textlint/kernel@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/kernel/-/kernel-13.0.5.tgz#a39a14eafbd76b596a83bada26da4ced6b6a8c26"
+ integrity sha512-gUL8La3RH/69tK5a0g7aDJZgNJt710u6Xhz2YXDI0rher31+Bm0AXdJEQUscWoCRkPuZFiofjfhosPUyPePdyA==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.5"
+ "@textlint/ast-tester" "^13.0.5"
+ "@textlint/ast-traverse" "^13.0.5"
+ "@textlint/feature-flag" "^13.0.5"
+ "@textlint/source-code-fixer" "^13.0.5"
+ "@textlint/types" "^13.0.5"
+ "@textlint/utils" "^13.0.5"
+ debug "^4.3.4"
+ fast-equals "^4.0.3"
+ structured-source "^4.0.0"
+
+"@textlint/linter-formatter@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/linter-formatter/-/linter-formatter-13.0.5.tgz#70d213b54f34dc14f3375844d19669b3164b05dd"
+ integrity sha512-D/WEm1e8vSLD5VgHkVx3UBF/KV+FtKJDdjh650mV0qFWhPPNuPy0BMPpg7PPxS13XYDcByAlD/yGqbQ0rURg6Q==
+ dependencies:
+ "@azu/format-text" "^1.0.1"
+ "@azu/style-format" "^1.0.0"
+ "@textlint/module-interop" "^13.0.5"
+ "@textlint/types" "^13.0.5"
+ chalk "^4.1.2"
+ debug "^4.3.4"
+ is-file "^1.0.0"
+ js-yaml "^3.14.1"
+ lodash "^4.17.21"
+ optionator "^0.9.1"
+ pluralize "^2.0.0"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+ table "^6.8.1"
+ text-table "^0.2.0"
+ try-resolve "^1.0.1"
+
+"@textlint/markdown-to-ast@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/markdown-to-ast/-/markdown-to-ast-13.0.5.tgz#f440a4ef3ad25ceb69a90219b304bec16c5439c9"
+ integrity sha512-2nDdv1PEkKa9GHJQHpDvrTC+QRtw5p0M4oVHvFP/va4r/fdfupKC78XtZ9aQCgJxjZcMWAlvvUsBz/70vEthqw==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.5"
+ debug "^4.3.4"
+ mdast-util-gfm-autolink-literal "^0.1.3"
+ remark-footnotes "^3.0.0"
+ remark-frontmatter "^3.0.0"
+ remark-gfm "^1.0.0"
+ remark-parse "^9.0.0"
+ traverse "^0.6.7"
+ unified "^9.2.2"
+
+"@textlint/module-interop@^12.0.0":
+ version "12.6.1"
+ resolved "https://registry.yarnpkg.com/@textlint/module-interop/-/module-interop-12.6.1.tgz#82adf942281a8880e1ad70b305d8caba87356830"
+ integrity sha512-COyRctLVh2ktAObmht3aNtqUvP0quoellKu1c2RrXny1po+Mf7PkvEKIxphtArE4JXMAmu01cDxfH6X88+eYIg==
+
+"@textlint/module-interop@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/module-interop/-/module-interop-13.0.5.tgz#e4c79d77263ab98b0c157e69729079cd0d5ca324"
+ integrity sha512-aOpAH/wBXTUyE+HJ7lUSntDup0TMlLmYtQc5v1VY2qG4veQFeEE9i2XgU12kmxk0KUikde4YYkfieom78r5VBA==
+
+"@textlint/regexp-string-matcher@^1.0.2", "@textlint/regexp-string-matcher@^1.1.0":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@textlint/regexp-string-matcher/-/regexp-string-matcher-1.1.1.tgz#6f19d5cc6b21264a1749ce8d49cb8995c025b917"
+ integrity sha512-rrNUCKGKYBrZALotSF8D5A8xD05VHX6kxv0BP805Ig2M73Ha6LK+de31+ZocGm4CO+sikVFYyMCPPJhp7bCXcw==
+ dependencies:
+ escape-string-regexp "^2.0.0"
+ execall "^2.0.0"
+ lodash.sortby "^4.7.0"
+ lodash.uniq "^4.5.0"
+ lodash.uniqwith "^4.5.0"
+ to-regex "^3.0.2"
+
+"@textlint/source-code-fixer@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/source-code-fixer/-/source-code-fixer-13.0.5.tgz#bb2852680b8f8bdcc55452fa7c70e906dd879027"
+ integrity sha512-ahJ74NNbo3d/2L2ICkyyYNGjZufnO2yjzmtm2cRhqy9+0x65DwpeX+XKc87itRvWbke+xIMfVZA965t6JsuVag==
+ dependencies:
+ "@textlint/types" "^13.0.5"
+ debug "^4.3.4"
+
+"@textlint/text-to-ast@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/text-to-ast/-/text-to-ast-13.0.5.tgz#0d9e8258c4055583176702dce17c0b4f261673d8"
+ integrity sha512-85uZPQFOXehegxoWh05azuqvFfK6j2I0VTlnQSViVJ0Xo8L7I7FcidMpkC99VbBq2D2LQXwctom7tm8E3SJGcg==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.5"
+
+"@textlint/textlint-plugin-markdown@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-13.0.5.tgz#6430eb61c2357389ef8495c23f5379e6c167f787"
+ integrity sha512-Mx7RBAFkNLUhoRuV1xfOYHgbcUHEugZ3KSwqka0ZJ9eg9aMFR7BHcz0kkSuwlzrsppH00l9EBIOmXCklrUZCcA==
+ dependencies:
+ "@textlint/markdown-to-ast" "^13.0.5"
+
+"@textlint/textlint-plugin-text@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/textlint-plugin-text/-/textlint-plugin-text-13.0.5.tgz#c26a995cff1bc40d1e03d13b52dbdddf93237e9d"
+ integrity sha512-Za5nDj8IxGgIFGWU3/ovz3IvME7J88TZUzJokDGAPNp2XS5mtWLUJa8WUoY5jLWqp9qjNquF9X6PpGTQv3bBgg==
+ dependencies:
+ "@textlint/text-to-ast" "^13.0.5"
+
+"@textlint/types@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/types/-/types-13.0.5.tgz#c26037c7a38f600427d4f7f3e72f0b526e3c491c"
+ integrity sha512-H4BzC1wPiN2kJc6WUre6ggIeVKy6vKMAWQYkR0VmMtk1Lu5kysvwRifNuqecVIHpJIBwtVhkhrBlH1fz50SlXg==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.5"
+
+"@textlint/utils@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/utils/-/utils-13.0.5.tgz#4fd4f019988556f3bfc4c96c06c2f46d7a6dceac"
+ integrity sha512-yh786ZRDrYdOepKG911zPkeemihcBryMIxEltGz10UT2dUqPyHoGoWUc3XbnYFBL4t0DAHVCXZHxAmaKmHqB5Q==
+
+"@tsconfig/node10@^1.0.7":
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
+ integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
+
+"@tsconfig/node12@^1.0.7":
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
+ integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
+
+"@tsconfig/node14@^1.0.0":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
+ integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
+
+"@tsconfig/node16@^1.0.2":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e"
+ integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==
+
+"@types/glob@^8.0.1":
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.0.1.tgz#6e3041640148b7764adf21ce5c7138ad454725b0"
+ integrity sha512-8bVUjXZvJacUFkJXHdyZ9iH1Eaj5V7I8c4NdH5sQJsdXkqT4CA5Dhb4yb4VE/3asyx4L9ayZr1NIhTsWHczmMw==
+ dependencies:
+ "@types/minimatch" "^5.1.2"
+ "@types/node" "*"
+
+"@types/hast@^2.0.0":
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc"
+ integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==
+ dependencies:
+ "@types/unist" "*"
+
+"@types/mdast@^3.0.0":
+ version "3.0.10"
+ resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af"
+ integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==
+ dependencies:
+ "@types/unist" "*"
+
+"@types/minimatch@^5.1.2":
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
+ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
+
+"@types/mocha@^10.0.1":
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b"
+ integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==
+
+"@types/node@*", "@types/node@^18.11.18":
+ version "18.11.18"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f"
+ integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==
+
+"@types/structured-source@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/structured-source/-/structured-source-3.0.0.tgz#e95d76037d400c1957f3b709f023b308e92f3829"
+ integrity sha512-8u+Wo5+GEXe4jZyQ8TplLp+1A7g32ZcVoE7VZu8VcxnlaEm5I/+T579R7q3qKN76jmK0lRshpo4hl4bj/kEPKA==
+
+"@types/traverse@^0.6.32":
+ version "0.6.32"
+ resolved "https://registry.yarnpkg.com/@types/traverse/-/traverse-0.6.32.tgz#f9fdfa40cd4898deaa975a14511aec731de8235e"
+ integrity sha512-RBz2uRZVCXuMg93WD//aTS5B120QlT4lR/gL+935QtGsKHLS6sCtZBaKfWjIfk7ZXv/r8mtGbwjVIee6/3XTow==
+
+"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
+ integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
+
+acorn-walk@^8.1.1:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
+ integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
+
+acorn@^8.4.1:
+ version "8.8.2"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
+ integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
+
+ajv@^8.0.1:
+ version "8.12.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
+ integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+ uri-js "^4.2.2"
+
+amp-create-callback@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-create-callback/-/amp-create-callback-1.0.1.tgz#51bb6f1491545d86e9bf236caff514bbb4578310"
+ integrity sha512-6VunSFZ+GbIDWi/Vdeb1dgToRmbKfrfi3mzjC1c8QDUTgk7tx8JpUz5yJL8r/Jhgg5bH0eOCkQWCTQ++ipVcrw==
+
+amp-each@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-each/-/amp-each-1.0.1.tgz#0d6c8a33bf499c8b3de62322457c78b9eda5c00f"
+ integrity sha512-FdRP/SerovbQc91xmpF2Ud0CTKQ8QW89wvPf5hQ/JnndUicfx9PrGYuxRvzckeoRhC/38XEoLC6XYNVdFpJm0Q==
+ dependencies:
+ amp-create-callback "^1.0.0"
+ amp-keys "^1.0.0"
+
+amp-has@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-has/-/amp-has-1.0.1.tgz#dcc58a090a4c6fc4947cdb6e8c410ed9ff5202c6"
+ integrity sha512-KcFsv9i9VVyc9VvMT30Fr0SnJQbOFrtCHMDAGjkD2dvYcygxUviEoUH7pWvpnoonrSeWcj7WS/NuO3gx/vyyUw==
+
+amp-index-of@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/amp-index-of/-/amp-index-of-1.1.0.tgz#d1d798ea57da552b021365b85b1e38ddf993b1c1"
+ integrity sha512-8ZVB+BOAe1cPSOU2MvPiaSzGD71T8tuY6cf+JTZRA4F7oZFSYvjyhNGYTvrpRcmFaFmapqM8f0dmLLfm2HcjjA==
+ dependencies:
+ amp-is-number "^1.0.0"
+
+amp-is-number@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-is-number/-/amp-is-number-1.0.1.tgz#f430d2e65d1bbd2cc41dbd9afb7f03d3e328a314"
+ integrity sha512-qfMX1U6Z126J6mn3Sq3olrD73As8FSHEW3+d5mR6PIht9m/AeFelcmUw5Fk0EqBxzYVEjA5t0wAQRhGjnXGbfQ==
+
+amp-is-object@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-is-object/-/amp-is-object-1.0.1.tgz#0a8cb5956b9112a16a73677e8cbad37bba247702"
+ integrity sha512-oZ6BelObhLMcbk2+Qho1qIMWcsBfAf+BMsqusOWyWVDB4rtq4ERx85wZBYIFiaKjrMOH0BKfjJHim0h+XlEd3g==
+
+amp-keys@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amp-keys/-/amp-keys-1.0.1.tgz#b721fb831da79881504f4eb44a39ed930a5bb129"
+ integrity sha512-2oFXnlyfOzNY1AMfQdzwolYfCKDeK2YF9zPEfUGCswGC29sa7jQJ6alZpKoPzIpvLcd/JH6LKrSjzFbDAxYtaw==
+ dependencies:
+ amp-has "^1.0.0"
+ amp-index-of "^1.0.0"
+ amp-is-object "^1.0.0"
+
+analyze-desumasu-dearu@^2.1.2:
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/analyze-desumasu-dearu/-/analyze-desumasu-dearu-2.1.5.tgz#9caa2a5a06146c20679f7dc9f3af527db6f68f41"
+ integrity sha512-4YPL7IRAuaZflE10+BVhKr6k5KQl/DiLeNCIF7ISqKr0ogM2hqm9ztRNCPqL/xYDI7hfuIHR8T+U7mIDRLQNXw==
+
+analyze-desumasu-dearu@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/analyze-desumasu-dearu/-/analyze-desumasu-dearu-5.0.1.tgz#2310d076f683483ab4d4460fd2a21ad54fb2ad9d"
+ integrity sha512-r7ruCOqvqKxAzcvDzj7PdZOstOZP9wtw/wSIoV3FmNxF16CvytxhJnHYbSRhUwqzR542OO/J9CDRWS3SSp4hZA==
+ dependencies:
+ kuromojin "^3.0.0"
+
+ansi-colors@4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
+ integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
+
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+anymatch@~3.1.2:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
+ integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+arg@^4.1.0:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
+ integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
+argparse@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+array.prototype.find@^2.0.3:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.2.1.tgz#769b8182a0b535c3d76ac025abab98ba1e12467b"
+ integrity sha512-I2ri5Z9uMpMvnsNrHre9l3PaX+z9D0/z6F7Yt2u15q7wt0I62g5kX6xUKR1SJiefgG+u2/gJUmM8B47XRvQR6w==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+ es-shim-unscopables "^1.0.0"
+
+assign-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==
+
+astral-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+ integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+
+async@^2.0.1:
+ version "2.6.4"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
+ integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==
+ dependencies:
+ lodash "^4.17.14"
+
+available-typed-arrays@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
+ integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
+
+bail@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776"
+ integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==
+
+bail@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d"
+ integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+binary-extensions@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+boundary@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/boundary/-/boundary-1.0.1.tgz#4d67dc2602c0cc16dd9bce7ebf87e948290f5812"
+ integrity sha512-AaLhxHwYVh55iOTJncV3DE5o7RakEUSSj64XXEWRTiIhlp7aDI8qR0vY/k8Uw0Z234VjZi/iG/WxfrvqYPUCww==
+
+boundary@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/boundary/-/boundary-2.0.0.tgz#169c8b1f0d44cf2c25938967a328f37e0a4e5efc"
+ integrity sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+brace-expansion@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+ integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+ dependencies:
+ balanced-match "^1.0.0"
+
+braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
+browser-stdout@1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
+ integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+call-bind@^1.0.0, call-bind@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+ integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+ dependencies:
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
+
+camelcase@^6.0.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
+ integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
+
+ccount@^1.0.0, ccount@^1.0.3:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043"
+ integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==
+
+chalk@^4.1.0, chalk@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+character-entities-legacy@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
+ integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==
+
+character-entities@^1.0.0:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
+ integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
+
+character-reference-invalid@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
+ integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==
+
+charenc@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
+ integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==
+
+check-ends-with-period@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/check-ends-with-period/-/check-ends-with-period-1.0.1.tgz#d7d29d614cbc3ed15ab54190f4fda4deaa3141d8"
+ integrity sha512-vhGWpphk52Q1CiU2YHpWhOOKyI1FMCVPfPO7X6M6fN60JbnzZCwnf9cgR+T4LDSZGCDd1mqzgCdIcffEFBrUFQ==
+ dependencies:
+ array.prototype.find "^2.0.3"
+ emoji-regex "^6.4.1"
+ end-with "^1.0.2"
+
+chokidar@3.5.3:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+ integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+cliui@^7.0.2:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
+ integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^7.0.0"
+
+clone-regexp@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-1.0.1.tgz#051805cd33173375d82118fc0918606da39fd60f"
+ integrity sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==
+ dependencies:
+ is-regexp "^1.0.0"
+ is-supported-regexp-flag "^1.0.0"
+
+clone-regexp@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f"
+ integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==
+ dependencies:
+ is-regexp "^2.0.0"
+
+code-point@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point/-/code-point-1.1.0.tgz#999841f51f54ccae4a0dabbc869063234603fecd"
+ integrity sha512-L9JOfOolA/Y/YKVO+WUscMXuYUcHmkleTJkvl1G0XaGFj5JDXl02BobH8avoI/pjWvgOLivs2bizA0N6g8gM9Q==
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+comma-separated-tokens@^1.0.0:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea"
+ integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==
+
+comma-separated-tokens@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee"
+ integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==
+
+commandpost@^1.2.1:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/commandpost/-/commandpost-1.4.0.tgz#89218012089dfc9b67a337ba162f15c88e0f1048"
+ integrity sha512-aE2Y4MTFJ870NuB/+2z1cXBhSBBzRydVVjzhFC4gtenEhpnj15yu0qptWGJsO9YGrcPZ3ezX8AWb1VA391MKpQ==
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+concat-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1"
+ integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^3.0.2"
+ typedarray "^0.0.6"
+
+create-require@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
+ integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+
+crypt@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
+ integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==
+
+debug@4.3.4, debug@^4.0.0, debug@^4.3.4:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+ dependencies:
+ ms "2.1.2"
+
+decamelize@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837"
+ integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==
+
+deep-is@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+ integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
+define-properties@^1.1.3, define-properties@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1"
+ integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==
+ dependencies:
+ has-property-descriptors "^1.0.0"
+ object-keys "^1.1.1"
+
+define-property@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
+ dependencies:
+ is-descriptor "^1.0.2"
+ isobject "^3.0.1"
+
+diff@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
+ integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
+
+diff@^4.0.1, diff@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
+ integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+
+doublearray@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/doublearray/-/doublearray-0.0.2.tgz#63186fe8d34413276d3621f6aa0ec5f79e227ef9"
+ integrity sha512-aw55FtZzT6AmiamEj2kvmR6BuFqvYgKZUkfQ7teqVRNqD5UE0rw8IeW/3gieHNKQ5sPuDKlljWEn4bzv5+1bHw==
+
+emoji-regex@^6.4.1:
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2"
+ integrity sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+end-with@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/end-with/-/end-with-1.0.2.tgz#a432755ab4f51e7fc74f3a719c6b81df5d668bdc"
+ integrity sha512-DA7B8EjHnFqKjIj8bUkw+HCVAJza1++3rV88sCUQ8aCyf8gvtl6SgFAJy0JwrOotWyx5Cdfmo3GkRobcBpYYcQ==
+
+error-ex@^1.2.0, error-ex@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+ dependencies:
+ is-arrayish "^0.2.1"
+
+es-abstract@^1.19.0, es-abstract@^1.20.4:
+ version "1.21.1"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6"
+ integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ es-set-tostringtag "^2.0.1"
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ function.prototype.name "^1.1.5"
+ get-intrinsic "^1.1.3"
+ get-symbol-description "^1.0.0"
+ globalthis "^1.0.3"
+ gopd "^1.0.1"
+ has "^1.0.3"
+ has-property-descriptors "^1.0.0"
+ has-proto "^1.0.1"
+ has-symbols "^1.0.3"
+ internal-slot "^1.0.4"
+ is-array-buffer "^3.0.1"
+ is-callable "^1.2.7"
+ is-negative-zero "^2.0.2"
+ is-regex "^1.1.4"
+ is-shared-array-buffer "^1.0.2"
+ is-string "^1.0.7"
+ is-typed-array "^1.1.10"
+ is-weakref "^1.0.2"
+ object-inspect "^1.12.2"
+ object-keys "^1.1.1"
+ object.assign "^4.1.4"
+ regexp.prototype.flags "^1.4.3"
+ safe-regex-test "^1.0.0"
+ string.prototype.trimend "^1.0.6"
+ string.prototype.trimstart "^1.0.6"
+ typed-array-length "^1.0.4"
+ unbox-primitive "^1.0.2"
+ which-typed-array "^1.1.9"
+
+es-set-tostringtag@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8"
+ integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==
+ dependencies:
+ get-intrinsic "^1.1.3"
+ has "^1.0.3"
+ has-tostringtag "^1.0.0"
+
+es-shim-unscopables@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241"
+ integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==
+ dependencies:
+ has "^1.0.3"
+
+es-to-primitive@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
+ integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+ dependencies:
+ is-callable "^1.1.4"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.2"
+
+escalade@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+ integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
+escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+escape-string-regexp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
+ integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+
+esprima@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+execall@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/execall/-/execall-1.0.0.tgz#73d0904e395b3cab0658b08d09ec25307f29bb73"
+ integrity sha512-/J0Q8CvOvlAdpvhfkD/WnTQ4H1eU0exze2nFGPj/RSC7jpQ0NkKe2r28T5eMkhEEs+fzepMZNy1kVRKNlC04nQ==
+ dependencies:
+ clone-regexp "^1.0.0"
+
+execall@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45"
+ integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==
+ dependencies:
+ clone-regexp "^2.1.0"
+
+extend-shallow@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==
+ dependencies:
+ assign-symbols "^1.0.0"
+ is-extendable "^1.0.1"
+
+extend@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+fast-deep-equal@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-equals@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-4.0.3.tgz#72884cc805ec3c6679b99875f6b7654f39f0e8c7"
+ integrity sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==
+
+fast-levenshtein@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+
+fault@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13"
+ integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
+ dependencies:
+ format "^0.2.0"
+
+file-entry-cache@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
+ integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
+ dependencies:
+ flat-cache "^2.0.1"
+
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+find-up@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
+find-up@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==
+ dependencies:
+ locate-path "^2.0.0"
+
+flat-cache@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
+ integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
+ dependencies:
+ flatted "^2.0.0"
+ rimraf "2.6.3"
+ write "1.0.3"
+
+flat@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
+ integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
+
+flatted@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
+ integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
+
+for-each@^0.3.3:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
+ integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
+ dependencies:
+ is-callable "^1.1.3"
+
+format@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
+ integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
+fsevents@~2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+ integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+function.prototype.name@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
+ integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.0"
+ functions-have-names "^1.2.2"
+
+functions-have-names@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
+ integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
+
+get-caller-file@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f"
+ integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==
+ dependencies:
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.3"
+
+get-stdin@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
+ integrity sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==
+
+get-symbol-description@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
+ integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.1"
+
+glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob@7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
+ integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.1.3, glob@^7.2.3:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.1.1"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
+ integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^5.0.1"
+ once "^1.3.0"
+
+globalthis@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf"
+ integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
+ dependencies:
+ define-properties "^1.1.3"
+
+gopd@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
+ integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
+ dependencies:
+ get-intrinsic "^1.1.3"
+
+graceful-fs@^4.1.2:
+ version "4.2.10"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
+ integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
+
+has-bigints@^1.0.1, has-bigints@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
+ integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-property-descriptors@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861"
+ integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==
+ dependencies:
+ get-intrinsic "^1.1.1"
+
+has-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
+ integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
+
+has-symbols@^1.0.2, has-symbols@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
+ integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+
+has-tostringtag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
+ integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
+ dependencies:
+ has-symbols "^1.0.2"
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+hast-util-from-parse5@^5.0.0:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz#3089dc0ee2ccf6ec8bc416919b51a54a589e097c"
+ integrity sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==
+ dependencies:
+ ccount "^1.0.3"
+ hastscript "^5.0.0"
+ property-information "^5.0.0"
+ web-namespaces "^1.1.2"
+ xtend "^4.0.1"
+
+hast-util-from-parse5@^7.0.0:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.1.tgz#1887b4dd4e19f29d9c48c2e1c8bfeaac13a1f3a0"
+ integrity sha512-R6PoNcUs89ZxLJmMWsVbwSWuz95/9OriyQZ3e2ybwqGsRXzhA6gv49rgGmQvLbZuSNDv9fCg7vV7gXUsvtUFaA==
+ dependencies:
+ "@types/hast" "^2.0.0"
+ "@types/unist" "^2.0.0"
+ hastscript "^7.0.0"
+ property-information "^6.0.0"
+ vfile "^5.0.0"
+ vfile-location "^4.0.0"
+ web-namespaces "^2.0.0"
+
+hast-util-parse-selector@^2.0.0:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a"
+ integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==
+
+hast-util-parse-selector@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2"
+ integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==
+ dependencies:
+ "@types/hast" "^2.0.0"
+
+hastscript@^5.0.0:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.2.tgz#bde2c2e56d04c62dd24e8c5df288d050a355fb8a"
+ integrity sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==
+ dependencies:
+ comma-separated-tokens "^1.0.0"
+ hast-util-parse-selector "^2.0.0"
+ property-information "^5.0.0"
+ space-separated-tokens "^1.0.0"
+
+hastscript@^7.0.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b"
+ integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==
+ dependencies:
+ "@types/hast" "^2.0.0"
+ comma-separated-tokens "^2.0.0"
+ hast-util-parse-selector "^3.0.0"
+ property-information "^6.0.0"
+ space-separated-tokens "^2.0.0"
+
+he@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+ integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
+hosted-git-info@^2.1.4:
+ version "2.8.9"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
+ integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@^2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+internal-slot@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3"
+ integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==
+ dependencies:
+ get-intrinsic "^1.1.3"
+ has "^1.0.3"
+ side-channel "^1.0.4"
+
+is-accessor-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-alphabetical@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d"
+ integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==
+
+is-alphanumerical@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf"
+ integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==
+ dependencies:
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+
+is-array-buffer@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a"
+ integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.3"
+ is-typed-array "^1.1.10"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+
+is-bigint@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
+ integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
+ dependencies:
+ has-bigints "^1.0.1"
+
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-boolean-object@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
+ integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
+ dependencies:
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
+
+is-buffer@^2.0.0:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
+ integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
+
+is-buffer@~1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
+is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
+ integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
+
+is-core-module@^2.9.0:
+ version "2.11.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
+ integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
+ dependencies:
+ has "^1.0.3"
+
+is-data-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-date-object@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
+ integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-decimal@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
+ integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==
+
+is-descriptor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
+ dependencies:
+ is-accessor-descriptor "^1.0.0"
+ is-data-descriptor "^1.0.0"
+ kind-of "^6.0.2"
+
+is-extendable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+ dependencies:
+ is-plain-object "^2.0.4"
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-file@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-file/-/is-file-1.0.0.tgz#28a44cfbd9d3db193045f22b65fce8edf9620596"
+ integrity sha512-ZGMuc+xA8mRnrXtmtf2l/EkIW2zaD2LSBWlaOVEF6yH4RTndHob65V4SwWWdtGKVthQfXPVKsXqw4TDUjbVxVQ==
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-glob@^4.0.1, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-hexadecimal@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
+ integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
+
+is-negative-zero@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
+ integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
+
+is-number-object@^1.0.4:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
+ integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-plain-obj@^2.0.0, is-plain-obj@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+ integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+
+is-plain-obj@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0"
+ integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
+
+is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
+
+is-regex@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
+ integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
+ dependencies:
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
+
+is-regexp@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
+ integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==
+
+is-regexp@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d"
+ integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==
+
+is-shared-array-buffer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
+ integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
+ dependencies:
+ call-bind "^1.0.2"
+
+is-string@^1.0.5, is-string@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
+ integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-supported-regexp-flag@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz#21ee16518d2c1dd3edd3e9a0d57e50207ac364ca"
+ integrity sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==
+
+is-symbol@^1.0.2, is-symbol@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
+ integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
+ dependencies:
+ has-symbols "^1.0.2"
+
+is-typed-array@^1.1.10, is-typed-array@^1.1.9:
+ version "1.1.10"
+ resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
+ integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ has-tostringtag "^1.0.0"
+
+is-unicode-supported@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
+ integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==
+
+is-weakref@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
+ integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
+ dependencies:
+ call-bind "^1.0.2"
+
+isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
+
+japanese-numerals-to-number@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/japanese-numerals-to-number/-/japanese-numerals-to-number-1.0.2.tgz#cbfcb18ca6e93a51b062f33a5e5d29d9d7693d94"
+ integrity sha512-rgs/V7G8Gfy8Z4XtnVBYXzWMAb9oUWp1pDdRmwHmh0hcjcy1kOu+DOpC5rwoHUAN4TqANwb7WD6z5W2v7v7PQQ==
+
+joyo-kanji@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/joyo-kanji/-/joyo-kanji-0.2.1.tgz#5e2e8ea2b903ba9333f1680c66902fc9682ea592"
+ integrity sha512-bRx8wMjrZQDfAQIQXVDYRcznafdmB/0uIy+/PORguEO1vkV5GJVEWLZDPAHL5eM8liCIYDVAdNURV7WEjzMvUw==
+
+js-yaml@4.1.0, js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
+js-yaml@^3.14.1, js-yaml@^3.9.1:
+ version "3.14.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+json-parse-better-errors@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+ integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+
+json-schema-traverse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
+ integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
+json5@^2.2.2:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
+kuromoji@0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/kuromoji/-/kuromoji-0.1.2.tgz#293f0d6706df006112137980588d5daac26d0790"
+ integrity sha512-V0dUf+C2LpcPEXhoHLMAop/bOht16Dyr+mDiIE39yX3vqau7p80De/koFqpiTcL1zzdZlc3xuHZ8u5gjYRfFaQ==
+ dependencies:
+ async "^2.0.1"
+ doublearray "0.0.2"
+ zlibjs "^0.3.1"
+
+kuromojin@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/kuromojin/-/kuromojin-3.0.0.tgz#54a1a6643110f49f741c4beb82fef400d1cd498b"
+ integrity sha512-3h3qnn/NVVhqoKFP4oc7e6apO2B01Atc056oiVlIY7Uoup4rhrnBe28g3y9lK1HTmLDQEejvXB+3I3qxAneF7A==
+ dependencies:
+ kuromoji "0.1.2"
+ lru_map "^0.4.1"
+
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+load-json-file@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
+ integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^4.0.0"
+ pify "^3.0.0"
+ strip-bom "^3.0.0"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
+lodash.sortby@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
+ integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==
+
+lodash.truncate@^4.4.2:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
+ integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==
+
+lodash.uniq@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
+ integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
+
+lodash.uniqwith@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.uniqwith/-/lodash.uniqwith-4.5.0.tgz#7a0cbf65f43b5928625a9d4d0dc54b18cadc7ef3"
+ integrity sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q==
+
+lodash@^4.17.14, lodash@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+log-symbols@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
+ integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
+ dependencies:
+ chalk "^4.1.0"
+ is-unicode-supported "^0.1.0"
+
+longest-streak@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4"
+ integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==
+
+lru_map@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.4.1.tgz#f7b4046283c79fb7370c36f8fca6aee4324b0a98"
+ integrity sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==
+
+make-error@^1.1.1:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
+markdown-table@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b"
+ integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==
+ dependencies:
+ repeat-string "^1.0.0"
+
+match-index@^1.0.1, match-index@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/match-index/-/match-index-1.0.3.tgz#752ec60c6586ea5dd440d5e62cfbff25838c071a"
+ integrity sha512-1XjyBWqCvEFFUDW/MPv0RwbITRD4xQXOvKoPYtLDq8IdZTfdF/cQSo5Yn4qvhfSSZgjgkTFsqJD2wOUG4ovV8Q==
+ dependencies:
+ regexp.prototype.flags "^1.1.1"
+
+md5@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f"
+ integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==
+ dependencies:
+ charenc "0.0.2"
+ crypt "0.0.2"
+ is-buffer "~1.1.6"
+
+mdast-util-find-and-replace@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz#b7db1e873f96f66588c321f1363069abf607d1b5"
+ integrity sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==
+ dependencies:
+ escape-string-regexp "^4.0.0"
+ unist-util-is "^4.0.0"
+ unist-util-visit-parents "^3.0.0"
+
+mdast-util-footnote@^0.1.0:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/mdast-util-footnote/-/mdast-util-footnote-0.1.7.tgz#4b226caeab4613a3362c144c94af0fdd6f7e0ef0"
+ integrity sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==
+ dependencies:
+ mdast-util-to-markdown "^0.6.0"
+ micromark "~2.11.0"
+
+mdast-util-from-markdown@^0.8.0:
+ version "0.8.5"
+ resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c"
+ integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==
+ dependencies:
+ "@types/mdast" "^3.0.0"
+ mdast-util-to-string "^2.0.0"
+ micromark "~2.11.0"
+ parse-entities "^2.0.0"
+ unist-util-stringify-position "^2.0.0"
+
+mdast-util-frontmatter@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-0.2.0.tgz#8bd5cd55e236c03e204a036f7372ebe9e6748240"
+ integrity sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==
+ dependencies:
+ micromark-extension-frontmatter "^0.2.0"
+
+mdast-util-gfm-autolink-literal@^0.1.0, mdast-util-gfm-autolink-literal@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz#9c4ff399c5ddd2ece40bd3b13e5447d84e385fb7"
+ integrity sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==
+ dependencies:
+ ccount "^1.0.0"
+ mdast-util-find-and-replace "^1.1.0"
+ micromark "^2.11.3"
+
+mdast-util-gfm-strikethrough@^0.2.0:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz#45eea337b7fff0755a291844fbea79996c322890"
+ integrity sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==
+ dependencies:
+ mdast-util-to-markdown "^0.6.0"
+
+mdast-util-gfm-table@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz#af05aeadc8e5ee004eeddfb324b2ad8c029b6ecf"
+ integrity sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==
+ dependencies:
+ markdown-table "^2.0.0"
+ mdast-util-to-markdown "~0.6.0"
+
+mdast-util-gfm-task-list-item@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz#70c885e6b9f543ddd7e6b41f9703ee55b084af10"
+ integrity sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==
+ dependencies:
+ mdast-util-to-markdown "~0.6.0"
+
+mdast-util-gfm@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz#8ecddafe57d266540f6881f5c57ff19725bd351c"
+ integrity sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==
+ dependencies:
+ mdast-util-gfm-autolink-literal "^0.1.0"
+ mdast-util-gfm-strikethrough "^0.2.0"
+ mdast-util-gfm-table "^0.1.0"
+ mdast-util-gfm-task-list-item "^0.1.0"
+ mdast-util-to-markdown "^0.6.1"
+
+mdast-util-to-markdown@^0.6.0, mdast-util-to-markdown@^0.6.1, mdast-util-to-markdown@~0.6.0:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe"
+ integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ longest-streak "^2.0.0"
+ mdast-util-to-string "^2.0.0"
+ parse-entities "^2.0.0"
+ repeat-string "^1.0.0"
+ zwitch "^1.0.0"
+
+mdast-util-to-string@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b"
+ integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==
+
+micromark-extension-footnote@^0.3.0:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/micromark-extension-footnote/-/micromark-extension-footnote-0.3.2.tgz#129b74ef4920ce96719b2c06102ee7abb2b88a20"
+ integrity sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==
+ dependencies:
+ micromark "~2.11.0"
+
+micromark-extension-frontmatter@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz#61b8e92e9213e1d3c13f5a59e7862f5ca98dfa53"
+ integrity sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==
+ dependencies:
+ fault "^1.0.0"
+
+micromark-extension-gfm-autolink-literal@~0.5.0:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz#53866c1f0c7ef940ae7ca1f72c6faef8fed9f204"
+ integrity sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==
+ dependencies:
+ micromark "~2.11.3"
+
+micromark-extension-gfm-strikethrough@~0.6.5:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz#96cb83356ff87bf31670eefb7ad7bba73e6514d1"
+ integrity sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==
+ dependencies:
+ micromark "~2.11.0"
+
+micromark-extension-gfm-table@~0.4.0:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz#4d49f1ce0ca84996c853880b9446698947f1802b"
+ integrity sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==
+ dependencies:
+ micromark "~2.11.0"
+
+micromark-extension-gfm-tagfilter@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz#d9f26a65adee984c9ccdd7e182220493562841ad"
+ integrity sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==
+
+micromark-extension-gfm-task-list-item@~0.3.0:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz#d90c755f2533ed55a718129cee11257f136283b8"
+ integrity sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==
+ dependencies:
+ micromark "~2.11.0"
+
+micromark-extension-gfm@^0.3.0:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz#36d1a4c089ca8bdfd978c9bd2bf1a0cb24e2acfe"
+ integrity sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==
+ dependencies:
+ micromark "~2.11.0"
+ micromark-extension-gfm-autolink-literal "~0.5.0"
+ micromark-extension-gfm-strikethrough "~0.6.5"
+ micromark-extension-gfm-table "~0.4.0"
+ micromark-extension-gfm-tagfilter "~0.3.0"
+ micromark-extension-gfm-task-list-item "~0.3.0"
+
+micromark@^2.11.3, micromark@~2.11.0, micromark@~2.11.3:
+ version "2.11.4"
+ resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a"
+ integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==
+ dependencies:
+ debug "^4.0.0"
+ parse-entities "^2.0.0"
+
+minimatch@5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b"
+ integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimatch@^3.0.4, minimatch@^3.1.1:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^5.0.1:
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
+ integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimist@^1.2.6:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
+ integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
+
+mkdirp@^0.5.1, mkdirp@^0.5.6:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+ integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
+ dependencies:
+ minimist "^1.2.6"
+
+mocha@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8"
+ integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==
+ dependencies:
+ ansi-colors "4.1.1"
+ browser-stdout "1.3.1"
+ chokidar "3.5.3"
+ debug "4.3.4"
+ diff "5.0.0"
+ escape-string-regexp "4.0.0"
+ find-up "5.0.0"
+ glob "7.2.0"
+ he "1.2.0"
+ js-yaml "4.1.0"
+ log-symbols "4.1.0"
+ minimatch "5.0.1"
+ ms "2.1.3"
+ nanoid "3.3.3"
+ serialize-javascript "6.0.0"
+ strip-json-comments "3.1.1"
+ supports-color "8.1.1"
+ workerpool "6.2.1"
+ yargs "16.2.0"
+ yargs-parser "20.2.4"
+ yargs-unparser "2.0.0"
+
+moji@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/moji/-/moji-0.5.1.tgz#088eecd1c22c8f31a240adcf9c95e54f33eb54fb"
+ integrity sha512-xYylXOjBS9mE/d690InK3Y74NpE0El0TmAKDmKJveWk9jds/0Tl7MQP4yhavS0U64diEq+5ey2905nhCpIHE+Q==
+ dependencies:
+ object-assign "^3.0.0"
+
+morpheme-match-all@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/morpheme-match-all/-/morpheme-match-all-2.0.5.tgz#d4a005f7b6da845664aced1b5892f1580cb5eedc"
+ integrity sha512-a6B6Nh4AhjMoEzVz8NOT5M9f3XwFVPM395gqnFNUXG/KTqQFTb9qM5JJFHJe+SvWfRVXTZSejyXNt+h+jmHUuQ==
+ dependencies:
+ morpheme-match "^2.0.4"
+
+morpheme-match-textlint@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/morpheme-match-textlint/-/morpheme-match-textlint-2.0.6.tgz#68921c9ab333c7bc32643991bb19765683d09769"
+ integrity sha512-CX+iQaUjjPMLvas+hZ8zg6Csxx5j1RLaytr+5w6lpBi/oTEV2pv6sgW5Vu3+pNJHbYcaqcuofQZsKocMNUNH8g==
+ dependencies:
+ morpheme-match "^2.0.4"
+ morpheme-match-all "^2.0.5"
+
+morpheme-match@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/morpheme-match/-/morpheme-match-2.0.4.tgz#4ce77a4d6b51c0b33b3ca6d398363c42756b0c99"
+ integrity sha512-C3U5g2h47dpztGVePLA8w2O1aQEvuJORwIcahWaCG91YPrq+0u7qcPsF9Nqqe8noFvHwgO7b2EEk3iPnYuGTew==
+
+ms@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@2.1.3:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+nanoid@3.3.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25"
+ integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==
+
+normalize-package-data@^2.3.2:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
+ integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+ dependencies:
+ hosted-git-info "^2.1.4"
+ resolve "^1.10.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+object-assign@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
+ integrity sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==
+
+object-inspect@^1.12.2, object-inspect@^1.9.0:
+ version "1.12.3"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
+ integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
+
+object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object.assign@^4.1.4:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
+ integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ has-symbols "^1.0.3"
+ object-keys "^1.1.1"
+
+object_values@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/object_values/-/object_values-0.1.2.tgz#f8fbc31d2e537170a4cbcfb28dd61501b3207334"
+ integrity sha512-tZgUiKLraVH+4OAedBYrr4/K6KmAQw2RPNd1AuNdhLsuz5WP3VB7WuiKBWbOcjeqqAjus2ChIIWC8dSfmg7ReA==
+
+once@^1.3.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+ dependencies:
+ wrappy "1"
+
+optionator@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+ integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+ dependencies:
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.3"
+
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+ dependencies:
+ p-try "^1.0.0"
+
+p-limit@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==
+ dependencies:
+ p-limit "^1.1.0"
+
+p-locate@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+ dependencies:
+ p-limit "^3.0.2"
+
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==
+
+parse-entities@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
+ integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==
+ dependencies:
+ character-entities "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ character-reference-invalid "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-hexadecimal "^1.0.0"
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==
+ dependencies:
+ error-ex "^1.2.0"
+
+parse-json@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+ integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==
+ dependencies:
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+
+parse5@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
+ integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==
+
+parse5@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
+ integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-to-glob-pattern@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-to-glob-pattern/-/path-to-glob-pattern-1.0.2.tgz#473e6a3a292a9d13fbae3edccee72d3baba8c619"
+ integrity sha512-ryF65N5MBB9XOjE5mMOi+0bMrh1F0ORQmqDSSERvv5zD62Cfc5QC6rK1AR1xuDIG1I091CkNENblbteWy1bXgw==
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+path-type@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
+ integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
+ dependencies:
+ pify "^3.0.0"
+
+picomatch@^2.0.4, picomatch@^2.2.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
+
+pify@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+ integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==
+
+pluralize@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-2.0.0.tgz#72b726aa6fac1edeee42256c7d8dc256b335677f"
+ integrity sha512-TqNZzQCD4S42De9IfnnBvILN7HAW7riLqsCyp8lgjXeysyPlX5HhqKAcJHHHb9XskE4/a+7VGC9zzx8Ls0jOAw==
+
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
+prh@^5.4.4:
+ version "5.4.4"
+ resolved "https://registry.yarnpkg.com/prh/-/prh-5.4.4.tgz#5b618213a187f3580f262f4e0f79e8e8561ea179"
+ integrity sha512-UATF+R/2H8owxwPvF12Knihu9aYGTuZttGHrEEq5NBWz38mREh23+WvCVKX3fhnIZIMV7ye6E1fnqAl+V6WYEw==
+ dependencies:
+ commandpost "^1.2.1"
+ diff "^4.0.1"
+ js-yaml "^3.9.1"
+
+property-information@^5.0.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69"
+ integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==
+ dependencies:
+ xtend "^4.0.0"
+
+property-information@^6.0.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d"
+ integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==
+
+punycode@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
+ integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
+
+randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
+rc-config-loader@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/rc-config-loader/-/rc-config-loader-4.1.2.tgz#e57fc874bde9b1e48d8a8564f2f824f91eafd920"
+ integrity sha512-qKTnVWFl9OQYKATPzdfaZIbTxcHziQl92zYSxYC6umhOqyAsoj8H8Gq/+aFjAso68sBdjTz3A7omqeAkkF1MWg==
+ dependencies:
+ debug "^4.3.4"
+ js-yaml "^4.1.0"
+ json5 "^2.2.2"
+ require-from-string "^2.0.2"
+
+read-pkg-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07"
+ integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^3.0.0"
+
+read-pkg@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+read-pkg@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
+ integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==
+ dependencies:
+ load-json-file "^4.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^3.0.0"
+
+readable-stream@^3.0.2:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+ integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
+regex-not@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
+ dependencies:
+ extend-shallow "^3.0.2"
+ safe-regex "^1.1.0"
+
+regexp.prototype.flags@^1.1.1, regexp.prototype.flags@^1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
+ integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ functions-have-names "^1.2.2"
+
+regx@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/regx/-/regx-1.0.4.tgz#a0ee32c308910902019ca1117ed41b9ddd041b2f"
+ integrity sha512-Z/5ochRUyD5TkJgFq+66ajKePlj6KzpSLfDO2lOLOLu7E82xAjNux0m8mx1DAXBj5ECHiRCBWoqL25b4lkwcgw==
+
+rehype-parse@^6.0.1:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-6.0.2.tgz#aeb3fdd68085f9f796f1d3137ae2b85a98406964"
+ integrity sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==
+ dependencies:
+ hast-util-from-parse5 "^5.0.0"
+ parse5 "^5.0.0"
+ xtend "^4.0.0"
+
+rehype-parse@^8.0.4:
+ version "8.0.4"
+ resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-8.0.4.tgz#3d17c9ff16ddfef6bbcc8e6a25a99467b482d688"
+ integrity sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==
+ dependencies:
+ "@types/hast" "^2.0.0"
+ hast-util-from-parse5 "^7.0.0"
+ parse5 "^6.0.0"
+ unified "^10.0.0"
+
+remark-footnotes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-3.0.0.tgz#5756b56f8464fa7ed80dbba0c966136305d8cb8d"
+ integrity sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==
+ dependencies:
+ mdast-util-footnote "^0.1.0"
+ micromark-extension-footnote "^0.3.0"
+
+remark-frontmatter@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-3.0.0.tgz#ca5d996361765c859bd944505f377d6b186a6ec6"
+ integrity sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==
+ dependencies:
+ mdast-util-frontmatter "^0.2.0"
+ micromark-extension-frontmatter "^0.2.0"
+
+remark-gfm@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-1.0.0.tgz#9213643001be3f277da6256464d56fd28c3b3c0d"
+ integrity sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==
+ dependencies:
+ mdast-util-gfm "^0.1.0"
+ micromark-extension-gfm "^0.3.0"
+
+remark-parse@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640"
+ integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==
+ dependencies:
+ mdast-util-from-markdown "^0.8.0"
+
+repeat-string@^1.0.0:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+
+require-from-string@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+ integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
+resolve@^1.10.0:
+ version "1.22.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
+ integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
+ dependencies:
+ is-core-module "^2.9.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+
+rimraf@2.6.3:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
+ integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
+ dependencies:
+ glob "^7.1.3"
+
+safe-buffer@^5.1.0, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-regex-test@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
+ integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.3"
+ is-regex "^1.1.4"
+
+safe-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==
+ dependencies:
+ ret "~0.1.10"
+
+"semver@2 || 3 || 4 || 5":
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+sentence-splitter@^3.0.11, sentence-splitter@^3.2.0, sentence-splitter@^3.2.1, sentence-splitter@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/sentence-splitter/-/sentence-splitter-3.2.2.tgz#b02a28c08bbad4bd3b6ec6f619d50e3fd3596d07"
+ integrity sha512-hMvaodgK9Fay928uiQoTMEWjXpCERdKD2uKo7BbSyP+uWTo+wHiRjN+ZShyI99rW0VuoV4Cuw8FUmaRcnpN7Ug==
+ dependencies:
+ "@textlint/ast-node-types" "^4.4.2"
+ concat-stream "^2.0.0"
+ object_values "^0.1.2"
+ structured-source "^3.0.2"
+
+serialize-javascript@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8"
+ integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==
+ dependencies:
+ randombytes "^2.1.0"
+
+side-channel@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
+ integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
+ dependencies:
+ call-bind "^1.0.0"
+ get-intrinsic "^1.0.2"
+ object-inspect "^1.9.0"
+
+slice-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+ integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
+sorted-array@^2.0.1:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/sorted-array/-/sorted-array-2.0.4.tgz#5d62bbfe64d1bde3cf4b6b79530a6feb95afb5ae"
+ integrity sha512-58INzrX0rL6ttCfsGoFmOuQY5AjR6A5E/MmGKJ5JvWHOey6gOEOC6vO8K6C0Y2bQR6KJ8o8aFwHjp/mJ/HcYsQ==
+
+sorted-joyo-kanji@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/sorted-joyo-kanji/-/sorted-joyo-kanji-0.2.0.tgz#34ae6bbaf0ee0a5e9165b2a4eeb51e2ab23e185c"
+ integrity sha512-zTEYyDjGqVBdotkM9ElCglxtiji6tqxLAHQinTm3+SZaMvvHjGdeVVopfra99IbZbeH++t0vii8IxbE8qW34zg==
+ dependencies:
+ amp-each "^1.0.1"
+ code-point "^1.0.1"
+ joyo-kanji "^0.2.1"
+ sorted-array "^2.0.1"
+
+space-separated-tokens@^1.0.0:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
+ integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
+
+space-separated-tokens@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f"
+ integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==
+
+spdx-correct@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
+ integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
+ dependencies:
+ spdx-expression-parse "^3.0.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
+ integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
+
+spdx-expression-parse@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
+ integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
+ dependencies:
+ spdx-exceptions "^2.1.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+ version "3.0.12"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779"
+ integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+
+string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string.prototype.trimend@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533"
+ integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+
+string.prototype.trimstart@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4"
+ integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.4"
+ es-abstract "^1.20.4"
+
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
+
+strip-json-comments@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+structured-source@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/structured-source/-/structured-source-3.0.2.tgz#dd802425e0f53dc4a6e7aca3752901a1ccda7af5"
+ integrity sha512-Ap7JHfKgmH40SUjumqyKTHYHNZ8GvGQskP34ks0ElHCDEig+bYGpmXVksxPSrgcY9rkJqhVMzfeg5GIpZelfpQ==
+ dependencies:
+ boundary "^1.0.1"
+
+structured-source@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/structured-source/-/structured-source-4.0.0.tgz#0c9e59ee43dedd8fc60a63731f60e358102a4948"
+ integrity sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==
+ dependencies:
+ boundary "^2.0.0"
+
+supports-color@8.1.1:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+table@^6.8.1:
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf"
+ integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==
+ dependencies:
+ ajv "^8.0.1"
+ lodash.truncate "^4.4.2"
+ slice-ansi "^4.0.0"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+
+textlint-rule-helper@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/textlint-rule-helper/-/textlint-rule-helper-2.0.1.tgz#f28dc20d3e06f60373aa04a97b965daa77d196b9"
+ integrity sha512-QNGSOemLVxm1b0qnH5VpRY8uyHgfx/8M+St8wSy/d6mZh0abd+KAvhQSuO8cxmVeRKr/LRkhAB3+0QU5LKhLGw==
+ dependencies:
+ unist-util-visit "^1.1.0"
+
+textlint-rule-helper@^1.1.5:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-helper/-/textlint-rule-helper-1.2.0.tgz#be68d47a5146b16dd116278c9aeb7bd35631ccda"
+ integrity sha512-yJmVbmyuUPOndKsxOijpx/G7mwybXXf4M10U2up0BeIZSN+6drUl+aSKAoC+RUHY7bG4ogLwRcmWoNG1lSrRIQ==
+ dependencies:
+ unist-util-visit "^1.1.0"
+
+textlint-rule-helper@^2.0.0, textlint-rule-helper@^2.1.1, textlint-rule-helper@^2.2.0, textlint-rule-helper@^2.2.1, textlint-rule-helper@^2.2.3:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-helper/-/textlint-rule-helper-2.3.0.tgz#5ab84db686d42fd2e39a63b40310501bb336520d"
+ integrity sha512-Ug78Saahb/qVImttL0NSFyT5/JJ5wXvOPepR2pYAjNi54BsQAAz/hAyyEgKuYeR0+yjFb0KPhby4f880X5vqHA==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.2"
+ structured-source "^4.0.0"
+ unist-util-visit "^2.0.3"
+
+textlint-rule-ja-no-abusage@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-ja-no-abusage/-/textlint-rule-ja-no-abusage-3.0.0.tgz#b43f3f66b7d0aa9a37877ea1c125e3da3bafcc0a"
+ integrity sha512-DIqPZgYTwTsvjX6Bgj7GA8vlwGMObagJpNoUtkucOaoy7E7GwUOL+knqFjcTtlkWSmoKpIkw5OWW5CV3kivlfQ==
+ dependencies:
+ kuromojin "^3.0.0"
+ morpheme-match-textlint "^2.0.6"
+ textlint-rule-prh "^5.3.0"
+
+textlint-rule-ja-no-mixed-period@^2.1.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/textlint-rule-ja-no-mixed-period/-/textlint-rule-ja-no-mixed-period-2.1.3.tgz#64ed0ec0bb4dcddad49a328ad5ae8354479c5f1d"
+ integrity sha512-O3TZlN1KebeQIQ3P2uQTq21DMqoB1ocAa916HM5y0bqs2Ym+/FP4w3XoFkrqD8sFovswxjv9yQxhELN5nbJXkg==
+ dependencies:
+ check-ends-with-period "^1.0.1"
+ textlint-rule-helper "^2.2.3"
+
+textlint-rule-ja-no-redundant-expression@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/textlint-rule-ja-no-redundant-expression/-/textlint-rule-ja-no-redundant-expression-4.0.1.tgz#a146107100523eef51c88bd36c393f41527d4bc5"
+ integrity sha512-r8Qe6S7u9N97wD0gcrASqBUdZs5CMEVlgc8Ul+D2NQFiOi1BoseOMo5I9yUsEZMAL46yh/eaw9+EWz6IDlPWeA==
+ dependencies:
+ "@textlint/regexp-string-matcher" "^1.1.0"
+ kuromojin "^3.0.0"
+ morpheme-match "^2.0.4"
+ morpheme-match-all "^2.0.5"
+ textlint-rule-helper "^2.2.1"
+ textlint-util-to-string "^3.1.1"
+
+textlint-rule-ja-no-successive-word@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-ja-no-successive-word/-/textlint-rule-ja-no-successive-word-2.0.0.tgz#32ab674f45483243d62e375b2636a81cf41b2925"
+ integrity sha512-4BCz5G7JbmuSwGTXlgTil70SS8x6firJ67ZQR9w3cmwNn6JC9UoBEjweia/M4Mviyadaw4fDLhFSfEC0v5OX+Q==
+ dependencies:
+ "@textlint/regexp-string-matcher" "^1.1.0"
+ kuromojin "^3.0.0"
+
+textlint-rule-ja-no-weak-phrase@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-ja-no-weak-phrase/-/textlint-rule-ja-no-weak-phrase-2.0.0.tgz#7e1fde8fa57113d6e79ef997b3f6a7712fe7f515"
+ integrity sha512-jZ1/3VnE8Bz/p0CCe/+BVOmWE1cZwpDkjKb6hnq39nGk3OD4XPW7biYavK/4/mZhk4bh2+Vtu1xV26lg8d+vBw==
+ dependencies:
+ kuromojin "^3.0.0"
+ morpheme-match "^2.0.4"
+ morpheme-match-all "^2.0.5"
+
+textlint-rule-ja-unnatural-alphabet@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/textlint-rule-ja-unnatural-alphabet/-/textlint-rule-ja-unnatural-alphabet-2.0.1.tgz#fa95591312834a7788dbc6880e2f7a7e68633c00"
+ integrity sha512-n93V8qh6OKdh8OB6yLT+9Xl8DSoZ7gWi51tWdhlLEPIWgBm18nLMgm6Ck+nVc3eENOdRcQURWUpCGotI8wTemA==
+ dependencies:
+ "@textlint/regexp-string-matcher" "^1.0.2"
+ match-index "^1.0.1"
+ regx "^1.0.4"
+
+textlint-rule-max-comma@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/textlint-rule-max-comma/-/textlint-rule-max-comma-2.0.2.tgz#c204ae840b436d572d5c24e3a3056776992a882b"
+ integrity sha512-t4twAgEZWWMhIYH3xURZr/A1EcAUKiC10/N0EU6RG+ZBa9+FB5HDhMdQMS5wHqEI1FopWHTYYv/sC2PGEtvyLg==
+ dependencies:
+ sentence-splitter "^3.2.1"
+ textlint-util-to-string "^3.1.1"
+ unist-util-filter "^2.0.3"
+
+textlint-rule-max-kanji-continuous-len@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/textlint-rule-max-kanji-continuous-len/-/textlint-rule-max-kanji-continuous-len-1.1.1.tgz#cbcc44488c06d36c65099e12f7977e3a15c3b77f"
+ integrity sha512-os+p7dS9Op4PtZV7B9/wnzN5qpDO2WR2kj7nTnqEPbApS06AXX+qf5eH3fKdm4blzUCcPF5ozMN8zbs3AJUAug==
+ dependencies:
+ match-index "^1.0.1"
+ textlint-rule-helper "^2.0.0"
+
+textlint-rule-max-ten@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/textlint-rule-max-ten/-/textlint-rule-max-ten-4.0.3.tgz#8735810a13813a535d8923e841869b96d506cba0"
+ integrity sha512-2+XXPCOWJobJnsfFIHxVvZxrOgKOBE+M2NlptPJProYaK58xWawWBWHpS2tmRKdVuOzlfhIsXen4pT0xkhuj3Q==
+ dependencies:
+ kuromojin "^3.0.0"
+ sentence-splitter "^3.2.0"
+ structured-source "^3.0.2"
+ textlint-rule-helper "^2.0.0"
+ textlint-util-to-string "^3.1.1"
+
+textlint-rule-no-double-negative-ja@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-double-negative-ja/-/textlint-rule-no-double-negative-ja-2.0.1.tgz#3784a958dd9e625cca078c73de278dbfe69e7f79"
+ integrity sha512-LRofmNt+nd2mp+AHmG0ltk9AlbzKbWPE+EToYQ1zORCd8N8suE1YxNEplz9OeQ59ea9ITtudDIWoqeHaZnbDsg==
+ dependencies:
+ kuromojin "^3.0.0"
+
+textlint-rule-no-doubled-conjunction@^2.0.1:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-doubled-conjunction/-/textlint-rule-no-doubled-conjunction-2.0.4.tgz#ff36ce32afd71a05ed7655359e1721da2cb32c54"
+ integrity sha512-GUpZgJoEYk1EsqoE+0bcdln8ZbH6UDK9TWld3E2II+lGMw/0ALkoTNXhAsNK1ST/M7zYEX6a5qOCN68t2grDaA==
+ dependencies:
+ kuromojin "^3.0.0"
+ sentence-splitter "^3.2.2"
+ textlint-rule-helper "^2.2.1"
+ textlint-util-to-string "^3.1.1"
+
+textlint-rule-no-doubled-conjunctive-particle-ga@^2.0.1:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-doubled-conjunctive-particle-ga/-/textlint-rule-no-doubled-conjunctive-particle-ga-2.0.4.tgz#46923a42ba01eb7d8455f6faee032c72f94d7e33"
+ integrity sha512-lHC1M5Y9zApDswvliYNri59hqkic4pY+X2/ZVOD7SAJinBycnb2W2jPcldoeG+QqRsu3BqbVmURR9Z/wJujwsw==
+ dependencies:
+ kuromojin "^3.0.0"
+ sentence-splitter "^3.2.1"
+ textlint-rule-helper "^2.2.0"
+ textlint-util-to-string "^3.1.1"
+
+textlint-rule-no-doubled-joshi@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-doubled-joshi/-/textlint-rule-no-doubled-joshi-4.0.1.tgz#2a2c01549fbe5cbf1355a9960c353d449eaec4e6"
+ integrity sha512-zkdFMvrbVeU3nrio5SxCg+jObflG1JdT6e5FaHAny8yyqEsRVz4vS7zPxjlsqXDK1c/GqcPcGJFNyhDupfsz4w==
+ dependencies:
+ kuromojin "^3.0.0"
+ sentence-splitter "^3.2.1"
+ textlint-rule-helper "^2.1.1"
+ textlint-util-to-string "^3.0.0"
+
+textlint-rule-no-dropping-the-ra@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-dropping-the-ra/-/textlint-rule-no-dropping-the-ra-3.0.0.tgz#cc408b719302818e52917f5dee537e1007c206e2"
+ integrity sha512-KbSIlcxj1kLs4sGSMSLGA8OmgRoaPAWtodJaGEyEUiy7uiZM/VPqYALpuD8vf16N1OR5SM/bXXeZFME65r8ZgQ==
+ dependencies:
+ kuromojin "^3.0.0"
+ textlint-rule-helper "^2.1.1"
+
+textlint-rule-no-exclamation-question-mark@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-exclamation-question-mark/-/textlint-rule-no-exclamation-question-mark-1.1.0.tgz#5d6cf9bba6111c9619da91a3fff7c080847420b0"
+ integrity sha512-FcBH3uH2qp5VG7I9LKwolUCcPigONcsdam1JhAFPcu10YZNYX0r1l2y9Hzg+E4+1fXLgtGyiObWwfsfelTx8Bw==
+ dependencies:
+ "@textlint/regexp-string-matcher" "^1.1.0"
+ match-index "^1.0.3"
+ textlint-rule-helper "^2.1.1"
+
+textlint-rule-no-hankaku-kana@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-hankaku-kana/-/textlint-rule-no-hankaku-kana-1.0.2.tgz#6d3a936b18cd7021ebffca8d4111181dc159f4c8"
+ integrity sha512-3wcCi2zz68+0Lzc+2a3A0JIkj0CRW02GrwP12KDOi+k6ouJ4E9C1qP09wb0CJCIJeSctcXuWmaNNgo+HC7lWRQ==
+ dependencies:
+ match-index "^1.0.1"
+ textlint-rule-helper "^1.1.5"
+
+textlint-rule-no-mix-dearu-desumasu@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-mix-dearu-desumasu/-/textlint-rule-no-mix-dearu-desumasu-5.0.0.tgz#c17ebc015cafc75ca38d10766f18c7593ee9c239"
+ integrity sha512-fBNWXBUeP9xuxZYjNqm3PQDsHStYPxpkJaLwTvbNQEZ6rpC1dHsHwLujYtuAQVuvrfxxU6J4jtepP61rhjPA8g==
+ dependencies:
+ analyze-desumasu-dearu "^5.0.0"
+ textlint-rule-helper "^2.0.0"
+ unist-util-visit "^3.0.0"
+
+textlint-rule-no-nfd@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-nfd/-/textlint-rule-no-nfd-1.0.2.tgz#8c5793b57caada6e620b89d7a1d2886487dbbe2e"
+ integrity sha512-n6tUx40/V6koDo78qqePHxSovuwSIKO0xwY3FCqVDbcfg9GxQCjde1twQJ99T3bs4LabhPOo/Pt3USaQ9XcTRQ==
+ dependencies:
+ match-index "^1.0.3"
+ textlint-rule-helper "^2.1.1"
+ unorm "^1.4.1"
+
+textlint-rule-no-todo@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-todo/-/textlint-rule-no-todo-2.0.1.tgz#86351ed3521ce8faa3b8224f88887f3cecbf2920"
+ integrity sha512-+adoWaBgoTN2g0WNcrERhVq7gdPKQIf1z7Ol+6XwMGv8XmuoFp5vJljHKtCmJBmGhBihjty2b8oaza2MY6UNlw==
+ dependencies:
+ textlint-rule-helper "^2.0.0"
+
+textlint-rule-no-zero-width-spaces@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/textlint-rule-no-zero-width-spaces/-/textlint-rule-no-zero-width-spaces-1.0.1.tgz#15a6abda05f08e483d5bb33a7034d904259d77a3"
+ integrity sha512-AkxpzBILGB4YsXddzHx2xqpXmqMv5Yd+PQm4anUV+ADSJuwLP1Jd6yHf/LOtu9j3ps8K3XM9vQrXRK73z0bU3A==
+
+textlint-rule-preset-ja-technical-writing@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-preset-ja-technical-writing/-/textlint-rule-preset-ja-technical-writing-7.0.0.tgz#40741e571f0af8ddd5edfc7fcf6faf67cb9402e5"
+ integrity sha512-zzpMctCALdCOOfz/Gci0dgsb4Vi6sjAkxzNoruMEqMRjZyzp6CdRCi1ofe/ZusTzU5aGw452xCAg0VAD7tZeHA==
+ dependencies:
+ "@textlint-rule/textlint-rule-no-invalid-control-character" "^2.0.0"
+ "@textlint-rule/textlint-rule-no-unmatched-pair" "^1.0.8"
+ "@textlint/module-interop" "^12.0.0"
+ textlint-rule-ja-no-abusage "^3.0.0"
+ textlint-rule-ja-no-mixed-period "^2.1.1"
+ textlint-rule-ja-no-redundant-expression "^4.0.0"
+ textlint-rule-ja-no-successive-word "^2.0.0"
+ textlint-rule-ja-no-weak-phrase "^2.0.0"
+ textlint-rule-ja-unnatural-alphabet "2.0.1"
+ textlint-rule-max-comma "^2.0.2"
+ textlint-rule-max-kanji-continuous-len "^1.1.1"
+ textlint-rule-max-ten "^4.0.2"
+ textlint-rule-no-double-negative-ja "^2.0.0"
+ textlint-rule-no-doubled-conjunction "^2.0.1"
+ textlint-rule-no-doubled-conjunctive-particle-ga "^2.0.1"
+ textlint-rule-no-doubled-joshi "^4.0.0"
+ textlint-rule-no-dropping-the-ra "^3.0.0"
+ textlint-rule-no-exclamation-question-mark "^1.1.0"
+ textlint-rule-no-hankaku-kana "^1.0.2"
+ textlint-rule-no-mix-dearu-desumasu "^5.0.0"
+ textlint-rule-no-nfd "^1.0.2"
+ textlint-rule-no-zero-width-spaces "^1.0.1"
+ textlint-rule-preset-jtf-style "^2.3.12"
+ textlint-rule-sentence-length "^3.0.0"
+
+textlint-rule-preset-jtf-style@^2.3.12:
+ version "2.3.13"
+ resolved "https://registry.yarnpkg.com/textlint-rule-preset-jtf-style/-/textlint-rule-preset-jtf-style-2.3.13.tgz#7adb6d1e93bf2ba315a8fea4f82b4378ffb3c200"
+ integrity sha512-DH5V00hOCXK1BLG4/MfxXSFGKzruEQ/fzQG396CwiDK8LB0cMS1Z0O8JYRXMFDbmHRtR7LVXL8/3L1OwQ4TunQ==
+ dependencies:
+ analyze-desumasu-dearu "^2.1.2"
+ japanese-numerals-to-number "^1.0.2"
+ match-index "^1.0.3"
+ moji "^0.5.1"
+ regexp.prototype.flags "^1.4.3"
+ regx "^1.0.4"
+ sorted-joyo-kanji "^0.2.0"
+ textlint-rule-helper "^2.2.1"
+ textlint-rule-prh "^5.2.1"
+
+textlint-rule-prh@^5.2.1, textlint-rule-prh@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-prh/-/textlint-rule-prh-5.3.0.tgz#c3a002e3e1b59751eb6b93dff81810caeb764a9f"
+ integrity sha512-gdod+lL1SWUDyXs1ICEwvQawaSshT3mvPGufBIjF2R5WFPdKQDMsiuzsjkLm+aF+9d97dA6pFsiyC8gSW7mSgg==
+ dependencies:
+ "@babel/parser" "^7.7.5"
+ prh "^5.4.4"
+ textlint-rule-helper "^2.1.1"
+ untildify "^3.0.3"
+
+textlint-rule-sentence-length@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/textlint-rule-sentence-length/-/textlint-rule-sentence-length-3.0.0.tgz#72587bc05a1e02f9d0f0099c01fc36aa8740556e"
+ integrity sha512-H2mktN9Y29Hooljiot9yowsMpt4FSiTQt+EtiDRHPDDdXMX8eNG0The5Z7rfR94G5B1N6x3ZssZAcST9EKVjMQ==
+ dependencies:
+ "@textlint/regexp-string-matcher" "^1.1.0"
+ sentence-splitter "^3.2.1"
+ textlint-rule-helper "^2.1.1"
+ textlint-util-to-string "^3.1.1"
+
+textlint-util-to-string@^3.0.0, textlint-util-to-string@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/textlint-util-to-string/-/textlint-util-to-string-3.1.1.tgz#666c8b0f2e00a92b29c8b168b453a9b8aeb48381"
+ integrity sha512-mHE7/pDw/Hk+Q6YdSMNRrZPl5bCuWnFLbF+bxW+MsWQ64dw+Ia9irkammYbH5I0hVMMcfwb0MQc5nbsjqgWeyQ==
+ dependencies:
+ "@textlint/ast-node-types" "^4.2.4"
+ "@types/structured-source" "^3.0.0"
+ rehype-parse "^6.0.1"
+ structured-source "^3.0.2"
+ unified "^8.4.0"
+
+textlint@^13.0.5:
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/textlint/-/textlint-13.0.5.tgz#cabad8ca8e94bf5cf922eaecce26b8f86b92b003"
+ integrity sha512-NcsL98yLprpSlY4c+sWf02u+MIbUMypWVY+xf0GCR8qm3eyCpa9SHBdy0qcRY3x1VTQU3EN2rvlwwgQTwfGKcA==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.5"
+ "@textlint/ast-traverse" "^13.0.5"
+ "@textlint/config-loader" "^13.0.5"
+ "@textlint/feature-flag" "^13.0.5"
+ "@textlint/fixer-formatter" "^13.0.5"
+ "@textlint/kernel" "^13.0.5"
+ "@textlint/linter-formatter" "^13.0.5"
+ "@textlint/module-interop" "^13.0.5"
+ "@textlint/textlint-plugin-markdown" "^13.0.5"
+ "@textlint/textlint-plugin-text" "^13.0.5"
+ "@textlint/types" "^13.0.5"
+ "@textlint/utils" "^13.0.5"
+ debug "^4.3.4"
+ file-entry-cache "^5.0.1"
+ get-stdin "^5.0.1"
+ glob "^7.2.3"
+ is-file "^1.0.0"
+ md5 "^2.3.0"
+ mkdirp "^0.5.6"
+ optionator "^0.9.1"
+ path-to-glob-pattern "^1.0.2"
+ rc-config-loader "^4.1.2"
+ read-pkg "^1.1.0"
+ read-pkg-up "^3.0.0"
+ structured-source "^4.0.0"
+ try-resolve "^1.0.1"
+ unique-concat "^0.2.2"
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+to-regex@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
+ dependencies:
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ regex-not "^1.0.2"
+ safe-regex "^1.1.0"
+
+traverse@^0.6.7:
+ version "0.6.7"
+ resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.7.tgz#46961cd2d57dd8706c36664acde06a248f1173fe"
+ integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==
+
+trough@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
+ integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
+
+trough@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876"
+ integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==
+
+try-resolve@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/try-resolve/-/try-resolve-1.0.1.tgz#cfde6fabd72d63e5797cfaab873abbe8e700e912"
+ integrity sha512-yHeaPjCBzVaXwWl5IMUapTaTC2rn/eBYg2fsG2L+CvJd+ttFbk0ylDnpTO3wVhosmE1tQEvcebbBeKLCwScQSQ==
+
+ts-node@^10.9.1:
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
+ integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
+ dependencies:
+ "@cspotcode/source-map-support" "^0.8.0"
+ "@tsconfig/node10" "^1.0.7"
+ "@tsconfig/node12" "^1.0.7"
+ "@tsconfig/node14" "^1.0.0"
+ "@tsconfig/node16" "^1.0.2"
+ acorn "^8.4.1"
+ acorn-walk "^8.1.1"
+ arg "^4.1.0"
+ create-require "^1.1.0"
+ diff "^4.0.1"
+ make-error "^1.1.1"
+ v8-compile-cache-lib "^3.0.1"
+ yn "3.1.1"
+
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ dependencies:
+ prelude-ls "^1.2.1"
+
+typed-array-length@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
+ integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
+ dependencies:
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ is-typed-array "^1.1.9"
+
+typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
+
+typescript@^4.9.4:
+ version "4.9.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78"
+ integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==
+
+unbox-primitive@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
+ integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
+ dependencies:
+ call-bind "^1.0.2"
+ has-bigints "^1.0.2"
+ has-symbols "^1.0.3"
+ which-boxed-primitive "^1.0.2"
+
+unified@^10.0.0, unified@^10.1.2:
+ version "10.1.2"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df"
+ integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ bail "^2.0.0"
+ extend "^3.0.0"
+ is-buffer "^2.0.0"
+ is-plain-obj "^4.0.0"
+ trough "^2.0.0"
+ vfile "^5.0.0"
+
+unified@^8.4.0:
+ version "8.4.2"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-8.4.2.tgz#13ad58b4a437faa2751a4a4c6a16f680c500fff1"
+ integrity sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==
+ dependencies:
+ bail "^1.0.0"
+ extend "^3.0.0"
+ is-plain-obj "^2.0.0"
+ trough "^1.0.0"
+ vfile "^4.0.0"
+
+unified@^9.2.2:
+ version "9.2.2"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975"
+ integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==
+ dependencies:
+ bail "^1.0.0"
+ extend "^3.0.0"
+ is-buffer "^2.0.0"
+ is-plain-obj "^2.0.0"
+ trough "^1.0.0"
+ vfile "^4.0.0"
+
+unique-concat@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/unique-concat/-/unique-concat-0.2.2.tgz#9210f9bdcaacc5e1e3929490d7c019df96f18712"
+ integrity sha512-nFT3frbsvTa9rrc71FJApPqXF8oIhVHbX3IWgObQi1mF7WrW48Ys70daL7o4evZUtmUf6Qn6WK0LbHhyO0hpXw==
+
+unist-util-filter@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-filter/-/unist-util-filter-2.0.3.tgz#558cf866016f0e7ade1e30ef190abf253111dd39"
+ integrity sha512-8k6Jl/KLFqIRTHydJlHh6+uFgqYHq66pV75pZgr1JwfyFSjbWb12yfb0yitW/0TbHXjr9U4G9BQpOvMANB+ExA==
+ dependencies:
+ unist-util-is "^4.0.0"
+
+unist-util-is@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd"
+ integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==
+
+unist-util-is@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797"
+ integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==
+
+unist-util-is@^5.0.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.0.tgz#37eed0617b76c114fd34d44c201aa96fd928b309"
+ integrity sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==
+
+unist-util-stringify-position@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da"
+ integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==
+ dependencies:
+ "@types/unist" "^2.0.2"
+
+unist-util-stringify-position@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d"
+ integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==
+ dependencies:
+ "@types/unist" "^2.0.0"
+
+unist-util-visit-parents@^2.0.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9"
+ integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==
+ dependencies:
+ unist-util-is "^3.0.0"
+
+unist-util-visit-parents@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6"
+ integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^4.0.0"
+
+unist-util-visit-parents@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz#e83559a4ad7e6048a46b1bdb22614f2f3f4724f2"
+ integrity sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^5.0.0"
+
+unist-util-visit@^1.1.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3"
+ integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==
+ dependencies:
+ unist-util-visit-parents "^2.0.0"
+
+unist-util-visit@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
+ integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^4.0.0"
+ unist-util-visit-parents "^3.0.0"
+
+unist-util-visit@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-3.1.0.tgz#9420d285e1aee938c7d9acbafc8e160186dbaf7b"
+ integrity sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-is "^5.0.0"
+ unist-util-visit-parents "^4.0.0"
+
+unorm@^1.4.1:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af"
+ integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==
+
+untildify@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9"
+ integrity sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+util-deprecate@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+v8-compile-cache-lib@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
+ integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
+ integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+ dependencies:
+ spdx-correct "^3.0.0"
+ spdx-expression-parse "^3.0.0"
+
+vfile-location@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.0.1.tgz#06f2b9244a3565bef91f099359486a08b10d3a95"
+ integrity sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ vfile "^5.0.0"
+
+vfile-message@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
+ integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-stringify-position "^2.0.0"
+
+vfile-message@^3.0.0:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.3.tgz#1360c27a99234bebf7bddbbbca67807115e6b0dd"
+ integrity sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-stringify-position "^3.0.0"
+
+vfile@^4.0.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624"
+ integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ is-buffer "^2.0.0"
+ unist-util-stringify-position "^2.0.0"
+ vfile-message "^2.0.0"
+
+vfile@^5.0.0:
+ version "5.3.6"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.6.tgz#61b2e70690cc835a5d0d0fd135beae74e5a39546"
+ integrity sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ is-buffer "^2.0.0"
+ unist-util-stringify-position "^3.0.0"
+ vfile-message "^3.0.0"
+
+web-namespaces@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec"
+ integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==
+
+web-namespaces@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692"
+ integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==
+
+which-boxed-primitive@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
+ integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
+ dependencies:
+ is-bigint "^1.0.1"
+ is-boolean-object "^1.1.0"
+ is-number-object "^1.0.4"
+ is-string "^1.0.5"
+ is-symbol "^1.0.3"
+
+which-typed-array@^1.1.9:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
+ integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ has-tostringtag "^1.0.0"
+ is-typed-array "^1.1.10"
+
+word-wrap@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+ integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
+workerpool@6.2.1:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343"
+ integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==
+
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+write@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
+ integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
+ dependencies:
+ mkdirp "^0.5.1"
+
+xtend@^4.0.0, xtend@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+y18n@^5.0.5:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+
+yargs-parser@20.2.4:
+ version "20.2.4"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
+ integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
+
+yargs-parser@^20.2.2:
+ version "20.2.9"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
+ integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+
+yargs-unparser@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb"
+ integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==
+ dependencies:
+ camelcase "^6.0.0"
+ decamelize "^4.0.0"
+ flat "^5.0.2"
+ is-plain-obj "^2.1.0"
+
+yargs@16.2.0:
+ version "16.2.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
+ integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
+ dependencies:
+ cliui "^7.0.2"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.0"
+ y18n "^5.0.5"
+ yargs-parser "^20.2.2"
+
+yn@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
+ integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+
+zlibjs@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/zlibjs/-/zlibjs-0.3.1.tgz#50197edb28a1c42ca659cc8b4e6a9ddd6d444554"
+ integrity sha512-+J9RrgTKOmlxFSDHo0pI1xM6BLVUv+o0ZT9ANtCxGkjIVCCUdx9alUF8Gm+dGLKbkkkidWIHFDZHDMpfITt4+w==
+
+zwitch@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920"
+ integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==
diff --git a/package.json b/package.json
index 63d3120..1eabeda 100644
--- a/package.json
+++ b/package.json
@@ -1,53 +1,75 @@
{
"name": "textlint-plugin-html",
+ "version": "0.3.0",
+ "description": "textlint HTML plugin.",
+ "keywords": [
+ "textlint",
+ "plugin",
+ "html",
+ "lint"
+ ],
+ "homepage": "https://github.com/textlint/textlint-plugin-html",
+ "bugs": {
+ "url": "https://github.com/textlint/textlint-plugin-html/issues"
+ },
"repository": {
"type": "git",
"url": "git+https://github.com/textlint/textlint-plugin-html.git"
},
- "author": "azu",
- "email": "azuciao@gmail.com",
- "homepage": "https://github.com/textlint/textlint-plugin-html",
"license": "MIT",
- "bugs": {
- "url": "https://github.com/textlint/textlint-plugin-html/issues"
+ "author": "azu",
+ "type": "module",
+ "exports": {
+ ".": {
+ "import": {
+ "types": "./module/index.d.ts",
+ "default": "./module/index.js"
+ },
+ "default": "./module/index.js"
+ },
+ "./package.json": "./package.json"
},
- "version": "0.3.0",
- "description": "textlint HTML processsor plugin.",
- "main": "lib/index.js",
- "files": [
- "lib",
- "src"
- ],
+ "main": "./module/index.js",
+ "types": "./module/index.d.ts",
"directories": {
"test": "test"
},
+ "files": [
+ "module/",
+ "src/"
+ ],
"scripts": {
- "build": "NODE_ENV=production babel src --out-dir lib --source-maps",
- "watch": "babel src --out-dir lib --watch --source-maps",
+ "build": "tsc --build",
+ "clean": "tsc --build --clean",
+ "prepublishOnly": "npm run clean && npm run build",
"prepublish": "npm run --if-present build",
- "test": "mocha"
+ "test": "mocha",
+ "updateSnapshot": "UPDATE_SNAPSHOT=1 npm test",
+ "watch": "tsc --build --watch"
+ },
+ "dependencies": {
+ "@textlint/ast-node-types": "^13.0.5",
+ "rehype-parse": "^8.0.4",
+ "structured-source": "^4.0.0",
+ "traverse": "^0.6.7",
+ "unified": "^10.1.2"
},
- "keywords": [
- "textlint",
- "plugin",
- "html",
- "lint"
- ],
"devDependencies": {
- "@babel/cli": "^7.0.0",
- "@babel/core": "^7.0.0",
- "@babel/preset-env": "^7.0.0",
- "@babel/register": "^7.0.0",
- "@textlint/ast-tester": "^12.1.0",
- "@textlint/module-interop": "^12.1.0",
- "glob": "^7.1.1",
- "mocha": "^9.1.3",
- "textlint": "^12.1.0",
- "textlint-rule-no-todo": "^2.0.0"
+ "@textlint/ast-tester": "^13.0.5",
+ "@textlint/kernel": "^13.0.5",
+ "@textlint/module-interop": "^13.0.5",
+ "@textlint/types": "^13.0.5",
+ "@types/glob": "^8.0.1",
+ "@types/mocha": "^10.0.1",
+ "@types/node": "^18.11.18",
+ "@types/traverse": "^0.6.32",
+ "glob": "^8.1.0",
+ "mocha": "^10.2.0",
+ "textlint": "^13.0.5",
+ "textlint-rule-no-todo": "^2.0.0",
+ "ts-node": "^10.9.1",
+ "typescript": "^4.9.4"
},
- "dependencies": {
- "hast": "0.0.2",
- "structured-source": "^3.0.2",
- "traverse": "^0.6.6"
- }
+ "packageManager": "yarn@1.22.19",
+ "email": "azuciao@gmail.com"
}
diff --git a/src/HTMLProcessor.js b/src/HTMLProcessor.ts
similarity index 58%
rename from src/HTMLProcessor.js
rename to src/HTMLProcessor.ts
index c99f290..e0e85ef 100644
--- a/src/HTMLProcessor.js
+++ b/src/HTMLProcessor.ts
@@ -1,8 +1,13 @@
// LICENSE : MIT
-"use strict";
-import {parse} from "./html-to-ast";
+import { parse } from "./html-to-ast.js";
+export type HTMLProcessorOptions = {
+ extensions?: string[];
+}
export default class HTMLProcessor {
- constructor(config) {
+ config: HTMLProcessorOptions;
+ extensions: string[];
+
+ constructor(config: HTMLProcessorOptions) {
this.config = config;
this.extensions = this.config.extensions ? this.config.extensions : [];
}
@@ -14,12 +19,12 @@ export default class HTMLProcessor {
].concat(this.extensions);
}
- processor(ext) {
+ processor(_ext: string) {
return {
- preProcess(text, filePath) {
+ preProcess(text: string, _filePath: string) {
return parse(text);
},
- postProcess(messages, filePath) {
+ postProcess(messages: Array, filePath?: string) {
return {
messages,
filePath: filePath ? filePath : ""
diff --git a/src/html-to-ast.js b/src/html-to-ast.js
deleted file mode 100644
index 0d1e900..0000000
--- a/src/html-to-ast.js
+++ /dev/null
@@ -1,90 +0,0 @@
-// LICENSE : MIT
-"use strict";
-import hast from "hast";
-import traverse from "traverse";
-import StructuredSource from "structured-source";
-import {nodeTypes, tagNameToType} from "./mapping";
-/**
- * Remove undocumented properties on TxtNode from node
- * @param {TxtNode} node already has loc,range
- */
-function removeUnusedProperties(node) {
- if (typeof node !== "object") {
- return;
- }
- ["position"].forEach(function (key) {
- if (node.hasOwnProperty(key)) {
- delete node[key];
- }
- });
-}
-function mapNodeType(node, parent) {
- if (parent) {
- let parentNode = parent.parent.node;
- if (parentNode.tagName === "script" || parentNode.tagName === "style") {
- return "CodeBlock";
- }
- }
- if (node.tagName && node.type === "element") {
- let mappedType = tagNameToType[node.tagName];
- if (mappedType) {
- // p => Paragraph...
- return mappedType;
- } else {
- // other element is "Html"
- return "Html";
- }
- } else {
- // text => Str
- return nodeTypes[node.type];
- }
-}
-export function parse(html) {
- const ast = hast.parse(html);
- const src = new StructuredSource(html);
- const tr = traverse(ast);
- tr.forEach(function (node) {
- if (this.notLeaf) {
- // avoid conflict
- // AST node has type and position
- if (node.type && node.position) {
- // case: element => Html or ...
- node.type = mapNodeType(node, this.parent);
- } else if (node.type === "root") {
- // FIXME: workaround, should fix hast
- node.type = nodeTypes[node.type];
- const position = src.rangeToLocation([0, html.length]);
- // reverse adjust
- node.position = {
- start: {line: position.start.line, column: position.start.column + 1},
- end: {line: position.end.line, column: position.end.column + 1}
- };
- }
- // Unknown type
- if (typeof node.type === "undefined") {
- node.type = "UNKNOWN";
- }
- // map `range`, `loc` and `raw` to node
- if (typeof node.position === "object") {
- let position = node.position;
- // TxtNode's line start with 1
- // TxtNode's column start with 0
- let positionCompensated = {
- start: {line: position.start.line, column: position.start.column - 1},
- end: {line: position.end.line, column: position.end.column - 1}
- };
- let range = src.locationToRange(positionCompensated);
- node.loc = positionCompensated;
- node.range = range;
- node.raw = html.slice(range[0], range[1]);
- }
- // map `url` to Link node
- if (node.type === "Link" && typeof node.properties.href !== "undefined") {
- node.url = node.properties.href;
- }
- }
- removeUnusedProperties(node);
- });
- return ast;
-}
-
diff --git a/src/html-to-ast.ts b/src/html-to-ast.ts
new file mode 100644
index 0000000..43bb894
--- /dev/null
+++ b/src/html-to-ast.ts
@@ -0,0 +1,197 @@
+// LICENSE : MIT
+import type {
+ TxtBlockQuoteNode,
+ TxtBreakNode,
+ TxtCodeBlockNode,
+ TxtCodeNode,
+ TxtCommentNode,
+ TxtDeleteNode,
+ TxtDocumentNode,
+ TxtEmphasisNode,
+ TxtHeaderNode,
+ TxtHorizontalRuleNode,
+ TxtHtmlNode,
+ TxtImageNode,
+ TxtLinkNode,
+ TxtListItemNode,
+ TxtListNode,
+ TxtParagraphNode,
+ TxtParentNode,
+ TxtStrNode,
+ TxtStrongNode,
+ TxtTableCellNode,
+ TxtTableNode,
+ TxtTableRowNode
+} from "@textlint/ast-node-types";
+import { unified } from 'unified'
+import rehypeParse from 'rehype-parse'
+import traverse, { TraverseContext } from "traverse";
+import { StructuredSource } from "structured-source";
+import { nodeTypes, tagNameToType } from "./mapping.js";
+import { Element, RootContent } from "hast";
+
+/**
+ * Remove undocumented properties on TxtNode from node
+ */
+// function removeUnusedProperties(node: Element) {
+// if (typeof node !== "object") {
+// return;
+// }
+// ["position"].forEach(function (key) {
+// if (node.hasOwnProperty(key)) {
+// // @ts-expect-error: delete key
+// delete node[key];
+// }
+// });
+// }
+
+function mapNodeType(node: RootContent, parent: TraverseContext | undefined) {
+ if (parent) {
+ const parentNode = parent.parent?.node;
+ if (parentNode?.tagName === "script" || parentNode?.tagName === "style") {
+ return "CodeBlock";
+ }
+ }
+ if (node.type === "element") {
+ // @ts-expect-error: tagName is string
+ const mappedType = tagNameToType[node.tagName];
+ if (mappedType) {
+ // p => Paragraph...
+ return mappedType;
+ } else {
+ // other case, return original tagName
+ return node.tagName;
+ }
+ } else if (node.type === "doctype") {
+ return "doctype";
+ } else if (node.type in nodeTypes) {
+ // mappable node type
+ // text => Str
+ return nodeTypes[node.type];
+ }
+ // The other node is original node.type because it is not defined in textlint's AST
+ // Almost rule should not handle this node.
+ // https://github.com/textlint/textlint-plugin-html/issues/19
+ return node.type;
+}
+
+export type ParseOptions = {
+ debug: boolean;
+}
+
+export function parse(html: string, options?: ParseOptions) {
+ const isDebug = process.env.DEBUG?.startsWith("textlint:html") ?? options?.debug ?? false;
+ const parseHtml = unified().use(rehypeParse)
+ const ast = parseHtml.parse(html);
+ const src = new StructuredSource(html);
+ const tr = traverse(ast);
+ const getNearParentWithPosition = (context: TraverseContext): Element | undefined => {
+ if ("position" in context.node) {
+ return context.node;
+ }
+ if (context.parent) {
+ return getNearParentWithPosition(context.parent);
+ }
+ return;
+ }
+ tr.forEach(function (node) {
+ if (typeof node === "object" && !Array.isArray(node)) {
+ // it is not leaf node
+ if (!("type" in node)) {
+ return;
+ }
+ // backup
+ if (isDebug) {
+ Object.defineProperty(node, "_debug_type", {
+ value: node.type,
+ })
+ }
+ // avoid conflict
+ // AST node has type and position
+ if (node.type) {
+ // case: element => Html or ...
+ node.type = mapNodeType(node, this.parent);
+ } else {
+ // We can not use "Html" type because some rule ignore node under the "Html" node.
+ // So, We use "unknown" type instead of "Html".
+ // https://github.com/textlint-ja/textlint-rule-no-synonyms/issues/4
+ node.type = "unknown" as const;
+ }
+ // map `range`, `loc` and `raw` to node
+ if (typeof node.position === "object") {
+ const position = node.position;
+ // TxtNode's line start with 1
+ // TxtNode's column start with 0
+ const positionCompensated = {
+ start: { line: position.start.line, column: position.start.column - 1 },
+ end: { line: position.end.line, column: position.end.column - 1 }
+ } as const;
+ const range = src.locationToRange(positionCompensated);
+ node.loc = positionCompensated;
+ node.range = range;
+ node.raw = html.slice(range[0], range[1]);
+ } else if (this.parent?.node) {
+ const parentNode = getNearParentWithPosition(this.parent);
+ if (!parentNode) {
+ return;
+ }
+ const position = parentNode.position;
+ if (!position) {
+ return;
+ }
+ // TxtNode's line start with 1
+ // TxtNode's column start with 0
+ const positionCompensated = {
+ start: { line: position.start.line, column: position.start.column - 1 },
+ end: { line: position.end.line, column: position.end.column - 1 }
+ } as const;
+ const range = src.locationToRange(positionCompensated);
+ node.loc = positionCompensated;
+ node.range = range;
+ node.raw = html.slice(range[0], range[1]);
+ }
+ // === properties ===
+ // map `url` to Link node
+ const txtNode = node as TxtBlockQuoteNode |
+ TxtBreakNode |
+ TxtCodeBlockNode |
+ TxtCommentNode |
+ TxtDeleteNode |
+ TxtDocumentNode |
+ TxtEmphasisNode |
+ TxtHeaderNode |
+ TxtHorizontalRuleNode |
+ TxtHtmlNode |
+ TxtImageNode |
+ TxtLinkNode |
+ TxtListItemNode |
+ TxtListNode |
+ TxtParagraphNode |
+ TxtCodeNode |
+ TxtStrNode |
+ TxtStrongNode |
+ TxtTableNode |
+ TxtTableRowNode |
+ TxtTableCellNode;
+ if (txtNode.type === "Link") {
+ if (txtNode.properties.href !== undefined) txtNode.url = txtNode.properties.href;
+ if (txtNode.properties.title !== undefined) txtNode.title = txtNode.properties.title;
+ } else if (txtNode.type === "Image") {
+ if (txtNode.properties.alt !== undefined) txtNode.alt = txtNode.properties.alt;
+ if (txtNode.properties.title !== undefined) txtNode.title = txtNode.properties.title;
+ if (txtNode.properties.src !== undefined) txtNode.url = txtNode.properties.src;
+ } else if (txtNode.type === "Header") {
+ const depth = Number(txtNode.tagName.slice(1)) as TxtHeaderNode["depth"];
+ if (depth > 0 && depth < 7) txtNode.depth = depth;
+ } else if (txtNode.type === "List") {
+ if (txtNode.tagName === "ul") {
+ txtNode.ordered = false;
+ } else if (txtNode.tagName === "ol") {
+ txtNode.ordered = true;
+ }
+ }
+ }
+ });
+ return ast as any as TxtParentNode;
+}
+
diff --git a/src/index.js b/src/index.js
deleted file mode 100644
index 4274286..0000000
--- a/src/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// LICENSE : MIT
-"use strict";
-import HTMLProcessor from "./HTMLProcessor";
-module.exports = {
- Processor: HTMLProcessor
-};
\ No newline at end of file
diff --git a/src/index.ts b/src/index.ts
new file mode 100644
index 0000000..f2702ca
--- /dev/null
+++ b/src/index.ts
@@ -0,0 +1,8 @@
+// LICENSE : MIT
+"use strict";
+import HTMLProcessor from "./HTMLProcessor.js";
+import type { TextlintPluginCreator } from "@textlint/types";
+
+export default {
+ Processor: HTMLProcessor
+} as TextlintPluginCreator;
diff --git a/src/mapping.js b/src/mapping.js
deleted file mode 100644
index 96f001c..0000000
--- a/src/mapping.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// LICENSE : MIT
-"use strict";
-export const tagNameToType = {
- "p": "Paragraph",
- "ul": "List",
- "ol": "List",
- "li": "ListItem",
- "q": "BlockQuote",
- "blockquote": "BlockQuote",
- "code": "CodeBlock",
- "hr": "horizontalRule",
- "br": "break",
- "em": "Emphasis",
- "strong": "Strong",
- "a": "Link",
- "img": "Image"
-};
-
-export const nodeTypes = {
- "root": "Document",
- "paragraph": "Paragraph",
- "blockquote": "BlockQuote",
- "listItem": "ListItem",
- "list": "List",
- "Bullet": "Bullet", // no need?
- "heading": "Header",
- "code": "CodeBlock",
- "comment": "Comment",
- "HtmlBlock": "Html",
- "ReferenceDef": "ReferenceDef",
- "horizontalRule": "HorizontalRule",
- // inline block
- 'text': 'Str',
- 'break': 'Break',
- 'emphasis': 'Emphasis',
- 'strong': 'Strong',
- 'html': 'Html',
- 'link': 'Link',
- 'image': 'Image',
- 'inlineCode': 'Code',
- 'yaml': 'Yaml'
-};
diff --git a/src/mapping.ts b/src/mapping.ts
new file mode 100644
index 0000000..d68b89f
--- /dev/null
+++ b/src/mapping.ts
@@ -0,0 +1,29 @@
+// LICENSE : MIT
+"use strict";
+export const tagNameToType = {
+ "p": "Paragraph",
+ "ul": "List",
+ "ol": "List",
+ "li": "ListItem",
+ "q": "BlockQuote",
+ "blockquote": "BlockQuote",
+ "code": "CodeBlock",
+ "hr": "horizontalRule",
+ "br": "break",
+ "em": "Emphasis",
+ "strong": "Strong",
+ "a": "Link",
+ "img": "Image",
+ "h1": "Header",
+ "h2": "Header",
+ "h3": "Header",
+ "h4": "Header",
+ "h5": "Header",
+ "h6": "Header",
+} as const;
+
+export const nodeTypes = {
+ "root": "Document",
+ "comment": "Comment",
+ 'text': 'Str',
+} as const;
diff --git a/test/HTMLProcessor-test.js b/test/HTMLProcessor-test.js
deleted file mode 100644
index 4ad49c7..0000000
--- a/test/HTMLProcessor-test.js
+++ /dev/null
@@ -1,128 +0,0 @@
-// LICENSE : MIT
-"use strict";
-import assert from "assert";
-import HTMLPlugin from "../src/index"
-import {parse} from "../src/html-to-ast";
-import {tagNameToType} from "../src/mapping";
-import {TextLintCore} from "textlint";
-import path from "path";
-import { moduleInterop } from "@textlint/module-interop";
-describe("HTMLProcessor-test", function () {
- describe("#parse", function () {
- it("should return AST", function () {
- const result = parse(``);
- assert(result.type === "Document");
- });
- it("script should CodeBlock", function () {
- const result = parse(``);
- const script = result.children[0];
- script.children.forEach(code => {
- assert.equal(code.type, "CodeBlock");
- });
- });
- it("style should CodeBlock", function () {
- const result = parse(``);
- const script = result.children[0];
- script.children.forEach(code => {
- assert.equal(code.type, "CodeBlock");
- });
- });
- it(" should Paragraph", function () {
- const result = parse(`
test
`);
- const pTag = result.children[0];
- assert.equal(pTag.type, "Paragraph");
- });
- it(" should be Comment", function () {
- const result = parse(``);
- const commentNode = result.children[0];
- assert.equal(commentNode.type, "Comment");
- });
-
- it("should map type to TxtNode's type", function () {
- function createTag(tagName) {
- return `<${tagName}>${tagName}>`;
- }
-
- function testMap(typeMap) {
- Object.keys(typeMap).forEach(tagName => {
- const result = parse(createTag(tagName));
- assert(result.type === "Document");
- const firstChild = result.children[0];
- const expectedType = typeMap[tagName];
- assert.equal(firstChild.type, expectedType);
- });
- }
-
- testMap(tagNameToType);
- });
- });
- describe("HTMLPlugin", function () {
- let textlint;
- context("when target file is a HTML", function () {
- beforeEach(function () {
- textlint = new TextLintCore();
- textlint.setupPlugins({
- html: HTMLPlugin
- });
- textlint.setupRules({
- "no-todo": moduleInterop(require("textlint-rule-no-todo"))
- });
- });
- it("should report error", function () {
- const fixturePath = path.join(__dirname, "/fixtures/test.html");
- return textlint.lintFile(fixturePath).then(results => {
- assert(results.messages.length > 0);
- assert(results.filePath === fixturePath);
- });
- });
- });
- context("support file extensions", function () {
- beforeEach(function () {
- textlint = new TextLintCore();
- textlint.setupPlugins({
- html: HTMLPlugin
- });
- textlint.setupRules({
- "no-todo": moduleInterop(require("textlint-rule-no-todo"))
- });
- });
- it("support {.html, .htm}", function () {
- const fixturePathList = [
- path.join(__dirname, "/fixtures/test.html"),
- path.join(__dirname, "/fixtures/test.htm")
- ];
- const promises = fixturePathList.map((filePath) => {
- return textlint.lintFile(filePath).then(results => {
- assert(results.messages.length > 0);
- assert(results.filePath === filePath);
- });
- });
- return Promise.all(promises);
- });
- });
- context("when extensions option is specified", function () {
- beforeEach(function () {
- textlint = new TextLintCore();
- textlint.setupPlugins(
- { html: HTMLPlugin },
- { html: {extensions: [".custom"]}}
- );
- textlint.setupRules({
- "no-todo": moduleInterop(require("textlint-rule-no-todo"))
- });
- });
- it("should report error", function () {
- const fixturePathList = [
- path.join(__dirname, "/fixtures/test.custom")
- ];
- const promises = fixturePathList.map((filePath) => {
- return textlint.lintFile(filePath).then(results => {
- assert(results.messages.length > 0);
- assert(results.filePath === filePath);
- });
- });
- return Promise.all(promises);
- });
- });
- });
-});
\ No newline at end of file
diff --git a/test/HTMLProcessor-test.ts b/test/HTMLProcessor-test.ts
new file mode 100644
index 0000000..bed9114
--- /dev/null
+++ b/test/HTMLProcessor-test.ts
@@ -0,0 +1,148 @@
+// LICENSE : MIT
+"use strict";
+import assert from "assert";
+import HTMLPlugin from "../src/index.js"
+import { parse } from "../src/html-to-ast.js";
+import { tagNameToType } from "../src/mapping.js";
+import { TextlintKernel } from "@textlint/kernel"
+import path from "path";
+import { moduleInterop } from "@textlint/module-interop";
+import fs from "fs";
+import { fileURLToPath } from "url";
+
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+const getBodyNode = (ast: ReturnType) => {
+ const html = ast.children.find(node => {
+ // @ts-expect-error: html is custom type
+ return node.type === "html";
+ });
+ if (!html) {
+ throw new Error("Not found html node");
+ }
+ // @ts-expect-error: html is custom type
+ const body = html.children.find(node => {
+ return node.type === "body";
+ });
+ if (!body) {
+ throw new Error("Not found body node");
+ }
+ return body
+}
+describe("HTMLProcessor-test", function () {
+ describe("#parse", function () {
+ it("should return AST", function () {
+ const result = parse(``);
+ assert(result.type === "Document");
+ });
+ it("should map type to TxtNode's type", function () {
+ function createTag(tagName: string) {
+ return `<${tagName}>${tagName}>`;
+ }
+
+ function testMap(typeMap: { [key: string]: string }) {
+ Object.keys(typeMap).forEach(tagName => {
+ const result = parse(`test ${createTag(tagName)}`);
+ assert(result.type === "Document");
+ const firstChild = getBodyNode(result).children[0];
+ const expectedType = typeMap[tagName];
+ assert.strictEqual(firstChild.type, expectedType);
+ });
+ }
+
+ testMap(tagNameToType);
+ });
+ });
+ describe("HTMLPlugin", function () {
+ context("when target file is a HTML", function () {
+ it("should report error", async function () {
+ const textlint = new TextlintKernel()
+ const plugin = {
+ pluginId: "html",
+ plugin: HTMLPlugin,
+ };
+ const rule = {
+ ruleId: "no-todo",
+ // @ts-ignore
+ rule: moduleInterop((await import("textlint-rule-no-todo")).default)
+ };
+ const options = {
+ plugins: [plugin],
+ rules: [rule]
+ };
+ const fixturePath = path.join(__dirname, "/fixtures/test.html");
+ return textlint.lintText(fs.readFileSync(fixturePath, "utf-8"), {
+ ...options,
+ ext: path.extname(fixturePath),
+ filePath: fixturePath
+ }).then(results => {
+ assert(results.messages.length > 0);
+ assert(results.filePath === fixturePath);
+ });
+ });
+ });
+ context("support file extensions", function () {
+ it("support {.html, .htm}", async function () {
+ const textlint = new TextlintKernel()
+ const plugin = {
+ pluginId: "html",
+ plugin: HTMLPlugin,
+ };
+ const rule = {
+ ruleId: "no-todo",
+ // @ts-ignore
+ rule: moduleInterop((await import("textlint-rule-no-todo")).default)
+ };
+ const options = {
+ plugins: [plugin],
+ rules: [rule]
+ }
+ const fixturePathList = [
+ path.join(__dirname, "/fixtures/test.html"),
+ path.join(__dirname, "/fixtures/test.htm")
+ ];
+ const promises = fixturePathList.map((filePath) => {
+ return textlint.lintText(fs.readFileSync(filePath, "utf-8"), {
+ ...options,
+ ext: path.extname(filePath),
+ filePath
+ }).then(results => {
+ assert(results.messages.length > 0);
+ assert(results.filePath === filePath);
+ });
+ });
+ return Promise.all(promises);
+ });
+ });
+ context("when extensions option is specified", function () {
+ it("should report error", async function () {
+ const textlint = new TextlintKernel()
+ const plugin = {
+ pluginId: "html",
+ plugin: HTMLPlugin,
+ options: {
+ extensions: [".custom"]
+ }
+ };
+ const rule = {
+ ruleId: "no-todo",
+ // @ts-ignore
+ rule: moduleInterop((await import("textlint-rule-no-todo")).default)
+ };
+ const options = {
+ plugins: [plugin],
+ rules: [rule]
+ }
+ const filePath = path.join(__dirname, "/fixtures/test.custom")
+ return textlint.lintText(fs.readFileSync(filePath, "utf-8"), {
+ ...options,
+ ext: path.extname(filePath),
+ filePath
+ }).then(results => {
+ assert(results.messages.length > 0);
+ assert(results.filePath === filePath);
+ });
+ });
+ });
+ });
+});
diff --git a/test/ast-test-case/adoption/index.json b/test/ast-test-case/adoption/index.json
deleted file mode 100644
index bfff8bd..0000000
--- a/test/ast-test-case/adoption/index.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Link",
- "tagName": "a",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "b",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "b",
- "properties": {},
- "children": [
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 9
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 9,
- 16
- ],
- "raw": ""
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 6,
- 16
- ],
- "raw": "
"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 3
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 3,
- 16
- ],
- "raw": "
"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 16
- }
- },
- "range": [
- 0,
- 16
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 16
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 16,
- 17
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 17
- ],
- "raw": "
\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/adoption/output-tree.txt b/test/ast-test-case/adoption/output-tree.txt
new file mode 100644
index 0000000..46b13ea
--- /dev/null
+++ b/test/ast-test-case/adoption/output-tree.txt
@@ -0,0 +1,12 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Link(element)
+ b(element)
+ b(element)
+ b(element)
+ b(element)
+ Paragraph(element)
+ Link(element)
+ Str(text)
diff --git a/test/ast-test-case/adoption/output.json b/test/ast-test-case/adoption/output.json
new file mode 100644
index 0000000..264885c
--- /dev/null
+++ b/test/ast-test-case/adoption/output.json
@@ -0,0 +1,331 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 17
+ ],
+ "raw": "
\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {},
+ "children": [
+ {
+ "type": "b",
+ "tagName": "b",
+ "properties": {},
+ "children": [
+ {
+ "type": "b",
+ "tagName": "b",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 7,
+ "offset": 6
+ },
+ "end": {
+ "line": 1,
+ "column": 10,
+ "offset": 9
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 6
+ },
+ "end": {
+ "line": 1,
+ "column": 9
+ }
+ },
+ "range": [
+ 6,
+ 9
+ ],
+ "raw": ""
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 4,
+ "offset": 3
+ },
+ "end": {
+ "line": 1,
+ "column": 10,
+ "offset": 9
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 3
+ },
+ "end": {
+ "line": 1,
+ "column": 9
+ }
+ },
+ "range": [
+ 3,
+ 9
+ ],
+ "raw": ""
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 10,
+ "offset": 9
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 9
+ }
+ },
+ "range": [
+ 0,
+ 9
+ ],
+ "raw": ""
+ },
+ {
+ "type": "b",
+ "tagName": "b",
+ "properties": {},
+ "children": [
+ {
+ "type": "b",
+ "tagName": "b",
+ "properties": {},
+ "children": [
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 9,
+ 17
+ ],
+ "raw": "
\n"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 17,
+ "offset": 16
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 16
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 16,
+ 17
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 10,
+ "offset": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 9,
+ 17
+ ],
+ "raw": "
\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 17
+ ],
+ "raw": "
\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 17
+ ],
+ "raw": "
\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 17
+ ],
+ "raw": "
\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 17
+ ],
+ "raw": "
\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 17
+ ],
+ "raw": "
\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/body-body-attributes/output-tree.txt b/test/ast-test-case/body-body-attributes/output-tree.txt
new file mode 100644
index 0000000..2abcaa9
--- /dev/null
+++ b/test/ast-test-case/body-body-attributes/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Str(text)
diff --git a/test/ast-test-case/body-body-attributes/index.json b/test/ast-test-case/body-body-attributes/output.json
similarity index 55%
rename from test/ast-test-case/body-body-attributes/index.json
rename to test/ast-test-case/body-body-attributes/output.json
index 3a41865..c969bc0 100644
--- a/test/ast-test-case/body-body-attributes/index.json
+++ b/test/ast-test-case/body-body-attributes/output.json
@@ -2,31 +2,33 @@
"type": "Document",
"children": [
{
- "type": "Html",
+ "type": "html",
"tagName": "html",
"properties": {},
"children": [
{
- "type": "Str",
- "value": "\n",
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
"loc": {
"start": {
"line": 1,
- "column": 6
+ "column": 0
},
"end": {
- "line": 2,
+ "line": 4,
"column": 0
}
},
"range": [
- 6,
- 7
+ 0,
+ 70
],
- "raw": "\n"
+ "raw": "\n
\n\n"
},
{
- "type": "Html",
+ "type": "body",
"tagName": "body",
"properties": {
"id": "a",
@@ -34,76 +36,53 @@
"className": [
"c"
],
- "type": "UNKNOWN"
+ "onClick": "e"
},
"children": [
{
"type": "Str",
- "value": "\n",
- "loc": {
+ "value": "\n\n",
+ "position": {
"start": {
"line": 2,
- "column": 33
+ "column": 34,
+ "offset": 40
},
"end": {
- "line": 3,
- "column": 0
+ "line": 4,
+ "column": 1,
+ "offset": 70
}
},
- "range": [
- 40,
- 41
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "body",
- "properties": {
- "className": [
- "d"
- ],
- "onclick": "e",
- "type": "UNKNOWN"
- },
- "children": [
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 28
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 69,
- 70
- ],
- "raw": "\n"
- }
- ],
"loc": {
"start": {
- "line": 3,
- "column": 0
+ "line": 2,
+ "column": 33
},
"end": {
"line": 4,
- "column": 1
+ "column": 0
}
},
"range": [
- 41,
- 71
+ 40,
+ 70
],
- "raw": "\n"
+ "raw": "\n\n"
}
],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 7
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 70
+ }
+ },
"loc": {
"start": {
"line": 2,
@@ -111,16 +90,28 @@
},
"end": {
"line": 4,
- "column": 1
+ "column": 0
}
},
"range": [
7,
- 71
+ 70
],
"raw": "\n\n"
}
],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 70
+ }
+ },
"loc": {
"start": {
"line": 1,
@@ -128,16 +119,31 @@
},
"end": {
"line": 4,
- "column": 1
+ "column": 0
}
},
"range": [
0,
- 71
+ 70
],
"raw": "\n\n\n"
}
],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 70
+ }
+ },
"loc": {
"start": {
"line": 1,
diff --git a/test/ast-test-case/body-html-attributes/output-tree.txt b/test/ast-test-case/body-html-attributes/output-tree.txt
new file mode 100644
index 0000000..2abcaa9
--- /dev/null
+++ b/test/ast-test-case/body-html-attributes/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Str(text)
diff --git a/test/ast-test-case/body-html-attributes/index.json b/test/ast-test-case/body-html-attributes/output.json
similarity index 54%
rename from test/ast-test-case/body-html-attributes/index.json
rename to test/ast-test-case/body-html-attributes/output.json
index e4341e5..07076f9 100644
--- a/test/ast-test-case/body-html-attributes/index.json
+++ b/test/ast-test-case/body-html-attributes/output.json
@@ -2,108 +2,91 @@
"type": "Document",
"children": [
{
- "type": "Html",
+ "type": "html",
"tagName": "html",
- "properties": {},
+ "properties": {
+ "className": [
+ "d"
+ ],
+ "onClick": "e"
+ },
"children": [
{
- "type": "Str",
- "value": "\n",
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
"loc": {
"start": {
"line": 1,
- "column": 6
+ "column": 0
},
"end": {
- "line": 2,
+ "line": 4,
"column": 0
}
},
"range": [
- 6,
- 7
+ 0,
+ 70
],
- "raw": "\n"
+ "raw": "\n\n\n"
},
{
- "type": "Html",
+ "type": "body",
"tagName": "body",
"properties": {
"id": "a",
"title": "b",
"className": [
"c"
- ],
- "type": "UNKNOWN"
+ ]
},
"children": [
{
"type": "Str",
- "value": "\n",
- "loc": {
+ "value": "\n\n",
+ "position": {
"start": {
"line": 2,
- "column": 33
+ "column": 34,
+ "offset": 40
},
"end": {
- "line": 3,
- "column": 0
+ "line": 4,
+ "column": 1,
+ "offset": 70
}
},
- "range": [
- 40,
- 41
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "html",
- "properties": {
- "className": [
- "d"
- ],
- "onclick": "e",
- "type": "UNKNOWN"
- },
- "children": [
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 28
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 69,
- 70
- ],
- "raw": "\n"
- }
- ],
"loc": {
"start": {
- "line": 3,
- "column": 0
+ "line": 2,
+ "column": 33
},
"end": {
"line": 4,
- "column": 1
+ "column": 0
}
},
"range": [
- 41,
- 71
+ 40,
+ 70
],
- "raw": "\n"
+ "raw": "\n\n"
}
],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 7
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 70
+ }
+ },
"loc": {
"start": {
"line": 2,
@@ -111,16 +94,28 @@
},
"end": {
"line": 4,
- "column": 1
+ "column": 0
}
},
"range": [
7,
- 71
+ 70
],
"raw": "\n\n"
}
],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 70
+ }
+ },
"loc": {
"start": {
"line": 1,
@@ -128,16 +123,31 @@
},
"end": {
"line": 4,
- "column": 1
+ "column": 0
}
},
"range": [
0,
- 71
+ 70
],
"raw": "\n\n\n"
}
],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 70
+ }
+ },
"loc": {
"start": {
"line": 1,
diff --git a/test/ast-test-case/character-data/index.json b/test/ast-test-case/character-data/index.json
deleted file mode 100644
index 1ceb898..0000000
--- a/test/ast-test-case/character-data/index.json
+++ /dev/null
@@ -1,554 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Comment",
- "value": "\nCDATA in HTML is no longer allowed.\nIt will be parsed like a declaration (``, just like\nthe doctype), which means `>`s will break out of them.\nThen, it’ll result in a comment.\n\nCDATA in foreign contet is allowed, but is also “garbled”.\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 8,
- "column": 3
- }
- },
- "range": [
- 0,
- 254
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 8,
- "column": 3
- },
- "end": {
- "line": 10,
- "column": 0
- }
- },
- "range": [
- 254,
- 256
- ],
- "raw": "\n\n"
- },
- {
- "type": "UNKNOWN",
- "value": "Echo ",
- "loc": {
- "start": {
- "line": 10,
- "column": 0
- },
- "end": {
- "line": 10,
- "column": 31
- }
- },
- "range": [
- 256,
- 287
- ],
- "raw": "Echo]]>"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 10,
- "column": 31
- },
- "end": {
- "line": 12,
- "column": 0
- }
- },
- "range": [
- 287,
- 289
- ],
- "raw": "\n\n"
- },
- {
- "type": "UNKNOWN",
- "value": "",
- "loc": {
- "start": {
- "line": 12,
- "column": 0
- },
- "end": {
- "line": 12,
- "column": 12
- }
- },
- "range": [
- 289,
- 301
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 12,
- "column": 12
- },
- "end": {
- "line": 14,
- "column": 0
- }
- },
- "range": [
- 301,
- 303
- ],
- "raw": "\n\n"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "You can add a string to a number, but this stringifies the number:",
- "loc": {
- "start": {
- "line": 14,
- "column": 3
- },
- "end": {
- "line": 14,
- "column": 69
- }
- },
- "range": [
- 306,
- 372
- ],
- "raw": "You can add a string to a number, but this stringifies the number:"
- }
- ],
- "loc": {
- "start": {
- "line": 14,
- "column": 0
- },
- "end": {
- "line": 14,
- "column": 73
- }
- },
- "range": [
- 303,
- 376
- ],
- "raw": "You can add a string to a number, but this stringifies the number:
"
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 14,
- "column": 73
- },
- "end": {
- "line": 15,
- "column": 0
- }
- },
- "range": [
- 376,
- 377
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "math",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "\n ",
- "loc": {
- "start": {
- "line": 15,
- "column": 6
- },
- "end": {
- "line": 16,
- "column": 1
- }
- },
- "range": [
- 383,
- 385
- ],
- "raw": "\n "
- },
- {
- "type": "Html",
- "tagName": "ms",
- "properties": {},
- "children": [
- {
- "type": "UNKNOWN",
- "value": "x"
- }
- ],
- "loc": {
- "start": {
- "line": 16,
- "column": 1
- },
- "end": {
- "line": 16,
- "column": 25
- }
- },
- "range": [
- 385,
- 409
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n ",
- "loc": {
- "start": {
- "line": 16,
- "column": 25
- },
- "end": {
- "line": 17,
- "column": 1
- }
- },
- "range": [
- 409,
- 411
- ],
- "raw": "\n "
- },
- {
- "type": "Html",
- "tagName": "mo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "+",
- "loc": {
- "start": {
- "line": 17,
- "column": 5
- },
- "end": {
- "line": 17,
- "column": 6
- }
- },
- "range": [
- 415,
- 416
- ],
- "raw": "+"
- }
- ],
- "loc": {
- "start": {
- "line": 17,
- "column": 1
- },
- "end": {
- "line": 17,
- "column": 11
- }
- },
- "range": [
- 411,
- 421
- ],
- "raw": "+ "
- },
- {
- "type": "Str",
- "value": "\n ",
- "loc": {
- "start": {
- "line": 17,
- "column": 11
- },
- "end": {
- "line": 18,
- "column": 1
- }
- },
- "range": [
- 421,
- 423
- ],
- "raw": "\n "
- },
- {
- "type": "Html",
- "tagName": "mn",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "3",
- "loc": {
- "start": {
- "line": 18,
- "column": 5
- },
- "end": {
- "line": 18,
- "column": 6
- }
- },
- "range": [
- 427,
- 428
- ],
- "raw": "3"
- }
- ],
- "loc": {
- "start": {
- "line": 18,
- "column": 1
- },
- "end": {
- "line": 18,
- "column": 11
- }
- },
- "range": [
- 423,
- 433
- ],
- "raw": "3 "
- },
- {
- "type": "Str",
- "value": "\n ",
- "loc": {
- "start": {
- "line": 18,
- "column": 11
- },
- "end": {
- "line": 19,
- "column": 1
- }
- },
- "range": [
- 433,
- 435
- ],
- "raw": "\n "
- },
- {
- "type": "Html",
- "tagName": "mo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "=",
- "loc": {
- "start": {
- "line": 19,
- "column": 5
- },
- "end": {
- "line": 19,
- "column": 6
- }
- },
- "range": [
- 439,
- 440
- ],
- "raw": "="
- }
- ],
- "loc": {
- "start": {
- "line": 19,
- "column": 1
- },
- "end": {
- "line": 19,
- "column": 11
- }
- },
- "range": [
- 435,
- 445
- ],
- "raw": "= "
- },
- {
- "type": "Str",
- "value": "\n ",
- "loc": {
- "start": {
- "line": 19,
- "column": 11
- },
- "end": {
- "line": 20,
- "column": 1
- }
- },
- "range": [
- 445,
- 447
- ],
- "raw": "\n "
- },
- {
- "type": "Html",
- "tagName": "ms",
- "properties": {},
- "children": [
- {
- "type": "UNKNOWN",
- "value": "x>y3",
- "loc": {
- "start": {
- "line": 20,
- "column": 5
- },
- "end": {
- "line": 20,
- "column": 21
- }
- },
- "range": [
- 451,
- 467
- ],
- "raw": "y3]]>"
- }
- ],
- "loc": {
- "start": {
- "line": 20,
- "column": 1
- },
- "end": {
- "line": 20,
- "column": 26
- }
- },
- "range": [
- 447,
- 472
- ],
- "raw": "y3]]> "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 20,
- "column": 26
- },
- "end": {
- "line": 21,
- "column": 0
- }
- },
- "range": [
- 472,
- 473
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 0
- },
- "end": {
- "line": 21,
- "column": 7
- }
- },
- "range": [
- 377,
- 480
- ],
- "raw": "\n \n + \n 3 \n = \n y3]]> \n "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 21,
- "column": 7
- },
- "end": {
- "line": 22,
- "column": 0
- }
- },
- "range": [
- 480,
- 481
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 22,
- "column": 0
- }
- },
- "range": [
- 0,
- 481
- ],
- "raw": "\n\nEcho]]>\n\n\n\nYou can add a string to a number, but this stringifies the number:
\n\n \n + \n 3 \n = \n y3]]> \n \n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/character-data/output-tree.txt b/test/ast-test-case/character-data/output-tree.txt
new file mode 100644
index 0000000..68ec5cc
--- /dev/null
+++ b/test/ast-test-case/character-data/output-tree.txt
@@ -0,0 +1,31 @@
+Document(root)
+ Comment(comment)
+ Comment(comment)
+ html(element)
+ head(element)
+ body(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ Str(text)
+ math(element)
+ Str(text)
+ ms(element)
+ Comment(comment)
+ Str(text)
+ mo(element)
+ Str(text)
+ Str(text)
+ mn(element)
+ Str(text)
+ Str(text)
+ mo(element)
+ Str(text)
+ Str(text)
+ ms(element)
+ Comment(comment)
+ Str(text)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/character-data/output.json b/test/ast-test-case/character-data/output.json
new file mode 100644
index 0000000..6999e8b
--- /dev/null
+++ b/test/ast-test-case/character-data/output.json
@@ -0,0 +1,958 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "Comment",
+ "value": "\nCDATA in HTML is no longer allowed.\nIt will be parsed like a declaration (``, just like\nthe doctype), which means `>`s will break out of them.\nThen, it’ll result in a comment.\n\nCDATA in foreign contet is allowed, but is also “garbled”.\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 4,
+ "offset": 254
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 3
+ }
+ },
+ "range": [
+ 0,
+ 254
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Comment",
+ "value": "[CDATA["
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 22,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 481
+ ],
+ "raw": "\n\nEcho ]]>\n\n\n\nYou can add a string to a number, but this stringifies the number:
\n\n \n + \n 3 \n = \n y3]]> \n \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Echo]]>\n\n",
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 17,
+ "offset": 272
+ },
+ "end": {
+ "line": 12,
+ "column": 1,
+ "offset": 289
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 16
+ },
+ "end": {
+ "line": 12,
+ "column": 0
+ }
+ },
+ "range": [
+ 272,
+ 289
+ ],
+ "raw": "Echo]]>\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "[CDATA[]]",
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 1,
+ "offset": 289
+ },
+ "end": {
+ "line": 12,
+ "column": 13,
+ "offset": 301
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 0
+ },
+ "end": {
+ "line": 12,
+ "column": 12
+ }
+ },
+ "range": [
+ 289,
+ 301
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 13,
+ "offset": 301
+ },
+ "end": {
+ "line": 14,
+ "column": 1,
+ "offset": 303
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 12
+ },
+ "end": {
+ "line": 14,
+ "column": 0
+ }
+ },
+ "range": [
+ 301,
+ 303
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "You can add a string to a number, but this stringifies the number:",
+ "position": {
+ "start": {
+ "line": 14,
+ "column": 4,
+ "offset": 306
+ },
+ "end": {
+ "line": 14,
+ "column": 70,
+ "offset": 372
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 14,
+ "column": 3
+ },
+ "end": {
+ "line": 14,
+ "column": 69
+ }
+ },
+ "range": [
+ 306,
+ 372
+ ],
+ "raw": "You can add a string to a number, but this stringifies the number:"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 14,
+ "column": 1,
+ "offset": 303
+ },
+ "end": {
+ "line": 14,
+ "column": 74,
+ "offset": 376
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 14,
+ "column": 0
+ },
+ "end": {
+ "line": 14,
+ "column": 73
+ }
+ },
+ "range": [
+ 303,
+ 376
+ ],
+ "raw": "You can add a string to a number, but this stringifies the number:
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 14,
+ "column": 74,
+ "offset": 376
+ },
+ "end": {
+ "line": 15,
+ "column": 1,
+ "offset": 377
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 14,
+ "column": 73
+ },
+ "end": {
+ "line": 15,
+ "column": 0
+ }
+ },
+ "range": [
+ 376,
+ 377
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "math",
+ "tagName": "math",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 7,
+ "offset": 383
+ },
+ "end": {
+ "line": 16,
+ "column": 2,
+ "offset": 385
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 6
+ },
+ "end": {
+ "line": 16,
+ "column": 1
+ }
+ },
+ "range": [
+ 383,
+ 385
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "ms",
+ "tagName": "ms",
+ "properties": {},
+ "children": [
+ {
+ "type": "Comment",
+ "value": "[CDATA[x"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 16,
+ "column": 2,
+ "offset": 385
+ },
+ "end": {
+ "line": 16,
+ "column": 26,
+ "offset": 409
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 1
+ },
+ "end": {
+ "line": 16,
+ "column": 25
+ }
+ },
+ "range": [
+ 385,
+ 409
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 16,
+ "column": 26,
+ "offset": 409
+ },
+ "end": {
+ "line": 17,
+ "column": 2,
+ "offset": 411
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 25
+ },
+ "end": {
+ "line": 17,
+ "column": 1
+ }
+ },
+ "range": [
+ 409,
+ 411
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "mo",
+ "tagName": "mo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "+",
+ "position": {
+ "start": {
+ "line": 17,
+ "column": 6,
+ "offset": 415
+ },
+ "end": {
+ "line": 17,
+ "column": 7,
+ "offset": 416
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 5
+ },
+ "end": {
+ "line": 17,
+ "column": 6
+ }
+ },
+ "range": [
+ 415,
+ 416
+ ],
+ "raw": "+"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 17,
+ "column": 2,
+ "offset": 411
+ },
+ "end": {
+ "line": 17,
+ "column": 12,
+ "offset": 421
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 1
+ },
+ "end": {
+ "line": 17,
+ "column": 11
+ }
+ },
+ "range": [
+ 411,
+ 421
+ ],
+ "raw": "+ "
+ },
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 17,
+ "column": 12,
+ "offset": 421
+ },
+ "end": {
+ "line": 18,
+ "column": 2,
+ "offset": 423
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 11
+ },
+ "end": {
+ "line": 18,
+ "column": 1
+ }
+ },
+ "range": [
+ 421,
+ 423
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "mn",
+ "tagName": "mn",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "3",
+ "position": {
+ "start": {
+ "line": 18,
+ "column": 6,
+ "offset": 427
+ },
+ "end": {
+ "line": 18,
+ "column": 7,
+ "offset": 428
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 5
+ },
+ "end": {
+ "line": 18,
+ "column": 6
+ }
+ },
+ "range": [
+ 427,
+ 428
+ ],
+ "raw": "3"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 18,
+ "column": 2,
+ "offset": 423
+ },
+ "end": {
+ "line": 18,
+ "column": 12,
+ "offset": 433
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 1
+ },
+ "end": {
+ "line": 18,
+ "column": 11
+ }
+ },
+ "range": [
+ 423,
+ 433
+ ],
+ "raw": "3 "
+ },
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 18,
+ "column": 12,
+ "offset": 433
+ },
+ "end": {
+ "line": 19,
+ "column": 2,
+ "offset": 435
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 11
+ },
+ "end": {
+ "line": 19,
+ "column": 1
+ }
+ },
+ "range": [
+ 433,
+ 435
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "mo",
+ "tagName": "mo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "=",
+ "position": {
+ "start": {
+ "line": 19,
+ "column": 6,
+ "offset": 439
+ },
+ "end": {
+ "line": 19,
+ "column": 7,
+ "offset": 440
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 5
+ },
+ "end": {
+ "line": 19,
+ "column": 6
+ }
+ },
+ "range": [
+ 439,
+ 440
+ ],
+ "raw": "="
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 19,
+ "column": 2,
+ "offset": 435
+ },
+ "end": {
+ "line": 19,
+ "column": 12,
+ "offset": 445
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 1
+ },
+ "end": {
+ "line": 19,
+ "column": 11
+ }
+ },
+ "range": [
+ 435,
+ 445
+ ],
+ "raw": "= "
+ },
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 19,
+ "column": 12,
+ "offset": 445
+ },
+ "end": {
+ "line": 20,
+ "column": 2,
+ "offset": 447
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 11
+ },
+ "end": {
+ "line": 20,
+ "column": 1
+ }
+ },
+ "range": [
+ 445,
+ 447
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "ms",
+ "tagName": "ms",
+ "properties": {},
+ "children": [
+ {
+ "type": "Comment",
+ "value": "[CDATA[x",
+ "position": {
+ "start": {
+ "line": 20,
+ "column": 6,
+ "offset": 451
+ },
+ "end": {
+ "line": 20,
+ "column": 17,
+ "offset": 462
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 5
+ },
+ "end": {
+ "line": 20,
+ "column": 16
+ }
+ },
+ "range": [
+ 451,
+ 462
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "y3]]>",
+ "position": {
+ "start": {
+ "line": 20,
+ "column": 17,
+ "offset": 462
+ },
+ "end": {
+ "line": 20,
+ "column": 22,
+ "offset": 467
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 16
+ },
+ "end": {
+ "line": 20,
+ "column": 21
+ }
+ },
+ "range": [
+ 462,
+ 467
+ ],
+ "raw": "y3]]>"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 20,
+ "column": 2,
+ "offset": 447
+ },
+ "end": {
+ "line": 20,
+ "column": 27,
+ "offset": 472
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 1
+ },
+ "end": {
+ "line": 20,
+ "column": 26
+ }
+ },
+ "range": [
+ 447,
+ 472
+ ],
+ "raw": "y3]]> "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 20,
+ "column": 27,
+ "offset": 472
+ },
+ "end": {
+ "line": 21,
+ "column": 1,
+ "offset": 473
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 26
+ },
+ "end": {
+ "line": 21,
+ "column": 0
+ }
+ },
+ "range": [
+ 472,
+ 473
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 1,
+ "offset": 377
+ },
+ "end": {
+ "line": 21,
+ "column": 8,
+ "offset": 480
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 0
+ },
+ "end": {
+ "line": 21,
+ "column": 7
+ }
+ },
+ "range": [
+ 377,
+ 480
+ ],
+ "raw": "\n \n + \n 3 \n = \n y3]]> \n "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 21,
+ "column": 8,
+ "offset": 480
+ },
+ "end": {
+ "line": 22,
+ "column": 1,
+ "offset": 481
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 7
+ },
+ "end": {
+ "line": 22,
+ "column": 0
+ }
+ },
+ "range": [
+ 480,
+ 481
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 22,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 481
+ ],
+ "raw": "\n\nEcho]]>\n\n\n\nYou can add a string to a number, but this stringifies the number:
\n\n \n + \n 3 \n = \n y3]]> \n \n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 22,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 481
+ ],
+ "raw": "\n\nEcho]]>\n\n\n\nYou can add a string to a number, but this stringifies the number:
\n\n \n + \n 3 \n = \n y3]]> \n \n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 22,
+ "column": 1,
+ "offset": 481
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 22,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 481
+ ],
+ "raw": "\n\nEcho]]>\n\n\n\nYou can add a string to a number, but this stringifies the number:
\n\n \n + \n 3 \n = \n y3]]> \n \n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/comment/index.json b/test/ast-test-case/comment/index.json
deleted file mode 100644
index 694d9e5..0000000
--- a/test/ast-test-case/comment/index.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Comment",
- "value": "This is a comment",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 24
- }
- },
- "range": [
- 0,
- 24
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 24
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 24,
- 26
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 7
- }
- },
- "range": [
- 26,
- 33
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 33,
- 34
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 0,
- 34
- ],
- "raw": "\n\n\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/comment/output-tree.txt b/test/ast-test-case/comment/output-tree.txt
new file mode 100644
index 0000000..561fdb8
--- /dev/null
+++ b/test/ast-test-case/comment/output-tree.txt
@@ -0,0 +1,6 @@
+Document(root)
+ Comment(comment)
+ Comment(comment)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/comment/output.json b/test/ast-test-case/comment/output.json
new file mode 100644
index 0000000..7388928
--- /dev/null
+++ b/test/ast-test-case/comment/output.json
@@ -0,0 +1,161 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "Comment",
+ "value": "This is a comment",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 25,
+ "offset": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 24
+ }
+ },
+ "range": [
+ 0,
+ 24
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Comment",
+ "value": "",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 26
+ },
+ "end": {
+ "line": 3,
+ "column": 8,
+ "offset": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 7
+ }
+ },
+ "range": [
+ 26,
+ 33
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 34
+ ],
+ "raw": "\n\n\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 34
+ ],
+ "raw": "\n\n\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 34
+ ],
+ "raw": "\n\n\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 34
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 34
+ ],
+ "raw": "\n\n\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/comments/index.json b/test/ast-test-case/comments/index.json
deleted file mode 100644
index 6ca56bd..0000000
--- a/test/ast-test-case/comments/index.json
+++ /dev/null
@@ -1,343 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Comment",
- "value": "Alpha",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": " ",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "raw": " "
- },
- {
- "type": "Comment",
- "value": "bravo",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 1,
- "column": 25
- }
- },
- "range": [
- 13,
- 25
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 25
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 25,
- 27
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "charlie",
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 14
- }
- },
- "range": [
- 27,
- 41
- ],
- "raw": ""
- },
- {
- "type": "Comment",
- "value": "delta",
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 26
- }
- },
- "range": [
- 41,
- 53
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 26
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 53,
- 55
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "echo -- foxtrot",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 22
- }
- },
- "range": [
- 55,
- 77
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\nValid: ",
- "loc": {
- "start": {
- "line": 5,
- "column": 22
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 77,
- 86
- ],
- "raw": "\n\nValid: "
- },
- {
- "type": "Comment",
- "value": "My favourite operators are > and and "
- },
- {
- "type": "Str",
- "value": "\n\nInvalid: ",
- "loc": {
- "start": {
- "line": 7,
- "column": 49
- },
- "end": {
- "line": 9,
- "column": 9
- }
- },
- "range": [
- 128,
- 139
- ],
- "raw": "\n\nInvalid: "
- },
- {
- "type": "Comment",
- "value": ">.\nInvalid: .\nInvalid: "
- },
- {
- "type": "Str",
- "value": ".\nInvalid: ",
- "loc": {
- "start": {
- "line": 10,
- "column": 15
- },
- "end": {
- "line": 11,
- "column": 9
- }
- },
- "range": [
- 161,
- 172
- ],
- "raw": ".\nInvalid: "
- },
- {
- "type": "Comment",
- "value": "alpha"
- },
- {
- "type": "Str",
- "value": ".\nInvalid: ",
- "loc": {
- "start": {
- "line": 11,
- "column": 30
- },
- "end": {
- "line": 12,
- "column": 9
- }
- },
- "range": [
- 193,
- 204
- ],
- "raw": ".\nInvalid: "
- },
- {
- "type": "Comment",
- "value": "charlie"
- },
- {
- "type": "Str",
- "value": ".\n",
- "loc": {
- "start": {
- "line": 12,
- "column": 26
- },
- "end": {
- "line": 13,
- "column": 0
- }
- },
- "range": [
- 221,
- 223
- ],
- "raw": ".\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 13,
- "column": 0
- }
- },
- "range": [
- 0,
- 223
- ],
- "raw": " \n\n\n\n\n\nValid: \n\nInvalid: .\nInvalid: .\nInvalid: .\nInvalid: .\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/comments/output-tree.txt b/test/ast-test-case/comments/output-tree.txt
new file mode 100644
index 0000000..0886db4
--- /dev/null
+++ b/test/ast-test-case/comments/output-tree.txt
@@ -0,0 +1,20 @@
+Document(root)
+ Comment(comment)
+ Comment(comment)
+ Comment(comment)
+ Comment(comment)
+ Comment(comment)
+ html(element)
+ head(element)
+ body(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Comment(comment)
+ Str(text)
diff --git a/test/ast-test-case/comments/output.json b/test/ast-test-case/comments/output.json
new file mode 100644
index 0000000..24e338e
--- /dev/null
+++ b/test/ast-test-case/comments/output.json
@@ -0,0 +1,596 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "Comment",
+ "value": "Alpha",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 13,
+ "offset": 12
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 12
+ }
+ },
+ "range": [
+ 0,
+ 12
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Comment",
+ "value": "bravo",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 14,
+ "offset": 13
+ },
+ "end": {
+ "line": 1,
+ "column": 26,
+ "offset": 25
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 13
+ },
+ "end": {
+ "line": 1,
+ "column": 25
+ }
+ },
+ "range": [
+ 13,
+ 25
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Comment",
+ "value": "charlie",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 27
+ },
+ "end": {
+ "line": 3,
+ "column": 15,
+ "offset": 41
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 14
+ }
+ },
+ "range": [
+ 27,
+ 41
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Comment",
+ "value": "delta",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 15,
+ "offset": 41
+ },
+ "end": {
+ "line": 3,
+ "column": 27,
+ "offset": 53
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 14
+ },
+ "end": {
+ "line": 3,
+ "column": 26
+ }
+ },
+ "range": [
+ 41,
+ 53
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Comment",
+ "value": "echo -- foxtrot",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1,
+ "offset": 55
+ },
+ "end": {
+ "line": 5,
+ "column": 23,
+ "offset": 77
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 22
+ }
+ },
+ "range": [
+ 55,
+ 77
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 13,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 223
+ ],
+ "raw": " \n\n\n\n\n\nValid: \n\nInvalid: .\nInvalid: .\nInvalid: .\nInvalid: .\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Valid: ",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 1,
+ "offset": 79
+ },
+ "end": {
+ "line": 7,
+ "column": 8,
+ "offset": 86
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 7
+ }
+ },
+ "range": [
+ 79,
+ 86
+ ],
+ "raw": "Valid: "
+ },
+ {
+ "type": "Comment",
+ "value": "My favourite operators are > and and "
+ },
+ {
+ "type": "Str",
+ "value": "\n\nInvalid: ",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 50,
+ "offset": 128
+ },
+ "end": {
+ "line": 9,
+ "column": 10,
+ "offset": 139
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 49
+ },
+ "end": {
+ "line": 9,
+ "column": 9
+ }
+ },
+ "range": [
+ 128,
+ 139
+ ],
+ "raw": "\n\nInvalid: "
+ },
+ {
+ "type": "Comment",
+ "value": "",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 10,
+ "offset": 139
+ },
+ "end": {
+ "line": 9,
+ "column": 15,
+ "offset": 144
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 9
+ },
+ "end": {
+ "line": 9,
+ "column": 14
+ }
+ },
+ "range": [
+ 139,
+ 144
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": ".\nInvalid: ",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 15,
+ "offset": 144
+ },
+ "end": {
+ "line": 10,
+ "column": 10,
+ "offset": 155
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 14
+ },
+ "end": {
+ "line": 10,
+ "column": 9
+ }
+ },
+ "range": [
+ 144,
+ 155
+ ],
+ "raw": ".\nInvalid: "
+ },
+ {
+ "type": "Comment",
+ "value": "",
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 10,
+ "offset": 155
+ },
+ "end": {
+ "line": 10,
+ "column": 16,
+ "offset": 161
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 9
+ },
+ "end": {
+ "line": 10,
+ "column": 15
+ }
+ },
+ "range": [
+ 155,
+ 161
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": ".\nInvalid: ",
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 16,
+ "offset": 161
+ },
+ "end": {
+ "line": 11,
+ "column": 10,
+ "offset": 172
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 15
+ },
+ "end": {
+ "line": 11,
+ "column": 9
+ }
+ },
+ "range": [
+ 161,
+ 172
+ ],
+ "raw": ".\nInvalid: "
+ },
+ {
+ "type": "Comment",
+ "value": "alpha"
+ },
+ {
+ "type": "Str",
+ "value": ".\nInvalid: ",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 31,
+ "offset": 193
+ },
+ "end": {
+ "line": 12,
+ "column": 10,
+ "offset": 204
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 30
+ },
+ "end": {
+ "line": 12,
+ "column": 9
+ }
+ },
+ "range": [
+ 193,
+ 204
+ ],
+ "raw": ".\nInvalid: "
+ },
+ {
+ "type": "Comment",
+ "value": "charlie"
+ },
+ {
+ "type": "Str",
+ "value": ".\n",
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 27,
+ "offset": 221
+ },
+ "end": {
+ "line": 13,
+ "column": 1,
+ "offset": 223
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 26
+ },
+ "end": {
+ "line": 13,
+ "column": 0
+ }
+ },
+ "range": [
+ 221,
+ 223
+ ],
+ "raw": ".\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 13,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 223
+ ],
+ "raw": " \n\n\n\n\n\nValid: \n\nInvalid: .\nInvalid: .\nInvalid: .\nInvalid: .\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 13,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 223
+ ],
+ "raw": " \n\n\n\n\n\nValid: \n\nInvalid: .\nInvalid: .\nInvalid: .\nInvalid: .\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 13,
+ "column": 1,
+ "offset": 223
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 13,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 223
+ ],
+ "raw": " \n\n\n\n\n\nValid: \n\nInvalid: .\nInvalid: .\nInvalid: .\nInvalid: .\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/directive-in-fragment/index.json b/test/ast-test-case/directive-in-fragment/index.json
deleted file mode 100644
index efe1c6d..0000000
--- a/test/ast-test-case/directive-in-fragment/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "!doctype",
- "value": "!doctype",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 10,
- 11
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 11
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/directive-in-fragment/output-tree.txt b/test/ast-test-case/directive-in-fragment/output-tree.txt
new file mode 100644
index 0000000..1c22154
--- /dev/null
+++ b/test/ast-test-case/directive-in-fragment/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/directive-in-fragment/output.json b/test/ast-test-case/directive-in-fragment/output.json
new file mode 100644
index 0000000..6acba85
--- /dev/null
+++ b/test/ast-test-case/directive-in-fragment/output.json
@@ -0,0 +1,129 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 11,
+ "offset": 10
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 10
+ }
+ },
+ "range": [
+ 0,
+ 10
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 11
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 11
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 11
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 11
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-almost-standards/index.json b/test/ast-test-case/doctype-almost-standards/index.json
deleted file mode 100644
index 0fb707c..0000000
--- a/test/ast-test-case/doctype-almost-standards/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "!doctype",
- "value": "!DOCTYPE HTML PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 63
- }
- },
- "range": [
- 0,
- 63
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 63
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 63,
- 64
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 64
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-almost-standards/output-tree.txt b/test/ast-test-case/doctype-almost-standards/output-tree.txt
new file mode 100644
index 0000000..1c22154
--- /dev/null
+++ b/test/ast-test-case/doctype-almost-standards/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/doctype-almost-standards/output.json b/test/ast-test-case/doctype-almost-standards/output.json
new file mode 100644
index 0000000..66245cb
--- /dev/null
+++ b/test/ast-test-case/doctype-almost-standards/output.json
@@ -0,0 +1,129 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 64,
+ "offset": 63
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 63
+ }
+ },
+ "range": [
+ 0,
+ 63
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 64
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 64
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 64
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 64
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 64
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-legacy-double/index.json b/test/ast-test-case/doctype-legacy-double/index.json
deleted file mode 100644
index 834a032..0000000
--- a/test/ast-test-case/doctype-legacy-double/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "!doctype",
- "value": "!DOCTYPE html SYSTEM \"about:legacy-compat\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "range": [
- 0,
- 44
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 44,
- 45
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 45
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-legacy-double/output-tree.txt b/test/ast-test-case/doctype-legacy-double/output-tree.txt
new file mode 100644
index 0000000..1c22154
--- /dev/null
+++ b/test/ast-test-case/doctype-legacy-double/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/doctype-legacy-double/output.json b/test/ast-test-case/doctype-legacy-double/output.json
new file mode 100644
index 0000000..3efe6d7
--- /dev/null
+++ b/test/ast-test-case/doctype-legacy-double/output.json
@@ -0,0 +1,129 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 45,
+ "offset": 44
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 44
+ }
+ },
+ "range": [
+ 0,
+ 44
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": false
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 45
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-legacy-single/index.json b/test/ast-test-case/doctype-legacy-single/index.json
deleted file mode 100644
index 633037e..0000000
--- a/test/ast-test-case/doctype-legacy-single/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "!doctype",
- "value": "!DOCTYPE html SYSTEM 'about:legacy-compat'",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 44
- }
- },
- "range": [
- 0,
- 44
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 44
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 44,
- 45
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 45
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-legacy-single/output-tree.txt b/test/ast-test-case/doctype-legacy-single/output-tree.txt
new file mode 100644
index 0000000..1c22154
--- /dev/null
+++ b/test/ast-test-case/doctype-legacy-single/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/doctype-legacy-single/output.json b/test/ast-test-case/doctype-legacy-single/output.json
new file mode 100644
index 0000000..f41c4e1
--- /dev/null
+++ b/test/ast-test-case/doctype-legacy-single/output.json
@@ -0,0 +1,129 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 45,
+ "offset": 44
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 44
+ }
+ },
+ "range": [
+ 0,
+ 44
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": false
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 45
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-nameless/index.json b/test/ast-test-case/doctype-nameless/index.json
deleted file mode 100644
index 280f03c..0000000
--- a/test/ast-test-case/doctype-nameless/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "!doctype",
- "value": "!DOCTYPE",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 10
- }
- },
- "range": [
- 0,
- 10
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 10
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 10,
- 11
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 11
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-nameless/output-tree.txt b/test/ast-test-case/doctype-nameless/output-tree.txt
new file mode 100644
index 0000000..1c22154
--- /dev/null
+++ b/test/ast-test-case/doctype-nameless/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/doctype-nameless/output.json b/test/ast-test-case/doctype-nameless/output.json
new file mode 100644
index 0000000..a108044
--- /dev/null
+++ b/test/ast-test-case/doctype-nameless/output.json
@@ -0,0 +1,129 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 11,
+ "offset": 10
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 10
+ }
+ },
+ "range": [
+ 0,
+ 10
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 11
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 11
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 11
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 11
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-quirksmode-ibm/index.json b/test/ast-test-case/doctype-quirksmode-ibm/index.json
deleted file mode 100644
index 89cceba..0000000
--- a/test/ast-test-case/doctype-quirksmode-ibm/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "!doctype",
- "value": "!DOCTYPE html SYSTEM \"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 83
- }
- },
- "range": [
- 0,
- 83
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 83
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 83,
- 84
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 84
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-quirksmode-ibm/output-tree.txt b/test/ast-test-case/doctype-quirksmode-ibm/output-tree.txt
new file mode 100644
index 0000000..1c22154
--- /dev/null
+++ b/test/ast-test-case/doctype-quirksmode-ibm/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/doctype-quirksmode-ibm/output.json b/test/ast-test-case/doctype-quirksmode-ibm/output.json
new file mode 100644
index 0000000..1394754
--- /dev/null
+++ b/test/ast-test-case/doctype-quirksmode-ibm/output.json
@@ -0,0 +1,129 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 84,
+ "offset": 83
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 83
+ }
+ },
+ "range": [
+ 0,
+ 83
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 84
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 84
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 84
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 84
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 84
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-quirksmode-xml/index.json b/test/ast-test-case/doctype-quirksmode-xml/index.json
deleted file mode 100644
index 9385f60..0000000
--- a/test/ast-test-case/doctype-quirksmode-xml/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "?xml",
- "value": "?xml version=\"1.0\"?",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 21
- }
- },
- "range": [
- 0,
- 21
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 21
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 21,
- 22
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 22
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-quirksmode-xml/output-tree.txt b/test/ast-test-case/doctype-quirksmode-xml/output-tree.txt
new file mode 100644
index 0000000..8aa63f1
--- /dev/null
+++ b/test/ast-test-case/doctype-quirksmode-xml/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ Comment(comment)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/doctype-quirksmode-xml/output.json b/test/ast-test-case/doctype-quirksmode-xml/output.json
new file mode 100644
index 0000000..ddc3bd1
--- /dev/null
+++ b/test/ast-test-case/doctype-quirksmode-xml/output.json
@@ -0,0 +1,130 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "Comment",
+ "value": "?xml version=\"1.0\"?",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 22,
+ "offset": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 21
+ }
+ },
+ "range": [
+ 0,
+ 21
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 22
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 22
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 22
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 22
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-quotes-double/index.json b/test/ast-test-case/doctype-quotes-double/index.json
deleted file mode 100644
index 955dfd7..0000000
--- a/test/ast-test-case/doctype-quotes-double/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "!doctype",
- "value": "!DOCTYPE HTML PUBLIC '-//Alpha \"bravo\" charlie//DTD HTML Extended 1.0//EN'",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 76
- }
- },
- "range": [
- 0,
- 76
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 76
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 76,
- 77
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 77
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-quotes-double/output-tree.txt b/test/ast-test-case/doctype-quotes-double/output-tree.txt
new file mode 100644
index 0000000..1c22154
--- /dev/null
+++ b/test/ast-test-case/doctype-quotes-double/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/doctype-quotes-double/output.json b/test/ast-test-case/doctype-quotes-double/output.json
new file mode 100644
index 0000000..f7f1780
--- /dev/null
+++ b/test/ast-test-case/doctype-quotes-double/output.json
@@ -0,0 +1,129 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 77,
+ "offset": 76
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 76
+ }
+ },
+ "range": [
+ 0,
+ 76
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 77
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 77
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 77
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": false
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 77
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 77
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-quotes-single/index.json b/test/ast-test-case/doctype-quotes-single/index.json
deleted file mode 100644
index 1310039..0000000
--- a/test/ast-test-case/doctype-quotes-single/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "!doctype",
- "value": "!DOCTYPE HTML PUBLIC \"-//Alpha 'bravo' charlie//DTD HTML Extended 1.0//EN\"",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 76
- }
- },
- "range": [
- 0,
- 76
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 76
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 76,
- 77
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 77
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype-quotes-single/output-tree.txt b/test/ast-test-case/doctype-quotes-single/output-tree.txt
new file mode 100644
index 0000000..1c22154
--- /dev/null
+++ b/test/ast-test-case/doctype-quotes-single/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/doctype-quotes-single/output.json b/test/ast-test-case/doctype-quotes-single/output.json
new file mode 100644
index 0000000..fe1c2ac
--- /dev/null
+++ b/test/ast-test-case/doctype-quotes-single/output.json
@@ -0,0 +1,129 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 77,
+ "offset": 76
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 76
+ }
+ },
+ "range": [
+ 0,
+ 76
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 77
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 77
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 77
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": false
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 77
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 77
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype/index.json b/test/ast-test-case/doctype/index.json
deleted file mode 100644
index 826591f..0000000
--- a/test/ast-test-case/doctype/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "!doctype",
- "value": "!DOCTYPE html",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 15,
- 16
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 16
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/doctype/output-tree.txt b/test/ast-test-case/doctype/output-tree.txt
new file mode 100644
index 0000000..1c22154
--- /dev/null
+++ b/test/ast-test-case/doctype/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/doctype/output.json b/test/ast-test-case/doctype/output.json
new file mode 100644
index 0000000..d156cc2
--- /dev/null
+++ b/test/ast-test-case/doctype/output.json
@@ -0,0 +1,129 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 16,
+ "offset": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 15
+ }
+ },
+ "range": [
+ 0,
+ 15
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 16
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 16
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 16
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": false
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 16
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 16
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-attributes-names/index.json b/test/ast-test-case/element-attributes-names/index.json
deleted file mode 100644
index 292cbcb..0000000
--- a/test/ast-test-case/element-attributes-names/index.json
+++ /dev/null
@@ -1,192 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "foo": "",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 11
- }
- },
- "range": [
- 0,
- 11
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 11
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 11,
- 12
- ],
- "raw": "\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "foo": "",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 11
- }
- },
- "range": [
- 12,
- 23
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 2,
- "column": 11
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 23,
- 24
- ],
- "raw": "\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "foo": "",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 11
- }
- },
- "range": [
- 24,
- 35
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 35,
- 36
- ],
- "raw": "\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "foo": "",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 19
- }
- },
- "range": [
- 36,
- 55
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 4,
- "column": 19
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 55,
- 56
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 0,
- 56
- ],
- "raw": " \n \n \n \n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-attributes-names/output-tree.txt b/test/ast-test-case/element-attributes-names/output-tree.txt
new file mode 100644
index 0000000..d77c693
--- /dev/null
+++ b/test/ast-test-case/element-attributes-names/output-tree.txt
@@ -0,0 +1,12 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Link(element)
+ Str(text)
+ Link(element)
+ Str(text)
+ Link(element)
+ Str(text)
+ Link(element)
+ Str(text)
diff --git a/test/ast-test-case/element-attributes-names/output.json b/test/ast-test-case/element-attributes-names/output.json
new file mode 100644
index 0000000..1f504db
--- /dev/null
+++ b/test/ast-test-case/element-attributes-names/output.json
@@ -0,0 +1,364 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 56
+ ],
+ "raw": " \n \n \n \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "foo": ""
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 12,
+ "offset": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 11
+ }
+ },
+ "range": [
+ 0,
+ 11
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 12,
+ "offset": 11
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 12
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 11
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 11,
+ 12
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "foo": ""
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 12
+ },
+ "end": {
+ "line": 2,
+ "column": 12,
+ "offset": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 11
+ }
+ },
+ "range": [
+ 12,
+ 23
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 12,
+ "offset": 23
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 11
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 23,
+ 24
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "foo": ""
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 24
+ },
+ "end": {
+ "line": 3,
+ "column": 12,
+ "offset": 35
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 11
+ }
+ },
+ "range": [
+ 24,
+ 35
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 12,
+ "offset": 35
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 36
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 11
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 35,
+ 36
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "foo": ""
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1,
+ "offset": 36
+ },
+ "end": {
+ "line": 4,
+ "column": 20,
+ "offset": 55
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 19
+ }
+ },
+ "range": [
+ 36,
+ 55
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 20,
+ "offset": 55
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 56
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 19
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 55,
+ 56
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 56
+ ],
+ "raw": " \n \n \n \n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 56
+ ],
+ "raw": " \n \n \n \n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 56
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 56
+ ],
+ "raw": " \n \n \n \n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-attributes/index.json b/test/ast-test-case/element-attributes/index.json
deleted file mode 100644
index fda376c..0000000
--- a/test/ast-test-case/element-attributes/index.json
+++ /dev/null
@@ -1,2271 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Comment",
- "value": "core:",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 12
- }
- },
- "range": [
- 0,
- 12
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 12,
- 14
- ],
- "raw": "\n\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "url": "http://alpha.com",
- "properties": {
- "href": "http://alpha.com",
- "className": [
- "bravo"
- ],
- "download": true,
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 54
- }
- },
- "range": [
- 14,
- 68
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 54
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 68,
- 70
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "double:",
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 14
- }
- },
- "range": [
- 70,
- 84
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 5,
- "column": 14
- },
- "end": {
- "line": 7,
- "column": 0
- }
- },
- "range": [
- 84,
- 86
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {
- "className": [],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 7,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 23
- }
- },
- "range": [
- 86,
- 109
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 7,
- "column": 23
- },
- "end": {
- "line": 9,
- "column": 0
- }
- },
- "range": [
- 109,
- 111
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "unknown:",
- "loc": {
- "start": {
- "line": 9,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 15
- }
- },
- "range": [
- 111,
- 126
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 9,
- "column": 15
- },
- "end": {
- "line": 11,
- "column": 0
- }
- },
- "range": [
- 126,
- 128
- ],
- "raw": "\n\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "ngInit": "",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 11,
- "column": 0
- },
- "end": {
- "line": 11,
- "column": 15
- }
- },
- "range": [
- 128,
- 143
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 11,
- "column": 15
- },
- "end": {
- "line": 13,
- "column": 0
- }
- },
- "range": [
- 143,
- 145
- ],
- "raw": "\n\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "ngRepeat": "",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 13,
- "column": 0
- },
- "end": {
- "line": 13,
- "column": 20
- }
- },
- "range": [
- 145,
- 165
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 13,
- "column": 20
- },
- "end": {
- "line": 15,
- "column": 0
- }
- },
- "range": [
- 165,
- 167
- ],
- "raw": "\n\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "ngClick": "ctrl.onintentclick($scope)",
- "type": "UNKNOWN"
- },
- "children": [
- {
- "type": "Str",
- "value": "ng-whatevs",
- "loc": {
- "start": {
- "line": 15,
- "column": 41
- },
- "end": {
- "line": 15,
- "column": 51
- }
- },
- "range": [
- 208,
- 218
- ],
- "raw": "ng-whatevs"
- }
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 0
- },
- "end": {
- "line": 15,
- "column": 55
- }
- },
- "range": [
- 167,
- 222
- ],
- "raw": "ng-whatevs "
- },
- {
- "type": "Str",
- "value": ".\n\n",
- "loc": {
- "start": {
- "line": 15,
- "column": 55
- },
- "end": {
- "line": 17,
- "column": 0
- }
- },
- "range": [
- 222,
- 225
- ],
- "raw": ".\n\n"
- },
- {
- "type": "Comment",
- "value": "empty:",
- "loc": {
- "start": {
- "line": 17,
- "column": 0
- },
- "end": {
- "line": 17,
- "column": 13
- }
- },
- "range": [
- 225,
- 238
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 17,
- "column": 13
- },
- "end": {
- "line": 19,
- "column": 0
- }
- },
- "range": [
- 238,
- 240
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "abbr",
- "properties": {
- "title": "",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 19,
- "column": 0
- },
- "end": {
- "line": 19,
- "column": 19
- }
- },
- "range": [
- 240,
- 259
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 19,
- "column": 19
- },
- "end": {
- "line": 21,
- "column": 0
- }
- },
- "range": [
- 259,
- 261
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "space separated:",
- "loc": {
- "start": {
- "line": 21,
- "column": 0
- },
- "end": {
- "line": 21,
- "column": 23
- }
- },
- "range": [
- 261,
- 284
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 21,
- "column": 23
- },
- "end": {
- "line": 23,
- "column": 0
- }
- },
- "range": [
- 284,
- 286
- ],
- "raw": "\n\n"
- },
- {
- "type": "CodeBlock",
- "tagName": "code",
- "properties": {
- "className": [
- "language-foo",
- "bar"
- ],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 23,
- "column": 0
- },
- "end": {
- "line": 23,
- "column": 38
- }
- },
- "range": [
- 286,
- 324
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 23,
- "column": 38
- },
- "end": {
- "line": 25,
- "column": 0
- }
- },
- "range": [
- 324,
- 326
- ],
- "raw": "\n\n"
- },
- {
- "type": "CodeBlock",
- "tagName": "code",
- "properties": {
- "className": [],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 25,
- "column": 0
- },
- "end": {
- "line": 25,
- "column": 22
- }
- },
- "range": [
- 326,
- 348
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 25,
- "column": 22
- },
- "end": {
- "line": 27,
- "column": 0
- }
- },
- "range": [
- 348,
- 350
- ],
- "raw": "\n\n"
- },
- {
- "type": "CodeBlock",
- "tagName": "code",
- "properties": {
- "className": [],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 27,
- "column": 0
- },
- "end": {
- "line": 27,
- "column": 19
- }
- },
- "range": [
- 350,
- 369
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 27,
- "column": 19
- },
- "end": {
- "line": 29,
- "column": 0
- }
- },
- "range": [
- 369,
- 371
- ],
- "raw": "\n\n"
- },
- {
- "type": "CodeBlock",
- "tagName": "code",
- "properties": {
- "className": [],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 29,
- "column": 0
- },
- "end": {
- "line": 29,
- "column": 23
- }
- },
- "range": [
- 371,
- 394
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 29,
- "column": 23
- },
- "end": {
- "line": 31,
- "column": 0
- }
- },
- "range": [
- 394,
- 396
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "comma separated:",
- "loc": {
- "start": {
- "line": 31,
- "column": 0
- },
- "end": {
- "line": 31,
- "column": 23
- }
- },
- "range": [
- 396,
- 419
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 31,
- "column": 23
- },
- "end": {
- "line": 33,
- "column": 0
- }
- },
- "range": [
- 419,
- 421
- ],
- "raw": "\n\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "srcSet": [
- "medium.jpg 1000w",
- "large.jpg 2000w"
- ],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 33,
- "column": 0
- },
- "end": {
- "line": 33,
- "column": 48
- }
- },
- "range": [
- 421,
- 469
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 33,
- "column": 48
- },
- "end": {
- "line": 35,
- "column": 0
- }
- },
- "range": [
- 469,
- 471
- ],
- "raw": "\n\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "srcSet": [
- "medium.jpg 1000w"
- ],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 35,
- "column": 0
- },
- "end": {
- "line": 35,
- "column": 31
- }
- },
- "range": [
- 471,
- 502
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 35,
- "column": 31
- },
- "end": {
- "line": 37,
- "column": 0
- }
- },
- "range": [
- 502,
- 504
- ],
- "raw": "\n\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "srcSet": [],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 37,
- "column": 0
- },
- "end": {
- "line": 37,
- "column": 15
- }
- },
- "range": [
- 504,
- 519
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 37,
- "column": 15
- },
- "end": {
- "line": 39,
- "column": 0
- }
- },
- "range": [
- 519,
- 521
- ],
- "raw": "\n\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "srcSet": [],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 39,
- "column": 0
- },
- "end": {
- "line": 39,
- "column": 16
- }
- },
- "range": [
- 521,
- 537
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 39,
- "column": 16
- },
- "end": {
- "line": 41,
- "column": 0
- }
- },
- "range": [
- 537,
- 539
- ],
- "raw": "\n\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "srcSet": [
- ""
- ],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 41,
- "column": 0
- },
- "end": {
- "line": 41,
- "column": 16
- }
- },
- "range": [
- 539,
- 555
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 41,
- "column": 16
- },
- "end": {
- "line": 43,
- "column": 0
- }
- },
- "range": [
- 555,
- 557
- ],
- "raw": "\n\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "srcSet": [
- ""
- ],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 43,
- "column": 0
- },
- "end": {
- "line": 43,
- "column": 18
- }
- },
- "range": [
- 557,
- 575
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 43,
- "column": 18
- },
- "end": {
- "line": 45,
- "column": 0
- }
- },
- "range": [
- 575,
- 577
- ],
- "raw": "\n\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "srcSet": [
- "",
- "foo"
- ],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 45,
- "column": 0
- },
- "end": {
- "line": 45,
- "column": 19
- }
- },
- "range": [
- 577,
- 596
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 45,
- "column": 19
- },
- "end": {
- "line": 47,
- "column": 0
- }
- },
- "range": [
- 596,
- 598
- ],
- "raw": "\n\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "srcSet": [
- "bar"
- ],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 47,
- "column": 0
- },
- "end": {
- "line": 47,
- "column": 19
- }
- },
- "range": [
- 598,
- 617
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 47,
- "column": 19
- },
- "end": {
- "line": 49,
- "column": 0
- }
- },
- "range": [
- 617,
- 619
- ],
- "raw": "\n\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "srcSet": [
- "",
- "baz"
- ],
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 49,
- "column": 0
- },
- "end": {
- "line": 49,
- "column": 20
- }
- },
- "range": [
- 619,
- 639
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 49,
- "column": 20
- },
- "end": {
- "line": 51,
- "column": 0
- }
- },
- "range": [
- 639,
- 641
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "style:",
- "loc": {
- "start": {
- "line": 51,
- "column": 0
- },
- "end": {
- "line": 51,
- "column": 13
- }
- },
- "range": [
- 641,
- 654
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 51,
- "column": 13
- },
- "end": {
- "line": 53,
- "column": 0
- }
- },
- "range": [
- 654,
- 656
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 53,
- "column": 0
- },
- "end": {
- "line": 53,
- "column": 11
- }
- },
- "range": [
- 656,
- 667
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 53,
- "column": 11
- },
- "end": {
- "line": 55,
- "column": 0
- }
- },
- "range": [
- 667,
- 669
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {
- "style": {},
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 55,
- "column": 0
- },
- "end": {
- "line": 55,
- "column": 20
- }
- },
- "range": [
- 669,
- 689
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 55,
- "column": 20
- },
- "end": {
- "line": 57,
- "column": 0
- }
- },
- "range": [
- 689,
- 691
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {
- "style": {},
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 57,
- "column": 0
- },
- "end": {
- "line": 57,
- "column": 25
- }
- },
- "range": [
- 691,
- 716
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 57,
- "column": 25
- },
- "end": {
- "line": 59,
- "column": 0
- }
- },
- "range": [
- 716,
- 718
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {
- "style": {},
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 59,
- "column": 0
- },
- "end": {
- "line": 59,
- "column": 26
- }
- },
- "range": [
- 718,
- 744
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 59,
- "column": 26
- },
- "end": {
- "line": 61,
- "column": 0
- }
- },
- "range": [
- 744,
- 746
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {
- "style": {
- "color": "red",
- "type": "UNKNOWN"
- },
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 61,
- "column": 0
- },
- "end": {
- "line": 61,
- "column": 29
- }
- },
- "range": [
- 746,
- 775
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 61,
- "column": 29
- },
- "end": {
- "line": 63,
- "column": 0
- }
- },
- "range": [
- 775,
- 777
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {
- "style": {},
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 63,
- "column": 0
- },
- "end": {
- "line": 63,
- "column": 27
- }
- },
- "range": [
- 777,
- 804
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 63,
- "column": 27
- },
- "end": {
- "line": 65,
- "column": 0
- }
- },
- "range": [
- 804,
- 806
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {
- "style": {
- "color": "red",
- "type": "UNKNOWN"
- },
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 65,
- "column": 0
- },
- "end": {
- "line": 65,
- "column": 30
- }
- },
- "range": [
- 806,
- 836
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 65,
- "column": 30
- },
- "end": {
- "line": 67,
- "column": 0
- }
- },
- "range": [
- 836,
- 838
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {
- "style": {
- "color": "red",
- "type": "UNKNOWN"
- },
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 67,
- "column": 0
- },
- "end": {
- "line": 67,
- "column": 46
- }
- },
- "range": [
- 838,
- 884
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 67,
- "column": 46
- },
- "end": {
- "line": 69,
- "column": 0
- }
- },
- "range": [
- 884,
- 886
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {
- "style": {
- "color": "red",
- "background-color": "blue",
- "type": "UNKNOWN"
- },
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 69,
- "column": 0
- },
- "end": {
- "line": 69,
- "column": 52
- }
- },
- "range": [
- 886,
- 938
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 69,
- "column": 52
- },
- "end": {
- "line": 71,
- "column": 0
- }
- },
- "range": [
- 938,
- 940
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {
- "style": {
- "color": "red",
- "background-color": "blue",
- "type": "UNKNOWN"
- },
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 71,
- "column": 0
- },
- "end": {
- "line": 71,
- "column": 53
- }
- },
- "range": [
- 940,
- 993
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 71,
- "column": 53
- },
- "end": {
- "line": 73,
- "column": 0
- }
- },
- "range": [
- 993,
- 995
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "boolean:",
- "loc": {
- "start": {
- "line": 73,
- "column": 0
- },
- "end": {
- "line": 73,
- "column": 15
- }
- },
- "range": [
- 995,
- 1010
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 73,
- "column": 15
- },
- "end": {
- "line": 75,
- "column": 0
- }
- },
- "range": [
- 1010,
- 1012
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "script",
- "properties": {
- "async": true,
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 75,
- "column": 0
- },
- "end": {
- "line": 75,
- "column": 23
- }
- },
- "range": [
- 1012,
- 1035
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 75,
- "column": 23
- },
- "end": {
- "line": 76,
- "column": 0
- }
- },
- "range": [
- 1035,
- 1036
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "script",
- "properties": {
- "async": true,
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 76,
- "column": 0
- },
- "end": {
- "line": 76,
- "column": 26
- }
- },
- "range": [
- 1036,
- 1062
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 76,
- "column": 26
- },
- "end": {
- "line": 77,
- "column": 0
- }
- },
- "range": [
- 1062,
- 1063
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "script",
- "properties": {
- "async": true,
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 77,
- "column": 0
- },
- "end": {
- "line": 77,
- "column": 31
- }
- },
- "range": [
- 1063,
- 1094
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 77,
- "column": 31
- },
- "end": {
- "line": 79,
- "column": 0
- }
- },
- "range": [
- 1094,
- 1096
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "overloaded boolean (as boolean):",
- "loc": {
- "start": {
- "line": 79,
- "column": 0
- },
- "end": {
- "line": 79,
- "column": 39
- }
- },
- "range": [
- 1096,
- 1135
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 79,
- "column": 39
- },
- "end": {
- "line": 81,
- "column": 0
- }
- },
- "range": [
- 1135,
- 1137
- ],
- "raw": "\n\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "download": true,
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 81,
- "column": 0
- },
- "end": {
- "line": 81,
- "column": 16
- }
- },
- "range": [
- 1137,
- 1153
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 81,
- "column": 16
- },
- "end": {
- "line": 82,
- "column": 0
- }
- },
- "range": [
- 1153,
- 1154
- ],
- "raw": "\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "download": true,
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 82,
- "column": 0
- },
- "end": {
- "line": 82,
- "column": 19
- }
- },
- "range": [
- 1154,
- 1173
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 82,
- "column": 19
- },
- "end": {
- "line": 83,
- "column": 0
- }
- },
- "range": [
- 1173,
- 1174
- ],
- "raw": "\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "download": true,
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 83,
- "column": 0
- },
- "end": {
- "line": 83,
- "column": 27
- }
- },
- "range": [
- 1174,
- 1201
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 83,
- "column": 27
- },
- "end": {
- "line": 85,
- "column": 0
- }
- },
- "range": [
- 1201,
- 1203
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "overloaded boolean (as overloaded):",
- "loc": {
- "start": {
- "line": 85,
- "column": 0
- },
- "end": {
- "line": 85,
- "column": 42
- }
- },
- "range": [
- 1203,
- 1245
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 85,
- "column": 42
- },
- "end": {
- "line": 87,
- "column": 0
- }
- },
- "range": [
- 1245,
- 1247
- ],
- "raw": "\n\n"
- },
- {
- "type": "Link",
- "tagName": "a",
- "properties": {
- "download": "example.mp3",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 87,
- "column": 0
- },
- "end": {
- "line": 87,
- "column": 30
- }
- },
- "range": [
- 1247,
- 1277
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 87,
- "column": 30
- },
- "end": {
- "line": 89,
- "column": 0
- }
- },
- "range": [
- 1277,
- 1279
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "positive numeric:",
- "loc": {
- "start": {
- "line": 89,
- "column": 0
- },
- "end": {
- "line": 89,
- "column": 24
- }
- },
- "range": [
- 1279,
- 1303
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 89,
- "column": 24
- },
- "end": {
- "line": 91,
- "column": 0
- }
- },
- "range": [
- 1303,
- 1305
- ],
- "raw": "\n\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "height": 100,
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 91,
- "column": 0
- },
- "end": {
- "line": 91,
- "column": 18
- }
- },
- "range": [
- 1305,
- 1323
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 91,
- "column": 18
- },
- "end": {
- "line": 93,
- "column": 0
- }
- },
- "range": [
- 1323,
- 1325
- ],
- "raw": "\n\n"
- },
- {
- "type": "Comment",
- "value": "numeric:",
- "loc": {
- "start": {
- "line": 93,
- "column": 0
- },
- "end": {
- "line": 93,
- "column": 15
- }
- },
- "range": [
- 1325,
- 1340
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 93,
- "column": 15
- },
- "end": {
- "line": 95,
- "column": 0
- }
- },
- "range": [
- 1340,
- 1342
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "meter",
- "properties": {
- "min": "0",
- "low": 40,
- "high": 90,
- "max": "100",
- "value": "95",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 95,
- "column": 0
- },
- "end": {
- "line": 95,
- "column": 63
- }
- },
- "range": [
- 1342,
- 1405
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 95,
- "column": 63
- },
- "end": {
- "line": 97,
- "column": 0
- }
- },
- "range": [
- 1405,
- 1407
- ],
- "raw": "\n\n"
- },
- {
- "loc": {
- "end": {
- "column": 19,
- "line": 97
- },
- "start": {
- "column": 0,
- "line": 97
- }
- },
- "range": [
- 1407,
- 1426
- ],
- "raw": "",
- "type": "Comment",
- "value": "placeholder:"
- },
- {
- "loc": {
- "end": {
- "column": 0,
- "line": 99
- },
- "start": {
- "column": 19,
- "line": 97
- }
- },
- "range": [
- 1426,
- 1428
- ],
- "raw": "\n\n",
- "type": "Str",
- "value": "\n\n"
- },
- {
- "children": [
- {
- "loc": {
- "end": {
- "column": 14,
- "line": 99
- },
- "start": {
- "column": 3,
- "line": 99
- }
- },
- "range": [
- 1431,
- 1442
- ],
- "raw": "placeholder",
- "type": "Str",
- "value": "placeholder"
- }
- ],
- "loc": {
- "end": {
- "column": 18,
- "line": 99
- },
- "start": {
- "column": 0,
- "line": 99
- }
- },
- "properties": {},
- "range": [
- 1428,
- 1446
- ],
- "raw": "placeholder ",
- "tagName": "a",
- "type": "Link"
- },
- {
- "loc": {
- "end": {
- "column": 0,
- "line": 100
- },
- "start": {
- "column": 18,
- "line": 99
- }
- },
- "range": [
- 1446,
- 1447
- ],
- "raw": "\n",
- "type": "Str",
- "value": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 100,
- "column": 0
- }
- },
- "range": [
- 0,
- 1447
- ],
- "raw": "\n\n \n\n\n\n
\n\n\n\n \n\n \n\nng-whatevs .\n\n\n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n\n\n\n\n\n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\nplaceholder \n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-attributes/output-tree.txt b/test/ast-test-case/element-attributes/output-tree.txt
new file mode 100644
index 0000000..388e067
--- /dev/null
+++ b/test/ast-test-case/element-attributes/output-tree.txt
@@ -0,0 +1,109 @@
+Document(root)
+ Comment(comment)
+ html(element)
+ head(element)
+ body(element)
+ Link(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ div(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Link(element)
+ Str(text)
+ Link(element)
+ Str(text)
+ Link(element)
+ Str(text)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ abbr(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ CodeBlock(element)
+ Str(text)
+ CodeBlock(element)
+ Str(text)
+ CodeBlock(element)
+ Str(text)
+ CodeBlock(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Image(element)
+ Str(text)
+ Image(element)
+ Str(text)
+ Image(element)
+ Str(text)
+ Image(element)
+ Str(text)
+ Image(element)
+ Str(text)
+ Image(element)
+ Str(text)
+ Image(element)
+ Str(text)
+ Image(element)
+ Str(text)
+ Image(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ div(element)
+ Str(text)
+ div(element)
+ Str(text)
+ div(element)
+ Str(text)
+ div(element)
+ Str(text)
+ div(element)
+ Str(text)
+ div(element)
+ Str(text)
+ div(element)
+ Str(text)
+ div(element)
+ Str(text)
+ div(element)
+ Str(text)
+ div(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ script(element)
+ Str(text)
+ script(element)
+ Str(text)
+ script(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Link(element)
+ Str(text)
+ Link(element)
+ Str(text)
+ Link(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Link(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Image(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ meter(element)
+ Str(text)
+ Comment(comment)
+ Str(text)
+ Link(element)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/element-attributes/output.json b/test/ast-test-case/element-attributes/output.json
new file mode 100644
index 0000000..1e221d2
--- /dev/null
+++ b/test/ast-test-case/element-attributes/output.json
@@ -0,0 +1,3521 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "Comment",
+ "value": "core:",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 13,
+ "offset": 12
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 12
+ }
+ },
+ "range": [
+ 0,
+ 12
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 100,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 1447
+ ],
+ "raw": "\n\n \n\n\n\n
\n\n\n\n \n\n \n\nng-whatevs .\n\n\n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n\n\n\n\n\n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\nplaceholder \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "href": "http://alpha.com",
+ "className": [
+ "bravo"
+ ],
+ "download": true
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 14
+ },
+ "end": {
+ "line": 3,
+ "column": 55,
+ "offset": 68
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 54
+ }
+ },
+ "range": [
+ 14,
+ 68
+ ],
+ "raw": " ",
+ "url": "http://alpha.com"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 55,
+ "offset": 68
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 70
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 54
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 68,
+ 70
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "double:",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1,
+ "offset": 70
+ },
+ "end": {
+ "line": 5,
+ "column": 15,
+ "offset": 84
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 14
+ }
+ },
+ "range": [
+ 70,
+ 84
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 15,
+ "offset": 84
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 86
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 14
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 84,
+ 86
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {
+ "className": []
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 1,
+ "offset": 86
+ },
+ "end": {
+ "line": 7,
+ "column": 24,
+ "offset": 109
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 23
+ }
+ },
+ "range": [
+ 86,
+ 109
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 24,
+ "offset": 109
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 111
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 23
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 109,
+ 111
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "unknown:",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 1,
+ "offset": 111
+ },
+ "end": {
+ "line": 9,
+ "column": 16,
+ "offset": 126
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 15
+ }
+ },
+ "range": [
+ 111,
+ 126
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 16,
+ "offset": 126
+ },
+ "end": {
+ "line": 11,
+ "column": 1,
+ "offset": 128
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 15
+ },
+ "end": {
+ "line": 11,
+ "column": 0
+ }
+ },
+ "range": [
+ 126,
+ 128
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "ng-init": ""
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 1,
+ "offset": 128
+ },
+ "end": {
+ "line": 11,
+ "column": 16,
+ "offset": 143
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 0
+ },
+ "end": {
+ "line": 11,
+ "column": 15
+ }
+ },
+ "range": [
+ 128,
+ 143
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 16,
+ "offset": 143
+ },
+ "end": {
+ "line": 13,
+ "column": 1,
+ "offset": 145
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 15
+ },
+ "end": {
+ "line": 13,
+ "column": 0
+ }
+ },
+ "range": [
+ 143,
+ 145
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "ng-repeat": ""
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 1,
+ "offset": 145
+ },
+ "end": {
+ "line": 13,
+ "column": 21,
+ "offset": 165
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 0
+ },
+ "end": {
+ "line": 13,
+ "column": 20
+ }
+ },
+ "range": [
+ 145,
+ 165
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 21,
+ "offset": 165
+ },
+ "end": {
+ "line": 15,
+ "column": 1,
+ "offset": 167
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 20
+ },
+ "end": {
+ "line": 15,
+ "column": 0
+ }
+ },
+ "range": [
+ 165,
+ 167
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "ng-click": "ctrl.onintentclick($scope)"
+ },
+ "children": [
+ {
+ "type": "Str",
+ "value": "ng-whatevs",
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 42,
+ "offset": 208
+ },
+ "end": {
+ "line": 15,
+ "column": 52,
+ "offset": 218
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 41
+ },
+ "end": {
+ "line": 15,
+ "column": 51
+ }
+ },
+ "range": [
+ 208,
+ 218
+ ],
+ "raw": "ng-whatevs"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 1,
+ "offset": 167
+ },
+ "end": {
+ "line": 15,
+ "column": 56,
+ "offset": 222
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 0
+ },
+ "end": {
+ "line": 15,
+ "column": 55
+ }
+ },
+ "range": [
+ 167,
+ 222
+ ],
+ "raw": "ng-whatevs "
+ },
+ {
+ "type": "Str",
+ "value": ".\n\n",
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 56,
+ "offset": 222
+ },
+ "end": {
+ "line": 17,
+ "column": 1,
+ "offset": 225
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 55
+ },
+ "end": {
+ "line": 17,
+ "column": 0
+ }
+ },
+ "range": [
+ 222,
+ 225
+ ],
+ "raw": ".\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "empty:",
+ "position": {
+ "start": {
+ "line": 17,
+ "column": 1,
+ "offset": 225
+ },
+ "end": {
+ "line": 17,
+ "column": 14,
+ "offset": 238
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 0
+ },
+ "end": {
+ "line": 17,
+ "column": 13
+ }
+ },
+ "range": [
+ 225,
+ 238
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 17,
+ "column": 14,
+ "offset": 238
+ },
+ "end": {
+ "line": 19,
+ "column": 1,
+ "offset": 240
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 13
+ },
+ "end": {
+ "line": 19,
+ "column": 0
+ }
+ },
+ "range": [
+ 238,
+ 240
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "abbr",
+ "tagName": "abbr",
+ "properties": {
+ "title": ""
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 19,
+ "column": 1,
+ "offset": 240
+ },
+ "end": {
+ "line": 19,
+ "column": 20,
+ "offset": 259
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 0
+ },
+ "end": {
+ "line": 19,
+ "column": 19
+ }
+ },
+ "range": [
+ 240,
+ 259
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 19,
+ "column": 20,
+ "offset": 259
+ },
+ "end": {
+ "line": 21,
+ "column": 1,
+ "offset": 261
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 19
+ },
+ "end": {
+ "line": 21,
+ "column": 0
+ }
+ },
+ "range": [
+ 259,
+ 261
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "space separated:",
+ "position": {
+ "start": {
+ "line": 21,
+ "column": 1,
+ "offset": 261
+ },
+ "end": {
+ "line": 21,
+ "column": 24,
+ "offset": 284
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 0
+ },
+ "end": {
+ "line": 21,
+ "column": 23
+ }
+ },
+ "range": [
+ 261,
+ 284
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 21,
+ "column": 24,
+ "offset": 284
+ },
+ "end": {
+ "line": 23,
+ "column": 1,
+ "offset": 286
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 23
+ },
+ "end": {
+ "line": 23,
+ "column": 0
+ }
+ },
+ "range": [
+ 284,
+ 286
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "CodeBlock",
+ "tagName": "code",
+ "properties": {
+ "className": [
+ "language-foo",
+ "bar"
+ ]
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 23,
+ "column": 1,
+ "offset": 286
+ },
+ "end": {
+ "line": 23,
+ "column": 39,
+ "offset": 324
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 0
+ },
+ "end": {
+ "line": 23,
+ "column": 38
+ }
+ },
+ "range": [
+ 286,
+ 324
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 23,
+ "column": 39,
+ "offset": 324
+ },
+ "end": {
+ "line": 25,
+ "column": 1,
+ "offset": 326
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 38
+ },
+ "end": {
+ "line": 25,
+ "column": 0
+ }
+ },
+ "range": [
+ 324,
+ 326
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "CodeBlock",
+ "tagName": "code",
+ "properties": {
+ "className": []
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 25,
+ "column": 1,
+ "offset": 326
+ },
+ "end": {
+ "line": 25,
+ "column": 23,
+ "offset": 348
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 0
+ },
+ "end": {
+ "line": 25,
+ "column": 22
+ }
+ },
+ "range": [
+ 326,
+ 348
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 25,
+ "column": 23,
+ "offset": 348
+ },
+ "end": {
+ "line": 27,
+ "column": 1,
+ "offset": 350
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 22
+ },
+ "end": {
+ "line": 27,
+ "column": 0
+ }
+ },
+ "range": [
+ 348,
+ 350
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "CodeBlock",
+ "tagName": "code",
+ "properties": {
+ "className": []
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 27,
+ "column": 1,
+ "offset": 350
+ },
+ "end": {
+ "line": 27,
+ "column": 20,
+ "offset": 369
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 0
+ },
+ "end": {
+ "line": 27,
+ "column": 19
+ }
+ },
+ "range": [
+ 350,
+ 369
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 27,
+ "column": 20,
+ "offset": 369
+ },
+ "end": {
+ "line": 29,
+ "column": 1,
+ "offset": 371
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 19
+ },
+ "end": {
+ "line": 29,
+ "column": 0
+ }
+ },
+ "range": [
+ 369,
+ 371
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "CodeBlock",
+ "tagName": "code",
+ "properties": {
+ "className": []
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 29,
+ "column": 1,
+ "offset": 371
+ },
+ "end": {
+ "line": 29,
+ "column": 24,
+ "offset": 394
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 0
+ },
+ "end": {
+ "line": 29,
+ "column": 23
+ }
+ },
+ "range": [
+ 371,
+ 394
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 29,
+ "column": 24,
+ "offset": 394
+ },
+ "end": {
+ "line": 31,
+ "column": 1,
+ "offset": 396
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 23
+ },
+ "end": {
+ "line": 31,
+ "column": 0
+ }
+ },
+ "range": [
+ 394,
+ 396
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "comma separated:",
+ "position": {
+ "start": {
+ "line": 31,
+ "column": 1,
+ "offset": 396
+ },
+ "end": {
+ "line": 31,
+ "column": 24,
+ "offset": 419
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 0
+ },
+ "end": {
+ "line": 31,
+ "column": 23
+ }
+ },
+ "range": [
+ 396,
+ 419
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 31,
+ "column": 24,
+ "offset": 419
+ },
+ "end": {
+ "line": 33,
+ "column": 1,
+ "offset": 421
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 23
+ },
+ "end": {
+ "line": 33,
+ "column": 0
+ }
+ },
+ "range": [
+ 419,
+ 421
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "srcSet": "medium.jpg 1000w, large.jpg 2000w"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 33,
+ "column": 1,
+ "offset": 421
+ },
+ "end": {
+ "line": 33,
+ "column": 49,
+ "offset": 469
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 0
+ },
+ "end": {
+ "line": 33,
+ "column": 48
+ }
+ },
+ "range": [
+ 421,
+ 469
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 33,
+ "column": 49,
+ "offset": 469
+ },
+ "end": {
+ "line": 35,
+ "column": 1,
+ "offset": 471
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 48
+ },
+ "end": {
+ "line": 35,
+ "column": 0
+ }
+ },
+ "range": [
+ 469,
+ 471
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "srcSet": "medium.jpg 1000w"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 35,
+ "column": 1,
+ "offset": 471
+ },
+ "end": {
+ "line": 35,
+ "column": 32,
+ "offset": 502
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 0
+ },
+ "end": {
+ "line": 35,
+ "column": 31
+ }
+ },
+ "range": [
+ 471,
+ 502
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 35,
+ "column": 32,
+ "offset": 502
+ },
+ "end": {
+ "line": 37,
+ "column": 1,
+ "offset": 504
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 31
+ },
+ "end": {
+ "line": 37,
+ "column": 0
+ }
+ },
+ "range": [
+ 502,
+ 504
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "srcSet": ""
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 37,
+ "column": 1,
+ "offset": 504
+ },
+ "end": {
+ "line": 37,
+ "column": 16,
+ "offset": 519
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 37,
+ "column": 0
+ },
+ "end": {
+ "line": 37,
+ "column": 15
+ }
+ },
+ "range": [
+ 504,
+ 519
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 37,
+ "column": 16,
+ "offset": 519
+ },
+ "end": {
+ "line": 39,
+ "column": 1,
+ "offset": 521
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 37,
+ "column": 15
+ },
+ "end": {
+ "line": 39,
+ "column": 0
+ }
+ },
+ "range": [
+ 519,
+ 521
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "srcSet": " "
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 39,
+ "column": 1,
+ "offset": 521
+ },
+ "end": {
+ "line": 39,
+ "column": 17,
+ "offset": 537
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 39,
+ "column": 0
+ },
+ "end": {
+ "line": 39,
+ "column": 16
+ }
+ },
+ "range": [
+ 521,
+ 537
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 39,
+ "column": 17,
+ "offset": 537
+ },
+ "end": {
+ "line": 41,
+ "column": 1,
+ "offset": 539
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 39,
+ "column": 16
+ },
+ "end": {
+ "line": 41,
+ "column": 0
+ }
+ },
+ "range": [
+ 537,
+ 539
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "srcSet": ","
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 41,
+ "column": 1,
+ "offset": 539
+ },
+ "end": {
+ "line": 41,
+ "column": 17,
+ "offset": 555
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 0
+ },
+ "end": {
+ "line": 41,
+ "column": 16
+ }
+ },
+ "range": [
+ 539,
+ 555
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 41,
+ "column": 17,
+ "offset": 555
+ },
+ "end": {
+ "line": 43,
+ "column": 1,
+ "offset": 557
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 16
+ },
+ "end": {
+ "line": 43,
+ "column": 0
+ }
+ },
+ "range": [
+ 555,
+ 557
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "srcSet": " , "
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 43,
+ "column": 1,
+ "offset": 557
+ },
+ "end": {
+ "line": 43,
+ "column": 19,
+ "offset": 575
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 0
+ },
+ "end": {
+ "line": 43,
+ "column": 18
+ }
+ },
+ "range": [
+ 557,
+ 575
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 43,
+ "column": 19,
+ "offset": 575
+ },
+ "end": {
+ "line": 45,
+ "column": 1,
+ "offset": 577
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 18
+ },
+ "end": {
+ "line": 45,
+ "column": 0
+ }
+ },
+ "range": [
+ 575,
+ 577
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "srcSet": ",foo"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 45,
+ "column": 1,
+ "offset": 577
+ },
+ "end": {
+ "line": 45,
+ "column": 20,
+ "offset": 596
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 0
+ },
+ "end": {
+ "line": 45,
+ "column": 19
+ }
+ },
+ "range": [
+ 577,
+ 596
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 45,
+ "column": 20,
+ "offset": 596
+ },
+ "end": {
+ "line": 47,
+ "column": 1,
+ "offset": 598
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 19
+ },
+ "end": {
+ "line": 47,
+ "column": 0
+ }
+ },
+ "range": [
+ 596,
+ 598
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "srcSet": "bar,"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 47,
+ "column": 1,
+ "offset": 598
+ },
+ "end": {
+ "line": 47,
+ "column": 20,
+ "offset": 617
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 0
+ },
+ "end": {
+ "line": 47,
+ "column": 19
+ }
+ },
+ "range": [
+ 598,
+ 617
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 47,
+ "column": 20,
+ "offset": 617
+ },
+ "end": {
+ "line": 49,
+ "column": 1,
+ "offset": 619
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 19
+ },
+ "end": {
+ "line": 49,
+ "column": 0
+ }
+ },
+ "range": [
+ 617,
+ 619
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "srcSet": ",baz,"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 49,
+ "column": 1,
+ "offset": 619
+ },
+ "end": {
+ "line": 49,
+ "column": 21,
+ "offset": 639
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 0
+ },
+ "end": {
+ "line": 49,
+ "column": 20
+ }
+ },
+ "range": [
+ 619,
+ 639
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 49,
+ "column": 21,
+ "offset": 639
+ },
+ "end": {
+ "line": 51,
+ "column": 1,
+ "offset": 641
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 20
+ },
+ "end": {
+ "line": 51,
+ "column": 0
+ }
+ },
+ "range": [
+ 639,
+ 641
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "style:",
+ "position": {
+ "start": {
+ "line": 51,
+ "column": 1,
+ "offset": 641
+ },
+ "end": {
+ "line": 51,
+ "column": 14,
+ "offset": 654
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 0
+ },
+ "end": {
+ "line": 51,
+ "column": 13
+ }
+ },
+ "range": [
+ 641,
+ 654
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 51,
+ "column": 14,
+ "offset": 654
+ },
+ "end": {
+ "line": 53,
+ "column": 1,
+ "offset": 656
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 13
+ },
+ "end": {
+ "line": 53,
+ "column": 0
+ }
+ },
+ "range": [
+ 654,
+ 656
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 53,
+ "column": 1,
+ "offset": 656
+ },
+ "end": {
+ "line": 53,
+ "column": 12,
+ "offset": 667
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 0
+ },
+ "end": {
+ "line": 53,
+ "column": 11
+ }
+ },
+ "range": [
+ 656,
+ 667
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 53,
+ "column": 12,
+ "offset": 667
+ },
+ "end": {
+ "line": 55,
+ "column": 1,
+ "offset": 669
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 11
+ },
+ "end": {
+ "line": 55,
+ "column": 0
+ }
+ },
+ "range": [
+ 667,
+ 669
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {
+ "style": ""
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 55,
+ "column": 1,
+ "offset": 669
+ },
+ "end": {
+ "line": 55,
+ "column": 21,
+ "offset": 689
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 0
+ },
+ "end": {
+ "line": 55,
+ "column": 20
+ }
+ },
+ "range": [
+ 669,
+ 689
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 55,
+ "column": 21,
+ "offset": 689
+ },
+ "end": {
+ "line": 57,
+ "column": 1,
+ "offset": 691
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 20
+ },
+ "end": {
+ "line": 57,
+ "column": 0
+ }
+ },
+ "range": [
+ 689,
+ 691
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {
+ "style": "color"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 57,
+ "column": 1,
+ "offset": 691
+ },
+ "end": {
+ "line": 57,
+ "column": 26,
+ "offset": 716
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 0
+ },
+ "end": {
+ "line": 57,
+ "column": 25
+ }
+ },
+ "range": [
+ 691,
+ 716
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 57,
+ "column": 26,
+ "offset": 716
+ },
+ "end": {
+ "line": 59,
+ "column": 1,
+ "offset": 718
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 25
+ },
+ "end": {
+ "line": 59,
+ "column": 0
+ }
+ },
+ "range": [
+ 716,
+ 718
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {
+ "style": "color:"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 59,
+ "column": 1,
+ "offset": 718
+ },
+ "end": {
+ "line": 59,
+ "column": 27,
+ "offset": 744
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 0
+ },
+ "end": {
+ "line": 59,
+ "column": 26
+ }
+ },
+ "range": [
+ 718,
+ 744
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 59,
+ "column": 27,
+ "offset": 744
+ },
+ "end": {
+ "line": 61,
+ "column": 1,
+ "offset": 746
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 26
+ },
+ "end": {
+ "line": 61,
+ "column": 0
+ }
+ },
+ "range": [
+ 744,
+ 746
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {
+ "style": "color:red"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 61,
+ "column": 1,
+ "offset": 746
+ },
+ "end": {
+ "line": 61,
+ "column": 30,
+ "offset": 775
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 0
+ },
+ "end": {
+ "line": 61,
+ "column": 29
+ }
+ },
+ "range": [
+ 746,
+ 775
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 61,
+ "column": 30,
+ "offset": 775
+ },
+ "end": {
+ "line": 63,
+ "column": 1,
+ "offset": 777
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 29
+ },
+ "end": {
+ "line": 63,
+ "column": 0
+ }
+ },
+ "range": [
+ 775,
+ 777
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {
+ "style": "color:;"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 63,
+ "column": 1,
+ "offset": 777
+ },
+ "end": {
+ "line": 63,
+ "column": 28,
+ "offset": 804
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 0
+ },
+ "end": {
+ "line": 63,
+ "column": 27
+ }
+ },
+ "range": [
+ 777,
+ 804
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 63,
+ "column": 28,
+ "offset": 804
+ },
+ "end": {
+ "line": 65,
+ "column": 1,
+ "offset": 806
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 27
+ },
+ "end": {
+ "line": 65,
+ "column": 0
+ }
+ },
+ "range": [
+ 804,
+ 806
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {
+ "style": "color:red;"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 65,
+ "column": 1,
+ "offset": 806
+ },
+ "end": {
+ "line": 65,
+ "column": 31,
+ "offset": 836
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 0
+ },
+ "end": {
+ "line": 65,
+ "column": 30
+ }
+ },
+ "range": [
+ 806,
+ 836
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 65,
+ "column": 31,
+ "offset": 836
+ },
+ "end": {
+ "line": 67,
+ "column": 1,
+ "offset": 838
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 30
+ },
+ "end": {
+ "line": 67,
+ "column": 0
+ }
+ },
+ "range": [
+ 836,
+ 838
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {
+ "style": "color:red;background-color"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 67,
+ "column": 1,
+ "offset": 838
+ },
+ "end": {
+ "line": 67,
+ "column": 47,
+ "offset": 884
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 0
+ },
+ "end": {
+ "line": 67,
+ "column": 46
+ }
+ },
+ "range": [
+ 838,
+ 884
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 67,
+ "column": 47,
+ "offset": 884
+ },
+ "end": {
+ "line": 69,
+ "column": 1,
+ "offset": 886
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 46
+ },
+ "end": {
+ "line": 69,
+ "column": 0
+ }
+ },
+ "range": [
+ 884,
+ 886
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {
+ "style": "color:red;background-color: blue"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 69,
+ "column": 1,
+ "offset": 886
+ },
+ "end": {
+ "line": 69,
+ "column": 53,
+ "offset": 938
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 0
+ },
+ "end": {
+ "line": 69,
+ "column": 52
+ }
+ },
+ "range": [
+ 886,
+ 938
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 69,
+ "column": 53,
+ "offset": 938
+ },
+ "end": {
+ "line": 71,
+ "column": 1,
+ "offset": 940
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 52
+ },
+ "end": {
+ "line": 71,
+ "column": 0
+ }
+ },
+ "range": [
+ 938,
+ 940
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {
+ "style": "color:red;background-color: blue;"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 71,
+ "column": 1,
+ "offset": 940
+ },
+ "end": {
+ "line": 71,
+ "column": 54,
+ "offset": 993
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 0
+ },
+ "end": {
+ "line": 71,
+ "column": 53
+ }
+ },
+ "range": [
+ 940,
+ 993
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 71,
+ "column": 54,
+ "offset": 993
+ },
+ "end": {
+ "line": 73,
+ "column": 1,
+ "offset": 995
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 71,
+ "column": 53
+ },
+ "end": {
+ "line": 73,
+ "column": 0
+ }
+ },
+ "range": [
+ 993,
+ 995
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "boolean:",
+ "position": {
+ "start": {
+ "line": 73,
+ "column": 1,
+ "offset": 995
+ },
+ "end": {
+ "line": 73,
+ "column": 16,
+ "offset": 1010
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 0
+ },
+ "end": {
+ "line": 73,
+ "column": 15
+ }
+ },
+ "range": [
+ 995,
+ 1010
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 73,
+ "column": 16,
+ "offset": 1010
+ },
+ "end": {
+ "line": 75,
+ "column": 1,
+ "offset": 1012
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 15
+ },
+ "end": {
+ "line": 75,
+ "column": 0
+ }
+ },
+ "range": [
+ 1010,
+ 1012
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "script",
+ "tagName": "script",
+ "properties": {
+ "async": true
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 75,
+ "column": 1,
+ "offset": 1012
+ },
+ "end": {
+ "line": 75,
+ "column": 24,
+ "offset": 1035
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 0
+ },
+ "end": {
+ "line": 75,
+ "column": 23
+ }
+ },
+ "range": [
+ 1012,
+ 1035
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 75,
+ "column": 24,
+ "offset": 1035
+ },
+ "end": {
+ "line": 76,
+ "column": 1,
+ "offset": 1036
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 23
+ },
+ "end": {
+ "line": 76,
+ "column": 0
+ }
+ },
+ "range": [
+ 1035,
+ 1036
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "script",
+ "tagName": "script",
+ "properties": {
+ "async": true
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 76,
+ "column": 1,
+ "offset": 1036
+ },
+ "end": {
+ "line": 76,
+ "column": 27,
+ "offset": 1062
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 0
+ },
+ "end": {
+ "line": 76,
+ "column": 26
+ }
+ },
+ "range": [
+ 1036,
+ 1062
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 76,
+ "column": 27,
+ "offset": 1062
+ },
+ "end": {
+ "line": 77,
+ "column": 1,
+ "offset": 1063
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 26
+ },
+ "end": {
+ "line": 77,
+ "column": 0
+ }
+ },
+ "range": [
+ 1062,
+ 1063
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "script",
+ "tagName": "script",
+ "properties": {
+ "async": true
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 77,
+ "column": 1,
+ "offset": 1063
+ },
+ "end": {
+ "line": 77,
+ "column": 32,
+ "offset": 1094
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 77,
+ "column": 0
+ },
+ "end": {
+ "line": 77,
+ "column": 31
+ }
+ },
+ "range": [
+ 1063,
+ 1094
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 77,
+ "column": 32,
+ "offset": 1094
+ },
+ "end": {
+ "line": 79,
+ "column": 1,
+ "offset": 1096
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 77,
+ "column": 31
+ },
+ "end": {
+ "line": 79,
+ "column": 0
+ }
+ },
+ "range": [
+ 1094,
+ 1096
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "overloaded boolean (as boolean):",
+ "position": {
+ "start": {
+ "line": 79,
+ "column": 1,
+ "offset": 1096
+ },
+ "end": {
+ "line": 79,
+ "column": 40,
+ "offset": 1135
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 79,
+ "column": 0
+ },
+ "end": {
+ "line": 79,
+ "column": 39
+ }
+ },
+ "range": [
+ 1096,
+ 1135
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 79,
+ "column": 40,
+ "offset": 1135
+ },
+ "end": {
+ "line": 81,
+ "column": 1,
+ "offset": 1137
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 79,
+ "column": 39
+ },
+ "end": {
+ "line": 81,
+ "column": 0
+ }
+ },
+ "range": [
+ 1135,
+ 1137
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "download": true
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 81,
+ "column": 1,
+ "offset": 1137
+ },
+ "end": {
+ "line": 81,
+ "column": 17,
+ "offset": 1153
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 81,
+ "column": 0
+ },
+ "end": {
+ "line": 81,
+ "column": 16
+ }
+ },
+ "range": [
+ 1137,
+ 1153
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 81,
+ "column": 17,
+ "offset": 1153
+ },
+ "end": {
+ "line": 82,
+ "column": 1,
+ "offset": 1154
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 81,
+ "column": 16
+ },
+ "end": {
+ "line": 82,
+ "column": 0
+ }
+ },
+ "range": [
+ 1153,
+ 1154
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "download": true
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 82,
+ "column": 1,
+ "offset": 1154
+ },
+ "end": {
+ "line": 82,
+ "column": 20,
+ "offset": 1173
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 82,
+ "column": 0
+ },
+ "end": {
+ "line": 82,
+ "column": 19
+ }
+ },
+ "range": [
+ 1154,
+ 1173
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 82,
+ "column": 20,
+ "offset": 1173
+ },
+ "end": {
+ "line": 83,
+ "column": 1,
+ "offset": 1174
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 82,
+ "column": 19
+ },
+ "end": {
+ "line": 83,
+ "column": 0
+ }
+ },
+ "range": [
+ 1173,
+ 1174
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "download": true
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 83,
+ "column": 1,
+ "offset": 1174
+ },
+ "end": {
+ "line": 83,
+ "column": 28,
+ "offset": 1201
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 0
+ },
+ "end": {
+ "line": 83,
+ "column": 27
+ }
+ },
+ "range": [
+ 1174,
+ 1201
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 83,
+ "column": 28,
+ "offset": 1201
+ },
+ "end": {
+ "line": 85,
+ "column": 1,
+ "offset": 1203
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 27
+ },
+ "end": {
+ "line": 85,
+ "column": 0
+ }
+ },
+ "range": [
+ 1201,
+ 1203
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "overloaded boolean (as overloaded):",
+ "position": {
+ "start": {
+ "line": 85,
+ "column": 1,
+ "offset": 1203
+ },
+ "end": {
+ "line": 85,
+ "column": 43,
+ "offset": 1245
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 0
+ },
+ "end": {
+ "line": 85,
+ "column": 42
+ }
+ },
+ "range": [
+ 1203,
+ 1245
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 85,
+ "column": 43,
+ "offset": 1245
+ },
+ "end": {
+ "line": 87,
+ "column": 1,
+ "offset": 1247
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 42
+ },
+ "end": {
+ "line": 87,
+ "column": 0
+ }
+ },
+ "range": [
+ 1245,
+ 1247
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {
+ "download": "example.mp3"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 87,
+ "column": 1,
+ "offset": 1247
+ },
+ "end": {
+ "line": 87,
+ "column": 31,
+ "offset": 1277
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 87,
+ "column": 0
+ },
+ "end": {
+ "line": 87,
+ "column": 30
+ }
+ },
+ "range": [
+ 1247,
+ 1277
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 87,
+ "column": 31,
+ "offset": 1277
+ },
+ "end": {
+ "line": 89,
+ "column": 1,
+ "offset": 1279
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 87,
+ "column": 30
+ },
+ "end": {
+ "line": 89,
+ "column": 0
+ }
+ },
+ "range": [
+ 1277,
+ 1279
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "positive numeric:",
+ "position": {
+ "start": {
+ "line": 89,
+ "column": 1,
+ "offset": 1279
+ },
+ "end": {
+ "line": 89,
+ "column": 25,
+ "offset": 1303
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 89,
+ "column": 0
+ },
+ "end": {
+ "line": 89,
+ "column": 24
+ }
+ },
+ "range": [
+ 1279,
+ 1303
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 89,
+ "column": 25,
+ "offset": 1303
+ },
+ "end": {
+ "line": 91,
+ "column": 1,
+ "offset": 1305
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 89,
+ "column": 24
+ },
+ "end": {
+ "line": 91,
+ "column": 0
+ }
+ },
+ "range": [
+ 1303,
+ 1305
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "height": 100
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 91,
+ "column": 1,
+ "offset": 1305
+ },
+ "end": {
+ "line": 91,
+ "column": 19,
+ "offset": 1323
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 0
+ },
+ "end": {
+ "line": 91,
+ "column": 18
+ }
+ },
+ "range": [
+ 1305,
+ 1323
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 91,
+ "column": 19,
+ "offset": 1323
+ },
+ "end": {
+ "line": 93,
+ "column": 1,
+ "offset": 1325
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 18
+ },
+ "end": {
+ "line": 93,
+ "column": 0
+ }
+ },
+ "range": [
+ 1323,
+ 1325
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "numeric:",
+ "position": {
+ "start": {
+ "line": 93,
+ "column": 1,
+ "offset": 1325
+ },
+ "end": {
+ "line": 93,
+ "column": 16,
+ "offset": 1340
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 0
+ },
+ "end": {
+ "line": 93,
+ "column": 15
+ }
+ },
+ "range": [
+ 1325,
+ 1340
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 93,
+ "column": 16,
+ "offset": 1340
+ },
+ "end": {
+ "line": 95,
+ "column": 1,
+ "offset": 1342
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 15
+ },
+ "end": {
+ "line": 95,
+ "column": 0
+ }
+ },
+ "range": [
+ 1340,
+ 1342
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "meter",
+ "tagName": "meter",
+ "properties": {
+ "min": "0",
+ "low": 40,
+ "high": 90,
+ "max": "100",
+ "value": "95"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 95,
+ "column": 1,
+ "offset": 1342
+ },
+ "end": {
+ "line": 95,
+ "column": 64,
+ "offset": 1405
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 0
+ },
+ "end": {
+ "line": 95,
+ "column": 63
+ }
+ },
+ "range": [
+ 1342,
+ 1405
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 95,
+ "column": 64,
+ "offset": 1405
+ },
+ "end": {
+ "line": 97,
+ "column": 1,
+ "offset": 1407
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 63
+ },
+ "end": {
+ "line": 97,
+ "column": 0
+ }
+ },
+ "range": [
+ 1405,
+ 1407
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Comment",
+ "value": "placeholder:",
+ "position": {
+ "start": {
+ "line": 97,
+ "column": 1,
+ "offset": 1407
+ },
+ "end": {
+ "line": 97,
+ "column": 20,
+ "offset": 1426
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 0
+ },
+ "end": {
+ "line": 97,
+ "column": 19
+ }
+ },
+ "range": [
+ 1407,
+ 1426
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 97,
+ "column": 20,
+ "offset": 1426
+ },
+ "end": {
+ "line": 99,
+ "column": 1,
+ "offset": 1428
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 19
+ },
+ "end": {
+ "line": 99,
+ "column": 0
+ }
+ },
+ "range": [
+ 1426,
+ 1428
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Link",
+ "tagName": "a",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "placeholder",
+ "position": {
+ "start": {
+ "line": 99,
+ "column": 4,
+ "offset": 1431
+ },
+ "end": {
+ "line": 99,
+ "column": 15,
+ "offset": 1442
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 3
+ },
+ "end": {
+ "line": 99,
+ "column": 14
+ }
+ },
+ "range": [
+ 1431,
+ 1442
+ ],
+ "raw": "placeholder"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 99,
+ "column": 1,
+ "offset": 1428
+ },
+ "end": {
+ "line": 99,
+ "column": 19,
+ "offset": 1446
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 0
+ },
+ "end": {
+ "line": 99,
+ "column": 18
+ }
+ },
+ "range": [
+ 1428,
+ 1446
+ ],
+ "raw": "placeholder "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 99,
+ "column": 19,
+ "offset": 1446
+ },
+ "end": {
+ "line": 100,
+ "column": 1,
+ "offset": 1447
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 18
+ },
+ "end": {
+ "line": 100,
+ "column": 0
+ }
+ },
+ "range": [
+ 1446,
+ 1447
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 100,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 1447
+ ],
+ "raw": "\n\n \n\n\n\n
\n\n\n\n \n\n \n\nng-whatevs .\n\n\n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n\n\n\n\n\n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\nplaceholder \n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 100,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 1447
+ ],
+ "raw": "\n\n \n\n\n\n
\n\n\n\n \n\n \n\nng-whatevs .\n\n\n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n\n\n\n\n\n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\nplaceholder \n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 100,
+ "column": 1,
+ "offset": 1447
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 100,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 1447
+ ],
+ "raw": "\n\n \n\n\n\n
\n\n\n\n \n\n \n\nng-whatevs .\n\n\n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n\n\n\n\n\n \n \n \n\n\n\n \n\n\n\n \n\n\n\n \n\n\n\nplaceholder \n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-auto-close-document/index.json b/test/ast-test-case/element-auto-close-document/index.json
deleted file mode 100644
index b82a844..0000000
--- a/test/ast-test-case/element-auto-close-document/index.json
+++ /dev/null
@@ -1,386 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Html",
- "tagName": "head",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "\n ",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 2
- }
- },
- "range": [
- 6,
- 9
- ],
- "raw": "\n "
- },
- {
- "type": "Html",
- "tagName": "title",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "Alpha",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 16,
- 21
- ],
- "raw": "Alpha"
- }
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "range": [
- 9,
- 29
- ],
- "raw": "Alpha "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 29,
- 30
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 6
- }
- },
- "range": [
- 0,
- 36
- ],
- "raw": "\n Alpha \n"
- },
- {
- "type": "Html",
- "tagName": "body",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 35,
- 37
- ],
- "raw": ">\n"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bravo\n",
- "loc": {
- "start": {
- "line": 4,
- "column": 3
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 40,
- 46
- ],
- "raw": "bravo\n"
- }
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 37,
- 49
- ],
- "raw": "bravo\n
"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "charlie",
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 9
- }
- },
- "range": [
- 48,
- 55
- ],
- "raw": ">charli"
- }
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 13
- }
- },
- "range": [
- 48,
- 59
- ],
- "raw": ">charlie
\n"
- },
- {
- "type": "List",
- "tagName": "ol",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "\n ",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 2
- }
- },
- "range": [
- 65,
- 68
- ],
- "raw": "\n "
- },
- {
- "type": "ListItem",
- "tagName": "li",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "delta\n ",
- "loc": {
- "start": {
- "line": 7,
- "column": 6
- },
- "end": {
- "line": 8,
- "column": 2
- }
- },
- "range": [
- 72,
- 80
- ],
- "raw": "delta\n "
- }
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 2
- },
- "end": {
- "line": 8,
- "column": 6
- }
- },
- "range": [
- 68,
- 84
- ],
- "raw": "delta\n "
- },
- {
- "type": "ListItem",
- "tagName": "li",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "echo\n",
- "loc": {
- "start": {
- "line": 8,
- "column": 5
- },
- "end": {
- "line": 9,
- "column": 0
- }
- },
- "range": [
- 83,
- 89
- ],
- "raw": ">echo\n"
- }
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 5
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 83,
- 90
- ],
- "raw": ">echo\n"
- }
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 61,
- 90
- ],
- "raw": "\n delta\n echo\n"
- }
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 35,
- 90
- ],
- "raw": ">\nbravo\n
charlie
\n\n delta\n echo\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 0
- }
- },
- "range": [
- 0,
- 89
- ],
- "raw": "\n Alpha \n\nbravo\n
charlie
\n\n delta\n echo\n"
-}
diff --git a/test/ast-test-case/element-auto-close-document/output-tree.txt b/test/ast-test-case/element-auto-close-document/output-tree.txt
new file mode 100644
index 0000000..2452be0
--- /dev/null
+++ b/test/ast-test-case/element-auto-close-document/output-tree.txt
@@ -0,0 +1,20 @@
+Document(root)
+ html(element)
+ head(element)
+ Str(text)
+ title(element)
+ Str(text)
+ Str(text)
+ body(element)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ Str(text)
+ List(element)
+ Str(text)
+ ListItem(element)
+ Str(text)
+ ListItem(element)
+ Str(text)
diff --git a/test/ast-test-case/element-auto-close-document/output.json b/test/ast-test-case/element-auto-close-document/output.json
new file mode 100644
index 0000000..252766c
--- /dev/null
+++ b/test/ast-test-case/element-auto-close-document/output.json
@@ -0,0 +1,640 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 7,
+ "offset": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 3,
+ "offset": 9
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 2
+ }
+ },
+ "range": [
+ 6,
+ 9
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "title",
+ "tagName": "title",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Alpha",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 10,
+ "offset": 16
+ },
+ "end": {
+ "line": 2,
+ "column": 15,
+ "offset": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 14
+ }
+ },
+ "range": [
+ 16,
+ 21
+ ],
+ "raw": "Alpha"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3,
+ "offset": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 23,
+ "offset": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 22
+ }
+ },
+ "range": [
+ 9,
+ 29
+ ],
+ "raw": "Alpha "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 23,
+ "offset": 29
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 22
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 29,
+ 30
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": "\n Alpha \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 7,
+ "offset": 36
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 37
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 6
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 36,
+ 37
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bravo\n",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 4,
+ "offset": 40
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 46
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 40,
+ 46
+ ],
+ "raw": "bravo\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1,
+ "offset": 37
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 46
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 37,
+ 46
+ ],
+ "raw": "bravo\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "charlie",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 4,
+ "offset": 49
+ },
+ "end": {
+ "line": 5,
+ "column": 11,
+ "offset": 56
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 10
+ }
+ },
+ "range": [
+ 49,
+ 56
+ ],
+ "raw": "charlie"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1,
+ "offset": 46
+ },
+ "end": {
+ "line": 5,
+ "column": 15,
+ "offset": 60
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 14
+ }
+ },
+ "range": [
+ 46,
+ 60
+ ],
+ "raw": "
charlie
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 15,
+ "offset": 60
+ },
+ "end": {
+ "line": 6,
+ "column": 1,
+ "offset": 61
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 14
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 60,
+ 61
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "List",
+ "tagName": "ol",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 5,
+ "offset": 65
+ },
+ "end": {
+ "line": 7,
+ "column": 3,
+ "offset": 68
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 4
+ },
+ "end": {
+ "line": 7,
+ "column": 2
+ }
+ },
+ "range": [
+ 65,
+ 68
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "ListItem",
+ "tagName": "li",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "delta\n ",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 7,
+ "offset": 72
+ },
+ "end": {
+ "line": 8,
+ "column": 3,
+ "offset": 80
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 6
+ },
+ "end": {
+ "line": 8,
+ "column": 2
+ }
+ },
+ "range": [
+ 72,
+ 80
+ ],
+ "raw": "delta\n "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 3,
+ "offset": 68
+ },
+ "end": {
+ "line": 8,
+ "column": 3,
+ "offset": 80
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 8,
+ "column": 2
+ }
+ },
+ "range": [
+ 68,
+ 80
+ ],
+ "raw": " delta\n "
+ },
+ {
+ "type": "ListItem",
+ "tagName": "li",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "echo\n",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 7,
+ "offset": 84
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 89
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 6
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 84,
+ 89
+ ],
+ "raw": "echo\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 3,
+ "offset": 80
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 89
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 2
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 80,
+ 89
+ ],
+ "raw": " echo\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 1,
+ "offset": 61
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 89
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 61,
+ 89
+ ],
+ "raw": "\n delta\n echo\n",
+ "ordered": true
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 89
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 30,
+ 89
+ ],
+ "raw": "\nbravo\n
charlie
\n\n delta\n echo\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 89
+ ],
+ "raw": "\n Alpha \n\nbravo\n
charlie
\n\n delta\n echo\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 89
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 89
+ ],
+ "raw": "\n Alpha \n\nbravo\n
charlie
\n\n delta\n echo\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-auto-close-fragment/index.json b/test/ast-test-case/element-auto-close-fragment/index.json
deleted file mode 100644
index b82a844..0000000
--- a/test/ast-test-case/element-auto-close-fragment/index.json
+++ /dev/null
@@ -1,386 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Html",
- "tagName": "head",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "\n ",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 2
- }
- },
- "range": [
- 6,
- 9
- ],
- "raw": "\n "
- },
- {
- "type": "Html",
- "tagName": "title",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "Alpha",
- "loc": {
- "start": {
- "line": 2,
- "column": 9
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 16,
- 21
- ],
- "raw": "Alpha"
- }
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 2
- },
- "end": {
- "line": 2,
- "column": 22
- }
- },
- "range": [
- 9,
- 29
- ],
- "raw": "Alpha "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 2,
- "column": 22
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 29,
- 30
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 6
- }
- },
- "range": [
- 0,
- 36
- ],
- "raw": "\n Alpha \n"
- },
- {
- "type": "Html",
- "tagName": "body",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 35,
- 37
- ],
- "raw": ">\n"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bravo\n",
- "loc": {
- "start": {
- "line": 4,
- "column": 3
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 40,
- 46
- ],
- "raw": "bravo\n"
- }
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 3
- }
- },
- "range": [
- 37,
- 49
- ],
- "raw": "bravo\n
"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "charlie",
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 9
- }
- },
- "range": [
- 48,
- 55
- ],
- "raw": ">charli"
- }
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 2
- },
- "end": {
- "line": 5,
- "column": 13
- }
- },
- "range": [
- 48,
- 59
- ],
- "raw": ">charlie
\n"
- },
- {
- "type": "List",
- "tagName": "ol",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "\n ",
- "loc": {
- "start": {
- "line": 6,
- "column": 4
- },
- "end": {
- "line": 7,
- "column": 2
- }
- },
- "range": [
- 65,
- 68
- ],
- "raw": "\n "
- },
- {
- "type": "ListItem",
- "tagName": "li",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "delta\n ",
- "loc": {
- "start": {
- "line": 7,
- "column": 6
- },
- "end": {
- "line": 8,
- "column": 2
- }
- },
- "range": [
- 72,
- 80
- ],
- "raw": "delta\n "
- }
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 2
- },
- "end": {
- "line": 8,
- "column": 6
- }
- },
- "range": [
- 68,
- 84
- ],
- "raw": " delta\n "
- },
- {
- "type": "ListItem",
- "tagName": "li",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "echo\n",
- "loc": {
- "start": {
- "line": 8,
- "column": 5
- },
- "end": {
- "line": 9,
- "column": 0
- }
- },
- "range": [
- 83,
- 89
- ],
- "raw": ">echo\n"
- }
- ],
- "loc": {
- "start": {
- "line": 8,
- "column": 5
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 83,
- 90
- ],
- "raw": ">echo\n"
- }
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 61,
- 90
- ],
- "raw": "\n delta\n echo\n"
- }
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 9,
- "column": 1
- }
- },
- "range": [
- 35,
- 90
- ],
- "raw": ">\nbravo\n
charlie
\n\n delta\n echo\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 0
- }
- },
- "range": [
- 0,
- 89
- ],
- "raw": "\n Alpha \n\nbravo\n
charlie
\n\n delta\n echo\n"
-}
diff --git a/test/ast-test-case/element-auto-close-fragment/output-tree.txt b/test/ast-test-case/element-auto-close-fragment/output-tree.txt
new file mode 100644
index 0000000..2452be0
--- /dev/null
+++ b/test/ast-test-case/element-auto-close-fragment/output-tree.txt
@@ -0,0 +1,20 @@
+Document(root)
+ html(element)
+ head(element)
+ Str(text)
+ title(element)
+ Str(text)
+ Str(text)
+ body(element)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ Str(text)
+ List(element)
+ Str(text)
+ ListItem(element)
+ Str(text)
+ ListItem(element)
+ Str(text)
diff --git a/test/ast-test-case/element-auto-close-fragment/output.json b/test/ast-test-case/element-auto-close-fragment/output.json
new file mode 100644
index 0000000..252766c
--- /dev/null
+++ b/test/ast-test-case/element-auto-close-fragment/output.json
@@ -0,0 +1,640 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 7,
+ "offset": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 3,
+ "offset": 9
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 2
+ }
+ },
+ "range": [
+ 6,
+ 9
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "title",
+ "tagName": "title",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Alpha",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 10,
+ "offset": 16
+ },
+ "end": {
+ "line": 2,
+ "column": 15,
+ "offset": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 14
+ }
+ },
+ "range": [
+ 16,
+ 21
+ ],
+ "raw": "Alpha"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3,
+ "offset": 9
+ },
+ "end": {
+ "line": 2,
+ "column": 23,
+ "offset": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 22
+ }
+ },
+ "range": [
+ 9,
+ 29
+ ],
+ "raw": "Alpha "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 23,
+ "offset": 29
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 22
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 29,
+ 30
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": "\n Alpha \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 7,
+ "offset": 36
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 37
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 6
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 36,
+ 37
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bravo\n",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 4,
+ "offset": 40
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 46
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 40,
+ 46
+ ],
+ "raw": "bravo\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1,
+ "offset": 37
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 46
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 37,
+ 46
+ ],
+ "raw": "bravo\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "charlie",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 4,
+ "offset": 49
+ },
+ "end": {
+ "line": 5,
+ "column": 11,
+ "offset": 56
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 10
+ }
+ },
+ "range": [
+ 49,
+ 56
+ ],
+ "raw": "charlie"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1,
+ "offset": 46
+ },
+ "end": {
+ "line": 5,
+ "column": 15,
+ "offset": 60
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 14
+ }
+ },
+ "range": [
+ 46,
+ 60
+ ],
+ "raw": "
charlie
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 15,
+ "offset": 60
+ },
+ "end": {
+ "line": 6,
+ "column": 1,
+ "offset": 61
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 14
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 60,
+ 61
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "List",
+ "tagName": "ol",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 5,
+ "offset": 65
+ },
+ "end": {
+ "line": 7,
+ "column": 3,
+ "offset": 68
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 4
+ },
+ "end": {
+ "line": 7,
+ "column": 2
+ }
+ },
+ "range": [
+ 65,
+ 68
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "ListItem",
+ "tagName": "li",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "delta\n ",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 7,
+ "offset": 72
+ },
+ "end": {
+ "line": 8,
+ "column": 3,
+ "offset": 80
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 6
+ },
+ "end": {
+ "line": 8,
+ "column": 2
+ }
+ },
+ "range": [
+ 72,
+ 80
+ ],
+ "raw": "delta\n "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 3,
+ "offset": 68
+ },
+ "end": {
+ "line": 8,
+ "column": 3,
+ "offset": 80
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 8,
+ "column": 2
+ }
+ },
+ "range": [
+ 68,
+ 80
+ ],
+ "raw": " delta\n "
+ },
+ {
+ "type": "ListItem",
+ "tagName": "li",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "echo\n",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 7,
+ "offset": 84
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 89
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 6
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 84,
+ 89
+ ],
+ "raw": "echo\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 3,
+ "offset": 80
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 89
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 2
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 80,
+ 89
+ ],
+ "raw": " echo\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 1,
+ "offset": 61
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 89
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 61,
+ 89
+ ],
+ "raw": "\n delta\n echo\n",
+ "ordered": true
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 89
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 30,
+ 89
+ ],
+ "raw": "\nbravo\n
charlie
\n\n delta\n echo\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 89
+ ],
+ "raw": "\n Alpha \n\nbravo\n
charlie
\n\n delta\n echo\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 89
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 89
+ ],
+ "raw": "\n Alpha \n\nbravo\n
charlie
\n\n delta\n echo\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-broken-close/index.json b/test/ast-test-case/element-broken-close/index.json
deleted file mode 100644
index 159a859..0000000
--- a/test/ast-test-case/element-broken-close/index.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "type": "root",
- "children": [
- {
- "type": "text",
- "value": "foo",
- "position": {
- "start": {
- "line": 1,
- "column": 1,
- "offset": 0
- },
- "end": {
- "line": 2,
- "column": 1,
- "offset": 8
- }
- }
- }
- ],
- "data": {
- "quirksMode": false
- },
- "position": {
- "start": {
- "line": 1,
- "column": 1,
- "offset": 0
- },
- "end": {
- "line": 2,
- "column": 1,
- "offset": 8
- }
- }
-}
diff --git a/test/ast-test-case/element-broken-close/output-tree.txt b/test/ast-test-case/element-broken-close/output-tree.txt
new file mode 100644
index 0000000..2abcaa9
--- /dev/null
+++ b/test/ast-test-case/element-broken-close/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Str(text)
diff --git a/test/ast-test-case/element-broken-close/output.json b/test/ast-test-case/element-broken-close/output.json
new file mode 100644
index 0000000..7ae2c96
--- /dev/null
+++ b/test/ast-test-case/element-broken-close/output.json
@@ -0,0 +1,131 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 8
+ ],
+ "raw": "fooStrong"
- },
- {
- "type": "Str",
- "value": ", ",
- "loc": {
- "start": {
- "line": 1,
- "column": 28
- },
- "end": {
- "line": 1,
- "column": 30
- }
- },
- "range": [
- 28,
- 30
- ],
- "raw": ", "
- },
- {
- "type": "Emphasis",
- "tagName": "em",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "emphasis",
- "loc": {
- "start": {
- "line": 1,
- "column": 34
- },
- "end": {
- "line": 1,
- "column": 42
- }
- },
- "range": [
- 34,
- 42
- ],
- "raw": "emphasis"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 30
- },
- "end": {
- "line": 1,
- "column": 47
- }
- },
- "range": [
- 30,
- 47
- ],
- "raw": "emphasis "
- },
- {
- "type": "Str",
- "value": ", and ",
- "loc": {
- "start": {
- "line": 1,
- "column": 47
- },
- "end": {
- "line": 1,
- "column": 53
- }
- },
- "range": [
- 47,
- 53
- ],
- "raw": ", and "
- },
- {
- "type": "CodeBlock",
- "tagName": "code",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "code",
- "loc": {
- "start": {
- "line": 1,
- "column": 59
- },
- "end": {
- "line": 1,
- "column": 63
- }
- },
- "range": [
- 59,
- 63
- ],
- "raw": "code"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 53
- },
- "end": {
- "line": 1,
- "column": 70
- }
- },
- "range": [
- 53,
- 70
- ],
- "raw": "code
"
- },
- {
- "type": "Str",
- "value": ".",
- "loc": {
- "start": {
- "line": 1,
- "column": 70
- },
- "end": {
- "line": 1,
- "column": 71
- }
- },
- "range": [
- 70,
- 71
- ],
- "raw": "."
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 77
- }
- },
- "range": [
- 0,
- 77
- ],
- "raw": "Strong , emphasis , and code
.
"
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 77
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 77,
- 78
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 78
- ],
- "raw": "Strong , emphasis , and code
.
\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-children/output-tree.txt b/test/ast-test-case/element-children/output-tree.txt
new file mode 100644
index 0000000..079faef
--- /dev/null
+++ b/test/ast-test-case/element-children/output-tree.txt
@@ -0,0 +1,15 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ div(element)
+ Strong(element)
+ Str(text)
+ Str(text)
+ Emphasis(element)
+ Str(text)
+ Str(text)
+ CodeBlock(element)
+ Str(text)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/element-children/output.json b/test/ast-test-case/element-children/output.json
new file mode 100644
index 0000000..f043169
--- /dev/null
+++ b/test/ast-test-case/element-children/output.json
@@ -0,0 +1,453 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 78
+ ],
+ "raw": "Strong , emphasis , and code
.
\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {},
+ "children": [
+ {
+ "type": "Strong",
+ "tagName": "strong",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Strong",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 14,
+ "offset": 13
+ },
+ "end": {
+ "line": 1,
+ "column": 20,
+ "offset": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 13
+ },
+ "end": {
+ "line": 1,
+ "column": 19
+ }
+ },
+ "range": [
+ 13,
+ 19
+ ],
+ "raw": "Strong"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 6,
+ "offset": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 29,
+ "offset": 28
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 28
+ }
+ },
+ "range": [
+ 5,
+ 28
+ ],
+ "raw": "Strong "
+ },
+ {
+ "type": "Str",
+ "value": ", ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 29,
+ "offset": 28
+ },
+ "end": {
+ "line": 1,
+ "column": 31,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 28
+ },
+ "end": {
+ "line": 1,
+ "column": 30
+ }
+ },
+ "range": [
+ 28,
+ 30
+ ],
+ "raw": ", "
+ },
+ {
+ "type": "Emphasis",
+ "tagName": "em",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "emphasis",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 35,
+ "offset": 34
+ },
+ "end": {
+ "line": 1,
+ "column": 43,
+ "offset": 42
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 34
+ },
+ "end": {
+ "line": 1,
+ "column": 42
+ }
+ },
+ "range": [
+ 34,
+ 42
+ ],
+ "raw": "emphasis"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 31,
+ "offset": 30
+ },
+ "end": {
+ "line": 1,
+ "column": 48,
+ "offset": 47
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 30
+ },
+ "end": {
+ "line": 1,
+ "column": 47
+ }
+ },
+ "range": [
+ 30,
+ 47
+ ],
+ "raw": "emphasis "
+ },
+ {
+ "type": "Str",
+ "value": ", and ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 48,
+ "offset": 47
+ },
+ "end": {
+ "line": 1,
+ "column": 54,
+ "offset": 53
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 47
+ },
+ "end": {
+ "line": 1,
+ "column": 53
+ }
+ },
+ "range": [
+ 47,
+ 53
+ ],
+ "raw": ", and "
+ },
+ {
+ "type": "CodeBlock",
+ "tagName": "code",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "code",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 60,
+ "offset": 59
+ },
+ "end": {
+ "line": 1,
+ "column": 64,
+ "offset": 63
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 59
+ },
+ "end": {
+ "line": 1,
+ "column": 63
+ }
+ },
+ "range": [
+ 59,
+ 63
+ ],
+ "raw": "code"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 54,
+ "offset": 53
+ },
+ "end": {
+ "line": 1,
+ "column": 71,
+ "offset": 70
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 53
+ },
+ "end": {
+ "line": 1,
+ "column": 70
+ }
+ },
+ "range": [
+ 53,
+ 70
+ ],
+ "raw": "code
"
+ },
+ {
+ "type": "Str",
+ "value": ".",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 71,
+ "offset": 70
+ },
+ "end": {
+ "line": 1,
+ "column": 72,
+ "offset": 71
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 70
+ },
+ "end": {
+ "line": 1,
+ "column": 71
+ }
+ },
+ "range": [
+ 70,
+ 71
+ ],
+ "raw": "."
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 78,
+ "offset": 77
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 77
+ }
+ },
+ "range": [
+ 0,
+ 77
+ ],
+ "raw": "Strong , emphasis , and code
.
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 78,
+ "offset": 77
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 78
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 77
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 77,
+ 78
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 78
+ ],
+ "raw": "Strong , emphasis , and code
.
\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 78
+ ],
+ "raw": "Strong , emphasis , and code
.
\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 78
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 78
+ ],
+ "raw": "Strong , emphasis , and code
.
\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-closing-attributes/index.json b/test/ast-test-case/element-closing-attributes/index.json
deleted file mode 100644
index 44e69b8..0000000
--- a/test/ast-test-case/element-closing-attributes/index.json
+++ /dev/null
@@ -1,200 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Html",
- "tagName": "foo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "raw": "bar"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "raw": "bar "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 14,
- 15
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "foo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bar",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 20,
- 23
- ],
- "raw": "bar"
- }
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 15,
- 29
- ],
- "raw": "bar \n"
- },
- {
- "type": "Html",
- "tagName": "foo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bar",
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 39,
- 42
- ],
- "raw": "bar"
- }
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 14
- }
- },
- "range": [
- 34,
- 48
- ],
- "raw": "bar \n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 0,
- 59
- ],
- "raw": "bar \nbar \nbar \n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-closing-attributes/output-tree.txt b/test/ast-test-case/element-closing-attributes/output-tree.txt
new file mode 100644
index 0000000..3db6858
--- /dev/null
+++ b/test/ast-test-case/element-closing-attributes/output-tree.txt
@@ -0,0 +1,13 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ foo(element)
+ Str(text)
+ Str(text)
+ foo(element)
+ Str(text)
+ Str(text)
+ foo(element)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/element-closing-attributes/output.json b/test/ast-test-case/element-closing-attributes/output.json
new file mode 100644
index 0000000..45e317b
--- /dev/null
+++ b/test/ast-test-case/element-closing-attributes/output.json
@@ -0,0 +1,388 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 59
+ ],
+ "raw": "bar \nbar \nbar \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "foo",
+ "tagName": "foo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 6,
+ "offset": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 9,
+ "offset": 8
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 8
+ }
+ },
+ "range": [
+ 5,
+ 8
+ ],
+ "raw": "bar"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 15,
+ "offset": 14
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 14
+ }
+ },
+ "range": [
+ 0,
+ 14
+ ],
+ "raw": "bar "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 15,
+ "offset": 14
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 14
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 14,
+ 15
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "foo",
+ "tagName": "foo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 6,
+ "offset": 20
+ },
+ "end": {
+ "line": 2,
+ "column": 9,
+ "offset": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 5
+ },
+ "end": {
+ "line": 2,
+ "column": 8
+ }
+ },
+ "range": [
+ 20,
+ 23
+ ],
+ "raw": "bar"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 15
+ },
+ "end": {
+ "line": 2,
+ "column": 19,
+ "offset": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 18
+ }
+ },
+ "range": [
+ 15,
+ 33
+ ],
+ "raw": "bar "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 19,
+ "offset": 33
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 34
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 18
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 33,
+ 34
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "foo",
+ "tagName": "foo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 6,
+ "offset": 39
+ },
+ "end": {
+ "line": 3,
+ "column": 9,
+ "offset": 42
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 8
+ }
+ },
+ "range": [
+ 39,
+ 42
+ ],
+ "raw": "bar"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 34
+ },
+ "end": {
+ "line": 3,
+ "column": 25,
+ "offset": 58
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 24
+ }
+ },
+ "range": [
+ 34,
+ 58
+ ],
+ "raw": "bar "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 25,
+ "offset": 58
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 59
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 24
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 58,
+ 59
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 59
+ ],
+ "raw": "bar \nbar \nbar \n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 59
+ ],
+ "raw": "bar \nbar \nbar \n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 59
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 59
+ ],
+ "raw": "bar \nbar \nbar \n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-closing/index.json b/test/ast-test-case/element-closing/index.json
deleted file mode 100644
index 7ad535e..0000000
--- a/test/ast-test-case/element-closing/index.json
+++ /dev/null
@@ -1,200 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Html",
- "tagName": "foo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "raw": "bar"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "raw": "bar "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 14,
- 15
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "foo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bar",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 20,
- 23
- ],
- "raw": "bar"
- }
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 15,
- 29
- ],
- "raw": "bar "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 29,
- 30
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "foo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bar",
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 35,
- 38
- ],
- "raw": "bar"
- }
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 14
- }
- },
- "range": [
- 30,
- 44
- ],
- "raw": "bar "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 44,
- 45
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 0,
- 45
- ],
- "raw": "bar \nbar \nbar \n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-closing/output-tree.txt b/test/ast-test-case/element-closing/output-tree.txt
new file mode 100644
index 0000000..3db6858
--- /dev/null
+++ b/test/ast-test-case/element-closing/output-tree.txt
@@ -0,0 +1,13 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ foo(element)
+ Str(text)
+ Str(text)
+ foo(element)
+ Str(text)
+ Str(text)
+ foo(element)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/element-closing/output.json b/test/ast-test-case/element-closing/output.json
new file mode 100644
index 0000000..61b6c4c
--- /dev/null
+++ b/test/ast-test-case/element-closing/output.json
@@ -0,0 +1,388 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "bar \nbar \nbar \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "foo",
+ "tagName": "foo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 6,
+ "offset": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 9,
+ "offset": 8
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 8
+ }
+ },
+ "range": [
+ 5,
+ 8
+ ],
+ "raw": "bar"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 15,
+ "offset": 14
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 14
+ }
+ },
+ "range": [
+ 0,
+ 14
+ ],
+ "raw": "bar "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 15,
+ "offset": 14
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 14
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 14,
+ 15
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "foo",
+ "tagName": "foo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 6,
+ "offset": 20
+ },
+ "end": {
+ "line": 2,
+ "column": 9,
+ "offset": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 5
+ },
+ "end": {
+ "line": 2,
+ "column": 8
+ }
+ },
+ "range": [
+ 20,
+ 23
+ ],
+ "raw": "bar"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 15
+ },
+ "end": {
+ "line": 2,
+ "column": 15,
+ "offset": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 14
+ }
+ },
+ "range": [
+ 15,
+ 29
+ ],
+ "raw": "bar "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 15,
+ "offset": 29
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 14
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 29,
+ 30
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "foo",
+ "tagName": "foo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 6,
+ "offset": 35
+ },
+ "end": {
+ "line": 3,
+ "column": 9,
+ "offset": 38
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 8
+ }
+ },
+ "range": [
+ 35,
+ 38
+ ],
+ "raw": "bar"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ },
+ "end": {
+ "line": 3,
+ "column": 15,
+ "offset": 44
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 14
+ }
+ },
+ "range": [
+ 30,
+ 44
+ ],
+ "raw": "bar "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 15,
+ "offset": 44
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 45
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 14
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 44,
+ 45
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "bar \nbar \nbar \n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "bar \nbar \nbar \n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 45
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "bar \nbar \nbar \n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-empty/index.json b/test/ast-test-case/element-empty/index.json
deleted file mode 100644
index 1660f71..0000000
--- a/test/ast-test-case/element-empty/index.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Html",
- "tagName": "span",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 0,
- 13
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 13
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 13,
- 14
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 14
- ],
- "raw": " \n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-empty/output-tree.txt b/test/ast-test-case/element-empty/output-tree.txt
new file mode 100644
index 0000000..a657ebb
--- /dev/null
+++ b/test/ast-test-case/element-empty/output-tree.txt
@@ -0,0 +1,6 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ span(element)
+ Str(text)
diff --git a/test/ast-test-case/element-empty/output.json b/test/ast-test-case/element-empty/output.json
new file mode 100644
index 0000000..5a873bf
--- /dev/null
+++ b/test/ast-test-case/element-empty/output.json
@@ -0,0 +1,164 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 14
+ ],
+ "raw": " \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "span",
+ "tagName": "span",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 14,
+ "offset": 13
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 13
+ }
+ },
+ "range": [
+ 0,
+ 13
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 14,
+ "offset": 13
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 14
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 13
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 13,
+ 14
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 14
+ ],
+ "raw": " \n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 14
+ ],
+ "raw": " \n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 14
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 14
+ ],
+ "raw": " \n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-loose-close-document/index.json b/test/ast-test-case/element-loose-close-document/index.json
deleted file mode 100644
index e941814..0000000
--- a/test/ast-test-case/element-loose-close-document/index.json
+++ /dev/null
@@ -1,162 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Html",
- "tagName": "body",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 26,
- 29
- ],
- "raw": "\n\n\n"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 4,
- "column": 3
- },
- "end": {
- "line": 4,
- "column": 4
- }
- },
- "range": [
- 32,
- 33
- ],
- "raw": ">"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 4,
- "column": 3
- },
- "end": {
- "line": 6,
- "column": 0
- }
- },
- "range": [
- 32,
- 35
- ],
- "raw": ">\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {},
- "children": [
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 6,
- "column": 8
- },
- "end": {
- "line": 6,
- "column": 9
- }
- },
- "range": [
- 43,
- 44
- ],
- "raw": ">"
- }
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 14
- }
- },
- "range": [
- 35,
- 49
- ],
- "raw": "
\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 0
- }
- },
- "range": [
- 0,
- 51
- ],
- "raw": "\n\n\n
\n\n
\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-loose-close-document/output-tree.txt b/test/ast-test-case/element-loose-close-document/output-tree.txt
new file mode 100644
index 0000000..9d50861
--- /dev/null
+++ b/test/ast-test-case/element-loose-close-document/output-tree.txt
@@ -0,0 +1,10 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ div(element)
+ Paragraph(element)
+ Str(text)
diff --git a/test/ast-test-case/element-loose-close-document/output.json b/test/ast-test-case/element-loose-close-document/output.json
new file mode 100644
index 0000000..9df85ef
--- /dev/null
+++ b/test/ast-test-case/element-loose-close-document/output.json
@@ -0,0 +1,281 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 51
+ ],
+ "raw": "\n\n\n\n\n
\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n\n\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 27,
+ "offset": 26
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 26
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 26,
+ 29
+ ],
+ "raw": "\n\n\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 51
+ ],
+ "raw": "\n\n\n\n\n
\n"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 5,
+ "offset": 33
+ },
+ "end": {
+ "line": 6,
+ "column": 1,
+ "offset": 35
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 4
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 33,
+ 35
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {},
+ "children": [
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 15
+ }
+ },
+ "range": [
+ 35,
+ 50
+ ],
+ "raw": "
"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 1,
+ "offset": 35
+ },
+ "end": {
+ "line": 6,
+ "column": 16,
+ "offset": 50
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 15
+ }
+ },
+ "range": [
+ 35,
+ 50
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 16,
+ "offset": 50
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 51
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 15
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 50,
+ 51
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 51
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 51
+ ],
+ "raw": "\n\n\n\n\n
\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 51
+ ],
+ "raw": "\n\n\n\n\n
\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 51
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 51
+ ],
+ "raw": "\n\n\n\n\n
\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-loose-close-fragment/index.json b/test/ast-test-case/element-loose-close-fragment/index.json
deleted file mode 100644
index e941814..0000000
--- a/test/ast-test-case/element-loose-close-fragment/index.json
+++ /dev/null
@@ -1,162 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Html",
- "tagName": "body",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 19
- }
- },
- "range": [
- 0,
- 19
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 26
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 26,
- 29
- ],
- "raw": "\n\n\n"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 4,
- "column": 3
- },
- "end": {
- "line": 4,
- "column": 4
- }
- },
- "range": [
- 32,
- 33
- ],
- "raw": ">"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 4,
- "column": 3
- },
- "end": {
- "line": 6,
- "column": 0
- }
- },
- "range": [
- 32,
- 35
- ],
- "raw": ">\n\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {},
- "children": [
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 6,
- "column": 8
- },
- "end": {
- "line": 6,
- "column": 9
- }
- },
- "range": [
- 43,
- 44
- ],
- "raw": ">"
- }
- ],
- "loc": {
- "start": {
- "line": 6,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 14
- }
- },
- "range": [
- 35,
- 49
- ],
- "raw": "
\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 0
- }
- },
- "range": [
- 0,
- 51
- ],
- "raw": "\n\n\n\n\n
\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-loose-close-fragment/output-tree.txt b/test/ast-test-case/element-loose-close-fragment/output-tree.txt
new file mode 100644
index 0000000..9d50861
--- /dev/null
+++ b/test/ast-test-case/element-loose-close-fragment/output-tree.txt
@@ -0,0 +1,10 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ div(element)
+ Paragraph(element)
+ Str(text)
diff --git a/test/ast-test-case/element-loose-close-fragment/output.json b/test/ast-test-case/element-loose-close-fragment/output.json
new file mode 100644
index 0000000..9df85ef
--- /dev/null
+++ b/test/ast-test-case/element-loose-close-fragment/output.json
@@ -0,0 +1,281 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 51
+ ],
+ "raw": "\n\n\n\n\n
\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n\n\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 27,
+ "offset": 26
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 26
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 26,
+ 29
+ ],
+ "raw": "\n\n\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 51
+ ],
+ "raw": "\n\n\n\n\n
\n"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 5,
+ "offset": 33
+ },
+ "end": {
+ "line": 6,
+ "column": 1,
+ "offset": 35
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 4
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 33,
+ 35
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {},
+ "children": [
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 15
+ }
+ },
+ "range": [
+ 35,
+ 50
+ ],
+ "raw": "
"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 1,
+ "offset": 35
+ },
+ "end": {
+ "line": 6,
+ "column": 16,
+ "offset": 50
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 15
+ }
+ },
+ "range": [
+ 35,
+ 50
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 16,
+ "offset": 50
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 51
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 15
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 50,
+ 51
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 51
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 51
+ ],
+ "raw": "\n\n\n\n\n
\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 51
+ ],
+ "raw": "\n\n\n\n\n
\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 51
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 51
+ ],
+ "raw": "\n\n\n\n\n
\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-opening/index.json b/test/ast-test-case/element-opening/index.json
deleted file mode 100644
index aba9410..0000000
--- a/test/ast-test-case/element-opening/index.json
+++ /dev/null
@@ -1,200 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Html",
- "tagName": "foo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bar",
- "loc": {
- "start": {
- "line": 1,
- "column": 5
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 5,
- 8
- ],
- "raw": "bar"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 14
- }
- },
- "range": [
- 0,
- 14
- ],
- "raw": "bar "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 14
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 14,
- 15
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "foo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bar",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 2,
- "column": 8
- }
- },
- "range": [
- 20,
- 23
- ],
- "raw": "bar"
- }
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 14
- }
- },
- "range": [
- 15,
- 29
- ],
- "raw": "bar "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 2,
- "column": 14
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 29,
- 30
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "foo",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "bar",
- "loc": {
- "start": {
- "line": 3,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 8
- }
- },
- "range": [
- 35,
- 38
- ],
- "raw": "bar"
- }
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 14
- }
- },
- "range": [
- 30,
- 44
- ],
- "raw": "bar "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 14
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 44,
- 45
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 0,
- 45
- ],
- "raw": "bar \nbar \nbar \n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-opening/output-tree.txt b/test/ast-test-case/element-opening/output-tree.txt
new file mode 100644
index 0000000..3db6858
--- /dev/null
+++ b/test/ast-test-case/element-opening/output-tree.txt
@@ -0,0 +1,13 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ foo(element)
+ Str(text)
+ Str(text)
+ foo(element)
+ Str(text)
+ Str(text)
+ foo(element)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/element-opening/output.json b/test/ast-test-case/element-opening/output.json
new file mode 100644
index 0000000..92ef55e
--- /dev/null
+++ b/test/ast-test-case/element-opening/output.json
@@ -0,0 +1,388 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "bar \nbar \nbar \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "foo",
+ "tagName": "foo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 6,
+ "offset": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 9,
+ "offset": 8
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 5
+ },
+ "end": {
+ "line": 1,
+ "column": 8
+ }
+ },
+ "range": [
+ 5,
+ 8
+ ],
+ "raw": "bar"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 15,
+ "offset": 14
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 14
+ }
+ },
+ "range": [
+ 0,
+ 14
+ ],
+ "raw": "bar "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 15,
+ "offset": 14
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 14
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 14,
+ 15
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "foo",
+ "tagName": "foo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 6,
+ "offset": 20
+ },
+ "end": {
+ "line": 2,
+ "column": 9,
+ "offset": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 5
+ },
+ "end": {
+ "line": 2,
+ "column": 8
+ }
+ },
+ "range": [
+ 20,
+ 23
+ ],
+ "raw": "bar"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 15
+ },
+ "end": {
+ "line": 2,
+ "column": 15,
+ "offset": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 14
+ }
+ },
+ "range": [
+ 15,
+ 29
+ ],
+ "raw": "bar "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 15,
+ "offset": 29
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 14
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 29,
+ 30
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "foo",
+ "tagName": "foo",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "bar",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 6,
+ "offset": 35
+ },
+ "end": {
+ "line": 3,
+ "column": 9,
+ "offset": 38
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 8
+ }
+ },
+ "range": [
+ 35,
+ 38
+ ],
+ "raw": "bar"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ },
+ "end": {
+ "line": 3,
+ "column": 15,
+ "offset": 44
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 14
+ }
+ },
+ "range": [
+ 30,
+ 44
+ ],
+ "raw": "bar "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 15,
+ "offset": 44
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 45
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 14
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 44,
+ 45
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "bar \nbar \nbar \n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "bar \nbar \nbar \n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 45
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 45
+ ],
+ "raw": "bar \nbar \nbar \n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-void-close/index.json b/test/ast-test-case/element-void-close/index.json
deleted file mode 100644
index 5fd2041..0000000
--- a/test/ast-test-case/element-void-close/index.json
+++ /dev/null
@@ -1,140 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "break",
- "tagName": "br",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 4
- }
- },
- "range": [
- 0,
- 4
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "text",
- "loc": {
- "start": {
- "line": 1,
- "column": 4
- },
- "end": {
- "line": 1,
- "column": 8
- }
- },
- "range": [
- 4,
- 8
- ],
- "raw": "text"
- },
- {
- "type": "break",
- "tagName": "br",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 1,
- "column": 13
- }
- },
- "range": [
- 12,
- 13
- ],
- "raw": ">"
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 12
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 12,
- 14
- ],
- "raw": ">\n"
- },
- {
- "type": "Image",
- "tagName": "img",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 5
- }
- },
- "range": [
- 14,
- 19
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "text\n",
- "loc": {
- "start": {
- "line": 2,
- "column": 5
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 19,
- 30
- ],
- "raw": "text\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 0,
- 30
- ],
- "raw": " text\n text\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-void-close/output-tree.txt b/test/ast-test-case/element-void-close/output-tree.txt
new file mode 100644
index 0000000..9ed20c9
--- /dev/null
+++ b/test/ast-test-case/element-void-close/output-tree.txt
@@ -0,0 +1,10 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ break(element)
+ Str(text)
+ break(element)
+ Str(text)
+ Image(element)
+ Str(text)
diff --git a/test/ast-test-case/element-void-close/output.json b/test/ast-test-case/element-void-close/output.json
new file mode 100644
index 0000000..de80bf6
--- /dev/null
+++ b/test/ast-test-case/element-void-close/output.json
@@ -0,0 +1,280 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": " text\n text\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "break",
+ "tagName": "br",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 5,
+ "offset": 4
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 4
+ }
+ },
+ "range": [
+ 0,
+ 4
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "text",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 5,
+ "offset": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 9,
+ "offset": 8
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 1,
+ "column": 8
+ }
+ },
+ "range": [
+ 4,
+ 8
+ ],
+ "raw": "text"
+ },
+ {
+ "type": "break",
+ "tagName": "br",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": " text\n text\n"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 14,
+ "offset": 13
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 14
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 13
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 13,
+ 14
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 14
+ },
+ "end": {
+ "line": 2,
+ "column": 6,
+ "offset": 19
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 5
+ }
+ },
+ "range": [
+ 14,
+ 19
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "text\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 6,
+ "offset": 19
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 5
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 19,
+ 30
+ ],
+ "raw": "text\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": " text\n text\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": " text\n text\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": " text\n text\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element-void/index.json b/test/ast-test-case/element-void/index.json
deleted file mode 100644
index 565b160..0000000
--- a/test/ast-test-case/element-void/index.json
+++ /dev/null
@@ -1,769 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "src": "http://example.com/fav.ico",
- "alt": "foo",
- "title": "bar",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 60
- }
- },
- "range": [
- 0,
- 60
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 60
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 60,
- 62
- ],
- "raw": "\n\n"
- },
- {
- "type": "horizontalRule",
- "tagName": "hr",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 4
- }
- },
- "range": [
- 62,
- 66
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 66,
- 68
- ],
- "raw": "\n\n"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "this",
- "loc": {
- "start": {
- "line": 5,
- "column": 3
- },
- "end": {
- "line": 5,
- "column": 7
- }
- },
- "range": [
- 71,
- 75
- ],
- "raw": "this"
- },
- {
- "type": "break",
- "tagName": "br",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 5,
- "column": 7
- },
- "end": {
- "line": 5,
- "column": 12
- }
- },
- "range": [
- 75,
- 80
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "and that",
- "loc": {
- "start": {
- "line": 5,
- "column": 12
- },
- "end": {
- "line": 5,
- "column": 20
- }
- },
- "range": [
- 80,
- 88
- ],
- "raw": "and that"
- }
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 24
- }
- },
- "range": [
- 68,
- 92
- ],
- "raw": "this and that
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 5,
- "column": 24
- },
- "end": {
- "line": 7,
- "column": 0
- }
- },
- "range": [
- 92,
- 94
- ],
- "raw": "\n\n"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "this",
- "loc": {
- "start": {
- "line": 7,
- "column": 3
- },
- "end": {
- "line": 7,
- "column": 7
- }
- },
- "range": [
- 97,
- 101
- ],
- "raw": "this"
- },
- {
- "type": "break",
- "tagName": "br",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 7,
- "column": 7
- },
- "end": {
- "line": 7,
- "column": 11
- }
- },
- "range": [
- 101,
- 105
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "and that",
- "loc": {
- "start": {
- "line": 7,
- "column": 11
- },
- "end": {
- "line": 7,
- "column": 19
- }
- },
- "range": [
- 105,
- 113
- ],
- "raw": "and that"
- }
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 0
- },
- "end": {
- "line": 7,
- "column": 23
- }
- },
- "range": [
- 94,
- 117
- ],
- "raw": "this and that
"
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 7,
- "column": 23
- },
- "end": {
- "line": 9,
- "column": 0
- }
- },
- "range": [
- 117,
- 119
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "svg",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "path",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 9,
- "column": 5
- },
- "end": {
- "line": 9,
- "column": 11
- }
- },
- "range": [
- 124,
- 130
- ],
- "raw": ""
- },
- {
- "type": "Html",
- "tagName": "circle",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 9,
- "column": 11
- },
- "end": {
- "line": 9,
- "column": 19
- }
- },
- "range": [
- 130,
- 138
- ],
- "raw": ""
- },
- {
- "type": "Html",
- "tagName": "g",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "rect",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 9,
- "column": 22
- },
- "end": {
- "line": 9,
- "column": 28
- }
- },
- "range": [
- 141,
- 147
- ],
- "raw": ""
- }
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 19
- },
- "end": {
- "line": 9,
- "column": 34
- }
- },
- "range": [
- 138,
- 153
- ],
- "raw": ""
- }
- ],
- "loc": {
- "start": {
- "line": 9,
- "column": 0
- },
- "end": {
- "line": 9,
- "column": 34
- }
- },
- "range": [
- 119,
- 153
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 9,
- "column": 34
- },
- "end": {
- "line": 11,
- "column": 0
- }
- },
- "range": [
- 153,
- 155
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "svg",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "path",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 11,
- "column": 5
- },
- "end": {
- "line": 11,
- "column": 12
- }
- },
- "range": [
- 160,
- 167
- ],
- "raw": " "
- },
- {
- "type": "Html",
- "tagName": "circle",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 11,
- "column": 12
- },
- "end": {
- "line": 11,
- "column": 21
- }
- },
- "range": [
- 167,
- 176
- ],
- "raw": " "
- },
- {
- "type": "Html",
- "tagName": "g",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "rect",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 11,
- "column": 25
- },
- "end": {
- "line": 11,
- "column": 32
- }
- },
- "range": [
- 180,
- 187
- ],
- "raw": " "
- }
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 21
- },
- "end": {
- "line": 11,
- "column": 38
- }
- },
- "range": [
- 176,
- 193
- ],
- "raw": " "
- }
- ],
- "loc": {
- "start": {
- "line": 11,
- "column": 0
- },
- "end": {
- "line": 11,
- "column": 38
- }
- },
- "range": [
- 155,
- 193
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 11,
- "column": 38
- },
- "end": {
- "line": 13,
- "column": 0
- }
- },
- "range": [
- 193,
- 195
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "math",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "mglyph",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "mspace",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "malignmark",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 13,
- "column": 22
- },
- "end": {
- "line": 13,
- "column": 41
- }
- },
- "range": [
- 217,
- 236
- ],
- "raw": ""
- }
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 14
- },
- "end": {
- "line": 13,
- "column": 41
- }
- },
- "range": [
- 209,
- 236
- ],
- "raw": ""
- }
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 6
- },
- "end": {
- "line": 13,
- "column": 41
- }
- },
- "range": [
- 201,
- 236
- ],
- "raw": ""
- }
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 0
- },
- "end": {
- "line": 13,
- "column": 41
- }
- },
- "range": [
- 195,
- 236
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 13,
- "column": 41
- },
- "end": {
- "line": 15,
- "column": 0
- }
- },
- "range": [
- 236,
- 238
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "math",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "mglyph",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "mspace",
- "properties": {},
- "children": [
- {
- "type": "Html",
- "tagName": "malignmark",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 15,
- "column": 24
- },
- "end": {
- "line": 15,
- "column": 44
- }
- },
- "range": [
- 262,
- 282
- ],
- "raw": " "
- }
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 15
- },
- "end": {
- "line": 15,
- "column": 44
- }
- },
- "range": [
- 253,
- 282
- ],
- "raw": " "
- }
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 6
- },
- "end": {
- "line": 15,
- "column": 44
- }
- },
- "range": [
- 244,
- 282
- ],
- "raw": " "
- }
- ],
- "loc": {
- "start": {
- "line": 15,
- "column": 0
- },
- "end": {
- "line": 15,
- "column": 44
- }
- },
- "range": [
- 238,
- 282
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 15,
- "column": 44
- },
- "end": {
- "line": 16,
- "column": 0
- }
- },
- "range": [
- 282,
- 283
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 16,
- "column": 0
- }
- },
- "range": [
- 0,
- 283
- ],
- "raw": " \n\n \n\nthis and that
\n\nthis and that
\n\n \n\n \n\n \n\n \n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element-void/output-tree.txt b/test/ast-test-case/element-void/output-tree.txt
new file mode 100644
index 0000000..cd2d660
--- /dev/null
+++ b/test/ast-test-case/element-void/output-tree.txt
@@ -0,0 +1,40 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Image(element)
+ Str(text)
+ horizontalRule(element)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ break(element)
+ Str(text)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ break(element)
+ Str(text)
+ Str(text)
+ svg(element)
+ path(element)
+ circle(element)
+ g(element)
+ rect(element)
+ Str(text)
+ svg(element)
+ path(element)
+ circle(element)
+ g(element)
+ rect(element)
+ Str(text)
+ math(element)
+ mglyph(element)
+ mspace(element)
+ malignmark(element)
+ Str(text)
+ math(element)
+ mglyph(element)
+ mspace(element)
+ malignmark(element)
+ Str(text)
diff --git a/test/ast-test-case/element-void/output.json b/test/ast-test-case/element-void/output.json
new file mode 100644
index 0000000..4f9d9cd
--- /dev/null
+++ b/test/ast-test-case/element-void/output.json
@@ -0,0 +1,1282 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 16,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 283
+ ],
+ "raw": " \n\n \n\nthis and that
\n\nthis and that
\n\n \n\n \n\n \n\n \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "src": "http://example.com/fav.ico",
+ "alt": "foo",
+ "title": "bar"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 61,
+ "offset": 60
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 60
+ }
+ },
+ "range": [
+ 0,
+ 60
+ ],
+ "raw": " ",
+ "alt": "foo",
+ "title": "bar",
+ "url": "http://example.com/fav.ico"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 61,
+ "offset": 60
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 62
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 60
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 60,
+ 62
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "horizontalRule",
+ "tagName": "hr",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 62
+ },
+ "end": {
+ "line": 3,
+ "column": 5,
+ "offset": 66
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 4
+ }
+ },
+ "range": [
+ 62,
+ 66
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 5,
+ "offset": 66
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 68
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 4
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 66,
+ 68
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "this",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 4,
+ "offset": 71
+ },
+ "end": {
+ "line": 5,
+ "column": 8,
+ "offset": 75
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 7
+ }
+ },
+ "range": [
+ 71,
+ 75
+ ],
+ "raw": "this"
+ },
+ {
+ "type": "break",
+ "tagName": "br",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 8,
+ "offset": 75
+ },
+ "end": {
+ "line": 5,
+ "column": 13,
+ "offset": 80
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 7
+ },
+ "end": {
+ "line": 5,
+ "column": 12
+ }
+ },
+ "range": [
+ 75,
+ 80
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "and that",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 13,
+ "offset": 80
+ },
+ "end": {
+ "line": 5,
+ "column": 21,
+ "offset": 88
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 12
+ },
+ "end": {
+ "line": 5,
+ "column": 20
+ }
+ },
+ "range": [
+ 80,
+ 88
+ ],
+ "raw": "and that"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1,
+ "offset": 68
+ },
+ "end": {
+ "line": 5,
+ "column": 25,
+ "offset": 92
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 24
+ }
+ },
+ "range": [
+ 68,
+ 92
+ ],
+ "raw": "this and that
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 25,
+ "offset": 92
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 94
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 24
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 92,
+ 94
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "this",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 4,
+ "offset": 97
+ },
+ "end": {
+ "line": 7,
+ "column": 8,
+ "offset": 101
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 3
+ },
+ "end": {
+ "line": 7,
+ "column": 7
+ }
+ },
+ "range": [
+ 97,
+ 101
+ ],
+ "raw": "this"
+ },
+ {
+ "type": "break",
+ "tagName": "br",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 8,
+ "offset": 101
+ },
+ "end": {
+ "line": 7,
+ "column": 12,
+ "offset": 105
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 7
+ },
+ "end": {
+ "line": 7,
+ "column": 11
+ }
+ },
+ "range": [
+ 101,
+ 105
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "and that",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 12,
+ "offset": 105
+ },
+ "end": {
+ "line": 7,
+ "column": 20,
+ "offset": 113
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 11
+ },
+ "end": {
+ "line": 7,
+ "column": 19
+ }
+ },
+ "range": [
+ 105,
+ 113
+ ],
+ "raw": "and that"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 1,
+ "offset": 94
+ },
+ "end": {
+ "line": 7,
+ "column": 24,
+ "offset": 117
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 23
+ }
+ },
+ "range": [
+ 94,
+ 117
+ ],
+ "raw": "this and that
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 24,
+ "offset": 117
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 119
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 23
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 117,
+ 119
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "svg",
+ "tagName": "svg",
+ "properties": {},
+ "children": [
+ {
+ "type": "path",
+ "tagName": "path",
+ "properties": {},
+ "children": [
+ {
+ "type": "circle",
+ "tagName": "circle",
+ "properties": {},
+ "children": [
+ {
+ "type": "g",
+ "tagName": "g",
+ "properties": {},
+ "children": [
+ {
+ "type": "rect",
+ "tagName": "rect",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 23,
+ "offset": 141
+ },
+ "end": {
+ "line": 9,
+ "column": 29,
+ "offset": 147
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 22
+ },
+ "end": {
+ "line": 9,
+ "column": 28
+ }
+ },
+ "range": [
+ 141,
+ 147
+ ],
+ "raw": ""
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 20,
+ "offset": 138
+ },
+ "end": {
+ "line": 9,
+ "column": 29,
+ "offset": 147
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 19
+ },
+ "end": {
+ "line": 9,
+ "column": 28
+ }
+ },
+ "range": [
+ 138,
+ 147
+ ],
+ "raw": ""
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 12,
+ "offset": 130
+ },
+ "end": {
+ "line": 9,
+ "column": 29,
+ "offset": 147
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 11
+ },
+ "end": {
+ "line": 9,
+ "column": 28
+ }
+ },
+ "range": [
+ 130,
+ 147
+ ],
+ "raw": ""
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 6,
+ "offset": 124
+ },
+ "end": {
+ "line": 9,
+ "column": 29,
+ "offset": 147
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 5
+ },
+ "end": {
+ "line": 9,
+ "column": 28
+ }
+ },
+ "range": [
+ 124,
+ 147
+ ],
+ "raw": ""
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 1,
+ "offset": 119
+ },
+ "end": {
+ "line": 9,
+ "column": 35,
+ "offset": 153
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 34
+ }
+ },
+ "range": [
+ 119,
+ 153
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 35,
+ "offset": 153
+ },
+ "end": {
+ "line": 11,
+ "column": 1,
+ "offset": 155
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 34
+ },
+ "end": {
+ "line": 11,
+ "column": 0
+ }
+ },
+ "range": [
+ 153,
+ 155
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "svg",
+ "tagName": "svg",
+ "properties": {},
+ "children": [
+ {
+ "type": "path",
+ "tagName": "path",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 6,
+ "offset": 160
+ },
+ "end": {
+ "line": 11,
+ "column": 13,
+ "offset": 167
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 5
+ },
+ "end": {
+ "line": 11,
+ "column": 12
+ }
+ },
+ "range": [
+ 160,
+ 167
+ ],
+ "raw": " "
+ },
+ {
+ "type": "circle",
+ "tagName": "circle",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 13,
+ "offset": 167
+ },
+ "end": {
+ "line": 11,
+ "column": 22,
+ "offset": 176
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 12
+ },
+ "end": {
+ "line": 11,
+ "column": 21
+ }
+ },
+ "range": [
+ 167,
+ 176
+ ],
+ "raw": " "
+ },
+ {
+ "type": "g",
+ "tagName": "g",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 22,
+ "offset": 176
+ },
+ "end": {
+ "line": 11,
+ "column": 26,
+ "offset": 180
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 21
+ },
+ "end": {
+ "line": 11,
+ "column": 25
+ }
+ },
+ "range": [
+ 176,
+ 180
+ ],
+ "raw": " "
+ },
+ {
+ "type": "rect",
+ "tagName": "rect",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 26,
+ "offset": 180
+ },
+ "end": {
+ "line": 11,
+ "column": 33,
+ "offset": 187
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 25
+ },
+ "end": {
+ "line": 11,
+ "column": 32
+ }
+ },
+ "range": [
+ 180,
+ 187
+ ],
+ "raw": " "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 1,
+ "offset": 155
+ },
+ "end": {
+ "line": 11,
+ "column": 39,
+ "offset": 193
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 0
+ },
+ "end": {
+ "line": 11,
+ "column": 38
+ }
+ },
+ "range": [
+ 155,
+ 193
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 39,
+ "offset": 193
+ },
+ "end": {
+ "line": 13,
+ "column": 1,
+ "offset": 195
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 38
+ },
+ "end": {
+ "line": 13,
+ "column": 0
+ }
+ },
+ "range": [
+ 193,
+ 195
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "math",
+ "tagName": "math",
+ "properties": {},
+ "children": [
+ {
+ "type": "mglyph",
+ "tagName": "mglyph",
+ "properties": {},
+ "children": [
+ {
+ "type": "mspace",
+ "tagName": "mspace",
+ "properties": {},
+ "children": [
+ {
+ "type": "malignmark",
+ "tagName": "malignmark",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 23,
+ "offset": 217
+ },
+ "end": {
+ "line": 13,
+ "column": 35,
+ "offset": 229
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 22
+ },
+ "end": {
+ "line": 13,
+ "column": 34
+ }
+ },
+ "range": [
+ 217,
+ 229
+ ],
+ "raw": ""
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 15,
+ "offset": 209
+ },
+ "end": {
+ "line": 13,
+ "column": 35,
+ "offset": 229
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 14
+ },
+ "end": {
+ "line": 13,
+ "column": 34
+ }
+ },
+ "range": [
+ 209,
+ 229
+ ],
+ "raw": ""
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 7,
+ "offset": 201
+ },
+ "end": {
+ "line": 13,
+ "column": 35,
+ "offset": 229
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 6
+ },
+ "end": {
+ "line": 13,
+ "column": 34
+ }
+ },
+ "range": [
+ 201,
+ 229
+ ],
+ "raw": ""
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 1,
+ "offset": 195
+ },
+ "end": {
+ "line": 13,
+ "column": 42,
+ "offset": 236
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 0
+ },
+ "end": {
+ "line": 13,
+ "column": 41
+ }
+ },
+ "range": [
+ 195,
+ 236
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 42,
+ "offset": 236
+ },
+ "end": {
+ "line": 15,
+ "column": 1,
+ "offset": 238
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 41
+ },
+ "end": {
+ "line": 15,
+ "column": 0
+ }
+ },
+ "range": [
+ 236,
+ 238
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "math",
+ "tagName": "math",
+ "properties": {},
+ "children": [
+ {
+ "type": "mglyph",
+ "tagName": "mglyph",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 7,
+ "offset": 244
+ },
+ "end": {
+ "line": 15,
+ "column": 16,
+ "offset": 253
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 6
+ },
+ "end": {
+ "line": 15,
+ "column": 15
+ }
+ },
+ "range": [
+ 244,
+ 253
+ ],
+ "raw": " "
+ },
+ {
+ "type": "mspace",
+ "tagName": "mspace",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 16,
+ "offset": 253
+ },
+ "end": {
+ "line": 15,
+ "column": 25,
+ "offset": 262
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 15
+ },
+ "end": {
+ "line": 15,
+ "column": 24
+ }
+ },
+ "range": [
+ 253,
+ 262
+ ],
+ "raw": " "
+ },
+ {
+ "type": "malignmark",
+ "tagName": "malignmark",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 25,
+ "offset": 262
+ },
+ "end": {
+ "line": 15,
+ "column": 38,
+ "offset": 275
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 24
+ },
+ "end": {
+ "line": 15,
+ "column": 37
+ }
+ },
+ "range": [
+ 262,
+ 275
+ ],
+ "raw": " "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 1,
+ "offset": 238
+ },
+ "end": {
+ "line": 15,
+ "column": 45,
+ "offset": 282
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 0
+ },
+ "end": {
+ "line": 15,
+ "column": 44
+ }
+ },
+ "range": [
+ 238,
+ 282
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 15,
+ "column": 45,
+ "offset": 282
+ },
+ "end": {
+ "line": 16,
+ "column": 1,
+ "offset": 283
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 44
+ },
+ "end": {
+ "line": 16,
+ "column": 0
+ }
+ },
+ "range": [
+ 282,
+ 283
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 16,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 283
+ ],
+ "raw": " \n\n \n\nthis and that
\n\nthis and that
\n\n \n\n \n\n \n\n \n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 16,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 283
+ ],
+ "raw": " \n\n \n\nthis and that
\n\nthis and that
\n\n \n\n \n\n \n\n \n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 16,
+ "column": 1,
+ "offset": 283
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 16,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 283
+ ],
+ "raw": " \n\n \n\nthis and that
\n\nthis and that
\n\n \n\n \n\n \n\n \n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/element/index.json b/test/ast-test-case/element/index.json
deleted file mode 100644
index 5ffc0b0..0000000
--- a/test/ast-test-case/element/index.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Strong",
- "tagName": "strong",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "Hello World.",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 1,
- "column": 20
- }
- },
- "range": [
- 8,
- 20
- ],
- "raw": "Hello World."
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 29
- }
- },
- "range": [
- 0,
- 29
- ],
- "raw": "Hello World. "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 29
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 29,
- 30
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 30
- ],
- "raw": "Hello World. \n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/element/output-tree.txt b/test/ast-test-case/element/output-tree.txt
new file mode 100644
index 0000000..5d58744
--- /dev/null
+++ b/test/ast-test-case/element/output-tree.txt
@@ -0,0 +1,7 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Strong(element)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/element/output.json b/test/ast-test-case/element/output.json
new file mode 100644
index 0000000..9aacc2e
--- /dev/null
+++ b/test/ast-test-case/element/output.json
@@ -0,0 +1,196 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": "Hello World. \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Strong",
+ "tagName": "strong",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Hello World.",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 9,
+ "offset": 8
+ },
+ "end": {
+ "line": 1,
+ "column": 21,
+ "offset": 20
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 8
+ },
+ "end": {
+ "line": 1,
+ "column": 20
+ }
+ },
+ "range": [
+ 8,
+ 20
+ ],
+ "raw": "Hello World."
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 30,
+ "offset": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 29
+ }
+ },
+ "range": [
+ 0,
+ 29
+ ],
+ "raw": "Hello World. "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 30,
+ "offset": 29
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 29
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 29,
+ 30
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": "Hello World. \n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": "Hello World. \n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 30
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "raw": "Hello World. \n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/empty-document/index.json b/test/ast-test-case/empty-document/index.json
deleted file mode 100644
index 0aa8e04..0000000
--- a/test/ast-test-case/empty-document/index.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "type": "Document",
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 0
- }
- },
- "range": [
- 0,
- 0
- ],
- "raw": ""
-}
\ No newline at end of file
diff --git a/test/ast-test-case/empty-document/output-tree.txt b/test/ast-test-case/empty-document/output-tree.txt
new file mode 100644
index 0000000..f3c83b9
--- /dev/null
+++ b/test/ast-test-case/empty-document/output-tree.txt
@@ -0,0 +1,4 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/empty-document/output.json b/test/ast-test-case/empty-document/output.json
new file mode 100644
index 0000000..d3c94a9
--- /dev/null
+++ b/test/ast-test-case/empty-document/output.json
@@ -0,0 +1,27 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": []
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": []
+ }
+ ]
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ }
+}
\ No newline at end of file
diff --git a/test/ast-test-case/empty-fragment/index.json b/test/ast-test-case/empty-fragment/index.json
deleted file mode 100644
index 0aa8e04..0000000
--- a/test/ast-test-case/empty-fragment/index.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "type": "Document",
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 0
- }
- },
- "range": [
- 0,
- 0
- ],
- "raw": ""
-}
\ No newline at end of file
diff --git a/test/ast-test-case/empty-fragment/output-tree.txt b/test/ast-test-case/empty-fragment/output-tree.txt
new file mode 100644
index 0000000..f3c83b9
--- /dev/null
+++ b/test/ast-test-case/empty-fragment/output-tree.txt
@@ -0,0 +1,4 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/empty-fragment/output.json b/test/ast-test-case/empty-fragment/output.json
new file mode 100644
index 0000000..d3c94a9
--- /dev/null
+++ b/test/ast-test-case/empty-fragment/output.json
@@ -0,0 +1,27 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": []
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": []
+ }
+ ]
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ }
+}
\ No newline at end of file
diff --git a/test/ast-test-case/entities-in-literals/index.json b/test/ast-test-case/entities-in-literals/index.json
deleted file mode 100644
index 60705d9..0000000
--- a/test/ast-test-case/entities-in-literals/index.json
+++ /dev/null
@@ -1,200 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Html",
- "tagName": "script",
- "properties": {},
- "children": [
- {
- "type": "CodeBlock",
- "value": "\nif (12 > 13) {\n console.log('foo');\n}\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 8
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 8,
- 50
- ],
- "raw": "\nif (12 > 13) {\n console.log('foo');\n}\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 9
- }
- },
- "range": [
- 0,
- 59
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 5,
- "column": 9
- },
- "end": {
- "line": 7,
- "column": 0
- }
- },
- "range": [
- 59,
- 61
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "script",
- "properties": {},
- "children": [
- {
- "type": "CodeBlock",
- "value": "\n for (var index = -1, length = 2; index < length; index++) {\n console.log(index);\n }\n",
- "loc": {
- "start": {
- "line": 7,
- "column": 8
- },
- "end": {
- "line": 11,
- "column": 0
- }
- },
- "range": [
- 69,
- 160
- ],
- "raw": "\n for (var index = -1, length = 2; index < length; index++) {\n console.log(index);\n }\n"
- }
- ],
- "loc": {
- "start": {
- "line": 7,
- "column": 0
- },
- "end": {
- "line": 11,
- "column": 9
- }
- },
- "range": [
- 61,
- 169
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n\n",
- "loc": {
- "start": {
- "line": 11,
- "column": 9
- },
- "end": {
- "line": 13,
- "column": 0
- }
- },
- "range": [
- 169,
- 171
- ],
- "raw": "\n\n"
- },
- {
- "type": "Html",
- "tagName": "style",
- "properties": {},
- "children": [
- {
- "type": "CodeBlock",
- "value": "\nhtml > body {\n color: red;\n}\n",
- "loc": {
- "start": {
- "line": 13,
- "column": 7
- },
- "end": {
- "line": 17,
- "column": 0
- }
- },
- "range": [
- 178,
- 209
- ],
- "raw": "\nhtml > body {\n color: red;\n}\n"
- }
- ],
- "loc": {
- "start": {
- "line": 13,
- "column": 0
- },
- "end": {
- "line": 17,
- "column": 8
- }
- },
- "range": [
- 171,
- 217
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 17,
- "column": 8
- },
- "end": {
- "line": 18,
- "column": 0
- }
- },
- "range": [
- 217,
- 218
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 18,
- "column": 0
- }
- },
- "range": [
- 0,
- 218
- ],
- "raw": "\n\n\n\n\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/entities-in-literals/output-tree.txt b/test/ast-test-case/entities-in-literals/output-tree.txt
new file mode 100644
index 0000000..6638d48
--- /dev/null
+++ b/test/ast-test-case/entities-in-literals/output-tree.txt
@@ -0,0 +1,13 @@
+Document(root)
+ html(element)
+ head(element)
+ script(element)
+ CodeBlock(text)
+ Str(text)
+ script(element)
+ CodeBlock(text)
+ Str(text)
+ style(element)
+ CodeBlock(text)
+ Str(text)
+ body(element)
diff --git a/test/ast-test-case/entities-in-literals/output.json b/test/ast-test-case/entities-in-literals/output.json
new file mode 100644
index 0000000..c15f100
--- /dev/null
+++ b/test/ast-test-case/entities-in-literals/output.json
@@ -0,0 +1,388 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [
+ {
+ "type": "script",
+ "tagName": "script",
+ "properties": {},
+ "children": [
+ {
+ "type": "CodeBlock",
+ "value": "\nif (12 > 13) {\n console.log('foo');\n}\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 9,
+ "offset": 8
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 50
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 8
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 8,
+ 50
+ ],
+ "raw": "\nif (12 > 13) {\n console.log('foo');\n}\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 10,
+ "offset": 59
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 9
+ }
+ },
+ "range": [
+ 0,
+ 59
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 10,
+ "offset": 59
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 61
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 9
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 59,
+ 61
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "script",
+ "tagName": "script",
+ "properties": {},
+ "children": [
+ {
+ "type": "CodeBlock",
+ "value": "\n for (var index = -1, length = 2; index < length; index++) {\n console.log(index);\n }\n",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 9,
+ "offset": 69
+ },
+ "end": {
+ "line": 11,
+ "column": 1,
+ "offset": 160
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 8
+ },
+ "end": {
+ "line": 11,
+ "column": 0
+ }
+ },
+ "range": [
+ 69,
+ 160
+ ],
+ "raw": "\n for (var index = -1, length = 2; index < length; index++) {\n console.log(index);\n }\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 1,
+ "offset": 61
+ },
+ "end": {
+ "line": 11,
+ "column": 10,
+ "offset": 169
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 0
+ },
+ "end": {
+ "line": 11,
+ "column": 9
+ }
+ },
+ "range": [
+ 61,
+ 169
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 10,
+ "offset": 169
+ },
+ "end": {
+ "line": 13,
+ "column": 1,
+ "offset": 171
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 9
+ },
+ "end": {
+ "line": 13,
+ "column": 0
+ }
+ },
+ "range": [
+ 169,
+ 171
+ ],
+ "raw": "\n\n"
+ },
+ {
+ "type": "style",
+ "tagName": "style",
+ "properties": {},
+ "children": [
+ {
+ "type": "CodeBlock",
+ "value": "\nhtml > body {\n color: red;\n}\n",
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 8,
+ "offset": 178
+ },
+ "end": {
+ "line": 17,
+ "column": 1,
+ "offset": 209
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 7
+ },
+ "end": {
+ "line": 17,
+ "column": 0
+ }
+ },
+ "range": [
+ 178,
+ 209
+ ],
+ "raw": "\nhtml > body {\n color: red;\n}\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 1,
+ "offset": 171
+ },
+ "end": {
+ "line": 17,
+ "column": 9,
+ "offset": 217
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 0
+ },
+ "end": {
+ "line": 17,
+ "column": 8
+ }
+ },
+ "range": [
+ 171,
+ 217
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 17,
+ "column": 9,
+ "offset": 217
+ },
+ "end": {
+ "line": 18,
+ "column": 1,
+ "offset": 218
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 8
+ },
+ "end": {
+ "line": 18,
+ "column": 0
+ }
+ },
+ "range": [
+ 217,
+ 218
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 18,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 218
+ ],
+ "raw": "\n\n\n\n\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 18,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 218
+ ],
+ "raw": "\n\n\n\n\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 18,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 218
+ ],
+ "raw": "\n\n\n\n\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 18,
+ "column": 1,
+ "offset": 218
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 18,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 218
+ ],
+ "raw": "\n\n\n\n\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/entities/index.json b/test/ast-test-case/entities/index.json
deleted file mode 100644
index c3f33cd..0000000
--- a/test/ast-test-case/entities/index.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Str",
- "value": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 0,
- 67
- ],
- "raw": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 0,
- 67
- ],
- "raw": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/entities/output-tree.txt b/test/ast-test-case/entities/output-tree.txt
new file mode 100644
index 0000000..2abcaa9
--- /dev/null
+++ b/test/ast-test-case/entities/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Str(text)
diff --git a/test/ast-test-case/entities/output.json b/test/ast-test-case/entities/output.json
new file mode 100644
index 0000000..f2f7fa0
--- /dev/null
+++ b/test/ast-test-case/entities/output.json
@@ -0,0 +1,131 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 67
+ ],
+ "raw": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 67
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 67
+ ],
+ "raw": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 67
+ ],
+ "raw": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 67
+ ],
+ "raw": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 67
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 67
+ ],
+ "raw": "© & baz. AT&T.\nalpha < bravo ' charlie > delta.\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/fragment-comment/index.html b/test/ast-test-case/fragment-comment/index.html
new file mode 100644
index 0000000..ffb1b6f
--- /dev/null
+++ b/test/ast-test-case/fragment-comment/index.html
@@ -0,0 +1,2 @@
+
+test
diff --git a/test/ast-test-case/fragment-comment/output-tree.txt b/test/ast-test-case/fragment-comment/output-tree.txt
new file mode 100644
index 0000000..ec47930
--- /dev/null
+++ b/test/ast-test-case/fragment-comment/output-tree.txt
@@ -0,0 +1,6 @@
+Document(root)
+ Comment(comment)
+ html(element)
+ head(element)
+ body(element)
+ Str(text)
diff --git a/test/ast-test-case/fragment-comment/output.json b/test/ast-test-case/fragment-comment/output.json
new file mode 100644
index 0000000..3762b44
--- /dev/null
+++ b/test/ast-test-case/fragment-comment/output.json
@@ -0,0 +1,162 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "Comment",
+ "value": " comment ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 17,
+ "offset": 16
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 16
+ }
+ },
+ "range": [
+ 0,
+ 16
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 22
+ ],
+ "raw": "\ntest\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "test\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 17
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 17,
+ 22
+ ],
+ "raw": "test\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 22
+ ],
+ "raw": "\ntest\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 22
+ ],
+ "raw": "\ntest\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 22
+ ],
+ "raw": "\ntest\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/fragment-p/index.html b/test/ast-test-case/fragment-p/index.html
new file mode 100644
index 0000000..58d93db
--- /dev/null
+++ b/test/ast-test-case/fragment-p/index.html
@@ -0,0 +1 @@
+test
diff --git a/test/ast-test-case/fragment-p/output-tree.txt b/test/ast-test-case/fragment-p/output-tree.txt
new file mode 100644
index 0000000..5262acf
--- /dev/null
+++ b/test/ast-test-case/fragment-p/output-tree.txt
@@ -0,0 +1,7 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Paragraph(element)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/fragment-p/output.json b/test/ast-test-case/fragment-p/output.json
new file mode 100644
index 0000000..022f65e
--- /dev/null
+++ b/test/ast-test-case/fragment-p/output.json
@@ -0,0 +1,196 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 12
+ ],
+ "raw": "test
\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "test",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 4,
+ "offset": 3
+ },
+ "end": {
+ "line": 1,
+ "column": 8,
+ "offset": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 3
+ },
+ "end": {
+ "line": 1,
+ "column": 7
+ }
+ },
+ "range": [
+ 3,
+ 7
+ ],
+ "raw": "test"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 12,
+ "offset": 11
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 11
+ }
+ },
+ "range": [
+ 0,
+ 11
+ ],
+ "raw": "test
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 12,
+ "offset": 11
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 12
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 11
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 11,
+ 12
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 12
+ ],
+ "raw": "test
\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 12
+ ],
+ "raw": "test
\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 12
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 12
+ ],
+ "raw": "test
\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/fragment-script/index.html b/test/ast-test-case/fragment-script/index.html
new file mode 100644
index 0000000..1e813b1
--- /dev/null
+++ b/test/ast-test-case/fragment-script/index.html
@@ -0,0 +1,7 @@
+
diff --git a/test/ast-test-case/fragment-script/output-tree.txt b/test/ast-test-case/fragment-script/output-tree.txt
new file mode 100644
index 0000000..1d44ad1
--- /dev/null
+++ b/test/ast-test-case/fragment-script/output-tree.txt
@@ -0,0 +1,7 @@
+Document(root)
+ html(element)
+ head(element)
+ style(element)
+ CodeBlock(text)
+ Str(text)
+ body(element)
diff --git a/test/ast-test-case/fragment-script/output.json b/test/ast-test-case/fragment-script/output.json
new file mode 100644
index 0000000..6871ddc
--- /dev/null
+++ b/test/ast-test-case/fragment-script/output.json
@@ -0,0 +1,196 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [
+ {
+ "type": "style",
+ "tagName": "style",
+ "properties": {},
+ "children": [
+ {
+ "type": "CodeBlock",
+ "value": " hr {\n border: 0\n}\n\nbody {\n margin: 0\n} ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 8,
+ "offset": 7
+ },
+ "end": {
+ "line": 7,
+ "column": 3,
+ "offset": 53
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 7
+ },
+ "end": {
+ "line": 7,
+ "column": 2
+ }
+ },
+ "range": [
+ 7,
+ 53
+ ],
+ "raw": " hr {\n border: 0\n}\n\nbody {\n margin: 0\n} "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 11,
+ "offset": 61
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 7,
+ "column": 10
+ }
+ },
+ "range": [
+ 0,
+ 61
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 11,
+ "offset": 61
+ },
+ "end": {
+ "line": 8,
+ "column": 1,
+ "offset": 62
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 10
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 61,
+ 62
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 62
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 62
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 62
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 1,
+ "offset": 62
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 62
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/fragment-style/index.html b/test/ast-test-case/fragment-style/index.html
new file mode 100644
index 0000000..758213d
--- /dev/null
+++ b/test/ast-test-case/fragment-style/index.html
@@ -0,0 +1 @@
+
diff --git a/test/ast-test-case/fragment-style/output-tree.txt b/test/ast-test-case/fragment-style/output-tree.txt
new file mode 100644
index 0000000..23dafd4
--- /dev/null
+++ b/test/ast-test-case/fragment-style/output-tree.txt
@@ -0,0 +1,7 @@
+Document(root)
+ html(element)
+ head(element)
+ script(element)
+ CodeBlock(text)
+ Str(text)
+ body(element)
diff --git a/test/ast-test-case/fragment-style/output.json b/test/ast-test-case/fragment-style/output.json
new file mode 100644
index 0000000..39fecc8
--- /dev/null
+++ b/test/ast-test-case/fragment-style/output.json
@@ -0,0 +1,196 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [
+ {
+ "type": "script",
+ "tagName": "script",
+ "properties": {},
+ "children": [
+ {
+ "type": "CodeBlock",
+ "value": " const a = 1; ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 9,
+ "offset": 8
+ },
+ "end": {
+ "line": 1,
+ "column": 23,
+ "offset": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 8
+ },
+ "end": {
+ "line": 1,
+ "column": 22
+ }
+ },
+ "range": [
+ 8,
+ 22
+ ],
+ "raw": " const a = 1; "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 32,
+ "offset": 31
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 31
+ }
+ },
+ "range": [
+ 0,
+ 31
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 32,
+ "offset": 31
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 32
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 31
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 31,
+ 32
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 32
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 32
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 32
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 32
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 32
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/h1-h7/index.html b/test/ast-test-case/h1-h7/index.html
new file mode 100644
index 0000000..9c769a0
--- /dev/null
+++ b/test/ast-test-case/h1-h7/index.html
@@ -0,0 +1,15 @@
+
+
+
+
+ Title
+
+
+h1
+h2
+h3
+h4
+h5
+h6
+
+
diff --git a/test/ast-test-case/h1-h7/output-tree.txt b/test/ast-test-case/h1-h7/output-tree.txt
new file mode 100644
index 0000000..6687480
--- /dev/null
+++ b/test/ast-test-case/h1-h7/output-tree.txt
@@ -0,0 +1,31 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ Str(text)
+ meta(element)
+ Str(text)
+ title(element)
+ Str(text)
+ Str(text)
+ Str(text)
+ body(element)
+ Str(text)
+ Header(element)
+ Str(text)
+ Str(text)
+ Header(element)
+ Str(text)
+ Str(text)
+ Header(element)
+ Str(text)
+ Str(text)
+ Header(element)
+ Str(text)
+ Str(text)
+ Header(element)
+ Str(text)
+ Str(text)
+ Header(element)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/h1-h7/output.json b/test/ast-test-case/h1-h7/output.json
new file mode 100644
index 0000000..2c47aca
--- /dev/null
+++ b/test/ast-test-case/h1-h7/output.json
@@ -0,0 +1,1006 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 16,
+ "offset": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 15
+ }
+ },
+ "range": [
+ 0,
+ 15
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {
+ "lang": "en"
+ },
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 7,
+ "offset": 39
+ },
+ "end": {
+ "line": 4,
+ "column": 5,
+ "offset": 44
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 6
+ },
+ "end": {
+ "line": 4,
+ "column": 4
+ }
+ },
+ "range": [
+ 39,
+ 44
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "meta",
+ "tagName": "meta",
+ "properties": {
+ "charSet": "UTF-8"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 5,
+ "offset": 44
+ },
+ "end": {
+ "line": 4,
+ "column": 27,
+ "offset": 66
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 4
+ },
+ "end": {
+ "line": 4,
+ "column": 26
+ }
+ },
+ "range": [
+ 44,
+ 66
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 27,
+ "offset": 66
+ },
+ "end": {
+ "line": 5,
+ "column": 5,
+ "offset": 71
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 26
+ },
+ "end": {
+ "line": 5,
+ "column": 4
+ }
+ },
+ "range": [
+ 66,
+ 71
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "title",
+ "tagName": "title",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Title",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 12,
+ "offset": 78
+ },
+ "end": {
+ "line": 5,
+ "column": 17,
+ "offset": 83
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 11
+ },
+ "end": {
+ "line": 5,
+ "column": 16
+ }
+ },
+ "range": [
+ 78,
+ 83
+ ],
+ "raw": "Title"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 5,
+ "offset": 71
+ },
+ "end": {
+ "line": 5,
+ "column": 25,
+ "offset": 91
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 5,
+ "column": 24
+ }
+ },
+ "range": [
+ 71,
+ 91
+ ],
+ "raw": "Title "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 25,
+ "offset": 91
+ },
+ "end": {
+ "line": 6,
+ "column": 1,
+ "offset": 92
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 24
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 91,
+ 92
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 33
+ },
+ "end": {
+ "line": 6,
+ "column": 8,
+ "offset": 99
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 7
+ }
+ },
+ "range": [
+ 33,
+ 99
+ ],
+ "raw": "\n \n Title \n"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 8,
+ "offset": 99
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 100
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 7
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 99,
+ 100
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 7,
+ "offset": 106
+ },
+ "end": {
+ "line": 8,
+ "column": 1,
+ "offset": 107
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 6
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 106,
+ 107
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Header",
+ "tagName": "h1",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "h1",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 5,
+ "offset": 111
+ },
+ "end": {
+ "line": 8,
+ "column": 7,
+ "offset": 113
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 4
+ },
+ "end": {
+ "line": 8,
+ "column": 6
+ }
+ },
+ "range": [
+ 111,
+ 113
+ ],
+ "raw": "h1"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 1,
+ "offset": 107
+ },
+ "end": {
+ "line": 8,
+ "column": 12,
+ "offset": 118
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 11
+ }
+ },
+ "range": [
+ 107,
+ 118
+ ],
+ "raw": "h1 ",
+ "depth": 1
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 12,
+ "offset": 118
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 119
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 11
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 118,
+ 119
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Header",
+ "tagName": "h2",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "h2",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 5,
+ "offset": 123
+ },
+ "end": {
+ "line": 9,
+ "column": 7,
+ "offset": 125
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 4
+ },
+ "end": {
+ "line": 9,
+ "column": 6
+ }
+ },
+ "range": [
+ 123,
+ 125
+ ],
+ "raw": "h2"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 1,
+ "offset": 119
+ },
+ "end": {
+ "line": 9,
+ "column": 12,
+ "offset": 130
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 11
+ }
+ },
+ "range": [
+ 119,
+ 130
+ ],
+ "raw": "h2 ",
+ "depth": 2
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 12,
+ "offset": 130
+ },
+ "end": {
+ "line": 10,
+ "column": 1,
+ "offset": 131
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 11
+ },
+ "end": {
+ "line": 10,
+ "column": 0
+ }
+ },
+ "range": [
+ 130,
+ 131
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Header",
+ "tagName": "h3",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "h3",
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 5,
+ "offset": 135
+ },
+ "end": {
+ "line": 10,
+ "column": 7,
+ "offset": 137
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 4
+ },
+ "end": {
+ "line": 10,
+ "column": 6
+ }
+ },
+ "range": [
+ 135,
+ 137
+ ],
+ "raw": "h3"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 1,
+ "offset": 131
+ },
+ "end": {
+ "line": 10,
+ "column": 12,
+ "offset": 142
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 0
+ },
+ "end": {
+ "line": 10,
+ "column": 11
+ }
+ },
+ "range": [
+ 131,
+ 142
+ ],
+ "raw": "h3 ",
+ "depth": 3
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 10,
+ "column": 12,
+ "offset": 142
+ },
+ "end": {
+ "line": 11,
+ "column": 1,
+ "offset": 143
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 10,
+ "column": 11
+ },
+ "end": {
+ "line": 11,
+ "column": 0
+ }
+ },
+ "range": [
+ 142,
+ 143
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Header",
+ "tagName": "h4",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "h4",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 5,
+ "offset": 147
+ },
+ "end": {
+ "line": 11,
+ "column": 7,
+ "offset": 149
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 4
+ },
+ "end": {
+ "line": 11,
+ "column": 6
+ }
+ },
+ "range": [
+ 147,
+ 149
+ ],
+ "raw": "h4"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 1,
+ "offset": 143
+ },
+ "end": {
+ "line": 11,
+ "column": 12,
+ "offset": 154
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 0
+ },
+ "end": {
+ "line": 11,
+ "column": 11
+ }
+ },
+ "range": [
+ 143,
+ 154
+ ],
+ "raw": "h4 ",
+ "depth": 4
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 12,
+ "offset": 154
+ },
+ "end": {
+ "line": 12,
+ "column": 1,
+ "offset": 155
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 11
+ },
+ "end": {
+ "line": 12,
+ "column": 0
+ }
+ },
+ "range": [
+ 154,
+ 155
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Header",
+ "tagName": "h5",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "h5",
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 5,
+ "offset": 159
+ },
+ "end": {
+ "line": 12,
+ "column": 7,
+ "offset": 161
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 4
+ },
+ "end": {
+ "line": 12,
+ "column": 6
+ }
+ },
+ "range": [
+ 159,
+ 161
+ ],
+ "raw": "h5"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 1,
+ "offset": 155
+ },
+ "end": {
+ "line": 12,
+ "column": 12,
+ "offset": 166
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 0
+ },
+ "end": {
+ "line": 12,
+ "column": 11
+ }
+ },
+ "range": [
+ 155,
+ 166
+ ],
+ "raw": "h5 ",
+ "depth": 5
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 12,
+ "offset": 166
+ },
+ "end": {
+ "line": 13,
+ "column": 1,
+ "offset": 167
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 11
+ },
+ "end": {
+ "line": 13,
+ "column": 0
+ }
+ },
+ "range": [
+ 166,
+ 167
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Header",
+ "tagName": "h6",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "h6",
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 5,
+ "offset": 171
+ },
+ "end": {
+ "line": 13,
+ "column": 7,
+ "offset": 173
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 4
+ },
+ "end": {
+ "line": 13,
+ "column": 6
+ }
+ },
+ "range": [
+ 171,
+ 173
+ ],
+ "raw": "h6"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 1,
+ "offset": 167
+ },
+ "end": {
+ "line": 13,
+ "column": 12,
+ "offset": 178
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 0
+ },
+ "end": {
+ "line": 13,
+ "column": 11
+ }
+ },
+ "range": [
+ 167,
+ 178
+ ],
+ "raw": "h6 ",
+ "depth": 6
+ },
+ {
+ "type": "Str",
+ "value": "\n\n\n",
+ "position": {
+ "start": {
+ "line": 13,
+ "column": 12,
+ "offset": 178
+ },
+ "end": {
+ "line": 16,
+ "column": 1,
+ "offset": 195
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 11
+ },
+ "end": {
+ "line": 16,
+ "column": 0
+ }
+ },
+ "range": [
+ 178,
+ 195
+ ],
+ "raw": "\n\n\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 1,
+ "offset": 100
+ },
+ "end": {
+ "line": 16,
+ "column": 1,
+ "offset": 195
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 0
+ },
+ "end": {
+ "line": 16,
+ "column": 0
+ }
+ },
+ "range": [
+ 100,
+ 195
+ ],
+ "raw": "\nh1 \nh2 \nh3 \nh4 \nh5 \nh6 \n\n\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 16
+ },
+ "end": {
+ "line": 16,
+ "column": 1,
+ "offset": 195
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 16,
+ "column": 0
+ }
+ },
+ "range": [
+ 16,
+ 195
+ ],
+ "raw": "\n\n \n Title \n\n\nh1 \nh2 \nh3 \nh4 \nh5 \nh6 \n\n\n"
+ }
+ ],
+ "data": {
+ "quirksMode": false
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 16,
+ "column": 1,
+ "offset": 195
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 16,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 195
+ ],
+ "raw": "\n\n\n \n Title \n\n\nh1 \nh2 \nh3 \nh4 \nh5 \nh6 \n\n\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/h1-h7/result.html b/test/ast-test-case/h1-h7/result.html
new file mode 100644
index 0000000..6fedfd4
--- /dev/null
+++ b/test/ast-test-case/h1-h7/result.html
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/ast-test-case/issue-15/index.html b/test/ast-test-case/issue-15/index.html
new file mode 100644
index 0000000..f18021e
--- /dev/null
+++ b/test/ast-test-case/issue-15/index.html
@@ -0,0 +1,7 @@
+
+テスト
+
+こんにちは、世界。
+こんにちは、 世界。
+
+
diff --git a/test/ast-test-case/issue-15/output-tree.txt b/test/ast-test-case/issue-15/output-tree.txt
new file mode 100644
index 0000000..5551e05
--- /dev/null
+++ b/test/ast-test-case/issue-15/output-tree.txt
@@ -0,0 +1,19 @@
+Document(root)
+ html(element)
+ head(element)
+ title(element)
+ Str(text)
+ Str(text)
+ body(element)
+ Str(text)
+ Paragraph(element)
+ span(element)
+ Str(text)
+ Str(text)
+ Paragraph(element)
+ span(element)
+ span(element)
+ Str(text)
+ span(element)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/issue-15/output.json b/test/ast-test-case/issue-15/output.json
new file mode 100644
index 0000000..30f6ff5
--- /dev/null
+++ b/test/ast-test-case/issue-15/output.json
@@ -0,0 +1,623 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [
+ {
+ "type": "title",
+ "tagName": "title",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "テスト",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 14,
+ "offset": 20
+ },
+ "end": {
+ "line": 2,
+ "column": 17,
+ "offset": 23
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 13
+ },
+ "end": {
+ "line": 2,
+ "column": 16
+ }
+ },
+ "range": [
+ 20,
+ 23
+ ],
+ "raw": "テスト"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 7,
+ "offset": 13
+ },
+ "end": {
+ "line": 2,
+ "column": 25,
+ "offset": 31
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 24
+ }
+ },
+ "range": [
+ 13,
+ 31
+ ],
+ "raw": "テスト "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 7
+ },
+ "end": {
+ "line": 2,
+ "column": 32,
+ "offset": 38
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 31
+ }
+ },
+ "range": [
+ 7,
+ 38
+ ],
+ "raw": "テスト "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 32,
+ "offset": 38
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 39
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 31
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 38,
+ 39
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 7,
+ "offset": 45
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 46
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 6
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 45,
+ 46
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "span",
+ "tagName": "span",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "こんにちは、世界。",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 10,
+ "offset": 55
+ },
+ "end": {
+ "line": 4,
+ "column": 19,
+ "offset": 64
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 9
+ },
+ "end": {
+ "line": 4,
+ "column": 18
+ }
+ },
+ "range": [
+ 55,
+ 64
+ ],
+ "raw": "こんにちは、世界。"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 4,
+ "offset": 49
+ },
+ "end": {
+ "line": 4,
+ "column": 26,
+ "offset": 71
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 4,
+ "column": 25
+ }
+ },
+ "range": [
+ 49,
+ 71
+ ],
+ "raw": "こんにちは、世界。 "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1,
+ "offset": 46
+ },
+ "end": {
+ "line": 4,
+ "column": 30,
+ "offset": 75
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 29
+ }
+ },
+ "range": [
+ 46,
+ 75
+ ],
+ "raw": "こんにちは、世界。
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 30,
+ "offset": 75
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 76
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 29
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 75,
+ 76
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "span",
+ "tagName": "span",
+ "properties": {},
+ "children": [
+ {
+ "type": "span",
+ "tagName": "span",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "こんにちは、",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 16,
+ "offset": 91
+ },
+ "end": {
+ "line": 5,
+ "column": 22,
+ "offset": 97
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 15
+ },
+ "end": {
+ "line": 5,
+ "column": 21
+ }
+ },
+ "range": [
+ 91,
+ 97
+ ],
+ "raw": "こんにちは、"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 10,
+ "offset": 85
+ },
+ "end": {
+ "line": 5,
+ "column": 29,
+ "offset": 104
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 9
+ },
+ "end": {
+ "line": 5,
+ "column": 28
+ }
+ },
+ "range": [
+ 85,
+ 104
+ ],
+ "raw": "こんにちは、 "
+ },
+ {
+ "type": "span",
+ "tagName": "span",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "世界。",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 35,
+ "offset": 110
+ },
+ "end": {
+ "line": 5,
+ "column": 38,
+ "offset": 113
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 34
+ },
+ "end": {
+ "line": 5,
+ "column": 37
+ }
+ },
+ "range": [
+ 110,
+ 113
+ ],
+ "raw": "世界。"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 29,
+ "offset": 104
+ },
+ "end": {
+ "line": 5,
+ "column": 45,
+ "offset": 120
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 28
+ },
+ "end": {
+ "line": 5,
+ "column": 44
+ }
+ },
+ "range": [
+ 104,
+ 120
+ ],
+ "raw": "世界。 "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 4,
+ "offset": 79
+ },
+ "end": {
+ "line": 5,
+ "column": 52,
+ "offset": 127
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 51
+ }
+ },
+ "range": [
+ 79,
+ 127
+ ],
+ "raw": "こんにちは、 世界。 "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1,
+ "offset": 76
+ },
+ "end": {
+ "line": 5,
+ "column": 56,
+ "offset": 131
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 55
+ }
+ },
+ "range": [
+ 76,
+ 131
+ ],
+ "raw": "こんにちは、 世界。
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n\n",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 56,
+ "offset": 131
+ },
+ "end": {
+ "line": 8,
+ "column": 1,
+ "offset": 148
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 55
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 131,
+ 148
+ ],
+ "raw": "\n\n\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 39
+ },
+ "end": {
+ "line": 8,
+ "column": 1,
+ "offset": 148
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 39,
+ 148
+ ],
+ "raw": "\nこんにちは、世界。
\nこんにちは、 世界。
\n\n\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 1,
+ "offset": 148
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 148
+ ],
+ "raw": "\nテスト \n\nこんにちは、世界。
\nこんにちは、 世界。
\n\n\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 1,
+ "offset": 148
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 148
+ ],
+ "raw": "\nテスト \n\nこんにちは、世界。
\nこんにちは、 世界。
\n\n\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/list/index.json b/test/ast-test-case/list/index.json
deleted file mode 100644
index 0554505..0000000
--- a/test/ast-test-case/list/index.json
+++ /dev/null
@@ -1,380 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "children": [
- {
- "loc": {
- "end": {
- "column": 2,
- "line": 2
- },
- "start": {
- "column": 4,
- "line": 1
- }
- },
- "range": [
- 4,
- 7
- ],
- "raw": "\n ",
- "type": "Str",
- "value": "\n "
- },
- {
- "children": [
- {
- "loc": {
- "end": {
- "column": 16,
- "line": 2
- },
- "start": {
- "column": 6,
- "line": 2
- }
- },
- "range": [
- 11,
- 21
- ],
- "raw": "first item",
- "type": "Str",
- "value": "first item"
- }
- ],
- "loc": {
- "end": {
- "column": 21,
- "line": 2
- },
- "start": {
- "column": 2,
- "line": 2
- }
- },
- "properties": {},
- "range": [
- 7,
- 26
- ],
- "raw": "first item ",
- "tagName": "li",
- "type": "ListItem"
- },
- {
- "loc": {
- "end": {
- "column": 2,
- "line": 3
- },
- "start": {
- "column": 21,
- "line": 2
- }
- },
- "range": [
- 26,
- 29
- ],
- "raw": "\n ",
- "type": "Str",
- "value": "\n "
- },
- {
- "children": [
- {
- "loc": {
- "end": {
- "column": 17,
- "line": 3
- },
- "start": {
- "column": 6,
- "line": 3
- }
- },
- "range": [
- 33,
- 44
- ],
- "raw": "second item",
- "type": "Str",
- "value": "second item"
- }
- ],
- "loc": {
- "end": {
- "column": 22,
- "line": 3
- },
- "start": {
- "column": 2,
- "line": 3
- }
- },
- "properties": {},
- "range": [
- 29,
- 49
- ],
- "raw": "second item ",
- "tagName": "li",
- "type": "ListItem"
- },
- {
- "loc": {
- "end": {
- "column": 0,
- "line": 4
- },
- "start": {
- "column": 22,
- "line": 3
- }
- },
- "range": [
- 49,
- 50
- ],
- "raw": "\n",
- "type": "Str",
- "value": "\n"
- }
- ],
- "loc": {
- "end": {
- "column": 5,
- "line": 4
- },
- "start": {
- "column": 0,
- "line": 1
- }
- },
- "properties": {},
- "range": [
- 0,
- 55
- ],
- "raw": "\n first item \n second item \n ",
- "tagName": "ul",
- "type": "List"
- },
- {
- "loc": {
- "end": {
- "column": 0,
- "line": 5
- },
- "start": {
- "column": 5,
- "line": 4
- }
- },
- "range": [
- 55,
- 56
- ],
- "raw": "\n",
- "type": "Str",
- "value": "\n"
- },
- {
- "children": [
- {
- "loc": {
- "end": {
- "column": 2,
- "line": 6
- },
- "start": {
- "column": 4,
- "line": 5
- }
- },
- "range": [
- 60,
- 63
- ],
- "raw": "\n ",
- "type": "Str",
- "value": "\n "
- },
- {
- "children": [
- {
- "loc": {
- "end": {
- "column": 18,
- "line": 6
- },
- "start": {
- "column": 6,
- "line": 6
- }
- },
- "range": [
- 67,
- 79
- ],
- "raw": "# first item",
- "type": "Str",
- "value": "# first item"
- }
- ],
- "loc": {
- "end": {
- "column": 23,
- "line": 6
- },
- "start": {
- "column": 2,
- "line": 6
- }
- },
- "properties": {},
- "range": [
- 63,
- 84
- ],
- "raw": "# first item ",
- "tagName": "li",
- "type": "ListItem"
- },
- {
- "loc": {
- "end": {
- "column": 2,
- "line": 7
- },
- "start": {
- "column": 23,
- "line": 6
- }
- },
- "range": [
- 84,
- 87
- ],
- "raw": "\n ",
- "type": "Str",
- "value": "\n "
- },
- {
- "children": [
- {
- "loc": {
- "end": {
- "column": 19,
- "line": 7
- },
- "start": {
- "column": 6,
- "line": 7
- }
- },
- "range": [
- 91,
- 104
- ],
- "raw": "# second item",
- "type": "Str",
- "value": "# second item"
- }
- ],
- "loc": {
- "end": {
- "column": 24,
- "line": 7
- },
- "start": {
- "column": 2,
- "line": 7
- }
- },
- "properties": {},
- "range": [
- 87,
- 109
- ],
- "raw": "# second item ",
- "tagName": "li",
- "type": "ListItem"
- },
- {
- "loc": {
- "end": {
- "column": 0,
- "line": 8
- },
- "start": {
- "column": 24,
- "line": 7
- }
- },
- "range": [
- 109,
- 110
- ],
- "raw": "\n",
- "type": "Str",
- "value": "\n"
- }
- ],
- "loc": {
- "end": {
- "column": 5,
- "line": 8
- },
- "start": {
- "column": 0,
- "line": 5
- }
- },
- "properties": {},
- "range": [
- 56,
- 115
- ],
- "raw": "\n # first item \n # second item \n ",
- "tagName": "ol",
- "type": "List"
- },
- {
- "loc": {
- "end": {
- "column": 0,
- "line": 9
- },
- "start": {
- "column": 5,
- "line": 8
- }
- },
- "range": [
- 115,
- 116
- ],
- "raw": "\n",
- "type": "Str",
- "value": "\n"
- }
- ],
- "loc": {
- "end": {
- "column": 0,
- "line": 9
- },
- "start": {
- "column": 0,
- "line": 1
- }
- },
- "range": [
- 0,
- 116
- ],
- "raw": "\n first item \n second item \n \n\n # first item \n # second item \n \n"
-}
diff --git a/test/ast-test-case/list/output-tree.txt b/test/ast-test-case/list/output-tree.txt
new file mode 100644
index 0000000..3bf6e57
--- /dev/null
+++ b/test/ast-test-case/list/output-tree.txt
@@ -0,0 +1,22 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ List(element)
+ Str(text)
+ ListItem(element)
+ Str(text)
+ Str(text)
+ ListItem(element)
+ Str(text)
+ Str(text)
+ Str(text)
+ List(element)
+ Str(text)
+ ListItem(element)
+ Str(text)
+ Str(text)
+ ListItem(element)
+ Str(text)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/list/output.json b/test/ast-test-case/list/output.json
new file mode 100644
index 0000000..494491c
--- /dev/null
+++ b/test/ast-test-case/list/output.json
@@ -0,0 +1,678 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 116
+ ],
+ "raw": "\n first item \n second item \n \n\n # first item \n # second item \n \n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "List",
+ "tagName": "ul",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 5,
+ "offset": 4
+ },
+ "end": {
+ "line": 2,
+ "column": 3,
+ "offset": 7
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 4
+ },
+ "end": {
+ "line": 2,
+ "column": 2
+ }
+ },
+ "range": [
+ 4,
+ 7
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "ListItem",
+ "tagName": "li",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "first item",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 7,
+ "offset": 11
+ },
+ "end": {
+ "line": 2,
+ "column": 17,
+ "offset": 21
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 6
+ },
+ "end": {
+ "line": 2,
+ "column": 16
+ }
+ },
+ "range": [
+ 11,
+ 21
+ ],
+ "raw": "first item"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 3,
+ "offset": 7
+ },
+ "end": {
+ "line": 2,
+ "column": 22,
+ "offset": 26
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 2
+ },
+ "end": {
+ "line": 2,
+ "column": 21
+ }
+ },
+ "range": [
+ 7,
+ 26
+ ],
+ "raw": "first item "
+ },
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 22,
+ "offset": 26
+ },
+ "end": {
+ "line": 3,
+ "column": 3,
+ "offset": 29
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 21
+ },
+ "end": {
+ "line": 3,
+ "column": 2
+ }
+ },
+ "range": [
+ 26,
+ 29
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "ListItem",
+ "tagName": "li",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "second item",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 7,
+ "offset": 33
+ },
+ "end": {
+ "line": 3,
+ "column": 18,
+ "offset": 44
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 6
+ },
+ "end": {
+ "line": 3,
+ "column": 17
+ }
+ },
+ "range": [
+ 33,
+ 44
+ ],
+ "raw": "second item"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 3,
+ "offset": 29
+ },
+ "end": {
+ "line": 3,
+ "column": 23,
+ "offset": 49
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 3,
+ "column": 22
+ }
+ },
+ "range": [
+ 29,
+ 49
+ ],
+ "raw": "second item "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 23,
+ "offset": 49
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 50
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 22
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 49,
+ 50
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 6,
+ "offset": 55
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 5
+ }
+ },
+ "range": [
+ 0,
+ 55
+ ],
+ "raw": "\n first item \n second item \n ",
+ "ordered": false
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 6,
+ "offset": 55
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 56
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 5
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 55,
+ 56
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "List",
+ "tagName": "ol",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 5,
+ "offset": 60
+ },
+ "end": {
+ "line": 6,
+ "column": 3,
+ "offset": 63
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 6,
+ "column": 2
+ }
+ },
+ "range": [
+ 60,
+ 63
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "ListItem",
+ "tagName": "li",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "# first item",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 7,
+ "offset": 67
+ },
+ "end": {
+ "line": 6,
+ "column": 19,
+ "offset": 79
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 6
+ },
+ "end": {
+ "line": 6,
+ "column": 18
+ }
+ },
+ "range": [
+ 67,
+ 79
+ ],
+ "raw": "# first item"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 3,
+ "offset": 63
+ },
+ "end": {
+ "line": 6,
+ "column": 24,
+ "offset": 84
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 2
+ },
+ "end": {
+ "line": 6,
+ "column": 23
+ }
+ },
+ "range": [
+ 63,
+ 84
+ ],
+ "raw": "# first item "
+ },
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 24,
+ "offset": 84
+ },
+ "end": {
+ "line": 7,
+ "column": 3,
+ "offset": 87
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 23
+ },
+ "end": {
+ "line": 7,
+ "column": 2
+ }
+ },
+ "range": [
+ 84,
+ 87
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "ListItem",
+ "tagName": "li",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "# second item",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 7,
+ "offset": 91
+ },
+ "end": {
+ "line": 7,
+ "column": 20,
+ "offset": 104
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 6
+ },
+ "end": {
+ "line": 7,
+ "column": 19
+ }
+ },
+ "range": [
+ 91,
+ 104
+ ],
+ "raw": "# second item"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 3,
+ "offset": 87
+ },
+ "end": {
+ "line": 7,
+ "column": 25,
+ "offset": 109
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 7,
+ "column": 24
+ }
+ },
+ "range": [
+ 87,
+ 109
+ ],
+ "raw": "# second item "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 25,
+ "offset": 109
+ },
+ "end": {
+ "line": 8,
+ "column": 1,
+ "offset": 110
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 24
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 109,
+ 110
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1,
+ "offset": 56
+ },
+ "end": {
+ "line": 8,
+ "column": 6,
+ "offset": 115
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 8,
+ "column": 5
+ }
+ },
+ "range": [
+ 56,
+ 115
+ ],
+ "raw": "\n # first item \n # second item \n ",
+ "ordered": true
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 6,
+ "offset": 115
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 116
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 5
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 115,
+ 116
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 116
+ ],
+ "raw": "\n first item \n second item \n \n\n # first item \n # second item \n \n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 116
+ ],
+ "raw": "\n first item \n second item \n \n\n # first item \n # second item \n \n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 1,
+ "offset": 116
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 9,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 116
+ ],
+ "raw": "\n first item \n second item \n \n\n # first item \n # second item \n \n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/processing-instruction/index.json b/test/ast-test-case/processing-instruction/index.json
deleted file mode 100644
index 3b8f460..0000000
--- a/test/ast-test-case/processing-instruction/index.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "?xml",
- "value": "?xml version=\"1.0\" encoding=\"UTF-8\"?",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 38
- }
- },
- "range": [
- 0,
- 38
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 38
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 38,
- 39
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 0,
- 39
- ],
- "raw": "\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/processing-instruction/output-tree.txt b/test/ast-test-case/processing-instruction/output-tree.txt
new file mode 100644
index 0000000..8aa63f1
--- /dev/null
+++ b/test/ast-test-case/processing-instruction/output-tree.txt
@@ -0,0 +1,5 @@
+Document(root)
+ Comment(comment)
+ html(element)
+ head(element)
+ body(element)
diff --git a/test/ast-test-case/processing-instruction/output.json b/test/ast-test-case/processing-instruction/output.json
new file mode 100644
index 0000000..a4600c7
--- /dev/null
+++ b/test/ast-test-case/processing-instruction/output.json
@@ -0,0 +1,130 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "Comment",
+ "value": "?xml version=\"1.0\" encoding=\"UTF-8\"?",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 39,
+ "offset": 38
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 38
+ }
+ },
+ "range": [
+ 0,
+ 38
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 39
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 39
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 39
+ ],
+ "raw": "\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 39
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 39
+ ],
+ "raw": "\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/quirksmode-off/index.json b/test/ast-test-case/quirksmode-off/index.json
deleted file mode 100644
index 054a230..0000000
--- a/test/ast-test-case/quirksmode-off/index.json
+++ /dev/null
@@ -1,261 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "UNKNOWN",
- "name": "!doctype",
- "value": "!doctype html",
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 15
- }
- },
- "range": [
- 0,
- 15
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 15
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 15,
- 16
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "html",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 2,
- "column": 6
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 22,
- 23
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "title",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "Not-Quirksmode",
- "loc": {
- "start": {
- "line": 3,
- "column": 7
- },
- "end": {
- "line": 3,
- "column": 21
- }
- },
- "range": [
- 30,
- 44
- ],
- "raw": "Not-Quirksmode"
- }
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 29
- }
- },
- "range": [
- 23,
- 52
- ],
- "raw": "Not-Quirksmode "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 29
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 52,
- 53
- ],
- "raw": "\n"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "Outside of quirksmode, the following table is outside this paragraph:\n",
- "loc": {
- "start": {
- "line": 4,
- "column": 3
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 56,
- 126
- ],
- "raw": "Outside of quirksmode, the following table is outside this paragraph:\n"
- },
- {
- "type": "Html",
- "tagName": "table",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "!",
- "loc": {
- "start": {
- "line": 5,
- "column": 7
- },
- "end": {
- "line": 5,
- "column": 8
- }
- },
- "range": [
- 133,
- 134
- ],
- "raw": "!"
- }
- ],
- "loc": {
- "start": {
- "line": 5,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 16
- }
- },
- "range": [
- 126,
- 142
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 5,
- "column": 16
- },
- "end": {
- "line": 6,
- "column": 0
- }
- },
- "range": [
- 142,
- 143
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "range": [
- 53,
- 144
- ],
- "raw": "Outside of quirksmode, the following table is outside this paragraph:\n
\n"
- }
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 1
- }
- },
- "range": [
- 16,
- 144
- ],
- "raw": "\nNot-Quirksmode \nOutside of quirksmode, the following table is outside this paragraph:\n
\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 6,
- "column": 0
- }
- },
- "range": [
- 0,
- 143
- ],
- "raw": "\n\nNot-Quirksmode \nOutside of quirksmode, the following table is outside this paragraph:\n
\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/quirksmode-off/output-tree.txt b/test/ast-test-case/quirksmode-off/output-tree.txt
new file mode 100644
index 0000000..da088a4
--- /dev/null
+++ b/test/ast-test-case/quirksmode-off/output-tree.txt
@@ -0,0 +1,13 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ title(element)
+ Str(text)
+ Str(text)
+ body(element)
+ Paragraph(element)
+ Str(text)
+ Str(text)
+ table(element)
+ Str(text)
diff --git a/test/ast-test-case/quirksmode-off/output.json b/test/ast-test-case/quirksmode-off/output.json
new file mode 100644
index 0000000..e430272
--- /dev/null
+++ b/test/ast-test-case/quirksmode-off/output.json
@@ -0,0 +1,399 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 16,
+ "offset": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 15
+ }
+ },
+ "range": [
+ 0,
+ 15
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [
+ {
+ "type": "title",
+ "tagName": "title",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Not-Quirksmode",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 8,
+ "offset": 30
+ },
+ "end": {
+ "line": 3,
+ "column": 22,
+ "offset": 44
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 7
+ },
+ "end": {
+ "line": 3,
+ "column": 21
+ }
+ },
+ "range": [
+ 30,
+ 44
+ ],
+ "raw": "Not-Quirksmode"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 23
+ },
+ "end": {
+ "line": 3,
+ "column": 30,
+ "offset": 52
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 29
+ }
+ },
+ "range": [
+ 23,
+ 52
+ ],
+ "raw": "Not-Quirksmode "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 30,
+ "offset": 52
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 53
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 29
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 52,
+ 53
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 16,
+ 143
+ ],
+ "raw": "\nNot-Quirksmode \nOutside of quirksmode, the following table is outside this paragraph:\n
\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Outside of quirksmode, the following table is outside this paragraph:\n",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 4,
+ "offset": 56
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 126
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 3
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 56,
+ 126
+ ],
+ "raw": "Outside of quirksmode, the following table is outside this paragraph:\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1,
+ "offset": 53
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 126
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 53,
+ 126
+ ],
+ "raw": "Outside of quirksmode, the following table is outside this paragraph:\n"
+ },
+ {
+ "type": "Str",
+ "value": "!",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 8,
+ "offset": 133
+ },
+ "end": {
+ "line": 5,
+ "column": 9,
+ "offset": 134
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 7
+ },
+ "end": {
+ "line": 5,
+ "column": 8
+ }
+ },
+ "range": [
+ 133,
+ 134
+ ],
+ "raw": "!"
+ },
+ {
+ "type": "table",
+ "tagName": "table",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 1,
+ "offset": 126
+ },
+ "end": {
+ "line": 5,
+ "column": 17,
+ "offset": 142
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 16
+ }
+ },
+ "range": [
+ 126,
+ 142
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 17,
+ "offset": 142
+ },
+ "end": {
+ "line": 6,
+ "column": 1,
+ "offset": 143
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 16
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 142,
+ 143
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 16,
+ 143
+ ],
+ "raw": "\nNot-Quirksmode \nOutside of quirksmode, the following table is outside this paragraph:\n
\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 16
+ },
+ "end": {
+ "line": 6,
+ "column": 1,
+ "offset": 143
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 16,
+ 143
+ ],
+ "raw": "\nNot-Quirksmode \nOutside of quirksmode, the following table is outside this paragraph:\n
\n"
+ }
+ ],
+ "data": {
+ "quirksMode": false
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 1,
+ "offset": 143
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 143
+ ],
+ "raw": "\n\nNot-Quirksmode \nOutside of quirksmode, the following table is outside this paragraph:\n
\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/quirksmode-on/index.json b/test/ast-test-case/quirksmode-on/index.json
deleted file mode 100644
index 51b77d8..0000000
--- a/test/ast-test-case/quirksmode-on/index.json
+++ /dev/null
@@ -1,222 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Html",
- "tagName": "html",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 6
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 6,
- 7
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "title",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "Quirksmode",
- "loc": {
- "start": {
- "line": 2,
- "column": 7
- },
- "end": {
- "line": 2,
- "column": 17
- }
- },
- "range": [
- 14,
- 24
- ],
- "raw": "Quirksmode"
- }
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 2,
- "column": 25
- }
- },
- "range": [
- 7,
- 32
- ],
- "raw": "Quirksmode "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 2,
- "column": 25
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 32,
- 33
- ],
- "raw": "\n"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "In quirksmode, the following table is in this paragraph:\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 3
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 36,
- 93
- ],
- "raw": "In quirksmode, the following table is in this paragraph:\n"
- },
- {
- "type": "Html",
- "tagName": "table",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "!",
- "loc": {
- "start": {
- "line": 4,
- "column": 7
- },
- "end": {
- "line": 4,
- "column": 8
- }
- },
- "range": [
- 100,
- 101
- ],
- "raw": "!"
- }
- ],
- "loc": {
- "start": {
- "line": 4,
- "column": 0
- },
- "end": {
- "line": 4,
- "column": 16
- }
- },
- "range": [
- 93,
- 109
- ],
- "raw": ""
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 4,
- "column": 16
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 109,
- 110
- ],
- "raw": "\n"
- }
- ],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 33,
- 111
- ],
- "raw": "In quirksmode, the following table is in this paragraph:\n
\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 0,
- 111
- ],
- "raw": "\nQuirksmode \nIn quirksmode, the following table is in this paragraph:\n
\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 0,
- 110
- ],
- "raw": "\nQuirksmode \nIn quirksmode, the following table is in this paragraph:\n
\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/quirksmode-on/output-tree.txt b/test/ast-test-case/quirksmode-on/output-tree.txt
new file mode 100644
index 0000000..b199be6
--- /dev/null
+++ b/test/ast-test-case/quirksmode-on/output-tree.txt
@@ -0,0 +1,11 @@
+Document(root)
+ html(element)
+ head(element)
+ title(element)
+ Str(text)
+ Str(text)
+ body(element)
+ Paragraph(element)
+ Str(text)
+ table(element)
+ Str(text)
diff --git a/test/ast-test-case/quirksmode-on/output.json b/test/ast-test-case/quirksmode-on/output.json
new file mode 100644
index 0000000..8633e27
--- /dev/null
+++ b/test/ast-test-case/quirksmode-on/output.json
@@ -0,0 +1,338 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [
+ {
+ "type": "title",
+ "tagName": "title",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Quirksmode",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 8,
+ "offset": 14
+ },
+ "end": {
+ "line": 2,
+ "column": 18,
+ "offset": 24
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 7
+ },
+ "end": {
+ "line": 2,
+ "column": 17
+ }
+ },
+ "range": [
+ 14,
+ 24
+ ],
+ "raw": "Quirksmode"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 7
+ },
+ "end": {
+ "line": 2,
+ "column": 26,
+ "offset": 32
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 25
+ }
+ },
+ "range": [
+ 7,
+ 32
+ ],
+ "raw": "Quirksmode "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 26,
+ "offset": 32
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 25
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 32,
+ 33
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 110
+ ],
+ "raw": "\nQuirksmode \nIn quirksmode, the following table is in this paragraph:\n
\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "In quirksmode, the following table is in this paragraph:\n!",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 4,
+ "offset": 36
+ },
+ "end": {
+ "line": 4,
+ "column": 9,
+ "offset": 101
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 3
+ },
+ "end": {
+ "line": 4,
+ "column": 8
+ }
+ },
+ "range": [
+ 36,
+ 101
+ ],
+ "raw": "In quirksmode, the following table is in this paragraph:\n!"
+ },
+ {
+ "type": "table",
+ "tagName": "table",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 1,
+ "offset": 93
+ },
+ "end": {
+ "line": 4,
+ "column": 17,
+ "offset": 109
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 0
+ },
+ "end": {
+ "line": 4,
+ "column": 16
+ }
+ },
+ "range": [
+ 93,
+ 109
+ ],
+ "raw": ""
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 17,
+ "offset": 109
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 110
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 16
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 109,
+ 110
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 33
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 110
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 33,
+ 110
+ ],
+ "raw": "In quirksmode, the following table is in this paragraph:\n
\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 110
+ ],
+ "raw": "\nQuirksmode \nIn quirksmode, the following table is in this paragraph:\n
\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 110
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 110
+ ],
+ "raw": "\nQuirksmode \nIn quirksmode, the following table is in this paragraph:\n
\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 110
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 110
+ ],
+ "raw": "\nQuirksmode \nIn quirksmode, the following table is in this paragraph:\n
\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/test/index.html b/test/ast-test-case/test/index.html
new file mode 100644
index 0000000..5e8e459
--- /dev/null
+++ b/test/ast-test-case/test/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+ Title
+
+
+
+
+ TODO: This is TODO
+
+
+
+
\ No newline at end of file
diff --git a/test/ast-test-case/test/output-tree.txt b/test/ast-test-case/test/output-tree.txt
new file mode 100644
index 0000000..c9cb3cb
--- /dev/null
+++ b/test/ast-test-case/test/output-tree.txt
@@ -0,0 +1,19 @@
+Document(root)
+ doctype(doctype)
+ html(element)
+ head(element)
+ Str(text)
+ meta(element)
+ Str(text)
+ title(element)
+ Str(text)
+ Str(text)
+ Str(text)
+ body(element)
+ Str(text)
+ div(element)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ Str(text)
+ Str(text)
diff --git a/test/ast-test-case/test/output.json b/test/ast-test-case/test/output.json
new file mode 100644
index 0000000..db95e7f
--- /dev/null
+++ b/test/ast-test-case/test/output.json
@@ -0,0 +1,616 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "doctype",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 16,
+ "offset": 15
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 15
+ }
+ },
+ "range": [
+ 0,
+ 15
+ ],
+ "raw": ""
+ },
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {
+ "lang": "en"
+ },
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 7,
+ "offset": 39
+ },
+ "end": {
+ "line": 4,
+ "column": 5,
+ "offset": 44
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 6
+ },
+ "end": {
+ "line": 4,
+ "column": 4
+ }
+ },
+ "range": [
+ 39,
+ 44
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "meta",
+ "tagName": "meta",
+ "properties": {
+ "charSet": "UTF-8"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 5,
+ "offset": 44
+ },
+ "end": {
+ "line": 4,
+ "column": 27,
+ "offset": 66
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 4
+ },
+ "end": {
+ "line": 4,
+ "column": 26
+ }
+ },
+ "range": [
+ 44,
+ 66
+ ],
+ "raw": " "
+ },
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 27,
+ "offset": 66
+ },
+ "end": {
+ "line": 5,
+ "column": 5,
+ "offset": 71
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 26
+ },
+ "end": {
+ "line": 5,
+ "column": 4
+ }
+ },
+ "range": [
+ 66,
+ 71
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "title",
+ "tagName": "title",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "Title",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 12,
+ "offset": 78
+ },
+ "end": {
+ "line": 5,
+ "column": 17,
+ "offset": 83
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 11
+ },
+ "end": {
+ "line": 5,
+ "column": 16
+ }
+ },
+ "range": [
+ 78,
+ 83
+ ],
+ "raw": "Title"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 5,
+ "offset": 71
+ },
+ "end": {
+ "line": 5,
+ "column": 25,
+ "offset": 91
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 4
+ },
+ "end": {
+ "line": 5,
+ "column": 24
+ }
+ },
+ "range": [
+ 71,
+ 91
+ ],
+ "raw": "Title "
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 5,
+ "column": 25,
+ "offset": 91
+ },
+ "end": {
+ "line": 6,
+ "column": 1,
+ "offset": 92
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 24
+ },
+ "end": {
+ "line": 6,
+ "column": 0
+ }
+ },
+ "range": [
+ 91,
+ 92
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 33
+ },
+ "end": {
+ "line": 6,
+ "column": 8,
+ "offset": 99
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 6,
+ "column": 7
+ }
+ },
+ "range": [
+ 33,
+ 99
+ ],
+ "raw": "\n \n Title \n"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 6,
+ "column": 8,
+ "offset": 99
+ },
+ "end": {
+ "line": 7,
+ "column": 1,
+ "offset": 100
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 7
+ },
+ "end": {
+ "line": 7,
+ "column": 0
+ }
+ },
+ "range": [
+ 99,
+ 100
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 7,
+ "offset": 106
+ },
+ "end": {
+ "line": 8,
+ "column": 1,
+ "offset": 107
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 6
+ },
+ "end": {
+ "line": 8,
+ "column": 0
+ }
+ },
+ "range": [
+ 106,
+ 107
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n ",
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 6,
+ "offset": 112
+ },
+ "end": {
+ "line": 9,
+ "column": 5,
+ "offset": 117
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 5
+ },
+ "end": {
+ "line": 9,
+ "column": 4
+ }
+ },
+ "range": [
+ 112,
+ 117
+ ],
+ "raw": "\n "
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n TODO: This is TODO\n ",
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 8,
+ "offset": 120
+ },
+ "end": {
+ "line": 11,
+ "column": 5,
+ "offset": 152
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 7
+ },
+ "end": {
+ "line": 11,
+ "column": 4
+ }
+ },
+ "range": [
+ 120,
+ 152
+ ],
+ "raw": "\n TODO: This is TODO\n "
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 9,
+ "column": 5,
+ "offset": 117
+ },
+ "end": {
+ "line": 11,
+ "column": 9,
+ "offset": 156
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 4
+ },
+ "end": {
+ "line": 11,
+ "column": 8
+ }
+ },
+ "range": [
+ 117,
+ 156
+ ],
+ "raw": "\n TODO: This is TODO\n
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 11,
+ "column": 9,
+ "offset": 156
+ },
+ "end": {
+ "line": 12,
+ "column": 1,
+ "offset": 157
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 8
+ },
+ "end": {
+ "line": 12,
+ "column": 0
+ }
+ },
+ "range": [
+ 156,
+ 157
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 8,
+ "column": 1,
+ "offset": 107
+ },
+ "end": {
+ "line": 12,
+ "column": 7,
+ "offset": 163
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 8,
+ "column": 0
+ },
+ "end": {
+ "line": 12,
+ "column": 6
+ }
+ },
+ "range": [
+ 107,
+ 163
+ ],
+ "raw": "\n
\n TODO: This is TODO\n
\n
"
+ },
+ {
+ "type": "Str",
+ "value": "\n\n",
+ "position": {
+ "start": {
+ "line": 12,
+ "column": 7,
+ "offset": 163
+ },
+ "end": {
+ "line": 14,
+ "column": 1,
+ "offset": 172
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 12,
+ "column": 6
+ },
+ "end": {
+ "line": 14,
+ "column": 0
+ }
+ },
+ "range": [
+ 163,
+ 172
+ ],
+ "raw": "\n\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 7,
+ "column": 1,
+ "offset": 100
+ },
+ "end": {
+ "line": 14,
+ "column": 8,
+ "offset": 179
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 0
+ },
+ "end": {
+ "line": 14,
+ "column": 7
+ }
+ },
+ "range": [
+ 100,
+ 179
+ ],
+ "raw": "\n\n
\n TODO: This is TODO\n
\n
\n\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 16
+ },
+ "end": {
+ "line": 14,
+ "column": 8,
+ "offset": 179
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 14,
+ "column": 7
+ }
+ },
+ "range": [
+ 16,
+ 179
+ ],
+ "raw": "\n\n \n Title \n\n\n\n
\n TODO: This is TODO\n
\n
\n\n"
+ }
+ ],
+ "data": {
+ "quirksMode": false
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 14,
+ "column": 8,
+ "offset": 179
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 14,
+ "column": 7
+ }
+ },
+ "range": [
+ 0,
+ 179
+ ],
+ "raw": "\n\n\n \n Title \n\n\n\n
\n TODO: This is TODO\n
\n
\n\n"
+}
\ No newline at end of file
diff --git a/test/ast-test-case/verbose/index.json b/test/ast-test-case/verbose/index.json
deleted file mode 100644
index ba756ba..0000000
--- a/test/ast-test-case/verbose/index.json
+++ /dev/null
@@ -1,184 +0,0 @@
-{
- "type": "Document",
- "children": [
- {
- "type": "Image",
- "tagName": "img",
- "properties": {
- "src": "#",
- "type": "UNKNOWN"
- },
- "children": [],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 1,
- "column": 17
- }
- },
- "range": [
- 0,
- 17
- ],
- "raw": " "
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 1,
- "column": 17
- },
- "end": {
- "line": 2,
- "column": 0
- }
- },
- "range": [
- 17,
- 18
- ],
- "raw": "\n"
- },
- {
- "type": "Paragraph",
- "tagName": "p",
- "properties": {},
- "children": [
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 2,
- "column": 3
- },
- "end": {
- "line": 3,
- "column": 0
- }
- },
- "range": [
- 21,
- 22
- ],
- "raw": "\n"
- },
- {
- "type": "Html",
- "tagName": "div",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 3,
- "column": 0
- },
- "end": {
- "line": 3,
- "column": 11
- }
- },
- "range": [
- 22,
- 33
- ],
- "raw": "
"
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 3,
- "column": 11
- },
- "end": {
- "line": 4,
- "column": 0
- }
- },
- "range": [
- 33,
- 34
- ],
- "raw": "\n"
- },
- {
- "type": "break",
- "tagName": "br",
- "properties": {},
- "children": [],
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 4,
- "column": 5
- }
- },
- "range": [
- 38,
- 39
- ],
- "raw": ">"
- },
- {
- "type": "Str",
- "value": "\n",
- "loc": {
- "start": {
- "line": 4,
- "column": 4
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 38,
- 40
- ],
- "raw": ">\n"
- }
- ],
- "loc": {
- "start": {
- "line": 2,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 1
- }
- },
- "range": [
- 18,
- 41
- ],
- "raw": "\n
\n\n"
- }
- ],
- "loc": {
- "start": {
- "line": 1,
- "column": 0
- },
- "end": {
- "line": 5,
- "column": 0
- }
- },
- "range": [
- 0,
- 40
- ],
- "raw": " \n\n
\n\n"
-}
\ No newline at end of file
diff --git a/test/ast-test-case/verbose/output-tree.txt b/test/ast-test-case/verbose/output-tree.txt
new file mode 100644
index 0000000..c7e0599
--- /dev/null
+++ b/test/ast-test-case/verbose/output-tree.txt
@@ -0,0 +1,12 @@
+Document(root)
+ html(element)
+ head(element)
+ body(element)
+ Image(element)
+ Str(text)
+ Paragraph(element)
+ Str(text)
+ div(element)
+ Str(text)
+ break(element)
+ Str(text)
diff --git a/test/ast-test-case/verbose/output.json b/test/ast-test-case/verbose/output.json
new file mode 100644
index 0000000..3caf833
--- /dev/null
+++ b/test/ast-test-case/verbose/output.json
@@ -0,0 +1,348 @@
+{
+ "type": "Document",
+ "children": [
+ {
+ "type": "html",
+ "tagName": "html",
+ "properties": {},
+ "children": [
+ {
+ "type": "head",
+ "tagName": "head",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 40
+ ],
+ "raw": " \n\n
\n\n"
+ },
+ {
+ "type": "body",
+ "tagName": "body",
+ "properties": {},
+ "children": [
+ {
+ "type": "Image",
+ "tagName": "img",
+ "properties": {
+ "src": "#"
+ },
+ "children": [],
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 18,
+ "offset": 17
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 17
+ }
+ },
+ "range": [
+ 0,
+ 17
+ ],
+ "raw": " ",
+ "url": "#"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 18,
+ "offset": 17
+ },
+ "end": {
+ "line": 2,
+ "column": 1,
+ "offset": 18
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 17
+ },
+ "end": {
+ "line": 2,
+ "column": 0
+ }
+ },
+ "range": [
+ 17,
+ 18
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "Paragraph",
+ "tagName": "p",
+ "properties": {},
+ "children": [
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 4,
+ "offset": 21
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 3
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 21,
+ 22
+ ],
+ "raw": "\n"
+ }
+ ],
+ "position": {
+ "start": {
+ "line": 2,
+ "column": 1,
+ "offset": 18
+ },
+ "end": {
+ "line": 3,
+ "column": 1,
+ "offset": 22
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 0
+ }
+ },
+ "range": [
+ 18,
+ 22
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "div",
+ "tagName": "div",
+ "properties": {},
+ "children": [],
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 1,
+ "offset": 22
+ },
+ "end": {
+ "line": 3,
+ "column": 12,
+ "offset": 33
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 11
+ }
+ },
+ "range": [
+ 22,
+ 33
+ ],
+ "raw": "
"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 3,
+ "column": 12,
+ "offset": 33
+ },
+ "end": {
+ "line": 4,
+ "column": 1,
+ "offset": 34
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 11
+ },
+ "end": {
+ "line": 4,
+ "column": 0
+ }
+ },
+ "range": [
+ 33,
+ 34
+ ],
+ "raw": "\n"
+ },
+ {
+ "type": "break",
+ "tagName": "br",
+ "properties": {},
+ "children": [],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 40
+ ],
+ "raw": " \n\n
\n\n"
+ },
+ {
+ "type": "Str",
+ "value": "\n",
+ "position": {
+ "start": {
+ "line": 4,
+ "column": 6,
+ "offset": 39
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 40
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 5
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 39,
+ 40
+ ],
+ "raw": "\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 40
+ ],
+ "raw": " \n\n
\n\n"
+ }
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 40
+ ],
+ "raw": " \n\n
\n\n"
+ }
+ ],
+ "data": {
+ "quirksMode": true
+ },
+ "position": {
+ "start": {
+ "line": 1,
+ "column": 1,
+ "offset": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 1,
+ "offset": 40
+ }
+ },
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 5,
+ "column": 0
+ }
+ },
+ "range": [
+ 0,
+ 40
+ ],
+ "raw": " \n\n
\n\n"
+}
\ No newline at end of file
diff --git a/test/html-to-ast-test.js b/test/html-to-ast-test.js
deleted file mode 100644
index e0ffc2b..0000000
--- a/test/html-to-ast-test.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// LICENSE : MIT
-"use strict";
-const assert = require("assert");
-const fs = require("fs");
-const path = require("path");
-const test = require("@textlint/ast-tester").test;
-const glob = require("glob");
-import {parse} from "../src/html-to-ast";
-describe("html-to-ast-test", function () {
- it("should return AST that passed isTxtAST", function () {
- const fixture = fs.readFileSync(path.join(__dirname, "fixtures/wikipedia.html"), "utf-8");
- const AST = parse(fixture);
- test(AST);
- });
- // test-case is come from https://github.com/wooorm/rehype
- // MIT
- context("test-case", () => {
- const htmls = glob.sync(__dirname + "/ast-test-case/*/index.html");
- const directories = htmls.map(filePath => {
- return path.dirname(filePath);
- });
- const ignoreTestCase = /element-broken-close/;
- directories.forEach(directory => {
- if (ignoreTestCase.test(directory)) {
- xit(`Skip ${path.basename(directory)}`, () => {
- });
- return;
- }
- it(`should parse to ast ${path.basename(directory)}`, () => {
- const content = fs.readFileSync(path.join(directory, "index.html"), "utf-8");
- const expected = JSON.parse(fs.readFileSync(path.join(directory, "index.json"), "utf-8"));
- const AST = parse(content);
- test(AST);
- assert.deepEqual(JSON.parse(JSON.stringify(AST)), expected);
- });
- });
- });
-});
\ No newline at end of file
diff --git a/test/html-to-ast-test.ts b/test/html-to-ast-test.ts
new file mode 100644
index 0000000..871b0f8
--- /dev/null
+++ b/test/html-to-ast-test.ts
@@ -0,0 +1,82 @@
+// LICENSE : MIT
+"use strict";
+import assert from "assert";
+import fs from "fs";
+import path from "path";
+import { test } from "@textlint/ast-tester";
+import { parse } from "../src/html-to-ast.js";
+import { fileURLToPath } from "url";
+import type { TxtParentNode } from "@textlint/ast-node-types";
+
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+const fixturesDir = path.join(__dirname, "ast-test-case");
+
+const dumpTreeView = (node: TxtParentNode, depth = 0) => {
+ let output = "";
+ const indent = " ".repeat(depth * 2);
+ if (!node.type) {
+ throw new Error(`Unknown type: ${node._debug_type}`);
+ }
+ output += `${indent}${node.type}(${node._debug_type})\n`;
+ if (node.children) {
+ node.children.forEach(child => {
+ output += dumpTreeView(child as TxtParentNode, depth + 1);
+ });
+ }
+ return output;
+}
+const assertUndefinedType = (node: TxtParentNode) => {
+ if (!("type" in node)) {
+ console.error(node);
+ // @ts-ignore
+ throw new Error(`Unknown type: ${node._debug_type}`);
+ }
+ if (node.children) {
+ node.children.forEach(child => {
+ assertUndefinedType(child as TxtParentNode);
+ });
+ }
+}
+// test-case is come from https://github.com/wooorm/rehype
+describe("Snapshot testing", () => {
+ fs.readdirSync(fixturesDir)
+ .map(caseName => {
+ const normalizedTestName = caseName.replace(/-/g, " ");
+ it(`Test ${normalizedTestName}`, async function () {
+ const fixtureDir = path.join(fixturesDir, caseName);
+ const actualFilePath = path.join(fixtureDir, "index.html");
+ const actualContent = fs.readFileSync(actualFilePath, "utf-8");
+ const actual = parse(actualContent, {
+ debug: true
+ });
+ const expectedFilePath = path.join(fixtureDir, "output.json");
+ const expectedOutputTreeFilePath = path.join(fixtureDir, "output-tree.txt");
+ // Usage: update snapshots
+ // UPDATE_SNAPSHOT=1 npm test
+ if (!fs.existsSync(expectedFilePath) || process.env.UPDATE_SNAPSHOT) {
+ fs.writeFileSync(expectedFilePath, JSON.stringify(actual, null, 4));
+ fs.writeFileSync(expectedOutputTreeFilePath, dumpTreeView(actual));
+ this.skip(); // skip when updating snapshots
+ return;
+ }
+ assertUndefinedType(actual);
+ const expectedOutputTree = fs.readFileSync(expectedOutputTreeFilePath, "utf-8");
+ assert.strictEqual(dumpTreeView(actual), expectedOutputTree);
+ // compare input and output
+ const expectedContent = JSON.parse(fs.readFileSync(expectedFilePath, "utf-8"));
+ assert.deepStrictEqual(
+ actual,
+ expectedContent
+ );
+ });
+ });
+});
+
+describe("html-to-ast-test", function () {
+ it("should return AST that passed isTxtAST", function () {
+ const fixture = fs.readFileSync(path.join(__dirname, "fixtures/wikipedia.html"), "utf-8");
+ const AST = parse(fixture);
+ test(AST);
+ });
+});
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..416615d
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compilerOptions": {
+ /* Basic Options */
+ "module": "ESNext",
+ "moduleResolution": "NodeNext",
+ "esModuleInterop": true,
+ "newLine": "LF",
+ "outDir": "./module/",
+ "target": "ES2018",
+ "sourceMap": true,
+ "declaration": true,
+ "declarationMap": true,
+ "jsx": "preserve",
+ "lib": [
+ "esnext",
+ "dom"
+ ],
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "skipLibCheck": true
+ },
+ "include": [
+ "src/**/*"
+ ],
+ "exclude": [
+ ".git",
+ "node_modules"
+ ]
+}
diff --git a/yarn.lock b/yarn.lock
index c48cbaf..6bb836e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -14,1054 +14,176 @@
dependencies:
"@azu/format-text" "^1.0.1"
-"@babel/cli@^7.0.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.16.0.tgz#a729b7a48eb80b49f48a339529fc4129fd7bcef3"
- integrity sha512-WLrM42vKX/4atIoQB+eb0ovUof53UUvecb4qGjU2PDDWRiZr50ZpiV8NpcLo7iSxeGYrRG0Mqembsa+UrTAV6Q==
- dependencies:
- commander "^4.0.1"
- convert-source-map "^1.1.0"
- fs-readdir-recursive "^1.1.0"
- glob "^7.0.0"
- make-dir "^2.1.0"
- slash "^2.0.0"
- source-map "^0.5.0"
- optionalDependencies:
- "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3"
- chokidar "^3.4.0"
-
-"@babel/code-frame@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431"
- integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==
- dependencies:
- "@babel/highlight" "^7.16.0"
-
-"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4":
- version "7.16.4"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e"
- integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==
-
-"@babel/core@^7.0.0":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.5.tgz#924aa9e1ae56e1e55f7184c8bf073a50d8677f5c"
- integrity sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==
- dependencies:
- "@babel/code-frame" "^7.16.0"
- "@babel/generator" "^7.16.5"
- "@babel/helper-compilation-targets" "^7.16.3"
- "@babel/helper-module-transforms" "^7.16.5"
- "@babel/helpers" "^7.16.5"
- "@babel/parser" "^7.16.5"
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.5"
- "@babel/types" "^7.16.0"
- convert-source-map "^1.7.0"
- debug "^4.1.0"
- gensync "^1.0.0-beta.2"
- json5 "^2.1.2"
- semver "^6.3.0"
- source-map "^0.5.0"
-
-"@babel/generator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.5.tgz#26e1192eb8f78e0a3acaf3eede3c6fc96d22bedf"
- integrity sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==
- dependencies:
- "@babel/types" "^7.16.0"
- jsesc "^2.5.1"
- source-map "^0.5.0"
-
-"@babel/helper-annotate-as-pure@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d"
- integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz#a8429d064dce8207194b8bf05a70a9ea828746af"
- integrity sha512-3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==
- dependencies:
- "@babel/helper-explode-assignable-expression" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.3":
- version "7.16.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0"
- integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==
- dependencies:
- "@babel/compat-data" "^7.16.0"
- "@babel/helper-validator-option" "^7.14.5"
- browserslist "^4.17.5"
- semver "^6.3.0"
-
-"@babel/helper-create-class-features-plugin@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz#5d1bcd096792c1ebec6249eebc6358eec55d0cad"
- integrity sha512-NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-environment-visitor" "^7.16.5"
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-member-expression-to-functions" "^7.16.5"
- "@babel/helper-optimise-call-expression" "^7.16.0"
- "@babel/helper-replace-supers" "^7.16.5"
- "@babel/helper-split-export-declaration" "^7.16.0"
-
-"@babel/helper-create-regexp-features-plugin@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff"
- integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- regexpu-core "^4.7.1"
-
-"@babel/helper-define-polyfill-provider@^0.3.0":
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971"
- integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==
- dependencies:
- "@babel/helper-compilation-targets" "^7.13.0"
- "@babel/helper-module-imports" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/traverse" "^7.13.0"
- debug "^4.1.1"
- lodash.debounce "^4.0.8"
- resolve "^1.14.2"
- semver "^6.1.2"
-
-"@babel/helper-environment-visitor@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz#f6a7f38b3c6d8b07c88faea083c46c09ef5451b8"
- integrity sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-explode-assignable-expression@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778"
- integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-function-name@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481"
- integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==
- dependencies:
- "@babel/helper-get-function-arity" "^7.16.0"
- "@babel/template" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-get-function-arity@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa"
- integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-hoist-variables@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a"
- integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-member-expression-to-functions@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz#1bc9f7e87354e86f8879c67b316cb03d3dc2caab"
- integrity sha512-7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3"
- integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-module-transforms@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz#530ebf6ea87b500f60840578515adda2af470a29"
- integrity sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==
- dependencies:
- "@babel/helper-environment-visitor" "^7.16.5"
- "@babel/helper-module-imports" "^7.16.0"
- "@babel/helper-simple-access" "^7.16.0"
- "@babel/helper-split-export-declaration" "^7.16.0"
- "@babel/helper-validator-identifier" "^7.15.7"
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.5"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-optimise-call-expression@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338"
- integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz#afe37a45f39fce44a3d50a7958129ea5b1a5c074"
- integrity sha512-59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==
-
-"@babel/helper-remap-async-to-generator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz#e706646dc4018942acb4b29f7e185bc246d65ac3"
- integrity sha512-X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-wrap-function" "^7.16.5"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-replace-supers@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz#96d3988bd0ab0a2d22c88c6198c3d3234ca25326"
- integrity sha512-ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==
- dependencies:
- "@babel/helper-environment-visitor" "^7.16.5"
- "@babel/helper-member-expression-to-functions" "^7.16.5"
- "@babel/helper-optimise-call-expression" "^7.16.0"
- "@babel/traverse" "^7.16.5"
- "@babel/types" "^7.16.0"
-
-"@babel/helper-simple-access@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517"
- integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-skip-transparent-expression-wrappers@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09"
- integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-split-export-declaration@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438"
- integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==
- dependencies:
- "@babel/types" "^7.16.0"
-
-"@babel/helper-validator-identifier@^7.15.7":
- version "7.15.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389"
- integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==
-
-"@babel/helper-validator-option@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
- integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
-
-"@babel/helper-wrap-function@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz#0158fca6f6d0889c3fee8a6ed6e5e07b9b54e41f"
- integrity sha512-2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==
- dependencies:
- "@babel/helper-function-name" "^7.16.0"
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.5"
- "@babel/types" "^7.16.0"
-
-"@babel/helpers@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.5.tgz#29a052d4b827846dd76ece16f565b9634c554ebd"
- integrity sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==
- dependencies:
- "@babel/template" "^7.16.0"
- "@babel/traverse" "^7.16.5"
- "@babel/types" "^7.16.0"
-
-"@babel/highlight@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a"
- integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==
- dependencies:
- "@babel/helper-validator-identifier" "^7.15.7"
- chalk "^2.0.0"
- js-tokens "^4.0.0"
-
-"@babel/parser@^7.16.0", "@babel/parser@^7.16.5":
- version "7.16.6"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.6.tgz#8f194828193e8fa79166f34a4b4e52f3e769a314"
- integrity sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==
-
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2":
- version "7.16.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183"
- integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2"
- integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
- "@babel/plugin-proposal-optional-chaining" "^7.16.0"
-
-"@babel/plugin-proposal-async-generator-functions@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz#fd3bd7e0d98404a3d4cbca15a72d533f8c9a2f67"
- integrity sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-remap-async-to-generator" "^7.16.5"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
-
-"@babel/plugin-proposal-class-properties@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz#3269f44b89122110f6339806e05d43d84106468a"
- integrity sha512-pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-proposal-class-static-block@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.5.tgz#df58ab015a7d3b0963aafc8f20792dcd834952a9"
- integrity sha512-EEFzuLZcm/rNJ8Q5krK+FRKdVkd6FjfzT9tuSZql9sQn64K0hHA2KLJ0DqVot9/iV6+SsuadC5yI39zWnm+nmQ==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
-
-"@babel/plugin-proposal-dynamic-import@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz#2e0d19d5702db4dcb9bc846200ca02f2e9d60e9e"
- integrity sha512-P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
-
-"@babel/plugin-proposal-export-namespace-from@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz#3b4dd28378d1da2fea33e97b9f25d1c2f5bf1ac9"
- integrity sha512-i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-
-"@babel/plugin-proposal-json-strings@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz#1e726930fca139caab6b084d232a9270d9d16f9c"
- integrity sha512-QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
-
-"@babel/plugin-proposal-logical-assignment-operators@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz#df1f2e4b5a0ec07abf061d2c18e53abc237d3ef5"
- integrity sha512-xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz#652555bfeeeee2d2104058c6225dc6f75e2d0f07"
- integrity sha512-YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-
-"@babel/plugin-proposal-numeric-separator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz#edcb6379b6cf4570be64c45965d8da7a2debf039"
- integrity sha512-DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-
-"@babel/plugin-proposal-object-rest-spread@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz#f30f80dacf7bc1404bf67f99c8d9c01665e830ad"
- integrity sha512-UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==
- dependencies:
- "@babel/compat-data" "^7.16.4"
- "@babel/helper-compilation-targets" "^7.16.3"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.16.5"
-
-"@babel/plugin-proposal-optional-catch-binding@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz#1a5405765cf589a11a33a1fd75b2baef7d48b74e"
- integrity sha512-ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-
-"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz#a5fa61056194d5059366c0009cb9a9e66ed75c1f"
- integrity sha512-kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-
-"@babel/plugin-proposal-private-methods@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz#2086f7d78c1b0c712d49b5c3fbc2d1ca21a7ee12"
- integrity sha512-+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==
- dependencies:
- "@babel/helper-create-class-features-plugin" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-proposal-private-property-in-object@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.5.tgz#a42d4b56005db3d405b12841309dbca647e7a21b"
- integrity sha512-+YGh5Wbw0NH3y/E5YMu6ci5qTDmAEVNoZ3I54aB6nVEOZ5BQ7QJlwKq5pYVucQilMByGn/bvX0af+uNaPRCabA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-create-class-features-plugin" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-
-"@babel/plugin-proposal-unicode-property-regex@^7.16.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz#35fe753afa7c572f322bd068ff3377bde0f37080"
- integrity sha512-s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-syntax-async-generators@^7.8.4":
- version "7.8.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
- integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-class-properties@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
- integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
-
-"@babel/plugin-syntax-class-static-block@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
- integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-dynamic-import@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
- integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-export-namespace-from@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
- integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-syntax-json-strings@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
- integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
- integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
- integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
- integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
- dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
- integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
- integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-chaining@^7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
- integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-private-property-in-object@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
- integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-top-level-await@^7.14.5":
- version "7.14.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
- integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-transform-arrow-functions@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz#04c18944dd55397b521d9d7511e791acea7acf2d"
- integrity sha512-8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-async-to-generator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz#89c9b501e65bb14c4579a6ce9563f859de9b34e4"
- integrity sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==
- dependencies:
- "@babel/helper-module-imports" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-remap-async-to-generator" "^7.16.5"
-
-"@babel/plugin-transform-block-scoped-functions@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz#af087494e1c387574260b7ee9b58cdb5a4e9b0b0"
- integrity sha512-BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-block-scoping@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz#b91f254fe53e210eabe4dd0c40f71c0ed253c5e7"
- integrity sha512-JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-classes@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz#6acf2ec7adb50fb2f3194dcd2909dbd056dcf216"
- integrity sha512-DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==
- dependencies:
- "@babel/helper-annotate-as-pure" "^7.16.0"
- "@babel/helper-environment-visitor" "^7.16.5"
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-optimise-call-expression" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-replace-supers" "^7.16.5"
- "@babel/helper-split-export-declaration" "^7.16.0"
- globals "^11.1.0"
-
-"@babel/plugin-transform-computed-properties@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz#2af91ebf0cceccfcc701281ada7cfba40a9b322a"
- integrity sha512-n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-destructuring@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz#89ebc87499ac4a81b897af53bb5d3eed261bd568"
- integrity sha512-GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==
+"@cspotcode/source-map-support@^0.8.0":
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
+ integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
+ "@jridgewell/trace-mapping" "0.3.9"
-"@babel/plugin-transform-dotall-regex@^7.16.5", "@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz#b40739c00b6686820653536d6d143e311de67936"
- integrity sha512-iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-duplicate-keys@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz#2450f2742325412b746d7d005227f5e8973b512a"
- integrity sha512-81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-exponentiation-operator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz#36e261fa1ab643cfaf30eeab38e00ed1a76081e2"
- integrity sha512-12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==
- dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-for-of@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz#9b544059c6ca11d565457c0ff1f08e13ce225261"
- integrity sha512-+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-function-name@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz#6896ebb6a5538a75d6a4086a277752f655a7bd15"
- integrity sha512-Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==
- dependencies:
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-literals@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz#af392b90e3edb2bd6dc316844cbfd6b9e009d320"
- integrity sha512-B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-member-expression-literals@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz#4bd6ecdc11932361631097b779ca5c7570146dd5"
- integrity sha512-d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-modules-amd@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz#92c0a3e83f642cb7e75fada9ab497c12c2616527"
- integrity sha512-oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==
- dependencies:
- "@babel/helper-module-transforms" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-commonjs@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz#4ee03b089536f076b2773196529d27c32b9d7bde"
- integrity sha512-ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==
- dependencies:
- "@babel/helper-module-transforms" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-simple-access" "^7.16.0"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-systemjs@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz#07078ba2e3cc94fbdd06836e355c246e98ad006b"
- integrity sha512-53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==
- dependencies:
- "@babel/helper-hoist-variables" "^7.16.0"
- "@babel/helper-module-transforms" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-validator-identifier" "^7.15.7"
- babel-plugin-dynamic-import-node "^2.3.3"
-
-"@babel/plugin-transform-modules-umd@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz#caa9c53d636fb4e3c99fd35a4c9ba5e5cd7e002e"
- integrity sha512-qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==
- dependencies:
- "@babel/helper-module-transforms" "^7.16.5"
- "@babel/helper-plugin-utils" "^7.16.5"
+"@jridgewell/resolve-uri@^3.0.3":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
+ integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
-"@babel/plugin-transform-named-capturing-groups-regex@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz#4afd8cdee377ce3568f4e8a9ee67539b69886a3c"
- integrity sha512-/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
+"@jridgewell/sourcemap-codec@^1.4.10":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
+ integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
-"@babel/plugin-transform-new-target@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz#759ea9d6fbbc20796056a5d89d13977626384416"
- integrity sha512-ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==
+"@jridgewell/trace-mapping@0.3.9":
+ version "0.3.9"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
+ integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
+ "@jridgewell/resolve-uri" "^3.0.3"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
-"@babel/plugin-transform-object-super@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz#8ccd9a1bcd3e7732ff8aa1702d067d8cd70ce380"
- integrity sha512-tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-replace-supers" "^7.16.5"
-
-"@babel/plugin-transform-parameters@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz#4fc74b18a89638bd90aeec44a11793ecbe031dde"
- integrity sha512-B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-property-literals@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz#58f1465a7202a2bb2e6b003905212dd7a79abe3f"
- integrity sha512-+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-regenerator@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz#704cc6d8dd3dd4758267621ab7b36375238cef13"
- integrity sha512-2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==
- dependencies:
- regenerator-transform "^0.14.2"
-
-"@babel/plugin-transform-reserved-words@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz#db95e98799675e193dc2b47d3e72a7c0651d0c30"
- integrity sha512-aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-shorthand-properties@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz#ccb60b1a23b799f5b9a14d97c5bc81025ffd96d7"
- integrity sha512-ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-spread@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz#912b06cff482c233025d3e69cf56d3e8fa166c29"
- integrity sha512-5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
-
-"@babel/plugin-transform-sticky-regex@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz#593579bb2b5a8adfbe02cb43823275d9098f75f9"
- integrity sha512-usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-template-literals@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz#343651385fd9923f5aa2275ca352c5d9183e1773"
- integrity sha512-gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-typeof-symbol@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz#a1d1bf2c71573fe30965d0e4cd6a3291202e20ed"
- integrity sha512-ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-unicode-escapes@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz#80507c225af49b4f4ee647e2a0ce53d2eeff9e85"
- integrity sha512-shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==
- dependencies:
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/plugin-transform-unicode-regex@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz#ac84d6a1def947d71ffb832426aa53b83d7ed49e"
- integrity sha512-GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==
- dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.16.0"
- "@babel/helper-plugin-utils" "^7.16.5"
-
-"@babel/preset-env@^7.0.0":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.5.tgz#2e94d922f4a890979af04ffeb6a6b4e44ba90847"
- integrity sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ==
- dependencies:
- "@babel/compat-data" "^7.16.4"
- "@babel/helper-compilation-targets" "^7.16.3"
- "@babel/helper-plugin-utils" "^7.16.5"
- "@babel/helper-validator-option" "^7.14.5"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0"
- "@babel/plugin-proposal-async-generator-functions" "^7.16.5"
- "@babel/plugin-proposal-class-properties" "^7.16.5"
- "@babel/plugin-proposal-class-static-block" "^7.16.5"
- "@babel/plugin-proposal-dynamic-import" "^7.16.5"
- "@babel/plugin-proposal-export-namespace-from" "^7.16.5"
- "@babel/plugin-proposal-json-strings" "^7.16.5"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.16.5"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.5"
- "@babel/plugin-proposal-numeric-separator" "^7.16.5"
- "@babel/plugin-proposal-object-rest-spread" "^7.16.5"
- "@babel/plugin-proposal-optional-catch-binding" "^7.16.5"
- "@babel/plugin-proposal-optional-chaining" "^7.16.5"
- "@babel/plugin-proposal-private-methods" "^7.16.5"
- "@babel/plugin-proposal-private-property-in-object" "^7.16.5"
- "@babel/plugin-proposal-unicode-property-regex" "^7.16.5"
- "@babel/plugin-syntax-async-generators" "^7.8.4"
- "@babel/plugin-syntax-class-properties" "^7.12.13"
- "@babel/plugin-syntax-class-static-block" "^7.14.5"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-json-strings" "^7.8.3"
- "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
- "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
- "@babel/plugin-syntax-numeric-separator" "^7.10.4"
- "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
- "@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
- "@babel/plugin-syntax-top-level-await" "^7.14.5"
- "@babel/plugin-transform-arrow-functions" "^7.16.5"
- "@babel/plugin-transform-async-to-generator" "^7.16.5"
- "@babel/plugin-transform-block-scoped-functions" "^7.16.5"
- "@babel/plugin-transform-block-scoping" "^7.16.5"
- "@babel/plugin-transform-classes" "^7.16.5"
- "@babel/plugin-transform-computed-properties" "^7.16.5"
- "@babel/plugin-transform-destructuring" "^7.16.5"
- "@babel/plugin-transform-dotall-regex" "^7.16.5"
- "@babel/plugin-transform-duplicate-keys" "^7.16.5"
- "@babel/plugin-transform-exponentiation-operator" "^7.16.5"
- "@babel/plugin-transform-for-of" "^7.16.5"
- "@babel/plugin-transform-function-name" "^7.16.5"
- "@babel/plugin-transform-literals" "^7.16.5"
- "@babel/plugin-transform-member-expression-literals" "^7.16.5"
- "@babel/plugin-transform-modules-amd" "^7.16.5"
- "@babel/plugin-transform-modules-commonjs" "^7.16.5"
- "@babel/plugin-transform-modules-systemjs" "^7.16.5"
- "@babel/plugin-transform-modules-umd" "^7.16.5"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.5"
- "@babel/plugin-transform-new-target" "^7.16.5"
- "@babel/plugin-transform-object-super" "^7.16.5"
- "@babel/plugin-transform-parameters" "^7.16.5"
- "@babel/plugin-transform-property-literals" "^7.16.5"
- "@babel/plugin-transform-regenerator" "^7.16.5"
- "@babel/plugin-transform-reserved-words" "^7.16.5"
- "@babel/plugin-transform-shorthand-properties" "^7.16.5"
- "@babel/plugin-transform-spread" "^7.16.5"
- "@babel/plugin-transform-sticky-regex" "^7.16.5"
- "@babel/plugin-transform-template-literals" "^7.16.5"
- "@babel/plugin-transform-typeof-symbol" "^7.16.5"
- "@babel/plugin-transform-unicode-escapes" "^7.16.5"
- "@babel/plugin-transform-unicode-regex" "^7.16.5"
- "@babel/preset-modules" "^0.1.5"
- "@babel/types" "^7.16.0"
- babel-plugin-polyfill-corejs2 "^0.3.0"
- babel-plugin-polyfill-corejs3 "^0.4.0"
- babel-plugin-polyfill-regenerator "^0.3.0"
- core-js-compat "^3.19.1"
- semver "^6.3.0"
-
-"@babel/preset-modules@^0.1.5":
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9"
- integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==
- dependencies:
- "@babel/helper-plugin-utils" "^7.0.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
- "@babel/plugin-transform-dotall-regex" "^7.4.4"
- "@babel/types" "^7.4.4"
- esutils "^2.0.2"
-
-"@babel/register@^7.0.0":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.16.5.tgz#657d28b7ca68190de8f6159245b5ed1cfa181640"
- integrity sha512-NpluD+cToBiZiDsG3y9rtIcqDyivsahpaM9csfyfiq1qQWduSmihUZ+ruIqqSDGjZKZMJfgAElo9x2YWlOQuRw==
- dependencies:
- clone-deep "^4.0.1"
- find-cache-dir "^2.0.0"
- make-dir "^2.1.0"
- pirates "^4.0.0"
- source-map-support "^0.5.16"
-
-"@babel/runtime@^7.8.4":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.5.tgz#7f3e34bf8bdbbadf03fbb7b1ea0d929569c9487a"
- integrity sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA==
- dependencies:
- regenerator-runtime "^0.13.4"
-
-"@babel/template@^7.16.0":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6"
- integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==
- dependencies:
- "@babel/code-frame" "^7.16.0"
- "@babel/parser" "^7.16.0"
- "@babel/types" "^7.16.0"
-
-"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.5":
- version "7.16.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.5.tgz#d7d400a8229c714a59b87624fc67b0f1fbd4b2b3"
- integrity sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==
- dependencies:
- "@babel/code-frame" "^7.16.0"
- "@babel/generator" "^7.16.5"
- "@babel/helper-environment-visitor" "^7.16.5"
- "@babel/helper-function-name" "^7.16.0"
- "@babel/helper-hoist-variables" "^7.16.0"
- "@babel/helper-split-export-declaration" "^7.16.0"
- "@babel/parser" "^7.16.5"
- "@babel/types" "^7.16.0"
- debug "^4.1.0"
- globals "^11.1.0"
-
-"@babel/types@^7.16.0", "@babel/types@^7.4.4":
- version "7.16.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba"
- integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==
- dependencies:
- "@babel/helper-validator-identifier" "^7.15.7"
- to-fast-properties "^2.0.0"
-
-"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3":
- version "2.1.8-no-fsevents.3"
- resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b"
- integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==
-
-"@textlint/ast-node-types@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-12.1.0.tgz#e8b2a39bb2dd36d83c4342a5b5ed0d84217cf54a"
- integrity sha512-UlxqemrV/EnGTCl26OU7JhtFJpH7NZdgXvnsuII604orcIkvywUA1GGlg51grfbfqi+ar4zRsOb6fVbcbMZnKA==
+"@textlint/ast-node-types@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-13.0.5.tgz#fcea5a5ad29478e84b3de6286fea0b32278b685b"
+ integrity sha512-BiH5QOKDs52WR2Q26POwm5RaNs7hnU6TCrkoo4uECZQjjDQoaQWsp242KDQnvbiGnkj/a2xl+XPMuFCyn0XqjA==
"@textlint/ast-node-types@^4.4.3":
version "4.4.3"
resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz#fdba16e8126cddc50f45433ce7f6c55e7829566c"
integrity sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==
-"@textlint/ast-tester@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/ast-tester/-/ast-tester-12.1.0.tgz#2dc620a75f256e8a5529f860869770ac61edc5c8"
- integrity sha512-s3VHRDaULFYhxjJ3vP9LUIt2aHLnUB4XFUSRhUVnW4/GDOb1EXCGWFd+wtYy6jTtBg/5TR5ApdC6sNu/SLcb5w==
+"@textlint/ast-tester@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/ast-tester/-/ast-tester-13.0.5.tgz#10460ddcff950e9d83e147f40db802da163e8e27"
+ integrity sha512-aUxXqRJCr+WPzNwjHw6oBLi+R1mH/PUODXyScOMUR2E57zpb1teTNX0h0aI+S5YgdoyfXW42LMS94T3hqhxJsQ==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.5"
+ debug "^4.3.4"
+
+"@textlint/ast-traverse@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/ast-traverse/-/ast-traverse-13.0.5.tgz#b04ed88ca15c51be1fe2120aade9c190a04504c9"
+ integrity sha512-ouAAaP1o1JbHGjmII8TH89/ldFPnL7SRVvoGIQPPSfPVdyAGXHPGSsjoMYzcRxAdv4i5f/jJY/V7uHMMptWJFA==
dependencies:
- "@textlint/ast-node-types" "^12.1.0"
- debug "^4.3.3"
+ "@textlint/ast-node-types" "^13.0.5"
-"@textlint/ast-traverse@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/ast-traverse/-/ast-traverse-12.1.0.tgz#d7c95534b05c3eacae7e47014dd1e8df821d6c8d"
- integrity sha512-NJCCMS7lxZ6Ed15zsosbe/5i/SyynqQsxOYxhsMHuyU/adx27WzNWLoFbgTdz6Wmn3Ok1PSFf0442MpoS6SP7g==
+"@textlint/config-loader@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/config-loader/-/config-loader-13.0.5.tgz#f052d3dd1814dd6777ed3d3d1cfce1a236e31cbf"
+ integrity sha512-rxPYYE8iyZXief5kHwzIZJ+x0DTPvRj/pG8YJpX9A5zO4BTDLwHmk4NZSAF+xEpR11ebN63ystfcqMEEaOMj4w==
dependencies:
- "@textlint/ast-node-types" "^12.1.0"
+ "@textlint/kernel" "^13.0.5"
+ "@textlint/module-interop" "^13.0.5"
+ "@textlint/types" "^13.0.5"
+ "@textlint/utils" "^13.0.5"
+ debug "^4.3.4"
+ rc-config-loader "^4.1.2"
+ try-resolve "^1.0.1"
-"@textlint/feature-flag@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/feature-flag/-/feature-flag-12.1.0.tgz#b31e91357d774a71f794acc1de5436763fbbcaea"
- integrity sha512-pQfA2bUXimBQjxT5hVmGGuFf1Cwwx26kbrcwkGHsgxgXlXkg1zboby5UCMOjWda/TbJjynzqDO0JaU24Ms9fZg==
+"@textlint/feature-flag@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/feature-flag/-/feature-flag-13.0.5.tgz#0464c7a10b727594e2bebd4bc0c792a8ee430dc6"
+ integrity sha512-CxdCp9nrPWhzXPFC24Rj1nMIFTsynQGwE8KY1cm3U6iB04iRzRTQBkCTizMhAd1eJ0A7391QNgvCK3/sSAHZ0g==
-"@textlint/fixer-formatter@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/fixer-formatter/-/fixer-formatter-12.1.0.tgz#24f74b956d3433e41bf5c14052587ca8ce4aaec2"
- integrity sha512-ELG9ehkid+J0sRd0mVRbZ+2UOnLqowycrYsaHxDE+xf2s33OcogZa9i3Uact7y2oSCadX00oNLEhsQcwkAqvpw==
+"@textlint/fixer-formatter@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/fixer-formatter/-/fixer-formatter-13.0.5.tgz#49ef8c72edd6aadf7edda0b28e84988d2db5d0a3"
+ integrity sha512-bsEsxwMmqm7YtdTtlIbHLf09ZzSG3qgIVASUJxFlICQGs45jqS+QXDIGWuiOQgDnBu3VF8HCYN+gcbW9+pnfxA==
dependencies:
- "@textlint/module-interop" "^12.1.0"
- "@textlint/types" "^12.1.0"
- chalk "^1.1.3"
- debug "^4.3.3"
+ "@textlint/module-interop" "^13.0.5"
+ "@textlint/types" "^13.0.5"
+ chalk "^4.1.2"
+ debug "^4.3.4"
diff "^4.0.2"
is-file "^1.0.0"
- string-width "^1.0.2"
+ string-width "^4.2.3"
strip-ansi "^6.0.1"
text-table "^0.2.0"
try-resolve "^1.0.1"
-"@textlint/kernel@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/kernel/-/kernel-12.1.0.tgz#e0677a3e120aceddc75a485a3fdca44cdc42133d"
- integrity sha512-6crFn0Ng4Y8PnUvD8HdGMZUlxURx3YgbDv/Grp+7kg8qLlNAkvbyJ1cE8ZYJTF+PfJ1dK1FZmmlZsvrieI4KBQ==
- dependencies:
- "@textlint/ast-node-types" "^12.1.0"
- "@textlint/ast-tester" "^12.1.0"
- "@textlint/ast-traverse" "^12.1.0"
- "@textlint/feature-flag" "^12.1.0"
- "@textlint/source-code-fixer" "^12.1.0"
- "@textlint/types" "^12.1.0"
- "@textlint/utils" "^12.1.0"
- debug "^4.3.3"
- deep-equal "^1.1.1"
- structured-source "^3.0.2"
-
-"@textlint/linter-formatter@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/linter-formatter/-/linter-formatter-12.1.0.tgz#cc3982eab8321124a900770e6db4d0158b6be323"
- integrity sha512-OoDvn7wD+pAV+W2loCKgxO9V11rYo14GVKkp8UktsqzeOzxxRY5iZUOALMOOde19fOklb2mEvs8AJ4lDaRDJVQ==
+"@textlint/kernel@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/kernel/-/kernel-13.0.5.tgz#a39a14eafbd76b596a83bada26da4ced6b6a8c26"
+ integrity sha512-gUL8La3RH/69tK5a0g7aDJZgNJt710u6Xhz2YXDI0rher31+Bm0AXdJEQUscWoCRkPuZFiofjfhosPUyPePdyA==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.5"
+ "@textlint/ast-tester" "^13.0.5"
+ "@textlint/ast-traverse" "^13.0.5"
+ "@textlint/feature-flag" "^13.0.5"
+ "@textlint/source-code-fixer" "^13.0.5"
+ "@textlint/types" "^13.0.5"
+ "@textlint/utils" "^13.0.5"
+ debug "^4.3.4"
+ fast-equals "^4.0.3"
+ structured-source "^4.0.0"
+
+"@textlint/linter-formatter@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/linter-formatter/-/linter-formatter-13.0.5.tgz#70d213b54f34dc14f3375844d19669b3164b05dd"
+ integrity sha512-D/WEm1e8vSLD5VgHkVx3UBF/KV+FtKJDdjh650mV0qFWhPPNuPy0BMPpg7PPxS13XYDcByAlD/yGqbQ0rURg6Q==
dependencies:
"@azu/format-text" "^1.0.1"
"@azu/style-format" "^1.0.0"
- "@textlint/module-interop" "^12.1.0"
- "@textlint/types" "^12.1.0"
- chalk "^1.1.3"
- debug "^4.3.3"
+ "@textlint/module-interop" "^13.0.5"
+ "@textlint/types" "^13.0.5"
+ chalk "^4.1.2"
+ debug "^4.3.4"
is-file "^1.0.0"
js-yaml "^3.14.1"
+ lodash "^4.17.21"
optionator "^0.9.1"
pluralize "^2.0.0"
- string-width "^1.0.2"
+ string-width "^4.2.3"
strip-ansi "^6.0.1"
- table "^6.7.3"
+ table "^6.8.1"
text-table "^0.2.0"
try-resolve "^1.0.1"
- xml-escape "^1.1.0"
-"@textlint/markdown-to-ast@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/markdown-to-ast/-/markdown-to-ast-12.1.0.tgz#ccee1613e8bd1c472660c1ebfade5f44a40a6696"
- integrity sha512-22FRiXRxTrNVe1gbE18V8TxAtrWb9rKUb1+2mt5vXdgByZ+rHUJuEc4UonAiye/8+0eTrJ4brjPNXgYsJGeMKg==
+"@textlint/markdown-to-ast@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/markdown-to-ast/-/markdown-to-ast-13.0.5.tgz#f440a4ef3ad25ceb69a90219b304bec16c5439c9"
+ integrity sha512-2nDdv1PEkKa9GHJQHpDvrTC+QRtw5p0M4oVHvFP/va4r/fdfupKC78XtZ9aQCgJxjZcMWAlvvUsBz/70vEthqw==
dependencies:
- "@textlint/ast-node-types" "^12.1.0"
- debug "^4.3.3"
+ "@textlint/ast-node-types" "^13.0.5"
+ debug "^4.3.4"
+ mdast-util-gfm-autolink-literal "^0.1.3"
remark-footnotes "^3.0.0"
remark-frontmatter "^3.0.0"
remark-gfm "^1.0.0"
remark-parse "^9.0.0"
- traverse "^0.6.6"
+ traverse "^0.6.7"
unified "^9.2.2"
-"@textlint/module-interop@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/module-interop/-/module-interop-12.1.0.tgz#fb8dc6ae7cded574ce04ed0e7854645c6486eff0"
- integrity sha512-J1VhFZ7lK1V3Ue7DCvZlGIFEuaongBCkir1XFL+f1yfhfQlgfM5TCp3OBBB6NhKPff8T6sPA9niBzMYr+NyKyA==
+"@textlint/module-interop@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/module-interop/-/module-interop-13.0.5.tgz#e4c79d77263ab98b0c157e69729079cd0d5ca324"
+ integrity sha512-aOpAH/wBXTUyE+HJ7lUSntDup0TMlLmYtQc5v1VY2qG4veQFeEE9i2XgU12kmxk0KUikde4YYkfieom78r5VBA==
-"@textlint/source-code-fixer@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/source-code-fixer/-/source-code-fixer-12.1.0.tgz#2b296cbf8c23148978c156165e420747ee604c83"
- integrity sha512-3HEWCu8XlRpxK0UmUxGEzc4u0deaO0GtisqaEsCVHzlQFq6tzE+5VTdZ4ffon64UN8UV57EAC2ralEV/VgxkBQ==
+"@textlint/source-code-fixer@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/source-code-fixer/-/source-code-fixer-13.0.5.tgz#bb2852680b8f8bdcc55452fa7c70e906dd879027"
+ integrity sha512-ahJ74NNbo3d/2L2ICkyyYNGjZufnO2yjzmtm2cRhqy9+0x65DwpeX+XKc87itRvWbke+xIMfVZA965t6JsuVag==
dependencies:
- "@textlint/types" "^12.1.0"
- debug "^4.3.3"
+ "@textlint/types" "^13.0.5"
+ debug "^4.3.4"
-"@textlint/text-to-ast@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/text-to-ast/-/text-to-ast-12.1.0.tgz#ba19315a981fc319cf74ad5d7ec4a995d7c9452e"
- integrity sha512-s45+d0E9+gMKz+LC9+sJamU7SVrPyGYsXVLDRM5oxqjdb0MeIfjIFj7xl52MUpAHnywbPSgakB6HHiryiEAmqQ==
+"@textlint/text-to-ast@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/text-to-ast/-/text-to-ast-13.0.5.tgz#0d9e8258c4055583176702dce17c0b4f261673d8"
+ integrity sha512-85uZPQFOXehegxoWh05azuqvFfK6j2I0VTlnQSViVJ0Xo8L7I7FcidMpkC99VbBq2D2LQXwctom7tm8E3SJGcg==
dependencies:
- "@textlint/ast-node-types" "^12.1.0"
+ "@textlint/ast-node-types" "^13.0.5"
-"@textlint/textlint-plugin-markdown@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.1.0.tgz#d5b2cf4c655190e5aecd9dba7db38db7850bf5c9"
- integrity sha512-bS67fq4Ea2JdKO4mJM4sGSATVI1bw9++IfOIsx2rc01NfZlTxwz4kM8lrhvNFHGY4URaN1kCULSgupeI/u/Seg==
+"@textlint/textlint-plugin-markdown@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-13.0.5.tgz#6430eb61c2357389ef8495c23f5379e6c167f787"
+ integrity sha512-Mx7RBAFkNLUhoRuV1xfOYHgbcUHEugZ3KSwqka0ZJ9eg9aMFR7BHcz0kkSuwlzrsppH00l9EBIOmXCklrUZCcA==
dependencies:
- "@textlint/markdown-to-ast" "^12.1.0"
+ "@textlint/markdown-to-ast" "^13.0.5"
-"@textlint/textlint-plugin-text@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.1.0.tgz#9ded3054b4f48d4b90d119a6c930f911ebf57caa"
- integrity sha512-ItqpVEYLDYQkEk0ixeD4wElqkgkDErAGGDN/QK4cmIvtBeVd/GSIQFS1pwC1/Abmd4dTK3j/9z/dov1gVFZB1Q==
+"@textlint/textlint-plugin-text@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/textlint-plugin-text/-/textlint-plugin-text-13.0.5.tgz#c26a995cff1bc40d1e03d13b52dbdddf93237e9d"
+ integrity sha512-Za5nDj8IxGgIFGWU3/ovz3IvME7J88TZUzJokDGAPNp2XS5mtWLUJa8WUoY5jLWqp9qjNquF9X6PpGTQv3bBgg==
dependencies:
- "@textlint/text-to-ast" "^12.1.0"
+ "@textlint/text-to-ast" "^13.0.5"
"@textlint/types@^1.5.5":
version "1.5.5"
@@ -1070,17 +192,52 @@
dependencies:
"@textlint/ast-node-types" "^4.4.3"
-"@textlint/types@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/types/-/types-12.1.0.tgz#69e3be4b00b10000e37cca4947c68df554e5275b"
- integrity sha512-O8RQUiGnBvBrwV/fLHp2vU+y3w223G+qKUzvW/k2eFwAdbtmCfordoKESXAIGuqAUZjgiM2+Mt3We1pY+tMR3g==
+"@textlint/types@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/types/-/types-13.0.5.tgz#c26037c7a38f600427d4f7f3e72f0b526e3c491c"
+ integrity sha512-H4BzC1wPiN2kJc6WUre6ggIeVKy6vKMAWQYkR0VmMtk1Lu5kysvwRifNuqecVIHpJIBwtVhkhrBlH1fz50SlXg==
dependencies:
- "@textlint/ast-node-types" "^12.1.0"
+ "@textlint/ast-node-types" "^13.0.5"
+
+"@textlint/utils@^13.0.5":
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/@textlint/utils/-/utils-13.0.5.tgz#4fd4f019988556f3bfc4c96c06c2f46d7a6dceac"
+ integrity sha512-yh786ZRDrYdOepKG911zPkeemihcBryMIxEltGz10UT2dUqPyHoGoWUc3XbnYFBL4t0DAHVCXZHxAmaKmHqB5Q==
-"@textlint/utils@^12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@textlint/utils/-/utils-12.1.0.tgz#42b034582a5eb8576f9457e16691d9556617bd40"
- integrity sha512-WE0bxQ/q+PgSslqEBuDi4Z8ZskBA0ZEehmKqcsd0hpDWU4VRU/R9o/WVXwia0APbQxgXPYWaHf1Rb7FAKUcVcg==
+"@tsconfig/node10@^1.0.7":
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
+ integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
+
+"@tsconfig/node12@^1.0.7":
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
+ integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
+
+"@tsconfig/node14@^1.0.0":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
+ integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
+
+"@tsconfig/node16@^1.0.2":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e"
+ integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==
+
+"@types/glob@^8.0.1":
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.0.1.tgz#6e3041640148b7764adf21ce5c7138ad454725b0"
+ integrity sha512-8bVUjXZvJacUFkJXHdyZ9iH1Eaj5V7I8c4NdH5sQJsdXkqT4CA5Dhb4yb4VE/3asyx4L9ayZr1NIhTsWHczmMw==
+ dependencies:
+ "@types/minimatch" "^5.1.2"
+ "@types/node" "*"
+
+"@types/hast@^2.0.0":
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc"
+ integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==
+ dependencies:
+ "@types/unist" "*"
"@types/mdast@^3.0.0":
version "3.0.10"
@@ -1089,15 +246,40 @@
dependencies:
"@types/unist" "*"
+"@types/minimatch@^5.1.2":
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
+ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
+
+"@types/mocha@^10.0.1":
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b"
+ integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==
+
+"@types/node@*", "@types/node@^18.11.18":
+ version "18.11.18"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f"
+ integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==
+
+"@types/traverse@^0.6.32":
+ version "0.6.32"
+ resolved "https://registry.yarnpkg.com/@types/traverse/-/traverse-0.6.32.tgz#f9fdfa40cd4898deaa975a14511aec731de8235e"
+ integrity sha512-RBz2uRZVCXuMg93WD//aTS5B120QlT4lR/gL+935QtGsKHLS6sCtZBaKfWjIfk7ZXv/r8mtGbwjVIee6/3XTow==
+
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
version "2.0.6"
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
-"@ungap/promise-all-settled@1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
- integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
+acorn-walk@^8.1.1:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
+ integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
+
+acorn@^8.4.1:
+ version "8.8.2"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
+ integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
ajv@^8.0.1:
version "8.8.2"
@@ -1114,28 +296,11 @@ ansi-colors@4.1.1:
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
- integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
-
ansi-regex@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
-ansi-styles@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
- integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
-
-ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
@@ -1151,6 +316,11 @@ anymatch@~3.1.2:
normalize-path "^3.0.0"
picomatch "^2.0.4"
+arg@^4.1.0:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
+ integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
+
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
@@ -1168,49 +338,16 @@ astral-regex@^2.0.0:
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
-attach-ware@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/attach-ware/-/attach-ware-1.1.1.tgz#28f51393dd8bb8bdaad972342519bf09621a35a3"
- integrity sha1-KPUTk92LuL2q2XI0JRm/CWIaNaM=
- dependencies:
- unherit "^1.0.0"
-
-babel-plugin-dynamic-import-node@^2.3.3:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
- integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
- dependencies:
- object.assign "^4.1.0"
-
-babel-plugin-polyfill-corejs2@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd"
- integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==
- dependencies:
- "@babel/compat-data" "^7.13.11"
- "@babel/helper-define-polyfill-provider" "^0.3.0"
- semver "^6.1.1"
-
-babel-plugin-polyfill-corejs3@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087"
- integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.0"
- core-js-compat "^3.18.0"
-
-babel-plugin-polyfill-regenerator@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be"
- integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.3.0"
-
bail@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776"
integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==
+bail@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d"
+ integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
+
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
@@ -1226,6 +363,11 @@ boundary@^1.0.1:
resolved "https://registry.yarnpkg.com/boundary/-/boundary-1.0.1.tgz#4d67dc2602c0cc16dd9bce7ebf87e948290f5812"
integrity sha1-TWfcJgLAzBbdm85+v4fpSCkPWBI=
+boundary@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/boundary/-/boundary-2.0.0.tgz#169c8b1f0d44cf2c25938967a328f37e0a4e5efc"
+ integrity sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -1234,6 +376,13 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
+brace-expansion@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+ integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+ dependencies:
+ balanced-match "^1.0.0"
+
braces@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
@@ -1246,71 +395,17 @@ browser-stdout@1.3.1:
resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
-browserslist@^4.17.5, browserslist@^4.19.1:
- version "4.19.1"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3"
- integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==
- dependencies:
- caniuse-lite "^1.0.30001286"
- electron-to-chromium "^1.4.17"
- escalade "^3.1.1"
- node-releases "^2.0.1"
- picocolors "^1.0.0"
-
-buffer-from@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
- integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-
-call-bind@^1.0.0, call-bind@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
- integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
- dependencies:
- function-bind "^1.1.1"
- get-intrinsic "^1.0.2"
-
-camelcase@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
- integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
-
camelcase@^6.0.0:
version "6.2.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e"
integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==
-caniuse-lite@^1.0.30001286:
- version "1.0.30001292"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz#4a55f61c06abc9595965cfd77897dc7bc1cdc456"
- integrity sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw==
-
ccount@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043"
integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==
-chalk@^1.0.0, chalk@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
- integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
- dependencies:
- ansi-styles "^2.2.1"
- escape-string-regexp "^1.0.2"
- has-ansi "^2.0.0"
- strip-ansi "^3.0.0"
- supports-color "^2.0.0"
-
-chalk@^2.0.0:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chalk@^4.1.0:
+chalk@^4.1.0, chalk@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -1338,10 +433,10 @@ charenc@0.0.2:
resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=
-chokidar@3.5.2, chokidar@^3.4.0:
- version "3.5.2"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
- integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
+chokidar@3.5.3:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+ integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
dependencies:
anymatch "~3.1.2"
braces "~3.0.2"
@@ -1362,32 +457,6 @@ cliui@^7.0.2:
strip-ansi "^6.0.0"
wrap-ansi "^7.0.0"
-clone-deep@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
- integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
- dependencies:
- is-plain-object "^2.0.4"
- kind-of "^6.0.2"
- shallow-clone "^3.0.0"
-
-co@3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78"
- integrity sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=
-
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
- integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
-
-color-convert@^1.9.0:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
color-convert@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
@@ -1395,59 +464,39 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
- integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-commander@^4.0.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
- integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
-
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
- integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+comma-separated-tokens@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee"
+ integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-convert-source-map@^1.1.0, convert-source-map@^1.7.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
- integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
- dependencies:
- safe-buffer "~5.1.1"
-
-core-js-compat@^3.18.0, core-js-compat@^3.19.1:
- version "3.20.0"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.0.tgz#fd704640c5a213816b6d10ec0192756111e2c9d1"
- integrity sha512-relrah5h+sslXssTTOkvqcC/6RURifB0W5yhYBdBkaPYa5/2KBMiog3XiD+s3TwEHWxInWVv4Jx2/Lw0vng+IQ==
- dependencies:
- browserslist "^4.19.1"
- semver "7.0.0"
+create-require@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
+ integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
crypt@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=
-debug@4.3.2:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
- integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+debug@4.3.4, debug@^4.3.4:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
-debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.3:
+debug@^4.0.0:
version "4.3.3"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
@@ -1459,98 +508,26 @@ decamelize@^4.0.0:
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837"
integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==
-deep-equal@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
- integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==
- dependencies:
- is-arguments "^1.0.4"
- is-date-object "^1.0.1"
- is-regex "^1.0.4"
- object-is "^1.0.1"
- object-keys "^1.1.1"
- regexp.prototype.flags "^1.2.0"
-
deep-is@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-define-properties@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
- integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
- dependencies:
- object-keys "^1.0.12"
-
diff@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
-diff@^4.0.2:
+diff@^4.0.1, diff@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
-dom-serializer@0:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
- integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
- dependencies:
- domelementtype "^2.0.1"
- entities "^2.0.0"
-
-domelementtype@1, domelementtype@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
- integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
-
-domelementtype@^2.0.1:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
- integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
-
-domhandler@^2.3.0:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
- integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==
- dependencies:
- domelementtype "1"
-
-domutils@^1.5.1:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
- integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
- dependencies:
- dom-serializer "0"
- domelementtype "1"
-
-electron-to-chromium@^1.4.17:
- version "1.4.26"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.26.tgz#d71b9da220543cf10614a576c3d5ebbe43d96efb"
- integrity sha512-cA1YwlRzO6TGp7yd3+KAqh9Tt6Z4CuuKqsAJP6uF/H5MQryjAGDhMhnY5cEXo8MaRCczpzSBhMPdqRIodkbZYw==
-
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-ent@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
- integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0=
-
-entities@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
- integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
-
-entities@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
- integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
-
error-ex@^1.2.0, error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
@@ -1563,31 +540,16 @@ escalade@^3.1.1:
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-escape-html@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
- integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-
escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-
esprima@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
extend@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
@@ -1598,6 +560,11 @@ fast-deep-equal@^3.1.1:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+fast-equals@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-4.0.3.tgz#72884cc805ec3c6679b99875f6b7654f39f0e8c7"
+ integrity sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==
+
fast-levenshtein@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
@@ -1624,15 +591,6 @@ fill-range@^7.0.1:
dependencies:
to-regex-range "^5.0.1"
-find-cache-dir@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
- integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
- dependencies:
- commondir "^1.0.1"
- make-dir "^2.0.0"
- pkg-dir "^3.0.0"
-
find-up@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
@@ -1648,13 +606,6 @@ find-up@^2.0.0:
dependencies:
locate-path "^2.0.0"
-find-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
- integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
- dependencies:
- locate-path "^3.0.0"
-
flat-cache@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
@@ -1679,11 +630,6 @@ format@^0.2.0:
resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
-fs-readdir-recursive@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
- integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==
-
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@@ -1699,25 +645,11 @@ function-bind@^1.1.1:
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-gensync@^1.0.0-beta.2:
- version "1.0.0-beta.2"
- resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
- integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
-
get-caller-file@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-get-intrinsic@^1.0.2:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
- integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
- dependencies:
- function-bind "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.1"
-
get-stdin@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
@@ -1730,10 +662,10 @@ glob-parent@~5.1.2:
dependencies:
is-glob "^4.0.1"
-glob@7.1.7:
- version "7.1.7"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
- integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
+glob@7.2.0, glob@^7.1.3:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
+ integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -1742,62 +674,39 @@ glob@7.1.7:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.2.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
- integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
+glob@^7.2.3:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
- minimatch "^3.0.4"
+ minimatch "^3.1.1"
once "^1.3.0"
path-is-absolute "^1.0.0"
-globals@^11.1.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+glob@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
+ integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^5.0.1"
+ once "^1.3.0"
graceful-fs@^4.1.2:
version "4.2.8"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
-growl@1.10.5:
- version "1.10.5"
- resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
- integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
-
-has-ansi@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
- integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
- dependencies:
- ansi-regex "^2.0.0"
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
- integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
-
has-flag@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-has-symbols@^1.0.1, has-symbols@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
- integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
-
-has-tostringtag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
- integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
- dependencies:
- has-symbols "^1.0.2"
-
has@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
@@ -1805,20 +714,36 @@ has@^1.0.3:
dependencies:
function-bind "^1.1.1"
-hast@0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/hast/-/hast-0.0.2.tgz#87950b0180a71df4df9216c304d426db4ea30482"
- integrity sha1-h5ULAYCnHfTfkhbDBNQm206jBII=
+hast-util-from-parse5@^7.0.0:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.1.tgz#1887b4dd4e19f29d9c48c2e1c8bfeaac13a1f3a0"
+ integrity sha512-R6PoNcUs89ZxLJmMWsVbwSWuz95/9OriyQZ3e2ybwqGsRXzhA6gv49rgGmQvLbZuSNDv9fCg7vV7gXUsvtUFaA==
dependencies:
- bail "^1.0.0"
- camelcase "^1.2.1"
- ent "^2.2.0"
- escape-html "^1.0.3"
- htmlparser2 "^3.8.3"
- param-case "^1.1.1"
- property-information "^2.0.0"
- trim "0.0.1"
- unified "^2.1.0"
+ "@types/hast" "^2.0.0"
+ "@types/unist" "^2.0.0"
+ hastscript "^7.0.0"
+ property-information "^6.0.0"
+ vfile "^5.0.0"
+ vfile-location "^4.0.0"
+ web-namespaces "^2.0.0"
+
+hast-util-parse-selector@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2"
+ integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==
+ dependencies:
+ "@types/hast" "^2.0.0"
+
+hastscript@^7.0.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b"
+ integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==
+ dependencies:
+ "@types/hast" "^2.0.0"
+ comma-separated-tokens "^2.0.0"
+ hast-util-parse-selector "^3.0.0"
+ property-information "^6.0.0"
+ space-separated-tokens "^2.0.0"
he@1.2.0:
version "1.2.0"
@@ -1830,18 +755,6 @@ hosted-git-info@^2.1.4:
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
-htmlparser2@^3.8.3:
- version "3.10.1"
- resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
- integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
- dependencies:
- domelementtype "^1.3.1"
- domhandler "^2.3.0"
- domutils "^1.5.1"
- entities "^1.1.1"
- inherits "^2.0.1"
- readable-stream "^3.1.1"
-
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
@@ -1850,7 +763,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3:
+inherits@2:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -1868,14 +781,6 @@ is-alphanumerical@^1.0.0:
is-alphabetical "^1.0.0"
is-decimal "^1.0.0"
-is-arguments@^1.0.4:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
- integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
@@ -1905,13 +810,6 @@ is-core-module@^2.2.0:
dependencies:
has "^1.0.3"
-is-date-object@^1.0.1:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
- integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
- dependencies:
- has-tostringtag "^1.0.0"
-
is-decimal@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"
@@ -1927,13 +825,6 @@ is-file@^1.0.0:
resolved "https://registry.yarnpkg.com/is-file/-/is-file-1.0.0.tgz#28a44cfbd9d3db193045f22b65fce8edf9620596"
integrity sha1-KKRM+9nT2xkwRfIrZfzo7fliBZY=
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
- dependencies:
- number-is-nan "^1.0.0"
-
is-fullwidth-code-point@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
@@ -1961,20 +852,10 @@ is-plain-obj@^2.0.0, is-plain-obj@^2.1.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
-is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
- dependencies:
- isobject "^3.0.1"
-
-is-regex@^1.0.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
- integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
+is-plain-obj@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0"
+ integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
is-unicode-supported@^0.1.0:
version "0.1.0"
@@ -1986,29 +867,14 @@ is-utf8@^0.2.0:
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-
-isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
- integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
-
-js-tokens@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@4.1.0:
+js-yaml@4.1.0, js-yaml@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
dependencies:
argparse "^2.0.1"
-js-yaml@^3.12.0, js-yaml@^3.14.1:
+js-yaml@^3.14.1:
version "3.14.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
@@ -2016,16 +882,6 @@ js-yaml@^3.12.0, js-yaml@^3.14.1:
argparse "^1.0.7"
esprima "^4.0.0"
-jsesc@^2.5.1:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
- integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-
-jsesc@~0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
- integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
-
json-parse-better-errors@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
@@ -2036,17 +892,10 @@ json-schema-traverse@^1.0.0:
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
-json5@^2.1.1, json5@^2.1.2:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
- integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
- dependencies:
- minimist "^1.2.5"
-
-kind-of@^6.0.2:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
- integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+json5@^2.2.2:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
levn@^0.4.1:
version "0.4.1"
@@ -2085,14 +934,6 @@ locate-path@^2.0.0:
p-locate "^2.0.0"
path-exists "^3.0.0"
-locate-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
- integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
- dependencies:
- p-locate "^3.0.0"
- path-exists "^3.0.0"
-
locate-path@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
@@ -2100,16 +941,16 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
-lodash.debounce@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
- integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
-
lodash.truncate@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
+lodash@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
log-symbols@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
@@ -2118,30 +959,15 @@ log-symbols@4.1.0:
chalk "^4.1.0"
is-unicode-supported "^0.1.0"
-log-symbols@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
- integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=
- dependencies:
- chalk "^1.0.0"
-
longest-streak@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4"
integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==
-lower-case@^1.1.1:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
- integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
-
-make-dir@^2.0.0, make-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
- integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
- dependencies:
- pify "^4.0.1"
- semver "^5.6.0"
+make-error@^1.1.1:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
markdown-table@^2.0.0:
version "2.0.0"
@@ -2194,7 +1020,7 @@ mdast-util-frontmatter@^0.2.0:
dependencies:
micromark-extension-frontmatter "^0.2.0"
-mdast-util-gfm-autolink-literal@^0.1.0:
+mdast-util-gfm-autolink-literal@^0.1.0, mdast-util-gfm-autolink-literal@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz#9c4ff399c5ddd2ece40bd3b13e5447d84e385fb7"
integrity sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==
@@ -2320,51 +1146,81 @@ micromark@^2.11.3, micromark@~2.11.0, micromark@~2.11.3:
debug "^4.0.0"
parse-entities "^2.0.0"
-minimatch@3.0.4, minimatch@^3.0.4:
+minimatch@5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b"
+ integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
+minimatch@^3.1.1:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^5.0.1:
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
+ integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
-mkdirp@^0.5.0, mkdirp@^0.5.1:
+minimist@^1.2.6:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
+ integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
+
+mkdirp@^0.5.1:
version "0.5.5"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
dependencies:
minimist "^1.2.5"
-mocha@^9.1.3:
- version "9.1.3"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.1.3.tgz#8a623be6b323810493d8c8f6f7667440fa469fdb"
- integrity sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==
+mkdirp@^0.5.6:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+ integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
+ dependencies:
+ minimist "^1.2.6"
+
+mocha@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8"
+ integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==
dependencies:
- "@ungap/promise-all-settled" "1.1.2"
ansi-colors "4.1.1"
browser-stdout "1.3.1"
- chokidar "3.5.2"
- debug "4.3.2"
+ chokidar "3.5.3"
+ debug "4.3.4"
diff "5.0.0"
escape-string-regexp "4.0.0"
find-up "5.0.0"
- glob "7.1.7"
- growl "1.10.5"
+ glob "7.2.0"
he "1.2.0"
js-yaml "4.1.0"
log-symbols "4.1.0"
- minimatch "3.0.4"
+ minimatch "5.0.1"
ms "2.1.3"
- nanoid "3.1.25"
+ nanoid "3.3.3"
serialize-javascript "6.0.0"
strip-json-comments "3.1.1"
supports-color "8.1.1"
- which "2.0.2"
- workerpool "6.1.5"
+ workerpool "6.2.1"
yargs "16.2.0"
yargs-parser "20.2.4"
yargs-unparser "2.0.0"
@@ -2379,15 +1235,10 @@ ms@2.1.3:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-nanoid@3.1.25:
- version "3.1.25"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152"
- integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==
-
-node-releases@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5"
- integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
+nanoid@3.3.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25"
+ integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==
normalize-package-data@^2.3.2:
version "2.5.0"
@@ -2404,34 +1255,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
- integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-
-object-is@^1.0.1:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
- integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
-object-keys@^1.0.12, object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object.assign@^4.1.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
- integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
- dependencies:
- call-bind "^1.0.0"
- define-properties "^1.1.3"
- has-symbols "^1.0.1"
- object-keys "^1.1.1"
-
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -2458,13 +1281,6 @@ p-limit@^1.1.0:
dependencies:
p-try "^1.0.0"
-p-limit@^2.0.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
- integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
- dependencies:
- p-try "^2.0.0"
-
p-limit@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
@@ -2479,13 +1295,6 @@ p-locate@^2.0.0:
dependencies:
p-limit "^1.1.0"
-p-locate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
- integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
- dependencies:
- p-limit "^2.0.0"
-
p-locate@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
@@ -2498,18 +1307,6 @@ p-try@^1.0.0:
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
-p-try@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
- integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-
-param-case@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/param-case/-/param-case-1.1.2.tgz#dcb091a43c259b9228f1c341e7b6a44ea0bf9743"
- integrity sha1-3LCRpDwlm5Io8cNB57akTqC/l0M=
- dependencies:
- sentence-case "^1.1.2"
-
parse-entities@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
@@ -2537,6 +1334,11 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
+parse5@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
+ integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
+
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
@@ -2578,11 +1380,6 @@ path-type@^3.0.0:
dependencies:
pify "^3.0.0"
-picocolors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
- integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
picomatch@^2.0.4, picomatch@^2.2.1:
version "2.3.0"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
@@ -2598,11 +1395,6 @@ pify@^3.0.0:
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
-pify@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
- integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
@@ -2615,18 +1407,6 @@ pinkie@^2.0.0:
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
-pirates@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6"
- integrity sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==
-
-pkg-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
- integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
- dependencies:
- find-up "^3.0.0"
-
pluralize@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-2.0.0.tgz#72b726aa6fac1edeee42256c7d8dc256b335677f"
@@ -2637,10 +1417,10 @@ prelude-ls@^1.2.1:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-property-information@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/property-information/-/property-information-2.0.0.tgz#37bbac4e3384e7efa9d04d09b0fe12e58e41804c"
- integrity sha1-N7usTjOE5++p0E0JsP4S5Y5BgEw=
+property-information@^6.0.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d"
+ integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==
punycode@^2.1.0:
version "2.1.1"
@@ -2654,14 +1434,14 @@ randombytes@^2.1.0:
dependencies:
safe-buffer "^5.1.0"
-rc-config-loader@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/rc-config-loader/-/rc-config-loader-3.0.0.tgz#1484ed55d6fb8b21057699c8426370f7529c52a7"
- integrity sha512-bwfUSB37TWkHfP+PPjb/x8BUjChFmmBK44JMfVnU7paisWqZl/o5k7ttCH+EQLnrbn2Aq8Fo1LAsyUiz+WF4CQ==
+rc-config-loader@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/rc-config-loader/-/rc-config-loader-4.1.2.tgz#e57fc874bde9b1e48d8a8564f2f824f91eafd920"
+ integrity sha512-qKTnVWFl9OQYKATPzdfaZIbTxcHziQl92zYSxYC6umhOqyAsoj8H8Gq/+aFjAso68sBdjTz3A7omqeAkkF1MWg==
dependencies:
- debug "^4.1.1"
- js-yaml "^3.12.0"
- json5 "^2.1.1"
+ debug "^4.3.4"
+ js-yaml "^4.1.0"
+ json5 "^2.2.2"
require-from-string "^2.0.2"
read-pkg-up@^3.0.0:
@@ -2690,15 +1470,6 @@ read-pkg@^3.0.0:
normalize-package-data "^2.3.2"
path-type "^3.0.0"
-readable-stream@^3.1.1:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
- integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
@@ -2706,61 +1477,15 @@ readdirp@~3.6.0:
dependencies:
picomatch "^2.2.1"
-regenerate-unicode-properties@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326"
- integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==
+rehype-parse@^8.0.4:
+ version "8.0.4"
+ resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-8.0.4.tgz#3d17c9ff16ddfef6bbcc8e6a25a99467b482d688"
+ integrity sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==
dependencies:
- regenerate "^1.4.2"
-
-regenerate@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
- integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-
-regenerator-runtime@^0.13.4:
- version "0.13.9"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
- integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
-
-regenerator-transform@^0.14.2:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4"
- integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==
- dependencies:
- "@babel/runtime" "^7.8.4"
-
-regexp.prototype.flags@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26"
- integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
-
-regexpu-core@^4.7.1:
- version "4.8.0"
- resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0"
- integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==
- dependencies:
- regenerate "^1.4.2"
- regenerate-unicode-properties "^9.0.0"
- regjsgen "^0.5.2"
- regjsparser "^0.7.0"
- unicode-match-property-ecmascript "^2.0.0"
- unicode-match-property-value-ecmascript "^2.0.0"
-
-regjsgen@^0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
- integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
-
-regjsparser@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968"
- integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==
- dependencies:
- jsesc "~0.5.0"
+ "@types/hast" "^2.0.0"
+ hast-util-from-parse5 "^7.0.0"
+ parse5 "^6.0.0"
+ unified "^10.0.0"
remark-footnotes@^3.0.0:
version "3.0.0"
@@ -2808,7 +1533,7 @@ require-from-string@^2.0.2:
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
-resolve@^1.10.0, resolve@^1.14.2:
+resolve@^1.10.0:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
@@ -2823,38 +1548,16 @@ rimraf@2.6.3:
dependencies:
glob "^7.1.3"
-safe-buffer@^5.1.0, safe-buffer@~5.2.0:
+safe-buffer@^5.1.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-"semver@2 || 3 || 4 || 5", semver@^5.6.0:
+"semver@2 || 3 || 4 || 5":
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-semver@7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
- integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-
-semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
- integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-
-sentence-case@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-1.1.3.tgz#8034aafc2145772d3abe1509aa42c9e1042dc139"
- integrity sha1-gDSq/CFFdy06vhUJqkLJ4QQtwTk=
- dependencies:
- lower-case "^1.1.1"
-
serialize-javascript@6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8"
@@ -2862,18 +1565,6 @@ serialize-javascript@6.0.0:
dependencies:
randombytes "^2.1.0"
-shallow-clone@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
- integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
- dependencies:
- kind-of "^6.0.2"
-
-slash@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
- integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
-
slice-ansi@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
@@ -2883,23 +1574,10 @@ slice-ansi@^4.0.0:
astral-regex "^2.0.0"
is-fullwidth-code-point "^3.0.0"
-source-map-support@^0.5.16:
- version "0.5.21"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
- integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map@^0.5.0:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
- integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
-
-source-map@^0.6.0:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+space-separated-tokens@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f"
+ integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==
spdx-correct@^3.0.0:
version "3.1.1"
@@ -2932,15 +1610,6 @@ sprintf-js@~1.0.2:
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
-string-width@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
@@ -2950,20 +1619,6 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-strip-ansi@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
- dependencies:
- ansi-regex "^2.0.0"
-
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
@@ -2995,6 +1650,13 @@ structured-source@^3.0.2:
dependencies:
boundary "^1.0.1"
+structured-source@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/structured-source/-/structured-source-4.0.0.tgz#0c9e59ee43dedd8fc60a63731f60e358102a4948"
+ integrity sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==
+ dependencies:
+ boundary "^2.0.0"
+
supports-color@8.1.1:
version "8.1.1"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
@@ -3002,18 +1664,6 @@ supports-color@8.1.1:
dependencies:
has-flag "^4.0.0"
-supports-color@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
- integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
-
-supports-color@^5.3.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
supports-color@^7.1.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
@@ -3021,10 +1671,10 @@ supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
-table@^6.7.3:
- version "6.7.5"
- resolved "https://registry.yarnpkg.com/table/-/table-6.7.5.tgz#f04478c351ef3d8c7904f0e8be90a1b62417d238"
- integrity sha512-LFNeryOqiQHqCVKzhkymKwt6ozeRhlm8IL1mE8rNUurkir4heF6PzMyRgaTa4tlyPTGGgXuvVOF/OLWiH09Lqw==
+table@^6.8.1:
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf"
+ integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==
dependencies:
ajv "^8.0.1"
lodash.truncate "^4.4.2"
@@ -3054,45 +1704,39 @@ textlint-rule-no-todo@^2.0.0:
dependencies:
textlint-rule-helper "^2.0.0"
-textlint@^12.1.0:
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/textlint/-/textlint-12.1.0.tgz#5f838d3e2fb202ea3add60305fd53c85ca963480"
- integrity sha512-VZ0iVepE0jUchMfIW0uKGdEdv3l0ajOFvUBcpB1xGOLAz3gVwpdWvlagVlFXuwjc2N+9mcjTM0PCIXNwIs2vQA==
- dependencies:
- "@textlint/ast-node-types" "^12.1.0"
- "@textlint/ast-traverse" "^12.1.0"
- "@textlint/feature-flag" "^12.1.0"
- "@textlint/fixer-formatter" "^12.1.0"
- "@textlint/kernel" "^12.1.0"
- "@textlint/linter-formatter" "^12.1.0"
- "@textlint/module-interop" "^12.1.0"
- "@textlint/textlint-plugin-markdown" "^12.1.0"
- "@textlint/textlint-plugin-text" "^12.1.0"
- "@textlint/types" "^12.1.0"
- "@textlint/utils" "^12.1.0"
- debug "^4.3.3"
- deep-equal "^1.1.1"
+textlint@^13.0.5:
+ version "13.0.5"
+ resolved "https://registry.yarnpkg.com/textlint/-/textlint-13.0.5.tgz#cabad8ca8e94bf5cf922eaecce26b8f86b92b003"
+ integrity sha512-NcsL98yLprpSlY4c+sWf02u+MIbUMypWVY+xf0GCR8qm3eyCpa9SHBdy0qcRY3x1VTQU3EN2rvlwwgQTwfGKcA==
+ dependencies:
+ "@textlint/ast-node-types" "^13.0.5"
+ "@textlint/ast-traverse" "^13.0.5"
+ "@textlint/config-loader" "^13.0.5"
+ "@textlint/feature-flag" "^13.0.5"
+ "@textlint/fixer-formatter" "^13.0.5"
+ "@textlint/kernel" "^13.0.5"
+ "@textlint/linter-formatter" "^13.0.5"
+ "@textlint/module-interop" "^13.0.5"
+ "@textlint/textlint-plugin-markdown" "^13.0.5"
+ "@textlint/textlint-plugin-text" "^13.0.5"
+ "@textlint/types" "^13.0.5"
+ "@textlint/utils" "^13.0.5"
+ debug "^4.3.4"
file-entry-cache "^5.0.1"
get-stdin "^5.0.1"
- glob "^7.2.0"
+ glob "^7.2.3"
is-file "^1.0.0"
- log-symbols "^1.0.2"
md5 "^2.3.0"
- mkdirp "^0.5.0"
+ mkdirp "^0.5.6"
optionator "^0.9.1"
path-to-glob-pattern "^1.0.2"
- rc-config-loader "^3.0.0"
+ rc-config-loader "^4.1.2"
read-pkg "^1.1.0"
read-pkg-up "^3.0.0"
- structured-source "^3.0.2"
+ structured-source "^4.0.0"
try-resolve "^1.0.1"
unique-concat "^0.2.2"
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
-
to-regex-range@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
@@ -3100,26 +1744,45 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
-traverse@^0.6.6:
- version "0.6.6"
- resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137"
- integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=
-
-trim@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
- integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
+traverse@^0.6.7:
+ version "0.6.7"
+ resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.7.tgz#46961cd2d57dd8706c36664acde06a248f1173fe"
+ integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==
trough@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
+trough@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876"
+ integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==
+
try-resolve@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/try-resolve/-/try-resolve-1.0.1.tgz#cfde6fabd72d63e5797cfaab873abbe8e700e912"
integrity sha1-z95vq9ctY+V5fPqrhzq76OcA6RI=
+ts-node@^10.9.1:
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
+ integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
+ dependencies:
+ "@cspotcode/source-map-support" "^0.8.0"
+ "@tsconfig/node10" "^1.0.7"
+ "@tsconfig/node12" "^1.0.7"
+ "@tsconfig/node14" "^1.0.0"
+ "@tsconfig/node16" "^1.0.2"
+ acorn "^8.4.1"
+ acorn-walk "^8.1.1"
+ arg "^4.1.0"
+ create-require "^1.1.0"
+ diff "^4.0.1"
+ make-error "^1.1.1"
+ v8-compile-cache-lib "^3.0.1"
+ yn "3.1.1"
+
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
@@ -3127,48 +1790,23 @@ type-check@^0.4.0, type-check@~0.4.0:
dependencies:
prelude-ls "^1.2.1"
-unherit@^1.0.0, unherit@^1.0.4:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22"
- integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==
- dependencies:
- inherits "^2.0.0"
- xtend "^4.0.0"
+typescript@^4.9.4:
+ version "4.9.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78"
+ integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==
-unicode-canonical-property-names-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
- integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
-
-unicode-match-property-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
- integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+unified@^10.0.0, unified@^10.1.2:
+ version "10.1.2"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df"
+ integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==
dependencies:
- unicode-canonical-property-names-ecmascript "^2.0.0"
- unicode-property-aliases-ecmascript "^2.0.0"
-
-unicode-match-property-value-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714"
- integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==
-
-unicode-property-aliases-ecmascript@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8"
- integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==
-
-unified@^2.1.0:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/unified/-/unified-2.1.4.tgz#14bc6cd40d98ffff75b405506bad873ecbbac3ba"
- integrity sha1-FLxs1A2Y//91tAVQa62HPsu6w7o=
- dependencies:
- attach-ware "^1.0.0"
- bail "^1.0.0"
+ "@types/unist" "^2.0.0"
+ bail "^2.0.0"
extend "^3.0.0"
- unherit "^1.0.4"
- vfile "^1.0.0"
- ware "^1.3.0"
+ is-buffer "^2.0.0"
+ is-plain-obj "^4.0.0"
+ trough "^2.0.0"
+ vfile "^5.0.0"
unified@^9.2.2:
version "9.2.2"
@@ -3204,6 +1842,13 @@ unist-util-stringify-position@^2.0.0:
dependencies:
"@types/unist" "^2.0.2"
+unist-util-stringify-position@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d"
+ integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==
+ dependencies:
+ "@types/unist" "^2.0.0"
+
unist-util-visit-parents@^2.0.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9"
@@ -3233,10 +1878,10 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
-util-deprecate@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+v8-compile-cache-lib@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
+ integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
validate-npm-package-license@^3.0.1:
version "3.0.4"
@@ -3246,6 +1891,14 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
+vfile-location@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.0.1.tgz#06f2b9244a3565bef91f099359486a08b10d3a95"
+ integrity sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ vfile "^5.0.0"
+
vfile-message@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"
@@ -3254,10 +1907,13 @@ vfile-message@^2.0.0:
"@types/unist" "^2.0.0"
unist-util-stringify-position "^2.0.0"
-vfile@^1.0.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-1.4.0.tgz#c0fd6fa484f8debdb771f68c31ed75d88da97fe7"
- integrity sha1-wP1vpIT43r23cfaMMe112I2pf+c=
+vfile-message@^3.0.0:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.3.tgz#1360c27a99234bebf7bddbbbca67807115e6b0dd"
+ integrity sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==
+ dependencies:
+ "@types/unist" "^2.0.0"
+ unist-util-stringify-position "^3.0.0"
vfile@^4.0.0:
version "4.2.1"
@@ -3269,29 +1925,30 @@ vfile@^4.0.0:
unist-util-stringify-position "^2.0.0"
vfile-message "^2.0.0"
-ware@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4"
- integrity sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=
+vfile@^5.0.0:
+ version "5.3.6"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.6.tgz#61b2e70690cc835a5d0d0fd135beae74e5a39546"
+ integrity sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==
dependencies:
- wrap-fn "^0.1.0"
+ "@types/unist" "^2.0.0"
+ is-buffer "^2.0.0"
+ unist-util-stringify-position "^3.0.0"
+ vfile-message "^3.0.0"
-which@2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
+web-namespaces@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692"
+ integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==
word-wrap@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
-workerpool@6.1.5:
- version "6.1.5"
- resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.5.tgz#0f7cf076b6215fd7e1da903ff6f22ddd1886b581"
- integrity sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==
+workerpool@6.2.1:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343"
+ integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==
wrap-ansi@^7.0.0:
version "7.0.0"
@@ -3302,13 +1959,6 @@ wrap-ansi@^7.0.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
-wrap-fn@^0.1.0:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845"
- integrity sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=
- dependencies:
- co "3.1.0"
-
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
@@ -3321,16 +1971,6 @@ write@1.0.3:
dependencies:
mkdirp "^0.5.1"
-xml-escape@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/xml-escape/-/xml-escape-1.1.0.tgz#3904c143fa8eb3a0030ec646d2902a2f1b706c44"
- integrity sha1-OQTBQ/qOs6ADDsZG0pAqLxtwbEQ=
-
-xtend@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
y18n@^5.0.5:
version "5.0.8"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
@@ -3369,6 +2009,11 @@ yargs@16.2.0:
y18n "^5.0.5"
yargs-parser "^20.2.2"
+yn@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
+ integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"